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