From 988cfb44bd7bdd7a76a6db2119f35f15e0c2d95c Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:42:58 +0000 Subject: [PATCH 01/44] SDK regeneration --- .fern/metadata.json | 4 ++-- src/api/resources/codes/client/Client.ts | 2 +- src/api/types/AgentsAgentCard.ts | 4 ++-- src/api/types/AgentsErrorResponse.ts | 5 ++--- src/api/types/CodesGeneralResponse.ts | 2 +- src/api/types/CommonCodingSystemEnum.ts | 4 ++++ src/api/types/StreamConfig.ts | 2 ++ .../StreamConfigXCortiRetentionPolicy.ts | 9 ++++++++ src/api/types/index.ts | 1 + src/serialization/types/AgentsAgentCard.ts | 8 +++---- .../types/AgentsErrorResponse.ts | 6 +++--- .../types/AgentsValidationErrorResponse.ts | 7 ++++--- .../types/CodesGeneralResponse.ts | 4 ++-- .../types/CommonCodingSystemEnum.ts | 21 +++++++++++++++++-- src/serialization/types/StreamConfig.ts | 6 ++++++ .../StreamConfigXCortiRetentionPolicy.ts | 14 +++++++++++++ src/serialization/types/index.ts | 1 + tests/wire/codes.test.ts | 8 +++---- 18 files changed, 81 insertions(+), 27 deletions(-) create mode 100644 src/api/types/StreamConfigXCortiRetentionPolicy.ts create mode 100644 src/serialization/types/StreamConfigXCortiRetentionPolicy.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index ecc4372b..bc8802b9 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.45.0", + "cliVersion": "4.67.1", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "0398cf888d5d2150c19cbb4d7cd23100e43d4572", + "originGitCommit": "1e432dfd786fe7412803ab526941c0a7c17374b7", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/codes/client/Client.ts b/src/api/resources/codes/client/Client.ts index 19945fe2..b779bb3c 100644 --- a/src/api/resources/codes/client/Client.ts +++ b/src/api/resources/codes/client/Client.ts @@ -23,7 +23,7 @@ export class CodesClient { } /** - * 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.

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`: Codes predicted by the model.
- `Candidates`: Lower-confidence codes the model considered potentially relevant but excluded from the predicted set.

All predicted code results are based on input context defined in the request only (not other external data or assets associated with an interaction).
+ * Predict medical codes from provided context.
This is a stateless endpoint, designed to predict ICD-10-CM, ICD-10-PCS, ICD-10-UK and CPT codes based on input text string or documentId.

More than one code system may be defined in a single request.

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`: Codes predicted by the model.
- `Candidates`: Lower-confidence codes the model considered potentially relevant but excluded from the predicted set.

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 {CodesClient.RequestOptions} requestOptions - Request-specific configuration. diff --git a/src/api/types/AgentsAgentCard.ts b/src/api/types/AgentsAgentCard.ts index 1ab605f7..98f9ec9a 100644 --- a/src/api/types/AgentsAgentCard.ts +++ b/src/api/types/AgentsAgentCard.ts @@ -18,10 +18,10 @@ export interface AgentsAgentCard { iconUrl?: string | null; /** A URL to documentation describing how to interact with the agent. */ documentationUrl?: string | null; - provider?: Corti.AgentsAgentProvider; + provider?: Corti.AgentsAgentProvider | null; /** The version of the agent. */ version: string; - capabilities: Corti.AgentsAgentCapabilities; + capabilities: Corti.AgentsAgentCapabilities | null; /** A declaration of the security schemes available to authorize requests. The key is the scheme name. Follows the OpenAPI 3.0 Security Scheme Object. */ securitySchemes?: Record | null; /** A list of security requirement objects that apply to all agent interactions. Each object lists security schemes that can be used. Follows the OpenAPI 3.0 Security Requirement Object. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, "callers must either use OAuth OR an API Key AND mTLS." */ diff --git a/src/api/types/AgentsErrorResponse.ts b/src/api/types/AgentsErrorResponse.ts index f5208125..f75ff873 100644 --- a/src/api/types/AgentsErrorResponse.ts +++ b/src/api/types/AgentsErrorResponse.ts @@ -1,7 +1,5 @@ // This file was auto-generated by Fern from our API Definition. -import type * as Corti from "../index.js"; - export interface AgentsErrorResponse { /** A machine-readable error code that identifies the type of error. */ code: string; @@ -11,5 +9,6 @@ export interface AgentsErrorResponse { howToFix?: string; /** An optional object containing additional details about the error. */ details?: Record; - cause?: Corti.AgentsErrorResponse; + /** An optional object containing the cause of the error, following the same structure as the parent error response. */ + cause?: Record; } diff --git a/src/api/types/CodesGeneralResponse.ts b/src/api/types/CodesGeneralResponse.ts index f5c2ff02..cb027ef2 100644 --- a/src/api/types/CodesGeneralResponse.ts +++ b/src/api/types/CodesGeneralResponse.ts @@ -7,5 +7,5 @@ export interface CodesGeneralResponse { codes: Corti.CodesGeneralReadResponse[]; /** Lower-confidence codes the model considered potentially relevant but excluded from the predicted set. */ candidates: Corti.CodesGeneralReadResponse[]; - usageInfo?: Corti.CommonUsageInfo; + usageInfo: Corti.CommonUsageInfo; } diff --git a/src/api/types/CommonCodingSystemEnum.ts b/src/api/types/CommonCodingSystemEnum.ts index 99194730..ecd8f5a5 100644 --- a/src/api/types/CommonCodingSystemEnum.ts +++ b/src/api/types/CommonCodingSystemEnum.ts @@ -5,5 +5,9 @@ export const CommonCodingSystemEnum = { Icd10CmOutpatient: "icd10cm-outpatient", Icd10Pcs: "icd10pcs", Cpt: "cpt", + Icd10IntInpatient: "icd10int-inpatient", + Icd10IntOutpatient: "icd10int-outpatient", + Icd10UkInpatient: "icd10uk-inpatient", + Icd10UkOutpatient: "icd10uk-outpatient", } as const; export type CommonCodingSystemEnum = (typeof CommonCodingSystemEnum)[keyof typeof CommonCodingSystemEnum]; diff --git a/src/api/types/StreamConfig.ts b/src/api/types/StreamConfig.ts index 2d041e77..f79cb0c0 100644 --- a/src/api/types/StreamConfig.ts +++ b/src/api/types/StreamConfig.ts @@ -5,4 +5,6 @@ import type * as Corti from "../index.js"; export interface StreamConfig { transcription: Corti.StreamConfigTranscription; mode: Corti.StreamConfigMode; + /** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ + xCortiRetentionPolicy?: Corti.StreamConfigXCortiRetentionPolicy; } diff --git a/src/api/types/StreamConfigXCortiRetentionPolicy.ts b/src/api/types/StreamConfigXCortiRetentionPolicy.ts new file mode 100644 index 00000000..85aedb63 --- /dev/null +++ b/src/api/types/StreamConfigXCortiRetentionPolicy.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +/** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ +export const StreamConfigXCortiRetentionPolicy = { + Retain: "retain", + None: "none", +} as const; +export type StreamConfigXCortiRetentionPolicy = + (typeof StreamConfigXCortiRetentionPolicy)[keyof typeof StreamConfigXCortiRetentionPolicy]; diff --git a/src/api/types/index.ts b/src/api/types/index.ts index ac500b96..6d77f81d 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -135,6 +135,7 @@ export * from "./StreamConfigParticipantRole.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; +export * from "./StreamConfigXCortiRetentionPolicy.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; export * from "./StreamErrorDetail.js"; diff --git a/src/serialization/types/AgentsAgentCard.ts b/src/serialization/types/AgentsAgentCard.ts index b07ecc9c..8ed7e6a5 100644 --- a/src/serialization/types/AgentsAgentCard.ts +++ b/src/serialization/types/AgentsAgentCard.ts @@ -19,9 +19,9 @@ export const AgentsAgentCard: core.serialization.ObjectSchema | null | undefined) | null; security?: (Record | null | undefined) | null; defaultInputModes: string[]; diff --git a/src/serialization/types/AgentsErrorResponse.ts b/src/serialization/types/AgentsErrorResponse.ts index 611c16cd..06424ccf 100644 --- a/src/serialization/types/AgentsErrorResponse.ts +++ b/src/serialization/types/AgentsErrorResponse.ts @@ -2,7 +2,7 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; +import type * as serializers from "../index.js"; export const AgentsErrorResponse: core.serialization.ObjectSchema< serializers.AgentsErrorResponse.Raw, @@ -12,7 +12,7 @@ export const AgentsErrorResponse: core.serialization.ObjectSchema< description: core.serialization.string(), howToFix: core.serialization.string().optional(), details: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), - cause: core.serialization.lazyObject(() => serializers.AgentsErrorResponse).optional(), + cause: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), }); export declare namespace AgentsErrorResponse { @@ -21,6 +21,6 @@ export declare namespace AgentsErrorResponse { description: string; howToFix?: string | null; details?: Record | null; - cause?: serializers.AgentsErrorResponse.Raw | null; + cause?: Record | null; } } diff --git a/src/serialization/types/AgentsValidationErrorResponse.ts b/src/serialization/types/AgentsValidationErrorResponse.ts index d2cbf77b..46415c5d 100644 --- a/src/serialization/types/AgentsValidationErrorResponse.ts +++ b/src/serialization/types/AgentsValidationErrorResponse.ts @@ -2,7 +2,8 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; +import type * as serializers from "../index.js"; +import { AgentsErrorResponse } from "./AgentsErrorResponse.js"; import { AgentsValidationError } from "./AgentsValidationError.js"; export const AgentsValidationErrorResponse: core.serialization.ObjectSchema< @@ -12,10 +13,10 @@ export const AgentsValidationErrorResponse: core.serialization.ObjectSchema< .object({ detail: core.serialization.list(AgentsValidationError).optional(), }) - .extend(core.serialization.lazyObject(() => serializers.AgentsErrorResponse)); + .extend(AgentsErrorResponse); export declare namespace AgentsValidationErrorResponse { - export interface Raw extends serializers.AgentsErrorResponse.Raw { + export interface Raw extends AgentsErrorResponse.Raw { detail?: AgentsValidationError.Raw[] | null; } } diff --git a/src/serialization/types/CodesGeneralResponse.ts b/src/serialization/types/CodesGeneralResponse.ts index 6125550e..bb8ccfc4 100644 --- a/src/serialization/types/CodesGeneralResponse.ts +++ b/src/serialization/types/CodesGeneralResponse.ts @@ -12,13 +12,13 @@ export const CodesGeneralResponse: core.serialization.ObjectSchema< > = core.serialization.object({ codes: core.serialization.list(CodesGeneralReadResponse), candidates: core.serialization.list(CodesGeneralReadResponse), - usageInfo: CommonUsageInfo.optional(), + usageInfo: CommonUsageInfo, }); export declare namespace CodesGeneralResponse { export interface Raw { codes: CodesGeneralReadResponse.Raw[]; candidates: CodesGeneralReadResponse.Raw[]; - usageInfo?: CommonUsageInfo.Raw | null; + usageInfo: CommonUsageInfo.Raw; } } diff --git a/src/serialization/types/CommonCodingSystemEnum.ts b/src/serialization/types/CommonCodingSystemEnum.ts index 47f155f4..04f733b5 100644 --- a/src/serialization/types/CommonCodingSystemEnum.ts +++ b/src/serialization/types/CommonCodingSystemEnum.ts @@ -7,8 +7,25 @@ import type * as serializers from "../index.js"; export const CommonCodingSystemEnum: core.serialization.Schema< serializers.CommonCodingSystemEnum.Raw, Corti.CommonCodingSystemEnum -> = core.serialization.enum_(["icd10cm-inpatient", "icd10cm-outpatient", "icd10pcs", "cpt"]); +> = core.serialization.enum_([ + "icd10cm-inpatient", + "icd10cm-outpatient", + "icd10pcs", + "cpt", + "icd10int-inpatient", + "icd10int-outpatient", + "icd10uk-inpatient", + "icd10uk-outpatient", +]); export declare namespace CommonCodingSystemEnum { - export type Raw = "icd10cm-inpatient" | "icd10cm-outpatient" | "icd10pcs" | "cpt"; + export type Raw = + | "icd10cm-inpatient" + | "icd10cm-outpatient" + | "icd10pcs" + | "cpt" + | "icd10int-inpatient" + | "icd10int-outpatient" + | "icd10uk-inpatient" + | "icd10uk-outpatient"; } diff --git a/src/serialization/types/StreamConfig.ts b/src/serialization/types/StreamConfig.ts index a39b6664..595d2962 100644 --- a/src/serialization/types/StreamConfig.ts +++ b/src/serialization/types/StreamConfig.ts @@ -5,16 +5,22 @@ import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; import { StreamConfigMode } from "./StreamConfigMode.js"; import { StreamConfigTranscription } from "./StreamConfigTranscription.js"; +import { StreamConfigXCortiRetentionPolicy } from "./StreamConfigXCortiRetentionPolicy.js"; export const StreamConfig: core.serialization.ObjectSchema = core.serialization.object({ transcription: StreamConfigTranscription, mode: StreamConfigMode, + xCortiRetentionPolicy: core.serialization.property( + "X-Corti-Retention-Policy", + StreamConfigXCortiRetentionPolicy.optional(), + ), }); export declare namespace StreamConfig { export interface Raw { transcription: StreamConfigTranscription.Raw; mode: StreamConfigMode.Raw; + "X-Corti-Retention-Policy"?: StreamConfigXCortiRetentionPolicy.Raw | null; } } diff --git a/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts b/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts new file mode 100644 index 00000000..ecf282d5 --- /dev/null +++ b/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const StreamConfigXCortiRetentionPolicy: core.serialization.Schema< + serializers.StreamConfigXCortiRetentionPolicy.Raw, + Corti.StreamConfigXCortiRetentionPolicy +> = core.serialization.enum_(["retain", "none"]); + +export declare namespace StreamConfigXCortiRetentionPolicy { + export type Raw = "retain" | "none"; +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index ac500b96..6d77f81d 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -135,6 +135,7 @@ export * from "./StreamConfigParticipantRole.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; +export * from "./StreamConfigXCortiRetentionPolicy.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; export * from "./StreamErrorDetail.js"; diff --git a/tests/wire/codes.test.ts b/tests/wire/codes.test.ts index 817be1cd..0ce9d5a0 100644 --- a/tests/wire/codes.test.ts +++ b/tests/wire/codes.test.ts @@ -48,7 +48,7 @@ describe("CodesClient", () => { ], }, ], - usageInfo: { creditsConsumed: 1.1 }, + usageInfo: { creditsConsumed: 123 }, }; server @@ -121,7 +121,7 @@ describe("CodesClient", () => { }, ], usageInfo: { - creditsConsumed: 1.1, + creditsConsumed: 123, }, }); }); @@ -169,7 +169,7 @@ describe("CodesClient", () => { ], }, ], - usageInfo: { creditsConsumed: 1.1 }, + usageInfo: { creditsConsumed: 123 }, }; server @@ -246,7 +246,7 @@ describe("CodesClient", () => { }, ], usageInfo: { - creditsConsumed: 1.1, + creditsConsumed: 123, }, }); }); From e8936dc337a18b88610bfc9465b830293a58e885 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 12:27:31 +0000 Subject: [PATCH 02/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index bc8802b9..a9e1b12b 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.67.1", + "cliVersion": "4.68.1", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "1e432dfd786fe7412803ab526941c0a7c17374b7", + "originGitCommit": "28719bd6f0f386eb2944018b6c294eddcdeccc0a", "sdkVersion": "0.0.0-dev" } From 1d5a4fd15e3ddfba21524a9f004880372ef73d82 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 12:55:53 +0000 Subject: [PATCH 03/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index a9e1b12b..f493ed4a 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "28719bd6f0f386eb2944018b6c294eddcdeccc0a", + "originGitCommit": "98cc86cd5c3daab82d90d9d0f0508be4f73acdd5", "sdkVersion": "0.0.0-dev" } From b434585d6fc14a1c5f7b771209aef5de67c677c9 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 13:31:33 +0000 Subject: [PATCH 04/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index f493ed4a..6a62c5aa 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "98cc86cd5c3daab82d90d9d0f0508be4f73acdd5", + "originGitCommit": "732a49370f39016866ae711a6cb1db17cee09b0a", "sdkVersion": "0.0.0-dev" } From 11d35416dc83659238e2b4d0bf2005a952274a27 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 14:24:37 +0000 Subject: [PATCH 05/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 6a62c5aa..d33af3e4 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "732a49370f39016866ae711a6cb1db17cee09b0a", + "originGitCommit": "0063693e11f119d6bc1429228d1f8ab6a2869f68", "sdkVersion": "0.0.0-dev" } From 9cb68db82e256ce083cc0f9905e17b83b93c978a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 08:01:32 +0000 Subject: [PATCH 06/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index d33af3e4..7a0b7055 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.68.1", + "cliVersion": "4.70.2", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "0063693e11f119d6bc1429228d1f8ab6a2869f68", + "originGitCommit": "197e07085fc5e7d1a44ff5e37a22d705eb638e69", "sdkVersion": "0.0.0-dev" } From ecfbe76f7ca0bee6d81d02e63c8ae4b184389195 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 08:45:33 +0000 Subject: [PATCH 07/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 7a0b7055..f0703658 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "197e07085fc5e7d1a44ff5e37a22d705eb638e69", + "originGitCommit": "93b965070eb5c63c1bbacad6b5734439bcbc3ba3", "sdkVersion": "0.0.0-dev" } From 80c5562bf3275282365b6e87bc2432829eb50052 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 08:46:57 +0000 Subject: [PATCH 08/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index f0703658..2f30bda7 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "93b965070eb5c63c1bbacad6b5734439bcbc3ba3", + "originGitCommit": "71452e2da5a074704aaff489d53c0fb59ab854e6", "sdkVersion": "0.0.0-dev" } From 736e819933af5ddcc336ab835f3ae2628f9d5f09 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 11:24:33 +0000 Subject: [PATCH 09/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 2f30bda7..a5e34f9f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.70.2", + "cliVersion": "4.71.0", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "71452e2da5a074704aaff489d53c0fb59ab854e6", + "originGitCommit": "7d5704e328107884e5b0532c456ae4f841872bc7", "sdkVersion": "0.0.0-dev" } From 470d8b3d9948a0f062c2f14b4453c5478cdc7c1d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 14:30:39 +0000 Subject: [PATCH 10/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index a5e34f9f..3ade9a95 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "7d5704e328107884e5b0532c456ae4f841872bc7", + "originGitCommit": "9b190568333cff2bb1cf5f2cd1929fe1329076e2", "sdkVersion": "0.0.0-dev" } From 449c6f0ac0adf40a4f214435bd2e5a83e7b379de Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 12:53:34 +0000 Subject: [PATCH 11/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 3ade9a95..c488171a 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.71.0", + "cliVersion": "4.71.5", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "9b190568333cff2bb1cf5f2cd1929fe1329076e2", + "originGitCommit": "e81fbff1d4a5b7333f8cad28a585c647c6efaec3", "sdkVersion": "0.0.0-dev" } From 66d099e157ef71a1097bf94e20cf7e8f1cd22865 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 09:59:00 +0000 Subject: [PATCH 12/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index c488171a..c2c2879d 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.71.5", + "cliVersion": "4.90.0", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "e81fbff1d4a5b7333f8cad28a585c647c6efaec3", + "originGitCommit": "b4b84e0f1ffdeffec8dee07cdcc8556010e43cfd", "sdkVersion": "0.0.0-dev" } From ac11ac674ac4cab3f613f0a3283958d7deff4139 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 11:44:45 +0000 Subject: [PATCH 13/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index c2c2879d..4b62288b 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "b4b84e0f1ffdeffec8dee07cdcc8556010e43cfd", + "originGitCommit": "19e6df6f41bb45d92d6e5f72a9ecd00ff41d1ff5", "sdkVersion": "0.0.0-dev" } From e97ccfe17362ee2e41e2cba2667ca2cf0e85686f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:29:25 +0000 Subject: [PATCH 14/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 4b62288b..64e46e1f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "19e6df6f41bb45d92d6e5f72a9ecd00ff41d1ff5", + "originGitCommit": "f46995b36c2e43f3701bbcc758a7544ec4bd99b6", "sdkVersion": "0.0.0-dev" } From 8fab2ef0276b5f8122c5c4742df5d4490471a5a1 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 09:34:18 +0000 Subject: [PATCH 15/44] SDK regeneration --- .fern/metadata.json | 4 +- src/BaseClient.ts | 4 +- src/Client.ts | 214 ++++++++ src/api/resources/index.ts | 5 + .../sectionVersions/client/Client.ts | 424 ++++++++++++++++ .../resources/sectionVersions/client/index.ts | 1 + src/api/resources/sectionVersions/index.ts | 1 + src/api/resources/sections/client/Client.ts | 237 +++++++++ src/api/resources/sections/client/index.ts | 1 + .../client/requests/UpdateSectionRequest.ts | 12 + .../sections/client/requests/index.ts | 1 + src/api/resources/sections/index.ts | 1 + .../templateVersions/client/Client.ts | 418 ++++++++++++++++ .../templateVersions/client/index.ts | 1 + .../requests/CreateTemplateVersionRequest.ts | 12 + .../templateVersions/client/requests/index.ts | 1 + src/api/resources/templateVersions/index.ts | 1 + src/api/resources/templates/client/Client.ts | 221 +++++++++ .../client/requests/UpdateTemplateRequest.ts | 12 + .../templates/client/requests/index.ts | 1 + src/api/types/BoolNode.ts | 9 + src/api/types/CreateSectionVersionRequest.ts | 10 + src/api/types/DictNode.ts | 15 + src/api/types/FieldDefinition.ts | 11 + src/api/types/FloatNode.ts | 15 + src/api/types/IntegerNode.ts | 15 + src/api/types/ListNode.ts | 16 + src/api/types/OutputSchema.ts | 11 + src/api/types/Section.ts | 16 + src/api/types/SectionInstructions.ts | 8 + src/api/types/SectionVersion.ts | 14 + src/api/types/StatusResponse.ts | 5 + src/api/types/StringNode.ts | 13 + src/api/types/Template.ts | 16 + src/api/types/TemplateInstructions.ts | 6 + src/api/types/TemplateVersion.ts | 11 + .../types/TemplateVersionSectionRequest.ts | 9 + src/api/types/index.ts | 17 + src/serialization/resources/index.ts | 7 + .../resources/sectionVersions/client/index.ts | 1 + .../resources/sectionVersions/client/list.ts | 15 + .../resources/sectionVersions/index.ts | 1 + .../resources/sections/client/index.ts | 1 + .../client/requests/UpdateSectionRequest.ts | 24 + .../sections/client/requests/index.ts | 1 + src/serialization/resources/sections/index.ts | 1 + .../templateVersions/client/index.ts | 2 + .../resources/templateVersions/client/list.ts | 15 + .../requests/CreateTemplateVersionRequest.ts | 22 + .../templateVersions/client/requests/index.ts | 1 + .../resources/templateVersions/index.ts | 1 + .../resources/templates/client/index.ts | 1 + .../client/requests/UpdateTemplateRequest.ts | 24 + .../templates/client/requests/index.ts | 1 + .../resources/templates/index.ts | 1 + src/serialization/types/BoolNode.ts | 20 + .../types/CreateSectionVersionRequest.ts | 23 + src/serialization/types/DictNode.ts | 24 + src/serialization/types/FieldDefinition.ts | 20 + src/serialization/types/FloatNode.ts | 26 + src/serialization/types/IntegerNode.ts | 26 + src/serialization/types/ListNode.ts | 26 + src/serialization/types/OutputSchema.ts | 29 ++ src/serialization/types/Section.ts | 33 ++ .../types/SectionInstructions.ts | 20 + src/serialization/types/SectionVersion.ts | 25 + src/serialization/types/StatusResponse.ts | 16 + src/serialization/types/StringNode.ts | 24 + src/serialization/types/Template.ts | 35 ++ .../types/TemplateInstructions.ts | 18 + src/serialization/types/TemplateVersion.ts | 24 + .../types/TemplateVersionSectionRequest.ts | 22 + src/serialization/types/index.ts | 17 + tests/wire/main.test.ts | 79 +++ tests/wire/sectionVersions.test.ts | 414 ++++++++++++++++ tests/wire/sections.test.ts | 283 +++++++++++ tests/wire/templateVersions.test.ts | 461 ++++++++++++++++++ tests/wire/templates.test.ts | 323 ++++++++++++ 78 files changed, 3892 insertions(+), 4 deletions(-) create mode 100644 src/api/resources/sectionVersions/client/Client.ts create mode 100644 src/api/resources/sectionVersions/client/index.ts create mode 100644 src/api/resources/sectionVersions/index.ts create mode 100644 src/api/resources/sections/client/Client.ts create mode 100644 src/api/resources/sections/client/index.ts create mode 100644 src/api/resources/sections/client/requests/UpdateSectionRequest.ts create mode 100644 src/api/resources/sections/client/requests/index.ts create mode 100644 src/api/resources/sections/index.ts create mode 100644 src/api/resources/templateVersions/client/Client.ts create mode 100644 src/api/resources/templateVersions/client/index.ts create mode 100644 src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/api/resources/templateVersions/client/requests/index.ts create mode 100644 src/api/resources/templateVersions/index.ts create mode 100644 src/api/resources/templates/client/requests/UpdateTemplateRequest.ts create mode 100644 src/api/types/BoolNode.ts create mode 100644 src/api/types/CreateSectionVersionRequest.ts create mode 100644 src/api/types/DictNode.ts create mode 100644 src/api/types/FieldDefinition.ts create mode 100644 src/api/types/FloatNode.ts create mode 100644 src/api/types/IntegerNode.ts create mode 100644 src/api/types/ListNode.ts create mode 100644 src/api/types/OutputSchema.ts create mode 100644 src/api/types/Section.ts create mode 100644 src/api/types/SectionInstructions.ts create mode 100644 src/api/types/SectionVersion.ts create mode 100644 src/api/types/StatusResponse.ts create mode 100644 src/api/types/StringNode.ts create mode 100644 src/api/types/Template.ts create mode 100644 src/api/types/TemplateInstructions.ts create mode 100644 src/api/types/TemplateVersion.ts create mode 100644 src/api/types/TemplateVersionSectionRequest.ts create mode 100644 src/serialization/resources/sectionVersions/client/index.ts create mode 100644 src/serialization/resources/sectionVersions/client/list.ts create mode 100644 src/serialization/resources/sectionVersions/index.ts create mode 100644 src/serialization/resources/sections/client/index.ts create mode 100644 src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts create mode 100644 src/serialization/resources/sections/client/requests/index.ts create mode 100644 src/serialization/resources/sections/index.ts create mode 100644 src/serialization/resources/templateVersions/client/index.ts create mode 100644 src/serialization/resources/templateVersions/client/list.ts create mode 100644 src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/serialization/resources/templateVersions/client/requests/index.ts create mode 100644 src/serialization/resources/templateVersions/index.ts create mode 100644 src/serialization/resources/templates/client/index.ts create mode 100644 src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts create mode 100644 src/serialization/resources/templates/client/requests/index.ts create mode 100644 src/serialization/resources/templates/index.ts create mode 100644 src/serialization/types/BoolNode.ts create mode 100644 src/serialization/types/CreateSectionVersionRequest.ts create mode 100644 src/serialization/types/DictNode.ts create mode 100644 src/serialization/types/FieldDefinition.ts create mode 100644 src/serialization/types/FloatNode.ts create mode 100644 src/serialization/types/IntegerNode.ts create mode 100644 src/serialization/types/ListNode.ts create mode 100644 src/serialization/types/OutputSchema.ts create mode 100644 src/serialization/types/Section.ts create mode 100644 src/serialization/types/SectionInstructions.ts create mode 100644 src/serialization/types/SectionVersion.ts create mode 100644 src/serialization/types/StatusResponse.ts create mode 100644 src/serialization/types/StringNode.ts create mode 100644 src/serialization/types/Template.ts create mode 100644 src/serialization/types/TemplateInstructions.ts create mode 100644 src/serialization/types/TemplateVersion.ts create mode 100644 src/serialization/types/TemplateVersionSectionRequest.ts create mode 100644 tests/wire/main.test.ts create mode 100644 tests/wire/sectionVersions.test.ts create mode 100644 tests/wire/sections.test.ts create mode 100644 tests/wire/templateVersions.test.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 64e46e1f..f7921a8a 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.90.0", + "cliVersion": "4.102.0", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "f46995b36c2e43f3701bbcc758a7544ec4bd99b6", + "originGitCommit": "aae1cddec1c00167fc53a41155e1b168d13a8b33", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 1b76cbaa..27d389e5 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/Client.ts b/src/Client.ts index 7aa94bd7..27458b1a 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -7,12 +7,19 @@ import { DocumentsClient } from "./api/resources/documents/client/Client.js"; import { FactsClient } from "./api/resources/facts/client/Client.js"; import { InteractionsClient } from "./api/resources/interactions/client/Client.js"; import { RecordingsClient } from "./api/resources/recordings/client/Client.js"; +import { SectionsClient } from "./api/resources/sections/client/Client.js"; +import { SectionVersionsClient } from "./api/resources/sectionVersions/client/Client.js"; import { StreamClient } from "./api/resources/stream/client/Client.js"; import { TemplatesClient } from "./api/resources/templates/client/Client.js"; +import { TemplateVersionsClient } from "./api/resources/templateVersions/client/Client.js"; import { TranscribeClient } from "./api/resources/transcribe/client/Client.js"; import { TranscriptsClient } from "./api/resources/transcripts/client/Client.js"; import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js"; import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "./BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "./core/headers.js"; +import * as core from "./core/index.js"; +import { handleNonStatusCodeError } from "./errors/handleNonStatusCodeError.js"; +import * as errors from "./errors/index.js"; export declare namespace CortiClient { export type Options = BaseClientOptions; @@ -30,6 +37,9 @@ export class CortiClient { protected _documents: DocumentsClient | undefined; protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; + protected _templateVersions: TemplateVersionsClient | undefined; + protected _sections: SectionsClient | undefined; + protected _sectionVersions: SectionVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -70,6 +80,18 @@ export class CortiClient { return (this._codes ??= new CodesClient(this._options)); } + public get templateVersions(): TemplateVersionsClient { + return (this._templateVersions ??= new TemplateVersionsClient(this._options)); + } + + public get sections(): SectionsClient { + return (this._sections ??= new SectionsClient(this._options)); + } + + public get sectionVersions(): SectionVersionsClient { + return (this._sectionVersions ??= new SectionVersionsClient(this._options)); + } + public get agents(): AgentsClient { return (this._agents ??= new AgentsClient(this._options)); } @@ -81,4 +103,196 @@ export class CortiClient { public get transcribe(): TranscribeClient { return (this._transcribe ??= new TranscribeClient(this._options)); } + + /** + * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.getNewTemplates() + */ + public getNewTemplates(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getNewTemplates(requestOptions)); + } + + private async __getNewTemplates(requestOptions?: CortiClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/templates/", + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/"); + } + + /** + * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.postNewTemplates() + */ + public postNewTemplates(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__postNewTemplates(requestOptions)); + } + + private async __postNewTemplates(requestOptions?: CortiClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/templates/", + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates/"); + } + + /** + * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.getNewSections() + */ + public getNewSections(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getNewSections(requestOptions)); + } + + private async __getNewSections(requestOptions?: CortiClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/sections/", + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/"); + } + + /** + * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.postNewSections() + */ + public postNewSections(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__postNewSections(requestOptions)); + } + + private async __postNewSections(requestOptions?: CortiClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/sections/", + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections/"); + } } diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 018dfdfd..e2a12016 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -13,9 +13,14 @@ export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; export * as recordings from "./recordings/index.js"; +export * from "./sections/client/requests/index.js"; +export * as sections from "./sections/index.js"; +export * as sectionVersions from "./sectionVersions/index.js"; export * as stream from "./stream/index.js"; export * from "./templates/client/requests/index.js"; export * as templates from "./templates/index.js"; +export * from "./templateVersions/client/requests/index.js"; +export * as templateVersions from "./templateVersions/index.js"; export * as transcribe from "./transcribe/index.js"; export * from "./transcripts/client/requests/index.js"; export * as transcripts from "./transcripts/index.js"; diff --git a/src/api/resources/sectionVersions/client/Client.ts b/src/api/resources/sectionVersions/client/Client.ts new file mode 100644 index 00000000..39f3d109 --- /dev/null +++ b/src/api/resources/sectionVersions/client/Client.ts @@ -0,0 +1,424 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace SectionVersionsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class SectionVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: SectionVersionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * @param {string} sectionID + * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sectionVersions.list("sectionID") + */ + public list( + sectionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); + } + + private async __list( + sectionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}/versions`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.sectionVersions.list.Response.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/new/sections/{sectionID}/versions", + ); + } + + /** + * @param {string} sectionID + * @param {Corti.CreateSectionVersionRequest} request + * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sectionVersions.create("sectionID", { + * title: "title", + * instructions: { + * contentPrompt: "contentPrompt", + * writingStylePrompt: "writingStylePrompt" + * } + * }) + */ + public create( + sectionID: string, + request: Corti.CreateSectionVersionRequest, + requestOptions?: SectionVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); + } + + private async __create( + sectionID: string, + request: Corti.CreateSectionVersionRequest, + requestOptions?: SectionVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}/versions`, + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateSectionVersionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.SectionVersion.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 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/new/sections/{sectionID}/versions", + ); + } + + /** + * @param {string} sectionID + * @param {string} versionID + * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sectionVersions.get("sectionID", "versionID") + */ + public get( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); + } + + private async __get( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.SectionVersion.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/new/sections/{sectionID}/versions/{versionID}", + ); + } + + /** + * @param {string} sectionID + * @param {string} versionID + * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sectionVersions.delete("sectionID", "versionID") + */ + public delete( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); + } + + private async __delete( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/new/sections/{sectionID}/versions/{versionID}", + ); + } + + /** + * Sets this version as the published version of the section. + * + * @param {string} sectionID + * @param {string} versionID + * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sectionVersions.publish("sectionID", "versionID") + */ + public publish( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); + } + + private async __publish( + sectionID: string, + versionID: string, + requestOptions?: SectionVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.StatusResponse.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/new/sections/{sectionID}/versions/{versionID}/publish", + ); + } +} diff --git a/src/api/resources/sectionVersions/client/index.ts b/src/api/resources/sectionVersions/client/index.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/src/api/resources/sectionVersions/client/index.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/api/resources/sectionVersions/index.ts b/src/api/resources/sectionVersions/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/api/resources/sectionVersions/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/api/resources/sections/client/Client.ts b/src/api/resources/sections/client/Client.ts new file mode 100644 index 00000000..db3c700a --- /dev/null +++ b/src/api/resources/sections/client/Client.ts @@ -0,0 +1,237 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace SectionsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class SectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: SectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * @param {string} sectionID + * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sections.get("sectionID") + */ + public get( + sectionID: string, + requestOptions?: SectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); + } + + private async __get( + sectionID: string, + requestOptions?: SectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Section.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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); + } + + /** + * @param {string} sectionID + * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sections.delete("sectionID") + */ + public delete(sectionID: string, requestOptions?: SectionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); + } + + private async __delete( + sectionID: string, + requestOptions?: SectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); + } + + /** + * @param {string} sectionID + * @param {Corti.UpdateSectionRequest} request + * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.sections.patch("sectionID") + */ + public patch( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: SectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__patch(sectionID, request, requestOptions)); + } + + private async __patch( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: SectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Section.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 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); + } +} diff --git a/src/api/resources/sections/client/index.ts b/src/api/resources/sections/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/api/resources/sections/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/api/resources/sections/client/requests/UpdateSectionRequest.ts b/src/api/resources/sections/client/requests/UpdateSectionRequest.ts new file mode 100644 index 00000000..9e5d0e59 --- /dev/null +++ b/src/api/resources/sections/client/requests/UpdateSectionRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface UpdateSectionRequest { + name?: string; + language?: string; + description?: string; + labels?: string[]; +} diff --git a/src/api/resources/sections/client/requests/index.ts b/src/api/resources/sections/client/requests/index.ts new file mode 100644 index 00000000..9d16287f --- /dev/null +++ b/src/api/resources/sections/client/requests/index.ts @@ -0,0 +1 @@ +export type { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/api/resources/sections/index.ts b/src/api/resources/sections/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/api/resources/sections/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/api/resources/templateVersions/client/Client.ts b/src/api/resources/templateVersions/client/Client.ts new file mode 100644 index 00000000..3979d76e --- /dev/null +++ b/src/api/resources/templateVersions/client/Client.ts @@ -0,0 +1,418 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace TemplateVersionsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class TemplateVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: TemplateVersionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * @param {string} templateId + * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templateVersions.list("templateId") + */ + public list( + templateId: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(templateId, requestOptions)); + } + + private async __list( + templateId: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}/versions`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.templateVersions.list.Response.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/new/templates/{templateId}/versions", + ); + } + + /** + * @param {string} templateId + * @param {Corti.CreateTemplateVersionRequest} request + * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templateVersions.create("templateId") + */ + public create( + templateId: string, + request: Corti.CreateTemplateVersionRequest = {}, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(templateId, request, requestOptions)); + } + + private async __create( + templateId: string, + request: Corti.CreateTemplateVersionRequest = {}, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}/versions`, + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateTemplateVersionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.TemplateVersion.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 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/new/templates/{templateId}/versions", + ); + } + + /** + * @param {string} templateId + * @param {string} versionID + * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templateVersions.get("templateId", "versionID") + */ + public get( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateId, versionID, requestOptions)); + } + + private async __get( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.TemplateVersion.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/new/templates/{templateId}/versions/{versionID}", + ); + } + + /** + * @param {string} templateId + * @param {string} versionID + * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templateVersions.delete("templateId", "versionID") + */ + public delete( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateId, versionID, requestOptions)); + } + + private async __delete( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/new/templates/{templateId}/versions/{versionID}", + ); + } + + /** + * Sets this version as the published version of the template. + * + * @param {string} templateId + * @param {string} versionID + * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templateVersions.publish("templateId", "versionID") + */ + public publish( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(templateId, versionID, requestOptions)); + } + + private async __publish( + templateId: string, + versionID: string, + requestOptions?: TemplateVersionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}/publish`, + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.StatusResponse.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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/new/templates/{templateId}/versions/{versionID}/publish", + ); + } +} diff --git a/src/api/resources/templateVersions/client/index.ts b/src/api/resources/templateVersions/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/api/resources/templateVersions/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..e4537016 --- /dev/null +++ b/src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../index.js"; + +/** + * @example + * {} + */ +export interface CreateTemplateVersionRequest { + instructions?: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/resources/templateVersions/client/requests/index.ts b/src/api/resources/templateVersions/client/requests/index.ts new file mode 100644 index 00000000..3d35d2f7 --- /dev/null +++ b/src/api/resources/templateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export type { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/api/resources/templateVersions/index.ts b/src/api/resources/templateVersions/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/api/resources/templateVersions/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index 3a109232..cc9c53f6 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -287,4 +287,225 @@ export class TemplatesClient { return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/templates/{key}"); } + + /** + * @param {string} templateId + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templates.newTemplatesGet("templateId") + */ + public newTemplatesGet( + templateId: string, + requestOptions?: TemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__newTemplatesGet(templateId, requestOptions)); + } + + private async __newTemplatesGet( + templateId: string, + requestOptions?: TemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Template.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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); + } + + /** + * @param {string} templateId + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templates.newTemplatesDelete("templateId") + */ + public newTemplatesDelete( + templateId: string, + requestOptions?: TemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__newTemplatesDelete(templateId, requestOptions)); + } + + private async __newTemplatesDelete( + templateId: string, + requestOptions?: TemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/new/templates/{templateId}", + ); + } + + /** + * @param {string} templateId + * @param {Corti.UpdateTemplateRequest} request + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.templates.newTemplatesPatch("templateId") + */ + public newTemplatesPatch( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: TemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__newTemplatesPatch(templateId, request, requestOptions)); + } + + private async __newTemplatesPatch( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: TemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Template.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 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); + } } diff --git a/src/api/resources/templates/client/requests/UpdateTemplateRequest.ts b/src/api/resources/templates/client/requests/UpdateTemplateRequest.ts new file mode 100644 index 00000000..0ab19a77 --- /dev/null +++ b/src/api/resources/templates/client/requests/UpdateTemplateRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface UpdateTemplateRequest { + name?: string; + description?: string; + language?: string; + labels?: string[]; +} diff --git a/src/api/resources/templates/client/requests/index.ts b/src/api/resources/templates/client/requests/index.ts index d2764071..882de95e 100644 --- a/src/api/resources/templates/client/requests/index.ts +++ b/src/api/resources/templates/client/requests/index.ts @@ -1,2 +1,3 @@ export type { TemplatesListRequest } from "./TemplatesListRequest.js"; export type { TemplatesSectionListRequest } from "./TemplatesSectionListRequest.js"; +export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/types/BoolNode.ts b/src/api/types/BoolNode.ts new file mode 100644 index 00000000..9d9d69eb --- /dev/null +++ b/src/api/types/BoolNode.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface BoolNode { + type: "boolean"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + /** The default to output if nothing to output. */ + default?: boolean | null; +} diff --git a/src/api/types/CreateSectionVersionRequest.ts b/src/api/types/CreateSectionVersionRequest.ts new file mode 100644 index 00000000..b4d114e7 --- /dev/null +++ b/src/api/types/CreateSectionVersionRequest.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface CreateSectionVersionRequest { + /** The title of this section. Passed to the LLM and also returned in the response. */ + title: string; + instructions: Corti.SectionInstructions; + outputSchema?: Corti.OutputSchema; +} diff --git a/src/api/types/DictNode.ts b/src/api/types/DictNode.ts new file mode 100644 index 00000000..782ab493 --- /dev/null +++ b/src/api/types/DictNode.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface DictNode { + type: "dict"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + /** Controls how subheadings are rendered in the generated output. Use `inline` (default) for `{key}: {value}\n` or `block` for `{key}\n{value}\n`, or provide a custom format string containing both `{key}` and `{value}` placeholders. Mutually exclusive with `objectFormat`. */ + subheadingFormat?: string; + /** A format string referencing field keys as placeholders (e.g. `{fieldKey}`). All placeholders must correspond to defined field keys. Mutually exclusive with `subheadingFormat`. */ + objectFormat?: string; + /** Define what fields are possible to return in the dict. */ + fields?: Corti.FieldDefinition[]; +} diff --git a/src/api/types/FieldDefinition.ts b/src/api/types/FieldDefinition.ts new file mode 100644 index 00000000..0bf1e301 --- /dev/null +++ b/src/api/types/FieldDefinition.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface FieldDefinition { + /** Use to set a key to reference. */ + key: string; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description: string; + value: Corti.OutputSchema; +} diff --git a/src/api/types/FloatNode.ts b/src/api/types/FloatNode.ts new file mode 100644 index 00000000..46b93576 --- /dev/null +++ b/src/api/types/FloatNode.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface FloatNode { + type: "float"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + /** The default to output if nothing to output. */ + default?: number | null; + /** Can be used to prompt the LLM for specifically allowed float values to output. */ + enum?: number[]; + /** Use if a minimum value applies. */ + minimum?: number | null; + /** Use if a maximum value applies. */ + maximum?: number | null; +} diff --git a/src/api/types/IntegerNode.ts b/src/api/types/IntegerNode.ts new file mode 100644 index 00000000..aa0a364f --- /dev/null +++ b/src/api/types/IntegerNode.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface IntegerNode { + type: "integer"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + /** The default to output if nothing to output. */ + default?: number | null; + /** Can be used to prompt the LLM for specifically allowed integer values to output. */ + enum?: number[]; + /** Use if a minimum value applies. */ + minimum?: number | null; + /** Use if a maximum value applies. */ + maximum?: number | null; +} diff --git a/src/api/types/ListNode.ts b/src/api/types/ListNode.ts new file mode 100644 index 00000000..e0688827 --- /dev/null +++ b/src/api/types/ListNode.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface ListNode { + type: "list"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + items: Corti.OutputSchema; + /** Controls how each list item is rendered in the generated output. Use `bullet` (default), `numbered`, or `plain`, or provide a custom format string containing the `{item}` placeholder. */ + itemFormat?: string; + /** Minimum number of list items to generate. */ + minItems?: number | null; + /** Maximum number of list items to generate. */ + maxItems?: number | null; +} diff --git a/src/api/types/OutputSchema.ts b/src/api/types/OutputSchema.ts new file mode 100644 index 00000000..4bf5d3fa --- /dev/null +++ b/src/api/types/OutputSchema.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type OutputSchema = + | Corti.StringNode + | Corti.IntegerNode + | Corti.FloatNode + | Corti.BoolNode + | Corti.DictNode + | Corti.ListNode; diff --git a/src/api/types/Section.ts b/src/api/types/Section.ts new file mode 100644 index 00000000..6d15284c --- /dev/null +++ b/src/api/types/Section.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface Section { + id: string; + inheritedFromId?: string | null; + name: string; + language: string; + description?: string; + labels: string[]; + /** Shows the currently published version of this section. */ + publishedVersion?: Corti.SectionVersion; + createdAt: Date; + updatedAt: Date; +} diff --git a/src/api/types/SectionInstructions.ts b/src/api/types/SectionInstructions.ts new file mode 100644 index 00000000..e2b61a8a --- /dev/null +++ b/src/api/types/SectionInstructions.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface SectionInstructions { + /** The content prompt instructs the model what to include for synthesis. For `documentationMode: routed_parallel` this impacts what facts to route to this section. */ + contentPrompt: string; + /** The writingStyle prompt instructs the model in what tone and style to output. */ + writingStylePrompt: string; +} diff --git a/src/api/types/SectionVersion.ts b/src/api/types/SectionVersion.ts new file mode 100644 index 00000000..1022b2ad --- /dev/null +++ b/src/api/types/SectionVersion.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface SectionVersion { + id: string; + /** Starts a 0 and auto-increments. */ + versionNumber: number; + /** The title of this section. Passed to the LLM. */ + title: string; + /** The prompt instructions for this section. */ + instructions: Corti.SectionInstructions; + outputSchema: Corti.OutputSchema; +} diff --git a/src/api/types/StatusResponse.ts b/src/api/types/StatusResponse.ts new file mode 100644 index 00000000..15ca5217 --- /dev/null +++ b/src/api/types/StatusResponse.ts @@ -0,0 +1,5 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface StatusResponse { + status: string; +} diff --git a/src/api/types/StringNode.ts b/src/api/types/StringNode.ts new file mode 100644 index 00000000..5571866e --- /dev/null +++ b/src/api/types/StringNode.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface StringNode { + type: "string"; + /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ + description?: string; + /** The default to output if nothing to output. */ + default?: string | null; + /** Can be used to prompt the LLM with specific values to output. */ + enum?: string[]; + /** Can be used to prompt the LLM for a specific output pattern. */ + pattern?: string | null; +} diff --git a/src/api/types/Template.ts b/src/api/types/Template.ts new file mode 100644 index 00000000..05f4268d --- /dev/null +++ b/src/api/types/Template.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface Template { + id: string; + inheritedFromId?: string | null; + autoGenerated?: boolean; + name: string; + description?: string; + language: string; + labels: string[]; + publishedVersion?: Corti.TemplateVersion; + createdAt: Date; + updatedAt: Date; +} diff --git a/src/api/types/TemplateInstructions.ts b/src/api/types/TemplateInstructions.ts new file mode 100644 index 00000000..c72499a1 --- /dev/null +++ b/src/api/types/TemplateInstructions.ts @@ -0,0 +1,6 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface TemplateInstructions { + /** Template-level prompt instructions that apply generally to all sections. */ + prompt: string; +} diff --git a/src/api/types/TemplateVersion.ts b/src/api/types/TemplateVersion.ts new file mode 100644 index 00000000..ed1f4d93 --- /dev/null +++ b/src/api/types/TemplateVersion.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface TemplateVersion { + id: string; + versionNumber: number; + instructions: Corti.TemplateInstructions; + /** Populated only on GET /new/templates/{id}/versions/{versionID} */ + sections?: Corti.Section[]; +} diff --git a/src/api/types/TemplateVersionSectionRequest.ts b/src/api/types/TemplateVersionSectionRequest.ts new file mode 100644 index 00000000..f29c7b76 --- /dev/null +++ b/src/api/types/TemplateVersionSectionRequest.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface TemplateVersionSectionRequest { + sectionId: string; + /** Can be used to pin the version of a section, else the latest published version is used in the resource. */ + pinnedVersionId?: string | null; + /** Sets the order of this section within this template. Starts a 0. */ + orderIndex?: number; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 6d77f81d..b879c74f 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -61,6 +61,7 @@ export * from "./AuthTokenRequestClientCredentials.js"; export * from "./AuthTokenRequestRefresh.js"; export * from "./AuthTokenRequestRopc.js"; export * from "./AuthTokenResponse.js"; +export * from "./BoolNode.js"; export * from "./CodesFilter.js"; export * from "./CodesGeneralReadResponse.js"; export * from "./CodesGeneralReadResponseAlternativesItem.js"; @@ -77,6 +78,8 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./CreateSectionVersionRequest.js"; +export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -112,6 +115,9 @@ export * from "./FactsFactGroupsListResponse.js"; export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; +export * from "./FieldDefinition.js"; +export * from "./FloatNode.js"; +export * from "./IntegerNode.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -123,9 +129,15 @@ export * from "./InteractionsGenderEnum.js"; export * from "./InteractionsGetResponse.js"; export * from "./InteractionsListResponse.js"; export * from "./InteractionsPatient.js"; +export * from "./ListNode.js"; export * from "./OAuthTokenRequest.js"; +export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; +export * from "./Section.js"; +export * from "./SectionInstructions.js"; +export * from "./SectionVersion.js"; +export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; export * from "./StreamConfigMessage.js"; export * from "./StreamConfigMode.js"; @@ -150,6 +162,9 @@ export * from "./StreamTranscript.js"; export * from "./StreamTranscriptMessage.js"; export * from "./StreamTranscriptTime.js"; export * from "./StreamUsageMessage.js"; +export * from "./StringNode.js"; +export * from "./Template.js"; +export * from "./TemplateInstructions.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; export * from "./TemplatesItem.js"; @@ -160,6 +175,8 @@ export * from "./TemplatesSectionSorted.js"; export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; +export * from "./TemplateVersion.js"; +export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 58cf7e90..ccf9beac 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -12,8 +12,15 @@ export * as facts from "./facts/index.js"; export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; +export * from "./sections/client/requests/index.js"; +export * as sections from "./sections/index.js"; +export * as sectionVersions from "./sectionVersions/index.js"; export * from "./stream/client/socket/index.js"; export * as stream from "./stream/index.js"; +export * from "./templates/client/requests/index.js"; +export * as templates from "./templates/index.js"; +export * from "./templateVersions/client/requests/index.js"; +export * as templateVersions from "./templateVersions/index.js"; export * from "./transcribe/client/socket/index.js"; export * as transcribe from "./transcribe/index.js"; export * from "./transcripts/client/requests/index.js"; diff --git a/src/serialization/resources/sectionVersions/client/index.ts b/src/serialization/resources/sectionVersions/client/index.ts new file mode 100644 index 00000000..b64f754c --- /dev/null +++ b/src/serialization/resources/sectionVersions/client/index.ts @@ -0,0 +1 @@ +export * as list from "./list.js"; diff --git a/src/serialization/resources/sectionVersions/client/list.ts b/src/serialization/resources/sectionVersions/client/list.ts new file mode 100644 index 00000000..2bd59508 --- /dev/null +++ b/src/serialization/resources/sectionVersions/client/list.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { SectionVersion } from "../../../types/SectionVersion.js"; + +export const Response: core.serialization.Schema< + serializers.sectionVersions.list.Response.Raw, + Corti.SectionVersion[] +> = core.serialization.list(SectionVersion); + +export declare namespace Response { + export type Raw = SectionVersion.Raw[]; +} diff --git a/src/serialization/resources/sectionVersions/index.ts b/src/serialization/resources/sectionVersions/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/sectionVersions/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/sections/client/index.ts b/src/serialization/resources/sections/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/serialization/resources/sections/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts b/src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts new file mode 100644 index 00000000..2eb7957e --- /dev/null +++ b/src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; + +export const UpdateSectionRequest: core.serialization.Schema< + serializers.UpdateSectionRequest.Raw, + Corti.UpdateSectionRequest +> = core.serialization.object({ + name: core.serialization.string().optional(), + language: core.serialization.string().optional(), + description: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace UpdateSectionRequest { + export interface Raw { + name?: string | null; + language?: string | null; + description?: string | null; + labels?: string[] | null; + } +} diff --git a/src/serialization/resources/sections/client/requests/index.ts b/src/serialization/resources/sections/client/requests/index.ts new file mode 100644 index 00000000..a36d62ad --- /dev/null +++ b/src/serialization/resources/sections/client/requests/index.ts @@ -0,0 +1 @@ +export { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/serialization/resources/sections/index.ts b/src/serialization/resources/sections/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/sections/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/templateVersions/client/index.ts b/src/serialization/resources/templateVersions/client/index.ts new file mode 100644 index 00000000..cd155427 --- /dev/null +++ b/src/serialization/resources/templateVersions/client/index.ts @@ -0,0 +1,2 @@ +export * as list from "./list.js"; +export * from "./requests/index.js"; diff --git a/src/serialization/resources/templateVersions/client/list.ts b/src/serialization/resources/templateVersions/client/list.ts new file mode 100644 index 00000000..0a99c69d --- /dev/null +++ b/src/serialization/resources/templateVersions/client/list.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateVersion } from "../../../types/TemplateVersion.js"; + +export const Response: core.serialization.Schema< + serializers.templateVersions.list.Response.Raw, + Corti.TemplateVersion[] +> = core.serialization.list(TemplateVersion); + +export declare namespace Response { + export type Raw = TemplateVersion.Raw[]; +} diff --git a/src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..e368dd34 --- /dev/null +++ b/src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; +import { TemplateInstructions } from "../../../../types/TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "../../../../types/TemplateVersionSectionRequest.js"; + +export const CreateTemplateVersionRequest: core.serialization.Schema< + serializers.CreateTemplateVersionRequest.Raw, + Corti.CreateTemplateVersionRequest +> = core.serialization.object({ + instructions: TemplateInstructions.optional(), + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateVersionRequest { + export interface Raw { + instructions?: TemplateInstructions.Raw | null; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/resources/templateVersions/client/requests/index.ts b/src/serialization/resources/templateVersions/client/requests/index.ts new file mode 100644 index 00000000..bea03b68 --- /dev/null +++ b/src/serialization/resources/templateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/serialization/resources/templateVersions/index.ts b/src/serialization/resources/templateVersions/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/templateVersions/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/templates/client/index.ts b/src/serialization/resources/templates/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/serialization/resources/templates/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts b/src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts new file mode 100644 index 00000000..a4d65a3a --- /dev/null +++ b/src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; + +export const UpdateTemplateRequest: core.serialization.Schema< + serializers.UpdateTemplateRequest.Raw, + Corti.UpdateTemplateRequest +> = core.serialization.object({ + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + language: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace UpdateTemplateRequest { + export interface Raw { + name?: string | null; + description?: string | null; + language?: string | null; + labels?: string[] | null; + } +} diff --git a/src/serialization/resources/templates/client/requests/index.ts b/src/serialization/resources/templates/client/requests/index.ts new file mode 100644 index 00000000..aa555e1b --- /dev/null +++ b/src/serialization/resources/templates/client/requests/index.ts @@ -0,0 +1 @@ +export { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/templates/index.ts b/src/serialization/resources/templates/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/templates/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/types/BoolNode.ts b/src/serialization/types/BoolNode.ts new file mode 100644 index 00000000..38a73c89 --- /dev/null +++ b/src/serialization/types/BoolNode.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const BoolNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("boolean"), + description: core.serialization.string().optional(), + default: core.serialization.boolean().optionalNullable(), + }); + +export declare namespace BoolNode { + export interface Raw { + type: "boolean"; + description?: string | null; + default?: (boolean | null | undefined) | null; + } +} diff --git a/src/serialization/types/CreateSectionVersionRequest.ts b/src/serialization/types/CreateSectionVersionRequest.ts new file mode 100644 index 00000000..542f8482 --- /dev/null +++ b/src/serialization/types/CreateSectionVersionRequest.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructions } from "./SectionInstructions.js"; + +export const CreateSectionVersionRequest: core.serialization.ObjectSchema< + serializers.CreateSectionVersionRequest.Raw, + Corti.CreateSectionVersionRequest +> = core.serialization.object({ + title: core.serialization.string(), + instructions: SectionInstructions, + outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), +}); + +export declare namespace CreateSectionVersionRequest { + export interface Raw { + title: string; + instructions: SectionInstructions.Raw; + outputSchema?: serializers.OutputSchema.Raw | null; + } +} diff --git a/src/serialization/types/DictNode.ts b/src/serialization/types/DictNode.ts new file mode 100644 index 00000000..b9d283ff --- /dev/null +++ b/src/serialization/types/DictNode.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; + +export const DictNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("dict"), + description: core.serialization.string().optional(), + subheadingFormat: core.serialization.string().optional(), + objectFormat: core.serialization.string().optional(), + fields: core.serialization.list(core.serialization.lazyObject(() => serializers.FieldDefinition)).optional(), + }); + +export declare namespace DictNode { + export interface Raw { + type: "dict"; + description?: string | null; + subheadingFormat?: string | null; + objectFormat?: string | null; + fields?: serializers.FieldDefinition.Raw[] | null; + } +} diff --git a/src/serialization/types/FieldDefinition.ts b/src/serialization/types/FieldDefinition.ts new file mode 100644 index 00000000..169d1073 --- /dev/null +++ b/src/serialization/types/FieldDefinition.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; + +export const FieldDefinition: core.serialization.ObjectSchema = + core.serialization.object({ + key: core.serialization.string(), + description: core.serialization.string(), + value: core.serialization.lazy(() => serializers.OutputSchema), + }); + +export declare namespace FieldDefinition { + export interface Raw { + key: string; + description: string; + value: serializers.OutputSchema.Raw; + } +} diff --git a/src/serialization/types/FloatNode.ts b/src/serialization/types/FloatNode.ts new file mode 100644 index 00000000..91dcd32d --- /dev/null +++ b/src/serialization/types/FloatNode.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const FloatNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("float"), + description: core.serialization.string().optional(), + default: core.serialization.number().optionalNullable(), + enum: core.serialization.list(core.serialization.number()).optional(), + minimum: core.serialization.number().optionalNullable(), + maximum: core.serialization.number().optionalNullable(), + }); + +export declare namespace FloatNode { + export interface Raw { + type: "float"; + description?: string | null; + default?: (number | null | undefined) | null; + enum?: number[] | null; + minimum?: (number | null | undefined) | null; + maximum?: (number | null | undefined) | null; + } +} diff --git a/src/serialization/types/IntegerNode.ts b/src/serialization/types/IntegerNode.ts new file mode 100644 index 00000000..8e0a7aeb --- /dev/null +++ b/src/serialization/types/IntegerNode.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const IntegerNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("integer"), + description: core.serialization.string().optional(), + default: core.serialization.number().optionalNullable(), + enum: core.serialization.list(core.serialization.number()).optional(), + minimum: core.serialization.number().optionalNullable(), + maximum: core.serialization.number().optionalNullable(), + }); + +export declare namespace IntegerNode { + export interface Raw { + type: "integer"; + description?: string | null; + default?: (number | null | undefined) | null; + enum?: number[] | null; + minimum?: (number | null | undefined) | null; + maximum?: (number | null | undefined) | null; + } +} diff --git a/src/serialization/types/ListNode.ts b/src/serialization/types/ListNode.ts new file mode 100644 index 00000000..3702943f --- /dev/null +++ b/src/serialization/types/ListNode.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; + +export const ListNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("list"), + description: core.serialization.string().optional(), + items: core.serialization.lazy(() => serializers.OutputSchema), + itemFormat: core.serialization.string().optional(), + minItems: core.serialization.number().optionalNullable(), + maxItems: core.serialization.number().optionalNullable(), + }); + +export declare namespace ListNode { + export interface Raw { + type: "list"; + description?: string | null; + items: serializers.OutputSchema.Raw; + itemFormat?: string | null; + minItems?: (number | null | undefined) | null; + maxItems?: (number | null | undefined) | null; + } +} diff --git a/src/serialization/types/OutputSchema.ts b/src/serialization/types/OutputSchema.ts new file mode 100644 index 00000000..928202b8 --- /dev/null +++ b/src/serialization/types/OutputSchema.ts @@ -0,0 +1,29 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { BoolNode } from "./BoolNode.js"; +import { FloatNode } from "./FloatNode.js"; +import { IntegerNode } from "./IntegerNode.js"; +import { StringNode } from "./StringNode.js"; + +export const OutputSchema: core.serialization.Schema = + core.serialization.undiscriminatedUnion([ + StringNode, + IntegerNode, + FloatNode, + BoolNode, + core.serialization.lazyObject(() => serializers.DictNode), + core.serialization.lazyObject(() => serializers.ListNode), + ]); + +export declare namespace OutputSchema { + export type Raw = + | StringNode.Raw + | IntegerNode.Raw + | FloatNode.Raw + | BoolNode.Raw + | serializers.DictNode.Raw + | serializers.ListNode.Raw; +} diff --git a/src/serialization/types/Section.ts b/src/serialization/types/Section.ts new file mode 100644 index 00000000..51208176 --- /dev/null +++ b/src/serialization/types/Section.ts @@ -0,0 +1,33 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionVersion } from "./SectionVersion.js"; + +export const Section: core.serialization.ObjectSchema = + core.serialization.object({ + id: core.serialization.string(), + inheritedFromId: core.serialization.string().optionalNullable(), + name: core.serialization.string(), + language: core.serialization.string(), + description: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()), + publishedVersion: SectionVersion.optional(), + createdAt: core.serialization.date(), + updatedAt: core.serialization.date(), + }); + +export declare namespace Section { + export interface Raw { + id: string; + inheritedFromId?: (string | null | undefined) | null; + name: string; + language: string; + description?: string | null; + labels: string[]; + publishedVersion?: SectionVersion.Raw | null; + createdAt: string; + updatedAt: string; + } +} diff --git a/src/serialization/types/SectionInstructions.ts b/src/serialization/types/SectionInstructions.ts new file mode 100644 index 00000000..4346293f --- /dev/null +++ b/src/serialization/types/SectionInstructions.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const SectionInstructions: core.serialization.ObjectSchema< + serializers.SectionInstructions.Raw, + Corti.SectionInstructions +> = core.serialization.object({ + contentPrompt: core.serialization.string(), + writingStylePrompt: core.serialization.string(), +}); + +export declare namespace SectionInstructions { + export interface Raw { + contentPrompt: string; + writingStylePrompt: string; + } +} diff --git a/src/serialization/types/SectionVersion.ts b/src/serialization/types/SectionVersion.ts new file mode 100644 index 00000000..26038fca --- /dev/null +++ b/src/serialization/types/SectionVersion.ts @@ -0,0 +1,25 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructions } from "./SectionInstructions.js"; + +export const SectionVersion: core.serialization.ObjectSchema = + core.serialization.object({ + id: core.serialization.string(), + versionNumber: core.serialization.number(), + title: core.serialization.string(), + instructions: SectionInstructions, + outputSchema: core.serialization.lazy(() => serializers.OutputSchema), + }); + +export declare namespace SectionVersion { + export interface Raw { + id: string; + versionNumber: number; + title: string; + instructions: SectionInstructions.Raw; + outputSchema: serializers.OutputSchema.Raw; + } +} diff --git a/src/serialization/types/StatusResponse.ts b/src/serialization/types/StatusResponse.ts new file mode 100644 index 00000000..e3d3dbe6 --- /dev/null +++ b/src/serialization/types/StatusResponse.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const StatusResponse: core.serialization.ObjectSchema = + core.serialization.object({ + status: core.serialization.string(), + }); + +export declare namespace StatusResponse { + export interface Raw { + status: string; + } +} diff --git a/src/serialization/types/StringNode.ts b/src/serialization/types/StringNode.ts new file mode 100644 index 00000000..3bd5d85a --- /dev/null +++ b/src/serialization/types/StringNode.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const StringNode: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("string"), + description: core.serialization.string().optional(), + default: core.serialization.string().optionalNullable(), + enum: core.serialization.list(core.serialization.string()).optional(), + pattern: core.serialization.string().optionalNullable(), + }); + +export declare namespace StringNode { + export interface Raw { + type: "string"; + description?: string | null; + default?: (string | null | undefined) | null; + enum?: string[] | null; + pattern?: (string | null | undefined) | null; + } +} diff --git a/src/serialization/types/Template.ts b/src/serialization/types/Template.ts new file mode 100644 index 00000000..b3814a1a --- /dev/null +++ b/src/serialization/types/Template.ts @@ -0,0 +1,35 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { TemplateVersion } from "./TemplateVersion.js"; + +export const Template: core.serialization.ObjectSchema = + core.serialization.object({ + id: core.serialization.string(), + inheritedFromId: core.serialization.string().optionalNullable(), + autoGenerated: core.serialization.boolean().optional(), + name: core.serialization.string(), + description: core.serialization.string().optional(), + language: core.serialization.string(), + labels: core.serialization.list(core.serialization.string()), + publishedVersion: TemplateVersion.optional(), + createdAt: core.serialization.date(), + updatedAt: core.serialization.date(), + }); + +export declare namespace Template { + export interface Raw { + id: string; + inheritedFromId?: (string | null | undefined) | null; + autoGenerated?: boolean | null; + name: string; + description?: string | null; + language: string; + labels: string[]; + publishedVersion?: TemplateVersion.Raw | null; + createdAt: string; + updatedAt: string; + } +} diff --git a/src/serialization/types/TemplateInstructions.ts b/src/serialization/types/TemplateInstructions.ts new file mode 100644 index 00000000..ac302df9 --- /dev/null +++ b/src/serialization/types/TemplateInstructions.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const TemplateInstructions: core.serialization.ObjectSchema< + serializers.TemplateInstructions.Raw, + Corti.TemplateInstructions +> = core.serialization.object({ + prompt: core.serialization.string(), +}); + +export declare namespace TemplateInstructions { + export interface Raw { + prompt: string; + } +} diff --git a/src/serialization/types/TemplateVersion.ts b/src/serialization/types/TemplateVersion.ts new file mode 100644 index 00000000..1684019f --- /dev/null +++ b/src/serialization/types/TemplateVersion.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { Section } from "./Section.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const TemplateVersion: core.serialization.ObjectSchema = + core.serialization.object({ + id: core.serialization.string(), + versionNumber: core.serialization.number(), + instructions: TemplateInstructions, + sections: core.serialization.list(Section).optional(), + }); + +export declare namespace TemplateVersion { + export interface Raw { + id: string; + versionNumber: number; + instructions: TemplateInstructions.Raw; + sections?: Section.Raw[] | null; + } +} diff --git a/src/serialization/types/TemplateVersionSectionRequest.ts b/src/serialization/types/TemplateVersionSectionRequest.ts new file mode 100644 index 00000000..74a578c2 --- /dev/null +++ b/src/serialization/types/TemplateVersionSectionRequest.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const TemplateVersionSectionRequest: core.serialization.ObjectSchema< + serializers.TemplateVersionSectionRequest.Raw, + Corti.TemplateVersionSectionRequest +> = core.serialization.object({ + sectionId: core.serialization.string(), + pinnedVersionId: core.serialization.string().optionalNullable(), + orderIndex: core.serialization.number().optional(), +}); + +export declare namespace TemplateVersionSectionRequest { + export interface Raw { + sectionId: string; + pinnedVersionId?: (string | null | undefined) | null; + orderIndex?: number | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 6d77f81d..b879c74f 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -61,6 +61,7 @@ export * from "./AuthTokenRequestClientCredentials.js"; export * from "./AuthTokenRequestRefresh.js"; export * from "./AuthTokenRequestRopc.js"; export * from "./AuthTokenResponse.js"; +export * from "./BoolNode.js"; export * from "./CodesFilter.js"; export * from "./CodesGeneralReadResponse.js"; export * from "./CodesGeneralReadResponseAlternativesItem.js"; @@ -77,6 +78,8 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./CreateSectionVersionRequest.js"; +export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -112,6 +115,9 @@ export * from "./FactsFactGroupsListResponse.js"; export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; +export * from "./FieldDefinition.js"; +export * from "./FloatNode.js"; +export * from "./IntegerNode.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -123,9 +129,15 @@ export * from "./InteractionsGenderEnum.js"; export * from "./InteractionsGetResponse.js"; export * from "./InteractionsListResponse.js"; export * from "./InteractionsPatient.js"; +export * from "./ListNode.js"; export * from "./OAuthTokenRequest.js"; +export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; +export * from "./Section.js"; +export * from "./SectionInstructions.js"; +export * from "./SectionVersion.js"; +export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; export * from "./StreamConfigMessage.js"; export * from "./StreamConfigMode.js"; @@ -150,6 +162,9 @@ export * from "./StreamTranscript.js"; export * from "./StreamTranscriptMessage.js"; export * from "./StreamTranscriptTime.js"; export * from "./StreamUsageMessage.js"; +export * from "./StringNode.js"; +export * from "./Template.js"; +export * from "./TemplateInstructions.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; export * from "./TemplatesItem.js"; @@ -160,6 +175,8 @@ export * from "./TemplatesSectionSorted.js"; export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; +export * from "./TemplateVersion.js"; +export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/tests/wire/main.test.ts b/tests/wire/main.test.ts new file mode 100644 index 00000000..d79471cc --- /dev/null +++ b/tests/wire/main.test.ts @@ -0,0 +1,79 @@ +// This file was auto-generated by Fern from our API Definition. + +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("CortiClient", () => { + test("getNewTemplates", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/new/templates/").respondWith().statusCode(200).build(); + + const response = await client.getNewTemplates(); + expect(response).toEqual(undefined); + }); + + test("postNewTemplates", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/new/templates/").respondWith().statusCode(200).build(); + + const response = await client.postNewTemplates(); + expect(response).toEqual(undefined); + }); + + test("getNewSections", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/new/sections/").respondWith().statusCode(200).build(); + + const response = await client.getNewSections(); + expect(response).toEqual(undefined); + }); + + test("postNewSections", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/new/sections/").respondWith().statusCode(200).build(); + + const response = await client.postNewSections(); + expect(response).toEqual(undefined); + }); +}); diff --git a/tests/wire/sectionVersions.test.ts b/tests/wire/sectionVersions.test.ts new file mode 100644 index 00000000..d6dbecef --- /dev/null +++ b/tests/wire/sectionVersions.test.ts @@ -0,0 +1,414 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("SectionVersionsClient", () => { + test("list (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + ]; + + server + .mockEndpoint() + .get("/new/sections/sectionID/versions") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sectionVersions.list("sectionID"); + expect(response).toEqual([ + { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + ]); + }); + + test("list (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/sections/sectionID/versions") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.list("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + }; + const rawResponseBody = { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }; + + server + .mockEndpoint() + .post("/new/sections/sectionID/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sectionVersions.create("sectionID", { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + }); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/sections/sectionID/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.create("sectionID", { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/sections/sectionID/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.create("sectionID", { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + }); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }; + + server + .mockEndpoint() + .get("/new/sections/sectionID/versions/versionID") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sectionVersions.get("sectionID", "versionID"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/sections/sectionID/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.get("sectionID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server + .mockEndpoint() + .delete("/new/sections/sectionID/versions/versionID") + .respondWith() + .statusCode(200) + .build(); + + const response = await client.sectionVersions.delete("sectionID", "versionID"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/sections/sectionID/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.delete("sectionID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("publish (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { status: "published" }; + + server + .mockEndpoint() + .post("/new/sections/sectionID/versions/versionID/publish") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sectionVersions.publish("sectionID", "versionID"); + expect(response).toEqual({ + status: "published", + }); + }); + + test("publish (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/sections/sectionID/versions/versionID/publish") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sectionVersions.publish("sectionID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); +}); diff --git a/tests/wire/sections.test.ts b/tests/wire/sections.test.ts new file mode 100644 index 00000000..54a72b90 --- /dev/null +++ b/tests/wire/sections.test.ts @@ -0,0 +1,283 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("SectionsClient", () => { + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .get("/new/sections/sectionID") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sections.get("sectionID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/sections/sectionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sections.get("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().delete("/new/sections/sectionID").respondWith().statusCode(200).build(); + + const response = await client.sections.delete("sectionID"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/sections/sectionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sections.delete("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("patch (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.sections.patch("sectionID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("patch (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sections.patch("sectionID"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("patch (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.sections.patch("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); +}); diff --git a/tests/wire/templateVersions.test.ts b/tests/wire/templateVersions.test.ts new file mode 100644 index 00000000..797cb89f --- /dev/null +++ b/tests/wire/templateVersions.test.ts @@ -0,0 +1,461 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("TemplateVersionsClient", () => { + test("list (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + ]; + + server + .mockEndpoint() + .get("/new/templates/templateId/versions") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templateVersions.list("templateId"); + expect(response).toEqual([ + { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + ]); + }); + + test("list (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/templates/templateId/versions") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.list("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }; + + server + .mockEndpoint() + .post("/new/templates/templateId/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templateVersions.create("templateId"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/templates/templateId/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.create("templateId"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/templates/templateId/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.create("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }; + + server + .mockEndpoint() + .get("/new/templates/templateId/versions/versionID") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templateVersions.get("templateId", "versionID"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/templates/templateId/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.get("templateId", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server + .mockEndpoint() + .delete("/new/templates/templateId/versions/versionID") + .respondWith() + .statusCode(200) + .build(); + + const response = await client.templateVersions.delete("templateId", "versionID"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/templates/templateId/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.delete("templateId", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("publish (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { status: "published" }; + + server + .mockEndpoint() + .post("/new/templates/templateId/versions/versionID/publish") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templateVersions.publish("templateId", "versionID"); + expect(response).toEqual({ + status: "published", + }); + }); + + test("publish (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/templates/templateId/versions/versionID/publish") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templateVersions.publish("templateId", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); +}); diff --git a/tests/wire/templates.test.ts b/tests/wire/templates.test.ts index f81356be..63f62396 100644 --- a/tests/wire/templates.test.ts +++ b/tests/wire/templates.test.ts @@ -349,4 +349,327 @@ describe("TemplatesClient", () => { return await client.templates.get("key"); }).rejects.toThrow(Corti.InternalServerError); }); + + test("new_templates_get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .get("/new/templates/templateId") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templates.newTemplatesGet("templateId"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("new_templates_get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/templates/templateId") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templates.newTemplatesGet("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("new_templates_delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().delete("/new/templates/templateId").respondWith().statusCode(200).build(); + + const response = await client.templates.newTemplatesDelete("templateId"); + expect(response).toEqual(undefined); + }); + + test("new_templates_delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/templates/templateId") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templates.newTemplatesDelete("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("new_templates_patch (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.templates.newTemplatesPatch("templateId"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("new_templates_patch (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templates.newTemplatesPatch("templateId"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("new_templates_patch (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.templates.newTemplatesPatch("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); }); From aa8306d0e57b183e550a5b43df856236ae770dea Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 11:13:33 +0000 Subject: [PATCH 16/44] SDK regeneration --- .fern/metadata.json | 2 +- .../client/requests/AgentsCreateAgent.ts | 2 + .../client/requests/AgentsUpdateAgent.ts | 2 + .../types/AgentsUpdateAgentExpertsItem.ts | 2 +- src/api/resources/codes/client/Client.ts | 2 +- src/api/resources/stream/client/Socket.ts | 1 + src/api/resources/transcribe/client/Socket.ts | 1 + src/api/types/AgentsAgent.ts | 2 + src/api/types/AgentsMcpServerTransportType.ts | 1 + src/api/types/AgentsRegistryExpert.ts | 4 + src/api/types/AgentsUpdateExpertReference.ts | 8 ++ src/api/types/CommonCodingSystemEnum.ts | 7 ++ src/api/types/StreamConfig.ts | 4 +- ...licy.ts => StreamConfigRetentionPolicy.ts} | 6 +- src/api/types/StreamConfigStatusMessage.ts | 2 + .../types/StreamConfigStatusMessageType.ts | 1 - src/api/types/StreamDeltaUsageMessage.ts | 7 ++ src/api/types/TranscribeConfig.ts | 2 + .../types/TranscribeConfigStatusMessage.ts | 6 +- .../TranscribeConfigStatusMessageType.ts | 2 + src/api/types/TranscribeDeltaUsageMessage.ts | 7 ++ src/api/types/index.ts | 5 +- .../client/requests/AgentsCreateAgent.ts | 3 + .../client/requests/AgentsUpdateAgent.ts | 3 + .../types/AgentsUpdateAgentExpertsItem.ts | 6 +- .../client/socket/StreamSocketResponse.ts | 4 + .../client/socket/TranscribeSocketResponse.ts | 4 + src/serialization/types/AgentsAgent.ts | 3 + .../types/AgentsMcpServerTransportType.ts | 4 +- .../types/AgentsRegistryExpert.ts | 4 + .../types/AgentsUpdateExpertReference.ts | 15 ++++ .../types/CommonCodingSystemEnum.ts | 16 +++- src/serialization/types/StreamConfig.ts | 11 ++- ...licy.ts => StreamConfigRetentionPolicy.ts} | 8 +- .../types/StreamConfigStatusMessage.ts | 3 + .../types/StreamConfigStatusMessageType.ts | 4 +- .../types/StreamDeltaUsageMessage.ts | 20 +++++ src/serialization/types/TranscribeConfig.ts | 2 + .../types/TranscribeConfigStatusMessage.ts | 7 +- .../TranscribeConfigStatusMessageType.ts | 15 +++- .../types/TranscribeDeltaUsageMessage.ts | 20 +++++ src/serialization/types/index.ts | 5 +- tests/wire/agents.test.ts | 86 ++++++++++++++++++- 43 files changed, 283 insertions(+), 36 deletions(-) create mode 100644 src/api/types/AgentsUpdateExpertReference.ts rename src/api/types/{StreamConfigXCortiRetentionPolicy.ts => StreamConfigRetentionPolicy.ts} (70%) create mode 100644 src/api/types/StreamDeltaUsageMessage.ts create mode 100644 src/api/types/TranscribeDeltaUsageMessage.ts create mode 100644 src/serialization/types/AgentsUpdateExpertReference.ts rename src/serialization/types/{StreamConfigXCortiRetentionPolicy.ts => StreamConfigRetentionPolicy.ts} (56%) create mode 100644 src/serialization/types/StreamDeltaUsageMessage.ts create mode 100644 src/serialization/types/TranscribeDeltaUsageMessage.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index f7921a8a..e88c8942 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "aae1cddec1c00167fc53a41155e1b168d13a8b33", + "originGitCommit": "346e672aaa4050a7cc211f9cf044a03aa3a7c753", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/agents/client/requests/AgentsCreateAgent.ts b/src/api/resources/agents/client/requests/AgentsCreateAgent.ts index 42c96a76..ab4a1e7e 100644 --- a/src/api/resources/agents/client/requests/AgentsCreateAgent.ts +++ b/src/api/resources/agents/client/requests/AgentsCreateAgent.ts @@ -21,4 +21,6 @@ export interface AgentsCreateAgent { /** A brief description of the agent's capabilities. */ description: string; experts?: Corti.AgentsCreateAgentExpertsItem[]; + /** A list of MCP servers that the agent can call. If omitted, the agent can't call any MCP servers. */ + mcpServers?: Corti.AgentsCreateMcpServer[]; } diff --git a/src/api/resources/agents/client/requests/AgentsUpdateAgent.ts b/src/api/resources/agents/client/requests/AgentsUpdateAgent.ts index 4bda479e..2ec6d0a2 100644 --- a/src/api/resources/agents/client/requests/AgentsUpdateAgent.ts +++ b/src/api/resources/agents/client/requests/AgentsUpdateAgent.ts @@ -14,4 +14,6 @@ export interface AgentsUpdateAgent { /** A brief description of the agent's capabilities. */ description?: string; experts?: Corti.AgentsUpdateAgentExpertsItem[]; + /** A list of MCP servers that the agent can call. If omitted, the agent can't call any MCP servers. */ + mcpServers?: Corti.AgentsCreateMcpServer[]; } diff --git a/src/api/resources/agents/types/AgentsUpdateAgentExpertsItem.ts b/src/api/resources/agents/types/AgentsUpdateAgentExpertsItem.ts index 6c792920..ff5a5c08 100644 --- a/src/api/resources/agents/types/AgentsUpdateAgentExpertsItem.ts +++ b/src/api/resources/agents/types/AgentsUpdateAgentExpertsItem.ts @@ -2,4 +2,4 @@ import type * as Corti from "../../../index.js"; -export type AgentsUpdateAgentExpertsItem = Corti.AgentsCreateExpert | Corti.AgentsCreateExpertReference; +export type AgentsUpdateAgentExpertsItem = Corti.AgentsCreateExpert | Corti.AgentsUpdateExpertReference; diff --git a/src/api/resources/codes/client/Client.ts b/src/api/resources/codes/client/Client.ts index b779bb3c..fc372036 100644 --- a/src/api/resources/codes/client/Client.ts +++ b/src/api/resources/codes/client/Client.ts @@ -23,7 +23,7 @@ export class CodesClient { } /** - * Predict medical codes from provided context.
This is a stateless endpoint, designed to predict ICD-10-CM, ICD-10-PCS, ICD-10-UK and CPT codes based on input text string or documentId.

More than one code system may be defined in a single request.

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`: Codes predicted by the model.
- `Candidates`: Lower-confidence codes the model considered potentially relevant but excluded from the predicted set.

All predicted code results are based on input context defined in the request only (not other external data or assets associated with an interaction).
+ * Predict medical codes from provided context.
This is a stateless endpoint, designed to predict ICD-10-CM, ICD-10-PCS, ICD-10 (international), ICD-10-UK, CIM-10-FR, ICD-10-GM, OPCS-4, OPS, CCAM and CPT codes based on input text string or documentId.

More than one code system may be defined in a single request.

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`: Codes predicted by the model.
- `Candidates`: Lower-confidence codes the model considered potentially relevant but excluded from the predicted set.

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 {CodesClient.RequestOptions} requestOptions - Request-specific configuration. diff --git a/src/api/resources/stream/client/Socket.ts b/src/api/resources/stream/client/Socket.ts index 24a6d5aa..3a343680 100644 --- a/src/api/resources/stream/client/Socket.ts +++ b/src/api/resources/stream/client/Socket.ts @@ -17,6 +17,7 @@ export declare namespace StreamSocket { | Corti.StreamTranscriptMessage | Corti.StreamFactsMessage | Corti.StreamFlushedMessage + | Corti.StreamDeltaUsageMessage | Corti.StreamEndedMessage | Corti.StreamUsageMessage | Corti.StreamErrorMessage diff --git a/src/api/resources/transcribe/client/Socket.ts b/src/api/resources/transcribe/client/Socket.ts index e73b95a1..21d26868 100644 --- a/src/api/resources/transcribe/client/Socket.ts +++ b/src/api/resources/transcribe/client/Socket.ts @@ -16,6 +16,7 @@ export declare namespace TranscribeSocket { export type Response = | Corti.TranscribeUsageMessage | Corti.TranscribeFlushedMessage + | Corti.TranscribeDeltaUsageMessage | Corti.TranscribeEndedMessage | Corti.TranscribeErrorMessage | Corti.TranscribeTranscriptMessage diff --git a/src/api/types/AgentsAgent.ts b/src/api/types/AgentsAgent.ts index 3de35752..53974d59 100644 --- a/src/api/types/AgentsAgent.ts +++ b/src/api/types/AgentsAgent.ts @@ -12,4 +12,6 @@ export interface AgentsAgent { /** The system prompt that defines the overall agents behavior and expectations. */ systemPrompt: string; experts?: Corti.AgentsAgentExpertsItem[]; + /** A list of MCP servers that the agent can call. If omitted, the agent can't call any MCP servers. */ + mcpServers?: Corti.AgentsMcpServer[]; } diff --git a/src/api/types/AgentsMcpServerTransportType.ts b/src/api/types/AgentsMcpServerTransportType.ts index 198e8c44..39595cae 100644 --- a/src/api/types/AgentsMcpServerTransportType.ts +++ b/src/api/types/AgentsMcpServerTransportType.ts @@ -4,6 +4,7 @@ export const AgentsMcpServerTransportType = { Stdio: "stdio", StreamableHttp: "streamable_http", + Sse: "sse", } as const; export type AgentsMcpServerTransportType = (typeof AgentsMcpServerTransportType)[keyof typeof AgentsMcpServerTransportType]; diff --git a/src/api/types/AgentsRegistryExpert.ts b/src/api/types/AgentsRegistryExpert.ts index 5486ddc1..ef98affa 100644 --- a/src/api/types/AgentsRegistryExpert.ts +++ b/src/api/types/AgentsRegistryExpert.ts @@ -5,6 +5,10 @@ import type * as Corti from "../index.js"; export interface AgentsRegistryExpert { /** The name of the expert. */ name: string; + /** An optional human-readable display name for the expert. */ + displayName?: string; + /** An optional human-readable display description for the expert. */ + displayDescription?: string; /** A brief description of the expert's capabilities. */ description: string; /** A list of MCP servers the expert can call, including their authorization types. */ diff --git a/src/api/types/AgentsUpdateExpertReference.ts b/src/api/types/AgentsUpdateExpertReference.ts new file mode 100644 index 00000000..96a03aa7 --- /dev/null +++ b/src/api/types/AgentsUpdateExpertReference.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * An expert reference when updating an agent. The id is required to identify which expert to update, or reference. The expert must already exist. + */ +export type AgentsUpdateExpertReference = Corti.AgentsCreateExpertReference; diff --git a/src/api/types/CommonCodingSystemEnum.ts b/src/api/types/CommonCodingSystemEnum.ts index ecd8f5a5..3cc9156d 100644 --- a/src/api/types/CommonCodingSystemEnum.ts +++ b/src/api/types/CommonCodingSystemEnum.ts @@ -9,5 +9,12 @@ export const CommonCodingSystemEnum = { Icd10IntOutpatient: "icd10int-outpatient", Icd10UkInpatient: "icd10uk-inpatient", Icd10UkOutpatient: "icd10uk-outpatient", + Cim10FrInpatient: "cim10fr-inpatient", + Cim10FrOutpatient: "cim10fr-outpatient", + Icd10GmInpatient: "icd10gm-inpatient", + Icd10GmOutpatient: "icd10gm-outpatient", + Opcs4: "opcs4", + Ops: "ops", + Ccam: "ccam", } as const; export type CommonCodingSystemEnum = (typeof CommonCodingSystemEnum)[keyof typeof CommonCodingSystemEnum]; diff --git a/src/api/types/StreamConfig.ts b/src/api/types/StreamConfig.ts index f79cb0c0..590dc285 100644 --- a/src/api/types/StreamConfig.ts +++ b/src/api/types/StreamConfig.ts @@ -6,5 +6,7 @@ export interface StreamConfig { transcription: Corti.StreamConfigTranscription; mode: Corti.StreamConfigMode; /** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ - xCortiRetentionPolicy?: Corti.StreamConfigXCortiRetentionPolicy; + retentionPolicy?: Corti.StreamConfigRetentionPolicy; + /** The audio format of the incoming audio stream */ + audioFormat?: string; } diff --git a/src/api/types/StreamConfigXCortiRetentionPolicy.ts b/src/api/types/StreamConfigRetentionPolicy.ts similarity index 70% rename from src/api/types/StreamConfigXCortiRetentionPolicy.ts rename to src/api/types/StreamConfigRetentionPolicy.ts index 85aedb63..5bf1e123 100644 --- a/src/api/types/StreamConfigXCortiRetentionPolicy.ts +++ b/src/api/types/StreamConfigRetentionPolicy.ts @@ -1,9 +1,9 @@ // This file was auto-generated by Fern from our API Definition. /** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ -export const StreamConfigXCortiRetentionPolicy = { +export const StreamConfigRetentionPolicy = { Retain: "retain", None: "none", } as const; -export type StreamConfigXCortiRetentionPolicy = - (typeof StreamConfigXCortiRetentionPolicy)[keyof typeof StreamConfigXCortiRetentionPolicy]; +export type StreamConfigRetentionPolicy = + (typeof StreamConfigRetentionPolicy)[keyof typeof StreamConfigRetentionPolicy]; diff --git a/src/api/types/StreamConfigStatusMessage.ts b/src/api/types/StreamConfigStatusMessage.ts index 32a32c1a..8dc02b9b 100644 --- a/src/api/types/StreamConfigStatusMessage.ts +++ b/src/api/types/StreamConfigStatusMessage.ts @@ -7,4 +7,6 @@ export interface StreamConfigStatusMessage { type: Corti.StreamConfigStatusMessageType; /** Optional reason for rejection (e.g., 'language unavailable') */ reason?: string; + /** The resolved configuration. Only present when type is CONFIG_ACCEPTED. */ + configuration?: Corti.StreamConfig; } diff --git a/src/api/types/StreamConfigStatusMessageType.ts b/src/api/types/StreamConfigStatusMessageType.ts index 4c9db82e..5c060b68 100644 --- a/src/api/types/StreamConfigStatusMessageType.ts +++ b/src/api/types/StreamConfigStatusMessageType.ts @@ -7,7 +7,6 @@ export const StreamConfigStatusMessageType = { ConfigMissing: "CONFIG_MISSING", ConfigNotProvided: "CONFIG_NOT_PROVIDED", ConfigAlreadyReceived: "CONFIG_ALREADY_RECEIVED", - ConfigTimeout: "CONFIG_TIMEOUT", } as const; export type StreamConfigStatusMessageType = (typeof StreamConfigStatusMessageType)[keyof typeof StreamConfigStatusMessageType]; diff --git a/src/api/types/StreamDeltaUsageMessage.ts b/src/api/types/StreamDeltaUsageMessage.ts new file mode 100644 index 00000000..bf11a656 --- /dev/null +++ b/src/api/types/StreamDeltaUsageMessage.ts @@ -0,0 +1,7 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface StreamDeltaUsageMessage { + type: "delta_usage"; + /** Approximate credits consumed since recording started. */ + credits: number; +} diff --git a/src/api/types/TranscribeConfig.ts b/src/api/types/TranscribeConfig.ts index bf8dbd61..e651492f 100644 --- a/src/api/types/TranscribeConfig.ts +++ b/src/api/types/TranscribeConfig.ts @@ -14,4 +14,6 @@ export interface TranscribeConfig { /** Commands that should be registered and detected */ commands?: Corti.TranscribeCommand[]; formatting?: Corti.TranscribeFormatting; + /** The audio format of the incoming audio stream */ + audioFormat?: string; } diff --git a/src/api/types/TranscribeConfigStatusMessage.ts b/src/api/types/TranscribeConfigStatusMessage.ts index 765dcd6f..a67b4f63 100644 --- a/src/api/types/TranscribeConfigStatusMessage.ts +++ b/src/api/types/TranscribeConfigStatusMessage.ts @@ -7,6 +7,8 @@ export interface TranscribeConfigStatusMessage { type: Corti.TranscribeConfigStatusMessageType; /** Optional reason for rejection */ reason?: string; - /** Session identifier returned when configuration is accepted */ - sessionId: string; + /** Session identifier. Only present when type is CONFIG_ACCEPTED. */ + sessionId?: string; + /** The resolved configuration. Only present when type is CONFIG_ACCEPTED. */ + configuration?: Corti.TranscribeConfig; } diff --git a/src/api/types/TranscribeConfigStatusMessageType.ts b/src/api/types/TranscribeConfigStatusMessageType.ts index bded7c6c..b7714759 100644 --- a/src/api/types/TranscribeConfigStatusMessageType.ts +++ b/src/api/types/TranscribeConfigStatusMessageType.ts @@ -5,6 +5,8 @@ export const TranscribeConfigStatusMessageType = { ConfigAccepted: "CONFIG_ACCEPTED", ConfigDenied: "CONFIG_DENIED", ConfigTimeout: "CONFIG_TIMEOUT", + ConfigAlreadyReceived: "CONFIG_ALREADY_RECEIVED", + ConfigMissing: "CONFIG_MISSING", } as const; export type TranscribeConfigStatusMessageType = (typeof TranscribeConfigStatusMessageType)[keyof typeof TranscribeConfigStatusMessageType]; diff --git a/src/api/types/TranscribeDeltaUsageMessage.ts b/src/api/types/TranscribeDeltaUsageMessage.ts new file mode 100644 index 00000000..4bcb1136 --- /dev/null +++ b/src/api/types/TranscribeDeltaUsageMessage.ts @@ -0,0 +1,7 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface TranscribeDeltaUsageMessage { + type: "delta_usage"; + /** Approximate credits consumed since recording started. */ + credits: number; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index b879c74f..90742005 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -52,6 +52,7 @@ export * from "./AgentsTaskStatus.js"; export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; +export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; @@ -144,10 +145,11 @@ export * from "./StreamConfigMode.js"; export * from "./StreamConfigModeType.js"; export * from "./StreamConfigParticipant.js"; export * from "./StreamConfigParticipantRole.js"; +export * from "./StreamConfigRetentionPolicy.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; -export * from "./StreamConfigXCortiRetentionPolicy.js"; +export * from "./StreamDeltaUsageMessage.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; export * from "./StreamErrorDetail.js"; @@ -185,6 +187,7 @@ export * from "./TranscribeConfig.js"; export * from "./TranscribeConfigMessage.js"; export * from "./TranscribeConfigStatusMessage.js"; export * from "./TranscribeConfigStatusMessageType.js"; +export * from "./TranscribeDeltaUsageMessage.js"; export * from "./TranscribeEndedMessage.js"; export * from "./TranscribeEndMessage.js"; export * from "./TranscribeErrorMessage.js"; diff --git a/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts b/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts index 38b6a31b..a88b8561 100644 --- a/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts +++ b/src/serialization/resources/agents/client/requests/AgentsCreateAgent.ts @@ -3,6 +3,7 @@ import type * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; +import { AgentsCreateMcpServer } from "../../../../types/AgentsCreateMcpServer.js"; import { AgentsCreateAgentAgentType } from "../../types/AgentsCreateAgentAgentType.js"; import { AgentsCreateAgentExpertsItem } from "../../types/AgentsCreateAgentExpertsItem.js"; @@ -15,6 +16,7 @@ export const AgentsCreateAgent: core.serialization.Schema< systemPrompt: core.serialization.string().optional(), description: core.serialization.string(), experts: core.serialization.list(AgentsCreateAgentExpertsItem).optional(), + mcpServers: core.serialization.list(AgentsCreateMcpServer).optional(), }); export declare namespace AgentsCreateAgent { @@ -24,5 +26,6 @@ export declare namespace AgentsCreateAgent { systemPrompt?: string | null; description: string; experts?: AgentsCreateAgentExpertsItem.Raw[] | null; + mcpServers?: AgentsCreateMcpServer.Raw[] | null; } } diff --git a/src/serialization/resources/agents/client/requests/AgentsUpdateAgent.ts b/src/serialization/resources/agents/client/requests/AgentsUpdateAgent.ts index 9f1221c2..236a7dcf 100644 --- a/src/serialization/resources/agents/client/requests/AgentsUpdateAgent.ts +++ b/src/serialization/resources/agents/client/requests/AgentsUpdateAgent.ts @@ -3,6 +3,7 @@ import type * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; +import { AgentsCreateMcpServer } from "../../../../types/AgentsCreateMcpServer.js"; import { AgentsUpdateAgentExpertsItem } from "../../types/AgentsUpdateAgentExpertsItem.js"; export const AgentsUpdateAgent: core.serialization.Schema = @@ -11,6 +12,7 @@ export const AgentsUpdateAgent: core.serialization.Schema = core.serialization.undiscriminatedUnion([AgentsCreateExpert, AgentsCreateExpertReference]); +> = core.serialization.undiscriminatedUnion([AgentsCreateExpert, AgentsUpdateExpertReference]); export declare namespace AgentsUpdateAgentExpertsItem { - export type Raw = AgentsCreateExpert.Raw | AgentsCreateExpertReference.Raw; + export type Raw = AgentsCreateExpert.Raw | AgentsUpdateExpertReference.Raw; } diff --git a/src/serialization/resources/stream/client/socket/StreamSocketResponse.ts b/src/serialization/resources/stream/client/socket/StreamSocketResponse.ts index 30ab3366..6a4bb9a0 100644 --- a/src/serialization/resources/stream/client/socket/StreamSocketResponse.ts +++ b/src/serialization/resources/stream/client/socket/StreamSocketResponse.ts @@ -4,6 +4,7 @@ import type * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; import { StreamConfigStatusMessage } from "../../../../types/StreamConfigStatusMessage.js"; +import { StreamDeltaUsageMessage } from "../../../../types/StreamDeltaUsageMessage.js"; import { StreamEndedMessage } from "../../../../types/StreamEndedMessage.js"; import { StreamErrorMessage } from "../../../../types/StreamErrorMessage.js"; import { StreamFactsMessage } from "../../../../types/StreamFactsMessage.js"; @@ -16,6 +17,7 @@ export const StreamSocketResponse: core.serialization.Schema< | Corti.StreamTranscriptMessage | Corti.StreamFactsMessage | Corti.StreamFlushedMessage + | Corti.StreamDeltaUsageMessage | Corti.StreamEndedMessage | Corti.StreamUsageMessage | Corti.StreamErrorMessage @@ -24,6 +26,7 @@ export const StreamSocketResponse: core.serialization.Schema< StreamTranscriptMessage, StreamFactsMessage, StreamFlushedMessage, + StreamDeltaUsageMessage, StreamEndedMessage, StreamUsageMessage, StreamErrorMessage, @@ -35,6 +38,7 @@ export declare namespace StreamSocketResponse { | StreamTranscriptMessage.Raw | StreamFactsMessage.Raw | StreamFlushedMessage.Raw + | StreamDeltaUsageMessage.Raw | StreamEndedMessage.Raw | StreamUsageMessage.Raw | StreamErrorMessage.Raw diff --git a/src/serialization/resources/transcribe/client/socket/TranscribeSocketResponse.ts b/src/serialization/resources/transcribe/client/socket/TranscribeSocketResponse.ts index 23b3c5c2..32c21517 100644 --- a/src/serialization/resources/transcribe/client/socket/TranscribeSocketResponse.ts +++ b/src/serialization/resources/transcribe/client/socket/TranscribeSocketResponse.ts @@ -5,6 +5,7 @@ import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; import { TranscribeCommandMessage } from "../../../../types/TranscribeCommandMessage.js"; import { TranscribeConfigStatusMessage } from "../../../../types/TranscribeConfigStatusMessage.js"; +import { TranscribeDeltaUsageMessage } from "../../../../types/TranscribeDeltaUsageMessage.js"; import { TranscribeEndedMessage } from "../../../../types/TranscribeEndedMessage.js"; import { TranscribeErrorMessage } from "../../../../types/TranscribeErrorMessage.js"; import { TranscribeFlushedMessage } from "../../../../types/TranscribeFlushedMessage.js"; @@ -15,6 +16,7 @@ export const TranscribeSocketResponse: core.serialization.Schema< serializers.TranscribeSocketResponse.Raw, | Corti.TranscribeUsageMessage | Corti.TranscribeFlushedMessage + | Corti.TranscribeDeltaUsageMessage | Corti.TranscribeEndedMessage | Corti.TranscribeErrorMessage | Corti.TranscribeTranscriptMessage @@ -23,6 +25,7 @@ export const TranscribeSocketResponse: core.serialization.Schema< > = core.serialization.undiscriminatedUnion([ TranscribeUsageMessage, TranscribeFlushedMessage, + TranscribeDeltaUsageMessage, TranscribeEndedMessage, TranscribeErrorMessage, TranscribeTranscriptMessage, @@ -34,6 +37,7 @@ export declare namespace TranscribeSocketResponse { export type Raw = | TranscribeUsageMessage.Raw | TranscribeFlushedMessage.Raw + | TranscribeDeltaUsageMessage.Raw | TranscribeEndedMessage.Raw | TranscribeErrorMessage.Raw | TranscribeTranscriptMessage.Raw diff --git a/src/serialization/types/AgentsAgent.ts b/src/serialization/types/AgentsAgent.ts index 9289d227..adc5eaf5 100644 --- a/src/serialization/types/AgentsAgent.ts +++ b/src/serialization/types/AgentsAgent.ts @@ -4,6 +4,7 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; import { AgentsAgentExpertsItem } from "./AgentsAgentExpertsItem.js"; +import { AgentsMcpServer } from "./AgentsMcpServer.js"; export const AgentsAgent: core.serialization.ObjectSchema = core.serialization.object({ @@ -12,6 +13,7 @@ export const AgentsAgent: core.serialization.ObjectSchema = core.serialization.enum_(["stdio", "streamable_http"]); +> = core.serialization.enum_(["stdio", "streamable_http", "sse"]); export declare namespace AgentsMcpServerTransportType { - export type Raw = "stdio" | "streamable_http"; + export type Raw = "stdio" | "streamable_http" | "sse"; } diff --git a/src/serialization/types/AgentsRegistryExpert.ts b/src/serialization/types/AgentsRegistryExpert.ts index 5a2a27a6..c29b3a23 100644 --- a/src/serialization/types/AgentsRegistryExpert.ts +++ b/src/serialization/types/AgentsRegistryExpert.ts @@ -10,6 +10,8 @@ export const AgentsRegistryExpert: core.serialization.ObjectSchema< Corti.AgentsRegistryExpert > = core.serialization.object({ name: core.serialization.string(), + displayName: core.serialization.string().optional(), + displayDescription: core.serialization.string().optional(), description: core.serialization.string(), mcpServers: core.serialization.list(AgentsRegistryMcpServer).optional(), }); @@ -17,6 +19,8 @@ export const AgentsRegistryExpert: core.serialization.ObjectSchema< export declare namespace AgentsRegistryExpert { export interface Raw { name: string; + displayName?: string | null; + displayDescription?: string | null; description: string; mcpServers?: AgentsRegistryMcpServer.Raw[] | null; } diff --git a/src/serialization/types/AgentsUpdateExpertReference.ts b/src/serialization/types/AgentsUpdateExpertReference.ts new file mode 100644 index 00000000..950b15d5 --- /dev/null +++ b/src/serialization/types/AgentsUpdateExpertReference.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import type * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { AgentsCreateExpertReference } from "./AgentsCreateExpertReference.js"; + +export const AgentsUpdateExpertReference: core.serialization.ObjectSchema< + serializers.AgentsUpdateExpertReference.Raw, + Corti.AgentsUpdateExpertReference +> = AgentsCreateExpertReference; + +export declare namespace AgentsUpdateExpertReference { + export type Raw = AgentsCreateExpertReference.Raw; +} diff --git a/src/serialization/types/CommonCodingSystemEnum.ts b/src/serialization/types/CommonCodingSystemEnum.ts index 04f733b5..1fd47cf0 100644 --- a/src/serialization/types/CommonCodingSystemEnum.ts +++ b/src/serialization/types/CommonCodingSystemEnum.ts @@ -16,6 +16,13 @@ export const CommonCodingSystemEnum: core.serialization.Schema< "icd10int-outpatient", "icd10uk-inpatient", "icd10uk-outpatient", + "cim10fr-inpatient", + "cim10fr-outpatient", + "icd10gm-inpatient", + "icd10gm-outpatient", + "opcs4", + "ops", + "ccam", ]); export declare namespace CommonCodingSystemEnum { @@ -27,5 +34,12 @@ export declare namespace CommonCodingSystemEnum { | "icd10int-inpatient" | "icd10int-outpatient" | "icd10uk-inpatient" - | "icd10uk-outpatient"; + | "icd10uk-outpatient" + | "cim10fr-inpatient" + | "cim10fr-outpatient" + | "icd10gm-inpatient" + | "icd10gm-outpatient" + | "opcs4" + | "ops" + | "ccam"; } diff --git a/src/serialization/types/StreamConfig.ts b/src/serialization/types/StreamConfig.ts index 595d2962..c01d12f1 100644 --- a/src/serialization/types/StreamConfig.ts +++ b/src/serialization/types/StreamConfig.ts @@ -4,23 +4,22 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; import { StreamConfigMode } from "./StreamConfigMode.js"; +import { StreamConfigRetentionPolicy } from "./StreamConfigRetentionPolicy.js"; import { StreamConfigTranscription } from "./StreamConfigTranscription.js"; -import { StreamConfigXCortiRetentionPolicy } from "./StreamConfigXCortiRetentionPolicy.js"; export const StreamConfig: core.serialization.ObjectSchema = core.serialization.object({ transcription: StreamConfigTranscription, mode: StreamConfigMode, - xCortiRetentionPolicy: core.serialization.property( - "X-Corti-Retention-Policy", - StreamConfigXCortiRetentionPolicy.optional(), - ), + retentionPolicy: StreamConfigRetentionPolicy.optional(), + audioFormat: core.serialization.string().optional(), }); export declare namespace StreamConfig { export interface Raw { transcription: StreamConfigTranscription.Raw; mode: StreamConfigMode.Raw; - "X-Corti-Retention-Policy"?: StreamConfigXCortiRetentionPolicy.Raw | null; + retentionPolicy?: StreamConfigRetentionPolicy.Raw | null; + audioFormat?: string | null; } } diff --git a/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts b/src/serialization/types/StreamConfigRetentionPolicy.ts similarity index 56% rename from src/serialization/types/StreamConfigXCortiRetentionPolicy.ts rename to src/serialization/types/StreamConfigRetentionPolicy.ts index ecf282d5..8d081645 100644 --- a/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts +++ b/src/serialization/types/StreamConfigRetentionPolicy.ts @@ -4,11 +4,11 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -export const StreamConfigXCortiRetentionPolicy: core.serialization.Schema< - serializers.StreamConfigXCortiRetentionPolicy.Raw, - Corti.StreamConfigXCortiRetentionPolicy +export const StreamConfigRetentionPolicy: core.serialization.Schema< + serializers.StreamConfigRetentionPolicy.Raw, + Corti.StreamConfigRetentionPolicy > = core.serialization.enum_(["retain", "none"]); -export declare namespace StreamConfigXCortiRetentionPolicy { +export declare namespace StreamConfigRetentionPolicy { export type Raw = "retain" | "none"; } diff --git a/src/serialization/types/StreamConfigStatusMessage.ts b/src/serialization/types/StreamConfigStatusMessage.ts index cf1b8e11..a490746c 100644 --- a/src/serialization/types/StreamConfigStatusMessage.ts +++ b/src/serialization/types/StreamConfigStatusMessage.ts @@ -3,6 +3,7 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; +import { StreamConfig } from "./StreamConfig.js"; import { StreamConfigStatusMessageType } from "./StreamConfigStatusMessageType.js"; export const StreamConfigStatusMessage: core.serialization.ObjectSchema< @@ -11,11 +12,13 @@ export const StreamConfigStatusMessage: core.serialization.ObjectSchema< > = core.serialization.object({ type: StreamConfigStatusMessageType, reason: core.serialization.string().optional(), + configuration: StreamConfig.optional(), }); export declare namespace StreamConfigStatusMessage { export interface Raw { type: StreamConfigStatusMessageType.Raw; reason?: string | null; + configuration?: StreamConfig.Raw | null; } } diff --git a/src/serialization/types/StreamConfigStatusMessageType.ts b/src/serialization/types/StreamConfigStatusMessageType.ts index 3c9b378b..1e84670e 100644 --- a/src/serialization/types/StreamConfigStatusMessageType.ts +++ b/src/serialization/types/StreamConfigStatusMessageType.ts @@ -13,7 +13,6 @@ export const StreamConfigStatusMessageType: core.serialization.Schema< "CONFIG_MISSING", "CONFIG_NOT_PROVIDED", "CONFIG_ALREADY_RECEIVED", - "CONFIG_TIMEOUT", ]); export declare namespace StreamConfigStatusMessageType { @@ -22,6 +21,5 @@ export declare namespace StreamConfigStatusMessageType { | "CONFIG_DENIED" | "CONFIG_MISSING" | "CONFIG_NOT_PROVIDED" - | "CONFIG_ALREADY_RECEIVED" - | "CONFIG_TIMEOUT"; + | "CONFIG_ALREADY_RECEIVED"; } diff --git a/src/serialization/types/StreamDeltaUsageMessage.ts b/src/serialization/types/StreamDeltaUsageMessage.ts new file mode 100644 index 00000000..cadf7c76 --- /dev/null +++ b/src/serialization/types/StreamDeltaUsageMessage.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const StreamDeltaUsageMessage: core.serialization.ObjectSchema< + serializers.StreamDeltaUsageMessage.Raw, + Corti.StreamDeltaUsageMessage +> = core.serialization.object({ + type: core.serialization.stringLiteral("delta_usage"), + credits: core.serialization.number(), +}); + +export declare namespace StreamDeltaUsageMessage { + export interface Raw { + type: "delta_usage"; + credits: number; + } +} diff --git a/src/serialization/types/TranscribeConfig.ts b/src/serialization/types/TranscribeConfig.ts index ceedea52..8f957e6d 100644 --- a/src/serialization/types/TranscribeConfig.ts +++ b/src/serialization/types/TranscribeConfig.ts @@ -17,6 +17,7 @@ export const TranscribeConfig: core.serialization.ObjectSchema< automaticPunctuation: core.serialization.boolean().optional(), commands: core.serialization.list(TranscribeCommand).optional(), formatting: TranscribeFormatting.optional(), + audioFormat: core.serialization.string().optional(), }); export declare namespace TranscribeConfig { @@ -27,5 +28,6 @@ export declare namespace TranscribeConfig { automaticPunctuation?: boolean | null; commands?: TranscribeCommand.Raw[] | null; formatting?: TranscribeFormatting.Raw | null; + audioFormat?: string | null; } } diff --git a/src/serialization/types/TranscribeConfigStatusMessage.ts b/src/serialization/types/TranscribeConfigStatusMessage.ts index d5afff35..e8f6dcb7 100644 --- a/src/serialization/types/TranscribeConfigStatusMessage.ts +++ b/src/serialization/types/TranscribeConfigStatusMessage.ts @@ -3,6 +3,7 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; +import { TranscribeConfig } from "./TranscribeConfig.js"; import { TranscribeConfigStatusMessageType } from "./TranscribeConfigStatusMessageType.js"; export const TranscribeConfigStatusMessage: core.serialization.ObjectSchema< @@ -11,13 +12,15 @@ export const TranscribeConfigStatusMessage: core.serialization.ObjectSchema< > = core.serialization.object({ type: TranscribeConfigStatusMessageType, reason: core.serialization.string().optional(), - sessionId: core.serialization.string(), + sessionId: core.serialization.string().optional(), + configuration: TranscribeConfig.optional(), }); export declare namespace TranscribeConfigStatusMessage { export interface Raw { type: TranscribeConfigStatusMessageType.Raw; reason?: string | null; - sessionId: string; + sessionId?: string | null; + configuration?: TranscribeConfig.Raw | null; } } diff --git a/src/serialization/types/TranscribeConfigStatusMessageType.ts b/src/serialization/types/TranscribeConfigStatusMessageType.ts index a5a9fdbe..facfa3f5 100644 --- a/src/serialization/types/TranscribeConfigStatusMessageType.ts +++ b/src/serialization/types/TranscribeConfigStatusMessageType.ts @@ -7,8 +7,19 @@ import type * as serializers from "../index.js"; export const TranscribeConfigStatusMessageType: core.serialization.Schema< serializers.TranscribeConfigStatusMessageType.Raw, Corti.TranscribeConfigStatusMessageType -> = core.serialization.enum_(["CONFIG_ACCEPTED", "CONFIG_DENIED", "CONFIG_TIMEOUT"]); +> = core.serialization.enum_([ + "CONFIG_ACCEPTED", + "CONFIG_DENIED", + "CONFIG_TIMEOUT", + "CONFIG_ALREADY_RECEIVED", + "CONFIG_MISSING", +]); export declare namespace TranscribeConfigStatusMessageType { - export type Raw = "CONFIG_ACCEPTED" | "CONFIG_DENIED" | "CONFIG_TIMEOUT"; + export type Raw = + | "CONFIG_ACCEPTED" + | "CONFIG_DENIED" + | "CONFIG_TIMEOUT" + | "CONFIG_ALREADY_RECEIVED" + | "CONFIG_MISSING"; } diff --git a/src/serialization/types/TranscribeDeltaUsageMessage.ts b/src/serialization/types/TranscribeDeltaUsageMessage.ts new file mode 100644 index 00000000..db7972c6 --- /dev/null +++ b/src/serialization/types/TranscribeDeltaUsageMessage.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const TranscribeDeltaUsageMessage: core.serialization.ObjectSchema< + serializers.TranscribeDeltaUsageMessage.Raw, + Corti.TranscribeDeltaUsageMessage +> = core.serialization.object({ + type: core.serialization.stringLiteral("delta_usage"), + credits: core.serialization.number(), +}); + +export declare namespace TranscribeDeltaUsageMessage { + export interface Raw { + type: "delta_usage"; + credits: number; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index b879c74f..90742005 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -52,6 +52,7 @@ export * from "./AgentsTaskStatus.js"; export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; +export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; @@ -144,10 +145,11 @@ export * from "./StreamConfigMode.js"; export * from "./StreamConfigModeType.js"; export * from "./StreamConfigParticipant.js"; export * from "./StreamConfigParticipantRole.js"; +export * from "./StreamConfigRetentionPolicy.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; -export * from "./StreamConfigXCortiRetentionPolicy.js"; +export * from "./StreamDeltaUsageMessage.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; export * from "./StreamErrorDetail.js"; @@ -185,6 +187,7 @@ export * from "./TranscribeConfig.js"; export * from "./TranscribeConfigMessage.js"; export * from "./TranscribeConfigStatusMessage.js"; export * from "./TranscribeConfigStatusMessageType.js"; +export * from "./TranscribeDeltaUsageMessage.js"; export * from "./TranscribeEndedMessage.js"; export * from "./TranscribeEndMessage.js"; export * from "./TranscribeErrorMessage.js"; diff --git a/tests/wire/agents.test.ts b/tests/wire/agents.test.ts index c94252fd..acd362e9 100644 --- a/tests/wire/agents.test.ts +++ b/tests/wire/agents.test.ts @@ -33,6 +33,7 @@ describe("AgentsClient", () => { systemPrompt: "systemPrompt", }, ], + mcpServers: [{ id: "id", name: "name", transportType: "stdio", authorizationType: "none", url: "url" }], }, ]; @@ -54,6 +55,15 @@ describe("AgentsClient", () => { systemPrompt: "systemPrompt", }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + url: "url", + }, + ], }, ]); }); @@ -129,6 +139,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }; server @@ -167,6 +188,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }); }); @@ -292,6 +324,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }; server @@ -326,6 +369,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }); }); @@ -507,6 +561,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }; server @@ -542,6 +607,17 @@ describe("AgentsClient", () => { ], }, ], + mcpServers: [ + { + id: "id", + name: "name", + transportType: "stdio", + authorizationType: "none", + authorizationScope: "authorizationScope", + url: "url", + redirectUrl: "redirectUrl", + }, + ], }); }); @@ -1711,7 +1787,13 @@ describe("AgentsClient", () => { const rawResponseBody = { experts: [ - { name: "name", description: "description", mcpServers: [{ name: "name", authorizationType: "none" }] }, + { + name: "name", + displayName: "displayName", + displayDescription: "displayDescription", + description: "description", + mcpServers: [{ name: "name", authorizationType: "none" }], + }, ], }; @@ -1731,6 +1813,8 @@ describe("AgentsClient", () => { experts: [ { name: "name", + displayName: "displayName", + displayDescription: "displayDescription", description: "description", mcpServers: [ { From f083cbbc556921d05279cda5e7832dfe7766c27c Mon Sep 17 00:00:00 2001 From: Thijs van der Velden Date: Tue, 28 Apr 2026 13:31:44 +0200 Subject: [PATCH 17/44] fix: add default tenant Co-authored-by: Copilot --- src/custom/CortiClient.ts | 2 +- src/custom/auth/CortiAuth.ts | 6 +++--- src/custom/stream/CustomStream.ts | 2 +- src/custom/transcribe/CustomTranscribe.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/custom/CortiClient.ts b/src/custom/CortiClient.ts index 31ab24bf..6ba6646c 100644 --- a/src/custom/CortiClient.ts +++ b/src/custom/CortiClient.ts @@ -112,7 +112,7 @@ export class CortiClient extends BaseCortiClient { return new Headers({ ...(req.headers ?? {}), - "Tenant-Name": await core.Supplier.get(this._options.tenantName), + "Tenant-Name": (await core.Supplier.get(this._options.tenantName)) ?? "", }); }; } diff --git a/src/custom/auth/CortiAuth.ts b/src/custom/auth/CortiAuth.ts index 84cf945a..8d610a0f 100644 --- a/src/custom/auth/CortiAuth.ts +++ b/src/custom/auth/CortiAuth.ts @@ -106,7 +106,7 @@ export declare namespace CortiAuth { } export class CortiAuth extends AuthClient { - private readonly _tenantName: core.Supplier; + private readonly _tenantName: core.Supplier; /** No-op auth provider so super.token() does not trigger OAuth refresh. When auth is omitted, a dummy token is passed so the base constructor does not throw. */ constructor(options: CortiAuth.Options) { @@ -162,7 +162,7 @@ export class CortiAuth extends AuthClient { const authRequest = buildTokenRequestBody(request); const tenantName = await core.Supplier.get(this._tenantName); - return this.token(tenantName, authRequest, requestOptions).withRawResponse(); + return this.token(tenantName ?? "base", authRequest, requestOptions).withRawResponse(); } /** Exchange username/password for access token via ROPC (resource owner password credentials). */ @@ -265,7 +265,7 @@ export class CortiAuth extends AuthClient { const envUrls = await core.Supplier.get(this._options.environment); const tenantName = await core.Supplier.get(this._tenantName); - const authUrl = new URL(core.url.join(envUrls.login, tenantName, "protocol/openid-connect/auth")); + const authUrl = new URL(core.url.join(envUrls.login, tenantName ?? "", "protocol/openid-connect/auth")); authUrl.searchParams.set("response_type", "code"); diff --git a/src/custom/stream/CustomStream.ts b/src/custom/stream/CustomStream.ts index 62e5c1f1..9b12d17c 100644 --- a/src/custom/stream/CustomStream.ts +++ b/src/custom/stream/CustomStream.ts @@ -63,7 +63,7 @@ export class CustomStream extends StreamClient { await super.connect({ ...rest, token: (await this._options.authProvider?.getAuthRequest())?.headers.Authorization || "", - tenantName: await core.Supplier.get(this._options.tenantName), + tenantName: (await core.Supplier.get(this._options.tenantName)) ?? "base", }) ).socket; diff --git a/src/custom/transcribe/CustomTranscribe.ts b/src/custom/transcribe/CustomTranscribe.ts index ce6d7909..69df2a3d 100644 --- a/src/custom/transcribe/CustomTranscribe.ts +++ b/src/custom/transcribe/CustomTranscribe.ts @@ -62,7 +62,7 @@ export class CustomTranscribe extends TranscribeClient { await super.connect({ ...rest, token: (await this._options.authProvider?.getAuthRequest())?.headers.Authorization || "", - tenantName: await core.Supplier.get(this._options.tenantName), + tenantName: (await core.Supplier.get(this._options.tenantName)) ?? "base", }) ).socket; From a6dc04c6164ccedb8356cc25a593f87f7b3eb5fd Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 11:51:49 +0000 Subject: [PATCH 18/44] SDK regeneration --- .fern/metadata.json | 2 +- src/Client.ts | 12 ++ src/api/resources/index.ts | 5 +- .../resources/newSections/client/Client.ts | 107 ++++++++++++ .../resources/newSections}/client/index.ts | 0 .../client/requests/UpdateSectionRequest.ts | 0 .../client/requests/index.ts | 0 .../resources/newSections}/index.ts | 0 .../resources/newTemplates/client/Client.ts | 107 ++++++++++++ .../resources/newTemplates}/client/index.ts | 0 .../client/requests/UpdateTemplateRequest.ts | 0 .../newTemplates/client/requests/index.ts | 1 + .../resources/newTemplates}/index.ts | 0 src/api/resources/sections/client/Client.ts | 83 --------- src/api/resources/sections/client/index.ts | 2 +- src/api/resources/templates/client/Client.ts | 83 --------- .../templates/client/requests/index.ts | 1 - src/api/types/StreamConfig.ts | 4 +- .../StreamConfigXCortiRetentionPolicy.ts | 9 - src/api/types/index.ts | 2 - src/serialization/resources/index.ts | 8 +- .../resources/newSections/client/index.ts | 1 + .../client/requests/UpdateSectionRequest.ts | 0 .../client/requests/index.ts | 0 .../resources/newSections/index.ts | 1 + .../resources/newTemplates/client/index.ts | 1 + .../client/requests/UpdateTemplateRequest.ts | 0 .../client/requests/index.ts | 0 .../resources/newTemplates/index.ts | 1 + src/serialization/types/StreamConfig.ts | 11 +- .../StreamConfigXCortiRetentionPolicy.ts | 14 -- src/serialization/types/index.ts | 2 - tests/wire/newSections.test.ts | 138 +++++++++++++++ tests/wire/newTemplates.test.ts | 162 ++++++++++++++++++ tests/wire/sections.test.ts | 130 -------------- tests/wire/templates.test.ts | 154 ----------------- 36 files changed, 549 insertions(+), 492 deletions(-) create mode 100644 src/api/resources/newSections/client/Client.ts rename src/{serialization/resources/sections => api/resources/newSections}/client/index.ts (100%) rename src/api/resources/{sections => newSections}/client/requests/UpdateSectionRequest.ts (100%) rename src/api/resources/{sections => newSections}/client/requests/index.ts (100%) rename src/{serialization/resources/sections => api/resources/newSections}/index.ts (100%) create mode 100644 src/api/resources/newTemplates/client/Client.ts rename src/{serialization/resources/templates => api/resources/newTemplates}/client/index.ts (100%) rename src/api/resources/{templates => newTemplates}/client/requests/UpdateTemplateRequest.ts (100%) create mode 100644 src/api/resources/newTemplates/client/requests/index.ts rename src/{serialization/resources/templates => api/resources/newTemplates}/index.ts (100%) delete mode 100644 src/api/types/StreamConfigXCortiRetentionPolicy.ts create mode 100644 src/serialization/resources/newSections/client/index.ts rename src/serialization/resources/{sections => newSections}/client/requests/UpdateSectionRequest.ts (100%) rename src/serialization/resources/{sections => newSections}/client/requests/index.ts (100%) create mode 100644 src/serialization/resources/newSections/index.ts create mode 100644 src/serialization/resources/newTemplates/client/index.ts rename src/serialization/resources/{templates => newTemplates}/client/requests/UpdateTemplateRequest.ts (100%) rename src/serialization/resources/{templates => newTemplates}/client/requests/index.ts (100%) create mode 100644 src/serialization/resources/newTemplates/index.ts delete mode 100644 src/serialization/types/StreamConfigXCortiRetentionPolicy.ts create mode 100644 tests/wire/newSections.test.ts create mode 100644 tests/wire/newTemplates.test.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index e88c8942..0932a41d 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "346e672aaa4050a7cc211f9cf044a03aa3a7c753", + "originGitCommit": "84e606178e0459386b2f285a5f1b29d05bc3dd9f", "sdkVersion": "0.0.0-dev" } diff --git a/src/Client.ts b/src/Client.ts index 27458b1a..91c6f47e 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -6,6 +6,8 @@ import { CodesClient } from "./api/resources/codes/client/Client.js"; import { DocumentsClient } from "./api/resources/documents/client/Client.js"; import { FactsClient } from "./api/resources/facts/client/Client.js"; import { InteractionsClient } from "./api/resources/interactions/client/Client.js"; +import { NewSectionsClient } from "./api/resources/newSections/client/Client.js"; +import { NewTemplatesClient } from "./api/resources/newTemplates/client/Client.js"; import { RecordingsClient } from "./api/resources/recordings/client/Client.js"; import { SectionsClient } from "./api/resources/sections/client/Client.js"; import { SectionVersionsClient } from "./api/resources/sectionVersions/client/Client.js"; @@ -37,8 +39,10 @@ export class CortiClient { protected _documents: DocumentsClient | undefined; protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; + protected _newTemplates: NewTemplatesClient | undefined; protected _templateVersions: TemplateVersionsClient | undefined; protected _sections: SectionsClient | undefined; + protected _newSections: NewSectionsClient | undefined; protected _sectionVersions: SectionVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; @@ -80,6 +84,10 @@ export class CortiClient { return (this._codes ??= new CodesClient(this._options)); } + public get newTemplates(): NewTemplatesClient { + return (this._newTemplates ??= new NewTemplatesClient(this._options)); + } + public get templateVersions(): TemplateVersionsClient { return (this._templateVersions ??= new TemplateVersionsClient(this._options)); } @@ -88,6 +96,10 @@ export class CortiClient { return (this._sections ??= new SectionsClient(this._options)); } + public get newSections(): NewSectionsClient { + return (this._newSections ??= new NewSectionsClient(this._options)); + } + public get sectionVersions(): SectionVersionsClient { return (this._sectionVersions ??= new SectionVersionsClient(this._options)); } diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index e2a12016..ecff6789 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -12,8 +12,11 @@ export * as facts from "./facts/index.js"; export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; +export * from "./newSections/client/requests/index.js"; +export * as newSections from "./newSections/index.js"; +export * from "./newTemplates/client/requests/index.js"; +export * as newTemplates from "./newTemplates/index.js"; export * as recordings from "./recordings/index.js"; -export * from "./sections/client/requests/index.js"; export * as sections from "./sections/index.js"; export * as sectionVersions from "./sectionVersions/index.js"; export * as stream from "./stream/index.js"; diff --git a/src/api/resources/newSections/client/Client.ts b/src/api/resources/newSections/client/Client.ts new file mode 100644 index 00000000..54c74f9d --- /dev/null +++ b/src/api/resources/newSections/client/Client.ts @@ -0,0 +1,107 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace NewSectionsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class NewSectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: NewSectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * @param {string} sectionID + * @param {Corti.UpdateSectionRequest} request + * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newSections.update("sectionID") + */ + public update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: NewSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); + } + + private async __update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: NewSectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Section.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 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); + } +} diff --git a/src/serialization/resources/sections/client/index.ts b/src/api/resources/newSections/client/index.ts similarity index 100% rename from src/serialization/resources/sections/client/index.ts rename to src/api/resources/newSections/client/index.ts diff --git a/src/api/resources/sections/client/requests/UpdateSectionRequest.ts b/src/api/resources/newSections/client/requests/UpdateSectionRequest.ts similarity index 100% rename from src/api/resources/sections/client/requests/UpdateSectionRequest.ts rename to src/api/resources/newSections/client/requests/UpdateSectionRequest.ts diff --git a/src/api/resources/sections/client/requests/index.ts b/src/api/resources/newSections/client/requests/index.ts similarity index 100% rename from src/api/resources/sections/client/requests/index.ts rename to src/api/resources/newSections/client/requests/index.ts diff --git a/src/serialization/resources/sections/index.ts b/src/api/resources/newSections/index.ts similarity index 100% rename from src/serialization/resources/sections/index.ts rename to src/api/resources/newSections/index.ts diff --git a/src/api/resources/newTemplates/client/Client.ts b/src/api/resources/newTemplates/client/Client.ts new file mode 100644 index 00000000..3281946e --- /dev/null +++ b/src/api/resources/newTemplates/client/Client.ts @@ -0,0 +1,107 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace NewTemplatesClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class NewTemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: NewTemplatesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * @param {string} templateId + * @param {Corti.UpdateTemplateRequest} request + * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newTemplates.update("templateId") + */ + public update( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: NewTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(templateId, request, requestOptions)); + } + + private async __update( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: NewTemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Template.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 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); + } +} diff --git a/src/serialization/resources/templates/client/index.ts b/src/api/resources/newTemplates/client/index.ts similarity index 100% rename from src/serialization/resources/templates/client/index.ts rename to src/api/resources/newTemplates/client/index.ts diff --git a/src/api/resources/templates/client/requests/UpdateTemplateRequest.ts b/src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts similarity index 100% rename from src/api/resources/templates/client/requests/UpdateTemplateRequest.ts rename to src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts diff --git a/src/api/resources/newTemplates/client/requests/index.ts b/src/api/resources/newTemplates/client/requests/index.ts new file mode 100644 index 00000000..ad5cb816 --- /dev/null +++ b/src/api/resources/newTemplates/client/requests/index.ts @@ -0,0 +1 @@ +export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/templates/index.ts b/src/api/resources/newTemplates/index.ts similarity index 100% rename from src/serialization/resources/templates/index.ts rename to src/api/resources/newTemplates/index.ts diff --git a/src/api/resources/sections/client/Client.ts b/src/api/resources/sections/client/Client.ts index db3c700a..58bcbe57 100644 --- a/src/api/resources/sections/client/Client.ts +++ b/src/api/resources/sections/client/Client.ts @@ -151,87 +151,4 @@ export class SectionsClient { return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); } - - /** - * @param {string} sectionID - * @param {Corti.UpdateSectionRequest} request - * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.sections.patch("sectionID") - */ - public patch( - sectionID: string, - request: Corti.UpdateSectionRequest = {}, - requestOptions?: SectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__patch(sectionID, request, requestOptions)); - } - - private async __patch( - sectionID: string, - request: Corti.UpdateSectionRequest = {}, - requestOptions?: SectionsClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, - ), - method: "PATCH", - headers: _headers, - contentType: "application/json", - queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateSectionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.Section.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 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, - }); - } - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); - } } diff --git a/src/api/resources/sections/client/index.ts b/src/api/resources/sections/client/index.ts index 195f9aa8..cb0ff5c3 100644 --- a/src/api/resources/sections/client/index.ts +++ b/src/api/resources/sections/client/index.ts @@ -1 +1 @@ -export * from "./requests/index.js"; +export {}; diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index cc9c53f6..e324356e 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -425,87 +425,4 @@ export class TemplatesClient { "/new/templates/{templateId}", ); } - - /** - * @param {string} templateId - * @param {Corti.UpdateTemplateRequest} request - * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.templates.newTemplatesPatch("templateId") - */ - public newTemplatesPatch( - templateId: string, - request: Corti.UpdateTemplateRequest = {}, - requestOptions?: TemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__newTemplatesPatch(templateId, request, requestOptions)); - } - - private async __newTemplatesPatch( - templateId: string, - request: Corti.UpdateTemplateRequest = {}, - requestOptions?: TemplatesClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, - ), - method: "PATCH", - headers: _headers, - contentType: "application/json", - queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.Template.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 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, - }); - } - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); - } } diff --git a/src/api/resources/templates/client/requests/index.ts b/src/api/resources/templates/client/requests/index.ts index 882de95e..d2764071 100644 --- a/src/api/resources/templates/client/requests/index.ts +++ b/src/api/resources/templates/client/requests/index.ts @@ -1,3 +1,2 @@ export type { TemplatesListRequest } from "./TemplatesListRequest.js"; export type { TemplatesSectionListRequest } from "./TemplatesSectionListRequest.js"; -export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/types/StreamConfig.ts b/src/api/types/StreamConfig.ts index f79cb0c0..590dc285 100644 --- a/src/api/types/StreamConfig.ts +++ b/src/api/types/StreamConfig.ts @@ -6,5 +6,7 @@ export interface StreamConfig { transcription: Corti.StreamConfigTranscription; mode: Corti.StreamConfigMode; /** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ - xCortiRetentionPolicy?: Corti.StreamConfigXCortiRetentionPolicy; + retentionPolicy?: Corti.StreamConfigRetentionPolicy; + /** The audio format of the incoming audio stream */ + audioFormat?: string; } diff --git a/src/api/types/StreamConfigXCortiRetentionPolicy.ts b/src/api/types/StreamConfigXCortiRetentionPolicy.ts deleted file mode 100644 index 85aedb63..00000000 --- a/src/api/types/StreamConfigXCortiRetentionPolicy.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** Optional parameter to specify data retention policy for the generated transcripts and facts. Use value 'none' to indicate data should not be stored in the database. Use value 'retain' to indicate that the data should be retained according to standard retention policies. If configuration is not provided, then the default retention policy will apply. */ -export const StreamConfigXCortiRetentionPolicy = { - Retain: "retain", - None: "none", -} as const; -export type StreamConfigXCortiRetentionPolicy = - (typeof StreamConfigXCortiRetentionPolicy)[keyof typeof StreamConfigXCortiRetentionPolicy]; diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 0eaa7323..90742005 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -53,7 +53,6 @@ export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; export * from "./AgentsUpdateExpertReference.js"; -export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; @@ -150,7 +149,6 @@ export * from "./StreamConfigRetentionPolicy.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; -export * from "./StreamConfigXCortiRetentionPolicy.js"; export * from "./StreamDeltaUsageMessage.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index ccf9beac..4694806f 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -12,13 +12,13 @@ export * as facts from "./facts/index.js"; export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; -export * from "./sections/client/requests/index.js"; -export * as sections from "./sections/index.js"; +export * from "./newSections/client/requests/index.js"; +export * as newSections from "./newSections/index.js"; +export * from "./newTemplates/client/requests/index.js"; +export * as newTemplates from "./newTemplates/index.js"; export * as sectionVersions from "./sectionVersions/index.js"; export * from "./stream/client/socket/index.js"; export * as stream from "./stream/index.js"; -export * from "./templates/client/requests/index.js"; -export * as templates from "./templates/index.js"; export * from "./templateVersions/client/requests/index.js"; export * as templateVersions from "./templateVersions/index.js"; export * from "./transcribe/client/socket/index.js"; diff --git a/src/serialization/resources/newSections/client/index.ts b/src/serialization/resources/newSections/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/serialization/resources/newSections/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts b/src/serialization/resources/newSections/client/requests/UpdateSectionRequest.ts similarity index 100% rename from src/serialization/resources/sections/client/requests/UpdateSectionRequest.ts rename to src/serialization/resources/newSections/client/requests/UpdateSectionRequest.ts diff --git a/src/serialization/resources/sections/client/requests/index.ts b/src/serialization/resources/newSections/client/requests/index.ts similarity index 100% rename from src/serialization/resources/sections/client/requests/index.ts rename to src/serialization/resources/newSections/client/requests/index.ts diff --git a/src/serialization/resources/newSections/index.ts b/src/serialization/resources/newSections/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/newSections/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/newTemplates/client/index.ts b/src/serialization/resources/newTemplates/client/index.ts new file mode 100644 index 00000000..195f9aa8 --- /dev/null +++ b/src/serialization/resources/newTemplates/client/index.ts @@ -0,0 +1 @@ +export * from "./requests/index.js"; diff --git a/src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts b/src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts similarity index 100% rename from src/serialization/resources/templates/client/requests/UpdateTemplateRequest.ts rename to src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts diff --git a/src/serialization/resources/templates/client/requests/index.ts b/src/serialization/resources/newTemplates/client/requests/index.ts similarity index 100% rename from src/serialization/resources/templates/client/requests/index.ts rename to src/serialization/resources/newTemplates/client/requests/index.ts diff --git a/src/serialization/resources/newTemplates/index.ts b/src/serialization/resources/newTemplates/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/newTemplates/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/types/StreamConfig.ts b/src/serialization/types/StreamConfig.ts index 595d2962..c01d12f1 100644 --- a/src/serialization/types/StreamConfig.ts +++ b/src/serialization/types/StreamConfig.ts @@ -4,23 +4,22 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; import { StreamConfigMode } from "./StreamConfigMode.js"; +import { StreamConfigRetentionPolicy } from "./StreamConfigRetentionPolicy.js"; import { StreamConfigTranscription } from "./StreamConfigTranscription.js"; -import { StreamConfigXCortiRetentionPolicy } from "./StreamConfigXCortiRetentionPolicy.js"; export const StreamConfig: core.serialization.ObjectSchema = core.serialization.object({ transcription: StreamConfigTranscription, mode: StreamConfigMode, - xCortiRetentionPolicy: core.serialization.property( - "X-Corti-Retention-Policy", - StreamConfigXCortiRetentionPolicy.optional(), - ), + retentionPolicy: StreamConfigRetentionPolicy.optional(), + audioFormat: core.serialization.string().optional(), }); export declare namespace StreamConfig { export interface Raw { transcription: StreamConfigTranscription.Raw; mode: StreamConfigMode.Raw; - "X-Corti-Retention-Policy"?: StreamConfigXCortiRetentionPolicy.Raw | null; + retentionPolicy?: StreamConfigRetentionPolicy.Raw | null; + audioFormat?: string | null; } } diff --git a/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts b/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts deleted file mode 100644 index ecf282d5..00000000 --- a/src/serialization/types/StreamConfigXCortiRetentionPolicy.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const StreamConfigXCortiRetentionPolicy: core.serialization.Schema< - serializers.StreamConfigXCortiRetentionPolicy.Raw, - Corti.StreamConfigXCortiRetentionPolicy -> = core.serialization.enum_(["retain", "none"]); - -export declare namespace StreamConfigXCortiRetentionPolicy { - export type Raw = "retain" | "none"; -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 0eaa7323..90742005 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -53,7 +53,6 @@ export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; export * from "./AgentsUpdateExpertReference.js"; -export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; @@ -150,7 +149,6 @@ export * from "./StreamConfigRetentionPolicy.js"; export * from "./StreamConfigStatusMessage.js"; export * from "./StreamConfigStatusMessageType.js"; export * from "./StreamConfigTranscription.js"; -export * from "./StreamConfigXCortiRetentionPolicy.js"; export * from "./StreamDeltaUsageMessage.js"; export * from "./StreamEndedMessage.js"; export * from "./StreamEndMessage.js"; diff --git a/tests/wire/newSections.test.ts b/tests/wire/newSections.test.ts new file mode 100644 index 00000000..9e2d3705 --- /dev/null +++ b/tests/wire/newSections.test.ts @@ -0,0 +1,138 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("NewSectionsClient", () => { + test("update (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newSections.update("sectionID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("update (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newSections.update("sectionID"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("update (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/sections/sectionID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newSections.update("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); +}); diff --git a/tests/wire/newTemplates.test.ts b/tests/wire/newTemplates.test.ts new file mode 100644 index 00000000..a69fe52d --- /dev/null +++ b/tests/wire/newTemplates.test.ts @@ -0,0 +1,162 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("NewTemplatesClient", () => { + test("update (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newTemplates.update("templateId"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("update (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newTemplates.update("templateId"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("update (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/new/templates/templateId") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newTemplates.update("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); +}); diff --git a/tests/wire/sections.test.ts b/tests/wire/sections.test.ts index 54a72b90..b244c095 100644 --- a/tests/wire/sections.test.ts +++ b/tests/wire/sections.test.ts @@ -150,134 +150,4 @@ describe("SectionsClient", () => { return await client.sections.delete("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("patch (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .patch("/new/sections/sectionID") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.sections.patch("sectionID"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("patch (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/sections/sectionID") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.sections.patch("sectionID"); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("patch (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/sections/sectionID") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.sections.patch("sectionID"); - }).rejects.toThrow(Corti.NotFoundError); - }); }); diff --git a/tests/wire/templates.test.ts b/tests/wire/templates.test.ts index 63f62396..496aa591 100644 --- a/tests/wire/templates.test.ts +++ b/tests/wire/templates.test.ts @@ -518,158 +518,4 @@ describe("TemplatesClient", () => { return await client.templates.newTemplatesDelete("templateId"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("new_templates_patch (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.templates.newTemplatesPatch("templateId"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("new_templates_patch (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.templates.newTemplatesPatch("templateId"); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("new_templates_patch (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.templates.newTemplatesPatch("templateId"); - }).rejects.toThrow(Corti.NotFoundError); - }); }); From 222f74e7e86d8dfdcadc41a5eebeca56c169a3c8 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 12:04:53 +0000 Subject: [PATCH 19/44] SDK regeneration --- .fern/metadata.json | 2 +- src/Client.ts | 218 +--------------- src/api/resources/index.ts | 7 +- .../client/Client.ts | 50 ++-- .../client/index.ts | 0 .../index.ts | 0 .../resources/newSections/client/Client.ts | 229 +++++++++++++++++ .../client/Client.ts | 50 ++-- .../client/index.ts | 0 .../requests/CreateTemplateVersionRequest.ts | 0 .../client/requests/index.ts | 0 .../index.ts | 0 .../resources/newTemplates/client/Client.ts | 234 ++++++++++++++++++ src/api/resources/sections/client/Client.ts | 154 ------------ src/api/resources/sections/client/index.ts | 1 - src/api/resources/templates/client/Client.ts | 138 ----------- src/serialization/resources/index.ts | 6 +- .../client/index.ts | 0 .../client/list.ts | 2 +- .../resources/newSectionVersions}/index.ts | 0 .../client/index.ts | 0 .../client/list.ts | 2 +- .../requests/CreateTemplateVersionRequest.ts | 0 .../client/requests/index.ts | 0 .../index.ts | 0 .../resources/templateVersions/index.ts | 1 - tests/wire/main.test.ts | 79 ------ ...ons.test.ts => newSectionVersions.test.ts} | 24 +- tests/wire/newSections.test.ts | 181 ++++++++++++++ ...ns.test.ts => newTemplateVersions.test.ts} | 24 +- tests/wire/newTemplates.test.ts | 205 +++++++++++++++ tests/wire/sections.test.ts | 153 ------------ tests/wire/templates.test.ts | 169 ------------- 33 files changed, 940 insertions(+), 989 deletions(-) rename src/api/resources/{sectionVersions => newSectionVersions}/client/Client.ts (89%) rename src/api/resources/{sectionVersions => newSectionVersions}/client/index.ts (100%) rename src/api/resources/{sectionVersions => newSectionVersions}/index.ts (100%) rename src/api/resources/{templateVersions => newTemplateVersions}/client/Client.ts (89%) rename src/api/resources/{templateVersions => newTemplateVersions}/client/index.ts (100%) rename src/api/resources/{templateVersions => newTemplateVersions}/client/requests/CreateTemplateVersionRequest.ts (100%) rename src/api/resources/{templateVersions => newTemplateVersions}/client/requests/index.ts (100%) rename src/api/resources/{sections => newTemplateVersions}/index.ts (100%) delete mode 100644 src/api/resources/sections/client/Client.ts delete mode 100644 src/api/resources/sections/client/index.ts rename src/serialization/resources/{sectionVersions => newSectionVersions}/client/index.ts (100%) rename src/serialization/resources/{sectionVersions => newSectionVersions}/client/list.ts (90%) rename src/{api/resources/templateVersions => serialization/resources/newSectionVersions}/index.ts (100%) rename src/serialization/resources/{templateVersions => newTemplateVersions}/client/index.ts (100%) rename src/serialization/resources/{templateVersions => newTemplateVersions}/client/list.ts (90%) rename src/serialization/resources/{templateVersions => newTemplateVersions}/client/requests/CreateTemplateVersionRequest.ts (100%) rename src/serialization/resources/{templateVersions => newTemplateVersions}/client/requests/index.ts (100%) rename src/serialization/resources/{sectionVersions => newTemplateVersions}/index.ts (100%) delete mode 100644 src/serialization/resources/templateVersions/index.ts delete mode 100644 tests/wire/main.test.ts rename tests/wire/{sectionVersions.test.ts => newSectionVersions.test.ts} (93%) rename tests/wire/{templateVersions.test.ts => newTemplateVersions.test.ts} (94%) delete mode 100644 tests/wire/sections.test.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 0932a41d..beec1656 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "84e606178e0459386b2f285a5f1b29d05bc3dd9f", + "originGitCommit": "35f899d93d00442c369cd5ce4ab3278bd827e7b0", "sdkVersion": "0.0.0-dev" } diff --git a/src/Client.ts b/src/Client.ts index 91c6f47e..2fdf2dcc 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -7,21 +7,16 @@ import { DocumentsClient } from "./api/resources/documents/client/Client.js"; import { FactsClient } from "./api/resources/facts/client/Client.js"; import { InteractionsClient } from "./api/resources/interactions/client/Client.js"; import { NewSectionsClient } from "./api/resources/newSections/client/Client.js"; +import { NewSectionVersionsClient } from "./api/resources/newSectionVersions/client/Client.js"; import { NewTemplatesClient } from "./api/resources/newTemplates/client/Client.js"; +import { NewTemplateVersionsClient } from "./api/resources/newTemplateVersions/client/Client.js"; import { RecordingsClient } from "./api/resources/recordings/client/Client.js"; -import { SectionsClient } from "./api/resources/sections/client/Client.js"; -import { SectionVersionsClient } from "./api/resources/sectionVersions/client/Client.js"; import { StreamClient } from "./api/resources/stream/client/Client.js"; import { TemplatesClient } from "./api/resources/templates/client/Client.js"; -import { TemplateVersionsClient } from "./api/resources/templateVersions/client/Client.js"; import { TranscribeClient } from "./api/resources/transcribe/client/Client.js"; import { TranscriptsClient } from "./api/resources/transcripts/client/Client.js"; import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js"; import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "./BaseClient.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "./core/headers.js"; -import * as core from "./core/index.js"; -import { handleNonStatusCodeError } from "./errors/handleNonStatusCodeError.js"; -import * as errors from "./errors/index.js"; export declare namespace CortiClient { export type Options = BaseClientOptions; @@ -40,10 +35,9 @@ export class CortiClient { protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; protected _newTemplates: NewTemplatesClient | undefined; - protected _templateVersions: TemplateVersionsClient | undefined; - protected _sections: SectionsClient | undefined; + protected _newTemplateVersions: NewTemplateVersionsClient | undefined; protected _newSections: NewSectionsClient | undefined; - protected _sectionVersions: SectionVersionsClient | undefined; + protected _newSectionVersions: NewSectionVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -88,20 +82,16 @@ export class CortiClient { return (this._newTemplates ??= new NewTemplatesClient(this._options)); } - public get templateVersions(): TemplateVersionsClient { - return (this._templateVersions ??= new TemplateVersionsClient(this._options)); - } - - public get sections(): SectionsClient { - return (this._sections ??= new SectionsClient(this._options)); + public get newTemplateVersions(): NewTemplateVersionsClient { + return (this._newTemplateVersions ??= new NewTemplateVersionsClient(this._options)); } public get newSections(): NewSectionsClient { return (this._newSections ??= new NewSectionsClient(this._options)); } - public get sectionVersions(): SectionVersionsClient { - return (this._sectionVersions ??= new SectionVersionsClient(this._options)); + public get newSectionVersions(): NewSectionVersionsClient { + return (this._newSectionVersions ??= new NewSectionVersionsClient(this._options)); } public get agents(): AgentsClient { @@ -115,196 +105,4 @@ export class CortiClient { public get transcribe(): TranscribeClient { return (this._transcribe ??= new TranscribeClient(this._options)); } - - /** - * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.getNewTemplates() - */ - public getNewTemplates(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__getNewTemplates(requestOptions)); - } - - private async __getNewTemplates(requestOptions?: CortiClient.RequestOptions): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - "new/templates/", - ), - method: "GET", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - 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, - }); - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/"); - } - - /** - * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.postNewTemplates() - */ - public postNewTemplates(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__postNewTemplates(requestOptions)); - } - - private async __postNewTemplates(requestOptions?: CortiClient.RequestOptions): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - "new/templates/", - ), - method: "POST", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - 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, - }); - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates/"); - } - - /** - * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.getNewSections() - */ - public getNewSections(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__getNewSections(requestOptions)); - } - - private async __getNewSections(requestOptions?: CortiClient.RequestOptions): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - "new/sections/", - ), - method: "GET", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - 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, - }); - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/"); - } - - /** - * @param {CortiClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @example - * await client.postNewSections() - */ - public postNewSections(requestOptions?: CortiClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__postNewSections(requestOptions)); - } - - private async __postNewSections(requestOptions?: CortiClient.RequestOptions): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - "new/sections/", - ), - method: "POST", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - 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, - }); - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections/"); - } } diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index ecff6789..74821245 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -14,16 +14,15 @@ export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; export * from "./newSections/client/requests/index.js"; export * as newSections from "./newSections/index.js"; +export * as newSectionVersions from "./newSectionVersions/index.js"; export * from "./newTemplates/client/requests/index.js"; export * as newTemplates from "./newTemplates/index.js"; +export * from "./newTemplateVersions/client/requests/index.js"; +export * as newTemplateVersions from "./newTemplateVersions/index.js"; export * as recordings from "./recordings/index.js"; -export * as sections from "./sections/index.js"; -export * as sectionVersions from "./sectionVersions/index.js"; export * as stream from "./stream/index.js"; export * from "./templates/client/requests/index.js"; export * as templates from "./templates/index.js"; -export * from "./templateVersions/client/requests/index.js"; -export * as templateVersions from "./templateVersions/index.js"; export * as transcribe from "./transcribe/index.js"; export * from "./transcripts/client/requests/index.js"; export * as transcripts from "./transcripts/index.js"; diff --git a/src/api/resources/sectionVersions/client/Client.ts b/src/api/resources/newSectionVersions/client/Client.ts similarity index 89% rename from src/api/resources/sectionVersions/client/Client.ts rename to src/api/resources/newSectionVersions/client/Client.ts index 39f3d109..8ef8cfa9 100644 --- a/src/api/resources/sectionVersions/client/Client.ts +++ b/src/api/resources/newSectionVersions/client/Client.ts @@ -9,38 +9,38 @@ import * as errors from "../../../../errors/index.js"; import * as serializers from "../../../../serialization/index.js"; import * as Corti from "../../../index.js"; -export declare namespace SectionVersionsClient { +export declare namespace NewSectionVersionsClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class SectionVersionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class NewSectionVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: SectionVersionsClient.Options) { + constructor(options: NewSectionVersionsClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} sectionID - * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.sectionVersions.list("sectionID") + * await client.newSectionVersions.list("sectionID") */ public list( sectionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); } private async __list( sectionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -66,7 +66,7 @@ export class SectionVersionsClient { }); if (_response.ok) { return { - data: serializers.sectionVersions.list.Response.parseOrThrow(_response.body, { + data: serializers.newSectionVersions.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -101,13 +101,13 @@ export class SectionVersionsClient { /** * @param {string} sectionID * @param {Corti.CreateSectionVersionRequest} request - * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.sectionVersions.create("sectionID", { + * await client.newSectionVersions.create("sectionID", { * title: "title", * instructions: { * contentPrompt: "contentPrompt", @@ -118,7 +118,7 @@ export class SectionVersionsClient { public create( sectionID: string, request: Corti.CreateSectionVersionRequest, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); } @@ -126,7 +126,7 @@ export class SectionVersionsClient { private async __create( sectionID: string, request: Corti.CreateSectionVersionRequest, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -195,17 +195,17 @@ export class SectionVersionsClient { /** * @param {string} sectionID * @param {string} versionID - * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.sectionVersions.get("sectionID", "versionID") + * await client.newSectionVersions.get("sectionID", "versionID") */ public get( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); } @@ -213,7 +213,7 @@ export class SectionVersionsClient { private async __get( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -274,17 +274,17 @@ export class SectionVersionsClient { /** * @param {string} sectionID * @param {string} versionID - * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.sectionVersions.delete("sectionID", "versionID") + * await client.newSectionVersions.delete("sectionID", "versionID") */ public delete( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); } @@ -292,7 +292,7 @@ export class SectionVersionsClient { private async __delete( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -346,17 +346,17 @@ export class SectionVersionsClient { * * @param {string} sectionID * @param {string} versionID - * @param {SectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.sectionVersions.publish("sectionID", "versionID") + * await client.newSectionVersions.publish("sectionID", "versionID") */ public publish( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); } @@ -364,7 +364,7 @@ export class SectionVersionsClient { private async __publish( sectionID: string, versionID: string, - requestOptions?: SectionVersionsClient.RequestOptions, + requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/sectionVersions/client/index.ts b/src/api/resources/newSectionVersions/client/index.ts similarity index 100% rename from src/api/resources/sectionVersions/client/index.ts rename to src/api/resources/newSectionVersions/client/index.ts diff --git a/src/api/resources/sectionVersions/index.ts b/src/api/resources/newSectionVersions/index.ts similarity index 100% rename from src/api/resources/sectionVersions/index.ts rename to src/api/resources/newSectionVersions/index.ts diff --git a/src/api/resources/newSections/client/Client.ts b/src/api/resources/newSections/client/Client.ts index 54c74f9d..296316b1 100644 --- a/src/api/resources/newSections/client/Client.ts +++ b/src/api/resources/newSections/client/Client.ts @@ -22,6 +22,139 @@ export class NewSectionsClient { this._options = normalizeClientOptionsWithAuth(options); } + /** + * @param {string} sectionID + * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newSections.get("sectionID") + */ + public get( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); + } + + private async __get( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Section.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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); + } + + /** + * @param {string} sectionID + * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newSections.delete("sectionID") + */ + public delete( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); + } + + private async __delete( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/sections/${core.url.encodePathParam(sectionID)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); + } + /** * @param {string} sectionID * @param {Corti.UpdateSectionRequest} request @@ -104,4 +237,100 @@ export class NewSectionsClient { return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); } + + /** + * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.newSections.list() + */ + public list(requestOptions?: NewSectionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list(requestOptions?: NewSectionsClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/sections/", + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/"); + } + + /** + * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.newSections.create() + */ + public create(requestOptions?: NewSectionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + } + + private async __create(requestOptions?: NewSectionsClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/sections/", + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections/"); + } } diff --git a/src/api/resources/templateVersions/client/Client.ts b/src/api/resources/newTemplateVersions/client/Client.ts similarity index 89% rename from src/api/resources/templateVersions/client/Client.ts rename to src/api/resources/newTemplateVersions/client/Client.ts index 3979d76e..2926095d 100644 --- a/src/api/resources/templateVersions/client/Client.ts +++ b/src/api/resources/newTemplateVersions/client/Client.ts @@ -9,38 +9,38 @@ import * as errors from "../../../../errors/index.js"; import * as serializers from "../../../../serialization/index.js"; import * as Corti from "../../../index.js"; -export declare namespace TemplateVersionsClient { +export declare namespace NewTemplateVersionsClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class TemplateVersionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class NewTemplateVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: TemplateVersionsClient.Options) { + constructor(options: NewTemplateVersionsClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} templateId - * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.templateVersions.list("templateId") + * await client.newTemplateVersions.list("templateId") */ public list( templateId: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(templateId, requestOptions)); } private async __list( templateId: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -66,7 +66,7 @@ export class TemplateVersionsClient { }); if (_response.ok) { return { - data: serializers.templateVersions.list.Response.parseOrThrow(_response.body, { + data: serializers.newTemplateVersions.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -101,18 +101,18 @@ export class TemplateVersionsClient { /** * @param {string} templateId * @param {Corti.CreateTemplateVersionRequest} request - * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.templateVersions.create("templateId") + * await client.newTemplateVersions.create("templateId") */ public create( templateId: string, request: Corti.CreateTemplateVersionRequest = {}, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(templateId, request, requestOptions)); } @@ -120,7 +120,7 @@ export class TemplateVersionsClient { private async __create( templateId: string, request: Corti.CreateTemplateVersionRequest = {}, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -189,17 +189,17 @@ export class TemplateVersionsClient { /** * @param {string} templateId * @param {string} versionID - * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.templateVersions.get("templateId", "versionID") + * await client.newTemplateVersions.get("templateId", "versionID") */ public get( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateId, versionID, requestOptions)); } @@ -207,7 +207,7 @@ export class TemplateVersionsClient { private async __get( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -268,17 +268,17 @@ export class TemplateVersionsClient { /** * @param {string} templateId * @param {string} versionID - * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.templateVersions.delete("templateId", "versionID") + * await client.newTemplateVersions.delete("templateId", "versionID") */ public delete( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(templateId, versionID, requestOptions)); } @@ -286,7 +286,7 @@ export class TemplateVersionsClient { private async __delete( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -340,17 +340,17 @@ export class TemplateVersionsClient { * * @param {string} templateId * @param {string} versionID - * @param {TemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.templateVersions.publish("templateId", "versionID") + * await client.newTemplateVersions.publish("templateId", "versionID") */ public publish( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__publish(templateId, versionID, requestOptions)); } @@ -358,7 +358,7 @@ export class TemplateVersionsClient { private async __publish( templateId: string, versionID: string, - requestOptions?: TemplateVersionsClient.RequestOptions, + requestOptions?: NewTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/templateVersions/client/index.ts b/src/api/resources/newTemplateVersions/client/index.ts similarity index 100% rename from src/api/resources/templateVersions/client/index.ts rename to src/api/resources/newTemplateVersions/client/index.ts diff --git a/src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts similarity index 100% rename from src/api/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts rename to src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts diff --git a/src/api/resources/templateVersions/client/requests/index.ts b/src/api/resources/newTemplateVersions/client/requests/index.ts similarity index 100% rename from src/api/resources/templateVersions/client/requests/index.ts rename to src/api/resources/newTemplateVersions/client/requests/index.ts diff --git a/src/api/resources/sections/index.ts b/src/api/resources/newTemplateVersions/index.ts similarity index 100% rename from src/api/resources/sections/index.ts rename to src/api/resources/newTemplateVersions/index.ts diff --git a/src/api/resources/newTemplates/client/Client.ts b/src/api/resources/newTemplates/client/Client.ts index 3281946e..fb557f16 100644 --- a/src/api/resources/newTemplates/client/Client.ts +++ b/src/api/resources/newTemplates/client/Client.ts @@ -22,6 +22,144 @@ export class NewTemplatesClient { this._options = normalizeClientOptionsWithAuth(options); } + /** + * @param {string} templateId + * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newTemplates.get("templateId") + */ + public get( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); + } + + private async __get( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.Template.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, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); + } + + /** + * @param {string} templateId + * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.NotFoundError} + * + * @example + * await client.newTemplates.delete("templateId") + */ + public delete( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateId, requestOptions)); + } + + private async __delete( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + `new/templates/${core.url.encodePathParam(templateId)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, 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, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/new/templates/{templateId}", + ); + } + /** * @param {string} templateId * @param {Corti.UpdateTemplateRequest} request @@ -104,4 +242,100 @@ export class NewTemplatesClient { return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); } + + /** + * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.newTemplates.list() + */ + public list(requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list(requestOptions?: NewTemplatesClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/templates/", + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/"); + } + + /** + * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.newTemplates.create() + */ + public create(requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + } + + private async __create(requestOptions?: NewTemplatesClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "new/templates/", + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + 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, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates/"); + } } diff --git a/src/api/resources/sections/client/Client.ts b/src/api/resources/sections/client/Client.ts deleted file mode 100644 index 58bcbe57..00000000 --- a/src/api/resources/sections/client/Client.ts +++ /dev/null @@ -1,154 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; -import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; -import * as core from "../../../../core/index.js"; -import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -import * as errors from "../../../../errors/index.js"; -import * as serializers from "../../../../serialization/index.js"; -import * as Corti from "../../../index.js"; - -export declare namespace SectionsClient { - export type Options = BaseClientOptions; - - export interface RequestOptions extends BaseRequestOptions {} -} - -export class SectionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; - - constructor(options: SectionsClient.Options) { - this._options = normalizeClientOptionsWithAuth(options); - } - - /** - * @param {string} sectionID - * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.sections.get("sectionID") - */ - public get( - sectionID: string, - requestOptions?: SectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); - } - - private async __get( - sectionID: string, - requestOptions?: SectionsClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, - ), - method: "GET", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.Section.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, - }); - } - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); - } - - /** - * @param {string} sectionID - * @param {SectionsClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.sections.delete("sectionID") - */ - public delete(sectionID: string, requestOptions?: SectionsClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); - } - - private async __delete( - sectionID: string, - requestOptions?: SectionsClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, - ), - method: "DELETE", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { data: undefined, 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, - }); - } - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); - } -} diff --git a/src/api/resources/sections/client/index.ts b/src/api/resources/sections/client/index.ts deleted file mode 100644 index cb0ff5c3..00000000 --- a/src/api/resources/sections/client/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/src/api/resources/templates/client/Client.ts b/src/api/resources/templates/client/Client.ts index e324356e..3a109232 100644 --- a/src/api/resources/templates/client/Client.ts +++ b/src/api/resources/templates/client/Client.ts @@ -287,142 +287,4 @@ export class TemplatesClient { return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/templates/{key}"); } - - /** - * @param {string} templateId - * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.templates.newTemplatesGet("templateId") - */ - public newTemplatesGet( - templateId: string, - requestOptions?: TemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__newTemplatesGet(templateId, requestOptions)); - } - - private async __newTemplatesGet( - templateId: string, - requestOptions?: TemplatesClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, - ), - method: "GET", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: serializers.Template.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, - }); - } - } - - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); - } - - /** - * @param {string} templateId - * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. - * - * @throws {@link Corti.NotFoundError} - * - * @example - * await client.templates.newTemplatesDelete("templateId") - */ - public newTemplatesDelete( - templateId: string, - requestOptions?: TemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__newTemplatesDelete(templateId, requestOptions)); - } - - private async __newTemplatesDelete( - templateId: string, - requestOptions?: TemplatesClient.RequestOptions, - ): Promise> { - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - const _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), - requestOptions?.headers, - ); - const _response = await core.fetcher({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, - ), - method: "DELETE", - headers: _headers, - queryParameters: requestOptions?.queryParams, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { data: undefined, 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, - }); - } - } - - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/new/templates/{templateId}", - ); - } } diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 4694806f..28ac3b2e 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -14,13 +14,13 @@ export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; export * from "./newSections/client/requests/index.js"; export * as newSections from "./newSections/index.js"; +export * as newSectionVersions from "./newSectionVersions/index.js"; export * from "./newTemplates/client/requests/index.js"; export * as newTemplates from "./newTemplates/index.js"; -export * as sectionVersions from "./sectionVersions/index.js"; +export * from "./newTemplateVersions/client/requests/index.js"; +export * as newTemplateVersions from "./newTemplateVersions/index.js"; export * from "./stream/client/socket/index.js"; export * as stream from "./stream/index.js"; -export * from "./templateVersions/client/requests/index.js"; -export * as templateVersions from "./templateVersions/index.js"; export * from "./transcribe/client/socket/index.js"; export * as transcribe from "./transcribe/index.js"; export * from "./transcripts/client/requests/index.js"; diff --git a/src/serialization/resources/sectionVersions/client/index.ts b/src/serialization/resources/newSectionVersions/client/index.ts similarity index 100% rename from src/serialization/resources/sectionVersions/client/index.ts rename to src/serialization/resources/newSectionVersions/client/index.ts diff --git a/src/serialization/resources/sectionVersions/client/list.ts b/src/serialization/resources/newSectionVersions/client/list.ts similarity index 90% rename from src/serialization/resources/sectionVersions/client/list.ts rename to src/serialization/resources/newSectionVersions/client/list.ts index 2bd59508..cb58b027 100644 --- a/src/serialization/resources/sectionVersions/client/list.ts +++ b/src/serialization/resources/newSectionVersions/client/list.ts @@ -6,7 +6,7 @@ import type * as serializers from "../../../index.js"; import { SectionVersion } from "../../../types/SectionVersion.js"; export const Response: core.serialization.Schema< - serializers.sectionVersions.list.Response.Raw, + serializers.newSectionVersions.list.Response.Raw, Corti.SectionVersion[] > = core.serialization.list(SectionVersion); diff --git a/src/api/resources/templateVersions/index.ts b/src/serialization/resources/newSectionVersions/index.ts similarity index 100% rename from src/api/resources/templateVersions/index.ts rename to src/serialization/resources/newSectionVersions/index.ts diff --git a/src/serialization/resources/templateVersions/client/index.ts b/src/serialization/resources/newTemplateVersions/client/index.ts similarity index 100% rename from src/serialization/resources/templateVersions/client/index.ts rename to src/serialization/resources/newTemplateVersions/client/index.ts diff --git a/src/serialization/resources/templateVersions/client/list.ts b/src/serialization/resources/newTemplateVersions/client/list.ts similarity index 90% rename from src/serialization/resources/templateVersions/client/list.ts rename to src/serialization/resources/newTemplateVersions/client/list.ts index 0a99c69d..46dfccd4 100644 --- a/src/serialization/resources/templateVersions/client/list.ts +++ b/src/serialization/resources/newTemplateVersions/client/list.ts @@ -6,7 +6,7 @@ import type * as serializers from "../../../index.js"; import { TemplateVersion } from "../../../types/TemplateVersion.js"; export const Response: core.serialization.Schema< - serializers.templateVersions.list.Response.Raw, + serializers.newTemplateVersions.list.Response.Raw, Corti.TemplateVersion[] > = core.serialization.list(TemplateVersion); diff --git a/src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts similarity index 100% rename from src/serialization/resources/templateVersions/client/requests/CreateTemplateVersionRequest.ts rename to src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts diff --git a/src/serialization/resources/templateVersions/client/requests/index.ts b/src/serialization/resources/newTemplateVersions/client/requests/index.ts similarity index 100% rename from src/serialization/resources/templateVersions/client/requests/index.ts rename to src/serialization/resources/newTemplateVersions/client/requests/index.ts diff --git a/src/serialization/resources/sectionVersions/index.ts b/src/serialization/resources/newTemplateVersions/index.ts similarity index 100% rename from src/serialization/resources/sectionVersions/index.ts rename to src/serialization/resources/newTemplateVersions/index.ts diff --git a/src/serialization/resources/templateVersions/index.ts b/src/serialization/resources/templateVersions/index.ts deleted file mode 100644 index 914b8c3c..00000000 --- a/src/serialization/resources/templateVersions/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./client/index.js"; diff --git a/tests/wire/main.test.ts b/tests/wire/main.test.ts deleted file mode 100644 index d79471cc..00000000 --- a/tests/wire/main.test.ts +++ /dev/null @@ -1,79 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import { CortiClient } from "../../src/Client"; -import { mockServerPool } from "../mock-server/MockServerPool"; -import { mockOAuth } from "./mockAuth"; - -describe("CortiClient", () => { - test("getNewTemplates", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/new/templates/").respondWith().statusCode(200).build(); - - const response = await client.getNewTemplates(); - expect(response).toEqual(undefined); - }); - - test("postNewTemplates", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/new/templates/").respondWith().statusCode(200).build(); - - const response = await client.postNewTemplates(); - expect(response).toEqual(undefined); - }); - - test("getNewSections", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/new/sections/").respondWith().statusCode(200).build(); - - const response = await client.getNewSections(); - expect(response).toEqual(undefined); - }); - - test("postNewSections", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/new/sections/").respondWith().statusCode(200).build(); - - const response = await client.postNewSections(); - expect(response).toEqual(undefined); - }); -}); diff --git a/tests/wire/sectionVersions.test.ts b/tests/wire/newSectionVersions.test.ts similarity index 93% rename from tests/wire/sectionVersions.test.ts rename to tests/wire/newSectionVersions.test.ts index d6dbecef..01193e55 100644 --- a/tests/wire/sectionVersions.test.ts +++ b/tests/wire/newSectionVersions.test.ts @@ -5,7 +5,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("SectionVersionsClient", () => { +describe("NewSectionVersionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -42,7 +42,7 @@ describe("SectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.sectionVersions.list("sectionID"); + const response = await client.newSectionVersions.list("sectionID"); expect(response).toEqual([ { id: "id", @@ -86,7 +86,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.list("sectionID"); + return await client.newSectionVersions.list("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -128,7 +128,7 @@ describe("SectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.sectionVersions.create("sectionID", { + const response = await client.newSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -180,7 +180,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.create("sectionID", { + return await client.newSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -217,7 +217,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.create("sectionID", { + return await client.newSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -261,7 +261,7 @@ describe("SectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.sectionVersions.get("sectionID", "versionID"); + const response = await client.newSectionVersions.get("sectionID", "versionID"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -303,7 +303,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.get("sectionID", "versionID"); + return await client.newSectionVersions.get("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -326,7 +326,7 @@ describe("SectionVersionsClient", () => { .statusCode(200) .build(); - const response = await client.sectionVersions.delete("sectionID", "versionID"); + const response = await client.newSectionVersions.delete("sectionID", "versionID"); expect(response).toEqual(undefined); }); @@ -353,7 +353,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.delete("sectionID", "versionID"); + return await client.newSectionVersions.delete("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -379,7 +379,7 @@ describe("SectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.sectionVersions.publish("sectionID", "versionID"); + const response = await client.newSectionVersions.publish("sectionID", "versionID"); expect(response).toEqual({ status: "published", }); @@ -408,7 +408,7 @@ describe("SectionVersionsClient", () => { .build(); await expect(async () => { - return await client.sectionVersions.publish("sectionID", "versionID"); + return await client.newSectionVersions.publish("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/newSections.test.ts b/tests/wire/newSections.test.ts index 9e2d3705..16a7935a 100644 --- a/tests/wire/newSections.test.ts +++ b/tests/wire/newSections.test.ts @@ -6,6 +6,151 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("NewSectionsClient", () => { + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .get("/new/sections/sectionID") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newSections.get("sectionID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/sections/sectionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newSections.get("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().delete("/new/sections/sectionID").respondWith().statusCode(200).build(); + + const response = await client.newSections.delete("sectionID"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/sections/sectionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newSections.delete("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + test("update (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -135,4 +280,40 @@ describe("NewSectionsClient", () => { return await client.newSections.update("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); + + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/new/sections/").respondWith().statusCode(200).build(); + + const response = await client.newSections.list(); + expect(response).toEqual(undefined); + }); + + test("create", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/new/sections/").respondWith().statusCode(200).build(); + + const response = await client.newSections.create(); + expect(response).toEqual(undefined); + }); }); diff --git a/tests/wire/templateVersions.test.ts b/tests/wire/newTemplateVersions.test.ts similarity index 94% rename from tests/wire/templateVersions.test.ts rename to tests/wire/newTemplateVersions.test.ts index 797cb89f..1d2bec97 100644 --- a/tests/wire/templateVersions.test.ts +++ b/tests/wire/newTemplateVersions.test.ts @@ -5,7 +5,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("TemplateVersionsClient", () => { +describe("NewTemplateVersionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -51,7 +51,7 @@ describe("TemplateVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.templateVersions.list("templateId"); + const response = await client.newTemplateVersions.list("templateId"); expect(response).toEqual([ { id: "id", @@ -108,7 +108,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.list("templateId"); + return await client.newTemplateVersions.list("templateId"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -158,7 +158,7 @@ describe("TemplateVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.templateVersions.create("templateId"); + const response = await client.newTemplateVersions.create("templateId"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -216,7 +216,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.create("templateId"); + return await client.newTemplateVersions.create("templateId"); }).rejects.toThrow(Corti.BadRequestError); }); @@ -244,7 +244,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.create("templateId"); + return await client.newTemplateVersions.create("templateId"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -293,7 +293,7 @@ describe("TemplateVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.templateVersions.get("templateId", "versionID"); + const response = await client.newTemplateVersions.get("templateId", "versionID"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -350,7 +350,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.get("templateId", "versionID"); + return await client.newTemplateVersions.get("templateId", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -373,7 +373,7 @@ describe("TemplateVersionsClient", () => { .statusCode(200) .build(); - const response = await client.templateVersions.delete("templateId", "versionID"); + const response = await client.newTemplateVersions.delete("templateId", "versionID"); expect(response).toEqual(undefined); }); @@ -400,7 +400,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.delete("templateId", "versionID"); + return await client.newTemplateVersions.delete("templateId", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -426,7 +426,7 @@ describe("TemplateVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.templateVersions.publish("templateId", "versionID"); + const response = await client.newTemplateVersions.publish("templateId", "versionID"); expect(response).toEqual({ status: "published", }); @@ -455,7 +455,7 @@ describe("TemplateVersionsClient", () => { .build(); await expect(async () => { - return await client.templateVersions.publish("templateId", "versionID"); + return await client.newTemplateVersions.publish("templateId", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/newTemplates.test.ts b/tests/wire/newTemplates.test.ts index a69fe52d..e978f7c4 100644 --- a/tests/wire/newTemplates.test.ts +++ b/tests/wire/newTemplates.test.ts @@ -6,6 +6,175 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("NewTemplatesClient", () => { + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .get("/new/templates/templateId") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newTemplates.get("templateId"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/new/templates/templateId") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newTemplates.get("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().delete("/new/templates/templateId").respondWith().statusCode(200).build(); + + const response = await client.newTemplates.delete("templateId"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/new/templates/templateId") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newTemplates.delete("templateId"); + }).rejects.toThrow(Corti.NotFoundError); + }); + test("update (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -159,4 +328,40 @@ describe("NewTemplatesClient", () => { return await client.newTemplates.update("templateId"); }).rejects.toThrow(Corti.NotFoundError); }); + + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/new/templates/").respondWith().statusCode(200).build(); + + const response = await client.newTemplates.list(); + expect(response).toEqual(undefined); + }); + + test("create", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/new/templates/").respondWith().statusCode(200).build(); + + const response = await client.newTemplates.create(); + expect(response).toEqual(undefined); + }); }); diff --git a/tests/wire/sections.test.ts b/tests/wire/sections.test.ts deleted file mode 100644 index b244c095..00000000 --- a/tests/wire/sections.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import * as Corti from "../../src/api/index"; -import { CortiClient } from "../../src/Client"; -import { mockServerPool } from "../mock-server/MockServerPool"; -import { mockOAuth } from "./mockAuth"; - -describe("SectionsClient", () => { - test("get (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .get("/new/sections/sectionID") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.sections.get("sectionID"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("get (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/new/sections/sectionID") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.sections.get("sectionID"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("delete (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().delete("/new/sections/sectionID").respondWith().statusCode(200).build(); - - const response = await client.sections.delete("sectionID"); - expect(response).toEqual(undefined); - }); - - test("delete (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .delete("/new/sections/sectionID") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.sections.delete("sectionID"); - }).rejects.toThrow(Corti.NotFoundError); - }); -}); diff --git a/tests/wire/templates.test.ts b/tests/wire/templates.test.ts index 496aa591..f81356be 100644 --- a/tests/wire/templates.test.ts +++ b/tests/wire/templates.test.ts @@ -349,173 +349,4 @@ describe("TemplatesClient", () => { return await client.templates.get("key"); }).rejects.toThrow(Corti.InternalServerError); }); - - test("new_templates_get (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .get("/new/templates/templateId") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.templates.newTemplatesGet("templateId"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("new_templates_get (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/new/templates/templateId") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.templates.newTemplatesGet("templateId"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("new_templates_delete (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().delete("/new/templates/templateId").respondWith().statusCode(200).build(); - - const response = await client.templates.newTemplatesDelete("templateId"); - expect(response).toEqual(undefined); - }); - - test("new_templates_delete (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .delete("/new/templates/templateId") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.templates.newTemplatesDelete("templateId"); - }).rejects.toThrow(Corti.NotFoundError); - }); }); From 006a9ec9de45d5f3eafa2545779d2836cf127e01 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:19:26 +0000 Subject: [PATCH 20/44] SDK regeneration --- .fern/metadata.json | 2 +- src/BaseClient.ts | 4 +- .../resources/newSections/client/Client.ts | 229 +++++++++------ .../client/requests/CreateSectionRequest.ts | 33 +++ .../client/requests/ListNewSectionsRequest.ts | 14 + .../newSections/client/requests/index.ts | 2 + .../resources/newTemplates/client/Client.ts | 232 +++++++++------ .../client/requests/CreateTemplateRequest.ts | 27 ++ .../requests/ListNewTemplatesRequest.ts | 14 + .../newTemplates/client/requests/index.ts | 2 + .../resources/newSections/client/index.ts | 1 + .../resources/newSections/client/list.ts | 13 + .../client/requests/CreateSectionRequest.ts | 31 ++ .../newSections/client/requests/index.ts | 1 + .../resources/newTemplates/client/index.ts | 1 + .../resources/newTemplates/client/list.ts | 13 + .../client/requests/CreateTemplateRequest.ts | 34 +++ .../newTemplates/client/requests/index.ts | 1 + tests/wire/newSections.test.ts | 233 ++++++++++++--- tests/wire/newTemplates.test.ts | 266 +++++++++++++++--- 20 files changed, 905 insertions(+), 248 deletions(-) create mode 100644 src/api/resources/newSections/client/requests/CreateSectionRequest.ts create mode 100644 src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts create mode 100644 src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts create mode 100644 src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts create mode 100644 src/serialization/resources/newSections/client/list.ts create mode 100644 src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts create mode 100644 src/serialization/resources/newTemplates/client/list.ts create mode 100644 src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index beec1656..6d07c45b 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "35f899d93d00442c369cd5ce4ab3278bd827e7b0", + "originGitCommit": "5ce205d81a7d096f33d37a8e2c00284f468cab9d", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 27d389e5..1b76cbaa 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/api/resources/newSections/client/Client.ts b/src/api/resources/newSections/client/Client.ts index 296316b1..a2a0e8c4 100644 --- a/src/api/resources/newSections/client/Client.ts +++ b/src/api/resources/newSections/client/Client.ts @@ -23,25 +23,29 @@ export class NewSectionsClient { } /** - * @param {string} sectionID + * @param {Corti.ListNewSectionsRequest} request * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.newSections.get("sectionID") + * await client.newSections.list() */ - public get( - sectionID: string, + public list( + request: Corti.ListNewSectionsRequest = {}, requestOptions?: NewSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } - private async __get( - sectionID: string, + private async __list( + request: Corti.ListNewSectionsRequest = {}, requestOptions?: NewSectionsClient.RequestOptions, - ): Promise> { + ): Promise> { + const { lang, label, published } = request; + const _queryParams: Record = { + lang, + label, + published, + }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,11 +57,11 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, + "new/sections", ), method: "GET", headers: _headers, - queryParameters: requestOptions?.queryParams, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -66,7 +70,7 @@ export class NewSectionsClient { }); if (_response.ok) { return { - data: serializers.Section.parseOrThrow(_response.body, { + data: serializers.newSections.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -78,41 +82,46 @@ export class NewSectionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections"); } /** - * @param {string} sectionID + * @param {Corti.CreateSectionRequest} request * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} + * @throws {@link Corti.BadRequestError} * * @example - * await client.newSections.delete("sectionID") + * await client.newSections.create({ + * name: "name", + * language: "language", + * generation: { + * title: "title", + * instructions: { + * contentPrompt: "contentPrompt", + * writingStylePrompt: "writingStylePrompt" + * } + * } + * }) */ - public delete( - sectionID: string, + public create( + request: Corti.CreateSectionRequest, requestOptions?: NewSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } - private async __delete( - sectionID: string, + private async __create( + request: Corti.CreateSectionRequest, requestOptions?: NewSectionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -124,11 +133,17 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, + "new/sections", ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -136,13 +151,22 @@ export class NewSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Section.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); + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -152,31 +176,27 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections"); } /** * @param {string} sectionID - * @param {Corti.UpdateSectionRequest} request * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.newSections.update("sectionID") + * await client.newSections.get("sectionID") */ - public update( + public get( sectionID: string, - request: Corti.UpdateSectionRequest = {}, requestOptions?: NewSectionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); } - private async __update( + private async __get( sectionID: string, - request: Corti.UpdateSectionRequest = {}, requestOptions?: NewSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -192,15 +212,9 @@ export class NewSectionsClient { (await core.Supplier.get(this._options.environment)).base, `new/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "PATCH", + method: "GET", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateSectionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -222,8 +236,6 @@ export class NewSectionsClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { - case 400: - throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -235,20 +247,29 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); } /** + * @param {string} sectionID * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.newSections.list() + * await client.newSections.delete("sectionID") */ - public list(requestOptions?: NewSectionsClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + public delete( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); } - private async __list(requestOptions?: NewSectionsClient.RequestOptions): Promise> { + private async __delete( + sectionID: string, + requestOptions?: NewSectionsClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -260,9 +281,9 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/sections/", + `new/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -276,27 +297,45 @@ export class NewSectionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); } /** + * @param {string} sectionID + * @param {Corti.UpdateSectionRequest} request * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.newSections.create() + * await client.newSections.update("sectionID") */ - public create(requestOptions?: NewSectionsClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + public update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: NewSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); } - private async __create(requestOptions?: NewSectionsClient.RequestOptions): Promise> { + private async __update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: NewSectionsClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -308,11 +347,17 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/sections/", + `new/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "POST", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -320,17 +365,33 @@ export class NewSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Section.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections/"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); } } diff --git a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts new file mode 100644 index 00000000..74ddc04a --- /dev/null +++ b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts @@ -0,0 +1,33 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../index.js"; + +/** + * @example + * { + * name: "name", + * language: "language", + * generation: { + * title: "title", + * instructions: { + * contentPrompt: "contentPrompt", + * writingStylePrompt: "writingStylePrompt" + * } + * } + * } + */ +export interface CreateSectionRequest { + /** A human-readable identifier for this section. Not passed to the LLM. */ + name: string; + /** The intended language for outputs as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ + language: string; + /** A description for this section. Not passed to the LLM. */ + description?: string; + /** Labels work as query param filter in the LIST /sections endpoint. */ + labels?: string[]; + /** Reference to the section to inherit instructions and outputSchema from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ + inheritFromId?: string | null; + generation: Corti.CreateSectionVersionRequest; + /** Defaults to true when omitted. Set this to false if you do not want the section to automatically show up in LIST /sections. */ + publish?: boolean; +} diff --git a/src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts b/src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts new file mode 100644 index 00000000..7aeb734c --- /dev/null +++ b/src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface ListNewSectionsRequest { + /** Filter sections by language (BCP 47 tag). Repeatable. */ + lang?: string | string[]; + /** Filter sections by label. Repeatable; matches sections that have any of the given labels. */ + label?: string | string[]; + /** Filter by publish status. Defaults to true when omitted. */ + published?: boolean; +} diff --git a/src/api/resources/newSections/client/requests/index.ts b/src/api/resources/newSections/client/requests/index.ts index 9d16287f..b69d0bfe 100644 --- a/src/api/resources/newSections/client/requests/index.ts +++ b/src/api/resources/newSections/client/requests/index.ts @@ -1 +1,3 @@ +export type { CreateSectionRequest } from "./CreateSectionRequest.js"; +export type { ListNewSectionsRequest } from "./ListNewSectionsRequest.js"; export type { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/api/resources/newTemplates/client/Client.ts b/src/api/resources/newTemplates/client/Client.ts index fb557f16..f1343216 100644 --- a/src/api/resources/newTemplates/client/Client.ts +++ b/src/api/resources/newTemplates/client/Client.ts @@ -23,25 +23,29 @@ export class NewTemplatesClient { } /** - * @param {string} templateId + * @param {Corti.ListNewTemplatesRequest} request * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.newTemplates.get("templateId") + * await client.newTemplates.list() */ - public get( - templateId: string, + public list( + request: Corti.ListNewTemplatesRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } - private async __get( - templateId: string, + private async __list( + request: Corti.ListNewTemplatesRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { + const { lang, label, published } = request; + const _queryParams: Record = { + lang, + label, + published, + }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,11 +57,11 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, + "new/templates", ), method: "GET", headers: _headers, - queryParameters: requestOptions?.queryParams, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -66,7 +70,7 @@ export class NewTemplatesClient { }); if (_response.ok) { return { - data: serializers.Template.parseOrThrow(_response.body, { + data: serializers.newTemplates.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -78,41 +82,39 @@ export class NewTemplatesClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates"); } /** - * @param {string} templateId + * @param {Corti.CreateTemplateRequest} request * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} + * @throws {@link Corti.BadRequestError} * * @example - * await client.newTemplates.delete("templateId") + * await client.newTemplates.create({ + * name: "name", + * language: "language" + * }) */ - public delete( - templateId: string, + public create( + request: Corti.CreateTemplateRequest, requestOptions?: NewTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } - private async __delete( - templateId: string, + private async __create( + request: Corti.CreateTemplateRequest, requestOptions?: NewTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -124,11 +126,17 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, + "new/templates", ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -136,13 +144,22 @@ export class NewTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.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); + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -152,36 +169,27 @@ export class NewTemplatesClient { } } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/new/templates/{templateId}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates"); } /** * @param {string} templateId - * @param {Corti.UpdateTemplateRequest} request * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.newTemplates.update("templateId") + * await client.newTemplates.get("templateId") */ - public update( + public get( templateId: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(templateId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); } - private async __update( + private async __get( templateId: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -197,15 +205,9 @@ export class NewTemplatesClient { (await core.Supplier.get(this._options.environment)).base, `new/templates/${core.url.encodePathParam(templateId)}`, ), - method: "PATCH", + method: "GET", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -227,8 +229,6 @@ export class NewTemplatesClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { - case 400: - throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -240,20 +240,29 @@ export class NewTemplatesClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); } /** + * @param {string} templateId * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.newTemplates.list() + * await client.newTemplates.delete("templateId") */ - public list(requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + public delete( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateId, requestOptions)); } - private async __list(requestOptions?: NewTemplatesClient.RequestOptions): Promise> { + private async __delete( + templateId: string, + requestOptions?: NewTemplatesClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -265,9 +274,9 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/templates/", + `new/templates/${core.url.encodePathParam(templateId)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -281,27 +290,50 @@ export class NewTemplatesClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/new/templates/{templateId}", + ); } /** + * @param {string} templateId + * @param {Corti.UpdateTemplateRequest} request * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.newTemplates.create() + * await client.newTemplates.update("templateId") */ - public create(requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + public update( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: NewTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(templateId, request, requestOptions)); } - private async __create(requestOptions?: NewTemplatesClient.RequestOptions): Promise> { + private async __update( + templateId: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: NewTemplatesClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -313,11 +345,17 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/templates/", + `new/templates/${core.url.encodePathParam(templateId)}`, ), - method: "POST", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -325,17 +363,33 @@ export class NewTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates/"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); } } diff --git a/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts new file mode 100644 index 00000000..12850f1d --- /dev/null +++ b/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts @@ -0,0 +1,27 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../index.js"; + +/** + * @example + * { + * name: "name", + * language: "language" + * } + */ +export interface CreateTemplateRequest { + /** The name of this template. Not passed to the LLM. */ + name: string; + /** A description for this template. Not passed to the LLM. */ + description?: string; + /** The intended language for outputs as BCP 47 tag. Does not strictly have to match `outputLanguage` in POST /documents request. */ + language: string; + /** Labels work as query param filter in the LIST /templates endpoint. */ + labels?: string[]; + /** Reference to the template to inherit template instructions and sections from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ + inheritFromId?: string | null; + instructions?: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; + /** Defaults to true when omitted. Set this to false if you do not want the template to automatically show up in LIST templates. */ + publish?: boolean; +} diff --git a/src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts b/src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts new file mode 100644 index 00000000..c16d3cf3 --- /dev/null +++ b/src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface ListNewTemplatesRequest { + /** Filter templates by language (BCP 47 tag). Repeatable. */ + lang?: string | string[]; + /** Filter templates by label. Repeatable; matches templates that have any of the given labels. */ + label?: string | string[]; + /** Filter by publish status. Defaults to true when omitted. */ + published?: boolean; +} diff --git a/src/api/resources/newTemplates/client/requests/index.ts b/src/api/resources/newTemplates/client/requests/index.ts index ad5cb816..26348868 100644 --- a/src/api/resources/newTemplates/client/requests/index.ts +++ b/src/api/resources/newTemplates/client/requests/index.ts @@ -1 +1,3 @@ +export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; +export type { ListNewTemplatesRequest } from "./ListNewTemplatesRequest.js"; export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/newSections/client/index.ts b/src/serialization/resources/newSections/client/index.ts index 195f9aa8..cd155427 100644 --- a/src/serialization/resources/newSections/client/index.ts +++ b/src/serialization/resources/newSections/client/index.ts @@ -1 +1,2 @@ +export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/newSections/client/list.ts b/src/serialization/resources/newSections/client/list.ts new file mode 100644 index 00000000..448889a3 --- /dev/null +++ b/src/serialization/resources/newSections/client/list.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { Section } from "../../../types/Section.js"; + +export const Response: core.serialization.Schema = + core.serialization.list(Section); + +export declare namespace Response { + export type Raw = Section.Raw[]; +} diff --git a/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts b/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts new file mode 100644 index 00000000..2f8df0ed --- /dev/null +++ b/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts @@ -0,0 +1,31 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; +import { CreateSectionVersionRequest } from "../../../../types/CreateSectionVersionRequest.js"; + +export const CreateSectionRequest: core.serialization.Schema< + serializers.CreateSectionRequest.Raw, + Corti.CreateSectionRequest +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + description: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()).optional(), + inheritFromId: core.serialization.string().optionalNullable(), + generation: CreateSectionVersionRequest, + publish: core.serialization.boolean().optional(), +}); + +export declare namespace CreateSectionRequest { + export interface Raw { + name: string; + language: string; + description?: string | null; + labels?: string[] | null; + inheritFromId?: (string | null | undefined) | null; + generation: CreateSectionVersionRequest.Raw; + publish?: boolean | null; + } +} diff --git a/src/serialization/resources/newSections/client/requests/index.ts b/src/serialization/resources/newSections/client/requests/index.ts index a36d62ad..def830c7 100644 --- a/src/serialization/resources/newSections/client/requests/index.ts +++ b/src/serialization/resources/newSections/client/requests/index.ts @@ -1 +1,2 @@ +export { CreateSectionRequest } from "./CreateSectionRequest.js"; export { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/serialization/resources/newTemplates/client/index.ts b/src/serialization/resources/newTemplates/client/index.ts index 195f9aa8..cd155427 100644 --- a/src/serialization/resources/newTemplates/client/index.ts +++ b/src/serialization/resources/newTemplates/client/index.ts @@ -1 +1,2 @@ +export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/newTemplates/client/list.ts b/src/serialization/resources/newTemplates/client/list.ts new file mode 100644 index 00000000..bc4e09af --- /dev/null +++ b/src/serialization/resources/newTemplates/client/list.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { Template } from "../../../types/Template.js"; + +export const Response: core.serialization.Schema = + core.serialization.list(Template); + +export declare namespace Response { + export type Raw = Template.Raw[]; +} diff --git a/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts new file mode 100644 index 00000000..d03ce238 --- /dev/null +++ b/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts @@ -0,0 +1,34 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; +import { TemplateInstructions } from "../../../../types/TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "../../../../types/TemplateVersionSectionRequest.js"; + +export const CreateTemplateRequest: core.serialization.Schema< + serializers.CreateTemplateRequest.Raw, + Corti.CreateTemplateRequest +> = core.serialization.object({ + name: core.serialization.string(), + description: core.serialization.string().optional(), + language: core.serialization.string(), + labels: core.serialization.list(core.serialization.string()).optional(), + inheritFromId: core.serialization.string().optionalNullable(), + instructions: TemplateInstructions.optional(), + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), + publish: core.serialization.boolean().optional(), +}); + +export declare namespace CreateTemplateRequest { + export interface Raw { + name: string; + description?: string | null; + language: string; + labels?: string[] | null; + inheritFromId?: (string | null | undefined) | null; + instructions?: TemplateInstructions.Raw | null; + sections?: TemplateVersionSectionRequest.Raw[] | null; + publish?: boolean | null; + } +} diff --git a/src/serialization/resources/newTemplates/client/requests/index.ts b/src/serialization/resources/newTemplates/client/requests/index.ts index aa555e1b..0c267e8b 100644 --- a/src/serialization/resources/newTemplates/client/requests/index.ts +++ b/src/serialization/resources/newTemplates/client/requests/index.ts @@ -1 +1,2 @@ +export { CreateTemplateRequest } from "./CreateTemplateRequest.js"; export { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/tests/wire/newSections.test.ts b/tests/wire/newSections.test.ts index 16a7935a..23179cf1 100644 --- a/tests/wire/newSections.test.ts +++ b/tests/wire/newSections.test.ts @@ -6,6 +6,203 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("NewSectionsClient", () => { + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ]; + + server.mockEndpoint().get("/new/sections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + + const response = await client.newSections.list(); + expect(response).toEqual([ + { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ]); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + name: "name", + language: "language", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + }, + }; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .post("/new/sections") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newSections.create({ + name: "name", + language: "language", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + }, + }); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + name: "name", + language: "language", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + }, + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/sections") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newSections.create({ + name: "name", + language: "language", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + }, + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -280,40 +477,4 @@ describe("NewSectionsClient", () => { return await client.newSections.update("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/new/sections/").respondWith().statusCode(200).build(); - - const response = await client.newSections.list(); - expect(response).toEqual(undefined); - }); - - test("create", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/new/sections/").respondWith().statusCode(200).build(); - - const response = await client.newSections.create(); - expect(response).toEqual(undefined); - }); }); diff --git a/tests/wire/newTemplates.test.ts b/tests/wire/newTemplates.test.ts index e978f7c4..0b6ea735 100644 --- a/tests/wire/newTemplates.test.ts +++ b/tests/wire/newTemplates.test.ts @@ -6,6 +6,236 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("NewTemplatesClient", () => { + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ]; + + server.mockEndpoint().get("/new/templates").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + + const response = await client.newTemplates.list(); + expect(response).toEqual([ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ]); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { name: "name", language: "language" }; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .post("/new/templates") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.newTemplates.create({ + name: "name", + language: "language", + }); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { name: "name", language: "language" }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/new/templates") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.newTemplates.create({ + name: "name", + language: "language", + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -328,40 +558,4 @@ describe("NewTemplatesClient", () => { return await client.newTemplates.update("templateId"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/new/templates/").respondWith().statusCode(200).build(); - - const response = await client.newTemplates.list(); - expect(response).toEqual(undefined); - }); - - test("create", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/new/templates/").respondWith().statusCode(200).build(); - - const response = await client.newTemplates.create(); - expect(response).toEqual(undefined); - }); }); From 5e57d7de2149ecc30695611600d70ee96b3143ca Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:21:13 +0000 Subject: [PATCH 21/44] SDK regeneration --- .fern/metadata.json | 2 +- .../newSections/client/requests/CreateSectionRequest.ts | 2 +- src/api/types/Section.ts | 8 ++++++++ src/api/types/SectionVersion.ts | 1 + src/api/types/Template.ts | 9 +++++++++ src/api/types/TemplateVersion.ts | 2 ++ 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 6d07c45b..2479600e 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "5ce205d81a7d096f33d37a8e2c00284f468cab9d", + "originGitCommit": "4b644d6c42683c44d99fa9cffbfa310b4ba9a8ba", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts index 74ddc04a..1ee469e9 100644 --- a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts +++ b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts @@ -25,7 +25,7 @@ export interface CreateSectionRequest { description?: string; /** Labels work as query param filter in the LIST /sections endpoint. */ labels?: string[]; - /** Reference to the section to inherit instructions and outputSchema from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ + /** Reference to the section to inherit generation configuration from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ inheritFromId?: string | null; generation: Corti.CreateSectionVersionRequest; /** Defaults to true when omitted. Set this to false if you do not want the section to automatically show up in LIST /sections. */ diff --git a/src/api/types/Section.ts b/src/api/types/Section.ts index 6d15284c..68bf9f34 100644 --- a/src/api/types/Section.ts +++ b/src/api/types/Section.ts @@ -3,14 +3,22 @@ import type * as Corti from "../index.js"; export interface Section { + /** The UUID of the section. */ id: string; + /** Reference to the section to inherit generation configuration from. Inherits from published version by default. */ inheritedFromId?: string | null; + /** The name of the section. */ name: string; + /** The intended language for outputs as BCP 47 tag. */ language: string; + /** The description for the section. */ description?: string; + /** The labels available to use as query param filter in the LIST /sections endpoint. */ labels: string[]; /** Shows the currently published version of this section. */ publishedVersion?: Corti.SectionVersion; + /** The original timestamp when the section was created. */ createdAt: Date; + /** The original timestamp when the section was last updated. */ updatedAt: Date; } diff --git a/src/api/types/SectionVersion.ts b/src/api/types/SectionVersion.ts index 1022b2ad..352557da 100644 --- a/src/api/types/SectionVersion.ts +++ b/src/api/types/SectionVersion.ts @@ -3,6 +3,7 @@ import type * as Corti from "../index.js"; export interface SectionVersion { + /** The UUID of the section version. */ id: string; /** Starts a 0 and auto-increments. */ versionNumber: number; diff --git a/src/api/types/Template.ts b/src/api/types/Template.ts index 05f4268d..bd6525ad 100644 --- a/src/api/types/Template.ts +++ b/src/api/types/Template.ts @@ -3,14 +3,23 @@ import type * as Corti from "../index.js"; export interface Template { + /** The UUID of the template. */ id: string; + /** Reference to the template to inherit template instructions and sections from. Inherits from published version by default. */ inheritedFromId?: string | null; + /** True if the template was auto-generated based on the section-composed POST /documents request. */ autoGenerated?: boolean; + /** The name of this template. Not passed to the LLM. */ name: string; + /** A description for this template. Not passed to the LLM. */ description?: string; + /** The intended language as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ language: string; + /** The available labels to use as query param filter in the LIST /templates endpoint. */ labels: string[]; publishedVersion?: Corti.TemplateVersion; + /** The original timestamp when the template was created. */ createdAt: Date; + /** The original timestamp when the template was last updated. */ updatedAt: Date; } diff --git a/src/api/types/TemplateVersion.ts b/src/api/types/TemplateVersion.ts index ed1f4d93..242c051e 100644 --- a/src/api/types/TemplateVersion.ts +++ b/src/api/types/TemplateVersion.ts @@ -3,7 +3,9 @@ import type * as Corti from "../index.js"; export interface TemplateVersion { + /** The UUID of the version. */ id: string; + /** Starts a 0 and auto-increments. */ versionNumber: number; instructions: Corti.TemplateInstructions; /** Populated only on GET /new/templates/{id}/versions/{versionID} */ From 63d60dca740b488ab3e92425ae48427d9670970c Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:45:26 +0000 Subject: [PATCH 22/44] SDK regeneration --- .fern/metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 2479600e..1651c678 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.102.0", + "cliVersion": "4.103.0", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "4b644d6c42683c44d99fa9cffbfa310b4ba9a8ba", + "originGitCommit": "66ad639b5220332f0e4ce3e61a9ef91ae878dd81", "sdkVersion": "0.0.0-dev" } From 00c5a823cec044cc4b2bd24e518a9cfd355f9d7f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 5 May 2026 09:16:02 +0000 Subject: [PATCH 23/44] SDK regeneration --- .fern/metadata.json | 4 +- src/BaseClient.ts | 4 +- src/Client.ts | 10 +- src/api/resources/index.ts | 2 +- .../newSectionVersions/client/Client.ts | 31 +- .../resources/newSections/client/Client.ts | 28 +- .../client/requests/CreateSectionRequest.ts | 5 +- .../newTemplateVersions/client/Client.ts | 183 ++----- .../newTemplateVersions/client/index.ts | 2 +- .../requests/CreateTemplateVersionRequest.ts | 12 - .../client/requests/index.ts | 1 - .../resources/newTemplates/client/Client.ts | 130 ++--- .../client/requests/CreateTemplateRequest.ts | 10 +- .../client/requests/UpdateTemplateRequest.ts | 12 - .../newTemplates/client/requests/index.ts | 1 - src/api/resources/newTemplates/index.ts | 1 + .../types/CreateTemplateRequestGeneration.ts | 8 + src/api/resources/newTemplates/types/index.ts | 1 + src/api/types/CreateSectionVersionRequest.ts | 10 - src/api/types/Section.ts | 2 + src/api/types/SectionGeneration.ts | 11 + src/api/types/SectionVersion.ts | 8 +- src/api/types/TemplateGeneration.ts | 9 + src/api/types/TemplateVersion.ts | 6 +- .../types/TemplateVersionSectionRequest.ts | 5 +- src/api/types/index.ts | 3 +- src/serialization/resources/index.ts | 3 +- .../client/requests/CreateSectionRequest.ts | 6 +- .../newTemplateVersions/client/index.ts | 2 - .../newTemplateVersions/client/list.ts | 15 - .../requests/CreateTemplateVersionRequest.ts | 22 - .../client/requests/index.ts | 1 - .../resources/newTemplateVersions/index.ts | 1 - .../client/requests/CreateTemplateRequest.ts | 9 +- .../client/requests/UpdateTemplateRequest.ts | 24 - .../newTemplates/client/requests/index.ts | 1 - .../resources/newTemplates/index.ts | 1 + .../types/CreateTemplateRequestGeneration.ts | 22 + .../resources/newTemplates/types/index.ts | 1 + src/serialization/types/Section.ts | 2 + ...VersionRequest.ts => SectionGeneration.ts} | 12 +- src/serialization/types/SectionVersion.ts | 12 +- src/serialization/types/TemplateGeneration.ts | 22 + src/serialization/types/TemplateVersion.ts | 9 +- .../types/TemplateVersionSectionRequest.ts | 2 - src/serialization/types/index.ts | 3 +- tests/wire/newSectionVersions.test.ts | 150 +++--- tests/wire/newSections.test.ts | 156 +++--- tests/wire/newTemplateVersions.test.ts | 377 +------------- tests/wire/newTemplates.test.ts | 488 +++++------------- 50 files changed, 561 insertions(+), 1279 deletions(-) delete mode 100644 src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts delete mode 100644 src/api/resources/newTemplateVersions/client/requests/index.ts delete mode 100644 src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts create mode 100644 src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts create mode 100644 src/api/resources/newTemplates/types/index.ts delete mode 100644 src/api/types/CreateSectionVersionRequest.ts create mode 100644 src/api/types/SectionGeneration.ts create mode 100644 src/api/types/TemplateGeneration.ts delete mode 100644 src/serialization/resources/newTemplateVersions/client/index.ts delete mode 100644 src/serialization/resources/newTemplateVersions/client/list.ts delete mode 100644 src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts delete mode 100644 src/serialization/resources/newTemplateVersions/client/requests/index.ts delete mode 100644 src/serialization/resources/newTemplateVersions/index.ts delete mode 100644 src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts create mode 100644 src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts create mode 100644 src/serialization/resources/newTemplates/types/index.ts rename src/serialization/types/{CreateSectionVersionRequest.ts => SectionGeneration.ts} (64%) create mode 100644 src/serialization/types/TemplateGeneration.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 1651c678..c8d0af06 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.103.0", + "cliVersion": "5.10.1", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "66ad639b5220332f0e4ce3e61a9ef91ae878dd81", + "originGitCommit": "3849df84699e2fb81cc24d23ea6ee28526986aaa", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 1b76cbaa..27d389e5 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/Client.ts b/src/Client.ts index 2fdf2dcc..59aab4dc 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -35,9 +35,9 @@ export class CortiClient { protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; protected _newTemplates: NewTemplatesClient | undefined; - protected _newTemplateVersions: NewTemplateVersionsClient | undefined; protected _newSections: NewSectionsClient | undefined; protected _newSectionVersions: NewSectionVersionsClient | undefined; + protected _newTemplateVersions: NewTemplateVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -82,10 +82,6 @@ export class CortiClient { return (this._newTemplates ??= new NewTemplatesClient(this._options)); } - public get newTemplateVersions(): NewTemplateVersionsClient { - return (this._newTemplateVersions ??= new NewTemplateVersionsClient(this._options)); - } - public get newSections(): NewSectionsClient { return (this._newSections ??= new NewSectionsClient(this._options)); } @@ -94,6 +90,10 @@ export class CortiClient { return (this._newSectionVersions ??= new NewSectionVersionsClient(this._options)); } + public get newTemplateVersions(): NewTemplateVersionsClient { + return (this._newTemplateVersions ??= new NewTemplateVersionsClient(this._options)); + } + public get agents(): AgentsClient { return (this._agents ??= new AgentsClient(this._options)); } diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 74821245..9d7612ac 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -17,7 +17,7 @@ export * as newSections from "./newSections/index.js"; export * as newSectionVersions from "./newSectionVersions/index.js"; export * from "./newTemplates/client/requests/index.js"; export * as newTemplates from "./newTemplates/index.js"; -export * from "./newTemplateVersions/client/requests/index.js"; +export * from "./newTemplates/types/index.js"; export * as newTemplateVersions from "./newTemplateVersions/index.js"; export * as recordings from "./recordings/index.js"; export * as stream from "./stream/index.js"; diff --git a/src/api/resources/newSectionVersions/client/Client.ts b/src/api/resources/newSectionVersions/client/Client.ts index 8ef8cfa9..1bcb5e62 100644 --- a/src/api/resources/newSectionVersions/client/Client.ts +++ b/src/api/resources/newSectionVersions/client/Client.ts @@ -53,7 +53,7 @@ export class NewSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, ), method: "GET", headers: _headers, @@ -94,13 +94,13 @@ export class NewSectionVersionsClient { _response.error, _response.rawResponse, "GET", - "/new/sections/{sectionID}/versions", + "/alpha/sections/{sectionID}/versions", ); } /** * @param {string} sectionID - * @param {Corti.CreateSectionVersionRequest} request + * @param {Corti.SectionGeneration} request * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} @@ -112,12 +112,15 @@ export class NewSectionVersionsClient { * instructions: { * contentPrompt: "contentPrompt", * writingStylePrompt: "writingStylePrompt" + * }, + * outputSchema: { + * type: "string" * } * }) */ public create( sectionID: string, - request: Corti.CreateSectionVersionRequest, + request: Corti.SectionGeneration, requestOptions?: NewSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); @@ -125,7 +128,7 @@ export class NewSectionVersionsClient { private async __create( sectionID: string, - request: Corti.CreateSectionVersionRequest, + request: Corti.SectionGeneration, requestOptions?: NewSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -139,14 +142,14 @@ export class NewSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, ), method: "POST", headers: _headers, contentType: "application/json", queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.CreateSectionVersionRequest.jsonOrThrow(request, { + body: serializers.SectionGeneration.jsonOrThrow(request, { unrecognizedObjectKeys: "strip", omitUndefined: true, }), @@ -188,7 +191,7 @@ export class NewSectionVersionsClient { _response.error, _response.rawResponse, "POST", - "/new/sections/{sectionID}/versions", + "/alpha/sections/{sectionID}/versions", ); } @@ -226,7 +229,7 @@ export class NewSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "GET", headers: _headers, @@ -267,7 +270,7 @@ export class NewSectionVersionsClient { _response.error, _response.rawResponse, "GET", - "/new/sections/{sectionID}/versions/{versionID}", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } @@ -305,7 +308,7 @@ export class NewSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "DELETE", headers: _headers, @@ -337,7 +340,7 @@ export class NewSectionVersionsClient { _response.error, _response.rawResponse, "DELETE", - "/new/sections/{sectionID}/versions/{versionID}", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } @@ -377,7 +380,7 @@ export class NewSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), method: "POST", headers: _headers, @@ -418,7 +421,7 @@ export class NewSectionVersionsClient { _response.error, _response.rawResponse, "POST", - "/new/sections/{sectionID}/versions/{versionID}/publish", + "/alpha/sections/{sectionID}/versions/{versionID}/publish", ); } } diff --git a/src/api/resources/newSections/client/Client.ts b/src/api/resources/newSections/client/Client.ts index a2a0e8c4..bf71df0a 100644 --- a/src/api/resources/newSections/client/Client.ts +++ b/src/api/resources/newSections/client/Client.ts @@ -57,7 +57,7 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/sections", + "alpha/sections", ), method: "GET", headers: _headers, @@ -89,7 +89,7 @@ export class NewSectionsClient { }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections"); } /** @@ -107,6 +107,9 @@ export class NewSectionsClient { * instructions: { * contentPrompt: "contentPrompt", * writingStylePrompt: "writingStylePrompt" + * }, + * outputSchema: { + * type: "string" * } * } * }) @@ -133,7 +136,7 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/sections", + "alpha/sections", ), method: "POST", headers: _headers, @@ -176,7 +179,7 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/sections"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/sections"); } /** @@ -210,7 +213,7 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), method: "GET", headers: _headers, @@ -247,7 +250,7 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/{sectionID}"); } /** @@ -281,7 +284,7 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), method: "DELETE", headers: _headers, @@ -309,7 +312,12 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/new/sections/{sectionID}"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/alpha/sections/{sectionID}", + ); } /** @@ -347,7 +355,7 @@ export class NewSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/sections/${core.url.encodePathParam(sectionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), method: "PATCH", headers: _headers, @@ -392,6 +400,6 @@ export class NewSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/alpha/sections/{sectionID}"); } } diff --git a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts index 1ee469e9..b9c13c1d 100644 --- a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts +++ b/src/api/resources/newSections/client/requests/CreateSectionRequest.ts @@ -12,6 +12,9 @@ import type * as Corti from "../../../../index.js"; * instructions: { * contentPrompt: "contentPrompt", * writingStylePrompt: "writingStylePrompt" + * }, + * outputSchema: { + * type: "string" * } * } * } @@ -27,7 +30,7 @@ export interface CreateSectionRequest { labels?: string[]; /** Reference to the section to inherit generation configuration from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ inheritFromId?: string | null; - generation: Corti.CreateSectionVersionRequest; + generation: Corti.SectionGeneration; /** Defaults to true when omitted. Set this to false if you do not want the section to automatically show up in LIST /sections. */ publish?: boolean; } diff --git a/src/api/resources/newTemplateVersions/client/Client.ts b/src/api/resources/newTemplateVersions/client/Client.ts index 2926095d..f65992cc 100644 --- a/src/api/resources/newTemplateVersions/client/Client.ts +++ b/src/api/resources/newTemplateVersions/client/Client.ts @@ -6,8 +6,6 @@ import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers. import * as core from "../../../../core/index.js"; import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; import * as errors from "../../../../errors/index.js"; -import * as serializers from "../../../../serialization/index.js"; -import * as Corti from "../../../index.js"; export declare namespace NewTemplateVersionsClient { export type Options = BaseClientOptions; @@ -26,22 +24,20 @@ export class NewTemplateVersionsClient { * @param {string} templateId * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplateVersions.list("templateId") */ public list( templateId: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(templateId, requestOptions)); } private async __list( templateId: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,7 +49,7 @@ export class NewTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateId)}/versions`, ), method: "GET", headers: _headers, @@ -65,63 +61,43 @@ export class NewTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.newTemplateVersions.list.Response.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "GET", - "/new/templates/{templateId}/versions", + "/alpha/templates/{templateId}/versions", ); } /** * @param {string} templateId - * @param {Corti.CreateTemplateVersionRequest} request * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplateVersions.create("templateId") */ public create( templateId: string, - request: Corti.CreateTemplateVersionRequest = {}, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(templateId, request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(templateId, requestOptions)); } private async __create( templateId: string, - request: Corti.CreateTemplateVersionRequest = {}, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -133,17 +109,11 @@ export class NewTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateId)}/versions`, ), method: "POST", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.CreateTemplateVersionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -151,38 +121,22 @@ export class NewTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.TemplateVersion.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/new/templates/{templateId}/versions", + "/alpha/templates/{templateId}/versions", ); } @@ -191,8 +145,6 @@ export class NewTemplateVersionsClient { * @param {string} versionID * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplateVersions.get("templateId", "versionID") */ @@ -200,7 +152,7 @@ export class NewTemplateVersionsClient { templateId: string, versionID: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateId, versionID, requestOptions)); } @@ -208,7 +160,7 @@ export class NewTemplateVersionsClient { templateId: string, versionID: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -220,7 +172,7 @@ export class NewTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "GET", headers: _headers, @@ -232,36 +184,22 @@ export class NewTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.TemplateVersion.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "GET", - "/new/templates/{templateId}/versions/{versionID}", + "/alpha/templates/{templateId}/versions/{versionID}", ); } @@ -270,8 +208,6 @@ export class NewTemplateVersionsClient { * @param {string} versionID * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplateVersions.delete("templateId", "versionID") */ @@ -299,7 +235,7 @@ export class NewTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "DELETE", headers: _headers, @@ -315,35 +251,26 @@ export class NewTemplateVersionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "DELETE", - "/new/templates/{templateId}/versions/{versionID}", + "/alpha/templates/{templateId}/versions/{versionID}", ); } /** - * Sets this version as the published version of the template. - * * @param {string} templateId * @param {string} versionID * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplateVersions.publish("templateId", "versionID") */ @@ -351,7 +278,7 @@ export class NewTemplateVersionsClient { templateId: string, versionID: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__publish(templateId, versionID, requestOptions)); } @@ -359,7 +286,7 @@ export class NewTemplateVersionsClient { templateId: string, versionID: string, requestOptions?: NewTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -371,7 +298,7 @@ export class NewTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), method: "POST", headers: _headers, @@ -383,36 +310,22 @@ export class NewTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.StatusResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/new/templates/{templateId}/versions/{versionID}/publish", + "/alpha/templates/{templateId}/versions/{versionID}/publish", ); } } diff --git a/src/api/resources/newTemplateVersions/client/index.ts b/src/api/resources/newTemplateVersions/client/index.ts index 195f9aa8..cb0ff5c3 100644 --- a/src/api/resources/newTemplateVersions/client/index.ts +++ b/src/api/resources/newTemplateVersions/client/index.ts @@ -1 +1 @@ -export * from "./requests/index.js"; +export {}; diff --git a/src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts deleted file mode 100644 index e4537016..00000000 --- a/src/api/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../index.js"; - -/** - * @example - * {} - */ -export interface CreateTemplateVersionRequest { - instructions?: Corti.TemplateInstructions; - sections?: Corti.TemplateVersionSectionRequest[]; -} diff --git a/src/api/resources/newTemplateVersions/client/requests/index.ts b/src/api/resources/newTemplateVersions/client/requests/index.ts deleted file mode 100644 index 3d35d2f7..00000000 --- a/src/api/resources/newTemplateVersions/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export type { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/api/resources/newTemplates/client/Client.ts b/src/api/resources/newTemplates/client/Client.ts index f1343216..7e3258e1 100644 --- a/src/api/resources/newTemplates/client/Client.ts +++ b/src/api/resources/newTemplates/client/Client.ts @@ -57,7 +57,7 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/templates", + "alpha/templates", ), method: "GET", headers: _headers, @@ -89,7 +89,7 @@ export class NewTemplatesClient { }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates"); } /** @@ -101,7 +101,12 @@ export class NewTemplatesClient { * @example * await client.newTemplates.create({ * name: "name", - * language: "language" + * language: "language", + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } * }) */ public create( @@ -126,7 +131,7 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "new/templates", + "alpha/templates", ), method: "POST", headers: _headers, @@ -169,29 +174,24 @@ export class NewTemplatesClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/new/templates"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/templates"); } /** * @param {string} templateId * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplates.get("templateId") */ - public get( - templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { + public get(templateId: string, requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); } private async __get( templateId: string, requestOptions?: NewTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -203,7 +203,7 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateId)}`, ), method: "GET", headers: _headers, @@ -215,40 +215,24 @@ export class NewTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Template.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/new/templates/{templateId}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateId}"); } /** * @param {string} templateId * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplates.delete("templateId") */ @@ -274,7 +258,7 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateId)}`, ), method: "DELETE", headers: _headers, @@ -290,50 +274,39 @@ export class NewTemplatesClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "DELETE", - "/new/templates/{templateId}", + "/alpha/templates/{templateId}", ); } /** * @param {string} templateId - * @param {Corti.UpdateTemplateRequest} request * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * * @example * await client.newTemplates.update("templateId") */ public update( templateId: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(templateId, request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(templateId, requestOptions)); } private async __update( templateId: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: NewTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -345,17 +318,11 @@ export class NewTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `new/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateId)}`, ), method: "PATCH", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -363,33 +330,22 @@ export class NewTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Template.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/new/templates/{templateId}"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/alpha/templates/{templateId}", + ); } } diff --git a/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts index 12850f1d..65531283 100644 --- a/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts +++ b/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts @@ -6,7 +6,12 @@ import type * as Corti from "../../../../index.js"; * @example * { * name: "name", - * language: "language" + * language: "language", + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } * } */ export interface CreateTemplateRequest { @@ -20,8 +25,7 @@ export interface CreateTemplateRequest { labels?: string[]; /** Reference to the template to inherit template instructions and sections from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ inheritFromId?: string | null; - instructions?: Corti.TemplateInstructions; - sections?: Corti.TemplateVersionSectionRequest[]; + generation: Corti.CreateTemplateRequestGeneration; /** Defaults to true when omitted. Set this to false if you do not want the template to automatically show up in LIST templates. */ publish?: boolean; } diff --git a/src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts b/src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts deleted file mode 100644 index 0ab19a77..00000000 --- a/src/api/resources/newTemplates/client/requests/UpdateTemplateRequest.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * @example - * {} - */ -export interface UpdateTemplateRequest { - name?: string; - description?: string; - language?: string; - labels?: string[]; -} diff --git a/src/api/resources/newTemplates/client/requests/index.ts b/src/api/resources/newTemplates/client/requests/index.ts index 26348868..7930eef2 100644 --- a/src/api/resources/newTemplates/client/requests/index.ts +++ b/src/api/resources/newTemplates/client/requests/index.ts @@ -1,3 +1,2 @@ export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; export type { ListNewTemplatesRequest } from "./ListNewTemplatesRequest.js"; -export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/resources/newTemplates/index.ts b/src/api/resources/newTemplates/index.ts index 914b8c3c..d9adb1af 100644 --- a/src/api/resources/newTemplates/index.ts +++ b/src/api/resources/newTemplates/index.ts @@ -1 +1,2 @@ export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts b/src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts new file mode 100644 index 00000000..32bf6f86 --- /dev/null +++ b/src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../index.js"; + +export interface CreateTemplateRequestGeneration { + instructions: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/resources/newTemplates/types/index.ts b/src/api/resources/newTemplates/types/index.ts new file mode 100644 index 00000000..51976131 --- /dev/null +++ b/src/api/resources/newTemplates/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateRequestGeneration.js"; diff --git a/src/api/types/CreateSectionVersionRequest.ts b/src/api/types/CreateSectionVersionRequest.ts deleted file mode 100644 index b4d114e7..00000000 --- a/src/api/types/CreateSectionVersionRequest.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface CreateSectionVersionRequest { - /** The title of this section. Passed to the LLM and also returned in the response. */ - title: string; - instructions: Corti.SectionInstructions; - outputSchema?: Corti.OutputSchema; -} diff --git a/src/api/types/Section.ts b/src/api/types/Section.ts index 68bf9f34..842d201b 100644 --- a/src/api/types/Section.ts +++ b/src/api/types/Section.ts @@ -7,6 +7,8 @@ export interface Section { id: string; /** Reference to the section to inherit generation configuration from. Inherits from published version by default. */ inheritedFromId?: string | null; + /** True if the section was auto-generated as part of an inline section-composed POST /documents request. */ + autoGenerated?: boolean; /** The name of the section. */ name: string; /** The intended language for outputs as BCP 47 tag. */ diff --git a/src/api/types/SectionGeneration.ts b/src/api/types/SectionGeneration.ts new file mode 100644 index 00000000..7e4233b9 --- /dev/null +++ b/src/api/types/SectionGeneration.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface SectionGeneration { + /** The title of this section. Passed to the LLM. */ + title: string; + /** The prompt instructions for this section. */ + instructions: Corti.SectionInstructions; + outputSchema: Corti.OutputSchema; +} diff --git a/src/api/types/SectionVersion.ts b/src/api/types/SectionVersion.ts index 352557da..fe3c6b68 100644 --- a/src/api/types/SectionVersion.ts +++ b/src/api/types/SectionVersion.ts @@ -5,11 +5,7 @@ import type * as Corti from "../index.js"; export interface SectionVersion { /** The UUID of the section version. */ id: string; - /** Starts a 0 and auto-increments. */ + /** Starts at 0 and auto-increments. */ versionNumber: number; - /** The title of this section. Passed to the LLM. */ - title: string; - /** The prompt instructions for this section. */ - instructions: Corti.SectionInstructions; - outputSchema: Corti.OutputSchema; + generation: Corti.SectionGeneration; } diff --git a/src/api/types/TemplateGeneration.ts b/src/api/types/TemplateGeneration.ts new file mode 100644 index 00000000..ab962c41 --- /dev/null +++ b/src/api/types/TemplateGeneration.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface TemplateGeneration { + instructions: Corti.TemplateInstructions; + /** Populated only on GET /alpha/templates/{templateID}/versions/{versionID}; omitted from list responses. */ + sections?: Corti.Section[]; +} diff --git a/src/api/types/TemplateVersion.ts b/src/api/types/TemplateVersion.ts index 242c051e..94e72fb7 100644 --- a/src/api/types/TemplateVersion.ts +++ b/src/api/types/TemplateVersion.ts @@ -5,9 +5,7 @@ import type * as Corti from "../index.js"; export interface TemplateVersion { /** The UUID of the version. */ id: string; - /** Starts a 0 and auto-increments. */ + /** Starts at 0 and auto-increments. */ versionNumber: number; - instructions: Corti.TemplateInstructions; - /** Populated only on GET /new/templates/{id}/versions/{versionID} */ - sections?: Corti.Section[]; + generation: Corti.TemplateGeneration; } diff --git a/src/api/types/TemplateVersionSectionRequest.ts b/src/api/types/TemplateVersionSectionRequest.ts index f29c7b76..ac0d2ba0 100644 --- a/src/api/types/TemplateVersionSectionRequest.ts +++ b/src/api/types/TemplateVersionSectionRequest.ts @@ -1,9 +1,8 @@ // This file was auto-generated by Fern from our API Definition. export interface TemplateVersionSectionRequest { + /** The UUID of the section to include in the template version. */ sectionId: string; - /** Can be used to pin the version of a section, else the latest published version is used in the resource. */ - pinnedVersionId?: string | null; - /** Sets the order of this section within this template. Starts a 0. */ + /** Sets the order of this section within this template. Starts at 0. */ orderIndex?: number; } diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 90742005..ead717d3 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -79,7 +79,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./CreateSectionVersionRequest.js"; export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; @@ -136,6 +135,7 @@ export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; export * from "./Section.js"; +export * from "./SectionGeneration.js"; export * from "./SectionInstructions.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; @@ -166,6 +166,7 @@ export * from "./StreamTranscriptTime.js"; export * from "./StreamUsageMessage.js"; export * from "./StringNode.js"; export * from "./Template.js"; +export * from "./TemplateGeneration.js"; export * from "./TemplateInstructions.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 28ac3b2e..f5233024 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -17,8 +17,7 @@ export * as newSections from "./newSections/index.js"; export * as newSectionVersions from "./newSectionVersions/index.js"; export * from "./newTemplates/client/requests/index.js"; export * as newTemplates from "./newTemplates/index.js"; -export * from "./newTemplateVersions/client/requests/index.js"; -export * as newTemplateVersions from "./newTemplateVersions/index.js"; +export * from "./newTemplates/types/index.js"; export * from "./stream/client/socket/index.js"; export * as stream from "./stream/index.js"; export * from "./transcribe/client/socket/index.js"; diff --git a/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts b/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts index 2f8df0ed..d5d0f1b1 100644 --- a/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts +++ b/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts @@ -3,7 +3,7 @@ import type * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; -import { CreateSectionVersionRequest } from "../../../../types/CreateSectionVersionRequest.js"; +import { SectionGeneration } from "../../../../types/SectionGeneration.js"; export const CreateSectionRequest: core.serialization.Schema< serializers.CreateSectionRequest.Raw, @@ -14,7 +14,7 @@ export const CreateSectionRequest: core.serialization.Schema< description: core.serialization.string().optional(), labels: core.serialization.list(core.serialization.string()).optional(), inheritFromId: core.serialization.string().optionalNullable(), - generation: CreateSectionVersionRequest, + generation: SectionGeneration, publish: core.serialization.boolean().optional(), }); @@ -25,7 +25,7 @@ export declare namespace CreateSectionRequest { description?: string | null; labels?: string[] | null; inheritFromId?: (string | null | undefined) | null; - generation: CreateSectionVersionRequest.Raw; + generation: SectionGeneration.Raw; publish?: boolean | null; } } diff --git a/src/serialization/resources/newTemplateVersions/client/index.ts b/src/serialization/resources/newTemplateVersions/client/index.ts deleted file mode 100644 index cd155427..00000000 --- a/src/serialization/resources/newTemplateVersions/client/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * as list from "./list.js"; -export * from "./requests/index.js"; diff --git a/src/serialization/resources/newTemplateVersions/client/list.ts b/src/serialization/resources/newTemplateVersions/client/list.ts deleted file mode 100644 index 46dfccd4..00000000 --- a/src/serialization/resources/newTemplateVersions/client/list.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { TemplateVersion } from "../../../types/TemplateVersion.js"; - -export const Response: core.serialization.Schema< - serializers.newTemplateVersions.list.Response.Raw, - Corti.TemplateVersion[] -> = core.serialization.list(TemplateVersion); - -export declare namespace Response { - export type Raw = TemplateVersion.Raw[]; -} diff --git a/src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts deleted file mode 100644 index e368dd34..00000000 --- a/src/serialization/resources/newTemplateVersions/client/requests/CreateTemplateVersionRequest.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../../api/index.js"; -import * as core from "../../../../../core/index.js"; -import type * as serializers from "../../../../index.js"; -import { TemplateInstructions } from "../../../../types/TemplateInstructions.js"; -import { TemplateVersionSectionRequest } from "../../../../types/TemplateVersionSectionRequest.js"; - -export const CreateTemplateVersionRequest: core.serialization.Schema< - serializers.CreateTemplateVersionRequest.Raw, - Corti.CreateTemplateVersionRequest -> = core.serialization.object({ - instructions: TemplateInstructions.optional(), - sections: core.serialization.list(TemplateVersionSectionRequest).optional(), -}); - -export declare namespace CreateTemplateVersionRequest { - export interface Raw { - instructions?: TemplateInstructions.Raw | null; - sections?: TemplateVersionSectionRequest.Raw[] | null; - } -} diff --git a/src/serialization/resources/newTemplateVersions/client/requests/index.ts b/src/serialization/resources/newTemplateVersions/client/requests/index.ts deleted file mode 100644 index bea03b68..00000000 --- a/src/serialization/resources/newTemplateVersions/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/serialization/resources/newTemplateVersions/index.ts b/src/serialization/resources/newTemplateVersions/index.ts deleted file mode 100644 index 914b8c3c..00000000 --- a/src/serialization/resources/newTemplateVersions/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./client/index.js"; diff --git a/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts index d03ce238..77fece0f 100644 --- a/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts +++ b/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts @@ -3,8 +3,7 @@ import type * as Corti from "../../../../../api/index.js"; import * as core from "../../../../../core/index.js"; import type * as serializers from "../../../../index.js"; -import { TemplateInstructions } from "../../../../types/TemplateInstructions.js"; -import { TemplateVersionSectionRequest } from "../../../../types/TemplateVersionSectionRequest.js"; +import { CreateTemplateRequestGeneration } from "../../types/CreateTemplateRequestGeneration.js"; export const CreateTemplateRequest: core.serialization.Schema< serializers.CreateTemplateRequest.Raw, @@ -15,8 +14,7 @@ export const CreateTemplateRequest: core.serialization.Schema< language: core.serialization.string(), labels: core.serialization.list(core.serialization.string()).optional(), inheritFromId: core.serialization.string().optionalNullable(), - instructions: TemplateInstructions.optional(), - sections: core.serialization.list(TemplateVersionSectionRequest).optional(), + generation: CreateTemplateRequestGeneration, publish: core.serialization.boolean().optional(), }); @@ -27,8 +25,7 @@ export declare namespace CreateTemplateRequest { language: string; labels?: string[] | null; inheritFromId?: (string | null | undefined) | null; - instructions?: TemplateInstructions.Raw | null; - sections?: TemplateVersionSectionRequest.Raw[] | null; + generation: CreateTemplateRequestGeneration.Raw; publish?: boolean | null; } } diff --git a/src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts b/src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts deleted file mode 100644 index a4d65a3a..00000000 --- a/src/serialization/resources/newTemplates/client/requests/UpdateTemplateRequest.ts +++ /dev/null @@ -1,24 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../../api/index.js"; -import * as core from "../../../../../core/index.js"; -import type * as serializers from "../../../../index.js"; - -export const UpdateTemplateRequest: core.serialization.Schema< - serializers.UpdateTemplateRequest.Raw, - Corti.UpdateTemplateRequest -> = core.serialization.object({ - name: core.serialization.string().optional(), - description: core.serialization.string().optional(), - language: core.serialization.string().optional(), - labels: core.serialization.list(core.serialization.string()).optional(), -}); - -export declare namespace UpdateTemplateRequest { - export interface Raw { - name?: string | null; - description?: string | null; - language?: string | null; - labels?: string[] | null; - } -} diff --git a/src/serialization/resources/newTemplates/client/requests/index.ts b/src/serialization/resources/newTemplates/client/requests/index.ts index 0c267e8b..2a30cb5e 100644 --- a/src/serialization/resources/newTemplates/client/requests/index.ts +++ b/src/serialization/resources/newTemplates/client/requests/index.ts @@ -1,2 +1 @@ export { CreateTemplateRequest } from "./CreateTemplateRequest.js"; -export { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/newTemplates/index.ts b/src/serialization/resources/newTemplates/index.ts index 914b8c3c..d9adb1af 100644 --- a/src/serialization/resources/newTemplates/index.ts +++ b/src/serialization/resources/newTemplates/index.ts @@ -1 +1,2 @@ export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts b/src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts new file mode 100644 index 00000000..75697047 --- /dev/null +++ b/src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateInstructions } from "../../../types/TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "../../../types/TemplateVersionSectionRequest.js"; + +export const CreateTemplateRequestGeneration: core.serialization.ObjectSchema< + serializers.CreateTemplateRequestGeneration.Raw, + Corti.CreateTemplateRequestGeneration +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateRequestGeneration { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/resources/newTemplates/types/index.ts b/src/serialization/resources/newTemplates/types/index.ts new file mode 100644 index 00000000..51976131 --- /dev/null +++ b/src/serialization/resources/newTemplates/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateRequestGeneration.js"; diff --git a/src/serialization/types/Section.ts b/src/serialization/types/Section.ts index 51208176..fe070ce9 100644 --- a/src/serialization/types/Section.ts +++ b/src/serialization/types/Section.ts @@ -9,6 +9,7 @@ export const Section: core.serialization.ObjectSchema = core.serialization.object({ title: core.serialization.string(), instructions: SectionInstructions, - outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), + outputSchema: core.serialization.lazy(() => serializers.OutputSchema), }); -export declare namespace CreateSectionVersionRequest { +export declare namespace SectionGeneration { export interface Raw { title: string; instructions: SectionInstructions.Raw; - outputSchema?: serializers.OutputSchema.Raw | null; + outputSchema: serializers.OutputSchema.Raw; } } diff --git a/src/serialization/types/SectionVersion.ts b/src/serialization/types/SectionVersion.ts index 26038fca..8809bb35 100644 --- a/src/serialization/types/SectionVersion.ts +++ b/src/serialization/types/SectionVersion.ts @@ -2,24 +2,20 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; -import { SectionInstructions } from "./SectionInstructions.js"; +import type * as serializers from "../index.js"; +import { SectionGeneration } from "./SectionGeneration.js"; export const SectionVersion: core.serialization.ObjectSchema = core.serialization.object({ id: core.serialization.string(), versionNumber: core.serialization.number(), - title: core.serialization.string(), - instructions: SectionInstructions, - outputSchema: core.serialization.lazy(() => serializers.OutputSchema), + generation: SectionGeneration, }); export declare namespace SectionVersion { export interface Raw { id: string; versionNumber: number; - title: string; - instructions: SectionInstructions.Raw; - outputSchema: serializers.OutputSchema.Raw; + generation: SectionGeneration.Raw; } } diff --git a/src/serialization/types/TemplateGeneration.ts b/src/serialization/types/TemplateGeneration.ts new file mode 100644 index 00000000..d7d02886 --- /dev/null +++ b/src/serialization/types/TemplateGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { Section } from "./Section.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const TemplateGeneration: core.serialization.ObjectSchema< + serializers.TemplateGeneration.Raw, + Corti.TemplateGeneration +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(Section).optional(), +}); + +export declare namespace TemplateGeneration { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections?: Section.Raw[] | null; + } +} diff --git a/src/serialization/types/TemplateVersion.ts b/src/serialization/types/TemplateVersion.ts index 1684019f..cabcb3cd 100644 --- a/src/serialization/types/TemplateVersion.ts +++ b/src/serialization/types/TemplateVersion.ts @@ -3,22 +3,19 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -import { Section } from "./Section.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; +import { TemplateGeneration } from "./TemplateGeneration.js"; export const TemplateVersion: core.serialization.ObjectSchema = core.serialization.object({ id: core.serialization.string(), versionNumber: core.serialization.number(), - instructions: TemplateInstructions, - sections: core.serialization.list(Section).optional(), + generation: TemplateGeneration, }); export declare namespace TemplateVersion { export interface Raw { id: string; versionNumber: number; - instructions: TemplateInstructions.Raw; - sections?: Section.Raw[] | null; + generation: TemplateGeneration.Raw; } } diff --git a/src/serialization/types/TemplateVersionSectionRequest.ts b/src/serialization/types/TemplateVersionSectionRequest.ts index 74a578c2..25a818c3 100644 --- a/src/serialization/types/TemplateVersionSectionRequest.ts +++ b/src/serialization/types/TemplateVersionSectionRequest.ts @@ -9,14 +9,12 @@ export const TemplateVersionSectionRequest: core.serialization.ObjectSchema< Corti.TemplateVersionSectionRequest > = core.serialization.object({ sectionId: core.serialization.string(), - pinnedVersionId: core.serialization.string().optionalNullable(), orderIndex: core.serialization.number().optional(), }); export declare namespace TemplateVersionSectionRequest { export interface Raw { sectionId: string; - pinnedVersionId?: (string | null | undefined) | null; orderIndex?: number | null; } } diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 90742005..ead717d3 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -79,7 +79,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./CreateSectionVersionRequest.js"; export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; @@ -136,6 +135,7 @@ export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; export * from "./Section.js"; +export * from "./SectionGeneration.js"; export * from "./SectionInstructions.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; @@ -166,6 +166,7 @@ export * from "./StreamTranscriptTime.js"; export * from "./StreamUsageMessage.js"; export * from "./StringNode.js"; export * from "./Template.js"; +export * from "./TemplateGeneration.js"; export * from "./TemplateInstructions.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; diff --git a/tests/wire/newSectionVersions.test.ts b/tests/wire/newSectionVersions.test.ts index 01193e55..078bc510 100644 --- a/tests/wire/newSectionVersions.test.ts +++ b/tests/wire/newSectionVersions.test.ts @@ -22,21 +22,17 @@ describe("NewSectionVersionsClient", () => { { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }, ]; server .mockEndpoint() - .get("/new/sections/sectionID/versions") + .get("/alpha/sections/sectionID/versions") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) @@ -47,17 +43,15 @@ describe("NewSectionVersionsClient", () => { { id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, }, }, ]); @@ -79,7 +73,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .get("/new/sections/sectionID/versions") + .get("/alpha/sections/sectionID/versions") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) @@ -104,24 +98,27 @@ describe("NewSectionVersionsClient", () => { const rawRequestBody = { title: "title", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }; const rawResponseBody = { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, }, }; server .mockEndpoint() - .post("/new/sections/sectionID/versions") + .post("/alpha/sections/sectionID/versions") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) @@ -134,21 +131,26 @@ describe("NewSectionVersionsClient", () => { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", }, + outputSchema: { + type: "string", + }, }); expect(response).toEqual({ id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, }, }); }); @@ -167,12 +169,13 @@ describe("NewSectionVersionsClient", () => { const rawRequestBody = { title: "title", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/new/sections/sectionID/versions") + .post("/alpha/sections/sectionID/versions") .jsonBody(rawRequestBody) .respondWith() .statusCode(400) @@ -186,6 +189,9 @@ describe("NewSectionVersionsClient", () => { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", }, + outputSchema: { + type: "string", + }, }); }).rejects.toThrow(Corti.BadRequestError); }); @@ -204,12 +210,13 @@ describe("NewSectionVersionsClient", () => { const rawRequestBody = { title: "title", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/new/sections/sectionID/versions") + .post("/alpha/sections/sectionID/versions") .jsonBody(rawRequestBody) .respondWith() .statusCode(404) @@ -223,6 +230,9 @@ describe("NewSectionVersionsClient", () => { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", }, + outputSchema: { + type: "string", + }, }); }).rejects.toThrow(Corti.NotFoundError); }); @@ -242,20 +252,22 @@ describe("NewSectionVersionsClient", () => { const rawResponseBody = { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, }, }; server .mockEndpoint() - .get("/new/sections/sectionID/versions/versionID") + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) @@ -265,17 +277,19 @@ describe("NewSectionVersionsClient", () => { expect(response).toEqual({ id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, }, }); }); @@ -296,7 +310,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .get("/new/sections/sectionID/versions/versionID") + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) @@ -321,7 +335,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .delete("/new/sections/sectionID/versions/versionID") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) .build(); @@ -346,7 +360,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .delete("/new/sections/sectionID/versions/versionID") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) @@ -373,7 +387,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .post("/new/sections/sectionID/versions/versionID/publish") + .post("/alpha/sections/sectionID/versions/versionID/publish") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) @@ -401,7 +415,7 @@ describe("NewSectionVersionsClient", () => { server .mockEndpoint() - .post("/new/sections/sectionID/versions/versionID/publish") + .post("/alpha/sections/sectionID/versions/versionID/publish") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) diff --git a/tests/wire/newSections.test.ts b/tests/wire/newSections.test.ts index 23179cf1..cac0f883 100644 --- a/tests/wire/newSections.test.ts +++ b/tests/wire/newSections.test.ts @@ -22,6 +22,7 @@ describe("NewSectionsClient", () => { { id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -29,22 +30,25 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, + }, }, createdAt: "2024-01-15T09:30:00Z", updatedAt: "2024-01-15T09:30:00Z", }, ]; - server.mockEndpoint().get("/new/sections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server.mockEndpoint().get("/alpha/sections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); const response = await client.newSections.list(); expect(response).toEqual([ { id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -52,13 +56,15 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), @@ -84,11 +90,13 @@ describe("NewSectionsClient", () => { generation: { title: "title", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }; const rawResponseBody = { id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -96,14 +104,10 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }, createdAt: "2024-01-15T09:30:00Z", @@ -112,7 +116,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .post("/new/sections") + .post("/alpha/sections") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) @@ -128,11 +132,15 @@ describe("NewSectionsClient", () => { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", }, + outputSchema: { + type: "string", + }, }, }); expect(response).toEqual({ id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -140,17 +148,15 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), @@ -175,13 +181,14 @@ describe("NewSectionsClient", () => { generation: { title: "title", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/new/sections") + .post("/alpha/sections") .jsonBody(rawRequestBody) .respondWith() .statusCode(400) @@ -198,6 +205,9 @@ describe("NewSectionsClient", () => { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", }, + outputSchema: { + type: "string", + }, }, }); }).rejects.toThrow(Corti.BadRequestError); @@ -218,6 +228,7 @@ describe("NewSectionsClient", () => { const rawResponseBody = { id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -225,14 +236,10 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }, createdAt: "2024-01-15T09:30:00Z", @@ -241,7 +248,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .get("/new/sections/sectionID") + .get("/alpha/sections/sectionID") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) @@ -251,6 +258,7 @@ describe("NewSectionsClient", () => { expect(response).toEqual({ id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -258,17 +266,15 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), @@ -292,7 +298,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .get("/new/sections/sectionID") + .get("/alpha/sections/sectionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) @@ -315,7 +321,7 @@ describe("NewSectionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().delete("/new/sections/sectionID").respondWith().statusCode(200).build(); + server.mockEndpoint().delete("/alpha/sections/sectionID").respondWith().statusCode(200).build(); const response = await client.newSections.delete("sectionID"); expect(response).toEqual(undefined); @@ -337,7 +343,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .delete("/new/sections/sectionID") + .delete("/alpha/sections/sectionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) @@ -363,6 +369,7 @@ describe("NewSectionsClient", () => { const rawResponseBody = { id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -370,14 +377,10 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + outputSchema: { type: "string" }, }, }, createdAt: "2024-01-15T09:30:00Z", @@ -386,7 +389,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .patch("/new/sections/sectionID") + .patch("/alpha/sections/sectionID") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) @@ -397,6 +400,7 @@ describe("NewSectionsClient", () => { expect(response).toEqual({ id: "id", inheritedFromId: "inheritedFromId", + autoGenerated: true, name: "name", language: "language", description: "description", @@ -404,17 +408,15 @@ describe("NewSectionsClient", () => { publishedVersion: { id: "id", versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), @@ -438,7 +440,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .patch("/new/sections/sectionID") + .patch("/alpha/sections/sectionID") .jsonBody(rawRequestBody) .respondWith() .statusCode(400) @@ -466,7 +468,7 @@ describe("NewSectionsClient", () => { server .mockEndpoint() - .patch("/new/sections/sectionID") + .patch("/alpha/sections/sectionID") .jsonBody(rawRequestBody) .respondWith() .statusCode(404) diff --git a/tests/wire/newTemplateVersions.test.ts b/tests/wire/newTemplateVersions.test.ts index 1d2bec97..44963381 100644 --- a/tests/wire/newTemplateVersions.test.ts +++ b/tests/wire/newTemplateVersions.test.ts @@ -1,12 +1,11 @@ // This file was auto-generated by Fern from our API Definition. -import * as Corti from "../../src/api/index"; import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("NewTemplateVersionsClient", () => { - test("list (1)", async () => { + test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -18,101 +17,13 @@ describe("NewTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = [ - { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - ]; - - server - .mockEndpoint() - .get("/new/templates/templateId/versions") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); const response = await client.newTemplateVersions.list("templateId"); - expect(response).toEqual([ - { - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - ]); - }); - - test("list (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/new/templates/templateId/versions") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.list("templateId"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); - test("create (1)", async () => { + test("create", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -123,132 +34,14 @@ describe("NewTemplateVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = {}; - const rawResponseBody = { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }; - server - .mockEndpoint() - .post("/new/templates/templateId/versions") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().post("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); const response = await client.newTemplateVersions.create("templateId"); - expect(response).toEqual({ - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }); - }); - - test("create (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/new/templates/templateId/versions") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.create("templateId"); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("create (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/new/templates/templateId/versions") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.create("templateId"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); - test("get (1)", async () => { + test("get", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -260,101 +53,18 @@ describe("NewTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }; - server .mockEndpoint() - .get("/new/templates/templateId/versions/versionID") + .get("/alpha/templates/templateId/versions/versionID") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); const response = await client.newTemplateVersions.get("templateId", "versionID"); - expect(response).toEqual({ - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - inheritedFromId: "inheritedFromId", - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }); - }); - - test("get (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/new/templates/templateId/versions/versionID") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.get("templateId", "versionID"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); - test("delete (1)", async () => { + test("delete", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -368,7 +78,7 @@ describe("NewTemplateVersionsClient", () => { server .mockEndpoint() - .delete("/new/templates/templateId/versions/versionID") + .delete("/alpha/templates/templateId/versions/versionID") .respondWith() .statusCode(200) .build(); @@ -377,34 +87,7 @@ describe("NewTemplateVersionsClient", () => { expect(response).toEqual(undefined); }); - test("delete (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .delete("/new/templates/templateId/versions/versionID") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.delete("templateId", "versionID"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("publish (1)", async () => { + test("publish", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -416,46 +99,14 @@ describe("NewTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { status: "published" }; - server .mockEndpoint() - .post("/new/templates/templateId/versions/versionID/publish") + .post("/alpha/templates/templateId/versions/versionID/publish") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); const response = await client.newTemplateVersions.publish("templateId", "versionID"); - expect(response).toEqual({ - status: "published", - }); - }); - - test("publish (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/new/templates/templateId/versions/versionID/publish") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplateVersions.publish("templateId", "versionID"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); }); diff --git a/tests/wire/newTemplates.test.ts b/tests/wire/newTemplates.test.ts index 0b6ea735..bf23ed56 100644 --- a/tests/wire/newTemplates.test.ts +++ b/tests/wire/newTemplates.test.ts @@ -30,34 +30,38 @@ describe("NewTemplatesClient", () => { publishedVersion: { id: "id", versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, }, - outputSchema: { type: "string" }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], + ], + }, }, createdAt: "2024-01-15T09:30:00Z", updatedAt: "2024-01-15T09:30:00Z", }, ]; - server.mockEndpoint().get("/new/templates").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server.mockEndpoint().get("/alpha/templates").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); const response = await client.newTemplates.list(); expect(response).toEqual([ @@ -72,31 +76,35 @@ describe("NewTemplatesClient", () => { publishedVersion: { id: "id", versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], + ], + }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), updatedAt: new Date("2024-01-15T09:30:00.000Z"), @@ -115,7 +123,11 @@ describe("NewTemplatesClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { name: "name", language: "language" }; + const rawRequestBody = { + name: "name", + language: "language", + generation: { instructions: { prompt: "prompt" } }, + }; const rawResponseBody = { id: "id", inheritedFromId: "inheritedFromId", @@ -127,24 +139,31 @@ describe("NewTemplatesClient", () => { publishedVersion: { id: "id", versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], + ], + }, }, createdAt: "2024-01-15T09:30:00Z", updatedAt: "2024-01-15T09:30:00Z", @@ -152,7 +171,7 @@ describe("NewTemplatesClient", () => { server .mockEndpoint() - .post("/new/templates") + .post("/alpha/templates") .jsonBody(rawRequestBody) .respondWith() .statusCode(200) @@ -162,6 +181,11 @@ describe("NewTemplatesClient", () => { const response = await client.newTemplates.create({ name: "name", language: "language", + generation: { + instructions: { + prompt: "prompt", + }, + }, }); expect(response).toEqual({ id: "id", @@ -174,31 +198,35 @@ describe("NewTemplatesClient", () => { publishedVersion: { id: "id", versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], + ], + }, }, createdAt: new Date("2024-01-15T09:30:00.000Z"), updatedAt: new Date("2024-01-15T09:30:00.000Z"), @@ -216,12 +244,16 @@ describe("NewTemplatesClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { name: "name", language: "language" }; + const rawRequestBody = { + name: "name", + language: "language", + generation: { instructions: { prompt: "prompt" } }, + }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/new/templates") + .post("/alpha/templates") .jsonBody(rawRequestBody) .respondWith() .statusCode(400) @@ -232,11 +264,16 @@ describe("NewTemplatesClient", () => { return await client.newTemplates.create({ name: "name", language: "language", + generation: { + instructions: { + prompt: "prompt", + }, + }, }); }).rejects.toThrow(Corti.BadRequestError); }); - test("get (1)", async () => { + test("get", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -248,119 +285,13 @@ describe("NewTemplatesClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .get("/new/templates/templateId") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/alpha/templates/templateId").respondWith().statusCode(200).build(); const response = await client.newTemplates.get("templateId"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("get (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/new/templates/templateId") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplates.get("templateId"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); - test("delete (1)", async () => { + test("delete", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -372,40 +303,13 @@ describe("NewTemplatesClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().delete("/new/templates/templateId").respondWith().statusCode(200).build(); + server.mockEndpoint().delete("/alpha/templates/templateId").respondWith().statusCode(200).build(); const response = await client.newTemplates.delete("templateId"); expect(response).toEqual(undefined); }); - test("delete (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .delete("/new/templates/templateId") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplates.delete("templateId"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("update (1)", async () => { + test("update", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -416,146 +320,10 @@ describe("NewTemplatesClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = {}; - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, - outputSchema: { type: "string" }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().patch("/alpha/templates/templateId").respondWith().statusCode(200).build(); const response = await client.newTemplates.update("templateId"); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, - outputSchema: { - type: "string", - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("update (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplates.update("templateId"); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("update (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = {}; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .patch("/new/templates/templateId") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.newTemplates.update("templateId"); - }).rejects.toThrow(Corti.NotFoundError); + expect(response).toEqual(undefined); }); }); From 636367a1db53ab9677e0eabd3e26f7f01645523a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 5 May 2026 12:09:57 +0000 Subject: [PATCH 24/44] SDK regeneration --- .fern/metadata.json | 4 +- package.json | 4 +- src/Client.ts | 32 +++++----- .../client/Client.ts | 50 ++++++++-------- .../client/index.ts | 0 .../index.ts | 0 .../client/Client.ts | 56 +++++++++--------- .../client/index.ts | 0 .../client/requests/CreateSectionRequest.ts | 0 .../requests/ListAlphaSectionsRequest.ts} | 2 +- .../client/requests/UpdateSectionRequest.ts | 0 .../client/requests/index.ts | 2 +- .../{newSections => alphaSections}/index.ts | 0 .../client/Client.ts | 48 +++++++-------- .../client/index.ts | 0 .../index.ts | 0 .../client/Client.ts | 59 ++++++++++--------- .../client/index.ts | 0 .../client/requests/CreateTemplateRequest.ts | 0 .../requests/ListAlphaTemplatesRequest.ts} | 2 +- .../alphaTemplates/client/requests/index.ts | 2 + .../{newTemplates => alphaTemplates}/index.ts | 0 .../types/CreateTemplateRequestGeneration.ts | 0 .../types/index.ts | 0 src/api/resources/index.ts | 14 ++--- .../newTemplates/client/requests/index.ts | 2 - .../client/index.ts | 0 .../client/list.ts | 2 +- .../index.ts | 0 .../client/index.ts | 0 .../client/list.ts | 2 +- .../client/requests/CreateSectionRequest.ts | 0 .../client/requests/UpdateSectionRequest.ts | 0 .../client/requests/index.ts | 0 .../{newSections => alphaSections}/index.ts | 0 .../client/index.ts | 0 .../client/list.ts | 2 +- .../client/requests/CreateTemplateRequest.ts | 0 .../client/requests/index.ts | 0 .../{newTemplates => alphaTemplates}/index.ts | 0 .../types/CreateTemplateRequestGeneration.ts | 0 .../types/index.ts | 0 src/serialization/resources/index.ts | 12 ++-- ...s.test.ts => alphaSectionVersions.test.ts} | 24 ++++---- ...Sections.test.ts => alphaSections.test.ts} | 22 +++---- ....test.ts => alphaTemplateVersions.test.ts} | 12 ++-- ...mplates.test.ts => alphaTemplates.test.ts} | 14 ++--- 47 files changed, 184 insertions(+), 183 deletions(-) rename src/api/resources/{newSectionVersions => alphaSectionVersions}/client/Client.ts (89%) rename src/api/resources/{newSectionVersions => alphaSectionVersions}/client/index.ts (100%) rename src/api/resources/{newSectionVersions => alphaSectionVersions}/index.ts (100%) rename src/api/resources/{newSections => alphaSections}/client/Client.ts (89%) rename src/api/resources/{newSections => alphaSections}/client/index.ts (100%) rename src/api/resources/{newSections => alphaSections}/client/requests/CreateSectionRequest.ts (100%) rename src/api/resources/{newSections/client/requests/ListNewSectionsRequest.ts => alphaSections/client/requests/ListAlphaSectionsRequest.ts} (90%) rename src/api/resources/{newSections => alphaSections}/client/requests/UpdateSectionRequest.ts (100%) rename src/api/resources/{newSections => alphaSections}/client/requests/index.ts (64%) rename src/api/resources/{newSections => alphaSections}/index.ts (100%) rename src/api/resources/{newTemplateVersions => alphaTemplateVersions}/client/Client.ts (86%) rename src/api/resources/{newTemplateVersions => alphaTemplateVersions}/client/index.ts (100%) rename src/api/resources/{newTemplateVersions => alphaTemplateVersions}/index.ts (100%) rename src/api/resources/{newTemplates => alphaTemplates}/client/Client.ts (86%) rename src/api/resources/{newTemplates => alphaTemplates}/client/index.ts (100%) rename src/api/resources/{newTemplates => alphaTemplates}/client/requests/CreateTemplateRequest.ts (100%) rename src/api/resources/{newTemplates/client/requests/ListNewTemplatesRequest.ts => alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts} (90%) create mode 100644 src/api/resources/alphaTemplates/client/requests/index.ts rename src/api/resources/{newTemplates => alphaTemplates}/index.ts (100%) rename src/api/resources/{newTemplates => alphaTemplates}/types/CreateTemplateRequestGeneration.ts (100%) rename src/api/resources/{newTemplates => alphaTemplates}/types/index.ts (100%) delete mode 100644 src/api/resources/newTemplates/client/requests/index.ts rename src/serialization/resources/{newSectionVersions => alphaSectionVersions}/client/index.ts (100%) rename src/serialization/resources/{newSectionVersions => alphaSectionVersions}/client/list.ts (89%) rename src/serialization/resources/{newSectionVersions => alphaSectionVersions}/index.ts (100%) rename src/serialization/resources/{newSections => alphaSections}/client/index.ts (100%) rename src/serialization/resources/{newSections => alphaSections}/client/list.ts (77%) rename src/serialization/resources/{newSections => alphaSections}/client/requests/CreateSectionRequest.ts (100%) rename src/serialization/resources/{newSections => alphaSections}/client/requests/UpdateSectionRequest.ts (100%) rename src/serialization/resources/{newSections => alphaSections}/client/requests/index.ts (100%) rename src/serialization/resources/{newSections => alphaSections}/index.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/client/index.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/client/list.ts (77%) rename src/serialization/resources/{newTemplates => alphaTemplates}/client/requests/CreateTemplateRequest.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/client/requests/index.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/index.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/types/CreateTemplateRequestGeneration.ts (100%) rename src/serialization/resources/{newTemplates => alphaTemplates}/types/index.ts (100%) rename tests/wire/{newSectionVersions.test.ts => alphaSectionVersions.test.ts} (93%) rename tests/wire/{newSections.test.ts => alphaSections.test.ts} (95%) rename tests/wire/{newTemplateVersions.test.ts => alphaTemplateVersions.test.ts} (87%) rename tests/wire/{newTemplates.test.ts => alphaTemplates.test.ts} (96%) diff --git a/.fern/metadata.json b/.fern/metadata.json index c8d0af06..a8cbb864 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.10.1", + "cliVersion": "5.10.2", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "3849df84699e2fb81cc24d23ea6ee28526986aaa", + "originGitCommit": "af20a34e23adcd41595006861f8b1f63eeb146e6", "sdkVersion": "0.0.0-dev" } diff --git a/package.json b/package.json index 4724da2f..d2d0a252 100644 --- a/package.json +++ b/package.json @@ -66,9 +66,7 @@ "test": "vitest", "test:unit": "vitest --project unit", "test:wire": "vitest --project wire", - "test:integration": "pnpm test:integration:main && pnpm test:integration:empty-state", - "test:integration:main": "vitest run --config vitest.integration.config.mts --project integration", - "test:integration:empty-state": "vitest run --config vitest.integration.config.mts --project integration-empty-state" + "test:integration": "vitest --config vitest.integration.config.mts" }, "dependencies": { "ws": "^8.16.0" diff --git a/src/Client.ts b/src/Client.ts index 59aab4dc..c8975ff5 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -1,15 +1,15 @@ // This file was auto-generated by Fern from our API Definition. import { AgentsClient } from "./api/resources/agents/client/Client.js"; +import { AlphaSectionsClient } from "./api/resources/alphaSections/client/Client.js"; +import { AlphaSectionVersionsClient } from "./api/resources/alphaSectionVersions/client/Client.js"; +import { AlphaTemplatesClient } from "./api/resources/alphaTemplates/client/Client.js"; +import { AlphaTemplateVersionsClient } from "./api/resources/alphaTemplateVersions/client/Client.js"; import { AuthClient } from "./api/resources/auth/client/Client.js"; import { CodesClient } from "./api/resources/codes/client/Client.js"; import { DocumentsClient } from "./api/resources/documents/client/Client.js"; import { FactsClient } from "./api/resources/facts/client/Client.js"; import { InteractionsClient } from "./api/resources/interactions/client/Client.js"; -import { NewSectionsClient } from "./api/resources/newSections/client/Client.js"; -import { NewSectionVersionsClient } from "./api/resources/newSectionVersions/client/Client.js"; -import { NewTemplatesClient } from "./api/resources/newTemplates/client/Client.js"; -import { NewTemplateVersionsClient } from "./api/resources/newTemplateVersions/client/Client.js"; import { RecordingsClient } from "./api/resources/recordings/client/Client.js"; import { StreamClient } from "./api/resources/stream/client/Client.js"; import { TemplatesClient } from "./api/resources/templates/client/Client.js"; @@ -34,10 +34,10 @@ export class CortiClient { protected _documents: DocumentsClient | undefined; protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; - protected _newTemplates: NewTemplatesClient | undefined; - protected _newSections: NewSectionsClient | undefined; - protected _newSectionVersions: NewSectionVersionsClient | undefined; - protected _newTemplateVersions: NewTemplateVersionsClient | undefined; + protected _alphaTemplates: AlphaTemplatesClient | undefined; + protected _alphaSections: AlphaSectionsClient | undefined; + protected _alphaSectionVersions: AlphaSectionVersionsClient | undefined; + protected _alphaTemplateVersions: AlphaTemplateVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -78,20 +78,20 @@ export class CortiClient { return (this._codes ??= new CodesClient(this._options)); } - public get newTemplates(): NewTemplatesClient { - return (this._newTemplates ??= new NewTemplatesClient(this._options)); + public get alphaTemplates(): AlphaTemplatesClient { + return (this._alphaTemplates ??= new AlphaTemplatesClient(this._options)); } - public get newSections(): NewSectionsClient { - return (this._newSections ??= new NewSectionsClient(this._options)); + public get alphaSections(): AlphaSectionsClient { + return (this._alphaSections ??= new AlphaSectionsClient(this._options)); } - public get newSectionVersions(): NewSectionVersionsClient { - return (this._newSectionVersions ??= new NewSectionVersionsClient(this._options)); + public get alphaSectionVersions(): AlphaSectionVersionsClient { + return (this._alphaSectionVersions ??= new AlphaSectionVersionsClient(this._options)); } - public get newTemplateVersions(): NewTemplateVersionsClient { - return (this._newTemplateVersions ??= new NewTemplateVersionsClient(this._options)); + public get alphaTemplateVersions(): AlphaTemplateVersionsClient { + return (this._alphaTemplateVersions ??= new AlphaTemplateVersionsClient(this._options)); } public get agents(): AgentsClient { diff --git a/src/api/resources/newSectionVersions/client/Client.ts b/src/api/resources/alphaSectionVersions/client/Client.ts similarity index 89% rename from src/api/resources/newSectionVersions/client/Client.ts rename to src/api/resources/alphaSectionVersions/client/Client.ts index 1bcb5e62..206716e6 100644 --- a/src/api/resources/newSectionVersions/client/Client.ts +++ b/src/api/resources/alphaSectionVersions/client/Client.ts @@ -9,38 +9,38 @@ import * as errors from "../../../../errors/index.js"; import * as serializers from "../../../../serialization/index.js"; import * as Corti from "../../../index.js"; -export declare namespace NewSectionVersionsClient { +export declare namespace AlphaSectionVersionsClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NewSectionVersionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class AlphaSectionVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: NewSectionVersionsClient.Options) { + constructor(options: AlphaSectionVersionsClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} sectionID - * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSectionVersions.list("sectionID") + * await client.alphaSectionVersions.list("sectionID") */ public list( sectionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); } private async __list( sectionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -66,7 +66,7 @@ export class NewSectionVersionsClient { }); if (_response.ok) { return { - data: serializers.newSectionVersions.list.Response.parseOrThrow(_response.body, { + data: serializers.alphaSectionVersions.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -101,13 +101,13 @@ export class NewSectionVersionsClient { /** * @param {string} sectionID * @param {Corti.SectionGeneration} request - * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.newSectionVersions.create("sectionID", { + * await client.alphaSectionVersions.create("sectionID", { * title: "title", * instructions: { * contentPrompt: "contentPrompt", @@ -121,7 +121,7 @@ export class NewSectionVersionsClient { public create( sectionID: string, request: Corti.SectionGeneration, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); } @@ -129,7 +129,7 @@ export class NewSectionVersionsClient { private async __create( sectionID: string, request: Corti.SectionGeneration, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -198,17 +198,17 @@ export class NewSectionVersionsClient { /** * @param {string} sectionID * @param {string} versionID - * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSectionVersions.get("sectionID", "versionID") + * await client.alphaSectionVersions.get("sectionID", "versionID") */ public get( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); } @@ -216,7 +216,7 @@ export class NewSectionVersionsClient { private async __get( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -277,17 +277,17 @@ export class NewSectionVersionsClient { /** * @param {string} sectionID * @param {string} versionID - * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSectionVersions.delete("sectionID", "versionID") + * await client.alphaSectionVersions.delete("sectionID", "versionID") */ public delete( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); } @@ -295,7 +295,7 @@ export class NewSectionVersionsClient { private async __delete( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -349,17 +349,17 @@ export class NewSectionVersionsClient { * * @param {string} sectionID * @param {string} versionID - * @param {NewSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSectionVersions.publish("sectionID", "versionID") + * await client.alphaSectionVersions.publish("sectionID", "versionID") */ public publish( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); } @@ -367,7 +367,7 @@ export class NewSectionVersionsClient { private async __publish( sectionID: string, versionID: string, - requestOptions?: NewSectionVersionsClient.RequestOptions, + requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/newSectionVersions/client/index.ts b/src/api/resources/alphaSectionVersions/client/index.ts similarity index 100% rename from src/api/resources/newSectionVersions/client/index.ts rename to src/api/resources/alphaSectionVersions/client/index.ts diff --git a/src/api/resources/newSectionVersions/index.ts b/src/api/resources/alphaSectionVersions/index.ts similarity index 100% rename from src/api/resources/newSectionVersions/index.ts rename to src/api/resources/alphaSectionVersions/index.ts diff --git a/src/api/resources/newSections/client/Client.ts b/src/api/resources/alphaSections/client/Client.ts similarity index 89% rename from src/api/resources/newSections/client/Client.ts rename to src/api/resources/alphaSections/client/Client.ts index bf71df0a..45aed185 100644 --- a/src/api/resources/newSections/client/Client.ts +++ b/src/api/resources/alphaSections/client/Client.ts @@ -9,36 +9,36 @@ import * as errors from "../../../../errors/index.js"; import * as serializers from "../../../../serialization/index.js"; import * as Corti from "../../../index.js"; -export declare namespace NewSectionsClient { +export declare namespace AlphaSectionsClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NewSectionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class AlphaSectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: NewSectionsClient.Options) { + constructor(options: AlphaSectionsClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** - * @param {Corti.ListNewSectionsRequest} request - * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {Corti.ListAlphaSectionsRequest} request + * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newSections.list() + * await client.alphaSections.list() */ public list( - request: Corti.ListNewSectionsRequest = {}, - requestOptions?: NewSectionsClient.RequestOptions, + request: Corti.ListAlphaSectionsRequest = {}, + requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( - request: Corti.ListNewSectionsRequest = {}, - requestOptions?: NewSectionsClient.RequestOptions, + request: Corti.ListAlphaSectionsRequest = {}, + requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const { lang, label, published } = request; const _queryParams: Record = { @@ -70,7 +70,7 @@ export class NewSectionsClient { }); if (_response.ok) { return { - data: serializers.newSections.list.Response.parseOrThrow(_response.body, { + data: serializers.alphaSections.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -94,12 +94,12 @@ export class NewSectionsClient { /** * @param {Corti.CreateSectionRequest} request - * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * * @example - * await client.newSections.create({ + * await client.alphaSections.create({ * name: "name", * language: "language", * generation: { @@ -116,14 +116,14 @@ export class NewSectionsClient { */ public create( request: Corti.CreateSectionRequest, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Corti.CreateSectionRequest, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -184,23 +184,23 @@ export class NewSectionsClient { /** * @param {string} sectionID - * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSections.get("sectionID") + * await client.alphaSections.get("sectionID") */ public get( sectionID: string, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); } private async __get( sectionID: string, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -255,23 +255,23 @@ export class NewSectionsClient { /** * @param {string} sectionID - * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.newSections.delete("sectionID") + * await client.alphaSections.delete("sectionID") */ public delete( sectionID: string, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); } private async __delete( sectionID: string, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -323,18 +323,18 @@ export class NewSectionsClient { /** * @param {string} sectionID * @param {Corti.UpdateSectionRequest} request - * @param {NewSectionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.newSections.update("sectionID") + * await client.alphaSections.update("sectionID") */ public update( sectionID: string, request: Corti.UpdateSectionRequest = {}, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); } @@ -342,7 +342,7 @@ export class NewSectionsClient { private async __update( sectionID: string, request: Corti.UpdateSectionRequest = {}, - requestOptions?: NewSectionsClient.RequestOptions, + requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/newSections/client/index.ts b/src/api/resources/alphaSections/client/index.ts similarity index 100% rename from src/api/resources/newSections/client/index.ts rename to src/api/resources/alphaSections/client/index.ts diff --git a/src/api/resources/newSections/client/requests/CreateSectionRequest.ts b/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts similarity index 100% rename from src/api/resources/newSections/client/requests/CreateSectionRequest.ts rename to src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts diff --git a/src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts b/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts similarity index 90% rename from src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts rename to src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts index 7aeb734c..7d7d8ccf 100644 --- a/src/api/resources/newSections/client/requests/ListNewSectionsRequest.ts +++ b/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts @@ -4,7 +4,7 @@ * @example * {} */ -export interface ListNewSectionsRequest { +export interface ListAlphaSectionsRequest { /** Filter sections by language (BCP 47 tag). Repeatable. */ lang?: string | string[]; /** Filter sections by label. Repeatable; matches sections that have any of the given labels. */ diff --git a/src/api/resources/newSections/client/requests/UpdateSectionRequest.ts b/src/api/resources/alphaSections/client/requests/UpdateSectionRequest.ts similarity index 100% rename from src/api/resources/newSections/client/requests/UpdateSectionRequest.ts rename to src/api/resources/alphaSections/client/requests/UpdateSectionRequest.ts diff --git a/src/api/resources/newSections/client/requests/index.ts b/src/api/resources/alphaSections/client/requests/index.ts similarity index 64% rename from src/api/resources/newSections/client/requests/index.ts rename to src/api/resources/alphaSections/client/requests/index.ts index b69d0bfe..e0806747 100644 --- a/src/api/resources/newSections/client/requests/index.ts +++ b/src/api/resources/alphaSections/client/requests/index.ts @@ -1,3 +1,3 @@ export type { CreateSectionRequest } from "./CreateSectionRequest.js"; -export type { ListNewSectionsRequest } from "./ListNewSectionsRequest.js"; +export type { ListAlphaSectionsRequest } from "./ListAlphaSectionsRequest.js"; export type { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/api/resources/newSections/index.ts b/src/api/resources/alphaSections/index.ts similarity index 100% rename from src/api/resources/newSections/index.ts rename to src/api/resources/alphaSections/index.ts diff --git a/src/api/resources/newTemplateVersions/client/Client.ts b/src/api/resources/alphaTemplateVersions/client/Client.ts similarity index 86% rename from src/api/resources/newTemplateVersions/client/Client.ts rename to src/api/resources/alphaTemplateVersions/client/Client.ts index f65992cc..39efe73b 100644 --- a/src/api/resources/newTemplateVersions/client/Client.ts +++ b/src/api/resources/alphaTemplateVersions/client/Client.ts @@ -7,36 +7,36 @@ import * as core from "../../../../core/index.js"; import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; import * as errors from "../../../../errors/index.js"; -export declare namespace NewTemplateVersionsClient { +export declare namespace AlphaTemplateVersionsClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NewTemplateVersionsClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class AlphaTemplateVersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: NewTemplateVersionsClient.Options) { + constructor(options: AlphaTemplateVersionsClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} templateId - * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplateVersions.list("templateId") + * await client.alphaTemplateVersions.list("templateId") */ public list( templateId: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(templateId, requestOptions)); } private async __list( templateId: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -82,21 +82,21 @@ export class NewTemplateVersionsClient { /** * @param {string} templateId - * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplateVersions.create("templateId") + * await client.alphaTemplateVersions.create("templateId") */ public create( templateId: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(templateId, requestOptions)); } private async __create( templateId: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -143,15 +143,15 @@ export class NewTemplateVersionsClient { /** * @param {string} templateId * @param {string} versionID - * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplateVersions.get("templateId", "versionID") + * await client.alphaTemplateVersions.get("templateId", "versionID") */ public get( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateId, versionID, requestOptions)); } @@ -159,7 +159,7 @@ export class NewTemplateVersionsClient { private async __get( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -206,15 +206,15 @@ export class NewTemplateVersionsClient { /** * @param {string} templateId * @param {string} versionID - * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplateVersions.delete("templateId", "versionID") + * await client.alphaTemplateVersions.delete("templateId", "versionID") */ public delete( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(templateId, versionID, requestOptions)); } @@ -222,7 +222,7 @@ export class NewTemplateVersionsClient { private async __delete( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -269,15 +269,15 @@ export class NewTemplateVersionsClient { /** * @param {string} templateId * @param {string} versionID - * @param {NewTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplateVersions.publish("templateId", "versionID") + * await client.alphaTemplateVersions.publish("templateId", "versionID") */ public publish( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__publish(templateId, versionID, requestOptions)); } @@ -285,7 +285,7 @@ export class NewTemplateVersionsClient { private async __publish( templateId: string, versionID: string, - requestOptions?: NewTemplateVersionsClient.RequestOptions, + requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/newTemplateVersions/client/index.ts b/src/api/resources/alphaTemplateVersions/client/index.ts similarity index 100% rename from src/api/resources/newTemplateVersions/client/index.ts rename to src/api/resources/alphaTemplateVersions/client/index.ts diff --git a/src/api/resources/newTemplateVersions/index.ts b/src/api/resources/alphaTemplateVersions/index.ts similarity index 100% rename from src/api/resources/newTemplateVersions/index.ts rename to src/api/resources/alphaTemplateVersions/index.ts diff --git a/src/api/resources/newTemplates/client/Client.ts b/src/api/resources/alphaTemplates/client/Client.ts similarity index 86% rename from src/api/resources/newTemplates/client/Client.ts rename to src/api/resources/alphaTemplates/client/Client.ts index 7e3258e1..078a2585 100644 --- a/src/api/resources/newTemplates/client/Client.ts +++ b/src/api/resources/alphaTemplates/client/Client.ts @@ -9,36 +9,36 @@ import * as errors from "../../../../errors/index.js"; import * as serializers from "../../../../serialization/index.js"; import * as Corti from "../../../index.js"; -export declare namespace NewTemplatesClient { +export declare namespace AlphaTemplatesClient { export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NewTemplatesClient { - protected readonly _options: NormalizedClientOptionsWithAuth; +export class AlphaTemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(options: NewTemplatesClient.Options) { + constructor(options: AlphaTemplatesClient.Options) { this._options = normalizeClientOptionsWithAuth(options); } /** - * @param {Corti.ListNewTemplatesRequest} request - * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {Corti.ListAlphaTemplatesRequest} request + * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplates.list() + * await client.alphaTemplates.list() */ public list( - request: Corti.ListNewTemplatesRequest = {}, - requestOptions?: NewTemplatesClient.RequestOptions, + request: Corti.ListAlphaTemplatesRequest = {}, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( - request: Corti.ListNewTemplatesRequest = {}, - requestOptions?: NewTemplatesClient.RequestOptions, + request: Corti.ListAlphaTemplatesRequest = {}, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const { lang, label, published } = request; const _queryParams: Record = { @@ -70,7 +70,7 @@ export class NewTemplatesClient { }); if (_response.ok) { return { - data: serializers.newTemplates.list.Response.parseOrThrow(_response.body, { + data: serializers.alphaTemplates.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -94,12 +94,12 @@ export class NewTemplatesClient { /** * @param {Corti.CreateTemplateRequest} request - * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} * * @example - * await client.newTemplates.create({ + * await client.alphaTemplates.create({ * name: "name", * language: "language", * generation: { @@ -111,14 +111,14 @@ export class NewTemplatesClient { */ public create( request: Corti.CreateTemplateRequest, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Corti.CreateTemplateRequest, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -179,18 +179,21 @@ export class NewTemplatesClient { /** * @param {string} templateId - * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplates.get("templateId") + * await client.alphaTemplates.get("templateId") */ - public get(templateId: string, requestOptions?: NewTemplatesClient.RequestOptions): core.HttpResponsePromise { + public get( + templateId: string, + requestOptions?: AlphaTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); } private async __get( templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -231,21 +234,21 @@ export class NewTemplatesClient { /** * @param {string} templateId - * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplates.delete("templateId") + * await client.alphaTemplates.delete("templateId") */ public delete( templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(templateId, requestOptions)); } private async __delete( templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( @@ -291,21 +294,21 @@ export class NewTemplatesClient { /** * @param {string} templateId - * @param {NewTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. + * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.newTemplates.update("templateId") + * await client.alphaTemplates.update("templateId") */ public update( templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(templateId, requestOptions)); } private async __update( templateId: string, - requestOptions?: NewTemplatesClient.RequestOptions, + requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( diff --git a/src/api/resources/newTemplates/client/index.ts b/src/api/resources/alphaTemplates/client/index.ts similarity index 100% rename from src/api/resources/newTemplates/client/index.ts rename to src/api/resources/alphaTemplates/client/index.ts diff --git a/src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts similarity index 100% rename from src/api/resources/newTemplates/client/requests/CreateTemplateRequest.ts rename to src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts diff --git a/src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts b/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts similarity index 90% rename from src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts rename to src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts index c16d3cf3..9be9181c 100644 --- a/src/api/resources/newTemplates/client/requests/ListNewTemplatesRequest.ts +++ b/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts @@ -4,7 +4,7 @@ * @example * {} */ -export interface ListNewTemplatesRequest { +export interface ListAlphaTemplatesRequest { /** Filter templates by language (BCP 47 tag). Repeatable. */ lang?: string | string[]; /** Filter templates by label. Repeatable; matches templates that have any of the given labels. */ diff --git a/src/api/resources/alphaTemplates/client/requests/index.ts b/src/api/resources/alphaTemplates/client/requests/index.ts new file mode 100644 index 00000000..bd6edb2b --- /dev/null +++ b/src/api/resources/alphaTemplates/client/requests/index.ts @@ -0,0 +1,2 @@ +export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; +export type { ListAlphaTemplatesRequest } from "./ListAlphaTemplatesRequest.js"; diff --git a/src/api/resources/newTemplates/index.ts b/src/api/resources/alphaTemplates/index.ts similarity index 100% rename from src/api/resources/newTemplates/index.ts rename to src/api/resources/alphaTemplates/index.ts diff --git a/src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts b/src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts similarity index 100% rename from src/api/resources/newTemplates/types/CreateTemplateRequestGeneration.ts rename to src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts diff --git a/src/api/resources/newTemplates/types/index.ts b/src/api/resources/alphaTemplates/types/index.ts similarity index 100% rename from src/api/resources/newTemplates/types/index.ts rename to src/api/resources/alphaTemplates/types/index.ts diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 9d7612ac..cc41fc96 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -1,6 +1,13 @@ export * from "./agents/client/requests/index.js"; export * as agents from "./agents/index.js"; export * from "./agents/types/index.js"; +export * from "./alphaSections/client/requests/index.js"; +export * as alphaSections from "./alphaSections/index.js"; +export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; +export * from "./alphaTemplates/client/requests/index.js"; +export * as alphaTemplates from "./alphaTemplates/index.js"; +export * from "./alphaTemplates/types/index.js"; +export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; @@ -12,13 +19,6 @@ export * as facts from "./facts/index.js"; export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; -export * from "./newSections/client/requests/index.js"; -export * as newSections from "./newSections/index.js"; -export * as newSectionVersions from "./newSectionVersions/index.js"; -export * from "./newTemplates/client/requests/index.js"; -export * as newTemplates from "./newTemplates/index.js"; -export * from "./newTemplates/types/index.js"; -export * as newTemplateVersions from "./newTemplateVersions/index.js"; export * as recordings from "./recordings/index.js"; export * as stream from "./stream/index.js"; export * from "./templates/client/requests/index.js"; diff --git a/src/api/resources/newTemplates/client/requests/index.ts b/src/api/resources/newTemplates/client/requests/index.ts deleted file mode 100644 index 7930eef2..00000000 --- a/src/api/resources/newTemplates/client/requests/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; -export type { ListNewTemplatesRequest } from "./ListNewTemplatesRequest.js"; diff --git a/src/serialization/resources/newSectionVersions/client/index.ts b/src/serialization/resources/alphaSectionVersions/client/index.ts similarity index 100% rename from src/serialization/resources/newSectionVersions/client/index.ts rename to src/serialization/resources/alphaSectionVersions/client/index.ts diff --git a/src/serialization/resources/newSectionVersions/client/list.ts b/src/serialization/resources/alphaSectionVersions/client/list.ts similarity index 89% rename from src/serialization/resources/newSectionVersions/client/list.ts rename to src/serialization/resources/alphaSectionVersions/client/list.ts index cb58b027..58ef6401 100644 --- a/src/serialization/resources/newSectionVersions/client/list.ts +++ b/src/serialization/resources/alphaSectionVersions/client/list.ts @@ -6,7 +6,7 @@ import type * as serializers from "../../../index.js"; import { SectionVersion } from "../../../types/SectionVersion.js"; export const Response: core.serialization.Schema< - serializers.newSectionVersions.list.Response.Raw, + serializers.alphaSectionVersions.list.Response.Raw, Corti.SectionVersion[] > = core.serialization.list(SectionVersion); diff --git a/src/serialization/resources/newSectionVersions/index.ts b/src/serialization/resources/alphaSectionVersions/index.ts similarity index 100% rename from src/serialization/resources/newSectionVersions/index.ts rename to src/serialization/resources/alphaSectionVersions/index.ts diff --git a/src/serialization/resources/newSections/client/index.ts b/src/serialization/resources/alphaSections/client/index.ts similarity index 100% rename from src/serialization/resources/newSections/client/index.ts rename to src/serialization/resources/alphaSections/client/index.ts diff --git a/src/serialization/resources/newSections/client/list.ts b/src/serialization/resources/alphaSections/client/list.ts similarity index 77% rename from src/serialization/resources/newSections/client/list.ts rename to src/serialization/resources/alphaSections/client/list.ts index 448889a3..d1f360b6 100644 --- a/src/serialization/resources/newSections/client/list.ts +++ b/src/serialization/resources/alphaSections/client/list.ts @@ -5,7 +5,7 @@ import * as core from "../../../../core/index.js"; import type * as serializers from "../../../index.js"; import { Section } from "../../../types/Section.js"; -export const Response: core.serialization.Schema = +export const Response: core.serialization.Schema = core.serialization.list(Section); export declare namespace Response { diff --git a/src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts b/src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts similarity index 100% rename from src/serialization/resources/newSections/client/requests/CreateSectionRequest.ts rename to src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts diff --git a/src/serialization/resources/newSections/client/requests/UpdateSectionRequest.ts b/src/serialization/resources/alphaSections/client/requests/UpdateSectionRequest.ts similarity index 100% rename from src/serialization/resources/newSections/client/requests/UpdateSectionRequest.ts rename to src/serialization/resources/alphaSections/client/requests/UpdateSectionRequest.ts diff --git a/src/serialization/resources/newSections/client/requests/index.ts b/src/serialization/resources/alphaSections/client/requests/index.ts similarity index 100% rename from src/serialization/resources/newSections/client/requests/index.ts rename to src/serialization/resources/alphaSections/client/requests/index.ts diff --git a/src/serialization/resources/newSections/index.ts b/src/serialization/resources/alphaSections/index.ts similarity index 100% rename from src/serialization/resources/newSections/index.ts rename to src/serialization/resources/alphaSections/index.ts diff --git a/src/serialization/resources/newTemplates/client/index.ts b/src/serialization/resources/alphaTemplates/client/index.ts similarity index 100% rename from src/serialization/resources/newTemplates/client/index.ts rename to src/serialization/resources/alphaTemplates/client/index.ts diff --git a/src/serialization/resources/newTemplates/client/list.ts b/src/serialization/resources/alphaTemplates/client/list.ts similarity index 77% rename from src/serialization/resources/newTemplates/client/list.ts rename to src/serialization/resources/alphaTemplates/client/list.ts index bc4e09af..70443729 100644 --- a/src/serialization/resources/newTemplates/client/list.ts +++ b/src/serialization/resources/alphaTemplates/client/list.ts @@ -5,7 +5,7 @@ import * as core from "../../../../core/index.js"; import type * as serializers from "../../../index.js"; import { Template } from "../../../types/Template.js"; -export const Response: core.serialization.Schema = +export const Response: core.serialization.Schema = core.serialization.list(Template); export declare namespace Response { diff --git a/src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts b/src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts similarity index 100% rename from src/serialization/resources/newTemplates/client/requests/CreateTemplateRequest.ts rename to src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts diff --git a/src/serialization/resources/newTemplates/client/requests/index.ts b/src/serialization/resources/alphaTemplates/client/requests/index.ts similarity index 100% rename from src/serialization/resources/newTemplates/client/requests/index.ts rename to src/serialization/resources/alphaTemplates/client/requests/index.ts diff --git a/src/serialization/resources/newTemplates/index.ts b/src/serialization/resources/alphaTemplates/index.ts similarity index 100% rename from src/serialization/resources/newTemplates/index.ts rename to src/serialization/resources/alphaTemplates/index.ts diff --git a/src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts b/src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts similarity index 100% rename from src/serialization/resources/newTemplates/types/CreateTemplateRequestGeneration.ts rename to src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts diff --git a/src/serialization/resources/newTemplates/types/index.ts b/src/serialization/resources/alphaTemplates/types/index.ts similarity index 100% rename from src/serialization/resources/newTemplates/types/index.ts rename to src/serialization/resources/alphaTemplates/types/index.ts diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index f5233024..08401909 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -1,6 +1,12 @@ export * from "./agents/client/requests/index.js"; export * as agents from "./agents/index.js"; export * from "./agents/types/index.js"; +export * from "./alphaSections/client/requests/index.js"; +export * as alphaSections from "./alphaSections/index.js"; +export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; +export * from "./alphaTemplates/client/requests/index.js"; +export * as alphaTemplates from "./alphaTemplates/index.js"; +export * from "./alphaTemplates/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; @@ -12,12 +18,6 @@ export * as facts from "./facts/index.js"; export * from "./interactions/client/requests/index.js"; export * as interactions from "./interactions/index.js"; export * from "./interactions/types/index.js"; -export * from "./newSections/client/requests/index.js"; -export * as newSections from "./newSections/index.js"; -export * as newSectionVersions from "./newSectionVersions/index.js"; -export * from "./newTemplates/client/requests/index.js"; -export * as newTemplates from "./newTemplates/index.js"; -export * from "./newTemplates/types/index.js"; export * from "./stream/client/socket/index.js"; export * as stream from "./stream/index.js"; export * from "./transcribe/client/socket/index.js"; diff --git a/tests/wire/newSectionVersions.test.ts b/tests/wire/alphaSectionVersions.test.ts similarity index 93% rename from tests/wire/newSectionVersions.test.ts rename to tests/wire/alphaSectionVersions.test.ts index 078bc510..5a149972 100644 --- a/tests/wire/newSectionVersions.test.ts +++ b/tests/wire/alphaSectionVersions.test.ts @@ -5,7 +5,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("NewSectionVersionsClient", () => { +describe("AlphaSectionVersionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -38,7 +38,7 @@ describe("NewSectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSectionVersions.list("sectionID"); + const response = await client.alphaSectionVersions.list("sectionID"); expect(response).toEqual([ { id: "id", @@ -80,7 +80,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.list("sectionID"); + return await client.alphaSectionVersions.list("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -125,7 +125,7 @@ describe("NewSectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSectionVersions.create("sectionID", { + const response = await client.alphaSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -183,7 +183,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.create("sectionID", { + return await client.alphaSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -224,7 +224,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.create("sectionID", { + return await client.alphaSectionVersions.create("sectionID", { title: "title", instructions: { contentPrompt: "contentPrompt", @@ -273,7 +273,7 @@ describe("NewSectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSectionVersions.get("sectionID", "versionID"); + const response = await client.alphaSectionVersions.get("sectionID", "versionID"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -317,7 +317,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.get("sectionID", "versionID"); + return await client.alphaSectionVersions.get("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -340,7 +340,7 @@ describe("NewSectionVersionsClient", () => { .statusCode(200) .build(); - const response = await client.newSectionVersions.delete("sectionID", "versionID"); + const response = await client.alphaSectionVersions.delete("sectionID", "versionID"); expect(response).toEqual(undefined); }); @@ -367,7 +367,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.delete("sectionID", "versionID"); + return await client.alphaSectionVersions.delete("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -393,7 +393,7 @@ describe("NewSectionVersionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSectionVersions.publish("sectionID", "versionID"); + const response = await client.alphaSectionVersions.publish("sectionID", "versionID"); expect(response).toEqual({ status: "published", }); @@ -422,7 +422,7 @@ describe("NewSectionVersionsClient", () => { .build(); await expect(async () => { - return await client.newSectionVersions.publish("sectionID", "versionID"); + return await client.alphaSectionVersions.publish("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/newSections.test.ts b/tests/wire/alphaSections.test.ts similarity index 95% rename from tests/wire/newSections.test.ts rename to tests/wire/alphaSections.test.ts index cac0f883..9659fd0d 100644 --- a/tests/wire/newSections.test.ts +++ b/tests/wire/alphaSections.test.ts @@ -5,7 +5,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("NewSectionsClient", () => { +describe("AlphaSectionsClient", () => { test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -43,7 +43,7 @@ describe("NewSectionsClient", () => { server.mockEndpoint().get("/alpha/sections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); - const response = await client.newSections.list(); + const response = await client.alphaSections.list(); expect(response).toEqual([ { id: "id", @@ -123,7 +123,7 @@ describe("NewSectionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSections.create({ + const response = await client.alphaSections.create({ name: "name", language: "language", generation: { @@ -196,7 +196,7 @@ describe("NewSectionsClient", () => { .build(); await expect(async () => { - return await client.newSections.create({ + return await client.alphaSections.create({ name: "name", language: "language", generation: { @@ -254,7 +254,7 @@ describe("NewSectionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSections.get("sectionID"); + const response = await client.alphaSections.get("sectionID"); expect(response).toEqual({ id: "id", inheritedFromId: "inheritedFromId", @@ -305,7 +305,7 @@ describe("NewSectionsClient", () => { .build(); await expect(async () => { - return await client.newSections.get("sectionID"); + return await client.alphaSections.get("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -323,7 +323,7 @@ describe("NewSectionsClient", () => { server.mockEndpoint().delete("/alpha/sections/sectionID").respondWith().statusCode(200).build(); - const response = await client.newSections.delete("sectionID"); + const response = await client.alphaSections.delete("sectionID"); expect(response).toEqual(undefined); }); @@ -350,7 +350,7 @@ describe("NewSectionsClient", () => { .build(); await expect(async () => { - return await client.newSections.delete("sectionID"); + return await client.alphaSections.delete("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); @@ -396,7 +396,7 @@ describe("NewSectionsClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newSections.update("sectionID"); + const response = await client.alphaSections.update("sectionID"); expect(response).toEqual({ id: "id", inheritedFromId: "inheritedFromId", @@ -448,7 +448,7 @@ describe("NewSectionsClient", () => { .build(); await expect(async () => { - return await client.newSections.update("sectionID"); + return await client.alphaSections.update("sectionID"); }).rejects.toThrow(Corti.BadRequestError); }); @@ -476,7 +476,7 @@ describe("NewSectionsClient", () => { .build(); await expect(async () => { - return await client.newSections.update("sectionID"); + return await client.alphaSections.update("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/newTemplateVersions.test.ts b/tests/wire/alphaTemplateVersions.test.ts similarity index 87% rename from tests/wire/newTemplateVersions.test.ts rename to tests/wire/alphaTemplateVersions.test.ts index 44963381..23996282 100644 --- a/tests/wire/newTemplateVersions.test.ts +++ b/tests/wire/alphaTemplateVersions.test.ts @@ -4,7 +4,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("NewTemplateVersionsClient", () => { +describe("AlphaTemplateVersionsClient", () => { test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -19,7 +19,7 @@ describe("NewTemplateVersionsClient", () => { server.mockEndpoint().get("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); - const response = await client.newTemplateVersions.list("templateId"); + const response = await client.alphaTemplateVersions.list("templateId"); expect(response).toEqual(undefined); }); @@ -37,7 +37,7 @@ describe("NewTemplateVersionsClient", () => { server.mockEndpoint().post("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); - const response = await client.newTemplateVersions.create("templateId"); + const response = await client.alphaTemplateVersions.create("templateId"); expect(response).toEqual(undefined); }); @@ -60,7 +60,7 @@ describe("NewTemplateVersionsClient", () => { .statusCode(200) .build(); - const response = await client.newTemplateVersions.get("templateId", "versionID"); + const response = await client.alphaTemplateVersions.get("templateId", "versionID"); expect(response).toEqual(undefined); }); @@ -83,7 +83,7 @@ describe("NewTemplateVersionsClient", () => { .statusCode(200) .build(); - const response = await client.newTemplateVersions.delete("templateId", "versionID"); + const response = await client.alphaTemplateVersions.delete("templateId", "versionID"); expect(response).toEqual(undefined); }); @@ -106,7 +106,7 @@ describe("NewTemplateVersionsClient", () => { .statusCode(200) .build(); - const response = await client.newTemplateVersions.publish("templateId", "versionID"); + const response = await client.alphaTemplateVersions.publish("templateId", "versionID"); expect(response).toEqual(undefined); }); }); diff --git a/tests/wire/newTemplates.test.ts b/tests/wire/alphaTemplates.test.ts similarity index 96% rename from tests/wire/newTemplates.test.ts rename to tests/wire/alphaTemplates.test.ts index bf23ed56..24d19da6 100644 --- a/tests/wire/newTemplates.test.ts +++ b/tests/wire/alphaTemplates.test.ts @@ -5,7 +5,7 @@ import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; -describe("NewTemplatesClient", () => { +describe("AlphaTemplatesClient", () => { test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -63,7 +63,7 @@ describe("NewTemplatesClient", () => { server.mockEndpoint().get("/alpha/templates").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); - const response = await client.newTemplates.list(); + const response = await client.alphaTemplates.list(); expect(response).toEqual([ { id: "id", @@ -178,7 +178,7 @@ describe("NewTemplatesClient", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.newTemplates.create({ + const response = await client.alphaTemplates.create({ name: "name", language: "language", generation: { @@ -261,7 +261,7 @@ describe("NewTemplatesClient", () => { .build(); await expect(async () => { - return await client.newTemplates.create({ + return await client.alphaTemplates.create({ name: "name", language: "language", generation: { @@ -287,7 +287,7 @@ describe("NewTemplatesClient", () => { server.mockEndpoint().get("/alpha/templates/templateId").respondWith().statusCode(200).build(); - const response = await client.newTemplates.get("templateId"); + const response = await client.alphaTemplates.get("templateId"); expect(response).toEqual(undefined); }); @@ -305,7 +305,7 @@ describe("NewTemplatesClient", () => { server.mockEndpoint().delete("/alpha/templates/templateId").respondWith().statusCode(200).build(); - const response = await client.newTemplates.delete("templateId"); + const response = await client.alphaTemplates.delete("templateId"); expect(response).toEqual(undefined); }); @@ -323,7 +323,7 @@ describe("NewTemplatesClient", () => { server.mockEndpoint().patch("/alpha/templates/templateId").respondWith().statusCode(200).build(); - const response = await client.newTemplates.update("templateId"); + const response = await client.alphaTemplates.update("templateId"); expect(response).toEqual(undefined); }); }); From 941413f94fefd7e79fea24081b34e03abe425c9c Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 5 May 2026 12:28:45 +0000 Subject: [PATCH 25/44] SDK regeneration --- .fern/metadata.json | 2 +- src/BaseClient.ts | 4 +- src/Client.ts | 10 +- .../alphaTemplateVersions/client/Client.ts | 237 +++++++--- .../alphaTemplateVersions/client/index.ts | 2 +- .../requests/CreateTemplateVersionRequest.ts | 17 + .../client/requests/index.ts | 1 + .../resources/alphaTemplateVersions/index.ts | 1 + .../CreateTemplateVersionRequestGeneration.ts | 8 + .../alphaTemplateVersions/types/index.ts | 1 + .../resources/alphaTemplates/client/Client.ts | 135 ++++-- .../client/requests/UpdateTemplateRequest.ts | 12 + .../alphaTemplates/client/requests/index.ts | 1 + src/api/resources/index.ts | 2 + .../alphaTemplateVersions/client/index.ts | 2 + .../alphaTemplateVersions/client/list.ts | 15 + .../requests/CreateTemplateVersionRequest.ts | 19 + .../client/requests/index.ts | 1 + .../resources/alphaTemplateVersions/index.ts | 2 + .../CreateTemplateVersionRequestGeneration.ts | 22 + .../alphaTemplateVersions/types/index.ts | 1 + .../client/requests/UpdateTemplateRequest.ts | 24 + .../alphaTemplates/client/requests/index.ts | 1 + src/serialization/resources/index.ts | 3 + tests/wire/alphaTemplateVersions.test.ts | 430 +++++++++++++++++- tests/wire/alphaTemplates.test.ts | 313 ++++++++++++- 26 files changed, 1113 insertions(+), 153 deletions(-) create mode 100644 src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/api/resources/alphaTemplateVersions/client/requests/index.ts create mode 100644 src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts create mode 100644 src/api/resources/alphaTemplateVersions/types/index.ts create mode 100644 src/api/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/list.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/types/index.ts create mode 100644 src/serialization/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index a8cbb864..7d67b9e1 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -32,6 +32,6 @@ } } }, - "originGitCommit": "af20a34e23adcd41595006861f8b1f63eeb146e6", + "originGitCommit": "f47b5b6c5c338ad2dc24f17f2984b275a97f442b", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 27d389e5..1b76cbaa 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/Client.ts b/src/Client.ts index c8975ff5..55e47765 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -35,9 +35,9 @@ export class CortiClient { protected _templates: TemplatesClient | undefined; protected _codes: CodesClient | undefined; protected _alphaTemplates: AlphaTemplatesClient | undefined; + protected _alphaTemplateVersions: AlphaTemplateVersionsClient | undefined; protected _alphaSections: AlphaSectionsClient | undefined; protected _alphaSectionVersions: AlphaSectionVersionsClient | undefined; - protected _alphaTemplateVersions: AlphaTemplateVersionsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -82,6 +82,10 @@ export class CortiClient { return (this._alphaTemplates ??= new AlphaTemplatesClient(this._options)); } + public get alphaTemplateVersions(): AlphaTemplateVersionsClient { + return (this._alphaTemplateVersions ??= new AlphaTemplateVersionsClient(this._options)); + } + public get alphaSections(): AlphaSectionsClient { return (this._alphaSections ??= new AlphaSectionsClient(this._options)); } @@ -90,10 +94,6 @@ export class CortiClient { return (this._alphaSectionVersions ??= new AlphaSectionVersionsClient(this._options)); } - public get alphaTemplateVersions(): AlphaTemplateVersionsClient { - return (this._alphaTemplateVersions ??= new AlphaTemplateVersionsClient(this._options)); - } - public get agents(): AgentsClient { return (this._agents ??= new AgentsClient(this._options)); } diff --git a/src/api/resources/alphaTemplateVersions/client/Client.ts b/src/api/resources/alphaTemplateVersions/client/Client.ts index 39efe73b..09dcb866 100644 --- a/src/api/resources/alphaTemplateVersions/client/Client.ts +++ b/src/api/resources/alphaTemplateVersions/client/Client.ts @@ -6,6 +6,8 @@ import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers. import * as core from "../../../../core/index.js"; import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; export declare namespace AlphaTemplateVersionsClient { export type Options = BaseClientOptions; @@ -21,23 +23,25 @@ export class AlphaTemplateVersionsClient { } /** - * @param {string} templateId + * @param {string} templateID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.list("templateId") + * await client.alphaTemplateVersions.list("templateID") */ public list( - templateId: string, + templateID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(templateID, requestOptions)); } private async __list( - templateId: string, + templateID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -49,7 +53,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, ), method: "GET", headers: _headers, @@ -61,43 +65,69 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.alphaTemplateVersions.list.Response.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "GET", - "/alpha/templates/{templateId}/versions", + "/alpha/templates/{templateID}/versions", ); } /** - * @param {string} templateId + * @param {string} templateID + * @param {Corti.CreateTemplateVersionRequest} request * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.create("templateId") + * await client.alphaTemplateVersions.create("templateID", { + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } + * }) */ public create( - templateId: string, + templateID: string, + request: Corti.CreateTemplateVersionRequest, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(templateID, request, requestOptions)); } private async __create( - templateId: string, + templateID: string, + request: Corti.CreateTemplateVersionRequest, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -109,11 +139,17 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, ), method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateTemplateVersionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -121,46 +157,64 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.TemplateVersion.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/templates/{templateId}/versions", + "/alpha/templates/{templateID}/versions", ); } /** - * @param {string} templateId + * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.get("templateId", "versionID") + * await client.alphaTemplateVersions.get("templateID", "versionID") */ public get( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateId, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateID, versionID, requestOptions)); } private async __get( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -172,7 +226,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "GET", headers: _headers, @@ -184,43 +238,59 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.TemplateVersion.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "GET", - "/alpha/templates/{templateId}/versions/{versionID}", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** - * @param {string} templateId + * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.delete("templateId", "versionID") + * await client.alphaTemplateVersions.delete("templateID", "versionID") */ public delete( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateId, versionID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, versionID, requestOptions)); } private async __delete( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { @@ -235,7 +305,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "DELETE", headers: _headers, @@ -251,42 +321,51 @@ export class AlphaTemplateVersionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "DELETE", - "/alpha/templates/{templateId}/versions/{versionID}", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** - * @param {string} templateId + * Sets this version as the published version of the template. + * + * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.publish("templateId", "versionID") + * await client.alphaTemplateVersions.publish("templateID", "versionID") */ public publish( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__publish(templateId, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(templateID, versionID, requestOptions)); } private async __publish( - templateId: string, + templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -298,7 +377,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), method: "POST", headers: _headers, @@ -310,22 +389,36 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.StatusResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/templates/{templateId}/versions/{versionID}/publish", + "/alpha/templates/{templateID}/versions/{versionID}/publish", ); } } diff --git a/src/api/resources/alphaTemplateVersions/client/index.ts b/src/api/resources/alphaTemplateVersions/client/index.ts index cb0ff5c3..195f9aa8 100644 --- a/src/api/resources/alphaTemplateVersions/client/index.ts +++ b/src/api/resources/alphaTemplateVersions/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests/index.js"; diff --git a/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..66255820 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../index.js"; + +/** + * @example + * { + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } + * } + */ +export interface CreateTemplateVersionRequest { + generation: Corti.CreateTemplateVersionRequestGeneration; +} diff --git a/src/api/resources/alphaTemplateVersions/client/requests/index.ts b/src/api/resources/alphaTemplateVersions/client/requests/index.ts new file mode 100644 index 00000000..3d35d2f7 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export type { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/api/resources/alphaTemplateVersions/index.ts b/src/api/resources/alphaTemplateVersions/index.ts index 914b8c3c..d9adb1af 100644 --- a/src/api/resources/alphaTemplateVersions/index.ts +++ b/src/api/resources/alphaTemplateVersions/index.ts @@ -1 +1,2 @@ export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts new file mode 100644 index 00000000..ae309433 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../index.js"; + +export interface CreateTemplateVersionRequestGeneration { + instructions: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/resources/alphaTemplateVersions/types/index.ts b/src/api/resources/alphaTemplateVersions/types/index.ts new file mode 100644 index 00000000..78af3000 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/api/resources/alphaTemplates/client/Client.ts b/src/api/resources/alphaTemplates/client/Client.ts index 078a2585..afa17634 100644 --- a/src/api/resources/alphaTemplates/client/Client.ts +++ b/src/api/resources/alphaTemplates/client/Client.ts @@ -178,23 +178,25 @@ export class AlphaTemplatesClient { } /** - * @param {string} templateId + * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.get("templateId") + * await client.alphaTemplates.get("templateID") */ public get( - templateId: string, + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateID, requestOptions)); } private async __get( - templateId: string, + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -206,7 +208,7 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), method: "GET", headers: _headers, @@ -218,36 +220,52 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateId}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateID}"); } /** - * @param {string} templateId + * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.delete("templateId") + * await client.alphaTemplates.delete("templateID") */ public delete( - templateId: string, + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, requestOptions)); } private async __delete( - templateId: string, + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -261,7 +279,7 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), method: "DELETE", headers: _headers, @@ -277,39 +295,50 @@ export class AlphaTemplatesClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "DELETE", - "/alpha/templates/{templateId}", + "/alpha/templates/{templateID}", ); } /** - * @param {string} templateId + * @param {string} templateID + * @param {Corti.UpdateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.update("templateId") + * await client.alphaTemplates.update("templateID") */ public update( - templateId: string, + templateID: string, + request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(templateId, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(templateID, request, requestOptions)); } private async __update( - templateId: string, + templateID: string, + request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -321,11 +350,17 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateId)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -333,22 +368,38 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "PATCH", - "/alpha/templates/{templateId}", + "/alpha/templates/{templateID}", ); } } diff --git a/src/api/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts b/src/api/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts new file mode 100644 index 00000000..0ab19a77 --- /dev/null +++ b/src/api/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface UpdateTemplateRequest { + name?: string; + description?: string; + language?: string; + labels?: string[]; +} diff --git a/src/api/resources/alphaTemplates/client/requests/index.ts b/src/api/resources/alphaTemplates/client/requests/index.ts index bd6edb2b..0a46dc08 100644 --- a/src/api/resources/alphaTemplates/client/requests/index.ts +++ b/src/api/resources/alphaTemplates/client/requests/index.ts @@ -1,2 +1,3 @@ export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; export type { ListAlphaTemplatesRequest } from "./ListAlphaTemplatesRequest.js"; +export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index cc41fc96..84a15994 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -7,7 +7,9 @@ export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; export * from "./alphaTemplates/types/index.js"; +export * from "./alphaTemplateVersions/client/requests/index.js"; export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; +export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/client/index.ts b/src/serialization/resources/alphaTemplateVersions/client/index.ts new file mode 100644 index 00000000..cd155427 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/index.ts @@ -0,0 +1,2 @@ +export * as list from "./list.js"; +export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/client/list.ts b/src/serialization/resources/alphaTemplateVersions/client/list.ts new file mode 100644 index 00000000..a2924d99 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/list.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateVersion } from "../../../types/TemplateVersion.js"; + +export const Response: core.serialization.Schema< + serializers.alphaTemplateVersions.list.Response.Raw, + Corti.TemplateVersion[] +> = core.serialization.list(TemplateVersion); + +export declare namespace Response { + export type Raw = TemplateVersion.Raw[]; +} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..4c52846a --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; +import { CreateTemplateVersionRequestGeneration } from "../../types/CreateTemplateVersionRequestGeneration.js"; + +export const CreateTemplateVersionRequest: core.serialization.Schema< + serializers.CreateTemplateVersionRequest.Raw, + Corti.CreateTemplateVersionRequest +> = core.serialization.object({ + generation: CreateTemplateVersionRequestGeneration, +}); + +export declare namespace CreateTemplateVersionRequest { + export interface Raw { + generation: CreateTemplateVersionRequestGeneration.Raw; + } +} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts new file mode 100644 index 00000000..bea03b68 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/index.ts b/src/serialization/resources/alphaTemplateVersions/index.ts new file mode 100644 index 00000000..d9adb1af --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/index.ts @@ -0,0 +1,2 @@ +export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts new file mode 100644 index 00000000..97667c51 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateInstructions } from "../../../types/TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "../../../types/TemplateVersionSectionRequest.js"; + +export const CreateTemplateVersionRequestGeneration: core.serialization.ObjectSchema< + serializers.CreateTemplateVersionRequestGeneration.Raw, + Corti.CreateTemplateVersionRequestGeneration +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateVersionRequestGeneration { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/resources/alphaTemplateVersions/types/index.ts b/src/serialization/resources/alphaTemplateVersions/types/index.ts new file mode 100644 index 00000000..78af3000 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/serialization/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts b/src/serialization/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts new file mode 100644 index 00000000..a4d65a3a --- /dev/null +++ b/src/serialization/resources/alphaTemplates/client/requests/UpdateTemplateRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; + +export const UpdateTemplateRequest: core.serialization.Schema< + serializers.UpdateTemplateRequest.Raw, + Corti.UpdateTemplateRequest +> = core.serialization.object({ + name: core.serialization.string().optional(), + description: core.serialization.string().optional(), + language: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()).optional(), +}); + +export declare namespace UpdateTemplateRequest { + export interface Raw { + name?: string | null; + description?: string | null; + language?: string | null; + labels?: string[] | null; + } +} diff --git a/src/serialization/resources/alphaTemplates/client/requests/index.ts b/src/serialization/resources/alphaTemplates/client/requests/index.ts index 2a30cb5e..0c267e8b 100644 --- a/src/serialization/resources/alphaTemplates/client/requests/index.ts +++ b/src/serialization/resources/alphaTemplates/client/requests/index.ts @@ -1 +1,2 @@ export { CreateTemplateRequest } from "./CreateTemplateRequest.js"; +export { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 08401909..b1140e9a 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -7,6 +7,9 @@ export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; export * from "./alphaTemplates/types/index.js"; +export * from "./alphaTemplateVersions/client/requests/index.js"; +export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; +export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/tests/wire/alphaTemplateVersions.test.ts b/tests/wire/alphaTemplateVersions.test.ts index 23996282..63552e42 100644 --- a/tests/wire/alphaTemplateVersions.test.ts +++ b/tests/wire/alphaTemplateVersions.test.ts @@ -1,11 +1,12 @@ // This file was auto-generated by Fern from our API Definition. +import * as Corti from "../../src/api/index"; import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaTemplateVersionsClient", () => { - test("list", async () => { + test("list (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -17,13 +18,85 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().get("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); + const rawResponseBody = [ + { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + ]; - const response = await client.alphaTemplateVersions.list("templateId"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .get("/alpha/templates/templateID/versions") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplateVersions.list("templateID"); + expect(response).toEqual([ + { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + ]); }); - test("create", async () => { + test("list (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -35,13 +108,22 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().post("/alpha/templates/templateId/versions").respondWith().statusCode(200).build(); + const rawResponseBody = { key: "value" }; - const response = await client.alphaTemplateVersions.create("templateId"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .get("/alpha/templates/templateID/versions") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.list("templateID"); + }).rejects.toThrow(Corti.NotFoundError); }); - test("get", async () => { + test("create (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -52,19 +134,123 @@ describe("AlphaTemplateVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; + const rawResponseBody = { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }; server .mockEndpoint() - .get("/alpha/templates/templateId/versions/versionID") + .post("/alpha/templates/templateID/versions") + .jsonBody(rawRequestBody) .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.get("templateId", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); + }).rejects.toThrow(Corti.BadRequestError); }); - test("delete", async () => { + test("create (3)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -75,19 +261,116 @@ describe("AlphaTemplateVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() - .delete("/alpha/templates/templateId/versions/versionID") + .post("/alpha/templates/templateID/versions") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("get (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }; + + server + .mockEndpoint() + .get("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.delete("templateId", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaTemplateVersions.get("templateID", "versionID"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }); }); - test("publish", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -99,14 +382,123 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { key: "value" }; + server .mockEndpoint() - .post("/alpha/templates/templateId/versions/versionID/publish") + .get("/alpha/templates/templateID/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.get("templateID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server + .mockEndpoint() + .delete("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) .build(); - const response = await client.alphaTemplateVersions.publish("templateId", "versionID"); + const response = await client.alphaTemplateVersions.delete("templateID", "versionID"); expect(response).toEqual(undefined); }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/alpha/templates/templateID/versions/versionID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.delete("templateID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("publish (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { status: "published" }; + + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions/versionID/publish") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplateVersions.publish("templateID", "versionID"); + expect(response).toEqual({ + status: "published", + }); + }); + + test("publish (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions/versionID/publish") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.publish("templateID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); }); diff --git a/tests/wire/alphaTemplates.test.ts b/tests/wire/alphaTemplates.test.ts index 24d19da6..f4d5bb7d 100644 --- a/tests/wire/alphaTemplates.test.ts +++ b/tests/wire/alphaTemplates.test.ts @@ -273,7 +273,7 @@ describe("AlphaTemplatesClient", () => { }).rejects.toThrow(Corti.BadRequestError); }); - test("get", async () => { + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -285,13 +285,103 @@ describe("AlphaTemplatesClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().get("/alpha/templates/templateId").respondWith().statusCode(200).build(); + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; - const response = await client.alphaTemplates.get("templateId"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .get("/alpha/templates/templateID") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplates.get("templateID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); }); - test("delete", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -303,13 +393,22 @@ describe("AlphaTemplatesClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().delete("/alpha/templates/templateId").respondWith().statusCode(200).build(); + const rawResponseBody = { key: "value" }; - const response = await client.alphaTemplates.delete("templateId"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .get("/alpha/templates/templateID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplates.get("templateID"); + }).rejects.toThrow(Corti.NotFoundError); }); - test("update", async () => { + test("delete (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -321,9 +420,201 @@ describe("AlphaTemplatesClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().patch("/alpha/templates/templateId").respondWith().statusCode(200).build(); + server.mockEndpoint().delete("/alpha/templates/templateID").respondWith().statusCode(200).build(); - const response = await client.alphaTemplates.update("templateId"); + const response = await client.alphaTemplates.delete("templateID"); expect(response).toEqual(undefined); }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .delete("/alpha/templates/templateID") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplates.delete("templateID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("update (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .patch("/alpha/templates/templateID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplates.update("templateID"); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + title: "title", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("update (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/alpha/templates/templateID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplates.update("templateID"); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("update (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .patch("/alpha/templates/templateID") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplates.update("templateID"); + }).rejects.toThrow(Corti.NotFoundError); + }); }); From 53f4146de0abbf458a1d0d362d53cd4f4f07512d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 09:12:07 +0000 Subject: [PATCH 26/44] SDK regeneration --- .fern/metadata.json | 8 +++--- package.json | 4 ++- .../alphaSectionVersions/client/Client.ts | 3 +-- .../resources/alphaSections/client/Client.ts | 3 +-- .../client/requests/CreateSectionRequest.ts | 3 +-- src/api/types/AgentsCreateExpertReference.ts | 2 ++ src/api/types/AgentsExpertReference.ts | 2 ++ src/api/types/AgentsRegistryExpert.ts | 2 ++ src/api/types/{ListNode.ts => ArrayNode.ts} | 10 +++---- src/api/types/IntegerNode.ts | 15 ----------- src/api/types/{FloatNode.ts => NumberNode.ts} | 6 ++--- src/api/types/{DictNode.ts => ObjectNode.ts} | 6 ++--- src/api/types/OutputSchema.ts | 8 +----- src/api/types/SectionInstructions.ts | 4 ++- src/api/types/index.ts | 7 +++-- .../types/AgentsCreateExpertReference.ts | 2 ++ .../types/AgentsExpertReference.ts | 2 ++ .../types/AgentsRegistryExpert.ts | 2 ++ .../types/{ListNode.ts => ArrayNode.ts} | 8 +++--- src/serialization/types/IntegerNode.ts | 26 ------------------- .../types/{FloatNode.ts => NumberNode.ts} | 8 +++--- .../types/{DictNode.ts => ObjectNode.ts} | 8 +++--- src/serialization/types/OutputSchema.ts | 17 +++++------- .../types/SectionInstructions.ts | 6 +++-- src/serialization/types/index.ts | 7 +++-- tests/wire/agents.test.ts | 4 +++ tests/wire/alphaSectionVersions.test.ts | 26 ++++++++++++------- tests/wire/alphaSections.test.ts | 18 +++++-------- tests/wire/alphaTemplateVersions.test.ts | 18 +++---------- tests/wire/alphaTemplates.test.ts | 24 +++-------------- 30 files changed, 100 insertions(+), 159 deletions(-) rename src/api/types/{ListNode.ts => ArrayNode.ts} (50%) delete mode 100644 src/api/types/IntegerNode.ts rename src/api/types/{FloatNode.ts => NumberNode.ts} (75%) rename src/api/types/{DictNode.ts => ObjectNode.ts} (87%) rename src/serialization/types/{ListNode.ts => ArrayNode.ts} (79%) delete mode 100644 src/serialization/types/IntegerNode.ts rename src/serialization/types/{FloatNode.ts => NumberNode.ts} (79%) rename src/serialization/types/{DictNode.ts => ObjectNode.ts} (77%) diff --git a/.fern/metadata.json b/.fern/metadata.json index 7d67b9e1..1011c18b 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.10.2", + "cliVersion": "4.107.0", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -15,7 +15,9 @@ }, "packageJson": { "scripts": { - "test:integration": "vitest --config vitest.integration.config.mts" + "test:integration": "pnpm test:integration:main && pnpm test:integration:empty-state", + "test:integration:main": "vitest run --config vitest.integration.config.mts --project integration", + "test:integration:empty-state": "vitest run --config vitest.integration.config.mts --project integration-empty-state" }, "exports": { "./utils": { @@ -32,6 +34,6 @@ } } }, - "originGitCommit": "f47b5b6c5c338ad2dc24f17f2984b275a97f442b", + "originGitCommit": "410c8d272214ef9f9eb38f97bd80b9a834c4a168", "sdkVersion": "0.0.0-dev" } diff --git a/package.json b/package.json index d2d0a252..4724da2f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,9 @@ "test": "vitest", "test:unit": "vitest --project unit", "test:wire": "vitest --project wire", - "test:integration": "vitest --config vitest.integration.config.mts" + "test:integration": "pnpm test:integration:main && pnpm test:integration:empty-state", + "test:integration:main": "vitest run --config vitest.integration.config.mts --project integration", + "test:integration:empty-state": "vitest run --config vitest.integration.config.mts --project integration-empty-state" }, "dependencies": { "ws": "^8.16.0" diff --git a/src/api/resources/alphaSectionVersions/client/Client.ts b/src/api/resources/alphaSectionVersions/client/Client.ts index 206716e6..0b1b1640 100644 --- a/src/api/resources/alphaSectionVersions/client/Client.ts +++ b/src/api/resources/alphaSectionVersions/client/Client.ts @@ -110,8 +110,7 @@ export class AlphaSectionVersionsClient { * await client.alphaSectionVersions.create("sectionID", { * title: "title", * instructions: { - * contentPrompt: "contentPrompt", - * writingStylePrompt: "writingStylePrompt" + * contentPrompt: "contentPrompt" * }, * outputSchema: { * type: "string" diff --git a/src/api/resources/alphaSections/client/Client.ts b/src/api/resources/alphaSections/client/Client.ts index 45aed185..70cc57ec 100644 --- a/src/api/resources/alphaSections/client/Client.ts +++ b/src/api/resources/alphaSections/client/Client.ts @@ -105,8 +105,7 @@ export class AlphaSectionsClient { * generation: { * title: "title", * instructions: { - * contentPrompt: "contentPrompt", - * writingStylePrompt: "writingStylePrompt" + * contentPrompt: "contentPrompt" * }, * outputSchema: { * type: "string" diff --git a/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts b/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts index b9c13c1d..3f280d6d 100644 --- a/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts +++ b/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts @@ -10,8 +10,7 @@ import type * as Corti from "../../../../index.js"; * generation: { * title: "title", * instructions: { - * contentPrompt: "contentPrompt", - * writingStylePrompt: "writingStylePrompt" + * contentPrompt: "contentPrompt" * }, * outputSchema: { * type: "string" diff --git a/src/api/types/AgentsCreateExpertReference.ts b/src/api/types/AgentsCreateExpertReference.ts index 733a6184..faa939f2 100644 --- a/src/api/types/AgentsCreateExpertReference.ts +++ b/src/api/types/AgentsCreateExpertReference.ts @@ -13,4 +13,6 @@ export interface AgentsCreateExpertReference { 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; + /** Optional configuration override for the registry expert. Values provided here are deep-merged with the schema defaults declared on the registry expert and validated against its `configSchema`. Ignored when the registry expert has no schema. */ + config?: Record; } diff --git a/src/api/types/AgentsExpertReference.ts b/src/api/types/AgentsExpertReference.ts index c5d5dd72..09c21b14 100644 --- a/src/api/types/AgentsExpertReference.ts +++ b/src/api/types/AgentsExpertReference.ts @@ -13,4 +13,6 @@ export interface AgentsExpertReference { 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; + /** The fully resolved configuration for this expert: schema defaults from the registry expert deep-merged with any `config` override supplied at creation. Present only when the source registry expert defined a `configSchema`. */ + resolvedConfig?: Record; } diff --git a/src/api/types/AgentsRegistryExpert.ts b/src/api/types/AgentsRegistryExpert.ts index ef98affa..6bb800f1 100644 --- a/src/api/types/AgentsRegistryExpert.ts +++ b/src/api/types/AgentsRegistryExpert.ts @@ -13,4 +13,6 @@ export interface AgentsRegistryExpert { description: string; /** A list of MCP servers the expert can call, including their authorization types. */ mcpServers?: Corti.AgentsRegistryMcpServer[]; + /** Optional JSON Schema describing the configuration this expert accepts. When present, callers may supply a matching `config` object on `AgentsCreateExpertReference`; values are deep-merged with schema defaults and validated against this schema. */ + configSchema?: Record; } diff --git a/src/api/types/ListNode.ts b/src/api/types/ArrayNode.ts similarity index 50% rename from src/api/types/ListNode.ts rename to src/api/types/ArrayNode.ts index e0688827..cddff8a6 100644 --- a/src/api/types/ListNode.ts +++ b/src/api/types/ArrayNode.ts @@ -2,15 +2,15 @@ import type * as Corti from "../index.js"; -export interface ListNode { - type: "list"; +export interface ArrayNode { + type: "array"; /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ description?: string; items: Corti.OutputSchema; - /** Controls how each list item is rendered in the generated output. Use `bullet` (default), `numbered`, or `plain`, or provide a custom format string containing the `{item}` placeholder. */ + /** Controls how each array item is rendered in the generated output. Use `bullet` (default), `numbered`, or `plain`, or provide a custom format string containing the `{item}` placeholder. */ itemFormat?: string; - /** Minimum number of list items to generate. */ + /** Minimum number of array items to generate. */ minItems?: number | null; - /** Maximum number of list items to generate. */ + /** Maximum number of array items to generate. */ maxItems?: number | null; } diff --git a/src/api/types/IntegerNode.ts b/src/api/types/IntegerNode.ts deleted file mode 100644 index aa0a364f..00000000 --- a/src/api/types/IntegerNode.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface IntegerNode { - type: "integer"; - /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ - description?: string; - /** The default to output if nothing to output. */ - default?: number | null; - /** Can be used to prompt the LLM for specifically allowed integer values to output. */ - enum?: number[]; - /** Use if a minimum value applies. */ - minimum?: number | null; - /** Use if a maximum value applies. */ - maximum?: number | null; -} diff --git a/src/api/types/FloatNode.ts b/src/api/types/NumberNode.ts similarity index 75% rename from src/api/types/FloatNode.ts rename to src/api/types/NumberNode.ts index 46b93576..553e4038 100644 --- a/src/api/types/FloatNode.ts +++ b/src/api/types/NumberNode.ts @@ -1,12 +1,12 @@ // This file was auto-generated by Fern from our API Definition. -export interface FloatNode { - type: "float"; +export interface NumberNode { + type: "number"; /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ description?: string; /** The default to output if nothing to output. */ default?: number | null; - /** Can be used to prompt the LLM for specifically allowed float values to output. */ + /** Can be used to prompt the LLM for specifically allowed numeric values to output. */ enum?: number[]; /** Use if a minimum value applies. */ minimum?: number | null; diff --git a/src/api/types/DictNode.ts b/src/api/types/ObjectNode.ts similarity index 87% rename from src/api/types/DictNode.ts rename to src/api/types/ObjectNode.ts index 782ab493..99d070f9 100644 --- a/src/api/types/DictNode.ts +++ b/src/api/types/ObjectNode.ts @@ -2,14 +2,14 @@ import type * as Corti from "../index.js"; -export interface DictNode { - type: "dict"; +export interface ObjectNode { + type: "object"; /** Can be used to prompt the LLM with more guidance in addition to the section.instructions */ description?: string; /** Controls how subheadings are rendered in the generated output. Use `inline` (default) for `{key}: {value}\n` or `block` for `{key}\n{value}\n`, or provide a custom format string containing both `{key}` and `{value}` placeholders. Mutually exclusive with `objectFormat`. */ subheadingFormat?: string; /** A format string referencing field keys as placeholders (e.g. `{fieldKey}`). All placeholders must correspond to defined field keys. Mutually exclusive with `subheadingFormat`. */ objectFormat?: string; - /** Define what fields are possible to return in the dict. */ + /** Define what fields are possible to return in the object. */ fields?: Corti.FieldDefinition[]; } diff --git a/src/api/types/OutputSchema.ts b/src/api/types/OutputSchema.ts index 4bf5d3fa..57e6832d 100644 --- a/src/api/types/OutputSchema.ts +++ b/src/api/types/OutputSchema.ts @@ -2,10 +2,4 @@ import type * as Corti from "../index.js"; -export type OutputSchema = - | Corti.StringNode - | Corti.IntegerNode - | Corti.FloatNode - | Corti.BoolNode - | Corti.DictNode - | Corti.ListNode; +export type OutputSchema = Corti.StringNode | Corti.NumberNode | Corti.BoolNode | Corti.ObjectNode | Corti.ArrayNode; diff --git a/src/api/types/SectionInstructions.ts b/src/api/types/SectionInstructions.ts index e2b61a8a..2ce814e5 100644 --- a/src/api/types/SectionInstructions.ts +++ b/src/api/types/SectionInstructions.ts @@ -4,5 +4,7 @@ export interface SectionInstructions { /** The content prompt instructs the model what to include for synthesis. For `documentationMode: routed_parallel` this impacts what facts to route to this section. */ contentPrompt: string; /** The writingStyle prompt instructs the model in what tone and style to output. */ - writingStylePrompt: string; + writingStylePrompt?: string; + /** Optional free-form prompt for any instructions that don't fit contentPrompt or writingStylePrompt. */ + miscPrompt?: string; } diff --git a/src/api/types/index.ts b/src/api/types/index.ts index ead717d3..e3d465db 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -56,6 +56,7 @@ export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; +export * from "./ArrayNode.js"; export * from "./AuthTokenRequestAuthorizationCode.js"; export * from "./AuthTokenRequestAuthorizationPkce.js"; export * from "./AuthTokenRequestClientCredentials.js"; @@ -79,7 +80,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -116,8 +116,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./FloatNode.js"; -export * from "./IntegerNode.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -129,8 +127,9 @@ export * from "./InteractionsGenderEnum.js"; export * from "./InteractionsGetResponse.js"; export * from "./InteractionsListResponse.js"; export * from "./InteractionsPatient.js"; -export * from "./ListNode.js"; +export * from "./NumberNode.js"; export * from "./OAuthTokenRequest.js"; +export * from "./ObjectNode.js"; export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; diff --git a/src/serialization/types/AgentsCreateExpertReference.ts b/src/serialization/types/AgentsCreateExpertReference.ts index 535bdd16..db40af90 100644 --- a/src/serialization/types/AgentsCreateExpertReference.ts +++ b/src/serialization/types/AgentsCreateExpertReference.ts @@ -13,6 +13,7 @@ export const AgentsCreateExpertReference: core.serialization.ObjectSchema< id: core.serialization.string().optional(), name: core.serialization.string().optional(), systemPrompt: core.serialization.string().optional(), + config: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), }); export declare namespace AgentsCreateExpertReference { @@ -21,5 +22,6 @@ export declare namespace AgentsCreateExpertReference { id?: string | null; name?: string | null; systemPrompt?: string | null; + config?: Record | null; } } diff --git a/src/serialization/types/AgentsExpertReference.ts b/src/serialization/types/AgentsExpertReference.ts index 1dbdbf71..00a6167b 100644 --- a/src/serialization/types/AgentsExpertReference.ts +++ b/src/serialization/types/AgentsExpertReference.ts @@ -13,6 +13,7 @@ export const AgentsExpertReference: core.serialization.ObjectSchema< id: core.serialization.string(), name: core.serialization.string(), systemPrompt: core.serialization.string().optional(), + resolvedConfig: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), }); export declare namespace AgentsExpertReference { @@ -21,5 +22,6 @@ export declare namespace AgentsExpertReference { id: string; name: string; systemPrompt?: string | null; + resolvedConfig?: Record | null; } } diff --git a/src/serialization/types/AgentsRegistryExpert.ts b/src/serialization/types/AgentsRegistryExpert.ts index c29b3a23..674c9ced 100644 --- a/src/serialization/types/AgentsRegistryExpert.ts +++ b/src/serialization/types/AgentsRegistryExpert.ts @@ -14,6 +14,7 @@ export const AgentsRegistryExpert: core.serialization.ObjectSchema< displayDescription: core.serialization.string().optional(), description: core.serialization.string(), mcpServers: core.serialization.list(AgentsRegistryMcpServer).optional(), + configSchema: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), }); export declare namespace AgentsRegistryExpert { @@ -23,5 +24,6 @@ export declare namespace AgentsRegistryExpert { displayDescription?: string | null; description: string; mcpServers?: AgentsRegistryMcpServer.Raw[] | null; + configSchema?: Record | null; } } diff --git a/src/serialization/types/ListNode.ts b/src/serialization/types/ArrayNode.ts similarity index 79% rename from src/serialization/types/ListNode.ts rename to src/serialization/types/ArrayNode.ts index 3702943f..363d8b79 100644 --- a/src/serialization/types/ListNode.ts +++ b/src/serialization/types/ArrayNode.ts @@ -4,9 +4,9 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import * as serializers from "../index.js"; -export const ListNode: core.serialization.ObjectSchema = +export const ArrayNode: core.serialization.ObjectSchema = core.serialization.object({ - type: core.serialization.stringLiteral("list"), + type: core.serialization.stringLiteral("array"), description: core.serialization.string().optional(), items: core.serialization.lazy(() => serializers.OutputSchema), itemFormat: core.serialization.string().optional(), @@ -14,9 +14,9 @@ export const ListNode: core.serialization.ObjectSchema = - core.serialization.object({ - type: core.serialization.stringLiteral("integer"), - description: core.serialization.string().optional(), - default: core.serialization.number().optionalNullable(), - enum: core.serialization.list(core.serialization.number()).optional(), - minimum: core.serialization.number().optionalNullable(), - maximum: core.serialization.number().optionalNullable(), - }); - -export declare namespace IntegerNode { - export interface Raw { - type: "integer"; - description?: string | null; - default?: (number | null | undefined) | null; - enum?: number[] | null; - minimum?: (number | null | undefined) | null; - maximum?: (number | null | undefined) | null; - } -} diff --git a/src/serialization/types/FloatNode.ts b/src/serialization/types/NumberNode.ts similarity index 79% rename from src/serialization/types/FloatNode.ts rename to src/serialization/types/NumberNode.ts index 91dcd32d..10474663 100644 --- a/src/serialization/types/FloatNode.ts +++ b/src/serialization/types/NumberNode.ts @@ -4,9 +4,9 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -export const FloatNode: core.serialization.ObjectSchema = +export const NumberNode: core.serialization.ObjectSchema = core.serialization.object({ - type: core.serialization.stringLiteral("float"), + type: core.serialization.stringLiteral("number"), description: core.serialization.string().optional(), default: core.serialization.number().optionalNullable(), enum: core.serialization.list(core.serialization.number()).optional(), @@ -14,9 +14,9 @@ export const FloatNode: core.serialization.ObjectSchema = +export const ObjectNode: core.serialization.ObjectSchema = core.serialization.object({ - type: core.serialization.stringLiteral("dict"), + type: core.serialization.stringLiteral("object"), description: core.serialization.string().optional(), subheadingFormat: core.serialization.string().optional(), objectFormat: core.serialization.string().optional(), fields: core.serialization.list(core.serialization.lazyObject(() => serializers.FieldDefinition)).optional(), }); -export declare namespace DictNode { +export declare namespace ObjectNode { export interface Raw { - type: "dict"; + type: "object"; description?: string | null; subheadingFormat?: string | null; objectFormat?: string | null; diff --git a/src/serialization/types/OutputSchema.ts b/src/serialization/types/OutputSchema.ts index 928202b8..02f2e117 100644 --- a/src/serialization/types/OutputSchema.ts +++ b/src/serialization/types/OutputSchema.ts @@ -4,26 +4,23 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import * as serializers from "../index.js"; import { BoolNode } from "./BoolNode.js"; -import { FloatNode } from "./FloatNode.js"; -import { IntegerNode } from "./IntegerNode.js"; +import { NumberNode } from "./NumberNode.js"; import { StringNode } from "./StringNode.js"; export const OutputSchema: core.serialization.Schema = core.serialization.undiscriminatedUnion([ StringNode, - IntegerNode, - FloatNode, + NumberNode, BoolNode, - core.serialization.lazyObject(() => serializers.DictNode), - core.serialization.lazyObject(() => serializers.ListNode), + core.serialization.lazyObject(() => serializers.ObjectNode), + core.serialization.lazyObject(() => serializers.ArrayNode), ]); export declare namespace OutputSchema { export type Raw = | StringNode.Raw - | IntegerNode.Raw - | FloatNode.Raw + | NumberNode.Raw | BoolNode.Raw - | serializers.DictNode.Raw - | serializers.ListNode.Raw; + | serializers.ObjectNode.Raw + | serializers.ArrayNode.Raw; } diff --git a/src/serialization/types/SectionInstructions.ts b/src/serialization/types/SectionInstructions.ts index 4346293f..a1e097a4 100644 --- a/src/serialization/types/SectionInstructions.ts +++ b/src/serialization/types/SectionInstructions.ts @@ -9,12 +9,14 @@ export const SectionInstructions: core.serialization.ObjectSchema< Corti.SectionInstructions > = core.serialization.object({ contentPrompt: core.serialization.string(), - writingStylePrompt: core.serialization.string(), + writingStylePrompt: core.serialization.string().optional(), + miscPrompt: core.serialization.string().optional(), }); export declare namespace SectionInstructions { export interface Raw { contentPrompt: string; - writingStylePrompt: string; + writingStylePrompt?: string | null; + miscPrompt?: string | null; } } diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index ead717d3..e3d465db 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -56,6 +56,7 @@ export * from "./AgentsUpdateExpertReference.js"; export * from "./AgentsValidationError.js"; export * from "./AgentsValidationErrorErrorsItem.js"; export * from "./AgentsValidationErrorResponse.js"; +export * from "./ArrayNode.js"; export * from "./AuthTokenRequestAuthorizationCode.js"; export * from "./AuthTokenRequestAuthorizationPkce.js"; export * from "./AuthTokenRequestClientCredentials.js"; @@ -79,7 +80,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./DictNode.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -116,8 +116,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./FloatNode.js"; -export * from "./IntegerNode.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -129,8 +127,9 @@ export * from "./InteractionsGenderEnum.js"; export * from "./InteractionsGetResponse.js"; export * from "./InteractionsListResponse.js"; export * from "./InteractionsPatient.js"; -export * from "./ListNode.js"; +export * from "./NumberNode.js"; export * from "./OAuthTokenRequest.js"; +export * from "./ObjectNode.js"; export * from "./OutputSchema.js"; export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; diff --git a/tests/wire/agents.test.ts b/tests/wire/agents.test.ts index acd362e9..4cc9e418 100644 --- a/tests/wire/agents.test.ts +++ b/tests/wire/agents.test.ts @@ -1793,6 +1793,7 @@ describe("AgentsClient", () => { displayDescription: "displayDescription", description: "description", mcpServers: [{ name: "name", authorizationType: "none" }], + configSchema: { key: "value" }, }, ], }; @@ -1822,6 +1823,9 @@ describe("AgentsClient", () => { authorizationType: "none", }, ], + configSchema: { + key: "value", + }, }, ], }); diff --git a/tests/wire/alphaSectionVersions.test.ts b/tests/wire/alphaSectionVersions.test.ts index 5a149972..78c096ea 100644 --- a/tests/wire/alphaSectionVersions.test.ts +++ b/tests/wire/alphaSectionVersions.test.ts @@ -24,7 +24,7 @@ describe("AlphaSectionVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -47,7 +47,6 @@ describe("AlphaSectionVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -97,7 +96,7 @@ describe("AlphaSectionVersionsClient", () => { }); const rawRequestBody = { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }; const rawResponseBody = { @@ -105,7 +104,11 @@ describe("AlphaSectionVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", + }, outputSchema: { type: "string", description: "description", @@ -129,7 +132,6 @@ describe("AlphaSectionVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -143,6 +145,7 @@ describe("AlphaSectionVersionsClient", () => { instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", }, outputSchema: { type: "string", @@ -168,7 +171,7 @@ describe("AlphaSectionVersionsClient", () => { }); const rawRequestBody = { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }; const rawResponseBody = { key: "value" }; @@ -187,7 +190,6 @@ describe("AlphaSectionVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -209,7 +211,7 @@ describe("AlphaSectionVersionsClient", () => { }); const rawRequestBody = { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }; const rawResponseBody = { key: "value" }; @@ -228,7 +230,6 @@ describe("AlphaSectionVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -254,7 +255,11 @@ describe("AlphaSectionVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", + }, outputSchema: { type: "string", description: "description", @@ -282,6 +287,7 @@ describe("AlphaSectionVersionsClient", () => { instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", }, outputSchema: { type: "string", diff --git a/tests/wire/alphaSections.test.ts b/tests/wire/alphaSections.test.ts index 9659fd0d..5818ff08 100644 --- a/tests/wire/alphaSections.test.ts +++ b/tests/wire/alphaSections.test.ts @@ -32,7 +32,7 @@ describe("AlphaSectionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -60,7 +60,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -89,7 +88,7 @@ describe("AlphaSectionsClient", () => { language: "language", generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }; @@ -106,7 +105,7 @@ describe("AlphaSectionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -130,7 +129,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -152,7 +150,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -180,7 +177,7 @@ describe("AlphaSectionsClient", () => { language: "language", generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }; @@ -203,7 +200,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -238,7 +234,7 @@ describe("AlphaSectionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -270,7 +266,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -379,7 +374,7 @@ describe("AlphaSectionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt" }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -412,7 +407,6 @@ describe("AlphaSectionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", diff --git a/tests/wire/alphaTemplateVersions.test.ts b/tests/wire/alphaTemplateVersions.test.ts index 63552e42..62ae69d7 100644 --- a/tests/wire/alphaTemplateVersions.test.ts +++ b/tests/wire/alphaTemplateVersions.test.ts @@ -35,10 +35,7 @@ describe("AlphaTemplateVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -80,7 +77,6 @@ describe("AlphaTemplateVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -151,10 +147,7 @@ describe("AlphaTemplateVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -201,7 +194,6 @@ describe("AlphaTemplateVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -312,10 +304,7 @@ describe("AlphaTemplateVersionsClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -355,7 +344,6 @@ describe("AlphaTemplateVersionsClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", diff --git a/tests/wire/alphaTemplates.test.ts b/tests/wire/alphaTemplates.test.ts index f4d5bb7d..66d0e951 100644 --- a/tests/wire/alphaTemplates.test.ts +++ b/tests/wire/alphaTemplates.test.ts @@ -43,10 +43,7 @@ describe("AlphaTemplatesClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -93,7 +90,6 @@ describe("AlphaTemplatesClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -152,10 +148,7 @@ describe("AlphaTemplatesClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -215,7 +208,6 @@ describe("AlphaTemplatesClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -309,10 +301,7 @@ describe("AlphaTemplatesClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -363,7 +352,6 @@ describe("AlphaTemplatesClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", @@ -489,10 +477,7 @@ describe("AlphaTemplatesClient", () => { versionNumber: 1, generation: { title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - }, + instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, }, @@ -544,7 +529,6 @@ describe("AlphaTemplatesClient", () => { title: "title", instructions: { contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", }, outputSchema: { type: "string", From 30d0943151b4a12393c63e26e108bebfc8a01cfc Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 11:54:23 +0000 Subject: [PATCH 27/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 1011c18b..3cf812c3 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "410c8d272214ef9f9eb38f97bd80b9a834c4a168", + "originGitCommit": "10cc69cb3ba55e9ba631b0f0429102d0caa88331", "sdkVersion": "0.0.0-dev" } From 55dba975c058a6f5510f6fbe79fe00d55ed03988 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 12:07:34 +0000 Subject: [PATCH 28/44] SDK regeneration --- .fern/metadata.json | 2 +- src/BaseClient.ts | 4 +- .../alphaSectionVersions/client/Client.ts | 184 ++++------- .../resources/alphaSections/client/Client.ts | 241 ++++++-------- .../client/requests/CreateSectionRequest.ts | 35 -- .../requests/ListAlphaSectionsRequest.ts | 14 - .../alphaSections/client/requests/index.ts | 2 - .../alphaTemplateVersions/client/Client.ts | 182 ++++------- .../alphaTemplateVersions/client/index.ts | 2 +- .../requests/CreateTemplateVersionRequest.ts | 17 - .../client/requests/index.ts | 1 - .../resources/alphaTemplateVersions/index.ts | 1 - .../CreateTemplateVersionRequestGeneration.ts | 8 - .../alphaTemplateVersions/types/index.ts | 1 - .../resources/alphaTemplates/client/Client.ts | 247 ++++++-------- .../client/requests/CreateTemplateRequest.ts | 31 -- .../requests/ListAlphaTemplatesRequest.ts | 14 - .../alphaTemplates/client/requests/index.ts | 2 - src/api/resources/alphaTemplates/index.ts | 1 - .../types/CreateTemplateRequestGeneration.ts | 8 - .../resources/alphaTemplates/types/index.ts | 1 - src/api/resources/index.ts | 3 - .../types/TemplateVersionSectionRequest.ts | 8 - src/api/types/index.ts | 1 - .../alphaSectionVersions/client/index.ts | 1 - .../alphaSectionVersions/client/list.ts | 15 - .../resources/alphaSectionVersions/index.ts | 1 - .../resources/alphaSections/client/index.ts | 1 - .../resources/alphaSections/client/list.ts | 13 - .../client/requests/CreateSectionRequest.ts | 31 -- .../alphaSections/client/requests/index.ts | 1 - .../alphaTemplateVersions/client/index.ts | 2 - .../alphaTemplateVersions/client/list.ts | 15 - .../requests/CreateTemplateVersionRequest.ts | 19 -- .../client/requests/index.ts | 1 - .../resources/alphaTemplateVersions/index.ts | 2 - .../CreateTemplateVersionRequestGeneration.ts | 22 -- .../alphaTemplateVersions/types/index.ts | 1 - .../resources/alphaTemplates/client/index.ts | 1 - .../resources/alphaTemplates/client/list.ts | 13 - .../client/requests/CreateTemplateRequest.ts | 31 -- .../alphaTemplates/client/requests/index.ts | 1 - .../resources/alphaTemplates/index.ts | 1 - .../types/CreateTemplateRequestGeneration.ts | 22 -- .../resources/alphaTemplates/types/index.ts | 1 - src/serialization/resources/index.ts | 5 - .../types/TemplateVersionSectionRequest.ts | 20 -- src/serialization/types/index.ts | 1 - tests/wire/alphaSectionVersions.test.ts | 262 ++------------- tests/wire/alphaSections.test.ts | 239 +++----------- tests/wire/alphaTemplateVersions.test.ts | 300 ++---------------- tests/wire/alphaTemplates.test.ts | 295 +++-------------- 52 files changed, 457 insertions(+), 1870 deletions(-) delete mode 100644 src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts delete mode 100644 src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts delete mode 100644 src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts delete mode 100644 src/api/resources/alphaTemplateVersions/client/requests/index.ts delete mode 100644 src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts delete mode 100644 src/api/resources/alphaTemplateVersions/types/index.ts delete mode 100644 src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts delete mode 100644 src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts delete mode 100644 src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts delete mode 100644 src/api/resources/alphaTemplates/types/index.ts delete mode 100644 src/api/types/TemplateVersionSectionRequest.ts delete mode 100644 src/serialization/resources/alphaSectionVersions/client/index.ts delete mode 100644 src/serialization/resources/alphaSectionVersions/client/list.ts delete mode 100644 src/serialization/resources/alphaSectionVersions/index.ts delete mode 100644 src/serialization/resources/alphaSections/client/list.ts delete mode 100644 src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/client/index.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/client/list.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/index.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/index.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts delete mode 100644 src/serialization/resources/alphaTemplateVersions/types/index.ts delete mode 100644 src/serialization/resources/alphaTemplates/client/list.ts delete mode 100644 src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts delete mode 100644 src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts delete mode 100644 src/serialization/resources/alphaTemplates/types/index.ts delete mode 100644 src/serialization/types/TemplateVersionSectionRequest.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 3cf812c3..9089e602 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "10cc69cb3ba55e9ba631b0f0429102d0caa88331", + "originGitCommit": "5db7a85c395027b14963434f7919dcc11d61af44", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 1b76cbaa..27d389e5 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/api/resources/alphaSectionVersions/client/Client.ts b/src/api/resources/alphaSectionVersions/client/Client.ts index 0b1b1640..fc2e00e9 100644 --- a/src/api/resources/alphaSectionVersions/client/Client.ts +++ b/src/api/resources/alphaSectionVersions/client/Client.ts @@ -24,24 +24,27 @@ export class AlphaSectionVersionsClient { /** * @param {string} sectionID + * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.list("sectionID") + * await client.alphaSectionVersions.get("sectionID", "versionID") */ - public list( + public get( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); } - private async __list( + private async __get( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,7 +56,7 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "GET", headers: _headers, @@ -66,7 +69,7 @@ export class AlphaSectionVersionsClient { }); if (_response.ok) { return { - data: serializers.alphaSectionVersions.list.Response.parseOrThrow(_response.body, { + data: serializers.SectionVersion.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -94,42 +97,33 @@ export class AlphaSectionVersionsClient { _response.error, _response.rawResponse, "GET", - "/alpha/sections/{sectionID}/versions", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } /** * @param {string} sectionID - * @param {Corti.SectionGeneration} request + * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.create("sectionID", { - * title: "title", - * instructions: { - * contentPrompt: "contentPrompt" - * }, - * outputSchema: { - * type: "string" - * } - * }) + * await client.alphaSectionVersions.delete("sectionID", "versionID") */ - public create( + public delete( sectionID: string, - request: Corti.SectionGeneration, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); } - private async __create( + private async __delete( sectionID: string, - request: Corti.SectionGeneration, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -141,17 +135,11 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "POST", + method: "DELETE", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.SectionGeneration.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -159,22 +147,11 @@ export class AlphaSectionVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.SectionVersion.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -189,12 +166,14 @@ export class AlphaSectionVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "POST", - "/alpha/sections/{sectionID}/versions", + "DELETE", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } /** + * Sets this version as the published version of the section. + * * @param {string} sectionID * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. @@ -202,21 +181,21 @@ export class AlphaSectionVersionsClient { * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.get("sectionID", "versionID") + * await client.alphaSectionVersions.publish("sectionID", "versionID") */ - public get( + public publish( sectionID: string, versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); } - private async __get( + private async __publish( sectionID: string, versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -228,9 +207,9 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), - method: "GET", + method: "POST", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -241,7 +220,7 @@ export class AlphaSectionVersionsClient { }); if (_response.ok) { return { - data: serializers.SectionVersion.parseOrThrow(_response.body, { + data: serializers.StatusResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -268,32 +247,27 @@ export class AlphaSectionVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "GET", - "/alpha/sections/{sectionID}/versions/{versionID}", + "POST", + "/alpha/sections/{sectionID}/versions/{versionID}/publish", ); } /** * @param {string} sectionID - * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaSectionVersions.delete("sectionID", "versionID") + * await client.alphaSectionVersions.list("sectionID") */ - public delete( + public list( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); } - private async __delete( + private async __list( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -307,9 +281,9 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, ), - method: "DELETE", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -323,51 +297,39 @@ export class AlphaSectionVersionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, - "DELETE", - "/alpha/sections/{sectionID}/versions/{versionID}", + "GET", + "/alpha/sections/{sectionID}/versions", ); } /** - * Sets this version as the published version of the section. - * * @param {string} sectionID - * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaSectionVersions.publish("sectionID", "versionID") + * await client.alphaSectionVersions.create("sectionID") */ - public publish( + public create( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(sectionID, requestOptions)); } - private async __publish( + private async __create( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -379,7 +341,7 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, ), method: "POST", headers: _headers, @@ -391,36 +353,22 @@ export class AlphaSectionVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.StatusResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/sections/{sectionID}/versions/{versionID}/publish", + "/alpha/sections/{sectionID}/versions", ); } } diff --git a/src/api/resources/alphaSections/client/Client.ts b/src/api/resources/alphaSections/client/Client.ts index 70cc57ec..f6fdd17a 100644 --- a/src/api/resources/alphaSections/client/Client.ts +++ b/src/api/resources/alphaSections/client/Client.ts @@ -23,29 +23,25 @@ export class AlphaSectionsClient { } /** - * @param {Corti.ListAlphaSectionsRequest} request + * @param {string} sectionID * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaSections.list() + * await client.alphaSections.get("sectionID") */ - public list( - request: Corti.ListAlphaSectionsRequest = {}, + public get( + sectionID: string, requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); } - private async __list( - request: Corti.ListAlphaSectionsRequest = {}, + private async __get( + sectionID: string, requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { - const { lang, label, published } = request; - const _queryParams: Record = { - lang, - label, - published, - }; + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -57,11 +53,11 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/sections", + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -70,7 +66,7 @@ export class AlphaSectionsClient { }); if (_response.ok) { return { - data: serializers.alphaSections.list.Response.parseOrThrow(_response.body, { + data: serializers.Section.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -82,48 +78,41 @@ export class AlphaSectionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/{sectionID}"); } /** - * @param {Corti.CreateSectionRequest} request + * @param {string} sectionID * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSections.create({ - * name: "name", - * language: "language", - * generation: { - * title: "title", - * instructions: { - * contentPrompt: "contentPrompt" - * }, - * outputSchema: { - * type: "string" - * } - * } - * }) + * await client.alphaSections.delete("sectionID") */ - public create( - request: Corti.CreateSectionRequest, + public delete( + sectionID: string, requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); } - private async __create( - request: Corti.CreateSectionRequest, + private async __delete( + sectionID: string, requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -135,17 +124,11 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/sections", + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "POST", + method: "DELETE", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.CreateSectionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -153,22 +136,13 @@ export class AlphaSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Section.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 404: + throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -178,27 +152,36 @@ export class AlphaSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/sections"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/alpha/sections/{sectionID}", + ); } /** * @param {string} sectionID + * @param {Corti.UpdateSectionRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSections.get("sectionID") + * await client.alphaSections.update("sectionID") */ - public get( + public update( sectionID: string, + request: Corti.UpdateSectionRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); } - private async __get( + private async __update( sectionID: string, + request: Corti.UpdateSectionRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -214,9 +197,15 @@ export class AlphaSectionsClient { (await core.Supplier.get(this._options.environment)).base, `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "GET", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -238,6 +227,8 @@ export class AlphaSectionsClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -249,29 +240,20 @@ export class AlphaSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/alpha/sections/{sectionID}"); } /** - * @param {string} sectionID * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaSections.delete("sectionID") + * await client.alphaSections.list() */ - public delete( - sectionID: string, - requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); + public list(requestOptions?: AlphaSectionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } - private async __delete( - sectionID: string, - requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { + private async __list(requestOptions?: AlphaSectionsClient.RequestOptions): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -283,9 +265,9 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}`, + "alpha/sections", ), - method: "DELETE", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -299,50 +281,27 @@ export class AlphaSectionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/alpha/sections/{sectionID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections"); } /** - * @param {string} sectionID - * @param {Corti.UpdateSectionRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaSections.update("sectionID") + * await client.alphaSections.create() */ - public update( - sectionID: string, - request: Corti.UpdateSectionRequest = {}, - requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); + public create(requestOptions?: AlphaSectionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); } - private async __update( - sectionID: string, - request: Corti.UpdateSectionRequest = {}, - requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { + private async __create(requestOptions?: AlphaSectionsClient.RequestOptions): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -354,17 +313,11 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}`, + "alpha/sections", ), - method: "PATCH", + method: "POST", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateSectionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -372,33 +325,17 @@ export class AlphaSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Section.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/alpha/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/sections"); } } diff --git a/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts b/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts deleted file mode 100644 index 3f280d6d..00000000 --- a/src/api/resources/alphaSections/client/requests/CreateSectionRequest.ts +++ /dev/null @@ -1,35 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../index.js"; - -/** - * @example - * { - * name: "name", - * language: "language", - * generation: { - * title: "title", - * instructions: { - * contentPrompt: "contentPrompt" - * }, - * outputSchema: { - * type: "string" - * } - * } - * } - */ -export interface CreateSectionRequest { - /** A human-readable identifier for this section. Not passed to the LLM. */ - name: string; - /** The intended language for outputs as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ - language: string; - /** A description for this section. Not passed to the LLM. */ - description?: string; - /** Labels work as query param filter in the LIST /sections endpoint. */ - labels?: string[]; - /** Reference to the section to inherit generation configuration from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ - inheritFromId?: string | null; - generation: Corti.SectionGeneration; - /** Defaults to true when omitted. Set this to false if you do not want the section to automatically show up in LIST /sections. */ - publish?: boolean; -} diff --git a/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts b/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts deleted file mode 100644 index 7d7d8ccf..00000000 --- a/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * @example - * {} - */ -export interface ListAlphaSectionsRequest { - /** Filter sections by language (BCP 47 tag). Repeatable. */ - lang?: string | string[]; - /** Filter sections by label. Repeatable; matches sections that have any of the given labels. */ - label?: string | string[]; - /** Filter by publish status. Defaults to true when omitted. */ - published?: boolean; -} diff --git a/src/api/resources/alphaSections/client/requests/index.ts b/src/api/resources/alphaSections/client/requests/index.ts index e0806747..9d16287f 100644 --- a/src/api/resources/alphaSections/client/requests/index.ts +++ b/src/api/resources/alphaSections/client/requests/index.ts @@ -1,3 +1 @@ -export type { CreateSectionRequest } from "./CreateSectionRequest.js"; -export type { ListAlphaSectionsRequest } from "./ListAlphaSectionsRequest.js"; export type { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/api/resources/alphaTemplateVersions/client/Client.ts b/src/api/resources/alphaTemplateVersions/client/Client.ts index 09dcb866..976f5b19 100644 --- a/src/api/resources/alphaTemplateVersions/client/Client.ts +++ b/src/api/resources/alphaTemplateVersions/client/Client.ts @@ -24,24 +24,27 @@ export class AlphaTemplateVersionsClient { /** * @param {string} templateID + * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.list("templateID") + * await client.alphaTemplateVersions.get("templateID", "versionID") */ - public list( + public get( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(templateID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateID, versionID, requestOptions)); } - private async __list( + private async __get( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,7 +56,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), method: "GET", headers: _headers, @@ -66,7 +69,7 @@ export class AlphaTemplateVersionsClient { }); if (_response.ok) { return { - data: serializers.alphaTemplateVersions.list.Response.parseOrThrow(_response.body, { + data: serializers.TemplateVersion.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -94,40 +97,33 @@ export class AlphaTemplateVersionsClient { _response.error, _response.rawResponse, "GET", - "/alpha/templates/{templateID}/versions", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** * @param {string} templateID - * @param {Corti.CreateTemplateVersionRequest} request + * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.create("templateID", { - * generation: { - * instructions: { - * prompt: "prompt" - * } - * } - * }) + * await client.alphaTemplateVersions.delete("templateID", "versionID") */ - public create( + public delete( templateID: string, - request: Corti.CreateTemplateVersionRequest, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(templateID, request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, versionID, requestOptions)); } - private async __create( + private async __delete( templateID: string, - request: Corti.CreateTemplateVersionRequest, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -139,17 +135,11 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "POST", + method: "DELETE", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.CreateTemplateVersionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -157,22 +147,11 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.TemplateVersion.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -187,12 +166,14 @@ export class AlphaTemplateVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "POST", - "/alpha/templates/{templateID}/versions", + "DELETE", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** + * Sets this version as the published version of the template. + * * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. @@ -200,21 +181,21 @@ export class AlphaTemplateVersionsClient { * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.get("templateID", "versionID") + * await client.alphaTemplateVersions.publish("templateID", "versionID") */ - public get( + public publish( templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(templateID, versionID, requestOptions)); } - private async __get( + private async __publish( templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -226,9 +207,9 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), - method: "GET", + method: "POST", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -239,7 +220,7 @@ export class AlphaTemplateVersionsClient { }); if (_response.ok) { return { - data: serializers.TemplateVersion.parseOrThrow(_response.body, { + data: serializers.StatusResponse.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -266,32 +247,27 @@ export class AlphaTemplateVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "GET", - "/alpha/templates/{templateID}/versions/{versionID}", + "POST", + "/alpha/templates/{templateID}/versions/{versionID}/publish", ); } /** * @param {string} templateID - * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaTemplateVersions.delete("templateID", "versionID") + * await client.alphaTemplateVersions.list("templateID") */ - public delete( + public list( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateID, versionID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__list(templateID, requestOptions)); } - private async __delete( + private async __list( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -305,9 +281,9 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, ), - method: "DELETE", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -321,51 +297,39 @@ export class AlphaTemplateVersionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, - "DELETE", - "/alpha/templates/{templateID}/versions/{versionID}", + "GET", + "/alpha/templates/{templateID}/versions", ); } /** - * Sets this version as the published version of the template. - * * @param {string} templateID - * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaTemplateVersions.publish("templateID", "versionID") + * await client.alphaTemplateVersions.create("templateID") */ - public publish( + public create( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__publish(templateID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(templateID, requestOptions)); } - private async __publish( + private async __create( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -377,7 +341,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, ), method: "POST", headers: _headers, @@ -389,36 +353,22 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.StatusResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/templates/{templateID}/versions/{versionID}/publish", + "/alpha/templates/{templateID}/versions", ); } } diff --git a/src/api/resources/alphaTemplateVersions/client/index.ts b/src/api/resources/alphaTemplateVersions/client/index.ts index 195f9aa8..cb0ff5c3 100644 --- a/src/api/resources/alphaTemplateVersions/client/index.ts +++ b/src/api/resources/alphaTemplateVersions/client/index.ts @@ -1 +1 @@ -export * from "./requests/index.js"; +export {}; diff --git a/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts deleted file mode 100644 index 66255820..00000000 --- a/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../index.js"; - -/** - * @example - * { - * generation: { - * instructions: { - * prompt: "prompt" - * } - * } - * } - */ -export interface CreateTemplateVersionRequest { - generation: Corti.CreateTemplateVersionRequestGeneration; -} diff --git a/src/api/resources/alphaTemplateVersions/client/requests/index.ts b/src/api/resources/alphaTemplateVersions/client/requests/index.ts deleted file mode 100644 index 3d35d2f7..00000000 --- a/src/api/resources/alphaTemplateVersions/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export type { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/api/resources/alphaTemplateVersions/index.ts b/src/api/resources/alphaTemplateVersions/index.ts index d9adb1af..914b8c3c 100644 --- a/src/api/resources/alphaTemplateVersions/index.ts +++ b/src/api/resources/alphaTemplateVersions/index.ts @@ -1,2 +1 @@ export * from "./client/index.js"; -export * from "./types/index.js"; diff --git a/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts deleted file mode 100644 index ae309433..00000000 --- a/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../index.js"; - -export interface CreateTemplateVersionRequestGeneration { - instructions: Corti.TemplateInstructions; - sections?: Corti.TemplateVersionSectionRequest[]; -} diff --git a/src/api/resources/alphaTemplateVersions/types/index.ts b/src/api/resources/alphaTemplateVersions/types/index.ts deleted file mode 100644 index 78af3000..00000000 --- a/src/api/resources/alphaTemplateVersions/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/api/resources/alphaTemplates/client/Client.ts b/src/api/resources/alphaTemplates/client/Client.ts index afa17634..65212747 100644 --- a/src/api/resources/alphaTemplates/client/Client.ts +++ b/src/api/resources/alphaTemplates/client/Client.ts @@ -23,29 +23,25 @@ export class AlphaTemplatesClient { } /** - * @param {Corti.ListAlphaTemplatesRequest} request + * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.list() + * await client.alphaTemplates.get("templateID") */ - public list( - request: Corti.ListAlphaTemplatesRequest = {}, + public get( + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateID, requestOptions)); } - private async __list( - request: Corti.ListAlphaTemplatesRequest = {}, + private async __get( + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { - const { lang, label, published } = request; - const _queryParams: Record = { - lang, - label, - published, - }; + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -57,11 +53,11 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/templates", + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), method: "GET", headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -70,7 +66,7 @@ export class AlphaTemplatesClient { }); if (_response.ok) { return { - data: serializers.alphaTemplates.list.Response.parseOrThrow(_response.body, { + data: serializers.Template.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -82,44 +78,41 @@ export class AlphaTemplatesClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateID}"); } /** - * @param {Corti.CreateTemplateRequest} request + * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplates.create({ - * name: "name", - * language: "language", - * generation: { - * instructions: { - * prompt: "prompt" - * } - * } - * }) + * await client.alphaTemplates.delete("templateID") */ - public create( - request: Corti.CreateTemplateRequest, + public delete( + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, requestOptions)); } - private async __create( - request: Corti.CreateTemplateRequest, + private async __delete( + templateID: string, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -131,17 +124,11 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/templates", + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), - method: "POST", + method: "DELETE", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.CreateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -149,22 +136,13 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Template.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 404: + throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -174,27 +152,36 @@ export class AlphaTemplatesClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/templates"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/alpha/templates/{templateID}", + ); } /** * @param {string} templateID + * @param {Corti.UpdateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplates.get("templateID") + * await client.alphaTemplates.update("templateID") */ - public get( + public update( templateID: string, + request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__update(templateID, request, requestOptions)); } - private async __get( + private async __update( templateID: string, + request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -210,9 +197,15 @@ export class AlphaTemplatesClient { (await core.Supplier.get(this._options.environment)).base, `alpha/templates/${core.url.encodePathParam(templateID)}`, ), - method: "GET", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -234,6 +227,8 @@ export class AlphaTemplatesClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -245,29 +240,25 @@ export class AlphaTemplatesClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateID}"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/alpha/templates/{templateID}", + ); } /** - * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaTemplates.delete("templateID") + * await client.alphaTemplates.list() */ - public delete( - templateID: string, - requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateID, requestOptions)); + public list(requestOptions?: AlphaTemplatesClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } - private async __delete( - templateID: string, - requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + private async __list(requestOptions?: AlphaTemplatesClient.RequestOptions): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -279,9 +270,9 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}`, + "alpha/templates", ), - method: "DELETE", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -295,50 +286,27 @@ export class AlphaTemplatesClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/alpha/templates/{templateID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates"); } /** - * @param {string} templateID - * @param {Corti.UpdateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaTemplates.update("templateID") + * await client.alphaTemplates.create() */ - public update( - templateID: string, - request: Corti.UpdateTemplateRequest = {}, - requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(templateID, request, requestOptions)); + public create(requestOptions?: AlphaTemplatesClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); } - private async __update( - templateID: string, - request: Corti.UpdateTemplateRequest = {}, - requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + private async __create(requestOptions?: AlphaTemplatesClient.RequestOptions): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -350,17 +318,11 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}`, + "alpha/templates", ), - method: "PATCH", + method: "POST", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -368,38 +330,17 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.Template.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "PATCH", - "/alpha/templates/{templateID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/templates"); } } diff --git a/src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts b/src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts deleted file mode 100644 index 65531283..00000000 --- a/src/api/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts +++ /dev/null @@ -1,31 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../index.js"; - -/** - * @example - * { - * name: "name", - * language: "language", - * generation: { - * instructions: { - * prompt: "prompt" - * } - * } - * } - */ -export interface CreateTemplateRequest { - /** The name of this template. Not passed to the LLM. */ - name: string; - /** A description for this template. Not passed to the LLM. */ - description?: string; - /** The intended language for outputs as BCP 47 tag. Does not strictly have to match `outputLanguage` in POST /documents request. */ - language: string; - /** Labels work as query param filter in the LIST /templates endpoint. */ - labels?: string[]; - /** Reference to the template to inherit template instructions and sections from. Inherits from published version unless fields are changed or overridden in the POST /documents request. */ - inheritFromId?: string | null; - generation: Corti.CreateTemplateRequestGeneration; - /** Defaults to true when omitted. Set this to false if you do not want the template to automatically show up in LIST templates. */ - publish?: boolean; -} diff --git a/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts b/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts deleted file mode 100644 index 9be9181c..00000000 --- a/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * @example - * {} - */ -export interface ListAlphaTemplatesRequest { - /** Filter templates by language (BCP 47 tag). Repeatable. */ - lang?: string | string[]; - /** Filter templates by label. Repeatable; matches templates that have any of the given labels. */ - label?: string | string[]; - /** Filter by publish status. Defaults to true when omitted. */ - published?: boolean; -} diff --git a/src/api/resources/alphaTemplates/client/requests/index.ts b/src/api/resources/alphaTemplates/client/requests/index.ts index 0a46dc08..ad5cb816 100644 --- a/src/api/resources/alphaTemplates/client/requests/index.ts +++ b/src/api/resources/alphaTemplates/client/requests/index.ts @@ -1,3 +1 @@ -export type { CreateTemplateRequest } from "./CreateTemplateRequest.js"; -export type { ListAlphaTemplatesRequest } from "./ListAlphaTemplatesRequest.js"; export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/resources/alphaTemplates/index.ts b/src/api/resources/alphaTemplates/index.ts index d9adb1af..914b8c3c 100644 --- a/src/api/resources/alphaTemplates/index.ts +++ b/src/api/resources/alphaTemplates/index.ts @@ -1,2 +1 @@ export * from "./client/index.js"; -export * from "./types/index.js"; diff --git a/src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts b/src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts deleted file mode 100644 index 32bf6f86..00000000 --- a/src/api/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../index.js"; - -export interface CreateTemplateRequestGeneration { - instructions: Corti.TemplateInstructions; - sections?: Corti.TemplateVersionSectionRequest[]; -} diff --git a/src/api/resources/alphaTemplates/types/index.ts b/src/api/resources/alphaTemplates/types/index.ts deleted file mode 100644 index 51976131..00000000 --- a/src/api/resources/alphaTemplates/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./CreateTemplateRequestGeneration.js"; diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 84a15994..6acf5a18 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -6,10 +6,7 @@ export * as alphaSections from "./alphaSections/index.js"; export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; -export * from "./alphaTemplates/types/index.js"; -export * from "./alphaTemplateVersions/client/requests/index.js"; export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; -export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/src/api/types/TemplateVersionSectionRequest.ts b/src/api/types/TemplateVersionSectionRequest.ts deleted file mode 100644 index ac0d2ba0..00000000 --- a/src/api/types/TemplateVersionSectionRequest.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface TemplateVersionSectionRequest { - /** The UUID of the section to include in the template version. */ - sectionId: string; - /** Sets the order of this section within this template. Starts at 0. */ - orderIndex?: number; -} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index e3d465db..84546e54 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -178,7 +178,6 @@ export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; export * from "./TemplateVersion.js"; -export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/src/serialization/resources/alphaSectionVersions/client/index.ts b/src/serialization/resources/alphaSectionVersions/client/index.ts deleted file mode 100644 index b64f754c..00000000 --- a/src/serialization/resources/alphaSectionVersions/client/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * as list from "./list.js"; diff --git a/src/serialization/resources/alphaSectionVersions/client/list.ts b/src/serialization/resources/alphaSectionVersions/client/list.ts deleted file mode 100644 index 58ef6401..00000000 --- a/src/serialization/resources/alphaSectionVersions/client/list.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { SectionVersion } from "../../../types/SectionVersion.js"; - -export const Response: core.serialization.Schema< - serializers.alphaSectionVersions.list.Response.Raw, - Corti.SectionVersion[] -> = core.serialization.list(SectionVersion); - -export declare namespace Response { - export type Raw = SectionVersion.Raw[]; -} diff --git a/src/serialization/resources/alphaSectionVersions/index.ts b/src/serialization/resources/alphaSectionVersions/index.ts deleted file mode 100644 index 914b8c3c..00000000 --- a/src/serialization/resources/alphaSectionVersions/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./client/index.js"; diff --git a/src/serialization/resources/alphaSections/client/index.ts b/src/serialization/resources/alphaSections/client/index.ts index cd155427..195f9aa8 100644 --- a/src/serialization/resources/alphaSections/client/index.ts +++ b/src/serialization/resources/alphaSections/client/index.ts @@ -1,2 +1 @@ -export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaSections/client/list.ts b/src/serialization/resources/alphaSections/client/list.ts deleted file mode 100644 index d1f360b6..00000000 --- a/src/serialization/resources/alphaSections/client/list.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { Section } from "../../../types/Section.js"; - -export const Response: core.serialization.Schema = - core.serialization.list(Section); - -export declare namespace Response { - export type Raw = Section.Raw[]; -} diff --git a/src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts b/src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts deleted file mode 100644 index d5d0f1b1..00000000 --- a/src/serialization/resources/alphaSections/client/requests/CreateSectionRequest.ts +++ /dev/null @@ -1,31 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../../api/index.js"; -import * as core from "../../../../../core/index.js"; -import type * as serializers from "../../../../index.js"; -import { SectionGeneration } from "../../../../types/SectionGeneration.js"; - -export const CreateSectionRequest: core.serialization.Schema< - serializers.CreateSectionRequest.Raw, - Corti.CreateSectionRequest -> = core.serialization.object({ - name: core.serialization.string(), - language: core.serialization.string(), - description: core.serialization.string().optional(), - labels: core.serialization.list(core.serialization.string()).optional(), - inheritFromId: core.serialization.string().optionalNullable(), - generation: SectionGeneration, - publish: core.serialization.boolean().optional(), -}); - -export declare namespace CreateSectionRequest { - export interface Raw { - name: string; - language: string; - description?: string | null; - labels?: string[] | null; - inheritFromId?: (string | null | undefined) | null; - generation: SectionGeneration.Raw; - publish?: boolean | null; - } -} diff --git a/src/serialization/resources/alphaSections/client/requests/index.ts b/src/serialization/resources/alphaSections/client/requests/index.ts index def830c7..a36d62ad 100644 --- a/src/serialization/resources/alphaSections/client/requests/index.ts +++ b/src/serialization/resources/alphaSections/client/requests/index.ts @@ -1,2 +1 @@ -export { CreateSectionRequest } from "./CreateSectionRequest.js"; export { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/client/index.ts b/src/serialization/resources/alphaTemplateVersions/client/index.ts deleted file mode 100644 index cd155427..00000000 --- a/src/serialization/resources/alphaTemplateVersions/client/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * as list from "./list.js"; -export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/client/list.ts b/src/serialization/resources/alphaTemplateVersions/client/list.ts deleted file mode 100644 index a2924d99..00000000 --- a/src/serialization/resources/alphaTemplateVersions/client/list.ts +++ /dev/null @@ -1,15 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { TemplateVersion } from "../../../types/TemplateVersion.js"; - -export const Response: core.serialization.Schema< - serializers.alphaTemplateVersions.list.Response.Raw, - Corti.TemplateVersion[] -> = core.serialization.list(TemplateVersion); - -export declare namespace Response { - export type Raw = TemplateVersion.Raw[]; -} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts deleted file mode 100644 index 4c52846a..00000000 --- a/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../../api/index.js"; -import * as core from "../../../../../core/index.js"; -import type * as serializers from "../../../../index.js"; -import { CreateTemplateVersionRequestGeneration } from "../../types/CreateTemplateVersionRequestGeneration.js"; - -export const CreateTemplateVersionRequest: core.serialization.Schema< - serializers.CreateTemplateVersionRequest.Raw, - Corti.CreateTemplateVersionRequest -> = core.serialization.object({ - generation: CreateTemplateVersionRequestGeneration, -}); - -export declare namespace CreateTemplateVersionRequest { - export interface Raw { - generation: CreateTemplateVersionRequestGeneration.Raw; - } -} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts deleted file mode 100644 index bea03b68..00000000 --- a/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/index.ts b/src/serialization/resources/alphaTemplateVersions/index.ts deleted file mode 100644 index d9adb1af..00000000 --- a/src/serialization/resources/alphaTemplateVersions/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./client/index.js"; -export * from "./types/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts deleted file mode 100644 index 97667c51..00000000 --- a/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { TemplateInstructions } from "../../../types/TemplateInstructions.js"; -import { TemplateVersionSectionRequest } from "../../../types/TemplateVersionSectionRequest.js"; - -export const CreateTemplateVersionRequestGeneration: core.serialization.ObjectSchema< - serializers.CreateTemplateVersionRequestGeneration.Raw, - Corti.CreateTemplateVersionRequestGeneration -> = core.serialization.object({ - instructions: TemplateInstructions, - sections: core.serialization.list(TemplateVersionSectionRequest).optional(), -}); - -export declare namespace CreateTemplateVersionRequestGeneration { - export interface Raw { - instructions: TemplateInstructions.Raw; - sections?: TemplateVersionSectionRequest.Raw[] | null; - } -} diff --git a/src/serialization/resources/alphaTemplateVersions/types/index.ts b/src/serialization/resources/alphaTemplateVersions/types/index.ts deleted file mode 100644 index 78af3000..00000000 --- a/src/serialization/resources/alphaTemplateVersions/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/serialization/resources/alphaTemplates/client/index.ts b/src/serialization/resources/alphaTemplates/client/index.ts index cd155427..195f9aa8 100644 --- a/src/serialization/resources/alphaTemplates/client/index.ts +++ b/src/serialization/resources/alphaTemplates/client/index.ts @@ -1,2 +1 @@ -export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaTemplates/client/list.ts b/src/serialization/resources/alphaTemplates/client/list.ts deleted file mode 100644 index 70443729..00000000 --- a/src/serialization/resources/alphaTemplates/client/list.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { Template } from "../../../types/Template.js"; - -export const Response: core.serialization.Schema = - core.serialization.list(Template); - -export declare namespace Response { - export type Raw = Template.Raw[]; -} diff --git a/src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts b/src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts deleted file mode 100644 index 77fece0f..00000000 --- a/src/serialization/resources/alphaTemplates/client/requests/CreateTemplateRequest.ts +++ /dev/null @@ -1,31 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../../api/index.js"; -import * as core from "../../../../../core/index.js"; -import type * as serializers from "../../../../index.js"; -import { CreateTemplateRequestGeneration } from "../../types/CreateTemplateRequestGeneration.js"; - -export const CreateTemplateRequest: core.serialization.Schema< - serializers.CreateTemplateRequest.Raw, - Corti.CreateTemplateRequest -> = core.serialization.object({ - name: core.serialization.string(), - description: core.serialization.string().optional(), - language: core.serialization.string(), - labels: core.serialization.list(core.serialization.string()).optional(), - inheritFromId: core.serialization.string().optionalNullable(), - generation: CreateTemplateRequestGeneration, - publish: core.serialization.boolean().optional(), -}); - -export declare namespace CreateTemplateRequest { - export interface Raw { - name: string; - description?: string | null; - language: string; - labels?: string[] | null; - inheritFromId?: (string | null | undefined) | null; - generation: CreateTemplateRequestGeneration.Raw; - publish?: boolean | null; - } -} diff --git a/src/serialization/resources/alphaTemplates/client/requests/index.ts b/src/serialization/resources/alphaTemplates/client/requests/index.ts index 0c267e8b..aa555e1b 100644 --- a/src/serialization/resources/alphaTemplates/client/requests/index.ts +++ b/src/serialization/resources/alphaTemplates/client/requests/index.ts @@ -1,2 +1 @@ -export { CreateTemplateRequest } from "./CreateTemplateRequest.js"; export { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/serialization/resources/alphaTemplates/index.ts b/src/serialization/resources/alphaTemplates/index.ts index d9adb1af..914b8c3c 100644 --- a/src/serialization/resources/alphaTemplates/index.ts +++ b/src/serialization/resources/alphaTemplates/index.ts @@ -1,2 +1 @@ export * from "./client/index.js"; -export * from "./types/index.js"; diff --git a/src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts b/src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts deleted file mode 100644 index 75697047..00000000 --- a/src/serialization/resources/alphaTemplates/types/CreateTemplateRequestGeneration.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../../../api/index.js"; -import * as core from "../../../../core/index.js"; -import type * as serializers from "../../../index.js"; -import { TemplateInstructions } from "../../../types/TemplateInstructions.js"; -import { TemplateVersionSectionRequest } from "../../../types/TemplateVersionSectionRequest.js"; - -export const CreateTemplateRequestGeneration: core.serialization.ObjectSchema< - serializers.CreateTemplateRequestGeneration.Raw, - Corti.CreateTemplateRequestGeneration -> = core.serialization.object({ - instructions: TemplateInstructions, - sections: core.serialization.list(TemplateVersionSectionRequest).optional(), -}); - -export declare namespace CreateTemplateRequestGeneration { - export interface Raw { - instructions: TemplateInstructions.Raw; - sections?: TemplateVersionSectionRequest.Raw[] | null; - } -} diff --git a/src/serialization/resources/alphaTemplates/types/index.ts b/src/serialization/resources/alphaTemplates/types/index.ts deleted file mode 100644 index 51976131..00000000 --- a/src/serialization/resources/alphaTemplates/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./CreateTemplateRequestGeneration.js"; diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index b1140e9a..6d068f65 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -3,13 +3,8 @@ export * as agents from "./agents/index.js"; export * from "./agents/types/index.js"; export * from "./alphaSections/client/requests/index.js"; export * as alphaSections from "./alphaSections/index.js"; -export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; -export * from "./alphaTemplates/types/index.js"; -export * from "./alphaTemplateVersions/client/requests/index.js"; -export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; -export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/src/serialization/types/TemplateVersionSectionRequest.ts b/src/serialization/types/TemplateVersionSectionRequest.ts deleted file mode 100644 index 25a818c3..00000000 --- a/src/serialization/types/TemplateVersionSectionRequest.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const TemplateVersionSectionRequest: core.serialization.ObjectSchema< - serializers.TemplateVersionSectionRequest.Raw, - Corti.TemplateVersionSectionRequest -> = core.serialization.object({ - sectionId: core.serialization.string(), - orderIndex: core.serialization.number().optional(), -}); - -export declare namespace TemplateVersionSectionRequest { - export interface Raw { - sectionId: string; - orderIndex?: number | null; - } -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index e3d465db..84546e54 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -178,7 +178,6 @@ export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; export * from "./TemplateVersion.js"; -export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/tests/wire/alphaSectionVersions.test.ts b/tests/wire/alphaSectionVersions.test.ts index 78c096ea..851ebf85 100644 --- a/tests/wire/alphaSectionVersions.test.ts +++ b/tests/wire/alphaSectionVersions.test.ts @@ -6,57 +6,7 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaSectionVersionsClient", () => { - test("list (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = [ - { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - ]; - - server - .mockEndpoint() - .get("/alpha/sections/sectionID/versions") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.alphaSectionVersions.list("sectionID"); - expect(response).toEqual([ - { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - ]); - }); - - test("list (2)", async () => { + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -68,37 +18,6 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/alpha/sections/sectionID/versions") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaSectionVersions.list("sectionID"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("create (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }; const rawResponseBody = { id: "id", versionNumber: 1, @@ -121,22 +40,13 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .post("/alpha/sections/sectionID/versions") - .jsonBody(rawRequestBody) + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.create("sectionID", { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }); + const response = await client.alphaSectionVersions.get("sectionID", "versionID"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -158,7 +68,7 @@ describe("AlphaSectionVersionsClient", () => { }); }); - test("create (2)", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -169,76 +79,23 @@ describe("AlphaSectionVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/sections/sectionID/versions") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaSectionVersions.create("sectionID", { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }); - }).rejects.toThrow(Corti.BadRequestError); - }); - test("create (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/alpha/sections/sectionID/versions") - .jsonBody(rawRequestBody) + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.create("sectionID", { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }); + return await client.alphaSectionVersions.get("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("get (1)", async () => { + test("delete (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -250,57 +107,18 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - miscPrompt: "miscPrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - }; - server .mockEndpoint() - .get("/alpha/sections/sectionID/versions/versionID") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.get("sectionID", "versionID"); - expect(response).toEqual({ - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - writingStylePrompt: "writingStylePrompt", - miscPrompt: "miscPrompt", - }, - outputSchema: { - type: "string", - description: "description", - default: "default", - enum: ["enum"], - pattern: "pattern", - }, - }, - }); + const response = await client.alphaSectionVersions.delete("sectionID", "versionID"); + expect(response).toEqual(undefined); }); - test("get (2)", async () => { + test("delete (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -316,18 +134,18 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .get("/alpha/sections/sectionID/versions/versionID") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.get("sectionID", "versionID"); + return await client.alphaSectionVersions.delete("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("delete (1)", async () => { + test("publish (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -339,18 +157,23 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { status: "published" }; + server .mockEndpoint() - .delete("/alpha/sections/sectionID/versions/versionID") + .post("/alpha/sections/sectionID/versions/versionID/publish") .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.delete("sectionID", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaSectionVersions.publish("sectionID", "versionID"); + expect(response).toEqual({ + status: "published", + }); }); - test("delete (2)", async () => { + test("publish (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -366,18 +189,18 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .delete("/alpha/sections/sectionID/versions/versionID") + .post("/alpha/sections/sectionID/versions/versionID/publish") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.delete("sectionID", "versionID"); + return await client.alphaSectionVersions.publish("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("publish (1)", async () => { + test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -389,23 +212,13 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { status: "published" }; + server.mockEndpoint().get("/alpha/sections/sectionID/versions").respondWith().statusCode(200).build(); - server - .mockEndpoint() - .post("/alpha/sections/sectionID/versions/versionID/publish") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.alphaSectionVersions.publish("sectionID", "versionID"); - expect(response).toEqual({ - status: "published", - }); + const response = await client.alphaSectionVersions.list("sectionID"); + expect(response).toEqual(undefined); }); - test("publish (2)", async () => { + test("create", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -417,18 +230,9 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/sections/sectionID/versions/versionID/publish") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().post("/alpha/sections/sectionID/versions").respondWith().statusCode(200).build(); - await expect(async () => { - return await client.alphaSectionVersions.publish("sectionID", "versionID"); - }).rejects.toThrow(Corti.NotFoundError); + const response = await client.alphaSectionVersions.create("sectionID"); + expect(response).toEqual(undefined); }); }); diff --git a/tests/wire/alphaSections.test.ts b/tests/wire/alphaSections.test.ts index 5818ff08..ec08e8db 100644 --- a/tests/wire/alphaSections.test.ts +++ b/tests/wire/alphaSections.test.ts @@ -6,209 +6,6 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaSectionsClient", () => { - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = [ - { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ]; - - server.mockEndpoint().get("/alpha/sections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); - - const response = await client.alphaSections.list(); - expect(response).toEqual([ - { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ]); - }); - - test("create (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - name: "name", - language: "language", - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }; - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .post("/alpha/sections") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.alphaSections.create({ - name: "name", - language: "language", - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - language: "language", - description: "description", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("create (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - name: "name", - language: "language", - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/sections") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaSections.create({ - name: "name", - language: "language", - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }); - }).rejects.toThrow(Corti.BadRequestError); - }); - test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -473,4 +270,40 @@ describe("AlphaSectionsClient", () => { return await client.alphaSections.update("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); + + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/alpha/sections").respondWith().statusCode(200).build(); + + const response = await client.alphaSections.list(); + expect(response).toEqual(undefined); + }); + + test("create", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/alpha/sections").respondWith().statusCode(200).build(); + + const response = await client.alphaSections.create(); + expect(response).toEqual(undefined); + }); }); diff --git a/tests/wire/alphaTemplateVersions.test.ts b/tests/wire/alphaTemplateVersions.test.ts index 62ae69d7..0693fa3f 100644 --- a/tests/wire/alphaTemplateVersions.test.ts +++ b/tests/wire/alphaTemplateVersions.test.ts @@ -6,93 +6,7 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaTemplateVersionsClient", () => { - test("list (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = [ - { - id: "id", - versionNumber: 1, - generation: { - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - }, - ]; - - server - .mockEndpoint() - .get("/alpha/templates/templateID/versions") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.alphaTemplateVersions.list("templateID"); - expect(response).toEqual([ - { - id: "id", - versionNumber: 1, - generation: { - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - }, - ]); - }); - - test("list (2)", async () => { + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -104,33 +18,6 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .get("/alpha/templates/templateID/versions") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaTemplateVersions.list("templateID"); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("create (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; const rawResponseBody = { id: "id", versionNumber: 1, @@ -160,20 +47,13 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .post("/alpha/templates/templateID/versions") - .jsonBody(rawRequestBody) + .get("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.create("templateID", { - generation: { - instructions: { - prompt: "prompt", - }, - }, - }); + const response = await client.alphaTemplateVersions.get("templateID", "versionID"); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -208,7 +88,7 @@ describe("AlphaTemplateVersionsClient", () => { }); }); - test("create (2)", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -219,64 +99,23 @@ describe("AlphaTemplateVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/templates/templateID/versions") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaTemplateVersions.create("templateID", { - generation: { - instructions: { - prompt: "prompt", - }, - }, - }); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("create (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .post("/alpha/templates/templateID/versions") - .jsonBody(rawRequestBody) + .get("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.create("templateID", { - generation: { - instructions: { - prompt: "prompt", - }, - }, - }); + return await client.alphaTemplateVersions.get("templateID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("get (1)", async () => { + test("delete (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -288,77 +127,18 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { - id: "id", - versionNumber: 1, - generation: { - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - }; - server .mockEndpoint() - .get("/alpha/templates/templateID/versions/versionID") + .delete("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.get("templateID", "versionID"); - expect(response).toEqual({ - id: "id", - versionNumber: 1, - generation: { - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - }); + const response = await client.alphaTemplateVersions.delete("templateID", "versionID"); + expect(response).toEqual(undefined); }); - test("get (2)", async () => { + test("delete (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -374,18 +154,18 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .get("/alpha/templates/templateID/versions/versionID") + .delete("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.get("templateID", "versionID"); + return await client.alphaTemplateVersions.delete("templateID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("delete (1)", async () => { + test("publish (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -397,18 +177,23 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { status: "published" }; + server .mockEndpoint() - .delete("/alpha/templates/templateID/versions/versionID") + .post("/alpha/templates/templateID/versions/versionID/publish") .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.delete("templateID", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaTemplateVersions.publish("templateID", "versionID"); + expect(response).toEqual({ + status: "published", + }); }); - test("delete (2)", async () => { + test("publish (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -424,18 +209,18 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .delete("/alpha/templates/templateID/versions/versionID") + .post("/alpha/templates/templateID/versions/versionID/publish") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.delete("templateID", "versionID"); + return await client.alphaTemplateVersions.publish("templateID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("publish (1)", async () => { + test("list", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -447,23 +232,13 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { status: "published" }; - - server - .mockEndpoint() - .post("/alpha/templates/templateID/versions/versionID/publish") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/alpha/templates/templateID/versions").respondWith().statusCode(200).build(); - const response = await client.alphaTemplateVersions.publish("templateID", "versionID"); - expect(response).toEqual({ - status: "published", - }); + const response = await client.alphaTemplateVersions.list("templateID"); + expect(response).toEqual(undefined); }); - test("publish (2)", async () => { + test("create", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -475,18 +250,9 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { key: "value" }; + server.mockEndpoint().post("/alpha/templates/templateID/versions").respondWith().statusCode(200).build(); - server - .mockEndpoint() - .post("/alpha/templates/templateID/versions/versionID/publish") - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaTemplateVersions.publish("templateID", "versionID"); - }).rejects.toThrow(Corti.NotFoundError); + const response = await client.alphaTemplateVersions.create("templateID"); + expect(response).toEqual(undefined); }); }); diff --git a/tests/wire/alphaTemplates.test.ts b/tests/wire/alphaTemplates.test.ts index 66d0e951..629d0a28 100644 --- a/tests/wire/alphaTemplates.test.ts +++ b/tests/wire/alphaTemplates.test.ts @@ -6,265 +6,6 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaTemplatesClient", () => { - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - const rawResponseBody = [ - { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ]; - - server.mockEndpoint().get("/alpha/templates").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); - - const response = await client.alphaTemplates.list(); - expect(response).toEqual([ - { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ]); - }); - - test("create (1)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - name: "name", - language: "language", - generation: { instructions: { prompt: "prompt" } }, - }; - const rawResponseBody = { - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - instructions: { prompt: "prompt" }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { contentPrompt: "contentPrompt" }, - outputSchema: { type: "string" }, - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }, - ], - }, - }, - createdAt: "2024-01-15T09:30:00Z", - updatedAt: "2024-01-15T09:30:00Z", - }; - - server - .mockEndpoint() - .post("/alpha/templates") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const response = await client.alphaTemplates.create({ - name: "name", - language: "language", - generation: { - instructions: { - prompt: "prompt", - }, - }, - }); - expect(response).toEqual({ - id: "id", - inheritedFromId: "inheritedFromId", - autoGenerated: true, - name: "name", - description: "description", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - instructions: { - prompt: "prompt", - }, - sections: [ - { - id: "id", - name: "name", - language: "language", - labels: ["labels"], - publishedVersion: { - id: "id", - versionNumber: 1, - generation: { - title: "title", - instructions: { - contentPrompt: "contentPrompt", - }, - outputSchema: { - type: "string", - }, - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }, - ], - }, - }, - createdAt: new Date("2024-01-15T09:30:00.000Z"), - updatedAt: new Date("2024-01-15T09:30:00.000Z"), - }); - }); - - test("create (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { - name: "name", - language: "language", - generation: { instructions: { prompt: "prompt" } }, - }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/templates") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaTemplates.create({ - name: "name", - language: "language", - generation: { - instructions: { - prompt: "prompt", - }, - }, - }); - }).rejects.toThrow(Corti.BadRequestError); - }); - test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -601,4 +342,40 @@ describe("AlphaTemplatesClient", () => { return await client.alphaTemplates.update("templateID"); }).rejects.toThrow(Corti.NotFoundError); }); + + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().get("/alpha/templates").respondWith().statusCode(200).build(); + + const response = await client.alphaTemplates.list(); + expect(response).toEqual(undefined); + }); + + test("create", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + server.mockEndpoint().post("/alpha/templates").respondWith().statusCode(200).build(); + + const response = await client.alphaTemplates.create(); + expect(response).toEqual(undefined); + }); }); From da076047d00656f6f0a050ba5216db39cb9d8026 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 12:20:54 +0000 Subject: [PATCH 29/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 9089e602..1fa06d96 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "5db7a85c395027b14963434f7919dcc11d61af44", + "originGitCommit": "01599f65b335fe1dee7235c5cff7579f26ac0fbc", "sdkVersion": "0.0.0-dev" } From 3827ac8ded42bd5eaa72d35dce4beb28b3d3d53b Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 12:34:20 +0000 Subject: [PATCH 30/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 1fa06d96..f0289b48 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "01599f65b335fe1dee7235c5cff7579f26ac0fbc", + "originGitCommit": "1ae1c180c2e9f590899eed97c11b901067fe8a8c", "sdkVersion": "0.0.0-dev" } From e4216c2ffa8d749cdec57782388fcbf894ae1649 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 14:15:24 +0000 Subject: [PATCH 31/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index f0289b48..e9d7e061 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "1ae1c180c2e9f590899eed97c11b901067fe8a8c", + "originGitCommit": "9d859d89d5e7517e28db0157e546eaa8a83a8d30", "sdkVersion": "0.0.0-dev" } From 12a4ee435c401d7233e1316dd4ad21753893fdd9 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 11 May 2026 11:34:22 +0000 Subject: [PATCH 32/44] SDK regeneration --- .fern/metadata.json | 4 +- src/BaseClient.ts | 4 +- .../alphaSectionVersions/client/Client.ts | 184 +++++++---- .../resources/alphaSections/client/Client.ts | 241 +++++++++----- .../requests/ListAlphaSectionsRequest.ts | 14 + .../alphaSections/client/requests/index.ts | 1 + .../alphaTemplateVersions/client/Client.ts | 182 +++++++---- .../alphaTemplateVersions/client/index.ts | 2 +- .../requests/CreateTemplateVersionRequest.ts | 17 + .../client/requests/index.ts | 1 + .../resources/alphaTemplateVersions/index.ts | 1 + .../CreateTemplateVersionRequestGeneration.ts | 8 + .../alphaTemplateVersions/types/index.ts | 1 + .../resources/alphaTemplates/client/Client.ts | 247 ++++++++------ .../requests/ListAlphaTemplatesRequest.ts | 14 + .../alphaTemplates/client/requests/index.ts | 1 + src/api/resources/index.ts | 2 + src/api/types/CreateSectionBase.ts | 14 + .../CreateSectionFromInheritanceRequest.ts | 12 + .../types/CreateSectionFromScratchRequest.ts | 10 + src/api/types/CreateSectionRequest.ts | 5 + src/api/types/CreateTemplateBase.ts | 14 + .../CreateTemplateFromInheritanceRequest.ts | 13 + ...emplateFromInheritanceRequestGeneration.ts | 11 + .../types/CreateTemplateFromScratchRequest.ts | 10 + ...ateTemplateFromScratchRequestGeneration.ts | 8 + src/api/types/CreateTemplateRequest.ts | 5 + src/api/types/SectionGeneration.ts | 4 +- src/api/types/SectionGenerationPartial.ts | 15 + src/api/types/SectionInstructionsPartial.ts | 13 + src/api/types/TemplateInstructionsPartial.ts | 9 + .../types/TemplateVersionSectionRequest.ts | 8 + src/api/types/index.ts | 14 + .../alphaSectionVersions/client/index.ts | 1 + .../alphaSectionVersions/client/list.ts | 15 + .../resources/alphaSectionVersions/index.ts | 1 + .../resources/alphaSections/client/index.ts | 1 + .../resources/alphaSections/client/list.ts | 13 + .../alphaTemplateVersions/client/index.ts | 2 + .../alphaTemplateVersions/client/list.ts | 15 + .../requests/CreateTemplateVersionRequest.ts | 19 ++ .../client/requests/index.ts | 1 + .../resources/alphaTemplateVersions/index.ts | 2 + .../CreateTemplateVersionRequestGeneration.ts | 22 ++ .../alphaTemplateVersions/types/index.ts | 1 + .../resources/alphaTemplates/client/index.ts | 1 + .../resources/alphaTemplates/client/list.ts | 13 + src/serialization/resources/index.ts | 4 + src/serialization/types/CreateSectionBase.ts | 26 ++ .../CreateSectionFromInheritanceRequest.ts | 24 ++ .../types/CreateSectionFromScratchRequest.ts | 22 ++ .../types/CreateSectionRequest.ts | 16 + src/serialization/types/CreateTemplateBase.ts | 26 ++ .../CreateTemplateFromInheritanceRequest.ts | 24 ++ ...emplateFromInheritanceRequestGeneration.ts | 22 ++ .../types/CreateTemplateFromScratchRequest.ts | 22 ++ ...ateTemplateFromScratchRequestGeneration.ts | 22 ++ .../types/CreateTemplateRequest.ts | 16 + src/serialization/types/SectionGeneration.ts | 4 +- .../types/SectionGenerationPartial.ts | 23 ++ .../types/SectionInstructionsPartial.ts | 22 ++ .../types/TemplateInstructionsPartial.ts | 18 ++ .../types/TemplateVersionSectionRequest.ts | 20 ++ src/serialization/types/index.ts | 14 + tests/wire/alphaSectionVersions.test.ts | 266 +++++++++++++-- tests/wire/alphaSections.test.ts | 247 +++++++++++--- tests/wire/alphaTemplateVersions.test.ts | 304 ++++++++++++++++-- tests/wire/alphaTemplates.test.ts | 303 ++++++++++++++--- 68 files changed, 2167 insertions(+), 474 deletions(-) create mode 100644 src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts create mode 100644 src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/api/resources/alphaTemplateVersions/client/requests/index.ts create mode 100644 src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts create mode 100644 src/api/resources/alphaTemplateVersions/types/index.ts create mode 100644 src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts create mode 100644 src/api/types/CreateSectionBase.ts create mode 100644 src/api/types/CreateSectionFromInheritanceRequest.ts create mode 100644 src/api/types/CreateSectionFromScratchRequest.ts create mode 100644 src/api/types/CreateSectionRequest.ts create mode 100644 src/api/types/CreateTemplateBase.ts create mode 100644 src/api/types/CreateTemplateFromInheritanceRequest.ts create mode 100644 src/api/types/CreateTemplateFromInheritanceRequestGeneration.ts create mode 100644 src/api/types/CreateTemplateFromScratchRequest.ts create mode 100644 src/api/types/CreateTemplateFromScratchRequestGeneration.ts create mode 100644 src/api/types/CreateTemplateRequest.ts create mode 100644 src/api/types/SectionGenerationPartial.ts create mode 100644 src/api/types/SectionInstructionsPartial.ts create mode 100644 src/api/types/TemplateInstructionsPartial.ts create mode 100644 src/api/types/TemplateVersionSectionRequest.ts create mode 100644 src/serialization/resources/alphaSectionVersions/client/index.ts create mode 100644 src/serialization/resources/alphaSectionVersions/client/list.ts create mode 100644 src/serialization/resources/alphaSectionVersions/index.ts create mode 100644 src/serialization/resources/alphaSections/client/list.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/list.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/client/requests/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/index.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts create mode 100644 src/serialization/resources/alphaTemplateVersions/types/index.ts create mode 100644 src/serialization/resources/alphaTemplates/client/list.ts create mode 100644 src/serialization/types/CreateSectionBase.ts create mode 100644 src/serialization/types/CreateSectionFromInheritanceRequest.ts create mode 100644 src/serialization/types/CreateSectionFromScratchRequest.ts create mode 100644 src/serialization/types/CreateSectionRequest.ts create mode 100644 src/serialization/types/CreateTemplateBase.ts create mode 100644 src/serialization/types/CreateTemplateFromInheritanceRequest.ts create mode 100644 src/serialization/types/CreateTemplateFromInheritanceRequestGeneration.ts create mode 100644 src/serialization/types/CreateTemplateFromScratchRequest.ts create mode 100644 src/serialization/types/CreateTemplateFromScratchRequestGeneration.ts create mode 100644 src/serialization/types/CreateTemplateRequest.ts create mode 100644 src/serialization/types/SectionGenerationPartial.ts create mode 100644 src/serialization/types/SectionInstructionsPartial.ts create mode 100644 src/serialization/types/TemplateInstructionsPartial.ts create mode 100644 src/serialization/types/TemplateVersionSectionRequest.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index e9d7e061..7d7c640f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "4.107.0", + "cliVersion": "5.7.7", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "9d859d89d5e7517e28db0157e546eaa8a83a8d30", + "originGitCommit": "950693b1b5bf1934a957aee8632a9a581365eb77", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 27d389e5..1b76cbaa 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName?: core.Supplier; + tenantName: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string | undefined; + tenantName?: string; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/api/resources/alphaSectionVersions/client/Client.ts b/src/api/resources/alphaSectionVersions/client/Client.ts index fc2e00e9..29bfb9bd 100644 --- a/src/api/resources/alphaSectionVersions/client/Client.ts +++ b/src/api/resources/alphaSectionVersions/client/Client.ts @@ -24,27 +24,24 @@ export class AlphaSectionVersionsClient { /** * @param {string} sectionID - * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.get("sectionID", "versionID") + * await client.alphaSectionVersions.list("sectionID") */ - public get( + public list( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); } - private async __get( + private async __list( sectionID: string, - versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -56,7 +53,7 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/`, ), method: "GET", headers: _headers, @@ -69,7 +66,7 @@ export class AlphaSectionVersionsClient { }); if (_response.ok) { return { - data: serializers.SectionVersion.parseOrThrow(_response.body, { + data: serializers.alphaSectionVersions.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -97,33 +94,42 @@ export class AlphaSectionVersionsClient { _response.error, _response.rawResponse, "GET", - "/alpha/sections/{sectionID}/versions/{versionID}", + "/alpha/sections/{sectionID}/versions/", ); } /** * @param {string} sectionID - * @param {string} versionID + * @param {Corti.SectionGeneration} request * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.delete("sectionID", "versionID") + * await client.alphaSectionVersions.create("sectionID", { + * heading: "heading", + * instructions: { + * contentPrompt: "contentPrompt" + * }, + * outputSchema: { + * type: "string" + * } + * }) */ - public delete( + public create( sectionID: string, - versionID: string, + request: Corti.SectionGeneration, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(sectionID, request, requestOptions)); } - private async __delete( + private async __create( sectionID: string, - versionID: string, + request: Corti.SectionGeneration, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -135,11 +141,17 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/`, ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.SectionGeneration.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -147,11 +159,22 @@ export class AlphaSectionVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.SectionVersion.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 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -166,14 +189,12 @@ export class AlphaSectionVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "DELETE", - "/alpha/sections/{sectionID}/versions/{versionID}", + "POST", + "/alpha/sections/{sectionID}/versions/", ); } /** - * Sets this version as the published version of the section. - * * @param {string} sectionID * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. @@ -181,21 +202,21 @@ export class AlphaSectionVersionsClient { * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSectionVersions.publish("sectionID", "versionID") + * await client.alphaSectionVersions.get("sectionID", "versionID") */ - public publish( + public get( sectionID: string, versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, versionID, requestOptions)); } - private async __publish( + private async __get( sectionID: string, versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -207,9 +228,9 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "POST", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -220,7 +241,7 @@ export class AlphaSectionVersionsClient { }); if (_response.ok) { return { - data: serializers.StatusResponse.parseOrThrow(_response.body, { + data: serializers.SectionVersion.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -247,27 +268,32 @@ export class AlphaSectionVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "POST", - "/alpha/sections/{sectionID}/versions/{versionID}/publish", + "GET", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } /** * @param {string} sectionID + * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaSectionVersions.list("sectionID") + * await client.alphaSectionVersions.delete("sectionID", "versionID") */ - public list( + public delete( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(sectionID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, versionID, requestOptions)); } - private async __list( + private async __delete( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -281,9 +307,9 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -297,39 +323,51 @@ export class AlphaSectionVersionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, - "GET", - "/alpha/sections/{sectionID}/versions", + "DELETE", + "/alpha/sections/{sectionID}/versions/{versionID}", ); } /** + * Sets this version as the published version of the section. + * * @param {string} sectionID + * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaSectionVersions.create("sectionID") + * await client.alphaSectionVersions.publish("sectionID", "versionID") */ - public create( + public publish( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(sectionID, versionID, requestOptions)); } - private async __create( + private async __publish( sectionID: string, + versionID: string, requestOptions?: AlphaSectionVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -341,7 +379,7 @@ export class AlphaSectionVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}/versions`, + `alpha/sections/${core.url.encodePathParam(sectionID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), method: "POST", headers: _headers, @@ -353,22 +391,36 @@ export class AlphaSectionVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.StatusResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/sections/{sectionID}/versions", + "/alpha/sections/{sectionID}/versions/{versionID}/publish", ); } } diff --git a/src/api/resources/alphaSections/client/Client.ts b/src/api/resources/alphaSections/client/Client.ts index f6fdd17a..10bf4cb7 100644 --- a/src/api/resources/alphaSections/client/Client.ts +++ b/src/api/resources/alphaSections/client/Client.ts @@ -23,25 +23,29 @@ export class AlphaSectionsClient { } /** - * @param {string} sectionID + * @param {Corti.ListAlphaSectionsRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaSections.get("sectionID") + * await client.alphaSections.list() */ - public get( - sectionID: string, + public list( + request: Corti.ListAlphaSectionsRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } - private async __get( - sectionID: string, + private async __list( + request: Corti.ListAlphaSectionsRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { + ): Promise> { + const { lang, label, published } = request; + const _queryParams: Record = { + lang, + label, + published, + }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,11 +57,11 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}`, + "alpha/sections/", ), method: "GET", headers: _headers, - queryParameters: requestOptions?.queryParams, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -66,7 +70,7 @@ export class AlphaSectionsClient { }); if (_response.ok) { return { - data: serializers.Section.parseOrThrow(_response.body, { + data: serializers.alphaSections.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -78,41 +82,48 @@ export class AlphaSectionsClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/"); } /** - * @param {string} sectionID + * @param {Corti.CreateSectionRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} + * @throws {@link Corti.BadRequestError} * * @example - * await client.alphaSections.delete("sectionID") + * await client.alphaSections.create({ + * name: "name", + * language: "language", + * generation: { + * heading: "heading", + * instructions: { + * contentPrompt: "contentPrompt" + * }, + * outputSchema: { + * type: "string" + * } + * } + * }) */ - public delete( - sectionID: string, + public create( + request: Corti.CreateSectionRequest, requestOptions?: AlphaSectionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } - private async __delete( - sectionID: string, + private async __create( + request: Corti.CreateSectionRequest, requestOptions?: AlphaSectionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -124,11 +135,17 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/sections/${core.url.encodePathParam(sectionID)}`, + "alpha/sections/", ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -136,13 +153,22 @@ export class AlphaSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Section.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); + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -152,36 +178,27 @@ export class AlphaSectionsClient { } } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/alpha/sections/{sectionID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/sections/"); } /** * @param {string} sectionID - * @param {Corti.UpdateSectionRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaSections.update("sectionID") + * await client.alphaSections.get("sectionID") */ - public update( + public get( sectionID: string, - request: Corti.UpdateSectionRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(sectionID, requestOptions)); } - private async __update( + private async __get( sectionID: string, - request: Corti.UpdateSectionRequest = {}, requestOptions?: AlphaSectionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -197,15 +214,9 @@ export class AlphaSectionsClient { (await core.Supplier.get(this._options.environment)).base, `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "PATCH", + method: "GET", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateSectionRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -227,8 +238,6 @@ export class AlphaSectionsClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { - case 400: - throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -240,20 +249,29 @@ export class AlphaSectionsClient { } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/alpha/sections/{sectionID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections/{sectionID}"); } /** + * @param {string} sectionID * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaSections.list() + * await client.alphaSections.delete("sectionID") */ - public list(requestOptions?: AlphaSectionsClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + public delete( + sectionID: string, + requestOptions?: AlphaSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(sectionID, requestOptions)); } - private async __list(requestOptions?: AlphaSectionsClient.RequestOptions): Promise> { + private async __delete( + sectionID: string, + requestOptions?: AlphaSectionsClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -265,9 +283,9 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/sections", + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -281,27 +299,50 @@ export class AlphaSectionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/sections"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/alpha/sections/{sectionID}", + ); } /** + * @param {string} sectionID + * @param {Corti.UpdateSectionRequest} request * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaSections.create() + * await client.alphaSections.update("sectionID") */ - public create(requestOptions?: AlphaSectionsClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + public update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: AlphaSectionsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(sectionID, request, requestOptions)); } - private async __create(requestOptions?: AlphaSectionsClient.RequestOptions): Promise> { + private async __update( + sectionID: string, + request: Corti.UpdateSectionRequest = {}, + requestOptions?: AlphaSectionsClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -313,11 +354,17 @@ export class AlphaSectionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/sections", + `alpha/sections/${core.url.encodePathParam(sectionID)}`, ), - method: "POST", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateSectionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -325,17 +372,33 @@ export class AlphaSectionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Section.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/sections"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/alpha/sections/{sectionID}"); } } diff --git a/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts b/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts new file mode 100644 index 00000000..5e85cfb2 --- /dev/null +++ b/src/api/resources/alphaSections/client/requests/ListAlphaSectionsRequest.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface ListAlphaSectionsRequest { + /** Filter sections by language (BCP 47 tag). Repeatable. */ + lang?: string | string[]; + /** Filter sections by label. Repeatable; matches sections that have any of the given labels. */ + label?: string | string[]; + /** Filter by publish status. Omit to return both published and unpublished items; set to `true` for published only, `false` for unpublished only. */ + published?: boolean; +} diff --git a/src/api/resources/alphaSections/client/requests/index.ts b/src/api/resources/alphaSections/client/requests/index.ts index 9d16287f..6b22aa06 100644 --- a/src/api/resources/alphaSections/client/requests/index.ts +++ b/src/api/resources/alphaSections/client/requests/index.ts @@ -1 +1,2 @@ +export type { ListAlphaSectionsRequest } from "./ListAlphaSectionsRequest.js"; export type { UpdateSectionRequest } from "./UpdateSectionRequest.js"; diff --git a/src/api/resources/alphaTemplateVersions/client/Client.ts b/src/api/resources/alphaTemplateVersions/client/Client.ts index 976f5b19..c4d77f01 100644 --- a/src/api/resources/alphaTemplateVersions/client/Client.ts +++ b/src/api/resources/alphaTemplateVersions/client/Client.ts @@ -24,27 +24,24 @@ export class AlphaTemplateVersionsClient { /** * @param {string} templateID - * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.get("templateID", "versionID") + * await client.alphaTemplateVersions.list("templateID") */ - public get( + public list( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(templateID, requestOptions)); } - private async __get( + private async __list( templateID: string, - versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -56,7 +53,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/`, ), method: "GET", headers: _headers, @@ -69,7 +66,7 @@ export class AlphaTemplateVersionsClient { }); if (_response.ok) { return { - data: serializers.TemplateVersion.parseOrThrow(_response.body, { + data: serializers.alphaTemplateVersions.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -97,33 +94,40 @@ export class AlphaTemplateVersionsClient { _response.error, _response.rawResponse, "GET", - "/alpha/templates/{templateID}/versions/{versionID}", + "/alpha/templates/{templateID}/versions/", ); } /** * @param {string} templateID - * @param {string} versionID + * @param {Corti.CreateTemplateVersionRequest} request * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.delete("templateID", "versionID") + * await client.alphaTemplateVersions.create("templateID", { + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } + * }) */ - public delete( + public create( templateID: string, - versionID: string, + request: Corti.CreateTemplateVersionRequest, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(templateID, request, requestOptions)); } - private async __delete( + private async __create( templateID: string, - versionID: string, + request: Corti.CreateTemplateVersionRequest, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -135,11 +139,17 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/`, ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateTemplateVersionRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -147,11 +157,22 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.TemplateVersion.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 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -166,14 +187,12 @@ export class AlphaTemplateVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "DELETE", - "/alpha/templates/{templateID}/versions/{versionID}", + "POST", + "/alpha/templates/{templateID}/versions/", ); } /** - * Sets this version as the published version of the template. - * * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. @@ -181,21 +200,21 @@ export class AlphaTemplateVersionsClient { * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplateVersions.publish("templateID", "versionID") + * await client.alphaTemplateVersions.get("templateID", "versionID") */ - public publish( + public get( templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__publish(templateID, versionID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(templateID, versionID, requestOptions)); } - private async __publish( + private async __get( templateID: string, versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -207,9 +226,9 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}/publish`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "POST", + method: "GET", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -220,7 +239,7 @@ export class AlphaTemplateVersionsClient { }); if (_response.ok) { return { - data: serializers.StatusResponse.parseOrThrow(_response.body, { + data: serializers.TemplateVersion.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -247,27 +266,32 @@ export class AlphaTemplateVersionsClient { return handleNonStatusCodeError( _response.error, _response.rawResponse, - "POST", - "/alpha/templates/{templateID}/versions/{versionID}/publish", + "GET", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** * @param {string} templateID + * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.list("templateID") + * await client.alphaTemplateVersions.delete("templateID", "versionID") */ - public list( + public delete( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(templateID, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, versionID, requestOptions)); } - private async __list( + private async __delete( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -281,9 +305,9 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -297,39 +321,51 @@ export class AlphaTemplateVersionsClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, - "GET", - "/alpha/templates/{templateID}/versions", + "DELETE", + "/alpha/templates/{templateID}/versions/{versionID}", ); } /** + * Sets this version as the published version of the template. + * * @param {string} templateID + * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplateVersions.create("templateID") + * await client.alphaTemplateVersions.publish("templateID", "versionID") */ - public create( + public publish( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(templateID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__publish(templateID, versionID, requestOptions)); } - private async __create( + private async __publish( templateID: string, + versionID: string, requestOptions?: AlphaTemplateVersionsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -341,7 +377,7 @@ export class AlphaTemplateVersionsClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}/versions`, + `alpha/templates/${core.url.encodePathParam(templateID)}/versions/${core.url.encodePathParam(versionID)}/publish`, ), method: "POST", headers: _headers, @@ -353,22 +389,36 @@ export class AlphaTemplateVersionsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.StatusResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.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, + }); + } } return handleNonStatusCodeError( _response.error, _response.rawResponse, "POST", - "/alpha/templates/{templateID}/versions", + "/alpha/templates/{templateID}/versions/{versionID}/publish", ); } } diff --git a/src/api/resources/alphaTemplateVersions/client/index.ts b/src/api/resources/alphaTemplateVersions/client/index.ts index cb0ff5c3..195f9aa8 100644 --- a/src/api/resources/alphaTemplateVersions/client/index.ts +++ b/src/api/resources/alphaTemplateVersions/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests/index.js"; diff --git a/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..66255820 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../index.js"; + +/** + * @example + * { + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } + * } + */ +export interface CreateTemplateVersionRequest { + generation: Corti.CreateTemplateVersionRequestGeneration; +} diff --git a/src/api/resources/alphaTemplateVersions/client/requests/index.ts b/src/api/resources/alphaTemplateVersions/client/requests/index.ts new file mode 100644 index 00000000..3d35d2f7 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export type { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/api/resources/alphaTemplateVersions/index.ts b/src/api/resources/alphaTemplateVersions/index.ts index 914b8c3c..d9adb1af 100644 --- a/src/api/resources/alphaTemplateVersions/index.ts +++ b/src/api/resources/alphaTemplateVersions/index.ts @@ -1 +1,2 @@ export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts new file mode 100644 index 00000000..ae309433 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../index.js"; + +export interface CreateTemplateVersionRequestGeneration { + instructions: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/resources/alphaTemplateVersions/types/index.ts b/src/api/resources/alphaTemplateVersions/types/index.ts new file mode 100644 index 00000000..78af3000 --- /dev/null +++ b/src/api/resources/alphaTemplateVersions/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/api/resources/alphaTemplates/client/Client.ts b/src/api/resources/alphaTemplates/client/Client.ts index 65212747..41a37c53 100644 --- a/src/api/resources/alphaTemplates/client/Client.ts +++ b/src/api/resources/alphaTemplates/client/Client.ts @@ -23,25 +23,29 @@ export class AlphaTemplatesClient { } /** - * @param {string} templateID + * @param {Corti.ListAlphaTemplatesRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} - * * @example - * await client.alphaTemplates.get("templateID") + * await client.alphaTemplates.list() */ - public get( - templateID: string, + public list( + request: Corti.ListAlphaTemplatesRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(templateID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } - private async __get( - templateID: string, + private async __list( + request: Corti.ListAlphaTemplatesRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { + const { lang, label, published } = request; + const _queryParams: Record = { + lang, + label, + published, + }; const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -53,11 +57,11 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}`, + "alpha/templates/", ), method: "GET", headers: _headers, - queryParameters: requestOptions?.queryParams, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -66,7 +70,7 @@ export class AlphaTemplatesClient { }); if (_response.ok) { return { - data: serializers.Template.parseOrThrow(_response.body, { + data: serializers.alphaTemplates.list.Response.parseOrThrow(_response.body, { unrecognizedObjectKeys: "passthrough", allowUnrecognizedUnionMembers: true, allowUnrecognizedEnumValues: true, @@ -78,41 +82,44 @@ export class AlphaTemplatesClient { } 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, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateID}"); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/"); } /** - * @param {string} templateID + * @param {Corti.CreateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.NotFoundError} + * @throws {@link Corti.BadRequestError} * * @example - * await client.alphaTemplates.delete("templateID") + * await client.alphaTemplates.create({ + * name: "name", + * language: "language", + * generation: { + * instructions: { + * prompt: "prompt" + * } + * } + * }) */ - public delete( - templateID: string, + public create( + request: Corti.CreateTemplateRequest, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(templateID, requestOptions)); + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } - private async __delete( - templateID: string, + private async __create( + request: Corti.CreateTemplateRequest, requestOptions?: AlphaTemplatesClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -124,11 +131,17 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - `alpha/templates/${core.url.encodePathParam(templateID)}`, + "alpha/templates/", ), - method: "DELETE", + method: "POST", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -136,13 +149,22 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.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); + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -152,36 +174,27 @@ export class AlphaTemplatesClient { } } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "DELETE", - "/alpha/templates/{templateID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/templates/"); } /** * @param {string} templateID - * @param {Corti.UpdateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} * @throws {@link Corti.NotFoundError} * * @example - * await client.alphaTemplates.update("templateID") + * await client.alphaTemplates.get("templateID") */ - public update( + public get( templateID: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(templateID, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(templateID, requestOptions)); } - private async __update( + private async __get( templateID: string, - request: Corti.UpdateTemplateRequest = {}, requestOptions?: AlphaTemplatesClient.RequestOptions, ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); @@ -197,15 +210,9 @@ export class AlphaTemplatesClient { (await core.Supplier.get(this._options.environment)).base, `alpha/templates/${core.url.encodePathParam(templateID)}`, ), - method: "PATCH", + method: "GET", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -227,8 +234,6 @@ export class AlphaTemplatesClient { if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { - case 400: - throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); default: @@ -240,25 +245,29 @@ export class AlphaTemplatesClient { } } - return handleNonStatusCodeError( - _response.error, - _response.rawResponse, - "PATCH", - "/alpha/templates/{templateID}", - ); + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates/{templateID}"); } /** + * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.list() + * await client.alphaTemplates.delete("templateID") */ - public list(requestOptions?: AlphaTemplatesClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + public delete( + templateID: string, + requestOptions?: AlphaTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(templateID, requestOptions)); } - private async __list(requestOptions?: AlphaTemplatesClient.RequestOptions): Promise> { + private async __delete( + templateID: string, + requestOptions?: AlphaTemplatesClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -270,9 +279,9 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/templates", + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), - method: "GET", + method: "DELETE", headers: _headers, queryParameters: requestOptions?.queryParams, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, @@ -286,27 +295,50 @@ export class AlphaTemplatesClient { } if (_response.error.reason === "status-code") { - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/alpha/templates"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/alpha/templates/{templateID}", + ); } /** + * @param {string} templateID + * @param {Corti.UpdateTemplateRequest} request * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * * @example - * await client.alphaTemplates.create() + * await client.alphaTemplates.update("templateID") */ - public create(requestOptions?: AlphaTemplatesClient.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(requestOptions)); + public update( + templateID: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: AlphaTemplatesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(templateID, request, requestOptions)); } - private async __create(requestOptions?: AlphaTemplatesClient.RequestOptions): Promise> { + private async __update( + templateID: string, + request: Corti.UpdateTemplateRequest = {}, + requestOptions?: AlphaTemplatesClient.RequestOptions, + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -318,11 +350,17 @@ export class AlphaTemplatesClient { url: core.url.join( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)).base, - "alpha/templates", + `alpha/templates/${core.url.encodePathParam(templateID)}`, ), - method: "POST", + method: "PATCH", headers: _headers, + contentType: "application/json", queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.UpdateTemplateRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -330,17 +368,38 @@ export class AlphaTemplatesClient { logging: this._options.logging, }); if (_response.ok) { - return { data: undefined, rawResponse: _response.rawResponse }; + return { + data: serializers.Template.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + 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.statusCode) { + case 400: + throw new Corti.BadRequestError(_response.error.body, _response.rawResponse); + 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, + }); + } } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/templates"); + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/alpha/templates/{templateID}", + ); } } diff --git a/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts b/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts new file mode 100644 index 00000000..dc955c4e --- /dev/null +++ b/src/api/resources/alphaTemplates/client/requests/ListAlphaTemplatesRequest.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * {} + */ +export interface ListAlphaTemplatesRequest { + /** Filter templates by language (BCP 47 tag). Repeatable. */ + lang?: string | string[]; + /** Filter templates by label. Repeatable; matches templates that have any of the given labels. */ + label?: string | string[]; + /** Filter by publish status. Omit to return both published and unpublished items; set to `true` for published only, `false` for unpublished only. */ + published?: boolean; +} diff --git a/src/api/resources/alphaTemplates/client/requests/index.ts b/src/api/resources/alphaTemplates/client/requests/index.ts index ad5cb816..010e202a 100644 --- a/src/api/resources/alphaTemplates/client/requests/index.ts +++ b/src/api/resources/alphaTemplates/client/requests/index.ts @@ -1 +1,2 @@ +export type { ListAlphaTemplatesRequest } from "./ListAlphaTemplatesRequest.js"; export type { UpdateTemplateRequest } from "./UpdateTemplateRequest.js"; diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index 6acf5a18..b0f6760a 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -6,7 +6,9 @@ export * as alphaSections from "./alphaSections/index.js"; export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; +export * from "./alphaTemplateVersions/client/requests/index.js"; export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; +export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/src/api/types/CreateSectionBase.ts b/src/api/types/CreateSectionBase.ts new file mode 100644 index 00000000..2514e078 --- /dev/null +++ b/src/api/types/CreateSectionBase.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface CreateSectionBase { + /** A human-readable identifier for this section. Not passed to the LLM. */ + name: string; + /** The intended language for outputs as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ + language: string; + /** A description for this section. Not passed to the LLM. */ + description?: string; + /** Labels work as query param filter in the LIST /sections endpoint. */ + labels?: string[]; + /** Defaults to true when omitted. Set this to false if you do not want the section to automatically show up in LIST /sections. */ + publish?: boolean; +} diff --git a/src/api/types/CreateSectionFromInheritanceRequest.ts b/src/api/types/CreateSectionFromInheritanceRequest.ts new file mode 100644 index 00000000..1a5e0e71 --- /dev/null +++ b/src/api/types/CreateSectionFromInheritanceRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Creates a section that inherits from another section. Any fields omitted in `generation` are inherited from the referenced section's published version; any fields provided override the inherited values. + */ +export interface CreateSectionFromInheritanceRequest extends Corti.CreateSectionBase { + /** Reference to the section to inherit generation configuration from. Inherits from the published version of the referenced section. */ + inheritFromId: string; + generation: Corti.SectionGenerationPartial; +} diff --git a/src/api/types/CreateSectionFromScratchRequest.ts b/src/api/types/CreateSectionFromScratchRequest.ts new file mode 100644 index 00000000..dcc2c5f2 --- /dev/null +++ b/src/api/types/CreateSectionFromScratchRequest.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Creates a section from scratch with an explicit generation configuration. All required fields on `generation` apply. + */ +export interface CreateSectionFromScratchRequest extends Corti.CreateSectionBase { + generation: Corti.SectionGeneration; +} diff --git a/src/api/types/CreateSectionRequest.ts b/src/api/types/CreateSectionRequest.ts new file mode 100644 index 00000000..456c3459 --- /dev/null +++ b/src/api/types/CreateSectionRequest.ts @@ -0,0 +1,5 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type CreateSectionRequest = Corti.CreateSectionFromScratchRequest | Corti.CreateSectionFromInheritanceRequest; diff --git a/src/api/types/CreateTemplateBase.ts b/src/api/types/CreateTemplateBase.ts new file mode 100644 index 00000000..bd283586 --- /dev/null +++ b/src/api/types/CreateTemplateBase.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface CreateTemplateBase { + /** The name of this template. Not passed to the LLM. */ + name: string; + /** A description for this template. Not passed to the LLM. */ + description?: string; + /** The intended language for outputs as BCP 47 tag. Does not strictly have to match `outputLanguage` in POST /documents request. */ + language: string; + /** Labels work as query param filter in the LIST /templates endpoint. */ + labels?: string[]; + /** Defaults to true when omitted. Set this to false if you do not want the template to automatically show up in LIST templates. */ + publish?: boolean; +} diff --git a/src/api/types/CreateTemplateFromInheritanceRequest.ts b/src/api/types/CreateTemplateFromInheritanceRequest.ts new file mode 100644 index 00000000..24cfafa0 --- /dev/null +++ b/src/api/types/CreateTemplateFromInheritanceRequest.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Creates a template that inherits from another template. Any fields omitted in `generation` are inherited from the referenced template's published version; any fields provided override the inherited values. + */ +export interface CreateTemplateFromInheritanceRequest extends Corti.CreateTemplateBase { + /** Reference to the template to inherit template instructions and sections from. Inherits from the published version of the referenced template. */ + inheritFromId: string; + /** Partial overrides applied on top of the inherited template. All inner fields are optional. Any field omitted is inherited from the referenced template. */ + generation: Corti.CreateTemplateFromInheritanceRequestGeneration; +} diff --git a/src/api/types/CreateTemplateFromInheritanceRequestGeneration.ts b/src/api/types/CreateTemplateFromInheritanceRequestGeneration.ts new file mode 100644 index 00000000..dea4c1b7 --- /dev/null +++ b/src/api/types/CreateTemplateFromInheritanceRequestGeneration.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Partial overrides applied on top of the inherited template. All inner fields are optional. Any field omitted is inherited from the referenced template. + */ +export interface CreateTemplateFromInheritanceRequestGeneration { + instructions?: Corti.TemplateInstructionsPartial; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/types/CreateTemplateFromScratchRequest.ts b/src/api/types/CreateTemplateFromScratchRequest.ts new file mode 100644 index 00000000..d50ab930 --- /dev/null +++ b/src/api/types/CreateTemplateFromScratchRequest.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Creates a template from scratch. `generation.instructions` is required and the template fully specifies its own instructions and sections. + */ +export interface CreateTemplateFromScratchRequest extends Corti.CreateTemplateBase { + generation: Corti.CreateTemplateFromScratchRequestGeneration; +} diff --git a/src/api/types/CreateTemplateFromScratchRequestGeneration.ts b/src/api/types/CreateTemplateFromScratchRequestGeneration.ts new file mode 100644 index 00000000..bf84ccbd --- /dev/null +++ b/src/api/types/CreateTemplateFromScratchRequestGeneration.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface CreateTemplateFromScratchRequestGeneration { + instructions: Corti.TemplateInstructions; + sections?: Corti.TemplateVersionSectionRequest[]; +} diff --git a/src/api/types/CreateTemplateRequest.ts b/src/api/types/CreateTemplateRequest.ts new file mode 100644 index 00000000..7d709365 --- /dev/null +++ b/src/api/types/CreateTemplateRequest.ts @@ -0,0 +1,5 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type CreateTemplateRequest = Corti.CreateTemplateFromScratchRequest | Corti.CreateTemplateFromInheritanceRequest; diff --git a/src/api/types/SectionGeneration.ts b/src/api/types/SectionGeneration.ts index 7e4233b9..54a16083 100644 --- a/src/api/types/SectionGeneration.ts +++ b/src/api/types/SectionGeneration.ts @@ -3,8 +3,8 @@ import type * as Corti from "../index.js"; export interface SectionGeneration { - /** The title of this section. Passed to the LLM. */ - title: string; + /** The heading of this section. Passed to the LLM. */ + heading: string; /** The prompt instructions for this section. */ instructions: Corti.SectionInstructions; outputSchema: Corti.OutputSchema; diff --git a/src/api/types/SectionGenerationPartial.ts b/src/api/types/SectionGenerationPartial.ts new file mode 100644 index 00000000..968c6f0c --- /dev/null +++ b/src/api/types/SectionGenerationPartial.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Partial form of SectionGeneration used when inheriting from another section. Any field omitted is inherited from the referenced section. + */ +export interface SectionGenerationPartial { + /** Override the inherited section title. Passed to the LLM. */ + heading?: string; + /** Override the inherited prompt instructions for this section. Any field omitted is inherited. */ + instructions?: Corti.SectionInstructionsPartial; + /** Override the inherited output schema. */ + outputSchema?: Corti.OutputSchema; +} diff --git a/src/api/types/SectionInstructionsPartial.ts b/src/api/types/SectionInstructionsPartial.ts new file mode 100644 index 00000000..e4809f70 --- /dev/null +++ b/src/api/types/SectionInstructionsPartial.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Partial form of SectionInstructions used when inheriting from another section. Any field omitted is inherited. + */ +export interface SectionInstructionsPartial { + /** Override the inherited content prompt. */ + contentPrompt?: string; + /** Override the inherited writing style prompt. */ + writingStylePrompt?: string; + /** Override the inherited misc prompt. */ + miscPrompt?: string; +} diff --git a/src/api/types/TemplateInstructionsPartial.ts b/src/api/types/TemplateInstructionsPartial.ts new file mode 100644 index 00000000..4335cb78 --- /dev/null +++ b/src/api/types/TemplateInstructionsPartial.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Partial form of TemplateInstructions used when inheriting from another template. Any field omitted is inherited. + */ +export interface TemplateInstructionsPartial { + /** Override the inherited template-level prompt instructions. */ + prompt?: string; +} diff --git a/src/api/types/TemplateVersionSectionRequest.ts b/src/api/types/TemplateVersionSectionRequest.ts new file mode 100644 index 00000000..ac0d2ba0 --- /dev/null +++ b/src/api/types/TemplateVersionSectionRequest.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface TemplateVersionSectionRequest { + /** The UUID of the section to include in the template version. */ + sectionId: string; + /** Sets the order of this section within this template. Starts at 0. */ + orderIndex?: number; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 84546e54..c2cdaaab 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -80,6 +80,16 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./CreateSectionBase.js"; +export * from "./CreateSectionFromInheritanceRequest.js"; +export * from "./CreateSectionFromScratchRequest.js"; +export * from "./CreateSectionRequest.js"; +export * from "./CreateTemplateBase.js"; +export * from "./CreateTemplateFromInheritanceRequest.js"; +export * from "./CreateTemplateFromInheritanceRequestGeneration.js"; +export * from "./CreateTemplateFromScratchRequest.js"; +export * from "./CreateTemplateFromScratchRequestGeneration.js"; +export * from "./CreateTemplateRequest.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -135,7 +145,9 @@ export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; export * from "./Section.js"; export * from "./SectionGeneration.js"; +export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsPartial.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; @@ -167,6 +179,7 @@ export * from "./StringNode.js"; export * from "./Template.js"; export * from "./TemplateGeneration.js"; export * from "./TemplateInstructions.js"; +export * from "./TemplateInstructionsPartial.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; export * from "./TemplatesItem.js"; @@ -178,6 +191,7 @@ export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; export * from "./TemplateVersion.js"; +export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/src/serialization/resources/alphaSectionVersions/client/index.ts b/src/serialization/resources/alphaSectionVersions/client/index.ts new file mode 100644 index 00000000..b64f754c --- /dev/null +++ b/src/serialization/resources/alphaSectionVersions/client/index.ts @@ -0,0 +1 @@ +export * as list from "./list.js"; diff --git a/src/serialization/resources/alphaSectionVersions/client/list.ts b/src/serialization/resources/alphaSectionVersions/client/list.ts new file mode 100644 index 00000000..58ef6401 --- /dev/null +++ b/src/serialization/resources/alphaSectionVersions/client/list.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { SectionVersion } from "../../../types/SectionVersion.js"; + +export const Response: core.serialization.Schema< + serializers.alphaSectionVersions.list.Response.Raw, + Corti.SectionVersion[] +> = core.serialization.list(SectionVersion); + +export declare namespace Response { + export type Raw = SectionVersion.Raw[]; +} diff --git a/src/serialization/resources/alphaSectionVersions/index.ts b/src/serialization/resources/alphaSectionVersions/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/serialization/resources/alphaSectionVersions/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/serialization/resources/alphaSections/client/index.ts b/src/serialization/resources/alphaSections/client/index.ts index 195f9aa8..cd155427 100644 --- a/src/serialization/resources/alphaSections/client/index.ts +++ b/src/serialization/resources/alphaSections/client/index.ts @@ -1 +1,2 @@ +export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaSections/client/list.ts b/src/serialization/resources/alphaSections/client/list.ts new file mode 100644 index 00000000..d1f360b6 --- /dev/null +++ b/src/serialization/resources/alphaSections/client/list.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { Section } from "../../../types/Section.js"; + +export const Response: core.serialization.Schema = + core.serialization.list(Section); + +export declare namespace Response { + export type Raw = Section.Raw[]; +} diff --git a/src/serialization/resources/alphaTemplateVersions/client/index.ts b/src/serialization/resources/alphaTemplateVersions/client/index.ts new file mode 100644 index 00000000..cd155427 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/index.ts @@ -0,0 +1,2 @@ +export * as list from "./list.js"; +export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/client/list.ts b/src/serialization/resources/alphaTemplateVersions/client/list.ts new file mode 100644 index 00000000..a2924d99 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/list.ts @@ -0,0 +1,15 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateVersion } from "../../../types/TemplateVersion.js"; + +export const Response: core.serialization.Schema< + serializers.alphaTemplateVersions.list.Response.Raw, + Corti.TemplateVersion[] +> = core.serialization.list(TemplateVersion); + +export declare namespace Response { + export type Raw = TemplateVersion.Raw[]; +} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts new file mode 100644 index 00000000..4c52846a --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/requests/CreateTemplateVersionRequest.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../../api/index.js"; +import * as core from "../../../../../core/index.js"; +import type * as serializers from "../../../../index.js"; +import { CreateTemplateVersionRequestGeneration } from "../../types/CreateTemplateVersionRequestGeneration.js"; + +export const CreateTemplateVersionRequest: core.serialization.Schema< + serializers.CreateTemplateVersionRequest.Raw, + Corti.CreateTemplateVersionRequest +> = core.serialization.object({ + generation: CreateTemplateVersionRequestGeneration, +}); + +export declare namespace CreateTemplateVersionRequest { + export interface Raw { + generation: CreateTemplateVersionRequestGeneration.Raw; + } +} diff --git a/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts b/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts new file mode 100644 index 00000000..bea03b68 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/client/requests/index.ts @@ -0,0 +1 @@ +export { CreateTemplateVersionRequest } from "./CreateTemplateVersionRequest.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/index.ts b/src/serialization/resources/alphaTemplateVersions/index.ts new file mode 100644 index 00000000..d9adb1af --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/index.ts @@ -0,0 +1,2 @@ +export * from "./client/index.js"; +export * from "./types/index.js"; diff --git a/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts b/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts new file mode 100644 index 00000000..97667c51 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/types/CreateTemplateVersionRequestGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { TemplateInstructions } from "../../../types/TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "../../../types/TemplateVersionSectionRequest.js"; + +export const CreateTemplateVersionRequestGeneration: core.serialization.ObjectSchema< + serializers.CreateTemplateVersionRequestGeneration.Raw, + Corti.CreateTemplateVersionRequestGeneration +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateVersionRequestGeneration { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/resources/alphaTemplateVersions/types/index.ts b/src/serialization/resources/alphaTemplateVersions/types/index.ts new file mode 100644 index 00000000..78af3000 --- /dev/null +++ b/src/serialization/resources/alphaTemplateVersions/types/index.ts @@ -0,0 +1 @@ +export * from "./CreateTemplateVersionRequestGeneration.js"; diff --git a/src/serialization/resources/alphaTemplates/client/index.ts b/src/serialization/resources/alphaTemplates/client/index.ts index 195f9aa8..cd155427 100644 --- a/src/serialization/resources/alphaTemplates/client/index.ts +++ b/src/serialization/resources/alphaTemplates/client/index.ts @@ -1 +1,2 @@ +export * as list from "./list.js"; export * from "./requests/index.js"; diff --git a/src/serialization/resources/alphaTemplates/client/list.ts b/src/serialization/resources/alphaTemplates/client/list.ts new file mode 100644 index 00000000..70443729 --- /dev/null +++ b/src/serialization/resources/alphaTemplates/client/list.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../../../api/index.js"; +import * as core from "../../../../core/index.js"; +import type * as serializers from "../../../index.js"; +import { Template } from "../../../types/Template.js"; + +export const Response: core.serialization.Schema = + core.serialization.list(Template); + +export declare namespace Response { + export type Raw = Template.Raw[]; +} diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index 6d068f65..90fd2e0b 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -3,8 +3,12 @@ export * as agents from "./agents/index.js"; export * from "./agents/types/index.js"; export * from "./alphaSections/client/requests/index.js"; export * as alphaSections from "./alphaSections/index.js"; +export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; export * from "./alphaTemplates/client/requests/index.js"; export * as alphaTemplates from "./alphaTemplates/index.js"; +export * from "./alphaTemplateVersions/client/requests/index.js"; +export * as alphaTemplateVersions from "./alphaTemplateVersions/index.js"; +export * from "./alphaTemplateVersions/types/index.js"; export * as auth from "./auth/index.js"; export * from "./auth/types/index.js"; export * from "./codes/client/requests/index.js"; diff --git a/src/serialization/types/CreateSectionBase.ts b/src/serialization/types/CreateSectionBase.ts new file mode 100644 index 00000000..7b039e00 --- /dev/null +++ b/src/serialization/types/CreateSectionBase.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const CreateSectionBase: core.serialization.ObjectSchema< + serializers.CreateSectionBase.Raw, + Corti.CreateSectionBase +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + description: core.serialization.string().optional(), + labels: core.serialization.list(core.serialization.string()).optional(), + publish: core.serialization.boolean().optional(), +}); + +export declare namespace CreateSectionBase { + export interface Raw { + name: string; + language: string; + description?: string | null; + labels?: string[] | null; + publish?: boolean | null; + } +} diff --git a/src/serialization/types/CreateSectionFromInheritanceRequest.ts b/src/serialization/types/CreateSectionFromInheritanceRequest.ts new file mode 100644 index 00000000..f29f279c --- /dev/null +++ b/src/serialization/types/CreateSectionFromInheritanceRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateSectionBase } from "./CreateSectionBase.js"; +import { SectionGenerationPartial } from "./SectionGenerationPartial.js"; + +export const CreateSectionFromInheritanceRequest: core.serialization.ObjectSchema< + serializers.CreateSectionFromInheritanceRequest.Raw, + Corti.CreateSectionFromInheritanceRequest +> = core.serialization + .object({ + inheritFromId: core.serialization.string(), + generation: SectionGenerationPartial, + }) + .extend(CreateSectionBase); + +export declare namespace CreateSectionFromInheritanceRequest { + export interface Raw extends CreateSectionBase.Raw { + inheritFromId: string; + generation: SectionGenerationPartial.Raw; + } +} diff --git a/src/serialization/types/CreateSectionFromScratchRequest.ts b/src/serialization/types/CreateSectionFromScratchRequest.ts new file mode 100644 index 00000000..25cc9c7d --- /dev/null +++ b/src/serialization/types/CreateSectionFromScratchRequest.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateSectionBase } from "./CreateSectionBase.js"; +import { SectionGeneration } from "./SectionGeneration.js"; + +export const CreateSectionFromScratchRequest: core.serialization.ObjectSchema< + serializers.CreateSectionFromScratchRequest.Raw, + Corti.CreateSectionFromScratchRequest +> = core.serialization + .object({ + generation: SectionGeneration, + }) + .extend(CreateSectionBase); + +export declare namespace CreateSectionFromScratchRequest { + export interface Raw extends CreateSectionBase.Raw { + generation: SectionGeneration.Raw; + } +} diff --git a/src/serialization/types/CreateSectionRequest.ts b/src/serialization/types/CreateSectionRequest.ts new file mode 100644 index 00000000..f62c46f6 --- /dev/null +++ b/src/serialization/types/CreateSectionRequest.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateSectionFromInheritanceRequest } from "./CreateSectionFromInheritanceRequest.js"; +import { CreateSectionFromScratchRequest } from "./CreateSectionFromScratchRequest.js"; + +export const CreateSectionRequest: core.serialization.Schema< + serializers.CreateSectionRequest.Raw, + Corti.CreateSectionRequest +> = core.serialization.undiscriminatedUnion([CreateSectionFromScratchRequest, CreateSectionFromInheritanceRequest]); + +export declare namespace CreateSectionRequest { + export type Raw = CreateSectionFromScratchRequest.Raw | CreateSectionFromInheritanceRequest.Raw; +} diff --git a/src/serialization/types/CreateTemplateBase.ts b/src/serialization/types/CreateTemplateBase.ts new file mode 100644 index 00000000..ae04a00a --- /dev/null +++ b/src/serialization/types/CreateTemplateBase.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const CreateTemplateBase: core.serialization.ObjectSchema< + serializers.CreateTemplateBase.Raw, + Corti.CreateTemplateBase +> = core.serialization.object({ + name: core.serialization.string(), + description: core.serialization.string().optional(), + language: core.serialization.string(), + labels: core.serialization.list(core.serialization.string()).optional(), + publish: core.serialization.boolean().optional(), +}); + +export declare namespace CreateTemplateBase { + export interface Raw { + name: string; + description?: string | null; + language: string; + labels?: string[] | null; + publish?: boolean | null; + } +} diff --git a/src/serialization/types/CreateTemplateFromInheritanceRequest.ts b/src/serialization/types/CreateTemplateFromInheritanceRequest.ts new file mode 100644 index 00000000..a4254957 --- /dev/null +++ b/src/serialization/types/CreateTemplateFromInheritanceRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateTemplateBase } from "./CreateTemplateBase.js"; +import { CreateTemplateFromInheritanceRequestGeneration } from "./CreateTemplateFromInheritanceRequestGeneration.js"; + +export const CreateTemplateFromInheritanceRequest: core.serialization.ObjectSchema< + serializers.CreateTemplateFromInheritanceRequest.Raw, + Corti.CreateTemplateFromInheritanceRequest +> = core.serialization + .object({ + inheritFromId: core.serialization.string(), + generation: CreateTemplateFromInheritanceRequestGeneration, + }) + .extend(CreateTemplateBase); + +export declare namespace CreateTemplateFromInheritanceRequest { + export interface Raw extends CreateTemplateBase.Raw { + inheritFromId: string; + generation: CreateTemplateFromInheritanceRequestGeneration.Raw; + } +} diff --git a/src/serialization/types/CreateTemplateFromInheritanceRequestGeneration.ts b/src/serialization/types/CreateTemplateFromInheritanceRequestGeneration.ts new file mode 100644 index 00000000..5d9f7039 --- /dev/null +++ b/src/serialization/types/CreateTemplateFromInheritanceRequestGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { TemplateInstructionsPartial } from "./TemplateInstructionsPartial.js"; +import { TemplateVersionSectionRequest } from "./TemplateVersionSectionRequest.js"; + +export const CreateTemplateFromInheritanceRequestGeneration: core.serialization.ObjectSchema< + serializers.CreateTemplateFromInheritanceRequestGeneration.Raw, + Corti.CreateTemplateFromInheritanceRequestGeneration +> = core.serialization.object({ + instructions: TemplateInstructionsPartial.optional(), + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateFromInheritanceRequestGeneration { + export interface Raw { + instructions?: TemplateInstructionsPartial.Raw | null; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/types/CreateTemplateFromScratchRequest.ts b/src/serialization/types/CreateTemplateFromScratchRequest.ts new file mode 100644 index 00000000..7d067925 --- /dev/null +++ b/src/serialization/types/CreateTemplateFromScratchRequest.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateTemplateBase } from "./CreateTemplateBase.js"; +import { CreateTemplateFromScratchRequestGeneration } from "./CreateTemplateFromScratchRequestGeneration.js"; + +export const CreateTemplateFromScratchRequest: core.serialization.ObjectSchema< + serializers.CreateTemplateFromScratchRequest.Raw, + Corti.CreateTemplateFromScratchRequest +> = core.serialization + .object({ + generation: CreateTemplateFromScratchRequestGeneration, + }) + .extend(CreateTemplateBase); + +export declare namespace CreateTemplateFromScratchRequest { + export interface Raw extends CreateTemplateBase.Raw { + generation: CreateTemplateFromScratchRequestGeneration.Raw; + } +} diff --git a/src/serialization/types/CreateTemplateFromScratchRequestGeneration.ts b/src/serialization/types/CreateTemplateFromScratchRequestGeneration.ts new file mode 100644 index 00000000..b3433cc7 --- /dev/null +++ b/src/serialization/types/CreateTemplateFromScratchRequestGeneration.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; +import { TemplateVersionSectionRequest } from "./TemplateVersionSectionRequest.js"; + +export const CreateTemplateFromScratchRequestGeneration: core.serialization.ObjectSchema< + serializers.CreateTemplateFromScratchRequestGeneration.Raw, + Corti.CreateTemplateFromScratchRequestGeneration +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(TemplateVersionSectionRequest).optional(), +}); + +export declare namespace CreateTemplateFromScratchRequestGeneration { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections?: TemplateVersionSectionRequest.Raw[] | null; + } +} diff --git a/src/serialization/types/CreateTemplateRequest.ts b/src/serialization/types/CreateTemplateRequest.ts new file mode 100644 index 00000000..d042bbca --- /dev/null +++ b/src/serialization/types/CreateTemplateRequest.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { CreateTemplateFromInheritanceRequest } from "./CreateTemplateFromInheritanceRequest.js"; +import { CreateTemplateFromScratchRequest } from "./CreateTemplateFromScratchRequest.js"; + +export const CreateTemplateRequest: core.serialization.Schema< + serializers.CreateTemplateRequest.Raw, + Corti.CreateTemplateRequest +> = core.serialization.undiscriminatedUnion([CreateTemplateFromScratchRequest, CreateTemplateFromInheritanceRequest]); + +export declare namespace CreateTemplateRequest { + export type Raw = CreateTemplateFromScratchRequest.Raw | CreateTemplateFromInheritanceRequest.Raw; +} diff --git a/src/serialization/types/SectionGeneration.ts b/src/serialization/types/SectionGeneration.ts index d72905d4..bb0a909a 100644 --- a/src/serialization/types/SectionGeneration.ts +++ b/src/serialization/types/SectionGeneration.ts @@ -9,14 +9,14 @@ export const SectionGeneration: core.serialization.ObjectSchema< serializers.SectionGeneration.Raw, Corti.SectionGeneration > = core.serialization.object({ - title: core.serialization.string(), + heading: core.serialization.string(), instructions: SectionInstructions, outputSchema: core.serialization.lazy(() => serializers.OutputSchema), }); export declare namespace SectionGeneration { export interface Raw { - title: string; + heading: string; instructions: SectionInstructions.Raw; outputSchema: serializers.OutputSchema.Raw; } diff --git a/src/serialization/types/SectionGenerationPartial.ts b/src/serialization/types/SectionGenerationPartial.ts new file mode 100644 index 00000000..1e16a7be --- /dev/null +++ b/src/serialization/types/SectionGenerationPartial.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructionsPartial } from "./SectionInstructionsPartial.js"; + +export const SectionGenerationPartial: core.serialization.ObjectSchema< + serializers.SectionGenerationPartial.Raw, + Corti.SectionGenerationPartial +> = core.serialization.object({ + heading: core.serialization.string().optional(), + instructions: SectionInstructionsPartial.optional(), + outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), +}); + +export declare namespace SectionGenerationPartial { + export interface Raw { + heading?: string | null; + instructions?: SectionInstructionsPartial.Raw | null; + outputSchema?: serializers.OutputSchema.Raw | null; + } +} diff --git a/src/serialization/types/SectionInstructionsPartial.ts b/src/serialization/types/SectionInstructionsPartial.ts new file mode 100644 index 00000000..50833a45 --- /dev/null +++ b/src/serialization/types/SectionInstructionsPartial.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const SectionInstructionsPartial: core.serialization.ObjectSchema< + serializers.SectionInstructionsPartial.Raw, + Corti.SectionInstructionsPartial +> = core.serialization.object({ + contentPrompt: core.serialization.string().optional(), + writingStylePrompt: core.serialization.string().optional(), + miscPrompt: core.serialization.string().optional(), +}); + +export declare namespace SectionInstructionsPartial { + export interface Raw { + contentPrompt?: string | null; + writingStylePrompt?: string | null; + miscPrompt?: string | null; + } +} diff --git a/src/serialization/types/TemplateInstructionsPartial.ts b/src/serialization/types/TemplateInstructionsPartial.ts new file mode 100644 index 00000000..fe069434 --- /dev/null +++ b/src/serialization/types/TemplateInstructionsPartial.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const TemplateInstructionsPartial: core.serialization.ObjectSchema< + serializers.TemplateInstructionsPartial.Raw, + Corti.TemplateInstructionsPartial +> = core.serialization.object({ + prompt: core.serialization.string().optional(), +}); + +export declare namespace TemplateInstructionsPartial { + export interface Raw { + prompt?: string | null; + } +} diff --git a/src/serialization/types/TemplateVersionSectionRequest.ts b/src/serialization/types/TemplateVersionSectionRequest.ts new file mode 100644 index 00000000..25a818c3 --- /dev/null +++ b/src/serialization/types/TemplateVersionSectionRequest.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const TemplateVersionSectionRequest: core.serialization.ObjectSchema< + serializers.TemplateVersionSectionRequest.Raw, + Corti.TemplateVersionSectionRequest +> = core.serialization.object({ + sectionId: core.serialization.string(), + orderIndex: core.serialization.number().optional(), +}); + +export declare namespace TemplateVersionSectionRequest { + export interface Raw { + sectionId: string; + orderIndex?: number | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 84546e54..c2cdaaab 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -80,6 +80,16 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./CreateSectionBase.js"; +export * from "./CreateSectionFromInheritanceRequest.js"; +export * from "./CreateSectionFromScratchRequest.js"; +export * from "./CreateSectionRequest.js"; +export * from "./CreateTemplateBase.js"; +export * from "./CreateTemplateFromInheritanceRequest.js"; +export * from "./CreateTemplateFromInheritanceRequestGeneration.js"; +export * from "./CreateTemplateFromScratchRequest.js"; +export * from "./CreateTemplateFromScratchRequestGeneration.js"; +export * from "./CreateTemplateRequest.js"; export * from "./DocumentsContext.js"; export * from "./DocumentsContextWithFacts.js"; export * from "./DocumentsContextWithFactsType.js"; @@ -135,7 +145,9 @@ export * from "./RecordingsCreateResponse.js"; export * from "./RecordingsListResponse.js"; export * from "./Section.js"; export * from "./SectionGeneration.js"; +export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsPartial.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; @@ -167,6 +179,7 @@ export * from "./StringNode.js"; export * from "./Template.js"; export * from "./TemplateGeneration.js"; export * from "./TemplateInstructions.js"; +export * from "./TemplateInstructionsPartial.js"; export * from "./TemplatesDocumentationModeEnum.js"; export * from "./TemplatesFormatRule.js"; export * from "./TemplatesItem.js"; @@ -178,6 +191,7 @@ export * from "./TemplatesSectionTranslation.js"; export * from "./TemplatesTranslation.js"; export * from "./TemplatesWritingStyle.js"; export * from "./TemplateVersion.js"; +export * from "./TemplateVersionSectionRequest.js"; export * from "./TranscribeCommand.js"; export * from "./TranscribeCommandData.js"; export * from "./TranscribeCommandMessage.js"; diff --git a/tests/wire/alphaSectionVersions.test.ts b/tests/wire/alphaSectionVersions.test.ts index 851ebf85..4bd19c5a 100644 --- a/tests/wire/alphaSectionVersions.test.ts +++ b/tests/wire/alphaSectionVersions.test.ts @@ -6,7 +6,7 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaSectionVersionsClient", () => { - test("get (1)", async () => { + test("list (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -18,11 +18,92 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = [ + { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + ]; + + server + .mockEndpoint() + .get("/alpha/sections/sectionID/versions/") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaSectionVersions.list("sectionID"); + expect(response).toEqual([ + { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + ]); + }); + + test("list (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/alpha/sections/sectionID/versions/") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaSectionVersions.list("sectionID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }; const rawResponseBody = { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", @@ -40,18 +121,27 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .get("/alpha/sections/sectionID/versions/versionID") + .post("/alpha/sections/sectionID/versions/") + .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.get("sectionID", "versionID"); + const response = await client.alphaSectionVersions.create("sectionID", { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }); expect(response).toEqual({ id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", writingStylePrompt: "writingStylePrompt", @@ -68,7 +158,7 @@ describe("AlphaSectionVersionsClient", () => { }); }); - test("get (2)", async () => { + test("create (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -79,23 +169,76 @@ describe("AlphaSectionVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawRequestBody = { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/sections/sectionID/versions/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaSectionVersions.create("sectionID", { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .get("/alpha/sections/sectionID/versions/versionID") + .post("/alpha/sections/sectionID/versions/") + .jsonBody(rawRequestBody) .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.get("sectionID", "versionID"); + return await client.alphaSectionVersions.create("sectionID", { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }); }).rejects.toThrow(Corti.NotFoundError); }); - test("delete (1)", async () => { + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -107,18 +250,57 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + }; + server .mockEndpoint() - .delete("/alpha/sections/sectionID/versions/versionID") + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.delete("sectionID", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaSectionVersions.get("sectionID", "versionID"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + writingStylePrompt: "writingStylePrompt", + miscPrompt: "miscPrompt", + }, + outputSchema: { + type: "string", + description: "description", + default: "default", + enum: ["enum"], + pattern: "pattern", + }, + }, + }); }); - test("delete (2)", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -134,18 +316,18 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .delete("/alpha/sections/sectionID/versions/versionID") + .get("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.delete("sectionID", "versionID"); + return await client.alphaSectionVersions.get("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("publish (1)", async () => { + test("delete (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -157,23 +339,18 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { status: "published" }; - server .mockEndpoint() - .post("/alpha/sections/sectionID/versions/versionID/publish") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); - const response = await client.alphaSectionVersions.publish("sectionID", "versionID"); - expect(response).toEqual({ - status: "published", - }); + const response = await client.alphaSectionVersions.delete("sectionID", "versionID"); + expect(response).toEqual(undefined); }); - test("publish (2)", async () => { + test("delete (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -189,18 +366,18 @@ describe("AlphaSectionVersionsClient", () => { server .mockEndpoint() - .post("/alpha/sections/sectionID/versions/versionID/publish") + .delete("/alpha/sections/sectionID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaSectionVersions.publish("sectionID", "versionID"); + return await client.alphaSectionVersions.delete("sectionID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("list", async () => { + test("publish (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -212,13 +389,23 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().get("/alpha/sections/sectionID/versions").respondWith().statusCode(200).build(); + const rawResponseBody = { status: "published" }; - const response = await client.alphaSectionVersions.list("sectionID"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .post("/alpha/sections/sectionID/versions/versionID/publish") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaSectionVersions.publish("sectionID", "versionID"); + expect(response).toEqual({ + status: "published", + }); }); - test("create", async () => { + test("publish (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -230,9 +417,18 @@ describe("AlphaSectionVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().post("/alpha/sections/sectionID/versions").respondWith().statusCode(200).build(); + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/sections/sectionID/versions/versionID/publish") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); - const response = await client.alphaSectionVersions.create("sectionID"); - expect(response).toEqual(undefined); + await expect(async () => { + return await client.alphaSectionVersions.publish("sectionID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/alphaSections.test.ts b/tests/wire/alphaSections.test.ts index ec08e8db..260e4b26 100644 --- a/tests/wire/alphaSections.test.ts +++ b/tests/wire/alphaSections.test.ts @@ -6,6 +6,209 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaSectionsClient", () => { + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ]; + + server.mockEndpoint().get("/alpha/sections/").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + + const response = await client.alphaSections.list(); + expect(response).toEqual([ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ]); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + name: "name", + language: "language", + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .post("/alpha/sections/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaSections.create({ + name: "name", + language: "language", + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + language: "language", + description: "description", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + name: "name", + language: "language", + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/sections/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaSections.create({ + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + name: "name", + language: "language", + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -30,7 +233,7 @@ describe("AlphaSectionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, @@ -60,7 +263,7 @@ describe("AlphaSectionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", }, @@ -170,7 +373,7 @@ describe("AlphaSectionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, @@ -201,7 +404,7 @@ describe("AlphaSectionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", }, @@ -270,40 +473,4 @@ describe("AlphaSectionsClient", () => { return await client.alphaSections.update("sectionID"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/alpha/sections").respondWith().statusCode(200).build(); - - const response = await client.alphaSections.list(); - expect(response).toEqual(undefined); - }); - - test("create", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/alpha/sections").respondWith().statusCode(200).build(); - - const response = await client.alphaSections.create(); - expect(response).toEqual(undefined); - }); }); diff --git a/tests/wire/alphaTemplateVersions.test.ts b/tests/wire/alphaTemplateVersions.test.ts index 0693fa3f..68c04339 100644 --- a/tests/wire/alphaTemplateVersions.test.ts +++ b/tests/wire/alphaTemplateVersions.test.ts @@ -6,7 +6,93 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaTemplateVersionsClient", () => { - test("get (1)", async () => { + test("list (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + ]; + + server + .mockEndpoint() + .get("/alpha/templates/templateID/versions/") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplateVersions.list("templateID"); + expect(response).toEqual([ + { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + ]); + }); + + test("list (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -18,6 +104,33 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .get("/alpha/templates/templateID/versions/") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.list("templateID"); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; const rawResponseBody = { id: "id", versionNumber: 1, @@ -33,7 +146,7 @@ describe("AlphaTemplateVersionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, @@ -47,13 +160,20 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .get("/alpha/templates/templateID/versions/versionID") + .post("/alpha/templates/templateID/versions/") + .jsonBody(rawRequestBody) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.get("templateID", "versionID"); + const response = await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); expect(response).toEqual({ id: "id", versionNumber: 1, @@ -71,7 +191,7 @@ describe("AlphaTemplateVersionsClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", }, @@ -88,7 +208,7 @@ describe("AlphaTemplateVersionsClient", () => { }); }); - test("get (2)", async () => { + test("create (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -99,23 +219,64 @@ describe("AlphaTemplateVersionsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + await expect(async () => { + return await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { generation: { instructions: { prompt: "prompt" } } }; const rawResponseBody = { key: "value" }; server .mockEndpoint() - .get("/alpha/templates/templateID/versions/versionID") + .post("/alpha/templates/templateID/versions/") + .jsonBody(rawRequestBody) .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.get("templateID", "versionID"); + return await client.alphaTemplateVersions.create("templateID", { + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); }).rejects.toThrow(Corti.NotFoundError); }); - test("delete (1)", async () => { + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -127,18 +288,77 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); + const rawResponseBody = { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }; + server .mockEndpoint() - .delete("/alpha/templates/templateID/versions/versionID") + .get("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) + .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.delete("templateID", "versionID"); - expect(response).toEqual(undefined); + const response = await client.alphaTemplateVersions.get("templateID", "versionID"); + expect(response).toEqual({ + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }); }); - test("delete (2)", async () => { + test("get (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -154,18 +374,18 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .delete("/alpha/templates/templateID/versions/versionID") + .get("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.delete("templateID", "versionID"); + return await client.alphaTemplateVersions.get("templateID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("publish (1)", async () => { + test("delete (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -177,23 +397,18 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { status: "published" }; - server .mockEndpoint() - .post("/alpha/templates/templateID/versions/versionID/publish") + .delete("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(200) - .jsonBody(rawResponseBody) .build(); - const response = await client.alphaTemplateVersions.publish("templateID", "versionID"); - expect(response).toEqual({ - status: "published", - }); + const response = await client.alphaTemplateVersions.delete("templateID", "versionID"); + expect(response).toEqual(undefined); }); - test("publish (2)", async () => { + test("delete (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -209,18 +424,18 @@ describe("AlphaTemplateVersionsClient", () => { server .mockEndpoint() - .post("/alpha/templates/templateID/versions/versionID/publish") + .delete("/alpha/templates/templateID/versions/versionID") .respondWith() .statusCode(404) .jsonBody(rawResponseBody) .build(); await expect(async () => { - return await client.alphaTemplateVersions.publish("templateID", "versionID"); + return await client.alphaTemplateVersions.delete("templateID", "versionID"); }).rejects.toThrow(Corti.NotFoundError); }); - test("list", async () => { + test("publish (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -232,13 +447,23 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().get("/alpha/templates/templateID/versions").respondWith().statusCode(200).build(); + const rawResponseBody = { status: "published" }; - const response = await client.alphaTemplateVersions.list("templateID"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions/versionID/publish") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplateVersions.publish("templateID", "versionID"); + expect(response).toEqual({ + status: "published", + }); }); - test("create", async () => { + test("publish (2)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -250,9 +475,18 @@ describe("AlphaTemplateVersionsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - server.mockEndpoint().post("/alpha/templates/templateID/versions").respondWith().statusCode(200).build(); + const rawResponseBody = { key: "value" }; - const response = await client.alphaTemplateVersions.create("templateID"); - expect(response).toEqual(undefined); + server + .mockEndpoint() + .post("/alpha/templates/templateID/versions/versionID/publish") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplateVersions.publish("templateID", "versionID"); + }).rejects.toThrow(Corti.NotFoundError); }); }); diff --git a/tests/wire/alphaTemplates.test.ts b/tests/wire/alphaTemplates.test.ts index 629d0a28..e041a0f6 100644 --- a/tests/wire/alphaTemplates.test.ts +++ b/tests/wire/alphaTemplates.test.ts @@ -6,6 +6,265 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaTemplatesClient", () => { + test("list", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + + const rawResponseBody = [ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ]; + + server.mockEndpoint().get("/alpha/templates/").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + + const response = await client.alphaTemplates.list(); + expect(response).toEqual([ + { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ]); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + name: "name", + language: "language", + generation: { instructions: { prompt: "prompt" } }, + }; + const rawResponseBody = { + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { prompt: "prompt" }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { contentPrompt: "contentPrompt" }, + outputSchema: { type: "string" }, + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }, + ], + }, + }, + createdAt: "2024-01-15T09:30:00Z", + updatedAt: "2024-01-15T09:30:00Z", + }; + + server + .mockEndpoint() + .post("/alpha/templates/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaTemplates.create({ + name: "name", + language: "language", + generation: { + instructions: { + prompt: "prompt", + }, + }, + }); + expect(response).toEqual({ + id: "id", + inheritedFromId: "inheritedFromId", + autoGenerated: true, + name: "name", + description: "description", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + instructions: { + prompt: "prompt", + }, + sections: [ + { + id: "id", + name: "name", + language: "language", + labels: ["labels"], + publishedVersion: { + id: "id", + versionNumber: 1, + generation: { + heading: "heading", + instructions: { + contentPrompt: "contentPrompt", + }, + outputSchema: { + type: "string", + }, + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }, + ], + }, + }, + createdAt: new Date("2024-01-15T09:30:00.000Z"), + updatedAt: new Date("2024-01-15T09:30:00.000Z"), + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { + generation: { instructions: { prompt: "prompt" } }, + name: "name", + language: "language", + }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/templates/") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaTemplates.create({ + generation: { + instructions: { + prompt: "prompt", + }, + }, + name: "name", + language: "language", + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + test("get (1)", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -41,7 +300,7 @@ describe("AlphaTemplatesClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, @@ -90,7 +349,7 @@ describe("AlphaTemplatesClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", }, @@ -217,7 +476,7 @@ describe("AlphaTemplatesClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt" }, outputSchema: { type: "string" }, }, @@ -267,7 +526,7 @@ describe("AlphaTemplatesClient", () => { id: "id", versionNumber: 1, generation: { - title: "title", + heading: "heading", instructions: { contentPrompt: "contentPrompt", }, @@ -342,40 +601,4 @@ describe("AlphaTemplatesClient", () => { return await client.alphaTemplates.update("templateID"); }).rejects.toThrow(Corti.NotFoundError); }); - - test("list", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().get("/alpha/templates").respondWith().statusCode(200).build(); - - const response = await client.alphaTemplates.list(); - expect(response).toEqual(undefined); - }); - - test("create", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - - server.mockEndpoint().post("/alpha/templates").respondWith().statusCode(200).build(); - - const response = await client.alphaTemplates.create(); - expect(response).toEqual(undefined); - }); }); From d7d09c5bde119f826c78fbb20a254fce1a0abd82 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 12:13:04 +0000 Subject: [PATCH 33/44] SDK regeneration --- .fern/metadata.json | 4 +- src/api/errors/UnprocessableEntityError.ts | 3 +- src/api/resources/agents/client/Client.ts | 44 ++----------------- src/api/types/AgentsErrorResponse.ts | 14 ------ src/api/types/AgentsValidationError.ts | 11 ----- .../types/AgentsValidationErrorErrorsItem.ts | 6 --- .../types/AgentsValidationErrorResponse.ts | 7 --- src/api/types/index.ts | 4 -- .../types/AgentsErrorResponse.ts | 26 ----------- .../types/AgentsValidationError.ts | 27 ------------ .../types/AgentsValidationErrorErrorsItem.ts | 20 --------- .../types/AgentsValidationErrorResponse.ts | 22 ---------- src/serialization/types/index.ts | 4 -- tests/wire/agents.test.ts | 8 ++-- 14 files changed, 11 insertions(+), 189 deletions(-) delete mode 100644 src/api/types/AgentsErrorResponse.ts delete mode 100644 src/api/types/AgentsValidationError.ts delete mode 100644 src/api/types/AgentsValidationErrorErrorsItem.ts delete mode 100644 src/api/types/AgentsValidationErrorResponse.ts delete mode 100644 src/serialization/types/AgentsErrorResponse.ts delete mode 100644 src/serialization/types/AgentsValidationError.ts delete mode 100644 src/serialization/types/AgentsValidationErrorErrorsItem.ts delete mode 100644 src/serialization/types/AgentsValidationErrorResponse.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 7d7c640f..a8d4cb5f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.7.7", + "cliVersion": "5.10.2", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "950693b1b5bf1934a957aee8632a9a581365eb77", + "originGitCommit": "7ad89e9e5a66c253f737a7c794735200a60b8145", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/errors/UnprocessableEntityError.ts b/src/api/errors/UnprocessableEntityError.ts index bc71fc87..53d1ef21 100644 --- a/src/api/errors/UnprocessableEntityError.ts +++ b/src/api/errors/UnprocessableEntityError.ts @@ -2,10 +2,9 @@ import type * as core from "../../core/index.js"; import * as errors from "../../errors/index.js"; -import type * as Corti from "../index.js"; export class UnprocessableEntityError extends errors.CortiError { - constructor(body: Corti.AgentsValidationErrorResponse, rawResponse?: core.RawResponse) { + constructor(body?: unknown, rawResponse?: core.RawResponse) { super({ message: "UnprocessableEntityError", statusCode: 422, diff --git a/src/api/resources/agents/client/Client.ts b/src/api/resources/agents/client/Client.ts index 0ac4113a..0136af74 100644 --- a/src/api/resources/agents/client/Client.ts +++ b/src/api/resources/agents/client/Client.ts @@ -183,16 +183,7 @@ export class AgentsClient { case 401: throw new Corti.UnauthorizedError(_response.error.body, _response.rawResponse); case 422: - throw new Corti.UnprocessableEntityError( - serializers.AgentsValidationErrorResponse.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - _response.rawResponse, - ); + throw new Corti.UnprocessableEntityError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -429,16 +420,7 @@ export class AgentsClient { case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); case 422: - throw new Corti.UnprocessableEntityError( - serializers.AgentsValidationErrorResponse.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - _response.rawResponse, - ); + throw new Corti.UnprocessableEntityError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -621,16 +603,7 @@ export class AgentsClient { case 404: throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); case 422: - throw new Corti.UnprocessableEntityError( - serializers.AgentsValidationErrorResponse.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - _response.rawResponse, - ); + throw new Corti.UnprocessableEntityError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, @@ -909,16 +882,7 @@ export class AgentsClient { case 401: throw new Corti.UnauthorizedError(_response.error.body, _response.rawResponse); case 422: - throw new Corti.UnprocessableEntityError( - serializers.AgentsValidationErrorResponse.parseOrThrow(_response.error.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - _response.rawResponse, - ); + throw new Corti.UnprocessableEntityError(_response.error.body, _response.rawResponse); default: throw new errors.CortiError({ statusCode: _response.error.statusCode, diff --git a/src/api/types/AgentsErrorResponse.ts b/src/api/types/AgentsErrorResponse.ts deleted file mode 100644 index f75ff873..00000000 --- a/src/api/types/AgentsErrorResponse.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface AgentsErrorResponse { - /** A machine-readable error code that identifies the type of error. */ - code: string; - /** A human-readable description of the error, providing more context about what went wrong. */ - description: string; - /** A human-readable message describing how to fix the issue. */ - howToFix?: string; - /** An optional object containing additional details about the error. */ - details?: Record; - /** An optional object containing the cause of the error, following the same structure as the parent error response. */ - cause?: Record; -} diff --git a/src/api/types/AgentsValidationError.ts b/src/api/types/AgentsValidationError.ts deleted file mode 100644 index 615b2225..00000000 --- a/src/api/types/AgentsValidationError.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface AgentsValidationError { - msg: string; - type: string; - reason: string; - howToFix: string; - errors?: Corti.AgentsValidationErrorErrorsItem[]; -} diff --git a/src/api/types/AgentsValidationErrorErrorsItem.ts b/src/api/types/AgentsValidationErrorErrorsItem.ts deleted file mode 100644 index cd20e80c..00000000 --- a/src/api/types/AgentsValidationErrorErrorsItem.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface AgentsValidationErrorErrorsItem { - location?: string; - reason?: string; -} diff --git a/src/api/types/AgentsValidationErrorResponse.ts b/src/api/types/AgentsValidationErrorResponse.ts deleted file mode 100644 index b7c94f27..00000000 --- a/src/api/types/AgentsValidationErrorResponse.ts +++ /dev/null @@ -1,7 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface AgentsValidationErrorResponse extends Corti.AgentsErrorResponse { - detail?: Corti.AgentsValidationError[]; -} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index c2cdaaab..7770f431 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -22,7 +22,6 @@ export * from "./AgentsCreateMcpServerAuthorizationType.js"; export * from "./AgentsCreateMcpServerTransportType.js"; export * from "./AgentsDataPart.js"; export * from "./AgentsDataPartKind.js"; -export * from "./AgentsErrorResponse.js"; export * from "./AgentsExpert.js"; export * from "./AgentsExpertReference.js"; export * from "./AgentsExpertReferenceType.js"; @@ -53,9 +52,6 @@ export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; export * from "./AgentsUpdateExpertReference.js"; -export * from "./AgentsValidationError.js"; -export * from "./AgentsValidationErrorErrorsItem.js"; -export * from "./AgentsValidationErrorResponse.js"; export * from "./ArrayNode.js"; export * from "./AuthTokenRequestAuthorizationCode.js"; export * from "./AuthTokenRequestAuthorizationPkce.js"; diff --git a/src/serialization/types/AgentsErrorResponse.ts b/src/serialization/types/AgentsErrorResponse.ts deleted file mode 100644 index 06424ccf..00000000 --- a/src/serialization/types/AgentsErrorResponse.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const AgentsErrorResponse: core.serialization.ObjectSchema< - serializers.AgentsErrorResponse.Raw, - Corti.AgentsErrorResponse -> = core.serialization.object({ - code: core.serialization.string(), - description: core.serialization.string(), - howToFix: core.serialization.string().optional(), - details: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), - cause: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optional(), -}); - -export declare namespace AgentsErrorResponse { - export interface Raw { - code: string; - description: string; - howToFix?: string | null; - details?: Record | null; - cause?: Record | null; - } -} diff --git a/src/serialization/types/AgentsValidationError.ts b/src/serialization/types/AgentsValidationError.ts deleted file mode 100644 index bab2cb33..00000000 --- a/src/serialization/types/AgentsValidationError.ts +++ /dev/null @@ -1,27 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { AgentsValidationErrorErrorsItem } from "./AgentsValidationErrorErrorsItem.js"; - -export const AgentsValidationError: core.serialization.ObjectSchema< - serializers.AgentsValidationError.Raw, - Corti.AgentsValidationError -> = core.serialization.object({ - msg: core.serialization.string(), - type: core.serialization.string(), - reason: core.serialization.string(), - howToFix: core.serialization.string(), - errors: core.serialization.list(AgentsValidationErrorErrorsItem).optional(), -}); - -export declare namespace AgentsValidationError { - export interface Raw { - msg: string; - type: string; - reason: string; - howToFix: string; - errors?: AgentsValidationErrorErrorsItem.Raw[] | null; - } -} diff --git a/src/serialization/types/AgentsValidationErrorErrorsItem.ts b/src/serialization/types/AgentsValidationErrorErrorsItem.ts deleted file mode 100644 index a1fb44b3..00000000 --- a/src/serialization/types/AgentsValidationErrorErrorsItem.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const AgentsValidationErrorErrorsItem: core.serialization.ObjectSchema< - serializers.AgentsValidationErrorErrorsItem.Raw, - Corti.AgentsValidationErrorErrorsItem -> = core.serialization.object({ - location: core.serialization.string().optional(), - reason: core.serialization.string().optional(), -}); - -export declare namespace AgentsValidationErrorErrorsItem { - export interface Raw { - location?: string | null; - reason?: string | null; - } -} diff --git a/src/serialization/types/AgentsValidationErrorResponse.ts b/src/serialization/types/AgentsValidationErrorResponse.ts deleted file mode 100644 index 46415c5d..00000000 --- a/src/serialization/types/AgentsValidationErrorResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { AgentsErrorResponse } from "./AgentsErrorResponse.js"; -import { AgentsValidationError } from "./AgentsValidationError.js"; - -export const AgentsValidationErrorResponse: core.serialization.ObjectSchema< - serializers.AgentsValidationErrorResponse.Raw, - Corti.AgentsValidationErrorResponse -> = core.serialization - .object({ - detail: core.serialization.list(AgentsValidationError).optional(), - }) - .extend(AgentsErrorResponse); - -export declare namespace AgentsValidationErrorResponse { - export interface Raw extends AgentsErrorResponse.Raw { - detail?: AgentsValidationError.Raw[] | null; - } -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index c2cdaaab..7770f431 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -22,7 +22,6 @@ export * from "./AgentsCreateMcpServerAuthorizationType.js"; export * from "./AgentsCreateMcpServerTransportType.js"; export * from "./AgentsDataPart.js"; export * from "./AgentsDataPartKind.js"; -export * from "./AgentsErrorResponse.js"; export * from "./AgentsExpert.js"; export * from "./AgentsExpertReference.js"; export * from "./AgentsExpertReferenceType.js"; @@ -53,9 +52,6 @@ export * from "./AgentsTaskStatusState.js"; export * from "./AgentsTextPart.js"; export * from "./AgentsTextPartKind.js"; export * from "./AgentsUpdateExpertReference.js"; -export * from "./AgentsValidationError.js"; -export * from "./AgentsValidationErrorErrorsItem.js"; -export * from "./AgentsValidationErrorResponse.js"; export * from "./ArrayNode.js"; export * from "./AuthTokenRequestAuthorizationCode.js"; export * from "./AuthTokenRequestAuthorizationPkce.js"; diff --git a/tests/wire/agents.test.ts b/tests/wire/agents.test.ts index 4cc9e418..a041e8c1 100644 --- a/tests/wire/agents.test.ts +++ b/tests/wire/agents.test.ts @@ -276,7 +276,7 @@ describe("AgentsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); const rawRequestBody = { name: "name", description: "description" }; - const rawResponseBody = { code: "code", description: "description" }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -717,7 +717,7 @@ describe("AgentsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); const rawRequestBody = {}; - const rawResponseBody = { code: "code", description: "description" }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -1332,7 +1332,7 @@ describe("AgentsClient", () => { kind: "message", }, }; - const rawResponseBody = { code: "code", description: "description" }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -1897,7 +1897,7 @@ describe("AgentsClient", () => { environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawResponseBody = { code: "code", description: "description" }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() From b461a8632c671765f4970ac7bf34c1e9678b2312 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 12:42:36 +0000 Subject: [PATCH 34/44] SDK regeneration --- .fern/metadata.json | 2 +- src/Client.ts | 6 + .../resources/alphaDocuments/client/Client.ts | 113 +++++++++++++ .../resources/alphaDocuments/client/index.ts | 1 + src/api/resources/alphaDocuments/index.ts | 1 + src/api/resources/index.ts | 1 + tests/wire/alphaDocuments.test.ts | 159 ++++++++++++++++++ 7 files changed, 282 insertions(+), 1 deletion(-) create mode 100644 src/api/resources/alphaDocuments/client/Client.ts create mode 100644 src/api/resources/alphaDocuments/client/index.ts create mode 100644 src/api/resources/alphaDocuments/index.ts create mode 100644 tests/wire/alphaDocuments.test.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index a8d4cb5f..77165e94 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "7ad89e9e5a66c253f737a7c794735200a60b8145", + "originGitCommit": "b68cfcbfd89d41064dc86cc020e95f0e8a116b2f", "sdkVersion": "0.0.0-dev" } diff --git a/src/Client.ts b/src/Client.ts index 55e47765..ec9df172 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -1,6 +1,7 @@ // This file was auto-generated by Fern from our API Definition. import { AgentsClient } from "./api/resources/agents/client/Client.js"; +import { AlphaDocumentsClient } from "./api/resources/alphaDocuments/client/Client.js"; import { AlphaSectionsClient } from "./api/resources/alphaSections/client/Client.js"; import { AlphaSectionVersionsClient } from "./api/resources/alphaSectionVersions/client/Client.js"; import { AlphaTemplatesClient } from "./api/resources/alphaTemplates/client/Client.js"; @@ -38,6 +39,7 @@ export class CortiClient { protected _alphaTemplateVersions: AlphaTemplateVersionsClient | undefined; protected _alphaSections: AlphaSectionsClient | undefined; protected _alphaSectionVersions: AlphaSectionVersionsClient | undefined; + protected _alphaDocuments: AlphaDocumentsClient | undefined; protected _agents: AgentsClient | undefined; protected _stream: StreamClient | undefined; protected _transcribe: TranscribeClient | undefined; @@ -94,6 +96,10 @@ export class CortiClient { return (this._alphaSectionVersions ??= new AlphaSectionVersionsClient(this._options)); } + public get alphaDocuments(): AlphaDocumentsClient { + return (this._alphaDocuments ??= new AlphaDocumentsClient(this._options)); + } + public get agents(): AgentsClient { return (this._agents ??= new AgentsClient(this._options)); } diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts new file mode 100644 index 00000000..9177546a --- /dev/null +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -0,0 +1,113 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import * as core from "../../../../core/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import * as errors from "../../../../errors/index.js"; +import * as serializers from "../../../../serialization/index.js"; +import * as Corti from "../../../index.js"; + +export declare namespace AlphaDocumentsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class AlphaDocumentsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: AlphaDocumentsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * Generates a structured document using one of four template-supply paths: a stored template reference (optionally with runtime overrides), an ad-hoc assembly of stored sections, or a fully inline dynamic template. Exactly one of `templateRef`, `assemblyTemplate`, or `dynamicTemplate` must be provided. + * + * With the exception of the plain `templateRef` path (no overrides), every call persists a new auto-generated template aggregate that snapshots the resolved content. The snapshot is drift-proof: subsequent edits to base templates or sections do not affect previously generated documents. + * + * @param {unknown} request + * @param {AlphaDocumentsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Corti.BadRequestError} + * @throws {@link Corti.NotFoundError} + * @throws {@link Corti.UnprocessableEntityError} + * @throws {@link Corti.BadGatewayError} + * + * @example + * await client.alphaDocuments.generate({ + * "key": "value" + * }) + */ + public generate( + request?: unknown, + requestOptions?: AlphaDocumentsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions)); + } + + private async __generate( + request?: unknown, + requestOptions?: AlphaDocumentsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + mergeOnlyDefinedHeaders({ "Tenant-Name": requestOptions?.tenantName ?? this._options?.tenantName }), + requestOptions?.headers, + ); + const _response = await core.fetcher({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)).base, + "alpha/documents", + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: _response.body, 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 404: + throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); + case 422: + throw new Corti.UnprocessableEntityError(_response.error.body, _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, + ); + default: + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/documents"); + } +} diff --git a/src/api/resources/alphaDocuments/client/index.ts b/src/api/resources/alphaDocuments/client/index.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/src/api/resources/alphaDocuments/client/index.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/api/resources/alphaDocuments/index.ts b/src/api/resources/alphaDocuments/index.ts new file mode 100644 index 00000000..914b8c3c --- /dev/null +++ b/src/api/resources/alphaDocuments/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts index b0f6760a..945f42fe 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -1,6 +1,7 @@ export * from "./agents/client/requests/index.js"; export * as agents from "./agents/index.js"; export * from "./agents/types/index.js"; +export * as alphaDocuments from "./alphaDocuments/index.js"; export * from "./alphaSections/client/requests/index.js"; export * as alphaSections from "./alphaSections/index.js"; export * as alphaSectionVersions from "./alphaSectionVersions/index.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts new file mode 100644 index 00000000..7a08c774 --- /dev/null +++ b/tests/wire/alphaDocuments.test.ts @@ -0,0 +1,159 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as Corti from "../../src/api/index"; +import { CortiClient } from "../../src/Client"; +import { mockServerPool } from "../mock-server/MockServerPool"; +import { mockOAuth } from "./mockAuth"; + +describe("AlphaDocumentsClient", () => { + test("generate (1)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { key: "value" }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/documents") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.alphaDocuments.generate({ + key: "value", + }); + expect(response).toEqual({ + key: "value", + }); + }); + + test("generate (2)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { key: "value" }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/documents") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaDocuments.generate({ + key: "value", + }); + }).rejects.toThrow(Corti.BadRequestError); + }); + + test("generate (3)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { key: "value" }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/documents") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaDocuments.generate({ + key: "value", + }); + }).rejects.toThrow(Corti.NotFoundError); + }); + + test("generate (4)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { key: "value" }; + const rawResponseBody = { key: "value" }; + + server + .mockEndpoint() + .post("/alpha/documents") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(422) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaDocuments.generate({ + key: "value", + }); + }).rejects.toThrow(Corti.UnprocessableEntityError); + }); + + test("generate (5)", async () => { + const server = mockServerPool.createServer(); + mockOAuth(server); + + const client = new CortiClient({ + maxRetries: 0, + clientId: "client_id", + clientSecret: "client_secret", + tenantName: "test", + environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, + }); + const rawRequestBody = { key: "value" }; + const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; + + server + .mockEndpoint() + .post("/alpha/documents") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(502) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.alphaDocuments.generate({ + key: "value", + }); + }).rejects.toThrow(Corti.BadGatewayError); + }); +}); From 2f9a8c378aeabfeaf1437a476a682489139e1d47 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 13:03:06 +0000 Subject: [PATCH 35/44] SDK regeneration --- .fern/metadata.json | 2 +- .../resources/alphaDocuments/client/Client.ts | 31 ++++++++--- src/api/types/ContextFacts.ts | 11 ++++ src/api/types/ContextText.ts | 10 ++++ src/api/types/ContextTranscript.ts | 11 ++++ src/api/types/GuidedAssemblyRequest.ts | 16 ++++++ src/api/types/GuidedAssemblySectionRef.ts | 13 +++++ src/api/types/GuidedDocumentByAssembly.ts | 17 ++++++ src/api/types/GuidedDocumentByDynamic.ts | 17 ++++++ src/api/types/GuidedDocumentByTemplateRef.ts | 17 ++++++ src/api/types/GuidedDocumentContext.ts | 5 ++ src/api/types/GuidedDocumentFactMinimal.ts | 9 ++++ src/api/types/GuidedDocumentRequest.ts | 8 +++ src/api/types/GuidedDocumentResponse.ts | 11 ++++ ...GuidedDocumentTranscriptMetadataMinimal.ts | 10 ++++ .../types/GuidedDocumentTranscriptMinimal.ts | 11 ++++ .../GuidedDocumentTranscriptSegmentMinimal.ts | 19 +++++++ src/api/types/GuidedDynamicInline.ts | 8 +++ src/api/types/GuidedDynamicRequest.ts | 13 +++++ src/api/types/GuidedGenerationResult.ts | 14 +++++ src/api/types/GuidedGenerationResultUsage.ts | 7 +++ .../GuidedGenerationResultUsageTokenCount.ts | 6 +++ src/api/types/GuidedSectionOverride.ts | 12 +++++ src/api/types/GuidedTemplateOverrides.ts | 10 ++++ src/api/types/GuidedTemplateRef.ts | 12 +++++ src/api/types/SectionInstructionsOverride.ts | 11 ++++ src/api/types/SectionOverrides.ts | 14 +++++ src/api/types/index.ts | 25 +++++++++ src/serialization/types/ContextFacts.ts | 19 +++++++ src/serialization/types/ContextText.ts | 18 +++++++ src/serialization/types/ContextTranscript.ts | 21 ++++++++ .../types/GuidedAssemblyRequest.ts | 26 ++++++++++ .../types/GuidedAssemblySectionRef.ts | 23 ++++++++ .../types/GuidedDocumentByAssembly.ts | 26 ++++++++++ .../types/GuidedDocumentByDynamic.ts | 26 ++++++++++ .../types/GuidedDocumentByTemplateRef.ts | 26 ++++++++++ .../types/GuidedDocumentContext.ts | 17 ++++++ .../types/GuidedDocumentFactMinimal.ts | 18 +++++++ .../types/GuidedDocumentRequest.ts | 21 ++++++++ .../types/GuidedDocumentResponse.ts | 23 ++++++++ ...GuidedDocumentTranscriptMetadataMinimal.ts | 19 +++++++ .../types/GuidedDocumentTranscriptMinimal.ts | 22 ++++++++ .../GuidedDocumentTranscriptSegmentMinimal.ts | 28 ++++++++++ .../types/GuidedDynamicInline.ts | 22 ++++++++ .../types/GuidedDynamicRequest.ts | 23 ++++++++ .../types/GuidedGenerationResult.ts | 25 +++++++++ .../types/GuidedGenerationResultUsage.ts | 19 +++++++ .../GuidedGenerationResultUsageTokenCount.ts | 20 +++++++ .../types/GuidedSectionOverride.ts | 21 ++++++++ .../types/GuidedTemplateOverrides.ts | 22 ++++++++ src/serialization/types/GuidedTemplateRef.ts | 23 ++++++++ .../types/SectionInstructionsOverride.ts | 20 +++++++ src/serialization/types/SectionOverrides.ts | 23 ++++++++ src/serialization/types/index.ts | 25 +++++++++ tests/wire/alphaDocuments.test.ts | 52 ++++++++++++++----- 55 files changed, 957 insertions(+), 21 deletions(-) create mode 100644 src/api/types/ContextFacts.ts create mode 100644 src/api/types/ContextText.ts create mode 100644 src/api/types/ContextTranscript.ts create mode 100644 src/api/types/GuidedAssemblyRequest.ts create mode 100644 src/api/types/GuidedAssemblySectionRef.ts create mode 100644 src/api/types/GuidedDocumentByAssembly.ts create mode 100644 src/api/types/GuidedDocumentByDynamic.ts create mode 100644 src/api/types/GuidedDocumentByTemplateRef.ts create mode 100644 src/api/types/GuidedDocumentContext.ts create mode 100644 src/api/types/GuidedDocumentFactMinimal.ts create mode 100644 src/api/types/GuidedDocumentRequest.ts create mode 100644 src/api/types/GuidedDocumentResponse.ts create mode 100644 src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts create mode 100644 src/api/types/GuidedDocumentTranscriptMinimal.ts create mode 100644 src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts create mode 100644 src/api/types/GuidedDynamicInline.ts create mode 100644 src/api/types/GuidedDynamicRequest.ts create mode 100644 src/api/types/GuidedGenerationResult.ts create mode 100644 src/api/types/GuidedGenerationResultUsage.ts create mode 100644 src/api/types/GuidedGenerationResultUsageTokenCount.ts create mode 100644 src/api/types/GuidedSectionOverride.ts create mode 100644 src/api/types/GuidedTemplateOverrides.ts create mode 100644 src/api/types/GuidedTemplateRef.ts create mode 100644 src/api/types/SectionInstructionsOverride.ts create mode 100644 src/api/types/SectionOverrides.ts create mode 100644 src/serialization/types/ContextFacts.ts create mode 100644 src/serialization/types/ContextText.ts create mode 100644 src/serialization/types/ContextTranscript.ts create mode 100644 src/serialization/types/GuidedAssemblyRequest.ts create mode 100644 src/serialization/types/GuidedAssemblySectionRef.ts create mode 100644 src/serialization/types/GuidedDocumentByAssembly.ts create mode 100644 src/serialization/types/GuidedDocumentByDynamic.ts create mode 100644 src/serialization/types/GuidedDocumentByTemplateRef.ts create mode 100644 src/serialization/types/GuidedDocumentContext.ts create mode 100644 src/serialization/types/GuidedDocumentFactMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentRequest.ts create mode 100644 src/serialization/types/GuidedDocumentResponse.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts create mode 100644 src/serialization/types/GuidedDynamicInline.ts create mode 100644 src/serialization/types/GuidedDynamicRequest.ts create mode 100644 src/serialization/types/GuidedGenerationResult.ts create mode 100644 src/serialization/types/GuidedGenerationResultUsage.ts create mode 100644 src/serialization/types/GuidedGenerationResultUsageTokenCount.ts create mode 100644 src/serialization/types/GuidedSectionOverride.ts create mode 100644 src/serialization/types/GuidedTemplateOverrides.ts create mode 100644 src/serialization/types/GuidedTemplateRef.ts create mode 100644 src/serialization/types/SectionInstructionsOverride.ts create mode 100644 src/serialization/types/SectionOverrides.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 77165e94..10e8f9ba 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "b68cfcbfd89d41064dc86cc020e95f0e8a116b2f", + "originGitCommit": "7f0882895677d6622c36e7500c4975a5eb534618", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts index 9177546a..2fd6775e 100644 --- a/src/api/resources/alphaDocuments/client/Client.ts +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -27,7 +27,7 @@ export class AlphaDocumentsClient { * * With the exception of the plain `templateRef` path (no overrides), every call persists a new auto-generated template aggregate that snapshots the resolved content. The snapshot is drift-proof: subsequent edits to base templates or sections do not affect previously generated documents. * - * @param {unknown} request + * @param {Corti.GuidedDocumentRequest} request * @param {AlphaDocumentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} @@ -37,20 +37,23 @@ export class AlphaDocumentsClient { * * @example * await client.alphaDocuments.generate({ - * "key": "value" + * templateRef: { + * templateId: "templateId" + * }, + * outputLanguage: "outputLanguage" * }) */ public generate( - request?: unknown, + request: Corti.GuidedDocumentRequest, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions)); } private async __generate( - request?: unknown, + request: Corti.GuidedDocumentRequest, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -69,7 +72,10 @@ export class AlphaDocumentsClient { contentType: "application/json", queryParameters: requestOptions?.queryParams, requestType: "json", - body: request, + body: serializers.GuidedDocumentRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -77,7 +83,16 @@ export class AlphaDocumentsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: _response.body, rawResponse: _response.rawResponse }; + return { + data: serializers.GuidedDocumentResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { diff --git a/src/api/types/ContextFacts.ts b/src/api/types/ContextFacts.ts new file mode 100644 index 00000000..f74da108 --- /dev/null +++ b/src/api/types/ContextFacts.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * A single fact provided as input context to the model. + */ +export interface ContextFacts { + type: "facts"; + fact: Corti.GuidedDocumentFactMinimal; +} diff --git a/src/api/types/ContextText.ts b/src/api/types/ContextText.ts new file mode 100644 index 00000000..8e40a297 --- /dev/null +++ b/src/api/types/ContextText.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * A freeform text snippet provided as input context to the model. + */ +export interface ContextText { + type: "text"; + /** Arbitrary text to be reasoned over. */ + text: string; +} diff --git a/src/api/types/ContextTranscript.ts b/src/api/types/ContextTranscript.ts new file mode 100644 index 00000000..8dfcb10f --- /dev/null +++ b/src/api/types/ContextTranscript.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * A transcript provided as input context to the model. + */ +export interface ContextTranscript { + type: "transcript"; + transcript: Corti.GuidedDocumentTranscriptMinimal; +} diff --git a/src/api/types/GuidedAssemblyRequest.ts b/src/api/types/GuidedAssemblyRequest.ts new file mode 100644 index 00000000..d6667c2a --- /dev/null +++ b/src/api/types/GuidedAssemblyRequest.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Compose a template by referencing existing stored sections in declaration order. + */ +export interface GuidedAssemblyRequest { + /** Name for the auto-generated template aggregate that will be persisted. */ + name: string; + /** BCP 47 language tag. */ + language: string; + /** Template-level instructions for the assembled template. */ + instructions?: Corti.TemplateInstructions; + sectionRefs: Corti.GuidedAssemblySectionRef[]; +} diff --git a/src/api/types/GuidedAssemblySectionRef.ts b/src/api/types/GuidedAssemblySectionRef.ts new file mode 100644 index 00000000..8324bbb7 --- /dev/null +++ b/src/api/types/GuidedAssemblySectionRef.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Per-section reference for the assembly path. + */ +export interface GuidedAssemblySectionRef { + sectionId: string; + /** Optional explicit section version. Defaults to the section's published version when omitted. */ + sectionVersionId?: string | null; + overrides?: Corti.SectionOverrides; +} diff --git a/src/api/types/GuidedDocumentByAssembly.ts b/src/api/types/GuidedDocumentByAssembly.ts new file mode 100644 index 00000000..6421797b --- /dev/null +++ b/src/api/types/GuidedDocumentByAssembly.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. At least one of `context` or `interactionId` must be supplied as input context for the model. + */ +export interface GuidedDocumentByAssembly { + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; + /** Assemble a template from existing stored sections. */ + assemblyTemplate: Corti.GuidedAssemblyRequest; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; +} diff --git a/src/api/types/GuidedDocumentByDynamic.ts b/src/api/types/GuidedDocumentByDynamic.ts new file mode 100644 index 00000000..269289c2 --- /dev/null +++ b/src/api/types/GuidedDocumentByDynamic.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. At least one of `context` or `interactionId` must be supplied as input context for the model. + */ +export interface GuidedDocumentByDynamic { + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; + /** Fully inline template defined in the request body. */ + dynamicTemplate: Corti.GuidedDynamicRequest; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; +} diff --git a/src/api/types/GuidedDocumentByTemplateRef.ts b/src/api/types/GuidedDocumentByTemplateRef.ts new file mode 100644 index 00000000..6881670b --- /dev/null +++ b/src/api/types/GuidedDocumentByTemplateRef.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. At least one of `context` or `interactionId` must be supplied as input context for the model. + */ +export interface GuidedDocumentByTemplateRef { + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; + /** Reference an existing stored template, optionally with overrides. */ + templateRef: Corti.GuidedTemplateRef; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; +} diff --git a/src/api/types/GuidedDocumentContext.ts b/src/api/types/GuidedDocumentContext.ts new file mode 100644 index 00000000..03b30d68 --- /dev/null +++ b/src/api/types/GuidedDocumentContext.ts @@ -0,0 +1,5 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type GuidedDocumentContext = Corti.ContextText | Corti.ContextTranscript | Corti.ContextFacts; diff --git a/src/api/types/GuidedDocumentFactMinimal.ts b/src/api/types/GuidedDocumentFactMinimal.ts new file mode 100644 index 00000000..a16a987f --- /dev/null +++ b/src/api/types/GuidedDocumentFactMinimal.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Minimal fact shape. Only `text` is required. + */ +export interface GuidedDocumentFactMinimal { + /** The text of the fact. */ + text: string; +} diff --git a/src/api/types/GuidedDocumentRequest.ts b/src/api/types/GuidedDocumentRequest.ts new file mode 100644 index 00000000..c52054b3 --- /dev/null +++ b/src/api/types/GuidedDocumentRequest.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type GuidedDocumentRequest = + | Corti.GuidedDocumentByTemplateRef + | Corti.GuidedDocumentByAssembly + | Corti.GuidedDocumentByDynamic; diff --git a/src/api/types/GuidedDocumentResponse.ts b/src/api/types/GuidedDocumentResponse.ts new file mode 100644 index 00000000..3a3f226d --- /dev/null +++ b/src/api/types/GuidedDocumentResponse.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedDocumentResponse { + /** The template ID used for generation. For Path 1 (plain `templateRef` with no overrides), this is the referenced template. For other paths, it is the newly saved, auto-generated template aggregate. */ + templateId: string; + /** The specific template version that was used for generation. */ + templateVersionId: string; + result: Corti.GuidedGenerationResult; +} diff --git a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts new file mode 100644 index 00000000..8bc68a14 --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Optional transcript-level metadata. All fields optional. + */ +export interface GuidedDocumentTranscriptMetadataMinimal { + participantsRoles?: Corti.TranscriptsParticipant[] | null; +} diff --git a/src/api/types/GuidedDocumentTranscriptMinimal.ts b/src/api/types/GuidedDocumentTranscriptMinimal.ts new file mode 100644 index 00000000..d509a43a --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptMinimal.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Minimal transcript shape accepted as guided-document input context. Decoupled from the transcript resource: only `transcripts` is required, and within each segment only `text` is required. + */ +export interface GuidedDocumentTranscriptMinimal { + metadata?: Corti.GuidedDocumentTranscriptMetadataMinimal; + transcripts: Corti.GuidedDocumentTranscriptSegmentMinimal[]; +} diff --git a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts new file mode 100644 index 00000000..92733875 --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Minimal transcript segment. Only `text` is required. + */ +export interface GuidedDocumentTranscriptSegmentMinimal { + /** The channel associated with this phrase/utterance. */ + channel?: number; + /** The identifier of the participant. */ + participant?: number; + /** Id to tag an identified speaker. */ + speakerId?: number; + /** The spoken phrase or utterance. */ + text: string; + /** Start time in milliseconds for phrase/utterance. */ + start?: number; + /** End time in milliseconds for phrase/utterance. */ + end?: number; +} diff --git a/src/api/types/GuidedDynamicInline.ts b/src/api/types/GuidedDynamicInline.ts new file mode 100644 index 00000000..41e68bf3 --- /dev/null +++ b/src/api/types/GuidedDynamicInline.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedDynamicInline { + instructions: Corti.TemplateInstructions; + sections: Corti.SectionGeneration[]; +} diff --git a/src/api/types/GuidedDynamicRequest.ts b/src/api/types/GuidedDynamicRequest.ts new file mode 100644 index 00000000..2e3a2b0b --- /dev/null +++ b/src/api/types/GuidedDynamicRequest.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Fully inline template definition. Sections and the wrapping template are created and immediately published as auto-generated resources. + */ +export interface GuidedDynamicRequest { + name: string; + /** BCP 47 language tag. */ + language: string; + generation: Corti.GuidedDynamicInline; +} diff --git a/src/api/types/GuidedGenerationResult.ts b/src/api/types/GuidedGenerationResult.ts new file mode 100644 index 00000000..cb8c63cd --- /dev/null +++ b/src/api/types/GuidedGenerationResult.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generation result. The shape mirrors the resolved template's section output schemas. + */ +export interface GuidedGenerationResult { + /** The generated document as a map of section key to rendered string output. */ + stringDocument?: Record; + /** The generated document as a structured object keyed by section. */ + structuredDocument?: Record | null; + usage?: Corti.GuidedGenerationResultUsage; +} diff --git a/src/api/types/GuidedGenerationResultUsage.ts b/src/api/types/GuidedGenerationResultUsage.ts new file mode 100644 index 00000000..35988177 --- /dev/null +++ b/src/api/types/GuidedGenerationResultUsage.ts @@ -0,0 +1,7 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedGenerationResultUsage { + tokenCount?: Corti.GuidedGenerationResultUsageTokenCount; +} diff --git a/src/api/types/GuidedGenerationResultUsageTokenCount.ts b/src/api/types/GuidedGenerationResultUsageTokenCount.ts new file mode 100644 index 00000000..3479b0c9 --- /dev/null +++ b/src/api/types/GuidedGenerationResultUsageTokenCount.ts @@ -0,0 +1,6 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface GuidedGenerationResultUsageTokenCount { + input?: number; + output?: number; +} diff --git a/src/api/types/GuidedSectionOverride.ts b/src/api/types/GuidedSectionOverride.ts new file mode 100644 index 00000000..103e15bb --- /dev/null +++ b/src/api/types/GuidedSectionOverride.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Override patch applied to a section linked to the base template version. Override semantics are per-field for `instructions` (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema — partial schemas are not merged). The same rule applies when a section is forked via `inheritFromId`. + */ +export interface GuidedSectionOverride { + /** The UUID of a section linked to the base template version. */ + sectionId: string; + generation?: Corti.SectionOverrides; +} diff --git a/src/api/types/GuidedTemplateOverrides.ts b/src/api/types/GuidedTemplateOverrides.ts new file mode 100644 index 00000000..2de9b5de --- /dev/null +++ b/src/api/types/GuidedTemplateOverrides.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedTemplateOverrides { + /** Replaces the template-level instructions for this call. */ + instructions?: Corti.TemplateInstructions; + /** Per-section override patches. Each entry must reference a section already linked to the base template version. */ + sections?: Corti.GuidedSectionOverride[]; +} diff --git a/src/api/types/GuidedTemplateRef.ts b/src/api/types/GuidedTemplateRef.ts new file mode 100644 index 00000000..2334be6b --- /dev/null +++ b/src/api/types/GuidedTemplateRef.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedTemplateRef { + /** The UUID of a stored template. */ + templateId: string; + /** Optional explicit template version. Defaults to the template's published version when omitted. */ + templateVersionId?: string | null; + /** Runtime overrides applied on top of the resolved template. When present, a new auto-generated template is persisted with `inheritedFromId` pointing at the base template. */ + overrides?: Corti.GuidedTemplateOverrides; +} diff --git a/src/api/types/SectionInstructionsOverride.ts b/src/api/types/SectionInstructionsOverride.ts new file mode 100644 index 00000000..38dd91f2 --- /dev/null +++ b/src/api/types/SectionInstructionsOverride.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Partial section-instructions patch used in override and fork contexts. Each field is independent: provide only the fields you want to replace, and any field you omit is inherited from the parent's published version. + */ +export interface SectionInstructionsOverride { + /** When provided, replaces the section's content prompt. Omit to inherit from the parent. */ + contentPrompt?: string; + /** When provided, replaces the section's writing style prompt. Omit to inherit from the parent. */ + writingStylePrompt?: string; +} diff --git a/src/api/types/SectionOverrides.ts b/src/api/types/SectionOverrides.ts new file mode 100644 index 00000000..4728ed93 --- /dev/null +++ b/src/api/types/SectionOverrides.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Patches a section's content at link time without mutating the underlying section. Override semantics are per-field for instructions (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema). The same applies when a section is forked via `inheritFromId`. + */ +export interface SectionOverrides { + /** When provided, replaces the section's title for this call. */ + title?: string | null; + instructions?: Corti.SectionInstructionsOverride; + /** When provided, fully replaces the parent's output schema. */ + outputSchema?: Corti.OutputSchema; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 7770f431..26bc8fc4 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -76,6 +76,9 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./ContextFacts.js"; +export * from "./ContextText.js"; +export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -122,6 +125,26 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; +export * from "./GuidedAssemblyRequest.js"; +export * from "./GuidedAssemblySectionRef.js"; +export * from "./GuidedDocumentByAssembly.js"; +export * from "./GuidedDocumentByDynamic.js"; +export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentContext.js"; +export * from "./GuidedDocumentFactMinimal.js"; +export * from "./GuidedDocumentRequest.js"; +export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; +export * from "./GuidedDocumentTranscriptMinimal.js"; +export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; +export * from "./GuidedDynamicInline.js"; +export * from "./GuidedDynamicRequest.js"; +export * from "./GuidedGenerationResult.js"; +export * from "./GuidedGenerationResultUsage.js"; +export * from "./GuidedGenerationResultUsageTokenCount.js"; +export * from "./GuidedSectionOverride.js"; +export * from "./GuidedTemplateOverrides.js"; +export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -143,7 +166,9 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; +export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/src/serialization/types/ContextFacts.ts b/src/serialization/types/ContextFacts.ts new file mode 100644 index 00000000..b0f75952 --- /dev/null +++ b/src/serialization/types/ContextFacts.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentFactMinimal } from "./GuidedDocumentFactMinimal.js"; + +export const ContextFacts: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("facts"), + fact: GuidedDocumentFactMinimal, + }); + +export declare namespace ContextFacts { + export interface Raw { + type: "facts"; + fact: GuidedDocumentFactMinimal.Raw; + } +} diff --git a/src/serialization/types/ContextText.ts b/src/serialization/types/ContextText.ts new file mode 100644 index 00000000..e092f46b --- /dev/null +++ b/src/serialization/types/ContextText.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const ContextText: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("text"), + text: core.serialization.string(), + }); + +export declare namespace ContextText { + export interface Raw { + type: "text"; + text: string; + } +} diff --git a/src/serialization/types/ContextTranscript.ts b/src/serialization/types/ContextTranscript.ts new file mode 100644 index 00000000..5c2eeffb --- /dev/null +++ b/src/serialization/types/ContextTranscript.ts @@ -0,0 +1,21 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentTranscriptMinimal } from "./GuidedDocumentTranscriptMinimal.js"; + +export const ContextTranscript: core.serialization.ObjectSchema< + serializers.ContextTranscript.Raw, + Corti.ContextTranscript +> = core.serialization.object({ + type: core.serialization.stringLiteral("transcript"), + transcript: GuidedDocumentTranscriptMinimal, +}); + +export declare namespace ContextTranscript { + export interface Raw { + type: "transcript"; + transcript: GuidedDocumentTranscriptMinimal.Raw; + } +} diff --git a/src/serialization/types/GuidedAssemblyRequest.ts b/src/serialization/types/GuidedAssemblyRequest.ts new file mode 100644 index 00000000..9a386d91 --- /dev/null +++ b/src/serialization/types/GuidedAssemblyRequest.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedAssemblySectionRef } from "./GuidedAssemblySectionRef.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedAssemblyRequest: core.serialization.ObjectSchema< + serializers.GuidedAssemblyRequest.Raw, + Corti.GuidedAssemblyRequest +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + instructions: TemplateInstructions.optional(), + sectionRefs: core.serialization.list(GuidedAssemblySectionRef), +}); + +export declare namespace GuidedAssemblyRequest { + export interface Raw { + name: string; + language: string; + instructions?: TemplateInstructions.Raw | null; + sectionRefs: GuidedAssemblySectionRef.Raw[]; + } +} diff --git a/src/serialization/types/GuidedAssemblySectionRef.ts b/src/serialization/types/GuidedAssemblySectionRef.ts new file mode 100644 index 00000000..303aa42d --- /dev/null +++ b/src/serialization/types/GuidedAssemblySectionRef.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionOverrides } from "./SectionOverrides.js"; + +export const GuidedAssemblySectionRef: core.serialization.ObjectSchema< + serializers.GuidedAssemblySectionRef.Raw, + Corti.GuidedAssemblySectionRef +> = core.serialization.object({ + sectionId: core.serialization.string(), + sectionVersionId: core.serialization.string().optionalNullable(), + overrides: SectionOverrides.optional(), +}); + +export declare namespace GuidedAssemblySectionRef { + export interface Raw { + sectionId: string; + sectionVersionId?: (string | null | undefined) | null; + overrides?: SectionOverrides.Raw | null; + } +} diff --git a/src/serialization/types/GuidedDocumentByAssembly.ts b/src/serialization/types/GuidedDocumentByAssembly.ts new file mode 100644 index 00000000..566d1fb5 --- /dev/null +++ b/src/serialization/types/GuidedDocumentByAssembly.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedAssemblyRequest } from "./GuidedAssemblyRequest.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; + +export const GuidedDocumentByAssembly: core.serialization.ObjectSchema< + serializers.GuidedDocumentByAssembly.Raw, + Corti.GuidedDocumentByAssembly +> = core.serialization.object({ + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), + assemblyTemplate: GuidedAssemblyRequest, + outputLanguage: core.serialization.string(), +}); + +export declare namespace GuidedDocumentByAssembly { + export interface Raw { + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; + assemblyTemplate: GuidedAssemblyRequest.Raw; + outputLanguage: string; + } +} diff --git a/src/serialization/types/GuidedDocumentByDynamic.ts b/src/serialization/types/GuidedDocumentByDynamic.ts new file mode 100644 index 00000000..dd05584a --- /dev/null +++ b/src/serialization/types/GuidedDocumentByDynamic.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; +import { GuidedDynamicRequest } from "./GuidedDynamicRequest.js"; + +export const GuidedDocumentByDynamic: core.serialization.ObjectSchema< + serializers.GuidedDocumentByDynamic.Raw, + Corti.GuidedDocumentByDynamic +> = core.serialization.object({ + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), + dynamicTemplate: GuidedDynamicRequest, + outputLanguage: core.serialization.string(), +}); + +export declare namespace GuidedDocumentByDynamic { + export interface Raw { + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; + dynamicTemplate: GuidedDynamicRequest.Raw; + outputLanguage: string; + } +} diff --git a/src/serialization/types/GuidedDocumentByTemplateRef.ts b/src/serialization/types/GuidedDocumentByTemplateRef.ts new file mode 100644 index 00000000..3268c1bb --- /dev/null +++ b/src/serialization/types/GuidedDocumentByTemplateRef.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; +import { GuidedTemplateRef } from "./GuidedTemplateRef.js"; + +export const GuidedDocumentByTemplateRef: core.serialization.ObjectSchema< + serializers.GuidedDocumentByTemplateRef.Raw, + Corti.GuidedDocumentByTemplateRef +> = core.serialization.object({ + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), + templateRef: GuidedTemplateRef, + outputLanguage: core.serialization.string(), +}); + +export declare namespace GuidedDocumentByTemplateRef { + export interface Raw { + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; + templateRef: GuidedTemplateRef.Raw; + outputLanguage: string; + } +} diff --git a/src/serialization/types/GuidedDocumentContext.ts b/src/serialization/types/GuidedDocumentContext.ts new file mode 100644 index 00000000..bc1ddfe4 --- /dev/null +++ b/src/serialization/types/GuidedDocumentContext.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { ContextFacts } from "./ContextFacts.js"; +import { ContextText } from "./ContextText.js"; +import { ContextTranscript } from "./ContextTranscript.js"; + +export const GuidedDocumentContext: core.serialization.Schema< + serializers.GuidedDocumentContext.Raw, + Corti.GuidedDocumentContext +> = core.serialization.undiscriminatedUnion([ContextText, ContextTranscript, ContextFacts]); + +export declare namespace GuidedDocumentContext { + export type Raw = ContextText.Raw | ContextTranscript.Raw | ContextFacts.Raw; +} diff --git a/src/serialization/types/GuidedDocumentFactMinimal.ts b/src/serialization/types/GuidedDocumentFactMinimal.ts new file mode 100644 index 00000000..2b3ddba2 --- /dev/null +++ b/src/serialization/types/GuidedDocumentFactMinimal.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedDocumentFactMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentFactMinimal.Raw, + Corti.GuidedDocumentFactMinimal +> = core.serialization.object({ + text: core.serialization.string(), +}); + +export declare namespace GuidedDocumentFactMinimal { + export interface Raw { + text: string; + } +} diff --git a/src/serialization/types/GuidedDocumentRequest.ts b/src/serialization/types/GuidedDocumentRequest.ts new file mode 100644 index 00000000..1b56a573 --- /dev/null +++ b/src/serialization/types/GuidedDocumentRequest.ts @@ -0,0 +1,21 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentByAssembly } from "./GuidedDocumentByAssembly.js"; +import { GuidedDocumentByDynamic } from "./GuidedDocumentByDynamic.js"; +import { GuidedDocumentByTemplateRef } from "./GuidedDocumentByTemplateRef.js"; + +export const GuidedDocumentRequest: core.serialization.Schema< + serializers.GuidedDocumentRequest.Raw, + Corti.GuidedDocumentRequest +> = core.serialization.undiscriminatedUnion([ + GuidedDocumentByTemplateRef, + GuidedDocumentByAssembly, + GuidedDocumentByDynamic, +]); + +export declare namespace GuidedDocumentRequest { + export type Raw = GuidedDocumentByTemplateRef.Raw | GuidedDocumentByAssembly.Raw | GuidedDocumentByDynamic.Raw; +} diff --git a/src/serialization/types/GuidedDocumentResponse.ts b/src/serialization/types/GuidedDocumentResponse.ts new file mode 100644 index 00000000..c5c3a8f3 --- /dev/null +++ b/src/serialization/types/GuidedDocumentResponse.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResult } from "./GuidedGenerationResult.js"; + +export const GuidedDocumentResponse: core.serialization.ObjectSchema< + serializers.GuidedDocumentResponse.Raw, + Corti.GuidedDocumentResponse +> = core.serialization.object({ + templateId: core.serialization.string(), + templateVersionId: core.serialization.string(), + result: GuidedGenerationResult, +}); + +export declare namespace GuidedDocumentResponse { + export interface Raw { + templateId: string; + templateVersionId: string; + result: GuidedGenerationResult.Raw; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts new file mode 100644 index 00000000..bab8ae82 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { TranscriptsParticipant } from "./TranscriptsParticipant.js"; + +export const GuidedDocumentTranscriptMetadataMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptMetadataMinimal.Raw, + Corti.GuidedDocumentTranscriptMetadataMinimal +> = core.serialization.object({ + participantsRoles: core.serialization.list(TranscriptsParticipant).optionalNullable(), +}); + +export declare namespace GuidedDocumentTranscriptMetadataMinimal { + export interface Raw { + participantsRoles?: (TranscriptsParticipant.Raw[] | null | undefined) | null; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts new file mode 100644 index 00000000..df8959a0 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentTranscriptMetadataMinimal } from "./GuidedDocumentTranscriptMetadataMinimal.js"; +import { GuidedDocumentTranscriptSegmentMinimal } from "./GuidedDocumentTranscriptSegmentMinimal.js"; + +export const GuidedDocumentTranscriptMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptMinimal.Raw, + Corti.GuidedDocumentTranscriptMinimal +> = core.serialization.object({ + metadata: GuidedDocumentTranscriptMetadataMinimal.optional(), + transcripts: core.serialization.list(GuidedDocumentTranscriptSegmentMinimal), +}); + +export declare namespace GuidedDocumentTranscriptMinimal { + export interface Raw { + metadata?: GuidedDocumentTranscriptMetadataMinimal.Raw | null; + transcripts: GuidedDocumentTranscriptSegmentMinimal.Raw[]; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts new file mode 100644 index 00000000..c0a15aa9 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts @@ -0,0 +1,28 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedDocumentTranscriptSegmentMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptSegmentMinimal.Raw, + Corti.GuidedDocumentTranscriptSegmentMinimal +> = core.serialization.object({ + channel: core.serialization.number().optional(), + participant: core.serialization.number().optional(), + speakerId: core.serialization.number().optional(), + text: core.serialization.string(), + start: core.serialization.number().optional(), + end: core.serialization.number().optional(), +}); + +export declare namespace GuidedDocumentTranscriptSegmentMinimal { + export interface Raw { + channel?: number | null; + participant?: number | null; + speakerId?: number | null; + text: string; + start?: number | null; + end?: number | null; + } +} diff --git a/src/serialization/types/GuidedDynamicInline.ts b/src/serialization/types/GuidedDynamicInline.ts new file mode 100644 index 00000000..3f996825 --- /dev/null +++ b/src/serialization/types/GuidedDynamicInline.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionGeneration } from "./SectionGeneration.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedDynamicInline: core.serialization.ObjectSchema< + serializers.GuidedDynamicInline.Raw, + Corti.GuidedDynamicInline +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(SectionGeneration), +}); + +export declare namespace GuidedDynamicInline { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections: SectionGeneration.Raw[]; + } +} diff --git a/src/serialization/types/GuidedDynamicRequest.ts b/src/serialization/types/GuidedDynamicRequest.ts new file mode 100644 index 00000000..8c85af35 --- /dev/null +++ b/src/serialization/types/GuidedDynamicRequest.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDynamicInline } from "./GuidedDynamicInline.js"; + +export const GuidedDynamicRequest: core.serialization.ObjectSchema< + serializers.GuidedDynamicRequest.Raw, + Corti.GuidedDynamicRequest +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + generation: GuidedDynamicInline, +}); + +export declare namespace GuidedDynamicRequest { + export interface Raw { + name: string; + language: string; + generation: GuidedDynamicInline.Raw; + } +} diff --git a/src/serialization/types/GuidedGenerationResult.ts b/src/serialization/types/GuidedGenerationResult.ts new file mode 100644 index 00000000..cb36ef1e --- /dev/null +++ b/src/serialization/types/GuidedGenerationResult.ts @@ -0,0 +1,25 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResultUsage } from "./GuidedGenerationResultUsage.js"; + +export const GuidedGenerationResult: core.serialization.ObjectSchema< + serializers.GuidedGenerationResult.Raw, + Corti.GuidedGenerationResult +> = core.serialization.object({ + stringDocument: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), + structuredDocument: core.serialization + .record(core.serialization.string(), core.serialization.unknown()) + .optionalNullable(), + usage: GuidedGenerationResultUsage.optional(), +}); + +export declare namespace GuidedGenerationResult { + export interface Raw { + stringDocument?: Record | null; + structuredDocument?: (Record | null | undefined) | null; + usage?: GuidedGenerationResultUsage.Raw | null; + } +} diff --git a/src/serialization/types/GuidedGenerationResultUsage.ts b/src/serialization/types/GuidedGenerationResultUsage.ts new file mode 100644 index 00000000..80aeb686 --- /dev/null +++ b/src/serialization/types/GuidedGenerationResultUsage.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResultUsageTokenCount } from "./GuidedGenerationResultUsageTokenCount.js"; + +export const GuidedGenerationResultUsage: core.serialization.ObjectSchema< + serializers.GuidedGenerationResultUsage.Raw, + Corti.GuidedGenerationResultUsage +> = core.serialization.object({ + tokenCount: core.serialization.property("token_count", GuidedGenerationResultUsageTokenCount.optional()), +}); + +export declare namespace GuidedGenerationResultUsage { + export interface Raw { + token_count?: GuidedGenerationResultUsageTokenCount.Raw | null; + } +} diff --git a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts new file mode 100644 index 00000000..0b1c21f1 --- /dev/null +++ b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedGenerationResultUsageTokenCount: core.serialization.ObjectSchema< + serializers.GuidedGenerationResultUsageTokenCount.Raw, + Corti.GuidedGenerationResultUsageTokenCount +> = core.serialization.object({ + input: core.serialization.number().optional(), + output: core.serialization.number().optional(), +}); + +export declare namespace GuidedGenerationResultUsageTokenCount { + export interface Raw { + input?: number | null; + output?: number | null; + } +} diff --git a/src/serialization/types/GuidedSectionOverride.ts b/src/serialization/types/GuidedSectionOverride.ts new file mode 100644 index 00000000..af28803f --- /dev/null +++ b/src/serialization/types/GuidedSectionOverride.ts @@ -0,0 +1,21 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionOverrides } from "./SectionOverrides.js"; + +export const GuidedSectionOverride: core.serialization.ObjectSchema< + serializers.GuidedSectionOverride.Raw, + Corti.GuidedSectionOverride +> = core.serialization.object({ + sectionId: core.serialization.string(), + generation: SectionOverrides.optional(), +}); + +export declare namespace GuidedSectionOverride { + export interface Raw { + sectionId: string; + generation?: SectionOverrides.Raw | null; + } +} diff --git a/src/serialization/types/GuidedTemplateOverrides.ts b/src/serialization/types/GuidedTemplateOverrides.ts new file mode 100644 index 00000000..b0be800f --- /dev/null +++ b/src/serialization/types/GuidedTemplateOverrides.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedSectionOverride } from "./GuidedSectionOverride.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedTemplateOverrides: core.serialization.ObjectSchema< + serializers.GuidedTemplateOverrides.Raw, + Corti.GuidedTemplateOverrides +> = core.serialization.object({ + instructions: TemplateInstructions.optional(), + sections: core.serialization.list(GuidedSectionOverride).optional(), +}); + +export declare namespace GuidedTemplateOverrides { + export interface Raw { + instructions?: TemplateInstructions.Raw | null; + sections?: GuidedSectionOverride.Raw[] | null; + } +} diff --git a/src/serialization/types/GuidedTemplateRef.ts b/src/serialization/types/GuidedTemplateRef.ts new file mode 100644 index 00000000..b8b1744c --- /dev/null +++ b/src/serialization/types/GuidedTemplateRef.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedTemplateOverrides } from "./GuidedTemplateOverrides.js"; + +export const GuidedTemplateRef: core.serialization.ObjectSchema< + serializers.GuidedTemplateRef.Raw, + Corti.GuidedTemplateRef +> = core.serialization.object({ + templateId: core.serialization.string(), + templateVersionId: core.serialization.string().optionalNullable(), + overrides: GuidedTemplateOverrides.optional(), +}); + +export declare namespace GuidedTemplateRef { + export interface Raw { + templateId: string; + templateVersionId?: (string | null | undefined) | null; + overrides?: GuidedTemplateOverrides.Raw | null; + } +} diff --git a/src/serialization/types/SectionInstructionsOverride.ts b/src/serialization/types/SectionInstructionsOverride.ts new file mode 100644 index 00000000..d33fa8d7 --- /dev/null +++ b/src/serialization/types/SectionInstructionsOverride.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const SectionInstructionsOverride: core.serialization.ObjectSchema< + serializers.SectionInstructionsOverride.Raw, + Corti.SectionInstructionsOverride +> = core.serialization.object({ + contentPrompt: core.serialization.string().optional(), + writingStylePrompt: core.serialization.string().optional(), +}); + +export declare namespace SectionInstructionsOverride { + export interface Raw { + contentPrompt?: string | null; + writingStylePrompt?: string | null; + } +} diff --git a/src/serialization/types/SectionOverrides.ts b/src/serialization/types/SectionOverrides.ts new file mode 100644 index 00000000..5fcb6700 --- /dev/null +++ b/src/serialization/types/SectionOverrides.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; + +export const SectionOverrides: core.serialization.ObjectSchema< + serializers.SectionOverrides.Raw, + Corti.SectionOverrides +> = core.serialization.object({ + title: core.serialization.string().optionalNullable(), + instructions: SectionInstructionsOverride.optional(), + outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), +}); + +export declare namespace SectionOverrides { + export interface Raw { + title?: (string | null | undefined) | null; + instructions?: SectionInstructionsOverride.Raw | null; + outputSchema?: serializers.OutputSchema.Raw | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 7770f431..26bc8fc4 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -76,6 +76,9 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./ContextFacts.js"; +export * from "./ContextText.js"; +export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -122,6 +125,26 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; +export * from "./GuidedAssemblyRequest.js"; +export * from "./GuidedAssemblySectionRef.js"; +export * from "./GuidedDocumentByAssembly.js"; +export * from "./GuidedDocumentByDynamic.js"; +export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentContext.js"; +export * from "./GuidedDocumentFactMinimal.js"; +export * from "./GuidedDocumentRequest.js"; +export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; +export * from "./GuidedDocumentTranscriptMinimal.js"; +export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; +export * from "./GuidedDynamicInline.js"; +export * from "./GuidedDynamicRequest.js"; +export * from "./GuidedGenerationResult.js"; +export * from "./GuidedGenerationResultUsage.js"; +export * from "./GuidedGenerationResultUsageTokenCount.js"; +export * from "./GuidedSectionOverride.js"; +export * from "./GuidedTemplateOverrides.js"; +export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -143,7 +166,9 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; +export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts index 7a08c774..0224848b 100644 --- a/tests/wire/alphaDocuments.test.ts +++ b/tests/wire/alphaDocuments.test.ts @@ -17,8 +17,12 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; - const rawResponseBody = { key: "value" }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; + const rawResponseBody = { + templateId: "templateId", + templateVersionId: "templateVersionId", + result: { stringDocument: { key: "value" }, structuredDocument: { key: "value" } }, + }; server .mockEndpoint() @@ -30,10 +34,22 @@ describe("AlphaDocumentsClient", () => { .build(); const response = await client.alphaDocuments.generate({ - key: "value", + templateRef: { + templateId: "templateId", + }, + outputLanguage: "outputLanguage", }); expect(response).toEqual({ - key: "value", + templateId: "templateId", + templateVersionId: "templateVersionId", + result: { + stringDocument: { + key: "value", + }, + structuredDocument: { + key: "value", + }, + }, }); }); @@ -48,7 +64,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -62,7 +78,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + templateRef: { + templateId: "templateId", + }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.BadRequestError); }); @@ -78,7 +97,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -92,7 +111,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + templateRef: { + templateId: "templateId", + }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.NotFoundError); }); @@ -108,7 +130,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -122,7 +144,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + templateRef: { + templateId: "templateId", + }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.UnprocessableEntityError); }); @@ -138,7 +163,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; server @@ -152,7 +177,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + templateRef: { + templateId: "templateId", + }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.BadGatewayError); }); From 0876fbca594007b25c1852405e65a01c6236ea6e Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 12 May 2026 13:04:38 +0000 Subject: [PATCH 36/44] SDK regeneration --- .fern/metadata.json | 2 +- .../resources/alphaDocuments/client/Client.ts | 31 +++-------- src/api/types/ContextFacts.ts | 11 ---- src/api/types/ContextText.ts | 10 ---- src/api/types/ContextTranscript.ts | 11 ---- src/api/types/GuidedAssemblyRequest.ts | 16 ------ src/api/types/GuidedAssemblySectionRef.ts | 13 ----- src/api/types/GuidedDocumentByAssembly.ts | 17 ------ src/api/types/GuidedDocumentByDynamic.ts | 17 ------ src/api/types/GuidedDocumentByTemplateRef.ts | 17 ------ src/api/types/GuidedDocumentContext.ts | 5 -- src/api/types/GuidedDocumentFactMinimal.ts | 9 ---- src/api/types/GuidedDocumentRequest.ts | 8 --- src/api/types/GuidedDocumentResponse.ts | 11 ---- ...GuidedDocumentTranscriptMetadataMinimal.ts | 10 ---- .../types/GuidedDocumentTranscriptMinimal.ts | 11 ---- .../GuidedDocumentTranscriptSegmentMinimal.ts | 19 ------- src/api/types/GuidedDynamicInline.ts | 8 --- src/api/types/GuidedDynamicRequest.ts | 13 ----- src/api/types/GuidedGenerationResult.ts | 14 ----- src/api/types/GuidedGenerationResultUsage.ts | 7 --- .../GuidedGenerationResultUsageTokenCount.ts | 6 --- src/api/types/GuidedSectionOverride.ts | 12 ----- src/api/types/GuidedTemplateOverrides.ts | 10 ---- src/api/types/GuidedTemplateRef.ts | 12 ----- src/api/types/SectionInstructionsOverride.ts | 11 ---- src/api/types/SectionOverrides.ts | 14 ----- src/api/types/index.ts | 25 --------- src/serialization/types/ContextFacts.ts | 19 ------- src/serialization/types/ContextText.ts | 18 ------- src/serialization/types/ContextTranscript.ts | 21 -------- .../types/GuidedAssemblyRequest.ts | 26 ---------- .../types/GuidedAssemblySectionRef.ts | 23 -------- .../types/GuidedDocumentByAssembly.ts | 26 ---------- .../types/GuidedDocumentByDynamic.ts | 26 ---------- .../types/GuidedDocumentByTemplateRef.ts | 26 ---------- .../types/GuidedDocumentContext.ts | 17 ------ .../types/GuidedDocumentFactMinimal.ts | 18 ------- .../types/GuidedDocumentRequest.ts | 21 -------- .../types/GuidedDocumentResponse.ts | 23 -------- ...GuidedDocumentTranscriptMetadataMinimal.ts | 19 ------- .../types/GuidedDocumentTranscriptMinimal.ts | 22 -------- .../GuidedDocumentTranscriptSegmentMinimal.ts | 28 ---------- .../types/GuidedDynamicInline.ts | 22 -------- .../types/GuidedDynamicRequest.ts | 23 -------- .../types/GuidedGenerationResult.ts | 25 --------- .../types/GuidedGenerationResultUsage.ts | 19 ------- .../GuidedGenerationResultUsageTokenCount.ts | 20 ------- .../types/GuidedSectionOverride.ts | 21 -------- .../types/GuidedTemplateOverrides.ts | 22 -------- src/serialization/types/GuidedTemplateRef.ts | 23 -------- .../types/SectionInstructionsOverride.ts | 20 ------- src/serialization/types/SectionOverrides.ts | 23 -------- src/serialization/types/index.ts | 25 --------- tests/wire/alphaDocuments.test.ts | 52 +++++-------------- 55 files changed, 21 insertions(+), 957 deletions(-) delete mode 100644 src/api/types/ContextFacts.ts delete mode 100644 src/api/types/ContextText.ts delete mode 100644 src/api/types/ContextTranscript.ts delete mode 100644 src/api/types/GuidedAssemblyRequest.ts delete mode 100644 src/api/types/GuidedAssemblySectionRef.ts delete mode 100644 src/api/types/GuidedDocumentByAssembly.ts delete mode 100644 src/api/types/GuidedDocumentByDynamic.ts delete mode 100644 src/api/types/GuidedDocumentByTemplateRef.ts delete mode 100644 src/api/types/GuidedDocumentContext.ts delete mode 100644 src/api/types/GuidedDocumentFactMinimal.ts delete mode 100644 src/api/types/GuidedDocumentRequest.ts delete mode 100644 src/api/types/GuidedDocumentResponse.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptMinimal.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts delete mode 100644 src/api/types/GuidedDynamicInline.ts delete mode 100644 src/api/types/GuidedDynamicRequest.ts delete mode 100644 src/api/types/GuidedGenerationResult.ts delete mode 100644 src/api/types/GuidedGenerationResultUsage.ts delete mode 100644 src/api/types/GuidedGenerationResultUsageTokenCount.ts delete mode 100644 src/api/types/GuidedSectionOverride.ts delete mode 100644 src/api/types/GuidedTemplateOverrides.ts delete mode 100644 src/api/types/GuidedTemplateRef.ts delete mode 100644 src/api/types/SectionInstructionsOverride.ts delete mode 100644 src/api/types/SectionOverrides.ts delete mode 100644 src/serialization/types/ContextFacts.ts delete mode 100644 src/serialization/types/ContextText.ts delete mode 100644 src/serialization/types/ContextTranscript.ts delete mode 100644 src/serialization/types/GuidedAssemblyRequest.ts delete mode 100644 src/serialization/types/GuidedAssemblySectionRef.ts delete mode 100644 src/serialization/types/GuidedDocumentByAssembly.ts delete mode 100644 src/serialization/types/GuidedDocumentByDynamic.ts delete mode 100644 src/serialization/types/GuidedDocumentByTemplateRef.ts delete mode 100644 src/serialization/types/GuidedDocumentContext.ts delete mode 100644 src/serialization/types/GuidedDocumentFactMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentRequest.ts delete mode 100644 src/serialization/types/GuidedDocumentResponse.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts delete mode 100644 src/serialization/types/GuidedDynamicInline.ts delete mode 100644 src/serialization/types/GuidedDynamicRequest.ts delete mode 100644 src/serialization/types/GuidedGenerationResult.ts delete mode 100644 src/serialization/types/GuidedGenerationResultUsage.ts delete mode 100644 src/serialization/types/GuidedGenerationResultUsageTokenCount.ts delete mode 100644 src/serialization/types/GuidedSectionOverride.ts delete mode 100644 src/serialization/types/GuidedTemplateOverrides.ts delete mode 100644 src/serialization/types/GuidedTemplateRef.ts delete mode 100644 src/serialization/types/SectionInstructionsOverride.ts delete mode 100644 src/serialization/types/SectionOverrides.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 10e8f9ba..77165e94 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "7f0882895677d6622c36e7500c4975a5eb534618", + "originGitCommit": "b68cfcbfd89d41064dc86cc020e95f0e8a116b2f", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts index 2fd6775e..9177546a 100644 --- a/src/api/resources/alphaDocuments/client/Client.ts +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -27,7 +27,7 @@ export class AlphaDocumentsClient { * * With the exception of the plain `templateRef` path (no overrides), every call persists a new auto-generated template aggregate that snapshots the resolved content. The snapshot is drift-proof: subsequent edits to base templates or sections do not affect previously generated documents. * - * @param {Corti.GuidedDocumentRequest} request + * @param {unknown} request * @param {AlphaDocumentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} @@ -37,23 +37,20 @@ export class AlphaDocumentsClient { * * @example * await client.alphaDocuments.generate({ - * templateRef: { - * templateId: "templateId" - * }, - * outputLanguage: "outputLanguage" + * "key": "value" * }) */ public generate( - request: Corti.GuidedDocumentRequest, + request?: unknown, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions)); } private async __generate( - request: Corti.GuidedDocumentRequest, + request?: unknown, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -72,10 +69,7 @@ export class AlphaDocumentsClient { contentType: "application/json", queryParameters: requestOptions?.queryParams, requestType: "json", - body: serializers.GuidedDocumentRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), + body: request, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -83,16 +77,7 @@ export class AlphaDocumentsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.GuidedDocumentResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: _response.body, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { diff --git a/src/api/types/ContextFacts.ts b/src/api/types/ContextFacts.ts deleted file mode 100644 index f74da108..00000000 --- a/src/api/types/ContextFacts.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * A single fact provided as input context to the model. - */ -export interface ContextFacts { - type: "facts"; - fact: Corti.GuidedDocumentFactMinimal; -} diff --git a/src/api/types/ContextText.ts b/src/api/types/ContextText.ts deleted file mode 100644 index 8e40a297..00000000 --- a/src/api/types/ContextText.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * A freeform text snippet provided as input context to the model. - */ -export interface ContextText { - type: "text"; - /** Arbitrary text to be reasoned over. */ - text: string; -} diff --git a/src/api/types/ContextTranscript.ts b/src/api/types/ContextTranscript.ts deleted file mode 100644 index 8dfcb10f..00000000 --- a/src/api/types/ContextTranscript.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * A transcript provided as input context to the model. - */ -export interface ContextTranscript { - type: "transcript"; - transcript: Corti.GuidedDocumentTranscriptMinimal; -} diff --git a/src/api/types/GuidedAssemblyRequest.ts b/src/api/types/GuidedAssemblyRequest.ts deleted file mode 100644 index d6667c2a..00000000 --- a/src/api/types/GuidedAssemblyRequest.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Compose a template by referencing existing stored sections in declaration order. - */ -export interface GuidedAssemblyRequest { - /** Name for the auto-generated template aggregate that will be persisted. */ - name: string; - /** BCP 47 language tag. */ - language: string; - /** Template-level instructions for the assembled template. */ - instructions?: Corti.TemplateInstructions; - sectionRefs: Corti.GuidedAssemblySectionRef[]; -} diff --git a/src/api/types/GuidedAssemblySectionRef.ts b/src/api/types/GuidedAssemblySectionRef.ts deleted file mode 100644 index 8324bbb7..00000000 --- a/src/api/types/GuidedAssemblySectionRef.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Per-section reference for the assembly path. - */ -export interface GuidedAssemblySectionRef { - sectionId: string; - /** Optional explicit section version. Defaults to the section's published version when omitted. */ - sectionVersionId?: string | null; - overrides?: Corti.SectionOverrides; -} diff --git a/src/api/types/GuidedDocumentByAssembly.ts b/src/api/types/GuidedDocumentByAssembly.ts deleted file mode 100644 index 6421797b..00000000 --- a/src/api/types/GuidedDocumentByAssembly.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByAssembly { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Assemble a template from existing stored sections. */ - assemblyTemplate: Corti.GuidedAssemblyRequest; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentByDynamic.ts b/src/api/types/GuidedDocumentByDynamic.ts deleted file mode 100644 index 269289c2..00000000 --- a/src/api/types/GuidedDocumentByDynamic.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByDynamic { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Fully inline template defined in the request body. */ - dynamicTemplate: Corti.GuidedDynamicRequest; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentByTemplateRef.ts b/src/api/types/GuidedDocumentByTemplateRef.ts deleted file mode 100644 index 6881670b..00000000 --- a/src/api/types/GuidedDocumentByTemplateRef.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByTemplateRef { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Reference an existing stored template, optionally with overrides. */ - templateRef: Corti.GuidedTemplateRef; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentContext.ts b/src/api/types/GuidedDocumentContext.ts deleted file mode 100644 index 03b30d68..00000000 --- a/src/api/types/GuidedDocumentContext.ts +++ /dev/null @@ -1,5 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export type GuidedDocumentContext = Corti.ContextText | Corti.ContextTranscript | Corti.ContextFacts; diff --git a/src/api/types/GuidedDocumentFactMinimal.ts b/src/api/types/GuidedDocumentFactMinimal.ts deleted file mode 100644 index a16a987f..00000000 --- a/src/api/types/GuidedDocumentFactMinimal.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Minimal fact shape. Only `text` is required. - */ -export interface GuidedDocumentFactMinimal { - /** The text of the fact. */ - text: string; -} diff --git a/src/api/types/GuidedDocumentRequest.ts b/src/api/types/GuidedDocumentRequest.ts deleted file mode 100644 index c52054b3..00000000 --- a/src/api/types/GuidedDocumentRequest.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export type GuidedDocumentRequest = - | Corti.GuidedDocumentByTemplateRef - | Corti.GuidedDocumentByAssembly - | Corti.GuidedDocumentByDynamic; diff --git a/src/api/types/GuidedDocumentResponse.ts b/src/api/types/GuidedDocumentResponse.ts deleted file mode 100644 index 3a3f226d..00000000 --- a/src/api/types/GuidedDocumentResponse.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedDocumentResponse { - /** The template ID used for generation. For Path 1 (plain `templateRef` with no overrides), this is the referenced template. For other paths, it is the newly saved, auto-generated template aggregate. */ - templateId: string; - /** The specific template version that was used for generation. */ - templateVersionId: string; - result: Corti.GuidedGenerationResult; -} diff --git a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts deleted file mode 100644 index 8bc68a14..00000000 --- a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Optional transcript-level metadata. All fields optional. - */ -export interface GuidedDocumentTranscriptMetadataMinimal { - participantsRoles?: Corti.TranscriptsParticipant[] | null; -} diff --git a/src/api/types/GuidedDocumentTranscriptMinimal.ts b/src/api/types/GuidedDocumentTranscriptMinimal.ts deleted file mode 100644 index d509a43a..00000000 --- a/src/api/types/GuidedDocumentTranscriptMinimal.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Minimal transcript shape accepted as guided-document input context. Decoupled from the transcript resource: only `transcripts` is required, and within each segment only `text` is required. - */ -export interface GuidedDocumentTranscriptMinimal { - metadata?: Corti.GuidedDocumentTranscriptMetadataMinimal; - transcripts: Corti.GuidedDocumentTranscriptSegmentMinimal[]; -} diff --git a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts deleted file mode 100644 index 92733875..00000000 --- a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Minimal transcript segment. Only `text` is required. - */ -export interface GuidedDocumentTranscriptSegmentMinimal { - /** The channel associated with this phrase/utterance. */ - channel?: number; - /** The identifier of the participant. */ - participant?: number; - /** Id to tag an identified speaker. */ - speakerId?: number; - /** The spoken phrase or utterance. */ - text: string; - /** Start time in milliseconds for phrase/utterance. */ - start?: number; - /** End time in milliseconds for phrase/utterance. */ - end?: number; -} diff --git a/src/api/types/GuidedDynamicInline.ts b/src/api/types/GuidedDynamicInline.ts deleted file mode 100644 index 41e68bf3..00000000 --- a/src/api/types/GuidedDynamicInline.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedDynamicInline { - instructions: Corti.TemplateInstructions; - sections: Corti.SectionGeneration[]; -} diff --git a/src/api/types/GuidedDynamicRequest.ts b/src/api/types/GuidedDynamicRequest.ts deleted file mode 100644 index 2e3a2b0b..00000000 --- a/src/api/types/GuidedDynamicRequest.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Fully inline template definition. Sections and the wrapping template are created and immediately published as auto-generated resources. - */ -export interface GuidedDynamicRequest { - name: string; - /** BCP 47 language tag. */ - language: string; - generation: Corti.GuidedDynamicInline; -} diff --git a/src/api/types/GuidedGenerationResult.ts b/src/api/types/GuidedGenerationResult.ts deleted file mode 100644 index cb8c63cd..00000000 --- a/src/api/types/GuidedGenerationResult.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generation result. The shape mirrors the resolved template's section output schemas. - */ -export interface GuidedGenerationResult { - /** The generated document as a map of section key to rendered string output. */ - stringDocument?: Record; - /** The generated document as a structured object keyed by section. */ - structuredDocument?: Record | null; - usage?: Corti.GuidedGenerationResultUsage; -} diff --git a/src/api/types/GuidedGenerationResultUsage.ts b/src/api/types/GuidedGenerationResultUsage.ts deleted file mode 100644 index 35988177..00000000 --- a/src/api/types/GuidedGenerationResultUsage.ts +++ /dev/null @@ -1,7 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedGenerationResultUsage { - tokenCount?: Corti.GuidedGenerationResultUsageTokenCount; -} diff --git a/src/api/types/GuidedGenerationResultUsageTokenCount.ts b/src/api/types/GuidedGenerationResultUsageTokenCount.ts deleted file mode 100644 index 3479b0c9..00000000 --- a/src/api/types/GuidedGenerationResultUsageTokenCount.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface GuidedGenerationResultUsageTokenCount { - input?: number; - output?: number; -} diff --git a/src/api/types/GuidedSectionOverride.ts b/src/api/types/GuidedSectionOverride.ts deleted file mode 100644 index 103e15bb..00000000 --- a/src/api/types/GuidedSectionOverride.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Override patch applied to a section linked to the base template version. Override semantics are per-field for `instructions` (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema — partial schemas are not merged). The same rule applies when a section is forked via `inheritFromId`. - */ -export interface GuidedSectionOverride { - /** The UUID of a section linked to the base template version. */ - sectionId: string; - generation?: Corti.SectionOverrides; -} diff --git a/src/api/types/GuidedTemplateOverrides.ts b/src/api/types/GuidedTemplateOverrides.ts deleted file mode 100644 index 2de9b5de..00000000 --- a/src/api/types/GuidedTemplateOverrides.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedTemplateOverrides { - /** Replaces the template-level instructions for this call. */ - instructions?: Corti.TemplateInstructions; - /** Per-section override patches. Each entry must reference a section already linked to the base template version. */ - sections?: Corti.GuidedSectionOverride[]; -} diff --git a/src/api/types/GuidedTemplateRef.ts b/src/api/types/GuidedTemplateRef.ts deleted file mode 100644 index 2334be6b..00000000 --- a/src/api/types/GuidedTemplateRef.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedTemplateRef { - /** The UUID of a stored template. */ - templateId: string; - /** Optional explicit template version. Defaults to the template's published version when omitted. */ - templateVersionId?: string | null; - /** Runtime overrides applied on top of the resolved template. When present, a new auto-generated template is persisted with `inheritedFromId` pointing at the base template. */ - overrides?: Corti.GuidedTemplateOverrides; -} diff --git a/src/api/types/SectionInstructionsOverride.ts b/src/api/types/SectionInstructionsOverride.ts deleted file mode 100644 index 38dd91f2..00000000 --- a/src/api/types/SectionInstructionsOverride.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Partial section-instructions patch used in override and fork contexts. Each field is independent: provide only the fields you want to replace, and any field you omit is inherited from the parent's published version. - */ -export interface SectionInstructionsOverride { - /** When provided, replaces the section's content prompt. Omit to inherit from the parent. */ - contentPrompt?: string; - /** When provided, replaces the section's writing style prompt. Omit to inherit from the parent. */ - writingStylePrompt?: string; -} diff --git a/src/api/types/SectionOverrides.ts b/src/api/types/SectionOverrides.ts deleted file mode 100644 index 4728ed93..00000000 --- a/src/api/types/SectionOverrides.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Patches a section's content at link time without mutating the underlying section. Override semantics are per-field for instructions (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema). The same applies when a section is forked via `inheritFromId`. - */ -export interface SectionOverrides { - /** When provided, replaces the section's title for this call. */ - title?: string | null; - instructions?: Corti.SectionInstructionsOverride; - /** When provided, fully replaces the parent's output schema. */ - outputSchema?: Corti.OutputSchema; -} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 26bc8fc4..7770f431 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -76,9 +76,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./ContextFacts.js"; -export * from "./ContextText.js"; -export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -125,26 +122,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./GuidedAssemblyRequest.js"; -export * from "./GuidedAssemblySectionRef.js"; -export * from "./GuidedDocumentByAssembly.js"; -export * from "./GuidedDocumentByDynamic.js"; -export * from "./GuidedDocumentByTemplateRef.js"; -export * from "./GuidedDocumentContext.js"; -export * from "./GuidedDocumentFactMinimal.js"; -export * from "./GuidedDocumentRequest.js"; -export * from "./GuidedDocumentResponse.js"; -export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; -export * from "./GuidedDocumentTranscriptMinimal.js"; -export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; -export * from "./GuidedDynamicInline.js"; -export * from "./GuidedDynamicRequest.js"; -export * from "./GuidedGenerationResult.js"; -export * from "./GuidedGenerationResultUsage.js"; -export * from "./GuidedGenerationResultUsageTokenCount.js"; -export * from "./GuidedSectionOverride.js"; -export * from "./GuidedTemplateOverrides.js"; -export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -166,9 +143,7 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; -export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; -export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/src/serialization/types/ContextFacts.ts b/src/serialization/types/ContextFacts.ts deleted file mode 100644 index b0f75952..00000000 --- a/src/serialization/types/ContextFacts.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentFactMinimal } from "./GuidedDocumentFactMinimal.js"; - -export const ContextFacts: core.serialization.ObjectSchema = - core.serialization.object({ - type: core.serialization.stringLiteral("facts"), - fact: GuidedDocumentFactMinimal, - }); - -export declare namespace ContextFacts { - export interface Raw { - type: "facts"; - fact: GuidedDocumentFactMinimal.Raw; - } -} diff --git a/src/serialization/types/ContextText.ts b/src/serialization/types/ContextText.ts deleted file mode 100644 index e092f46b..00000000 --- a/src/serialization/types/ContextText.ts +++ /dev/null @@ -1,18 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const ContextText: core.serialization.ObjectSchema = - core.serialization.object({ - type: core.serialization.stringLiteral("text"), - text: core.serialization.string(), - }); - -export declare namespace ContextText { - export interface Raw { - type: "text"; - text: string; - } -} diff --git a/src/serialization/types/ContextTranscript.ts b/src/serialization/types/ContextTranscript.ts deleted file mode 100644 index 5c2eeffb..00000000 --- a/src/serialization/types/ContextTranscript.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentTranscriptMinimal } from "./GuidedDocumentTranscriptMinimal.js"; - -export const ContextTranscript: core.serialization.ObjectSchema< - serializers.ContextTranscript.Raw, - Corti.ContextTranscript -> = core.serialization.object({ - type: core.serialization.stringLiteral("transcript"), - transcript: GuidedDocumentTranscriptMinimal, -}); - -export declare namespace ContextTranscript { - export interface Raw { - type: "transcript"; - transcript: GuidedDocumentTranscriptMinimal.Raw; - } -} diff --git a/src/serialization/types/GuidedAssemblyRequest.ts b/src/serialization/types/GuidedAssemblyRequest.ts deleted file mode 100644 index 9a386d91..00000000 --- a/src/serialization/types/GuidedAssemblyRequest.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedAssemblySectionRef } from "./GuidedAssemblySectionRef.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedAssemblyRequest: core.serialization.ObjectSchema< - serializers.GuidedAssemblyRequest.Raw, - Corti.GuidedAssemblyRequest -> = core.serialization.object({ - name: core.serialization.string(), - language: core.serialization.string(), - instructions: TemplateInstructions.optional(), - sectionRefs: core.serialization.list(GuidedAssemblySectionRef), -}); - -export declare namespace GuidedAssemblyRequest { - export interface Raw { - name: string; - language: string; - instructions?: TemplateInstructions.Raw | null; - sectionRefs: GuidedAssemblySectionRef.Raw[]; - } -} diff --git a/src/serialization/types/GuidedAssemblySectionRef.ts b/src/serialization/types/GuidedAssemblySectionRef.ts deleted file mode 100644 index 303aa42d..00000000 --- a/src/serialization/types/GuidedAssemblySectionRef.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { SectionOverrides } from "./SectionOverrides.js"; - -export const GuidedAssemblySectionRef: core.serialization.ObjectSchema< - serializers.GuidedAssemblySectionRef.Raw, - Corti.GuidedAssemblySectionRef -> = core.serialization.object({ - sectionId: core.serialization.string(), - sectionVersionId: core.serialization.string().optionalNullable(), - overrides: SectionOverrides.optional(), -}); - -export declare namespace GuidedAssemblySectionRef { - export interface Raw { - sectionId: string; - sectionVersionId?: (string | null | undefined) | null; - overrides?: SectionOverrides.Raw | null; - } -} diff --git a/src/serialization/types/GuidedDocumentByAssembly.ts b/src/serialization/types/GuidedDocumentByAssembly.ts deleted file mode 100644 index 566d1fb5..00000000 --- a/src/serialization/types/GuidedDocumentByAssembly.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedAssemblyRequest } from "./GuidedAssemblyRequest.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; - -export const GuidedDocumentByAssembly: core.serialization.ObjectSchema< - serializers.GuidedDocumentByAssembly.Raw, - Corti.GuidedDocumentByAssembly -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - assemblyTemplate: GuidedAssemblyRequest, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByAssembly { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - assemblyTemplate: GuidedAssemblyRequest.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentByDynamic.ts b/src/serialization/types/GuidedDocumentByDynamic.ts deleted file mode 100644 index dd05584a..00000000 --- a/src/serialization/types/GuidedDocumentByDynamic.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; -import { GuidedDynamicRequest } from "./GuidedDynamicRequest.js"; - -export const GuidedDocumentByDynamic: core.serialization.ObjectSchema< - serializers.GuidedDocumentByDynamic.Raw, - Corti.GuidedDocumentByDynamic -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - dynamicTemplate: GuidedDynamicRequest, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByDynamic { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - dynamicTemplate: GuidedDynamicRequest.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentByTemplateRef.ts b/src/serialization/types/GuidedDocumentByTemplateRef.ts deleted file mode 100644 index 3268c1bb..00000000 --- a/src/serialization/types/GuidedDocumentByTemplateRef.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; -import { GuidedTemplateRef } from "./GuidedTemplateRef.js"; - -export const GuidedDocumentByTemplateRef: core.serialization.ObjectSchema< - serializers.GuidedDocumentByTemplateRef.Raw, - Corti.GuidedDocumentByTemplateRef -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - templateRef: GuidedTemplateRef, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByTemplateRef { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - templateRef: GuidedTemplateRef.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentContext.ts b/src/serialization/types/GuidedDocumentContext.ts deleted file mode 100644 index bc1ddfe4..00000000 --- a/src/serialization/types/GuidedDocumentContext.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { ContextFacts } from "./ContextFacts.js"; -import { ContextText } from "./ContextText.js"; -import { ContextTranscript } from "./ContextTranscript.js"; - -export const GuidedDocumentContext: core.serialization.Schema< - serializers.GuidedDocumentContext.Raw, - Corti.GuidedDocumentContext -> = core.serialization.undiscriminatedUnion([ContextText, ContextTranscript, ContextFacts]); - -export declare namespace GuidedDocumentContext { - export type Raw = ContextText.Raw | ContextTranscript.Raw | ContextFacts.Raw; -} diff --git a/src/serialization/types/GuidedDocumentFactMinimal.ts b/src/serialization/types/GuidedDocumentFactMinimal.ts deleted file mode 100644 index 2b3ddba2..00000000 --- a/src/serialization/types/GuidedDocumentFactMinimal.ts +++ /dev/null @@ -1,18 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedDocumentFactMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentFactMinimal.Raw, - Corti.GuidedDocumentFactMinimal -> = core.serialization.object({ - text: core.serialization.string(), -}); - -export declare namespace GuidedDocumentFactMinimal { - export interface Raw { - text: string; - } -} diff --git a/src/serialization/types/GuidedDocumentRequest.ts b/src/serialization/types/GuidedDocumentRequest.ts deleted file mode 100644 index 1b56a573..00000000 --- a/src/serialization/types/GuidedDocumentRequest.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentByAssembly } from "./GuidedDocumentByAssembly.js"; -import { GuidedDocumentByDynamic } from "./GuidedDocumentByDynamic.js"; -import { GuidedDocumentByTemplateRef } from "./GuidedDocumentByTemplateRef.js"; - -export const GuidedDocumentRequest: core.serialization.Schema< - serializers.GuidedDocumentRequest.Raw, - Corti.GuidedDocumentRequest -> = core.serialization.undiscriminatedUnion([ - GuidedDocumentByTemplateRef, - GuidedDocumentByAssembly, - GuidedDocumentByDynamic, -]); - -export declare namespace GuidedDocumentRequest { - export type Raw = GuidedDocumentByTemplateRef.Raw | GuidedDocumentByAssembly.Raw | GuidedDocumentByDynamic.Raw; -} diff --git a/src/serialization/types/GuidedDocumentResponse.ts b/src/serialization/types/GuidedDocumentResponse.ts deleted file mode 100644 index c5c3a8f3..00000000 --- a/src/serialization/types/GuidedDocumentResponse.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResult } from "./GuidedGenerationResult.js"; - -export const GuidedDocumentResponse: core.serialization.ObjectSchema< - serializers.GuidedDocumentResponse.Raw, - Corti.GuidedDocumentResponse -> = core.serialization.object({ - templateId: core.serialization.string(), - templateVersionId: core.serialization.string(), - result: GuidedGenerationResult, -}); - -export declare namespace GuidedDocumentResponse { - export interface Raw { - templateId: string; - templateVersionId: string; - result: GuidedGenerationResult.Raw; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts deleted file mode 100644 index bab8ae82..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { TranscriptsParticipant } from "./TranscriptsParticipant.js"; - -export const GuidedDocumentTranscriptMetadataMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptMetadataMinimal.Raw, - Corti.GuidedDocumentTranscriptMetadataMinimal -> = core.serialization.object({ - participantsRoles: core.serialization.list(TranscriptsParticipant).optionalNullable(), -}); - -export declare namespace GuidedDocumentTranscriptMetadataMinimal { - export interface Raw { - participantsRoles?: (TranscriptsParticipant.Raw[] | null | undefined) | null; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts deleted file mode 100644 index df8959a0..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentTranscriptMetadataMinimal } from "./GuidedDocumentTranscriptMetadataMinimal.js"; -import { GuidedDocumentTranscriptSegmentMinimal } from "./GuidedDocumentTranscriptSegmentMinimal.js"; - -export const GuidedDocumentTranscriptMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptMinimal.Raw, - Corti.GuidedDocumentTranscriptMinimal -> = core.serialization.object({ - metadata: GuidedDocumentTranscriptMetadataMinimal.optional(), - transcripts: core.serialization.list(GuidedDocumentTranscriptSegmentMinimal), -}); - -export declare namespace GuidedDocumentTranscriptMinimal { - export interface Raw { - metadata?: GuidedDocumentTranscriptMetadataMinimal.Raw | null; - transcripts: GuidedDocumentTranscriptSegmentMinimal.Raw[]; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts deleted file mode 100644 index c0a15aa9..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedDocumentTranscriptSegmentMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptSegmentMinimal.Raw, - Corti.GuidedDocumentTranscriptSegmentMinimal -> = core.serialization.object({ - channel: core.serialization.number().optional(), - participant: core.serialization.number().optional(), - speakerId: core.serialization.number().optional(), - text: core.serialization.string(), - start: core.serialization.number().optional(), - end: core.serialization.number().optional(), -}); - -export declare namespace GuidedDocumentTranscriptSegmentMinimal { - export interface Raw { - channel?: number | null; - participant?: number | null; - speakerId?: number | null; - text: string; - start?: number | null; - end?: number | null; - } -} diff --git a/src/serialization/types/GuidedDynamicInline.ts b/src/serialization/types/GuidedDynamicInline.ts deleted file mode 100644 index 3f996825..00000000 --- a/src/serialization/types/GuidedDynamicInline.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { SectionGeneration } from "./SectionGeneration.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedDynamicInline: core.serialization.ObjectSchema< - serializers.GuidedDynamicInline.Raw, - Corti.GuidedDynamicInline -> = core.serialization.object({ - instructions: TemplateInstructions, - sections: core.serialization.list(SectionGeneration), -}); - -export declare namespace GuidedDynamicInline { - export interface Raw { - instructions: TemplateInstructions.Raw; - sections: SectionGeneration.Raw[]; - } -} diff --git a/src/serialization/types/GuidedDynamicRequest.ts b/src/serialization/types/GuidedDynamicRequest.ts deleted file mode 100644 index 8c85af35..00000000 --- a/src/serialization/types/GuidedDynamicRequest.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDynamicInline } from "./GuidedDynamicInline.js"; - -export const GuidedDynamicRequest: core.serialization.ObjectSchema< - serializers.GuidedDynamicRequest.Raw, - Corti.GuidedDynamicRequest -> = core.serialization.object({ - name: core.serialization.string(), - language: core.serialization.string(), - generation: GuidedDynamicInline, -}); - -export declare namespace GuidedDynamicRequest { - export interface Raw { - name: string; - language: string; - generation: GuidedDynamicInline.Raw; - } -} diff --git a/src/serialization/types/GuidedGenerationResult.ts b/src/serialization/types/GuidedGenerationResult.ts deleted file mode 100644 index cb36ef1e..00000000 --- a/src/serialization/types/GuidedGenerationResult.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResultUsage } from "./GuidedGenerationResultUsage.js"; - -export const GuidedGenerationResult: core.serialization.ObjectSchema< - serializers.GuidedGenerationResult.Raw, - Corti.GuidedGenerationResult -> = core.serialization.object({ - stringDocument: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), - structuredDocument: core.serialization - .record(core.serialization.string(), core.serialization.unknown()) - .optionalNullable(), - usage: GuidedGenerationResultUsage.optional(), -}); - -export declare namespace GuidedGenerationResult { - export interface Raw { - stringDocument?: Record | null; - structuredDocument?: (Record | null | undefined) | null; - usage?: GuidedGenerationResultUsage.Raw | null; - } -} diff --git a/src/serialization/types/GuidedGenerationResultUsage.ts b/src/serialization/types/GuidedGenerationResultUsage.ts deleted file mode 100644 index 80aeb686..00000000 --- a/src/serialization/types/GuidedGenerationResultUsage.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResultUsageTokenCount } from "./GuidedGenerationResultUsageTokenCount.js"; - -export const GuidedGenerationResultUsage: core.serialization.ObjectSchema< - serializers.GuidedGenerationResultUsage.Raw, - Corti.GuidedGenerationResultUsage -> = core.serialization.object({ - tokenCount: core.serialization.property("token_count", GuidedGenerationResultUsageTokenCount.optional()), -}); - -export declare namespace GuidedGenerationResultUsage { - export interface Raw { - token_count?: GuidedGenerationResultUsageTokenCount.Raw | null; - } -} diff --git a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts deleted file mode 100644 index 0b1c21f1..00000000 --- a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedGenerationResultUsageTokenCount: core.serialization.ObjectSchema< - serializers.GuidedGenerationResultUsageTokenCount.Raw, - Corti.GuidedGenerationResultUsageTokenCount -> = core.serialization.object({ - input: core.serialization.number().optional(), - output: core.serialization.number().optional(), -}); - -export declare namespace GuidedGenerationResultUsageTokenCount { - export interface Raw { - input?: number | null; - output?: number | null; - } -} diff --git a/src/serialization/types/GuidedSectionOverride.ts b/src/serialization/types/GuidedSectionOverride.ts deleted file mode 100644 index af28803f..00000000 --- a/src/serialization/types/GuidedSectionOverride.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { SectionOverrides } from "./SectionOverrides.js"; - -export const GuidedSectionOverride: core.serialization.ObjectSchema< - serializers.GuidedSectionOverride.Raw, - Corti.GuidedSectionOverride -> = core.serialization.object({ - sectionId: core.serialization.string(), - generation: SectionOverrides.optional(), -}); - -export declare namespace GuidedSectionOverride { - export interface Raw { - sectionId: string; - generation?: SectionOverrides.Raw | null; - } -} diff --git a/src/serialization/types/GuidedTemplateOverrides.ts b/src/serialization/types/GuidedTemplateOverrides.ts deleted file mode 100644 index b0be800f..00000000 --- a/src/serialization/types/GuidedTemplateOverrides.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedSectionOverride } from "./GuidedSectionOverride.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedTemplateOverrides: core.serialization.ObjectSchema< - serializers.GuidedTemplateOverrides.Raw, - Corti.GuidedTemplateOverrides -> = core.serialization.object({ - instructions: TemplateInstructions.optional(), - sections: core.serialization.list(GuidedSectionOverride).optional(), -}); - -export declare namespace GuidedTemplateOverrides { - export interface Raw { - instructions?: TemplateInstructions.Raw | null; - sections?: GuidedSectionOverride.Raw[] | null; - } -} diff --git a/src/serialization/types/GuidedTemplateRef.ts b/src/serialization/types/GuidedTemplateRef.ts deleted file mode 100644 index b8b1744c..00000000 --- a/src/serialization/types/GuidedTemplateRef.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedTemplateOverrides } from "./GuidedTemplateOverrides.js"; - -export const GuidedTemplateRef: core.serialization.ObjectSchema< - serializers.GuidedTemplateRef.Raw, - Corti.GuidedTemplateRef -> = core.serialization.object({ - templateId: core.serialization.string(), - templateVersionId: core.serialization.string().optionalNullable(), - overrides: GuidedTemplateOverrides.optional(), -}); - -export declare namespace GuidedTemplateRef { - export interface Raw { - templateId: string; - templateVersionId?: (string | null | undefined) | null; - overrides?: GuidedTemplateOverrides.Raw | null; - } -} diff --git a/src/serialization/types/SectionInstructionsOverride.ts b/src/serialization/types/SectionInstructionsOverride.ts deleted file mode 100644 index d33fa8d7..00000000 --- a/src/serialization/types/SectionInstructionsOverride.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const SectionInstructionsOverride: core.serialization.ObjectSchema< - serializers.SectionInstructionsOverride.Raw, - Corti.SectionInstructionsOverride -> = core.serialization.object({ - contentPrompt: core.serialization.string().optional(), - writingStylePrompt: core.serialization.string().optional(), -}); - -export declare namespace SectionInstructionsOverride { - export interface Raw { - contentPrompt?: string | null; - writingStylePrompt?: string | null; - } -} diff --git a/src/serialization/types/SectionOverrides.ts b/src/serialization/types/SectionOverrides.ts deleted file mode 100644 index 5fcb6700..00000000 --- a/src/serialization/types/SectionOverrides.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; -import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; - -export const SectionOverrides: core.serialization.ObjectSchema< - serializers.SectionOverrides.Raw, - Corti.SectionOverrides -> = core.serialization.object({ - title: core.serialization.string().optionalNullable(), - instructions: SectionInstructionsOverride.optional(), - outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), -}); - -export declare namespace SectionOverrides { - export interface Raw { - title?: (string | null | undefined) | null; - instructions?: SectionInstructionsOverride.Raw | null; - outputSchema?: serializers.OutputSchema.Raw | null; - } -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 26bc8fc4..7770f431 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -76,9 +76,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./ContextFacts.js"; -export * from "./ContextText.js"; -export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -125,26 +122,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./GuidedAssemblyRequest.js"; -export * from "./GuidedAssemblySectionRef.js"; -export * from "./GuidedDocumentByAssembly.js"; -export * from "./GuidedDocumentByDynamic.js"; -export * from "./GuidedDocumentByTemplateRef.js"; -export * from "./GuidedDocumentContext.js"; -export * from "./GuidedDocumentFactMinimal.js"; -export * from "./GuidedDocumentRequest.js"; -export * from "./GuidedDocumentResponse.js"; -export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; -export * from "./GuidedDocumentTranscriptMinimal.js"; -export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; -export * from "./GuidedDynamicInline.js"; -export * from "./GuidedDynamicRequest.js"; -export * from "./GuidedGenerationResult.js"; -export * from "./GuidedGenerationResultUsage.js"; -export * from "./GuidedGenerationResultUsageTokenCount.js"; -export * from "./GuidedSectionOverride.js"; -export * from "./GuidedTemplateOverrides.js"; -export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -166,9 +143,7 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; -export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; -export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts index 0224848b..7a08c774 100644 --- a/tests/wire/alphaDocuments.test.ts +++ b/tests/wire/alphaDocuments.test.ts @@ -17,12 +17,8 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { - templateId: "templateId", - templateVersionId: "templateVersionId", - result: { stringDocument: { key: "value" }, structuredDocument: { key: "value" } }, - }; + const rawRequestBody = { key: "value" }; + const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -34,22 +30,10 @@ describe("AlphaDocumentsClient", () => { .build(); const response = await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", + key: "value", }); expect(response).toEqual({ - templateId: "templateId", - templateVersionId: "templateVersionId", - result: { - stringDocument: { - key: "value", - }, - structuredDocument: { - key: "value", - }, - }, + key: "value", }); }); @@ -64,7 +48,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; + const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -78,10 +62,7 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", + key: "value", }); }).rejects.toThrow(Corti.BadRequestError); }); @@ -97,7 +78,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; + const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -111,10 +92,7 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", + key: "value", }); }).rejects.toThrow(Corti.NotFoundError); }); @@ -130,7 +108,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; + const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -144,10 +122,7 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", + key: "value", }); }).rejects.toThrow(Corti.UnprocessableEntityError); }); @@ -163,7 +138,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; + const rawRequestBody = { key: "value" }; const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; server @@ -177,10 +152,7 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", + key: "value", }); }).rejects.toThrow(Corti.BadGatewayError); }); From 3496247c55b79df7fb3f8ffd0257c0ca315dcb81 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 08:11:44 +0000 Subject: [PATCH 37/44] SDK regeneration --- .fern/metadata.json | 4 +- pnpm-lock.yaml | 8 +- .../resources/alphaDocuments/client/Client.ts | 36 ++++-- src/api/types/GuidedAssemblyRequest.ts | 16 +++ src/api/types/GuidedAssemblySectionRef.ts | 13 ++ src/api/types/GuidedDocumentByAssembly.ts | 13 ++ src/api/types/GuidedDocumentByDynamic.ts | 13 ++ src/api/types/GuidedDocumentByTemplateRef.ts | 13 ++ src/api/types/GuidedDocumentRequest.ts | 8 ++ src/api/types/GuidedDocumentResponse.ts | 11 ++ src/api/types/GuidedDynamicInline.ts | 8 ++ src/api/types/GuidedDynamicRequest.ts | 13 ++ src/api/types/GuidedGenerationResult.ts | 14 +++ src/api/types/GuidedGenerationResultUsage.ts | 7 ++ .../GuidedGenerationResultUsageTokenCount.ts | 6 + src/api/types/GuidedSectionOverride.ts | 16 +++ src/api/types/GuidedTemplateOverrides.ts | 10 ++ src/api/types/GuidedTemplateRef.ts | 12 ++ src/api/types/SectionInstructionsOverride.ts | 11 ++ src/api/types/SectionOverrides.ts | 14 +++ src/api/types/index.ts | 17 +++ .../types/GuidedAssemblyRequest.ts | 26 ++++ .../types/GuidedAssemblySectionRef.ts | 23 ++++ .../types/GuidedDocumentByAssembly.ts | 22 ++++ .../types/GuidedDocumentByDynamic.ts | 22 ++++ .../types/GuidedDocumentByTemplateRef.ts | 22 ++++ .../types/GuidedDocumentRequest.ts | 21 ++++ .../types/GuidedDocumentResponse.ts | 23 ++++ .../types/GuidedDynamicInline.ts | 22 ++++ .../types/GuidedDynamicRequest.ts | 23 ++++ .../types/GuidedGenerationResult.ts | 25 ++++ .../types/GuidedGenerationResultUsage.ts | 19 +++ .../GuidedGenerationResultUsageTokenCount.ts | 20 +++ .../types/GuidedSectionOverride.ts | 25 ++++ .../types/GuidedTemplateOverrides.ts | 22 ++++ src/serialization/types/GuidedTemplateRef.ts | 23 ++++ .../types/SectionInstructionsOverride.ts | 20 +++ src/serialization/types/SectionOverrides.ts | 23 ++++ src/serialization/types/index.ts | 17 +++ tests/wire/alphaDocuments.test.ts | 114 ++++++++++++++++-- 40 files changed, 749 insertions(+), 26 deletions(-) create mode 100644 src/api/types/GuidedAssemblyRequest.ts create mode 100644 src/api/types/GuidedAssemblySectionRef.ts create mode 100644 src/api/types/GuidedDocumentByAssembly.ts create mode 100644 src/api/types/GuidedDocumentByDynamic.ts create mode 100644 src/api/types/GuidedDocumentByTemplateRef.ts create mode 100644 src/api/types/GuidedDocumentRequest.ts create mode 100644 src/api/types/GuidedDocumentResponse.ts create mode 100644 src/api/types/GuidedDynamicInline.ts create mode 100644 src/api/types/GuidedDynamicRequest.ts create mode 100644 src/api/types/GuidedGenerationResult.ts create mode 100644 src/api/types/GuidedGenerationResultUsage.ts create mode 100644 src/api/types/GuidedGenerationResultUsageTokenCount.ts create mode 100644 src/api/types/GuidedSectionOverride.ts create mode 100644 src/api/types/GuidedTemplateOverrides.ts create mode 100644 src/api/types/GuidedTemplateRef.ts create mode 100644 src/api/types/SectionInstructionsOverride.ts create mode 100644 src/api/types/SectionOverrides.ts create mode 100644 src/serialization/types/GuidedAssemblyRequest.ts create mode 100644 src/serialization/types/GuidedAssemblySectionRef.ts create mode 100644 src/serialization/types/GuidedDocumentByAssembly.ts create mode 100644 src/serialization/types/GuidedDocumentByDynamic.ts create mode 100644 src/serialization/types/GuidedDocumentByTemplateRef.ts create mode 100644 src/serialization/types/GuidedDocumentRequest.ts create mode 100644 src/serialization/types/GuidedDocumentResponse.ts create mode 100644 src/serialization/types/GuidedDynamicInline.ts create mode 100644 src/serialization/types/GuidedDynamicRequest.ts create mode 100644 src/serialization/types/GuidedGenerationResult.ts create mode 100644 src/serialization/types/GuidedGenerationResultUsage.ts create mode 100644 src/serialization/types/GuidedGenerationResultUsageTokenCount.ts create mode 100644 src/serialization/types/GuidedSectionOverride.ts create mode 100644 src/serialization/types/GuidedTemplateOverrides.ts create mode 100644 src/serialization/types/GuidedTemplateRef.ts create mode 100644 src/serialization/types/SectionInstructionsOverride.ts create mode 100644 src/serialization/types/SectionOverrides.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 77165e94..7f8f9ece 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,5 +1,5 @@ { - "cliVersion": "5.10.2", + "cliVersion": "5.15.3", "generatorName": "fernapi/fern-typescript-node-sdk", "generatorVersion": "3.54.0", "generatorConfig": { @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "b68cfcbfd89d41064dc86cc020e95f0e8a116b2f", + "originGitCommit": "5912889fe55d58ea28a83f93c3885f26c5945280", "sdkVersion": "0.0.0-dev" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afca55cf..5ee8b97c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: ws: specifier: ^8.16.0 - version: 8.20.0 + version: 8.20.1 devDependencies: '@biomejs/biome': specifier: 2.4.3 @@ -1146,8 +1146,8 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -2163,7 +2163,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - ws@8.20.0: {} + ws@8.20.1: {} y18n@5.0.8: {} diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts index 9177546a..1e8e7e62 100644 --- a/src/api/resources/alphaDocuments/client/Client.ts +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -27,7 +27,7 @@ export class AlphaDocumentsClient { * * With the exception of the plain `templateRef` path (no overrides), every call persists a new auto-generated template aggregate that snapshots the resolved content. The snapshot is drift-proof: subsequent edits to base templates or sections do not affect previously generated documents. * - * @param {unknown} request + * @param {Corti.GuidedDocumentRequest} request * @param {AlphaDocumentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Corti.BadRequestError} @@ -37,20 +37,28 @@ export class AlphaDocumentsClient { * * @example * await client.alphaDocuments.generate({ - * "key": "value" + * context: { + * type: "facts", + * data: [{ + * text: "text" + * }] + * }, + * templateRef: { + * templateId: "templateId" + * } * }) */ public generate( - request?: unknown, + request: Corti.GuidedDocumentRequest, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): core.HttpResponsePromise { + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions)); } private async __generate( - request?: unknown, + request: Corti.GuidedDocumentRequest, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -69,7 +77,10 @@ export class AlphaDocumentsClient { contentType: "application/json", queryParameters: requestOptions?.queryParams, requestType: "json", - body: request, + body: serializers.GuidedDocumentRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -77,7 +88,16 @@ export class AlphaDocumentsClient { logging: this._options.logging, }); if (_response.ok) { - return { data: _response.body, rawResponse: _response.rawResponse }; + return { + data: serializers.GuidedDocumentResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { diff --git a/src/api/types/GuidedAssemblyRequest.ts b/src/api/types/GuidedAssemblyRequest.ts new file mode 100644 index 00000000..d6667c2a --- /dev/null +++ b/src/api/types/GuidedAssemblyRequest.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Compose a template by referencing existing stored sections in declaration order. + */ +export interface GuidedAssemblyRequest { + /** Name for the auto-generated template aggregate that will be persisted. */ + name: string; + /** BCP 47 language tag. */ + language: string; + /** Template-level instructions for the assembled template. */ + instructions?: Corti.TemplateInstructions; + sectionRefs: Corti.GuidedAssemblySectionRef[]; +} diff --git a/src/api/types/GuidedAssemblySectionRef.ts b/src/api/types/GuidedAssemblySectionRef.ts new file mode 100644 index 00000000..8324bbb7 --- /dev/null +++ b/src/api/types/GuidedAssemblySectionRef.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Per-section reference for the assembly path. + */ +export interface GuidedAssemblySectionRef { + sectionId: string; + /** Optional explicit section version. Defaults to the section's published version when omitted. */ + sectionVersionId?: string | null; + overrides?: Corti.SectionOverrides; +} diff --git a/src/api/types/GuidedDocumentByAssembly.ts b/src/api/types/GuidedDocumentByAssembly.ts new file mode 100644 index 00000000..fb7cbe26 --- /dev/null +++ b/src/api/types/GuidedDocumentByAssembly.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. + */ +export interface GuidedDocumentByAssembly { + /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ + context: Corti.DocumentsContext; + /** Assemble a template from existing stored sections. */ + assemblyTemplate: Corti.GuidedAssemblyRequest; +} diff --git a/src/api/types/GuidedDocumentByDynamic.ts b/src/api/types/GuidedDocumentByDynamic.ts new file mode 100644 index 00000000..15892420 --- /dev/null +++ b/src/api/types/GuidedDocumentByDynamic.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. + */ +export interface GuidedDocumentByDynamic { + /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ + context: Corti.DocumentsContext; + /** Fully inline template defined in the request body. */ + dynamicTemplate: Corti.GuidedDynamicRequest; +} diff --git a/src/api/types/GuidedDocumentByTemplateRef.ts b/src/api/types/GuidedDocumentByTemplateRef.ts new file mode 100644 index 00000000..ed39faf5 --- /dev/null +++ b/src/api/types/GuidedDocumentByTemplateRef.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. + */ +export interface GuidedDocumentByTemplateRef { + /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ + context: Corti.DocumentsContext; + /** Reference an existing stored template, optionally with overrides. */ + templateRef: Corti.GuidedTemplateRef; +} diff --git a/src/api/types/GuidedDocumentRequest.ts b/src/api/types/GuidedDocumentRequest.ts new file mode 100644 index 00000000..c52054b3 --- /dev/null +++ b/src/api/types/GuidedDocumentRequest.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type GuidedDocumentRequest = + | Corti.GuidedDocumentByTemplateRef + | Corti.GuidedDocumentByAssembly + | Corti.GuidedDocumentByDynamic; diff --git a/src/api/types/GuidedDocumentResponse.ts b/src/api/types/GuidedDocumentResponse.ts new file mode 100644 index 00000000..3a3f226d --- /dev/null +++ b/src/api/types/GuidedDocumentResponse.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedDocumentResponse { + /** The template ID used for generation. For Path 1 (plain `templateRef` with no overrides), this is the referenced template. For other paths, it is the newly saved, auto-generated template aggregate. */ + templateId: string; + /** The specific template version that was used for generation. */ + templateVersionId: string; + result: Corti.GuidedGenerationResult; +} diff --git a/src/api/types/GuidedDynamicInline.ts b/src/api/types/GuidedDynamicInline.ts new file mode 100644 index 00000000..41e68bf3 --- /dev/null +++ b/src/api/types/GuidedDynamicInline.ts @@ -0,0 +1,8 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedDynamicInline { + instructions: Corti.TemplateInstructions; + sections: Corti.SectionGeneration[]; +} diff --git a/src/api/types/GuidedDynamicRequest.ts b/src/api/types/GuidedDynamicRequest.ts new file mode 100644 index 00000000..2e3a2b0b --- /dev/null +++ b/src/api/types/GuidedDynamicRequest.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Fully inline template definition. Sections and the wrapping template are created and immediately published as auto-generated resources. + */ +export interface GuidedDynamicRequest { + name: string; + /** BCP 47 language tag. */ + language: string; + generation: Corti.GuidedDynamicInline; +} diff --git a/src/api/types/GuidedGenerationResult.ts b/src/api/types/GuidedGenerationResult.ts new file mode 100644 index 00000000..fdbbc8a4 --- /dev/null +++ b/src/api/types/GuidedGenerationResult.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * ML-service result. The shape mirrors the resolved template's section output schemas. + */ +export interface GuidedGenerationResult { + /** The generated document as a map of section key to rendered string output. */ + stringDocument?: Record; + /** The generated document as a structured object keyed by section. */ + structuredDocument?: Record | null; + usage?: Corti.GuidedGenerationResultUsage; +} diff --git a/src/api/types/GuidedGenerationResultUsage.ts b/src/api/types/GuidedGenerationResultUsage.ts new file mode 100644 index 00000000..35988177 --- /dev/null +++ b/src/api/types/GuidedGenerationResultUsage.ts @@ -0,0 +1,7 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedGenerationResultUsage { + tokenCount?: Corti.GuidedGenerationResultUsageTokenCount; +} diff --git a/src/api/types/GuidedGenerationResultUsageTokenCount.ts b/src/api/types/GuidedGenerationResultUsageTokenCount.ts new file mode 100644 index 00000000..3479b0c9 --- /dev/null +++ b/src/api/types/GuidedGenerationResultUsageTokenCount.ts @@ -0,0 +1,6 @@ +// This file was auto-generated by Fern from our API Definition. + +export interface GuidedGenerationResultUsageTokenCount { + input?: number; + output?: number; +} diff --git a/src/api/types/GuidedSectionOverride.ts b/src/api/types/GuidedSectionOverride.ts new file mode 100644 index 00000000..1d3a0043 --- /dev/null +++ b/src/api/types/GuidedSectionOverride.ts @@ -0,0 +1,16 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Override patch applied to a section linked to the base template version. Override semantics are per-field for `instructions` (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema — partial schemas are not merged). The same rule applies when a section is forked via `inheritFromId`. + */ +export interface GuidedSectionOverride { + /** The UUID of a section linked to the base template version. */ + sectionId: string; + /** When provided, replaces the section's title for this call. */ + title?: string | null; + instructions?: Corti.SectionInstructionsOverride; + /** When provided, fully replaces the parent's output schema. Not a partial merge — any submitted value replaces the parent's schema in its entirety. */ + outputSchema?: Corti.OutputSchema; +} diff --git a/src/api/types/GuidedTemplateOverrides.ts b/src/api/types/GuidedTemplateOverrides.ts new file mode 100644 index 00000000..2de9b5de --- /dev/null +++ b/src/api/types/GuidedTemplateOverrides.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedTemplateOverrides { + /** Replaces the template-level instructions for this call. */ + instructions?: Corti.TemplateInstructions; + /** Per-section override patches. Each entry must reference a section already linked to the base template version. */ + sections?: Corti.GuidedSectionOverride[]; +} diff --git a/src/api/types/GuidedTemplateRef.ts b/src/api/types/GuidedTemplateRef.ts new file mode 100644 index 00000000..2334be6b --- /dev/null +++ b/src/api/types/GuidedTemplateRef.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export interface GuidedTemplateRef { + /** The UUID of a stored template. */ + templateId: string; + /** Optional explicit template version. Defaults to the template's published version when omitted. */ + templateVersionId?: string | null; + /** Runtime overrides applied on top of the resolved template. When present, a new auto-generated template is persisted with `inheritedFromId` pointing at the base template. */ + overrides?: Corti.GuidedTemplateOverrides; +} diff --git a/src/api/types/SectionInstructionsOverride.ts b/src/api/types/SectionInstructionsOverride.ts new file mode 100644 index 00000000..38dd91f2 --- /dev/null +++ b/src/api/types/SectionInstructionsOverride.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Partial section-instructions patch used in override and fork contexts. Each field is independent: provide only the fields you want to replace, and any field you omit is inherited from the parent's published version. + */ +export interface SectionInstructionsOverride { + /** When provided, replaces the section's content prompt. Omit to inherit from the parent. */ + contentPrompt?: string; + /** When provided, replaces the section's writing style prompt. Omit to inherit from the parent. */ + writingStylePrompt?: string; +} diff --git a/src/api/types/SectionOverrides.ts b/src/api/types/SectionOverrides.ts new file mode 100644 index 00000000..4728ed93 --- /dev/null +++ b/src/api/types/SectionOverrides.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Patches a section's content at link time without mutating the underlying section. Override semantics are per-field for instructions (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema). The same applies when a section is forked via `inheritFromId`. + */ +export interface SectionOverrides { + /** When provided, replaces the section's title for this call. */ + title?: string | null; + instructions?: Corti.SectionInstructionsOverride; + /** When provided, fully replaces the parent's output schema. */ + outputSchema?: Corti.OutputSchema; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 7770f431..2943ee13 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -122,6 +122,21 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; +export * from "./GuidedAssemblyRequest.js"; +export * from "./GuidedAssemblySectionRef.js"; +export * from "./GuidedDocumentByAssembly.js"; +export * from "./GuidedDocumentByDynamic.js"; +export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentRequest.js"; +export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDynamicInline.js"; +export * from "./GuidedDynamicRequest.js"; +export * from "./GuidedGenerationResult.js"; +export * from "./GuidedGenerationResultUsage.js"; +export * from "./GuidedGenerationResultUsageTokenCount.js"; +export * from "./GuidedSectionOverride.js"; +export * from "./GuidedTemplateOverrides.js"; +export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -143,7 +158,9 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; +export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/src/serialization/types/GuidedAssemblyRequest.ts b/src/serialization/types/GuidedAssemblyRequest.ts new file mode 100644 index 00000000..9a386d91 --- /dev/null +++ b/src/serialization/types/GuidedAssemblyRequest.ts @@ -0,0 +1,26 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedAssemblySectionRef } from "./GuidedAssemblySectionRef.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedAssemblyRequest: core.serialization.ObjectSchema< + serializers.GuidedAssemblyRequest.Raw, + Corti.GuidedAssemblyRequest +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + instructions: TemplateInstructions.optional(), + sectionRefs: core.serialization.list(GuidedAssemblySectionRef), +}); + +export declare namespace GuidedAssemblyRequest { + export interface Raw { + name: string; + language: string; + instructions?: TemplateInstructions.Raw | null; + sectionRefs: GuidedAssemblySectionRef.Raw[]; + } +} diff --git a/src/serialization/types/GuidedAssemblySectionRef.ts b/src/serialization/types/GuidedAssemblySectionRef.ts new file mode 100644 index 00000000..303aa42d --- /dev/null +++ b/src/serialization/types/GuidedAssemblySectionRef.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionOverrides } from "./SectionOverrides.js"; + +export const GuidedAssemblySectionRef: core.serialization.ObjectSchema< + serializers.GuidedAssemblySectionRef.Raw, + Corti.GuidedAssemblySectionRef +> = core.serialization.object({ + sectionId: core.serialization.string(), + sectionVersionId: core.serialization.string().optionalNullable(), + overrides: SectionOverrides.optional(), +}); + +export declare namespace GuidedAssemblySectionRef { + export interface Raw { + sectionId: string; + sectionVersionId?: (string | null | undefined) | null; + overrides?: SectionOverrides.Raw | null; + } +} diff --git a/src/serialization/types/GuidedDocumentByAssembly.ts b/src/serialization/types/GuidedDocumentByAssembly.ts new file mode 100644 index 00000000..ef11b335 --- /dev/null +++ b/src/serialization/types/GuidedDocumentByAssembly.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { DocumentsContext } from "./DocumentsContext.js"; +import { GuidedAssemblyRequest } from "./GuidedAssemblyRequest.js"; + +export const GuidedDocumentByAssembly: core.serialization.ObjectSchema< + serializers.GuidedDocumentByAssembly.Raw, + Corti.GuidedDocumentByAssembly +> = core.serialization.object({ + context: DocumentsContext, + assemblyTemplate: GuidedAssemblyRequest, +}); + +export declare namespace GuidedDocumentByAssembly { + export interface Raw { + context: DocumentsContext.Raw; + assemblyTemplate: GuidedAssemblyRequest.Raw; + } +} diff --git a/src/serialization/types/GuidedDocumentByDynamic.ts b/src/serialization/types/GuidedDocumentByDynamic.ts new file mode 100644 index 00000000..bcacee01 --- /dev/null +++ b/src/serialization/types/GuidedDocumentByDynamic.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { DocumentsContext } from "./DocumentsContext.js"; +import { GuidedDynamicRequest } from "./GuidedDynamicRequest.js"; + +export const GuidedDocumentByDynamic: core.serialization.ObjectSchema< + serializers.GuidedDocumentByDynamic.Raw, + Corti.GuidedDocumentByDynamic +> = core.serialization.object({ + context: DocumentsContext, + dynamicTemplate: GuidedDynamicRequest, +}); + +export declare namespace GuidedDocumentByDynamic { + export interface Raw { + context: DocumentsContext.Raw; + dynamicTemplate: GuidedDynamicRequest.Raw; + } +} diff --git a/src/serialization/types/GuidedDocumentByTemplateRef.ts b/src/serialization/types/GuidedDocumentByTemplateRef.ts new file mode 100644 index 00000000..58f9defe --- /dev/null +++ b/src/serialization/types/GuidedDocumentByTemplateRef.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { DocumentsContext } from "./DocumentsContext.js"; +import { GuidedTemplateRef } from "./GuidedTemplateRef.js"; + +export const GuidedDocumentByTemplateRef: core.serialization.ObjectSchema< + serializers.GuidedDocumentByTemplateRef.Raw, + Corti.GuidedDocumentByTemplateRef +> = core.serialization.object({ + context: DocumentsContext, + templateRef: GuidedTemplateRef, +}); + +export declare namespace GuidedDocumentByTemplateRef { + export interface Raw { + context: DocumentsContext.Raw; + templateRef: GuidedTemplateRef.Raw; + } +} diff --git a/src/serialization/types/GuidedDocumentRequest.ts b/src/serialization/types/GuidedDocumentRequest.ts new file mode 100644 index 00000000..1b56a573 --- /dev/null +++ b/src/serialization/types/GuidedDocumentRequest.ts @@ -0,0 +1,21 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentByAssembly } from "./GuidedDocumentByAssembly.js"; +import { GuidedDocumentByDynamic } from "./GuidedDocumentByDynamic.js"; +import { GuidedDocumentByTemplateRef } from "./GuidedDocumentByTemplateRef.js"; + +export const GuidedDocumentRequest: core.serialization.Schema< + serializers.GuidedDocumentRequest.Raw, + Corti.GuidedDocumentRequest +> = core.serialization.undiscriminatedUnion([ + GuidedDocumentByTemplateRef, + GuidedDocumentByAssembly, + GuidedDocumentByDynamic, +]); + +export declare namespace GuidedDocumentRequest { + export type Raw = GuidedDocumentByTemplateRef.Raw | GuidedDocumentByAssembly.Raw | GuidedDocumentByDynamic.Raw; +} diff --git a/src/serialization/types/GuidedDocumentResponse.ts b/src/serialization/types/GuidedDocumentResponse.ts new file mode 100644 index 00000000..c5c3a8f3 --- /dev/null +++ b/src/serialization/types/GuidedDocumentResponse.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResult } from "./GuidedGenerationResult.js"; + +export const GuidedDocumentResponse: core.serialization.ObjectSchema< + serializers.GuidedDocumentResponse.Raw, + Corti.GuidedDocumentResponse +> = core.serialization.object({ + templateId: core.serialization.string(), + templateVersionId: core.serialization.string(), + result: GuidedGenerationResult, +}); + +export declare namespace GuidedDocumentResponse { + export interface Raw { + templateId: string; + templateVersionId: string; + result: GuidedGenerationResult.Raw; + } +} diff --git a/src/serialization/types/GuidedDynamicInline.ts b/src/serialization/types/GuidedDynamicInline.ts new file mode 100644 index 00000000..3f996825 --- /dev/null +++ b/src/serialization/types/GuidedDynamicInline.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { SectionGeneration } from "./SectionGeneration.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedDynamicInline: core.serialization.ObjectSchema< + serializers.GuidedDynamicInline.Raw, + Corti.GuidedDynamicInline +> = core.serialization.object({ + instructions: TemplateInstructions, + sections: core.serialization.list(SectionGeneration), +}); + +export declare namespace GuidedDynamicInline { + export interface Raw { + instructions: TemplateInstructions.Raw; + sections: SectionGeneration.Raw[]; + } +} diff --git a/src/serialization/types/GuidedDynamicRequest.ts b/src/serialization/types/GuidedDynamicRequest.ts new file mode 100644 index 00000000..8c85af35 --- /dev/null +++ b/src/serialization/types/GuidedDynamicRequest.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDynamicInline } from "./GuidedDynamicInline.js"; + +export const GuidedDynamicRequest: core.serialization.ObjectSchema< + serializers.GuidedDynamicRequest.Raw, + Corti.GuidedDynamicRequest +> = core.serialization.object({ + name: core.serialization.string(), + language: core.serialization.string(), + generation: GuidedDynamicInline, +}); + +export declare namespace GuidedDynamicRequest { + export interface Raw { + name: string; + language: string; + generation: GuidedDynamicInline.Raw; + } +} diff --git a/src/serialization/types/GuidedGenerationResult.ts b/src/serialization/types/GuidedGenerationResult.ts new file mode 100644 index 00000000..cb36ef1e --- /dev/null +++ b/src/serialization/types/GuidedGenerationResult.ts @@ -0,0 +1,25 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResultUsage } from "./GuidedGenerationResultUsage.js"; + +export const GuidedGenerationResult: core.serialization.ObjectSchema< + serializers.GuidedGenerationResult.Raw, + Corti.GuidedGenerationResult +> = core.serialization.object({ + stringDocument: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), + structuredDocument: core.serialization + .record(core.serialization.string(), core.serialization.unknown()) + .optionalNullable(), + usage: GuidedGenerationResultUsage.optional(), +}); + +export declare namespace GuidedGenerationResult { + export interface Raw { + stringDocument?: Record | null; + structuredDocument?: (Record | null | undefined) | null; + usage?: GuidedGenerationResultUsage.Raw | null; + } +} diff --git a/src/serialization/types/GuidedGenerationResultUsage.ts b/src/serialization/types/GuidedGenerationResultUsage.ts new file mode 100644 index 00000000..80aeb686 --- /dev/null +++ b/src/serialization/types/GuidedGenerationResultUsage.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedGenerationResultUsageTokenCount } from "./GuidedGenerationResultUsageTokenCount.js"; + +export const GuidedGenerationResultUsage: core.serialization.ObjectSchema< + serializers.GuidedGenerationResultUsage.Raw, + Corti.GuidedGenerationResultUsage +> = core.serialization.object({ + tokenCount: core.serialization.property("token_count", GuidedGenerationResultUsageTokenCount.optional()), +}); + +export declare namespace GuidedGenerationResultUsage { + export interface Raw { + token_count?: GuidedGenerationResultUsageTokenCount.Raw | null; + } +} diff --git a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts new file mode 100644 index 00000000..0b1c21f1 --- /dev/null +++ b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedGenerationResultUsageTokenCount: core.serialization.ObjectSchema< + serializers.GuidedGenerationResultUsageTokenCount.Raw, + Corti.GuidedGenerationResultUsageTokenCount +> = core.serialization.object({ + input: core.serialization.number().optional(), + output: core.serialization.number().optional(), +}); + +export declare namespace GuidedGenerationResultUsageTokenCount { + export interface Raw { + input?: number | null; + output?: number | null; + } +} diff --git a/src/serialization/types/GuidedSectionOverride.ts b/src/serialization/types/GuidedSectionOverride.ts new file mode 100644 index 00000000..f41e169a --- /dev/null +++ b/src/serialization/types/GuidedSectionOverride.ts @@ -0,0 +1,25 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; + +export const GuidedSectionOverride: core.serialization.ObjectSchema< + serializers.GuidedSectionOverride.Raw, + Corti.GuidedSectionOverride +> = core.serialization.object({ + sectionId: core.serialization.string(), + title: core.serialization.string().optionalNullable(), + instructions: SectionInstructionsOverride.optional(), + outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), +}); + +export declare namespace GuidedSectionOverride { + export interface Raw { + sectionId: string; + title?: (string | null | undefined) | null; + instructions?: SectionInstructionsOverride.Raw | null; + outputSchema?: serializers.OutputSchema.Raw | null; + } +} diff --git a/src/serialization/types/GuidedTemplateOverrides.ts b/src/serialization/types/GuidedTemplateOverrides.ts new file mode 100644 index 00000000..b0be800f --- /dev/null +++ b/src/serialization/types/GuidedTemplateOverrides.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedSectionOverride } from "./GuidedSectionOverride.js"; +import { TemplateInstructions } from "./TemplateInstructions.js"; + +export const GuidedTemplateOverrides: core.serialization.ObjectSchema< + serializers.GuidedTemplateOverrides.Raw, + Corti.GuidedTemplateOverrides +> = core.serialization.object({ + instructions: TemplateInstructions.optional(), + sections: core.serialization.list(GuidedSectionOverride).optional(), +}); + +export declare namespace GuidedTemplateOverrides { + export interface Raw { + instructions?: TemplateInstructions.Raw | null; + sections?: GuidedSectionOverride.Raw[] | null; + } +} diff --git a/src/serialization/types/GuidedTemplateRef.ts b/src/serialization/types/GuidedTemplateRef.ts new file mode 100644 index 00000000..b8b1744c --- /dev/null +++ b/src/serialization/types/GuidedTemplateRef.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedTemplateOverrides } from "./GuidedTemplateOverrides.js"; + +export const GuidedTemplateRef: core.serialization.ObjectSchema< + serializers.GuidedTemplateRef.Raw, + Corti.GuidedTemplateRef +> = core.serialization.object({ + templateId: core.serialization.string(), + templateVersionId: core.serialization.string().optionalNullable(), + overrides: GuidedTemplateOverrides.optional(), +}); + +export declare namespace GuidedTemplateRef { + export interface Raw { + templateId: string; + templateVersionId?: (string | null | undefined) | null; + overrides?: GuidedTemplateOverrides.Raw | null; + } +} diff --git a/src/serialization/types/SectionInstructionsOverride.ts b/src/serialization/types/SectionInstructionsOverride.ts new file mode 100644 index 00000000..d33fa8d7 --- /dev/null +++ b/src/serialization/types/SectionInstructionsOverride.ts @@ -0,0 +1,20 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const SectionInstructionsOverride: core.serialization.ObjectSchema< + serializers.SectionInstructionsOverride.Raw, + Corti.SectionInstructionsOverride +> = core.serialization.object({ + contentPrompt: core.serialization.string().optional(), + writingStylePrompt: core.serialization.string().optional(), +}); + +export declare namespace SectionInstructionsOverride { + export interface Raw { + contentPrompt?: string | null; + writingStylePrompt?: string | null; + } +} diff --git a/src/serialization/types/SectionOverrides.ts b/src/serialization/types/SectionOverrides.ts new file mode 100644 index 00000000..5fcb6700 --- /dev/null +++ b/src/serialization/types/SectionOverrides.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import * as serializers from "../index.js"; +import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; + +export const SectionOverrides: core.serialization.ObjectSchema< + serializers.SectionOverrides.Raw, + Corti.SectionOverrides +> = core.serialization.object({ + title: core.serialization.string().optionalNullable(), + instructions: SectionInstructionsOverride.optional(), + outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), +}); + +export declare namespace SectionOverrides { + export interface Raw { + title?: (string | null | undefined) | null; + instructions?: SectionInstructionsOverride.Raw | null; + outputSchema?: serializers.OutputSchema.Raw | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 7770f431..2943ee13 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -122,6 +122,21 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; +export * from "./GuidedAssemblyRequest.js"; +export * from "./GuidedAssemblySectionRef.js"; +export * from "./GuidedDocumentByAssembly.js"; +export * from "./GuidedDocumentByDynamic.js"; +export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentRequest.js"; +export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDynamicInline.js"; +export * from "./GuidedDynamicRequest.js"; +export * from "./GuidedGenerationResult.js"; +export * from "./GuidedGenerationResultUsage.js"; +export * from "./GuidedGenerationResultUsageTokenCount.js"; +export * from "./GuidedSectionOverride.js"; +export * from "./GuidedTemplateOverrides.js"; +export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -143,7 +158,9 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; +export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; +export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts index 7a08c774..f34ec24a 100644 --- a/tests/wire/alphaDocuments.test.ts +++ b/tests/wire/alphaDocuments.test.ts @@ -17,8 +17,15 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; - const rawResponseBody = { key: "value" }; + const rawRequestBody = { + context: { type: "facts", data: [{ text: "text" }] }, + templateRef: { templateId: "templateId" }, + }; + const rawResponseBody = { + templateId: "templateId", + templateVersionId: "templateVersionId", + result: { stringDocument: { key: "value" }, structuredDocument: { key: "value" } }, + }; server .mockEndpoint() @@ -30,10 +37,29 @@ describe("AlphaDocumentsClient", () => { .build(); const response = await client.alphaDocuments.generate({ - key: "value", + context: { + type: "facts", + data: [ + { + text: "text", + }, + ], + }, + templateRef: { + templateId: "templateId", + }, }); expect(response).toEqual({ - key: "value", + templateId: "templateId", + templateVersionId: "templateVersionId", + result: { + stringDocument: { + key: "value", + }, + structuredDocument: { + key: "value", + }, + }, }); }); @@ -48,7 +74,10 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { + context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, + templateRef: { templateId: "templateId" }, + }; const rawResponseBody = { key: "value" }; server @@ -62,7 +91,20 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + context: { + type: "facts", + data: [ + { + text: "text", + }, + { + text: "text", + }, + ], + }, + templateRef: { + templateId: "templateId", + }, }); }).rejects.toThrow(Corti.BadRequestError); }); @@ -78,7 +120,10 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { + context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, + templateRef: { templateId: "templateId" }, + }; const rawResponseBody = { key: "value" }; server @@ -92,7 +137,20 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + context: { + type: "facts", + data: [ + { + text: "text", + }, + { + text: "text", + }, + ], + }, + templateRef: { + templateId: "templateId", + }, }); }).rejects.toThrow(Corti.NotFoundError); }); @@ -108,7 +166,10 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { + context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, + templateRef: { templateId: "templateId" }, + }; const rawResponseBody = { key: "value" }; server @@ -122,7 +183,20 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + context: { + type: "facts", + data: [ + { + text: "text", + }, + { + text: "text", + }, + ], + }, + templateRef: { + templateId: "templateId", + }, }); }).rejects.toThrow(Corti.UnprocessableEntityError); }); @@ -138,7 +212,10 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { key: "value" }; + const rawRequestBody = { + context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, + templateRef: { templateId: "templateId" }, + }; const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; server @@ -152,7 +229,20 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - key: "value", + context: { + type: "facts", + data: [ + { + text: "text", + }, + { + text: "text", + }, + ], + }, + templateRef: { + templateId: "templateId", + }, }); }).rejects.toThrow(Corti.BadGatewayError); }); From 600498b89553c7ed7aefb4bf98670e6d81885e5f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 08:21:58 +0000 Subject: [PATCH 38/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 7f8f9ece..ea9b732f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "5912889fe55d58ea28a83f93c3885f26c5945280", + "originGitCommit": "f2a2653e3b89ff1c6f586458f109c8670abfff11", "sdkVersion": "0.0.0-dev" } From 88e69efee458300f8dbe26f294be2e476a34f2c1 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 08:29:42 +0000 Subject: [PATCH 39/44] SDK regeneration --- .fern/metadata.json | 2 +- .../resources/alphaDocuments/client/Client.ts | 9 +- src/api/types/ContextFacts.ts | 11 +++ src/api/types/ContextText.ts | 10 +++ src/api/types/ContextTranscript.ts | 11 +++ src/api/types/GuidedDocumentByAssembly.ts | 10 ++- src/api/types/GuidedDocumentByDynamic.ts | 10 ++- src/api/types/GuidedDocumentByTemplateRef.ts | 10 ++- src/api/types/GuidedDocumentContext.ts | 5 ++ src/api/types/GuidedDocumentFactMinimal.ts | 9 ++ ...GuidedDocumentTranscriptMetadataMinimal.ts | 10 +++ .../types/GuidedDocumentTranscriptMinimal.ts | 11 +++ .../GuidedDocumentTranscriptSegmentMinimal.ts | 19 +++++ src/api/types/index.ts | 8 ++ src/serialization/types/ContextFacts.ts | 19 +++++ src/serialization/types/ContextText.ts | 18 ++++ src/serialization/types/ContextTranscript.ts | 21 +++++ .../types/GuidedDocumentByAssembly.ts | 10 ++- .../types/GuidedDocumentByDynamic.ts | 10 ++- .../types/GuidedDocumentByTemplateRef.ts | 10 ++- .../types/GuidedDocumentContext.ts | 17 ++++ .../types/GuidedDocumentFactMinimal.ts | 18 ++++ ...GuidedDocumentTranscriptMetadataMinimal.ts | 19 +++++ .../types/GuidedDocumentTranscriptMinimal.ts | 22 +++++ .../GuidedDocumentTranscriptSegmentMinimal.ts | 28 +++++++ src/serialization/types/index.ts | 8 ++ tests/wire/alphaDocuments.test.ts | 82 +++---------------- 27 files changed, 319 insertions(+), 98 deletions(-) create mode 100644 src/api/types/ContextFacts.ts create mode 100644 src/api/types/ContextText.ts create mode 100644 src/api/types/ContextTranscript.ts create mode 100644 src/api/types/GuidedDocumentContext.ts create mode 100644 src/api/types/GuidedDocumentFactMinimal.ts create mode 100644 src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts create mode 100644 src/api/types/GuidedDocumentTranscriptMinimal.ts create mode 100644 src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts create mode 100644 src/serialization/types/ContextFacts.ts create mode 100644 src/serialization/types/ContextText.ts create mode 100644 src/serialization/types/ContextTranscript.ts create mode 100644 src/serialization/types/GuidedDocumentContext.ts create mode 100644 src/serialization/types/GuidedDocumentFactMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptMinimal.ts create mode 100644 src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index ea9b732f..1a565530 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "f2a2653e3b89ff1c6f586458f109c8670abfff11", + "originGitCommit": "e6c04b8822cc9648c4fbf1b7cca7936eee4f1819", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts index 1e8e7e62..2fd6775e 100644 --- a/src/api/resources/alphaDocuments/client/Client.ts +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -37,15 +37,10 @@ export class AlphaDocumentsClient { * * @example * await client.alphaDocuments.generate({ - * context: { - * type: "facts", - * data: [{ - * text: "text" - * }] - * }, * templateRef: { * templateId: "templateId" - * } + * }, + * outputLanguage: "outputLanguage" * }) */ public generate( diff --git a/src/api/types/ContextFacts.ts b/src/api/types/ContextFacts.ts new file mode 100644 index 00000000..f74da108 --- /dev/null +++ b/src/api/types/ContextFacts.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * A single fact provided as input context to the model. + */ +export interface ContextFacts { + type: "facts"; + fact: Corti.GuidedDocumentFactMinimal; +} diff --git a/src/api/types/ContextText.ts b/src/api/types/ContextText.ts new file mode 100644 index 00000000..8e40a297 --- /dev/null +++ b/src/api/types/ContextText.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * A freeform text snippet provided as input context to the model. + */ +export interface ContextText { + type: "text"; + /** Arbitrary text to be reasoned over. */ + text: string; +} diff --git a/src/api/types/ContextTranscript.ts b/src/api/types/ContextTranscript.ts new file mode 100644 index 00000000..8dfcb10f --- /dev/null +++ b/src/api/types/ContextTranscript.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * A transcript provided as input context to the model. + */ +export interface ContextTranscript { + type: "transcript"; + transcript: Corti.GuidedDocumentTranscriptMinimal; +} diff --git a/src/api/types/GuidedDocumentByAssembly.ts b/src/api/types/GuidedDocumentByAssembly.ts index fb7cbe26..6421797b 100644 --- a/src/api/types/GuidedDocumentByAssembly.ts +++ b/src/api/types/GuidedDocumentByAssembly.ts @@ -3,11 +3,15 @@ import type * as Corti from "../index.js"; /** - * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. + * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. At least one of `context` or `interactionId` must be supplied as input context for the model. */ export interface GuidedDocumentByAssembly { - /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ - context: Corti.DocumentsContext; + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; /** Assemble a template from existing stored sections. */ assemblyTemplate: Corti.GuidedAssemblyRequest; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; } diff --git a/src/api/types/GuidedDocumentByDynamic.ts b/src/api/types/GuidedDocumentByDynamic.ts index 15892420..269289c2 100644 --- a/src/api/types/GuidedDocumentByDynamic.ts +++ b/src/api/types/GuidedDocumentByDynamic.ts @@ -3,11 +3,15 @@ import type * as Corti from "../index.js"; /** - * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. + * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. At least one of `context` or `interactionId` must be supplied as input context for the model. */ export interface GuidedDocumentByDynamic { - /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ - context: Corti.DocumentsContext; + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; /** Fully inline template defined in the request body. */ dynamicTemplate: Corti.GuidedDynamicRequest; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; } diff --git a/src/api/types/GuidedDocumentByTemplateRef.ts b/src/api/types/GuidedDocumentByTemplateRef.ts index ed39faf5..6881670b 100644 --- a/src/api/types/GuidedDocumentByTemplateRef.ts +++ b/src/api/types/GuidedDocumentByTemplateRef.ts @@ -3,11 +3,15 @@ import type * as Corti from "../index.js"; /** - * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. + * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. At least one of `context` or `interactionId` must be supplied as input context for the model. */ export interface GuidedDocumentByTemplateRef { - /** Single context object the model reasons over. Same shape as the `DocumentsContext` used by `POST /interactions/{id}/documents/`, but supplied as a single object — not an array. */ - context: Corti.DocumentsContext; + /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ + context?: Corti.GuidedDocumentContext[]; + /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ + interactionId?: string; /** Reference an existing stored template, optionally with overrides. */ templateRef: Corti.GuidedTemplateRef; + /** The language in which the document will be generated as a BCP 47 tag. */ + outputLanguage: string; } diff --git a/src/api/types/GuidedDocumentContext.ts b/src/api/types/GuidedDocumentContext.ts new file mode 100644 index 00000000..03b30d68 --- /dev/null +++ b/src/api/types/GuidedDocumentContext.ts @@ -0,0 +1,5 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +export type GuidedDocumentContext = Corti.ContextText | Corti.ContextTranscript | Corti.ContextFacts; diff --git a/src/api/types/GuidedDocumentFactMinimal.ts b/src/api/types/GuidedDocumentFactMinimal.ts new file mode 100644 index 00000000..a16a987f --- /dev/null +++ b/src/api/types/GuidedDocumentFactMinimal.ts @@ -0,0 +1,9 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Minimal fact shape. Only `text` is required. + */ +export interface GuidedDocumentFactMinimal { + /** The text of the fact. */ + text: string; +} diff --git a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts new file mode 100644 index 00000000..8bc68a14 --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Optional transcript-level metadata. All fields optional. + */ +export interface GuidedDocumentTranscriptMetadataMinimal { + participantsRoles?: Corti.TranscriptsParticipant[] | null; +} diff --git a/src/api/types/GuidedDocumentTranscriptMinimal.ts b/src/api/types/GuidedDocumentTranscriptMinimal.ts new file mode 100644 index 00000000..d509a43a --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptMinimal.ts @@ -0,0 +1,11 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../index.js"; + +/** + * Minimal transcript shape accepted as guided-document input context. Decoupled from the transcript resource: only `transcripts` is required, and within each segment only `text` is required. + */ +export interface GuidedDocumentTranscriptMinimal { + metadata?: Corti.GuidedDocumentTranscriptMetadataMinimal; + transcripts: Corti.GuidedDocumentTranscriptSegmentMinimal[]; +} diff --git a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts new file mode 100644 index 00000000..92733875 --- /dev/null +++ b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Minimal transcript segment. Only `text` is required. + */ +export interface GuidedDocumentTranscriptSegmentMinimal { + /** The channel associated with this phrase/utterance. */ + channel?: number; + /** The identifier of the participant. */ + participant?: number; + /** Id to tag an identified speaker. */ + speakerId?: number; + /** The spoken phrase or utterance. */ + text: string; + /** Start time in milliseconds for phrase/utterance. */ + start?: number; + /** End time in milliseconds for phrase/utterance. */ + end?: number; +} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 2943ee13..26bc8fc4 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -76,6 +76,9 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./ContextFacts.js"; +export * from "./ContextText.js"; +export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -127,8 +130,13 @@ export * from "./GuidedAssemblySectionRef.js"; export * from "./GuidedDocumentByAssembly.js"; export * from "./GuidedDocumentByDynamic.js"; export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentContext.js"; +export * from "./GuidedDocumentFactMinimal.js"; export * from "./GuidedDocumentRequest.js"; export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; +export * from "./GuidedDocumentTranscriptMinimal.js"; +export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; export * from "./GuidedDynamicInline.js"; export * from "./GuidedDynamicRequest.js"; export * from "./GuidedGenerationResult.js"; diff --git a/src/serialization/types/ContextFacts.ts b/src/serialization/types/ContextFacts.ts new file mode 100644 index 00000000..b0f75952 --- /dev/null +++ b/src/serialization/types/ContextFacts.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentFactMinimal } from "./GuidedDocumentFactMinimal.js"; + +export const ContextFacts: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("facts"), + fact: GuidedDocumentFactMinimal, + }); + +export declare namespace ContextFacts { + export interface Raw { + type: "facts"; + fact: GuidedDocumentFactMinimal.Raw; + } +} diff --git a/src/serialization/types/ContextText.ts b/src/serialization/types/ContextText.ts new file mode 100644 index 00000000..e092f46b --- /dev/null +++ b/src/serialization/types/ContextText.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const ContextText: core.serialization.ObjectSchema = + core.serialization.object({ + type: core.serialization.stringLiteral("text"), + text: core.serialization.string(), + }); + +export declare namespace ContextText { + export interface Raw { + type: "text"; + text: string; + } +} diff --git a/src/serialization/types/ContextTranscript.ts b/src/serialization/types/ContextTranscript.ts new file mode 100644 index 00000000..5c2eeffb --- /dev/null +++ b/src/serialization/types/ContextTranscript.ts @@ -0,0 +1,21 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentTranscriptMinimal } from "./GuidedDocumentTranscriptMinimal.js"; + +export const ContextTranscript: core.serialization.ObjectSchema< + serializers.ContextTranscript.Raw, + Corti.ContextTranscript +> = core.serialization.object({ + type: core.serialization.stringLiteral("transcript"), + transcript: GuidedDocumentTranscriptMinimal, +}); + +export declare namespace ContextTranscript { + export interface Raw { + type: "transcript"; + transcript: GuidedDocumentTranscriptMinimal.Raw; + } +} diff --git a/src/serialization/types/GuidedDocumentByAssembly.ts b/src/serialization/types/GuidedDocumentByAssembly.ts index ef11b335..566d1fb5 100644 --- a/src/serialization/types/GuidedDocumentByAssembly.ts +++ b/src/serialization/types/GuidedDocumentByAssembly.ts @@ -3,20 +3,24 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -import { DocumentsContext } from "./DocumentsContext.js"; import { GuidedAssemblyRequest } from "./GuidedAssemblyRequest.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; export const GuidedDocumentByAssembly: core.serialization.ObjectSchema< serializers.GuidedDocumentByAssembly.Raw, Corti.GuidedDocumentByAssembly > = core.serialization.object({ - context: DocumentsContext, + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), assemblyTemplate: GuidedAssemblyRequest, + outputLanguage: core.serialization.string(), }); export declare namespace GuidedDocumentByAssembly { export interface Raw { - context: DocumentsContext.Raw; + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; assemblyTemplate: GuidedAssemblyRequest.Raw; + outputLanguage: string; } } diff --git a/src/serialization/types/GuidedDocumentByDynamic.ts b/src/serialization/types/GuidedDocumentByDynamic.ts index bcacee01..dd05584a 100644 --- a/src/serialization/types/GuidedDocumentByDynamic.ts +++ b/src/serialization/types/GuidedDocumentByDynamic.ts @@ -3,20 +3,24 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -import { DocumentsContext } from "./DocumentsContext.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; import { GuidedDynamicRequest } from "./GuidedDynamicRequest.js"; export const GuidedDocumentByDynamic: core.serialization.ObjectSchema< serializers.GuidedDocumentByDynamic.Raw, Corti.GuidedDocumentByDynamic > = core.serialization.object({ - context: DocumentsContext, + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), dynamicTemplate: GuidedDynamicRequest, + outputLanguage: core.serialization.string(), }); export declare namespace GuidedDocumentByDynamic { export interface Raw { - context: DocumentsContext.Raw; + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; dynamicTemplate: GuidedDynamicRequest.Raw; + outputLanguage: string; } } diff --git a/src/serialization/types/GuidedDocumentByTemplateRef.ts b/src/serialization/types/GuidedDocumentByTemplateRef.ts index 58f9defe..3268c1bb 100644 --- a/src/serialization/types/GuidedDocumentByTemplateRef.ts +++ b/src/serialization/types/GuidedDocumentByTemplateRef.ts @@ -3,20 +3,24 @@ import type * as Corti from "../../api/index.js"; import * as core from "../../core/index.js"; import type * as serializers from "../index.js"; -import { DocumentsContext } from "./DocumentsContext.js"; +import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; import { GuidedTemplateRef } from "./GuidedTemplateRef.js"; export const GuidedDocumentByTemplateRef: core.serialization.ObjectSchema< serializers.GuidedDocumentByTemplateRef.Raw, Corti.GuidedDocumentByTemplateRef > = core.serialization.object({ - context: DocumentsContext, + context: core.serialization.list(GuidedDocumentContext).optional(), + interactionId: core.serialization.string().optional(), templateRef: GuidedTemplateRef, + outputLanguage: core.serialization.string(), }); export declare namespace GuidedDocumentByTemplateRef { export interface Raw { - context: DocumentsContext.Raw; + context?: GuidedDocumentContext.Raw[] | null; + interactionId?: string | null; templateRef: GuidedTemplateRef.Raw; + outputLanguage: string; } } diff --git a/src/serialization/types/GuidedDocumentContext.ts b/src/serialization/types/GuidedDocumentContext.ts new file mode 100644 index 00000000..bc1ddfe4 --- /dev/null +++ b/src/serialization/types/GuidedDocumentContext.ts @@ -0,0 +1,17 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { ContextFacts } from "./ContextFacts.js"; +import { ContextText } from "./ContextText.js"; +import { ContextTranscript } from "./ContextTranscript.js"; + +export const GuidedDocumentContext: core.serialization.Schema< + serializers.GuidedDocumentContext.Raw, + Corti.GuidedDocumentContext +> = core.serialization.undiscriminatedUnion([ContextText, ContextTranscript, ContextFacts]); + +export declare namespace GuidedDocumentContext { + export type Raw = ContextText.Raw | ContextTranscript.Raw | ContextFacts.Raw; +} diff --git a/src/serialization/types/GuidedDocumentFactMinimal.ts b/src/serialization/types/GuidedDocumentFactMinimal.ts new file mode 100644 index 00000000..2b3ddba2 --- /dev/null +++ b/src/serialization/types/GuidedDocumentFactMinimal.ts @@ -0,0 +1,18 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedDocumentFactMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentFactMinimal.Raw, + Corti.GuidedDocumentFactMinimal +> = core.serialization.object({ + text: core.serialization.string(), +}); + +export declare namespace GuidedDocumentFactMinimal { + export interface Raw { + text: string; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts new file mode 100644 index 00000000..bab8ae82 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts @@ -0,0 +1,19 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { TranscriptsParticipant } from "./TranscriptsParticipant.js"; + +export const GuidedDocumentTranscriptMetadataMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptMetadataMinimal.Raw, + Corti.GuidedDocumentTranscriptMetadataMinimal +> = core.serialization.object({ + participantsRoles: core.serialization.list(TranscriptsParticipant).optionalNullable(), +}); + +export declare namespace GuidedDocumentTranscriptMetadataMinimal { + export interface Raw { + participantsRoles?: (TranscriptsParticipant.Raw[] | null | undefined) | null; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts new file mode 100644 index 00000000..df8959a0 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; +import { GuidedDocumentTranscriptMetadataMinimal } from "./GuidedDocumentTranscriptMetadataMinimal.js"; +import { GuidedDocumentTranscriptSegmentMinimal } from "./GuidedDocumentTranscriptSegmentMinimal.js"; + +export const GuidedDocumentTranscriptMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptMinimal.Raw, + Corti.GuidedDocumentTranscriptMinimal +> = core.serialization.object({ + metadata: GuidedDocumentTranscriptMetadataMinimal.optional(), + transcripts: core.serialization.list(GuidedDocumentTranscriptSegmentMinimal), +}); + +export declare namespace GuidedDocumentTranscriptMinimal { + export interface Raw { + metadata?: GuidedDocumentTranscriptMetadataMinimal.Raw | null; + transcripts: GuidedDocumentTranscriptSegmentMinimal.Raw[]; + } +} diff --git a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts new file mode 100644 index 00000000..c0a15aa9 --- /dev/null +++ b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts @@ -0,0 +1,28 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Corti from "../../api/index.js"; +import * as core from "../../core/index.js"; +import type * as serializers from "../index.js"; + +export const GuidedDocumentTranscriptSegmentMinimal: core.serialization.ObjectSchema< + serializers.GuidedDocumentTranscriptSegmentMinimal.Raw, + Corti.GuidedDocumentTranscriptSegmentMinimal +> = core.serialization.object({ + channel: core.serialization.number().optional(), + participant: core.serialization.number().optional(), + speakerId: core.serialization.number().optional(), + text: core.serialization.string(), + start: core.serialization.number().optional(), + end: core.serialization.number().optional(), +}); + +export declare namespace GuidedDocumentTranscriptSegmentMinimal { + export interface Raw { + channel?: number | null; + participant?: number | null; + speakerId?: number | null; + text: string; + start?: number | null; + end?: number | null; + } +} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 2943ee13..26bc8fc4 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -76,6 +76,9 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; +export * from "./ContextFacts.js"; +export * from "./ContextText.js"; +export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -127,8 +130,13 @@ export * from "./GuidedAssemblySectionRef.js"; export * from "./GuidedDocumentByAssembly.js"; export * from "./GuidedDocumentByDynamic.js"; export * from "./GuidedDocumentByTemplateRef.js"; +export * from "./GuidedDocumentContext.js"; +export * from "./GuidedDocumentFactMinimal.js"; export * from "./GuidedDocumentRequest.js"; export * from "./GuidedDocumentResponse.js"; +export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; +export * from "./GuidedDocumentTranscriptMinimal.js"; +export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; export * from "./GuidedDynamicInline.js"; export * from "./GuidedDynamicRequest.js"; export * from "./GuidedGenerationResult.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts index f34ec24a..0224848b 100644 --- a/tests/wire/alphaDocuments.test.ts +++ b/tests/wire/alphaDocuments.test.ts @@ -17,10 +17,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - context: { type: "facts", data: [{ text: "text" }] }, - templateRef: { templateId: "templateId" }, - }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { templateId: "templateId", templateVersionId: "templateVersionId", @@ -37,17 +34,10 @@ describe("AlphaDocumentsClient", () => { .build(); const response = await client.alphaDocuments.generate({ - context: { - type: "facts", - data: [ - { - text: "text", - }, - ], - }, templateRef: { templateId: "templateId", }, + outputLanguage: "outputLanguage", }); expect(response).toEqual({ templateId: "templateId", @@ -74,10 +64,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, - templateRef: { templateId: "templateId" }, - }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -91,20 +78,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - context: { - type: "facts", - data: [ - { - text: "text", - }, - { - text: "text", - }, - ], - }, templateRef: { templateId: "templateId", }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.BadRequestError); }); @@ -120,10 +97,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, - templateRef: { templateId: "templateId" }, - }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -137,20 +111,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - context: { - type: "facts", - data: [ - { - text: "text", - }, - { - text: "text", - }, - ], - }, templateRef: { templateId: "templateId", }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.NotFoundError); }); @@ -166,10 +130,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, - templateRef: { templateId: "templateId" }, - }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { key: "value" }; server @@ -183,20 +144,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - context: { - type: "facts", - data: [ - { - text: "text", - }, - { - text: "text", - }, - ], - }, templateRef: { templateId: "templateId", }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.UnprocessableEntityError); }); @@ -212,10 +163,7 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { - context: { type: "facts", data: [{ text: "text" }, { text: "text" }] }, - templateRef: { templateId: "templateId" }, - }; + const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; server @@ -229,20 +177,10 @@ describe("AlphaDocumentsClient", () => { await expect(async () => { return await client.alphaDocuments.generate({ - context: { - type: "facts", - data: [ - { - text: "text", - }, - { - text: "text", - }, - ], - }, templateRef: { templateId: "templateId", }, + outputLanguage: "outputLanguage", }); }).rejects.toThrow(Corti.BadGatewayError); }); From b5d3282463af47abdc6f5b0ccac33bedc079e89d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 08:42:07 +0000 Subject: [PATCH 40/44] SDK regeneration --- .fern/metadata.json | 2 +- src/BaseClient.ts | 4 +- .../resources/alphaDocuments/client/Client.ts | 76 ++------ src/api/types/ContextFacts.ts | 11 -- src/api/types/ContextText.ts | 10 -- src/api/types/ContextTranscript.ts | 11 -- src/api/types/GuidedAssemblyRequest.ts | 16 -- src/api/types/GuidedAssemblySectionRef.ts | 13 -- src/api/types/GuidedDocumentByAssembly.ts | 17 -- src/api/types/GuidedDocumentByDynamic.ts | 17 -- src/api/types/GuidedDocumentByTemplateRef.ts | 17 -- src/api/types/GuidedDocumentContext.ts | 5 - src/api/types/GuidedDocumentFactMinimal.ts | 9 - src/api/types/GuidedDocumentRequest.ts | 8 - src/api/types/GuidedDocumentResponse.ts | 11 -- ...GuidedDocumentTranscriptMetadataMinimal.ts | 10 -- .../types/GuidedDocumentTranscriptMinimal.ts | 11 -- .../GuidedDocumentTranscriptSegmentMinimal.ts | 19 -- src/api/types/GuidedDynamicInline.ts | 8 - src/api/types/GuidedDynamicRequest.ts | 13 -- src/api/types/GuidedGenerationResult.ts | 14 -- src/api/types/GuidedGenerationResultUsage.ts | 7 - .../GuidedGenerationResultUsageTokenCount.ts | 6 - src/api/types/GuidedSectionOverride.ts | 16 -- src/api/types/GuidedTemplateOverrides.ts | 10 -- src/api/types/GuidedTemplateRef.ts | 12 -- src/api/types/SectionInstructionsOverride.ts | 11 -- src/api/types/SectionOverrides.ts | 14 -- src/api/types/index.ts | 25 --- src/serialization/types/ContextFacts.ts | 19 -- src/serialization/types/ContextText.ts | 18 -- src/serialization/types/ContextTranscript.ts | 21 --- .../types/GuidedAssemblyRequest.ts | 26 --- .../types/GuidedAssemblySectionRef.ts | 23 --- .../types/GuidedDocumentByAssembly.ts | 26 --- .../types/GuidedDocumentByDynamic.ts | 26 --- .../types/GuidedDocumentByTemplateRef.ts | 26 --- .../types/GuidedDocumentContext.ts | 17 -- .../types/GuidedDocumentFactMinimal.ts | 18 -- .../types/GuidedDocumentRequest.ts | 21 --- .../types/GuidedDocumentResponse.ts | 23 --- ...GuidedDocumentTranscriptMetadataMinimal.ts | 19 -- .../types/GuidedDocumentTranscriptMinimal.ts | 22 --- .../GuidedDocumentTranscriptSegmentMinimal.ts | 28 --- .../types/GuidedDynamicInline.ts | 22 --- .../types/GuidedDynamicRequest.ts | 23 --- .../types/GuidedGenerationResult.ts | 25 --- .../types/GuidedGenerationResultUsage.ts | 19 -- .../GuidedGenerationResultUsageTokenCount.ts | 20 --- .../types/GuidedSectionOverride.ts | 25 --- .../types/GuidedTemplateOverrides.ts | 22 --- src/serialization/types/GuidedTemplateRef.ts | 23 --- .../types/SectionInstructionsOverride.ts | 20 --- src/serialization/types/SectionOverrides.ts | 23 --- src/serialization/types/index.ts | 25 --- tests/wire/alphaDocuments.test.ts | 170 +----------------- 56 files changed, 17 insertions(+), 1136 deletions(-) delete mode 100644 src/api/types/ContextFacts.ts delete mode 100644 src/api/types/ContextText.ts delete mode 100644 src/api/types/ContextTranscript.ts delete mode 100644 src/api/types/GuidedAssemblyRequest.ts delete mode 100644 src/api/types/GuidedAssemblySectionRef.ts delete mode 100644 src/api/types/GuidedDocumentByAssembly.ts delete mode 100644 src/api/types/GuidedDocumentByDynamic.ts delete mode 100644 src/api/types/GuidedDocumentByTemplateRef.ts delete mode 100644 src/api/types/GuidedDocumentContext.ts delete mode 100644 src/api/types/GuidedDocumentFactMinimal.ts delete mode 100644 src/api/types/GuidedDocumentRequest.ts delete mode 100644 src/api/types/GuidedDocumentResponse.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptMinimal.ts delete mode 100644 src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts delete mode 100644 src/api/types/GuidedDynamicInline.ts delete mode 100644 src/api/types/GuidedDynamicRequest.ts delete mode 100644 src/api/types/GuidedGenerationResult.ts delete mode 100644 src/api/types/GuidedGenerationResultUsage.ts delete mode 100644 src/api/types/GuidedGenerationResultUsageTokenCount.ts delete mode 100644 src/api/types/GuidedSectionOverride.ts delete mode 100644 src/api/types/GuidedTemplateOverrides.ts delete mode 100644 src/api/types/GuidedTemplateRef.ts delete mode 100644 src/api/types/SectionInstructionsOverride.ts delete mode 100644 src/api/types/SectionOverrides.ts delete mode 100644 src/serialization/types/ContextFacts.ts delete mode 100644 src/serialization/types/ContextText.ts delete mode 100644 src/serialization/types/ContextTranscript.ts delete mode 100644 src/serialization/types/GuidedAssemblyRequest.ts delete mode 100644 src/serialization/types/GuidedAssemblySectionRef.ts delete mode 100644 src/serialization/types/GuidedDocumentByAssembly.ts delete mode 100644 src/serialization/types/GuidedDocumentByDynamic.ts delete mode 100644 src/serialization/types/GuidedDocumentByTemplateRef.ts delete mode 100644 src/serialization/types/GuidedDocumentContext.ts delete mode 100644 src/serialization/types/GuidedDocumentFactMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentRequest.ts delete mode 100644 src/serialization/types/GuidedDocumentResponse.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptMinimal.ts delete mode 100644 src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts delete mode 100644 src/serialization/types/GuidedDynamicInline.ts delete mode 100644 src/serialization/types/GuidedDynamicRequest.ts delete mode 100644 src/serialization/types/GuidedGenerationResult.ts delete mode 100644 src/serialization/types/GuidedGenerationResultUsage.ts delete mode 100644 src/serialization/types/GuidedGenerationResultUsageTokenCount.ts delete mode 100644 src/serialization/types/GuidedSectionOverride.ts delete mode 100644 src/serialization/types/GuidedTemplateOverrides.ts delete mode 100644 src/serialization/types/GuidedTemplateRef.ts delete mode 100644 src/serialization/types/SectionInstructionsOverride.ts delete mode 100644 src/serialization/types/SectionOverrides.ts diff --git a/.fern/metadata.json b/.fern/metadata.json index 1a565530..71d6068b 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "e6c04b8822cc9648c4fbf1b7cca7936eee4f1819", + "originGitCommit": "cf2f54619dcfff1ac2ef3d5b55d0a0da6bb7b618", "sdkVersion": "0.0.0-dev" } diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 1b76cbaa..27d389e5 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -10,7 +10,7 @@ export type BaseClientOptions = { /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; /** Override the Tenant-Name header */ - tenantName: core.Supplier; + tenantName?: core.Supplier; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -31,7 +31,7 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Tenant-Name header */ - tenantName?: string; + tenantName?: string | undefined; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ diff --git a/src/api/resources/alphaDocuments/client/Client.ts b/src/api/resources/alphaDocuments/client/Client.ts index 2fd6775e..305974df 100644 --- a/src/api/resources/alphaDocuments/client/Client.ts +++ b/src/api/resources/alphaDocuments/client/Client.ts @@ -6,8 +6,6 @@ import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers. import * as core from "../../../../core/index.js"; import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; import * as errors from "../../../../errors/index.js"; -import * as serializers from "../../../../serialization/index.js"; -import * as Corti from "../../../index.js"; export declare namespace AlphaDocumentsClient { export type Options = BaseClientOptions; @@ -23,37 +21,18 @@ export class AlphaDocumentsClient { } /** - * Generates a structured document using one of four template-supply paths: a stored template reference (optionally with runtime overrides), an ad-hoc assembly of stored sections, or a fully inline dynamic template. Exactly one of `templateRef`, `assemblyTemplate`, or `dynamicTemplate` must be provided. - * - * With the exception of the plain `templateRef` path (no overrides), every call persists a new auto-generated template aggregate that snapshots the resolved content. The snapshot is drift-proof: subsequent edits to base templates or sections do not affect previously generated documents. - * - * @param {Corti.GuidedDocumentRequest} request * @param {AlphaDocumentsClient.RequestOptions} requestOptions - Request-specific configuration. * - * @throws {@link Corti.BadRequestError} - * @throws {@link Corti.NotFoundError} - * @throws {@link Corti.UnprocessableEntityError} - * @throws {@link Corti.BadGatewayError} - * * @example - * await client.alphaDocuments.generate({ - * templateRef: { - * templateId: "templateId" - * }, - * outputLanguage: "outputLanguage" - * }) + * await client.alphaDocuments.generate() */ - public generate( - request: Corti.GuidedDocumentRequest, - requestOptions?: AlphaDocumentsClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions)); + public generate(requestOptions?: AlphaDocumentsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__generate(requestOptions)); } private async __generate( - request: Corti.GuidedDocumentRequest, requestOptions?: AlphaDocumentsClient.RequestOptions, - ): Promise> { + ): Promise> { const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( _authRequest.headers, @@ -69,13 +48,7 @@ export class AlphaDocumentsClient { ), method: "POST", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.GuidedDocumentRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -83,44 +56,15 @@ export class AlphaDocumentsClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.GuidedDocumentResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, 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 404: - throw new Corti.NotFoundError(_response.error.body, _response.rawResponse); - case 422: - throw new Corti.UnprocessableEntityError(_response.error.body, _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, - ); - default: - throw new errors.CortiError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } + throw new errors.CortiError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/alpha/documents"); diff --git a/src/api/types/ContextFacts.ts b/src/api/types/ContextFacts.ts deleted file mode 100644 index f74da108..00000000 --- a/src/api/types/ContextFacts.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * A single fact provided as input context to the model. - */ -export interface ContextFacts { - type: "facts"; - fact: Corti.GuidedDocumentFactMinimal; -} diff --git a/src/api/types/ContextText.ts b/src/api/types/ContextText.ts deleted file mode 100644 index 8e40a297..00000000 --- a/src/api/types/ContextText.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * A freeform text snippet provided as input context to the model. - */ -export interface ContextText { - type: "text"; - /** Arbitrary text to be reasoned over. */ - text: string; -} diff --git a/src/api/types/ContextTranscript.ts b/src/api/types/ContextTranscript.ts deleted file mode 100644 index 8dfcb10f..00000000 --- a/src/api/types/ContextTranscript.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * A transcript provided as input context to the model. - */ -export interface ContextTranscript { - type: "transcript"; - transcript: Corti.GuidedDocumentTranscriptMinimal; -} diff --git a/src/api/types/GuidedAssemblyRequest.ts b/src/api/types/GuidedAssemblyRequest.ts deleted file mode 100644 index d6667c2a..00000000 --- a/src/api/types/GuidedAssemblyRequest.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Compose a template by referencing existing stored sections in declaration order. - */ -export interface GuidedAssemblyRequest { - /** Name for the auto-generated template aggregate that will be persisted. */ - name: string; - /** BCP 47 language tag. */ - language: string; - /** Template-level instructions for the assembled template. */ - instructions?: Corti.TemplateInstructions; - sectionRefs: Corti.GuidedAssemblySectionRef[]; -} diff --git a/src/api/types/GuidedAssemblySectionRef.ts b/src/api/types/GuidedAssemblySectionRef.ts deleted file mode 100644 index 8324bbb7..00000000 --- a/src/api/types/GuidedAssemblySectionRef.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Per-section reference for the assembly path. - */ -export interface GuidedAssemblySectionRef { - sectionId: string; - /** Optional explicit section version. Defaults to the section's published version when omitted. */ - sectionVersionId?: string | null; - overrides?: Corti.SectionOverrides; -} diff --git a/src/api/types/GuidedDocumentByAssembly.ts b/src/api/types/GuidedDocumentByAssembly.ts deleted file mode 100644 index 6421797b..00000000 --- a/src/api/types/GuidedDocumentByAssembly.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document by assembling a template from existing stored sections. The resulting template aggregate is auto-saved and can be referenced in future calls. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByAssembly { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Assemble a template from existing stored sections. */ - assemblyTemplate: Corti.GuidedAssemblyRequest; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentByDynamic.ts b/src/api/types/GuidedDocumentByDynamic.ts deleted file mode 100644 index 269289c2..00000000 --- a/src/api/types/GuidedDocumentByDynamic.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document from a fully inline template definition supplied in the request body. Sections and the wrapping template are created and immediately published as auto-generated resources. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByDynamic { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Fully inline template defined in the request body. */ - dynamicTemplate: Corti.GuidedDynamicRequest; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentByTemplateRef.ts b/src/api/types/GuidedDocumentByTemplateRef.ts deleted file mode 100644 index 6881670b..00000000 --- a/src/api/types/GuidedDocumentByTemplateRef.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Generate a document using a stored template. Optionally supply runtime overrides to patch instructions or sections without mutating the base template. At least one of `context` or `interactionId` must be supplied as input context for the model. - */ -export interface GuidedDocumentByTemplateRef { - /** Ordered list of context items the model reasons over. Each item is one of text, a transcript (with optional metadata and segments), or a single fact. Items are interleaved by timestamps where present on transcript segments; otherwise array order is preserved. */ - context?: Corti.GuidedDocumentContext[]; - /** When supplied, all facts and transcripts already attached to the referenced interaction are passed implicitly as input context. */ - interactionId?: string; - /** Reference an existing stored template, optionally with overrides. */ - templateRef: Corti.GuidedTemplateRef; - /** The language in which the document will be generated as a BCP 47 tag. */ - outputLanguage: string; -} diff --git a/src/api/types/GuidedDocumentContext.ts b/src/api/types/GuidedDocumentContext.ts deleted file mode 100644 index 03b30d68..00000000 --- a/src/api/types/GuidedDocumentContext.ts +++ /dev/null @@ -1,5 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export type GuidedDocumentContext = Corti.ContextText | Corti.ContextTranscript | Corti.ContextFacts; diff --git a/src/api/types/GuidedDocumentFactMinimal.ts b/src/api/types/GuidedDocumentFactMinimal.ts deleted file mode 100644 index a16a987f..00000000 --- a/src/api/types/GuidedDocumentFactMinimal.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Minimal fact shape. Only `text` is required. - */ -export interface GuidedDocumentFactMinimal { - /** The text of the fact. */ - text: string; -} diff --git a/src/api/types/GuidedDocumentRequest.ts b/src/api/types/GuidedDocumentRequest.ts deleted file mode 100644 index c52054b3..00000000 --- a/src/api/types/GuidedDocumentRequest.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export type GuidedDocumentRequest = - | Corti.GuidedDocumentByTemplateRef - | Corti.GuidedDocumentByAssembly - | Corti.GuidedDocumentByDynamic; diff --git a/src/api/types/GuidedDocumentResponse.ts b/src/api/types/GuidedDocumentResponse.ts deleted file mode 100644 index 3a3f226d..00000000 --- a/src/api/types/GuidedDocumentResponse.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedDocumentResponse { - /** The template ID used for generation. For Path 1 (plain `templateRef` with no overrides), this is the referenced template. For other paths, it is the newly saved, auto-generated template aggregate. */ - templateId: string; - /** The specific template version that was used for generation. */ - templateVersionId: string; - result: Corti.GuidedGenerationResult; -} diff --git a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts deleted file mode 100644 index 8bc68a14..00000000 --- a/src/api/types/GuidedDocumentTranscriptMetadataMinimal.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Optional transcript-level metadata. All fields optional. - */ -export interface GuidedDocumentTranscriptMetadataMinimal { - participantsRoles?: Corti.TranscriptsParticipant[] | null; -} diff --git a/src/api/types/GuidedDocumentTranscriptMinimal.ts b/src/api/types/GuidedDocumentTranscriptMinimal.ts deleted file mode 100644 index d509a43a..00000000 --- a/src/api/types/GuidedDocumentTranscriptMinimal.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Minimal transcript shape accepted as guided-document input context. Decoupled from the transcript resource: only `transcripts` is required, and within each segment only `text` is required. - */ -export interface GuidedDocumentTranscriptMinimal { - metadata?: Corti.GuidedDocumentTranscriptMetadataMinimal; - transcripts: Corti.GuidedDocumentTranscriptSegmentMinimal[]; -} diff --git a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts deleted file mode 100644 index 92733875..00000000 --- a/src/api/types/GuidedDocumentTranscriptSegmentMinimal.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Minimal transcript segment. Only `text` is required. - */ -export interface GuidedDocumentTranscriptSegmentMinimal { - /** The channel associated with this phrase/utterance. */ - channel?: number; - /** The identifier of the participant. */ - participant?: number; - /** Id to tag an identified speaker. */ - speakerId?: number; - /** The spoken phrase or utterance. */ - text: string; - /** Start time in milliseconds for phrase/utterance. */ - start?: number; - /** End time in milliseconds for phrase/utterance. */ - end?: number; -} diff --git a/src/api/types/GuidedDynamicInline.ts b/src/api/types/GuidedDynamicInline.ts deleted file mode 100644 index 41e68bf3..00000000 --- a/src/api/types/GuidedDynamicInline.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedDynamicInline { - instructions: Corti.TemplateInstructions; - sections: Corti.SectionGeneration[]; -} diff --git a/src/api/types/GuidedDynamicRequest.ts b/src/api/types/GuidedDynamicRequest.ts deleted file mode 100644 index 2e3a2b0b..00000000 --- a/src/api/types/GuidedDynamicRequest.ts +++ /dev/null @@ -1,13 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Fully inline template definition. Sections and the wrapping template are created and immediately published as auto-generated resources. - */ -export interface GuidedDynamicRequest { - name: string; - /** BCP 47 language tag. */ - language: string; - generation: Corti.GuidedDynamicInline; -} diff --git a/src/api/types/GuidedGenerationResult.ts b/src/api/types/GuidedGenerationResult.ts deleted file mode 100644 index fdbbc8a4..00000000 --- a/src/api/types/GuidedGenerationResult.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * ML-service result. The shape mirrors the resolved template's section output schemas. - */ -export interface GuidedGenerationResult { - /** The generated document as a map of section key to rendered string output. */ - stringDocument?: Record; - /** The generated document as a structured object keyed by section. */ - structuredDocument?: Record | null; - usage?: Corti.GuidedGenerationResultUsage; -} diff --git a/src/api/types/GuidedGenerationResultUsage.ts b/src/api/types/GuidedGenerationResultUsage.ts deleted file mode 100644 index 35988177..00000000 --- a/src/api/types/GuidedGenerationResultUsage.ts +++ /dev/null @@ -1,7 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedGenerationResultUsage { - tokenCount?: Corti.GuidedGenerationResultUsageTokenCount; -} diff --git a/src/api/types/GuidedGenerationResultUsageTokenCount.ts b/src/api/types/GuidedGenerationResultUsageTokenCount.ts deleted file mode 100644 index 3479b0c9..00000000 --- a/src/api/types/GuidedGenerationResultUsageTokenCount.ts +++ /dev/null @@ -1,6 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -export interface GuidedGenerationResultUsageTokenCount { - input?: number; - output?: number; -} diff --git a/src/api/types/GuidedSectionOverride.ts b/src/api/types/GuidedSectionOverride.ts deleted file mode 100644 index 1d3a0043..00000000 --- a/src/api/types/GuidedSectionOverride.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Override patch applied to a section linked to the base template version. Override semantics are per-field for `instructions` (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema — partial schemas are not merged). The same rule applies when a section is forked via `inheritFromId`. - */ -export interface GuidedSectionOverride { - /** The UUID of a section linked to the base template version. */ - sectionId: string; - /** When provided, replaces the section's title for this call. */ - title?: string | null; - instructions?: Corti.SectionInstructionsOverride; - /** When provided, fully replaces the parent's output schema. Not a partial merge — any submitted value replaces the parent's schema in its entirety. */ - outputSchema?: Corti.OutputSchema; -} diff --git a/src/api/types/GuidedTemplateOverrides.ts b/src/api/types/GuidedTemplateOverrides.ts deleted file mode 100644 index 2de9b5de..00000000 --- a/src/api/types/GuidedTemplateOverrides.ts +++ /dev/null @@ -1,10 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedTemplateOverrides { - /** Replaces the template-level instructions for this call. */ - instructions?: Corti.TemplateInstructions; - /** Per-section override patches. Each entry must reference a section already linked to the base template version. */ - sections?: Corti.GuidedSectionOverride[]; -} diff --git a/src/api/types/GuidedTemplateRef.ts b/src/api/types/GuidedTemplateRef.ts deleted file mode 100644 index 2334be6b..00000000 --- a/src/api/types/GuidedTemplateRef.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -export interface GuidedTemplateRef { - /** The UUID of a stored template. */ - templateId: string; - /** Optional explicit template version. Defaults to the template's published version when omitted. */ - templateVersionId?: string | null; - /** Runtime overrides applied on top of the resolved template. When present, a new auto-generated template is persisted with `inheritedFromId` pointing at the base template. */ - overrides?: Corti.GuidedTemplateOverrides; -} diff --git a/src/api/types/SectionInstructionsOverride.ts b/src/api/types/SectionInstructionsOverride.ts deleted file mode 100644 index 38dd91f2..00000000 --- a/src/api/types/SectionInstructionsOverride.ts +++ /dev/null @@ -1,11 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * Partial section-instructions patch used in override and fork contexts. Each field is independent: provide only the fields you want to replace, and any field you omit is inherited from the parent's published version. - */ -export interface SectionInstructionsOverride { - /** When provided, replaces the section's content prompt. Omit to inherit from the parent. */ - contentPrompt?: string; - /** When provided, replaces the section's writing style prompt. Omit to inherit from the parent. */ - writingStylePrompt?: string; -} diff --git a/src/api/types/SectionOverrides.ts b/src/api/types/SectionOverrides.ts deleted file mode 100644 index 4728ed93..00000000 --- a/src/api/types/SectionOverrides.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../index.js"; - -/** - * Patches a section's content at link time without mutating the underlying section. Override semantics are per-field for instructions (any field you omit is inherited from the parent's published version) and wholesale for `outputSchema` (whatever you submit fully replaces the parent schema). The same applies when a section is forked via `inheritFromId`. - */ -export interface SectionOverrides { - /** When provided, replaces the section's title for this call. */ - title?: string | null; - instructions?: Corti.SectionInstructionsOverride; - /** When provided, fully replaces the parent's output schema. */ - outputSchema?: Corti.OutputSchema; -} diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 26bc8fc4..7770f431 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -76,9 +76,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./ContextFacts.js"; -export * from "./ContextText.js"; -export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -125,26 +122,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./GuidedAssemblyRequest.js"; -export * from "./GuidedAssemblySectionRef.js"; -export * from "./GuidedDocumentByAssembly.js"; -export * from "./GuidedDocumentByDynamic.js"; -export * from "./GuidedDocumentByTemplateRef.js"; -export * from "./GuidedDocumentContext.js"; -export * from "./GuidedDocumentFactMinimal.js"; -export * from "./GuidedDocumentRequest.js"; -export * from "./GuidedDocumentResponse.js"; -export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; -export * from "./GuidedDocumentTranscriptMinimal.js"; -export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; -export * from "./GuidedDynamicInline.js"; -export * from "./GuidedDynamicRequest.js"; -export * from "./GuidedGenerationResult.js"; -export * from "./GuidedGenerationResultUsage.js"; -export * from "./GuidedGenerationResultUsageTokenCount.js"; -export * from "./GuidedSectionOverride.js"; -export * from "./GuidedTemplateOverrides.js"; -export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -166,9 +143,7 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; -export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; -export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/src/serialization/types/ContextFacts.ts b/src/serialization/types/ContextFacts.ts deleted file mode 100644 index b0f75952..00000000 --- a/src/serialization/types/ContextFacts.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentFactMinimal } from "./GuidedDocumentFactMinimal.js"; - -export const ContextFacts: core.serialization.ObjectSchema = - core.serialization.object({ - type: core.serialization.stringLiteral("facts"), - fact: GuidedDocumentFactMinimal, - }); - -export declare namespace ContextFacts { - export interface Raw { - type: "facts"; - fact: GuidedDocumentFactMinimal.Raw; - } -} diff --git a/src/serialization/types/ContextText.ts b/src/serialization/types/ContextText.ts deleted file mode 100644 index e092f46b..00000000 --- a/src/serialization/types/ContextText.ts +++ /dev/null @@ -1,18 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const ContextText: core.serialization.ObjectSchema = - core.serialization.object({ - type: core.serialization.stringLiteral("text"), - text: core.serialization.string(), - }); - -export declare namespace ContextText { - export interface Raw { - type: "text"; - text: string; - } -} diff --git a/src/serialization/types/ContextTranscript.ts b/src/serialization/types/ContextTranscript.ts deleted file mode 100644 index 5c2eeffb..00000000 --- a/src/serialization/types/ContextTranscript.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentTranscriptMinimal } from "./GuidedDocumentTranscriptMinimal.js"; - -export const ContextTranscript: core.serialization.ObjectSchema< - serializers.ContextTranscript.Raw, - Corti.ContextTranscript -> = core.serialization.object({ - type: core.serialization.stringLiteral("transcript"), - transcript: GuidedDocumentTranscriptMinimal, -}); - -export declare namespace ContextTranscript { - export interface Raw { - type: "transcript"; - transcript: GuidedDocumentTranscriptMinimal.Raw; - } -} diff --git a/src/serialization/types/GuidedAssemblyRequest.ts b/src/serialization/types/GuidedAssemblyRequest.ts deleted file mode 100644 index 9a386d91..00000000 --- a/src/serialization/types/GuidedAssemblyRequest.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedAssemblySectionRef } from "./GuidedAssemblySectionRef.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedAssemblyRequest: core.serialization.ObjectSchema< - serializers.GuidedAssemblyRequest.Raw, - Corti.GuidedAssemblyRequest -> = core.serialization.object({ - name: core.serialization.string(), - language: core.serialization.string(), - instructions: TemplateInstructions.optional(), - sectionRefs: core.serialization.list(GuidedAssemblySectionRef), -}); - -export declare namespace GuidedAssemblyRequest { - export interface Raw { - name: string; - language: string; - instructions?: TemplateInstructions.Raw | null; - sectionRefs: GuidedAssemblySectionRef.Raw[]; - } -} diff --git a/src/serialization/types/GuidedAssemblySectionRef.ts b/src/serialization/types/GuidedAssemblySectionRef.ts deleted file mode 100644 index 303aa42d..00000000 --- a/src/serialization/types/GuidedAssemblySectionRef.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { SectionOverrides } from "./SectionOverrides.js"; - -export const GuidedAssemblySectionRef: core.serialization.ObjectSchema< - serializers.GuidedAssemblySectionRef.Raw, - Corti.GuidedAssemblySectionRef -> = core.serialization.object({ - sectionId: core.serialization.string(), - sectionVersionId: core.serialization.string().optionalNullable(), - overrides: SectionOverrides.optional(), -}); - -export declare namespace GuidedAssemblySectionRef { - export interface Raw { - sectionId: string; - sectionVersionId?: (string | null | undefined) | null; - overrides?: SectionOverrides.Raw | null; - } -} diff --git a/src/serialization/types/GuidedDocumentByAssembly.ts b/src/serialization/types/GuidedDocumentByAssembly.ts deleted file mode 100644 index 566d1fb5..00000000 --- a/src/serialization/types/GuidedDocumentByAssembly.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedAssemblyRequest } from "./GuidedAssemblyRequest.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; - -export const GuidedDocumentByAssembly: core.serialization.ObjectSchema< - serializers.GuidedDocumentByAssembly.Raw, - Corti.GuidedDocumentByAssembly -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - assemblyTemplate: GuidedAssemblyRequest, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByAssembly { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - assemblyTemplate: GuidedAssemblyRequest.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentByDynamic.ts b/src/serialization/types/GuidedDocumentByDynamic.ts deleted file mode 100644 index dd05584a..00000000 --- a/src/serialization/types/GuidedDocumentByDynamic.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; -import { GuidedDynamicRequest } from "./GuidedDynamicRequest.js"; - -export const GuidedDocumentByDynamic: core.serialization.ObjectSchema< - serializers.GuidedDocumentByDynamic.Raw, - Corti.GuidedDocumentByDynamic -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - dynamicTemplate: GuidedDynamicRequest, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByDynamic { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - dynamicTemplate: GuidedDynamicRequest.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentByTemplateRef.ts b/src/serialization/types/GuidedDocumentByTemplateRef.ts deleted file mode 100644 index 3268c1bb..00000000 --- a/src/serialization/types/GuidedDocumentByTemplateRef.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentContext } from "./GuidedDocumentContext.js"; -import { GuidedTemplateRef } from "./GuidedTemplateRef.js"; - -export const GuidedDocumentByTemplateRef: core.serialization.ObjectSchema< - serializers.GuidedDocumentByTemplateRef.Raw, - Corti.GuidedDocumentByTemplateRef -> = core.serialization.object({ - context: core.serialization.list(GuidedDocumentContext).optional(), - interactionId: core.serialization.string().optional(), - templateRef: GuidedTemplateRef, - outputLanguage: core.serialization.string(), -}); - -export declare namespace GuidedDocumentByTemplateRef { - export interface Raw { - context?: GuidedDocumentContext.Raw[] | null; - interactionId?: string | null; - templateRef: GuidedTemplateRef.Raw; - outputLanguage: string; - } -} diff --git a/src/serialization/types/GuidedDocumentContext.ts b/src/serialization/types/GuidedDocumentContext.ts deleted file mode 100644 index bc1ddfe4..00000000 --- a/src/serialization/types/GuidedDocumentContext.ts +++ /dev/null @@ -1,17 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { ContextFacts } from "./ContextFacts.js"; -import { ContextText } from "./ContextText.js"; -import { ContextTranscript } from "./ContextTranscript.js"; - -export const GuidedDocumentContext: core.serialization.Schema< - serializers.GuidedDocumentContext.Raw, - Corti.GuidedDocumentContext -> = core.serialization.undiscriminatedUnion([ContextText, ContextTranscript, ContextFacts]); - -export declare namespace GuidedDocumentContext { - export type Raw = ContextText.Raw | ContextTranscript.Raw | ContextFacts.Raw; -} diff --git a/src/serialization/types/GuidedDocumentFactMinimal.ts b/src/serialization/types/GuidedDocumentFactMinimal.ts deleted file mode 100644 index 2b3ddba2..00000000 --- a/src/serialization/types/GuidedDocumentFactMinimal.ts +++ /dev/null @@ -1,18 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedDocumentFactMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentFactMinimal.Raw, - Corti.GuidedDocumentFactMinimal -> = core.serialization.object({ - text: core.serialization.string(), -}); - -export declare namespace GuidedDocumentFactMinimal { - export interface Raw { - text: string; - } -} diff --git a/src/serialization/types/GuidedDocumentRequest.ts b/src/serialization/types/GuidedDocumentRequest.ts deleted file mode 100644 index 1b56a573..00000000 --- a/src/serialization/types/GuidedDocumentRequest.ts +++ /dev/null @@ -1,21 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentByAssembly } from "./GuidedDocumentByAssembly.js"; -import { GuidedDocumentByDynamic } from "./GuidedDocumentByDynamic.js"; -import { GuidedDocumentByTemplateRef } from "./GuidedDocumentByTemplateRef.js"; - -export const GuidedDocumentRequest: core.serialization.Schema< - serializers.GuidedDocumentRequest.Raw, - Corti.GuidedDocumentRequest -> = core.serialization.undiscriminatedUnion([ - GuidedDocumentByTemplateRef, - GuidedDocumentByAssembly, - GuidedDocumentByDynamic, -]); - -export declare namespace GuidedDocumentRequest { - export type Raw = GuidedDocumentByTemplateRef.Raw | GuidedDocumentByAssembly.Raw | GuidedDocumentByDynamic.Raw; -} diff --git a/src/serialization/types/GuidedDocumentResponse.ts b/src/serialization/types/GuidedDocumentResponse.ts deleted file mode 100644 index c5c3a8f3..00000000 --- a/src/serialization/types/GuidedDocumentResponse.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResult } from "./GuidedGenerationResult.js"; - -export const GuidedDocumentResponse: core.serialization.ObjectSchema< - serializers.GuidedDocumentResponse.Raw, - Corti.GuidedDocumentResponse -> = core.serialization.object({ - templateId: core.serialization.string(), - templateVersionId: core.serialization.string(), - result: GuidedGenerationResult, -}); - -export declare namespace GuidedDocumentResponse { - export interface Raw { - templateId: string; - templateVersionId: string; - result: GuidedGenerationResult.Raw; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts deleted file mode 100644 index bab8ae82..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptMetadataMinimal.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { TranscriptsParticipant } from "./TranscriptsParticipant.js"; - -export const GuidedDocumentTranscriptMetadataMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptMetadataMinimal.Raw, - Corti.GuidedDocumentTranscriptMetadataMinimal -> = core.serialization.object({ - participantsRoles: core.serialization.list(TranscriptsParticipant).optionalNullable(), -}); - -export declare namespace GuidedDocumentTranscriptMetadataMinimal { - export interface Raw { - participantsRoles?: (TranscriptsParticipant.Raw[] | null | undefined) | null; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptMinimal.ts deleted file mode 100644 index df8959a0..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptMinimal.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDocumentTranscriptMetadataMinimal } from "./GuidedDocumentTranscriptMetadataMinimal.js"; -import { GuidedDocumentTranscriptSegmentMinimal } from "./GuidedDocumentTranscriptSegmentMinimal.js"; - -export const GuidedDocumentTranscriptMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptMinimal.Raw, - Corti.GuidedDocumentTranscriptMinimal -> = core.serialization.object({ - metadata: GuidedDocumentTranscriptMetadataMinimal.optional(), - transcripts: core.serialization.list(GuidedDocumentTranscriptSegmentMinimal), -}); - -export declare namespace GuidedDocumentTranscriptMinimal { - export interface Raw { - metadata?: GuidedDocumentTranscriptMetadataMinimal.Raw | null; - transcripts: GuidedDocumentTranscriptSegmentMinimal.Raw[]; - } -} diff --git a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts b/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts deleted file mode 100644 index c0a15aa9..00000000 --- a/src/serialization/types/GuidedDocumentTranscriptSegmentMinimal.ts +++ /dev/null @@ -1,28 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedDocumentTranscriptSegmentMinimal: core.serialization.ObjectSchema< - serializers.GuidedDocumentTranscriptSegmentMinimal.Raw, - Corti.GuidedDocumentTranscriptSegmentMinimal -> = core.serialization.object({ - channel: core.serialization.number().optional(), - participant: core.serialization.number().optional(), - speakerId: core.serialization.number().optional(), - text: core.serialization.string(), - start: core.serialization.number().optional(), - end: core.serialization.number().optional(), -}); - -export declare namespace GuidedDocumentTranscriptSegmentMinimal { - export interface Raw { - channel?: number | null; - participant?: number | null; - speakerId?: number | null; - text: string; - start?: number | null; - end?: number | null; - } -} diff --git a/src/serialization/types/GuidedDynamicInline.ts b/src/serialization/types/GuidedDynamicInline.ts deleted file mode 100644 index 3f996825..00000000 --- a/src/serialization/types/GuidedDynamicInline.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { SectionGeneration } from "./SectionGeneration.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedDynamicInline: core.serialization.ObjectSchema< - serializers.GuidedDynamicInline.Raw, - Corti.GuidedDynamicInline -> = core.serialization.object({ - instructions: TemplateInstructions, - sections: core.serialization.list(SectionGeneration), -}); - -export declare namespace GuidedDynamicInline { - export interface Raw { - instructions: TemplateInstructions.Raw; - sections: SectionGeneration.Raw[]; - } -} diff --git a/src/serialization/types/GuidedDynamicRequest.ts b/src/serialization/types/GuidedDynamicRequest.ts deleted file mode 100644 index 8c85af35..00000000 --- a/src/serialization/types/GuidedDynamicRequest.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedDynamicInline } from "./GuidedDynamicInline.js"; - -export const GuidedDynamicRequest: core.serialization.ObjectSchema< - serializers.GuidedDynamicRequest.Raw, - Corti.GuidedDynamicRequest -> = core.serialization.object({ - name: core.serialization.string(), - language: core.serialization.string(), - generation: GuidedDynamicInline, -}); - -export declare namespace GuidedDynamicRequest { - export interface Raw { - name: string; - language: string; - generation: GuidedDynamicInline.Raw; - } -} diff --git a/src/serialization/types/GuidedGenerationResult.ts b/src/serialization/types/GuidedGenerationResult.ts deleted file mode 100644 index cb36ef1e..00000000 --- a/src/serialization/types/GuidedGenerationResult.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResultUsage } from "./GuidedGenerationResultUsage.js"; - -export const GuidedGenerationResult: core.serialization.ObjectSchema< - serializers.GuidedGenerationResult.Raw, - Corti.GuidedGenerationResult -> = core.serialization.object({ - stringDocument: core.serialization.record(core.serialization.string(), core.serialization.string()).optional(), - structuredDocument: core.serialization - .record(core.serialization.string(), core.serialization.unknown()) - .optionalNullable(), - usage: GuidedGenerationResultUsage.optional(), -}); - -export declare namespace GuidedGenerationResult { - export interface Raw { - stringDocument?: Record | null; - structuredDocument?: (Record | null | undefined) | null; - usage?: GuidedGenerationResultUsage.Raw | null; - } -} diff --git a/src/serialization/types/GuidedGenerationResultUsage.ts b/src/serialization/types/GuidedGenerationResultUsage.ts deleted file mode 100644 index 80aeb686..00000000 --- a/src/serialization/types/GuidedGenerationResultUsage.ts +++ /dev/null @@ -1,19 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedGenerationResultUsageTokenCount } from "./GuidedGenerationResultUsageTokenCount.js"; - -export const GuidedGenerationResultUsage: core.serialization.ObjectSchema< - serializers.GuidedGenerationResultUsage.Raw, - Corti.GuidedGenerationResultUsage -> = core.serialization.object({ - tokenCount: core.serialization.property("token_count", GuidedGenerationResultUsageTokenCount.optional()), -}); - -export declare namespace GuidedGenerationResultUsage { - export interface Raw { - token_count?: GuidedGenerationResultUsageTokenCount.Raw | null; - } -} diff --git a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts b/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts deleted file mode 100644 index 0b1c21f1..00000000 --- a/src/serialization/types/GuidedGenerationResultUsageTokenCount.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const GuidedGenerationResultUsageTokenCount: core.serialization.ObjectSchema< - serializers.GuidedGenerationResultUsageTokenCount.Raw, - Corti.GuidedGenerationResultUsageTokenCount -> = core.serialization.object({ - input: core.serialization.number().optional(), - output: core.serialization.number().optional(), -}); - -export declare namespace GuidedGenerationResultUsageTokenCount { - export interface Raw { - input?: number | null; - output?: number | null; - } -} diff --git a/src/serialization/types/GuidedSectionOverride.ts b/src/serialization/types/GuidedSectionOverride.ts deleted file mode 100644 index f41e169a..00000000 --- a/src/serialization/types/GuidedSectionOverride.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; -import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; - -export const GuidedSectionOverride: core.serialization.ObjectSchema< - serializers.GuidedSectionOverride.Raw, - Corti.GuidedSectionOverride -> = core.serialization.object({ - sectionId: core.serialization.string(), - title: core.serialization.string().optionalNullable(), - instructions: SectionInstructionsOverride.optional(), - outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), -}); - -export declare namespace GuidedSectionOverride { - export interface Raw { - sectionId: string; - title?: (string | null | undefined) | null; - instructions?: SectionInstructionsOverride.Raw | null; - outputSchema?: serializers.OutputSchema.Raw | null; - } -} diff --git a/src/serialization/types/GuidedTemplateOverrides.ts b/src/serialization/types/GuidedTemplateOverrides.ts deleted file mode 100644 index b0be800f..00000000 --- a/src/serialization/types/GuidedTemplateOverrides.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedSectionOverride } from "./GuidedSectionOverride.js"; -import { TemplateInstructions } from "./TemplateInstructions.js"; - -export const GuidedTemplateOverrides: core.serialization.ObjectSchema< - serializers.GuidedTemplateOverrides.Raw, - Corti.GuidedTemplateOverrides -> = core.serialization.object({ - instructions: TemplateInstructions.optional(), - sections: core.serialization.list(GuidedSectionOverride).optional(), -}); - -export declare namespace GuidedTemplateOverrides { - export interface Raw { - instructions?: TemplateInstructions.Raw | null; - sections?: GuidedSectionOverride.Raw[] | null; - } -} diff --git a/src/serialization/types/GuidedTemplateRef.ts b/src/serialization/types/GuidedTemplateRef.ts deleted file mode 100644 index b8b1744c..00000000 --- a/src/serialization/types/GuidedTemplateRef.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; -import { GuidedTemplateOverrides } from "./GuidedTemplateOverrides.js"; - -export const GuidedTemplateRef: core.serialization.ObjectSchema< - serializers.GuidedTemplateRef.Raw, - Corti.GuidedTemplateRef -> = core.serialization.object({ - templateId: core.serialization.string(), - templateVersionId: core.serialization.string().optionalNullable(), - overrides: GuidedTemplateOverrides.optional(), -}); - -export declare namespace GuidedTemplateRef { - export interface Raw { - templateId: string; - templateVersionId?: (string | null | undefined) | null; - overrides?: GuidedTemplateOverrides.Raw | null; - } -} diff --git a/src/serialization/types/SectionInstructionsOverride.ts b/src/serialization/types/SectionInstructionsOverride.ts deleted file mode 100644 index d33fa8d7..00000000 --- a/src/serialization/types/SectionInstructionsOverride.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import type * as serializers from "../index.js"; - -export const SectionInstructionsOverride: core.serialization.ObjectSchema< - serializers.SectionInstructionsOverride.Raw, - Corti.SectionInstructionsOverride -> = core.serialization.object({ - contentPrompt: core.serialization.string().optional(), - writingStylePrompt: core.serialization.string().optional(), -}); - -export declare namespace SectionInstructionsOverride { - export interface Raw { - contentPrompt?: string | null; - writingStylePrompt?: string | null; - } -} diff --git a/src/serialization/types/SectionOverrides.ts b/src/serialization/types/SectionOverrides.ts deleted file mode 100644 index 5fcb6700..00000000 --- a/src/serialization/types/SectionOverrides.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Corti from "../../api/index.js"; -import * as core from "../../core/index.js"; -import * as serializers from "../index.js"; -import { SectionInstructionsOverride } from "./SectionInstructionsOverride.js"; - -export const SectionOverrides: core.serialization.ObjectSchema< - serializers.SectionOverrides.Raw, - Corti.SectionOverrides -> = core.serialization.object({ - title: core.serialization.string().optionalNullable(), - instructions: SectionInstructionsOverride.optional(), - outputSchema: core.serialization.lazy(() => serializers.OutputSchema).optional(), -}); - -export declare namespace SectionOverrides { - export interface Raw { - title?: (string | null | undefined) | null; - instructions?: SectionInstructionsOverride.Raw | null; - outputSchema?: serializers.OutputSchema.Raw | null; - } -} diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts index 26bc8fc4..7770f431 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -76,9 +76,6 @@ export * from "./CommonTextContextType.js"; export * from "./CommonTranscriptRequest.js"; export * from "./CommonTranscriptResponse.js"; export * from "./CommonUsageInfo.js"; -export * from "./ContextFacts.js"; -export * from "./ContextText.js"; -export * from "./ContextTranscript.js"; export * from "./CreateSectionBase.js"; export * from "./CreateSectionFromInheritanceRequest.js"; export * from "./CreateSectionFromScratchRequest.js"; @@ -125,26 +122,6 @@ export * from "./FactsListItem.js"; export * from "./FactsListResponse.js"; export * from "./FactsUpdateResponse.js"; export * from "./FieldDefinition.js"; -export * from "./GuidedAssemblyRequest.js"; -export * from "./GuidedAssemblySectionRef.js"; -export * from "./GuidedDocumentByAssembly.js"; -export * from "./GuidedDocumentByDynamic.js"; -export * from "./GuidedDocumentByTemplateRef.js"; -export * from "./GuidedDocumentContext.js"; -export * from "./GuidedDocumentFactMinimal.js"; -export * from "./GuidedDocumentRequest.js"; -export * from "./GuidedDocumentResponse.js"; -export * from "./GuidedDocumentTranscriptMetadataMinimal.js"; -export * from "./GuidedDocumentTranscriptMinimal.js"; -export * from "./GuidedDocumentTranscriptSegmentMinimal.js"; -export * from "./GuidedDynamicInline.js"; -export * from "./GuidedDynamicRequest.js"; -export * from "./GuidedGenerationResult.js"; -export * from "./GuidedGenerationResultUsage.js"; -export * from "./GuidedGenerationResultUsageTokenCount.js"; -export * from "./GuidedSectionOverride.js"; -export * from "./GuidedTemplateOverrides.js"; -export * from "./GuidedTemplateRef.js"; export * from "./InteractionsCreateResponse.js"; export * from "./InteractionsEncounterCreateRequest.js"; export * from "./InteractionsEncounterPeriod.js"; @@ -166,9 +143,7 @@ export * from "./Section.js"; export * from "./SectionGeneration.js"; export * from "./SectionGenerationPartial.js"; export * from "./SectionInstructions.js"; -export * from "./SectionInstructionsOverride.js"; export * from "./SectionInstructionsPartial.js"; -export * from "./SectionOverrides.js"; export * from "./SectionVersion.js"; export * from "./StatusResponse.js"; export * from "./StreamConfig.js"; diff --git a/tests/wire/alphaDocuments.test.ts b/tests/wire/alphaDocuments.test.ts index 0224848b..de9072e4 100644 --- a/tests/wire/alphaDocuments.test.ts +++ b/tests/wire/alphaDocuments.test.ts @@ -1,12 +1,11 @@ // This file was auto-generated by Fern from our API Definition. -import * as Corti from "../../src/api/index"; import { CortiClient } from "../../src/Client"; import { mockServerPool } from "../mock-server/MockServerPool"; import { mockOAuth } from "./mockAuth"; describe("AlphaDocumentsClient", () => { - test("generate (1)", async () => { + test("generate", async () => { const server = mockServerPool.createServer(); mockOAuth(server); @@ -17,171 +16,10 @@ describe("AlphaDocumentsClient", () => { tenantName: "test", environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { - templateId: "templateId", - templateVersionId: "templateVersionId", - result: { stringDocument: { key: "value" }, structuredDocument: { key: "value" } }, - }; - server - .mockEndpoint() - .post("/alpha/documents") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().post("/alpha/documents").respondWith().statusCode(200).build(); - const response = await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", - }); - expect(response).toEqual({ - templateId: "templateId", - templateVersionId: "templateVersionId", - result: { - stringDocument: { - key: "value", - }, - structuredDocument: { - key: "value", - }, - }, - }); - }); - - test("generate (2)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/documents") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(400) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", - }); - }).rejects.toThrow(Corti.BadRequestError); - }); - - test("generate (3)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/documents") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(404) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", - }); - }).rejects.toThrow(Corti.NotFoundError); - }); - - test("generate (4)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { key: "value" }; - - server - .mockEndpoint() - .post("/alpha/documents") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(422) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", - }); - }).rejects.toThrow(Corti.UnprocessableEntityError); - }); - - test("generate (5)", async () => { - const server = mockServerPool.createServer(); - mockOAuth(server); - - const client = new CortiClient({ - maxRetries: 0, - clientId: "client_id", - clientSecret: "client_secret", - tenantName: "test", - environment: { base: server.baseUrl, wss: server.baseUrl, login: server.baseUrl, agents: server.baseUrl }, - }); - const rawRequestBody = { templateRef: { templateId: "templateId" }, outputLanguage: "outputLanguage" }; - const rawResponseBody = { requestid: "requestid", status: 1, type: "type", detail: "detail" }; - - server - .mockEndpoint() - .post("/alpha/documents") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(502) - .jsonBody(rawResponseBody) - .build(); - - await expect(async () => { - return await client.alphaDocuments.generate({ - templateRef: { - templateId: "templateId", - }, - outputLanguage: "outputLanguage", - }); - }).rejects.toThrow(Corti.BadGatewayError); + const response = await client.alphaDocuments.generate(); + expect(response).toEqual(undefined); }); }); From afe66ea7ed9c1e013a6606e116f47d360dcba33a Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:24:35 +0000 Subject: [PATCH 41/44] SDK regeneration --- .fern/metadata.json | 2 +- src/api/resources/alphaSectionVersions/client/Client.ts | 2 ++ src/api/resources/alphaSections/client/Client.ts | 2 ++ src/api/resources/alphaTemplateVersions/client/Client.ts | 2 ++ src/api/resources/alphaTemplates/client/Client.ts | 2 ++ src/api/types/CreateSectionBase.ts | 2 +- src/api/types/Template.ts | 2 +- 7 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 71d6068b..a057073e 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "cf2f54619dcfff1ac2ef3d5b55d0a0da6bb7b618", + "originGitCommit": "3a3f122cd02f77c2e9105212d47056d60ed49ec5", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/resources/alphaSectionVersions/client/Client.ts b/src/api/resources/alphaSectionVersions/client/Client.ts index 29bfb9bd..a0bd2ac6 100644 --- a/src/api/resources/alphaSectionVersions/client/Client.ts +++ b/src/api/resources/alphaSectionVersions/client/Client.ts @@ -274,6 +274,8 @@ export class AlphaSectionVersionsClient { } /** + * Currently published version cannot be deleted. Last remaining version can be deleted, simply create a new section version again if needed. + * * @param {string} sectionID * @param {string} versionID * @param {AlphaSectionVersionsClient.RequestOptions} requestOptions - Request-specific configuration. diff --git a/src/api/resources/alphaSections/client/Client.ts b/src/api/resources/alphaSections/client/Client.ts index 10bf4cb7..105668da 100644 --- a/src/api/resources/alphaSections/client/Client.ts +++ b/src/api/resources/alphaSections/client/Client.ts @@ -253,6 +253,8 @@ export class AlphaSectionsClient { } /** + * Delete section + * * @param {string} sectionID * @param {AlphaSectionsClient.RequestOptions} requestOptions - Request-specific configuration. * diff --git a/src/api/resources/alphaTemplateVersions/client/Client.ts b/src/api/resources/alphaTemplateVersions/client/Client.ts index c4d77f01..e7522771 100644 --- a/src/api/resources/alphaTemplateVersions/client/Client.ts +++ b/src/api/resources/alphaTemplateVersions/client/Client.ts @@ -272,6 +272,8 @@ export class AlphaTemplateVersionsClient { } /** + * A published version cannot be deleted. When deleting a last remaining version of a template, simply create a new version again if needed. + * * @param {string} templateID * @param {string} versionID * @param {AlphaTemplateVersionsClient.RequestOptions} requestOptions - Request-specific configuration. diff --git a/src/api/resources/alphaTemplates/client/Client.ts b/src/api/resources/alphaTemplates/client/Client.ts index 41a37c53..e2dc8271 100644 --- a/src/api/resources/alphaTemplates/client/Client.ts +++ b/src/api/resources/alphaTemplates/client/Client.ts @@ -249,6 +249,8 @@ export class AlphaTemplatesClient { } /** + * Deletes a template and its versions. + * * @param {string} templateID * @param {AlphaTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * diff --git a/src/api/types/CreateSectionBase.ts b/src/api/types/CreateSectionBase.ts index 2514e078..42104bbf 100644 --- a/src/api/types/CreateSectionBase.ts +++ b/src/api/types/CreateSectionBase.ts @@ -3,7 +3,7 @@ export interface CreateSectionBase { /** A human-readable identifier for this section. Not passed to the LLM. */ name: string; - /** The intended language for outputs as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ + /** The intended language for outputs as BCP 47 tag. Informational metadata only. The final output language is determined by outputLanguage in the POST /documents request. */ language: string; /** A description for this section. Not passed to the LLM. */ description?: string; diff --git a/src/api/types/Template.ts b/src/api/types/Template.ts index bd6525ad..515ea47d 100644 --- a/src/api/types/Template.ts +++ b/src/api/types/Template.ts @@ -13,7 +13,7 @@ export interface Template { name: string; /** A description for this template. Not passed to the LLM. */ description?: string; - /** The intended language as BCP 47 tag. Does not strictly have to match outputLanguage in POST /documents request. */ + /** The intended language as BCP 47 tag. Informational metadata only. The final output language is determined by outputLanguage in the POST /documents request. */ language: string; /** The available labels to use as query param filter in the LIST /templates endpoint. */ labels: string[]; From 526e4ee410efc61f06b2857268e52694e75ad16e Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:27:33 +0000 Subject: [PATCH 42/44] SDK regeneration --- .fern/metadata.json | 2 +- src/api/types/CreateTemplateBase.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index a057073e..71df77e0 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "3a3f122cd02f77c2e9105212d47056d60ed49ec5", + "originGitCommit": "76fabda2d592b0d9ae84c5f400e38a2912a0f639", "sdkVersion": "0.0.0-dev" } diff --git a/src/api/types/CreateTemplateBase.ts b/src/api/types/CreateTemplateBase.ts index bd283586..40c32884 100644 --- a/src/api/types/CreateTemplateBase.ts +++ b/src/api/types/CreateTemplateBase.ts @@ -5,7 +5,7 @@ export interface CreateTemplateBase { name: string; /** A description for this template. Not passed to the LLM. */ description?: string; - /** The intended language for outputs as BCP 47 tag. Does not strictly have to match `outputLanguage` in POST /documents request. */ + /** The intended language for outputs as BCP 47 tag. Informational metadata only. The final output language is determined by outputLanguage in the POST /documents request. */ language: string; /** Labels work as query param filter in the LIST /templates endpoint. */ labels?: string[]; From ac0e2a16d658bfce9d7784955f583e148763cbdf Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:30:40 +0000 Subject: [PATCH 43/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 71df77e0..5bd347a8 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "76fabda2d592b0d9ae84c5f400e38a2912a0f639", + "originGitCommit": "ec2085057913abc4d11d4ffddaa35c0f76605457", "sdkVersion": "0.0.0-dev" } From 4624ac1dda035580c1410a2b96dc22cfe74857b5 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 09:41:12 +0000 Subject: [PATCH 44/44] SDK regeneration --- .fern/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fern/metadata.json b/.fern/metadata.json index 5bd347a8..c3346184 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -34,6 +34,6 @@ } } }, - "originGitCommit": "ec2085057913abc4d11d4ffddaa35c0f76605457", + "originGitCommit": "d2d0dc77f42a7e837cee698d1a16ce6b3416bda9", "sdkVersion": "0.0.0-dev" }