diff --git a/.fern/metadata.json b/.fern/metadata.json
index 9d76c5ac..5cc8c89c 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -53,10 +53,10 @@
]
}
},
- "originGitCommit": "86a4c45d14847babf70751d87de4da7764ecd894",
+ "originGitCommit": "340529eacf4f1dcc5522e771872c1dd94b9c4891",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
- "requestedVersion": "1.5.5",
+ "requestedVersion": "1.5.6",
"ciProvider": "github",
- "sdkVersion": "1.5.5"
+ "sdkVersion": "1.5.6"
}
diff --git a/.fern/replay.lock b/.fern/replay.lock
index b8cb9bbe..5fa59a8a 100644
--- a/.fern/replay.lock
+++ b/.fern/replay.lock
@@ -24,5 +24,11 @@ generations:
cli_version: unknown
generator_versions:
fernapi/fern-typescript-node-sdk: 3.70.7
-current_generation: 690e2a4195915e188edcdfd7c7c92e3e4b8d45c0
+ - commit_sha: 88adb21b6ea180113400c8518ae988b38175895c
+ tree_hash: 7141f6088a4e5ee9b0c6b14a4dc75027f38b5afb
+ timestamp: 2026-07-27T18:02:49.807Z
+ cli_version: unknown
+ generator_versions:
+ fernapi/fern-typescript-node-sdk: 3.70.7
+current_generation: 88adb21b6ea180113400c8518ae988b38175895c
patches: []
diff --git a/package.json b/package.json
index 37c1e2b6..c0124ab9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@schematichq/schematic-typescript-node",
- "version": "1.5.5",
+ "version": "1.5.6",
"private": false,
"repository": {
"type": "git",
diff --git a/reference.md b/reference.md
index 0fd29f53..913aff48 100644
--- a/reference.md
+++ b/reference.md
@@ -57,6 +57,7 @@ await client.getCreditLedger();
await client.accounts.listAccountMembers({
ids: ["ids"],
q: "q",
+ role: "admin",
limit: 1000000,
offset: 1000000
});
@@ -160,6 +161,7 @@ await client.accounts.getAccountMember("account_member_id");
await client.accounts.countAccountMembers({
ids: ["ids"],
q: "q",
+ role: "admin",
limit: 1000000,
offset: 1000000
});
@@ -4950,6 +4952,117 @@ await client.checkout.previewCheckoutInternal({
+
+
+
+
+client.checkout.getCompanyBillingDetails(company_id) -> Schematic.GetCompanyBillingDetailsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.checkout.getCompanyBillingDetails("company_id");
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**company_id:** `string` — company_id
+
+
+
+
+
+-
+
+**requestOptions:** `CheckoutClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.checkout.updateCompanyBillingDetails(company_id, { ...params }) -> Schematic.UpdateCompanyBillingDetailsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [{
+ id: "id",
+ value: "value"
+ }]
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**company_id:** `string` — company_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdateCompanyBillingDetailsRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `CheckoutClient.RequestOptions`
+
+
+
+
+
+
+
@@ -12316,6 +12429,166 @@ await client.integrationsapi.uninstallIntegration("integration_id");
+
+
+
+
+## licenses
+client.licenses.listLicenses({ ...params }) -> Schematic.ListLicensesResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.licenses.listLicenses({
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ name: "name",
+ limit: 1000000,
+ offset: 1000000
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListLicensesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `LicensesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.licenses.getSingleLicense(license_id) -> Schematic.GetSingleLicenseResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.licenses.getSingleLicense("license_id");
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**license_id:** `string` — license_id
+
+
+
+
+
+-
+
+**requestOptions:** `LicensesClient.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+
+client.licenses.countLicenses({ ...params }) -> Schematic.CountLicensesResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.licenses.countLicenses({
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ name: "name",
+ limit: 1000000,
+ offset: 1000000
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountLicensesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `LicensesClient.RequestOptions`
+
+
+
+
+
+
+
@@ -12959,6 +13232,60 @@ await client.planmigrations.countMigrations({
+
+
+
+
+client.planmigrations.previewMigration({ ...params }) -> Schematic.PreviewMigrationResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.planmigrations.previewMigration({
+ companyIds: ["company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan"
+});
+
+```
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.PreviewMigrationRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `PlanmigrationsClient.RequestOptions`
+
+
+
+
+
+
+
diff --git a/src/BaseClient.ts b/src/BaseClient.ts
index 833d5b4e..7bca48ea 100644
--- a/src/BaseClient.ts
+++ b/src/BaseClient.ts
@@ -60,8 +60,8 @@ export function normalizeClientOptions> {
- const { ids, q, limit, offset } = request;
+ const { ids, q, role, limit, offset } = request;
const _queryParams: Record = {
ids,
q,
+ role:
+ role != null
+ ? serializers.AccountMemberRole.jsonOrThrow(role, { unrecognizedObjectKeys: "strip" })
+ : undefined,
limit,
offset,
};
@@ -302,6 +307,7 @@ export class AccountsClient {
* await client.accounts.countAccountMembers({
* ids: ["ids"],
* q: "q",
+ * role: "admin",
* limit: 1000000,
* offset: 1000000
* })
@@ -317,10 +323,14 @@ export class AccountsClient {
request: Schematic.CountAccountMembersRequest = {},
requestOptions?: AccountsClient.RequestOptions,
): Promise> {
- const { ids, q, limit, offset } = request;
+ const { ids, q, role, limit, offset } = request;
const _queryParams: Record = {
ids,
q,
+ role:
+ role != null
+ ? serializers.AccountMemberRole.jsonOrThrow(role, { unrecognizedObjectKeys: "strip" })
+ : undefined,
limit,
offset,
};
diff --git a/src/api/resources/accounts/client/requests/CountAccountMembersRequest.ts b/src/api/resources/accounts/client/requests/CountAccountMembersRequest.ts
index 9067b98d..35e1a1e2 100644
--- a/src/api/resources/accounts/client/requests/CountAccountMembersRequest.ts
+++ b/src/api/resources/accounts/client/requests/CountAccountMembersRequest.ts
@@ -1,10 +1,13 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Schematic from "../../../../index";
+
/**
* @example
* {
* ids: ["ids"],
* q: "q",
+ * role: "admin",
* limit: 1000000,
* offset: 1000000
* }
@@ -13,6 +16,8 @@ export interface CountAccountMembersRequest {
ids?: string | string[];
/** Search filter */
q?: string;
+ /** Filter by member role */
+ role?: Schematic.AccountMemberRole;
/** Page limit (default 100) */
limit?: number;
/** Page offset (default 0) */
diff --git a/src/api/resources/accounts/client/requests/ListAccountMembersRequest.ts b/src/api/resources/accounts/client/requests/ListAccountMembersRequest.ts
index 038208dd..0860fc4a 100644
--- a/src/api/resources/accounts/client/requests/ListAccountMembersRequest.ts
+++ b/src/api/resources/accounts/client/requests/ListAccountMembersRequest.ts
@@ -1,10 +1,13 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Schematic from "../../../../index";
+
/**
* @example
* {
* ids: ["ids"],
* q: "q",
+ * role: "admin",
* limit: 1000000,
* offset: 1000000
* }
@@ -13,6 +16,8 @@ export interface ListAccountMembersRequest {
ids?: string | string[];
/** Search filter */
q?: string;
+ /** Filter by member role */
+ role?: Schematic.AccountMemberRole;
/** Page limit (default 100) */
limit?: number;
/** Page offset (default 0) */
diff --git a/src/api/resources/accounts/types/CountAccountMembersParams.ts b/src/api/resources/accounts/types/CountAccountMembersParams.ts
index a71e9b9b..c997c48a 100644
--- a/src/api/resources/accounts/types/CountAccountMembersParams.ts
+++ b/src/api/resources/accounts/types/CountAccountMembersParams.ts
@@ -1,5 +1,7 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Schematic from "../../../index";
+
/**
* Input parameters
*/
@@ -11,4 +13,6 @@ export interface CountAccountMembersParams {
offset?: number;
/** Search filter */
q?: string;
+ /** Filter by member role */
+ role?: Schematic.AccountMemberRole;
}
diff --git a/src/api/resources/accounts/types/ListAccountMembersParams.ts b/src/api/resources/accounts/types/ListAccountMembersParams.ts
index 2b3f68de..4f2fc38b 100644
--- a/src/api/resources/accounts/types/ListAccountMembersParams.ts
+++ b/src/api/resources/accounts/types/ListAccountMembersParams.ts
@@ -1,5 +1,7 @@
// This file was auto-generated by Fern from our API Definition.
+import type * as Schematic from "../../../index";
+
/**
* Input parameters
*/
@@ -11,4 +13,6 @@ export interface ListAccountMembersParams {
offset?: number;
/** Search filter */
q?: string;
+ /** Filter by member role */
+ role?: Schematic.AccountMemberRole;
}
diff --git a/src/api/resources/checkout/client/Client.ts b/src/api/resources/checkout/client/Client.ts
index 47724ee7..83b91b04 100644
--- a/src/api/resources/checkout/client/Client.ts
+++ b/src/api/resources/checkout/client/Client.ts
@@ -470,6 +470,275 @@ export class CheckoutClient {
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/checkout-internal/preview");
}
+ /**
+ * @param {string} company_id - company_id
+ * @param {CheckoutClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.checkout.getCompanyBillingDetails("company_id")
+ */
+ public getCompanyBillingDetails(
+ company_id: string,
+ requestOptions?: CheckoutClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__getCompanyBillingDetails(company_id, requestOptions));
+ }
+
+ private async __getCompanyBillingDetails(
+ company_id: string,
+ requestOptions?: CheckoutClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ `companies/${core.url.encodePathParam(company_id)}/billing-details`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
+ 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.GetCompanyBillingDetailsResponse.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 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "GET",
+ "/companies/{company_id}/billing-details",
+ );
+ }
+
+ /**
+ * @param {string} company_id - company_id
+ * @param {Schematic.UpdateCompanyBillingDetailsRequestBody} request
+ * @param {CheckoutClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.BadRequestError}
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.checkout.updateCompanyBillingDetails("company_id", {
+ * values: [{
+ * id: "id",
+ * value: "value"
+ * }]
+ * })
+ */
+ public updateCompanyBillingDetails(
+ company_id: string,
+ request: Schematic.UpdateCompanyBillingDetailsRequestBody,
+ requestOptions?: CheckoutClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(
+ this.__updateCompanyBillingDetails(company_id, request, requestOptions),
+ );
+ }
+
+ private async __updateCompanyBillingDetails(
+ company_id: string,
+ request: Schematic.UpdateCompanyBillingDetailsRequestBody,
+ requestOptions?: CheckoutClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ `companies/${core.url.encodePathParam(company_id)}/billing-details`,
+ ),
+ method: "PUT",
+ headers: _headers,
+ contentType: "application/json",
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
+ requestType: "json",
+ body: serializers.UpdateCompanyBillingDetailsRequestBody.jsonOrThrow(request, {
+ unrecognizedObjectKeys: "strip",
+ }),
+ 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.UpdateCompanyBillingDetailsResponse.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 Schematic.BadRequestError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "PUT",
+ "/companies/{company_id}/billing-details",
+ );
+ }
+
/**
* @param {Schematic.ManagePlanRequest} request
* @param {CheckoutClient.RequestOptions} requestOptions - Request-specific configuration.
diff --git a/src/api/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts b/src/api/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts
new file mode 100644
index 00000000..a62ad52e
--- /dev/null
+++ b/src/api/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../index";
+
+/**
+ * @example
+ * {
+ * values: [{
+ * id: "id",
+ * value: "value"
+ * }]
+ * }
+ */
+export interface UpdateCompanyBillingDetailsRequestBody {
+ address?: Schematic.CustomerBillingAddress;
+ email?: string;
+ phone?: string;
+ values: Schematic.CheckoutFieldValue[];
+}
diff --git a/src/api/resources/checkout/client/requests/index.ts b/src/api/resources/checkout/client/requests/index.ts
index a7e95d14..9e841a39 100644
--- a/src/api/resources/checkout/client/requests/index.ts
+++ b/src/api/resources/checkout/client/requests/index.ts
@@ -1,3 +1,4 @@
export type { CancelSubscriptionRequest } from "./CancelSubscriptionRequest";
export type { CheckoutDataRequestBody } from "./CheckoutDataRequestBody";
+export type { UpdateCompanyBillingDetailsRequestBody } from "./UpdateCompanyBillingDetailsRequestBody";
export type { UpdateTrialEndRequestBody } from "./UpdateTrialEndRequestBody";
diff --git a/src/api/resources/checkout/types/GetCompanyBillingDetailsResponse.ts b/src/api/resources/checkout/types/GetCompanyBillingDetailsResponse.ts
new file mode 100644
index 00000000..597b1cf8
--- /dev/null
+++ b/src/api/resources/checkout/types/GetCompanyBillingDetailsResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface GetCompanyBillingDetailsResponse {
+ data: Schematic.CompanyBillingDetailsResponseData;
+ /** Input parameters */
+ params: Record;
+}
diff --git a/src/api/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts b/src/api/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts
new file mode 100644
index 00000000..3d2a0fda
--- /dev/null
+++ b/src/api/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface UpdateCompanyBillingDetailsResponse {
+ data: Schematic.CompanyBillingDetailsResponseData;
+ /** Input parameters */
+ params: Record;
+}
diff --git a/src/api/resources/checkout/types/index.ts b/src/api/resources/checkout/types/index.ts
index c59f149c..31c95508 100644
--- a/src/api/resources/checkout/types/index.ts
+++ b/src/api/resources/checkout/types/index.ts
@@ -1,7 +1,9 @@
export * from "./CancelSubscriptionResponse";
export * from "./CheckoutInternalResponse";
export * from "./GetCheckoutDataResponse";
+export * from "./GetCompanyBillingDetailsResponse";
export * from "./ManagePlanResponse";
export * from "./PreviewCheckoutInternalResponse";
export * from "./PreviewManagePlanResponse";
+export * from "./UpdateCompanyBillingDetailsResponse";
export * from "./UpdateCustomerSubscriptionTrialEndResponse";
diff --git a/src/api/resources/index.ts b/src/api/resources/index.ts
index c9af1325..49751ec3 100644
--- a/src/api/resources/index.ts
+++ b/src/api/resources/index.ts
@@ -42,6 +42,9 @@ export * from "./insights/types";
export * as integrationsapi from "./integrationsapi";
export * from "./integrationsapi/client/requests";
export * from "./integrationsapi/types";
+export * as licenses from "./licenses";
+export * from "./licenses/client/requests";
+export * from "./licenses/types";
export * as planbundle from "./planbundle";
export * from "./planbundle/client/requests";
export * from "./planbundle/types";
diff --git a/src/api/resources/licenses/client/Client.ts b/src/api/resources/licenses/client/Client.ts
new file mode 100644
index 00000000..c194700e
--- /dev/null
+++ b/src/api/resources/licenses/client/Client.ts
@@ -0,0 +1,433 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient";
+import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient";
+import * as core from "../../../../core";
+import { mergeHeaders } from "../../../../core/headers";
+import * as environments from "../../../../environments";
+import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError";
+import * as errors from "../../../../errors/index";
+import * as serializers from "../../../../serialization/index";
+import * as Schematic from "../../../index";
+
+export declare namespace LicensesClient {
+ export type Options = BaseClientOptions;
+
+ export interface RequestOptions extends BaseRequestOptions {}
+}
+
+export class LicensesClient {
+ protected readonly _options: NormalizedClientOptionsWithAuth;
+
+ constructor(options: LicensesClient.Options) {
+ this._options = normalizeClientOptionsWithAuth(options);
+ }
+
+ /**
+ * @param {Schematic.ListLicensesRequest} request
+ * @param {LicensesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.BadRequestError}
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.licenses.listLicenses({
+ * featureIds: ["feature_ids"],
+ * ids: ["ids"],
+ * name: "name",
+ * limit: 1000000,
+ * offset: 1000000
+ * })
+ */
+ public listLicenses(
+ request: Schematic.ListLicensesRequest = {},
+ requestOptions?: LicensesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__listLicenses(request, requestOptions));
+ }
+
+ private async __listLicenses(
+ request: Schematic.ListLicensesRequest = {},
+ requestOptions?: LicensesClient.RequestOptions,
+ ): Promise> {
+ const { featureIds, ids, name, limit, offset } = request;
+ const _queryParams: Record = {
+ feature_ids: featureIds,
+ ids,
+ name,
+ limit,
+ offset,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ "licenses",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryString: core.url
+ .queryBuilder()
+ .addMany(_queryParams)
+ .mergeAdditional(requestOptions?.queryParams)
+ .build(),
+ 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.ListLicensesResponse.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 Schematic.BadRequestError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/licenses");
+ }
+
+ /**
+ * @param {string} license_id - license_id
+ * @param {LicensesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.licenses.getSingleLicense("license_id")
+ */
+ public getSingleLicense(
+ license_id: string,
+ requestOptions?: LicensesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__getSingleLicense(license_id, requestOptions));
+ }
+
+ private async __getSingleLicense(
+ license_id: string,
+ requestOptions?: LicensesClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ `licenses/${core.url.encodePathParam(license_id)}`,
+ ),
+ method: "GET",
+ headers: _headers,
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
+ 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.GetSingleLicenseResponse.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 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/licenses/{license_id}");
+ }
+
+ /**
+ * @param {Schematic.CountLicensesRequest} request
+ * @param {LicensesClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.BadRequestError}
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.licenses.countLicenses({
+ * featureIds: ["feature_ids"],
+ * ids: ["ids"],
+ * name: "name",
+ * limit: 1000000,
+ * offset: 1000000
+ * })
+ */
+ public countLicenses(
+ request: Schematic.CountLicensesRequest = {},
+ requestOptions?: LicensesClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__countLicenses(request, requestOptions));
+ }
+
+ private async __countLicenses(
+ request: Schematic.CountLicensesRequest = {},
+ requestOptions?: LicensesClient.RequestOptions,
+ ): Promise> {
+ const { featureIds, ids, name, limit, offset } = request;
+ const _queryParams: Record = {
+ feature_ids: featureIds,
+ ids,
+ name,
+ limit,
+ offset,
+ };
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ "licenses/count",
+ ),
+ method: "GET",
+ headers: _headers,
+ queryString: core.url
+ .queryBuilder()
+ .addMany(_queryParams)
+ .mergeAdditional(requestOptions?.queryParams)
+ .build(),
+ 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.CountLicensesResponse.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 Schematic.BadRequestError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/licenses/count");
+ }
+}
diff --git a/src/api/resources/licenses/client/index.ts b/src/api/resources/licenses/client/index.ts
new file mode 100644
index 00000000..415726b7
--- /dev/null
+++ b/src/api/resources/licenses/client/index.ts
@@ -0,0 +1 @@
+export * from "./requests";
diff --git a/src/api/resources/licenses/client/requests/CountLicensesRequest.ts b/src/api/resources/licenses/client/requests/CountLicensesRequest.ts
new file mode 100644
index 00000000..7aec83a7
--- /dev/null
+++ b/src/api/resources/licenses/client/requests/CountLicensesRequest.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * featureIds: ["feature_ids"],
+ * ids: ["ids"],
+ * name: "name",
+ * limit: 1000000,
+ * offset: 1000000
+ * }
+ */
+export interface CountLicensesRequest {
+ featureIds?: string | string[];
+ ids?: string | string[];
+ name?: string;
+ /** Page limit (default 100) */
+ limit?: number;
+ /** Page offset (default 0) */
+ offset?: number;
+}
diff --git a/src/api/resources/licenses/client/requests/ListLicensesRequest.ts b/src/api/resources/licenses/client/requests/ListLicensesRequest.ts
new file mode 100644
index 00000000..57770308
--- /dev/null
+++ b/src/api/resources/licenses/client/requests/ListLicensesRequest.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * @example
+ * {
+ * featureIds: ["feature_ids"],
+ * ids: ["ids"],
+ * name: "name",
+ * limit: 1000000,
+ * offset: 1000000
+ * }
+ */
+export interface ListLicensesRequest {
+ featureIds?: string | string[];
+ ids?: string | string[];
+ name?: string;
+ /** Page limit (default 100) */
+ limit?: number;
+ /** Page offset (default 0) */
+ offset?: number;
+}
diff --git a/src/api/resources/licenses/client/requests/index.ts b/src/api/resources/licenses/client/requests/index.ts
new file mode 100644
index 00000000..9fbe4fda
--- /dev/null
+++ b/src/api/resources/licenses/client/requests/index.ts
@@ -0,0 +1,2 @@
+export type { CountLicensesRequest } from "./CountLicensesRequest";
+export type { ListLicensesRequest } from "./ListLicensesRequest";
diff --git a/src/api/resources/licenses/exports.ts b/src/api/resources/licenses/exports.ts
new file mode 100644
index 00000000..5d36506b
--- /dev/null
+++ b/src/api/resources/licenses/exports.ts
@@ -0,0 +1,4 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export { LicensesClient } from "./client/Client";
+export * from "./client/index";
diff --git a/src/api/resources/licenses/index.ts b/src/api/resources/licenses/index.ts
new file mode 100644
index 00000000..d2ec2302
--- /dev/null
+++ b/src/api/resources/licenses/index.ts
@@ -0,0 +1,2 @@
+export * from "./client";
+export * from "./types";
diff --git a/src/api/resources/licenses/types/CountLicensesParams.ts b/src/api/resources/licenses/types/CountLicensesParams.ts
new file mode 100644
index 00000000..e4cf31d9
--- /dev/null
+++ b/src/api/resources/licenses/types/CountLicensesParams.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * Input parameters
+ */
+export interface CountLicensesParams {
+ featureIds?: string[];
+ ids?: string[];
+ /** Page limit (default 100) */
+ limit?: number;
+ name?: string;
+ /** Page offset (default 0) */
+ offset?: number;
+}
diff --git a/src/api/resources/licenses/types/CountLicensesResponse.ts b/src/api/resources/licenses/types/CountLicensesResponse.ts
new file mode 100644
index 00000000..9126f830
--- /dev/null
+++ b/src/api/resources/licenses/types/CountLicensesResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface CountLicensesResponse {
+ data: Schematic.CountResponse;
+ /** Input parameters */
+ params: Schematic.CountLicensesParams;
+}
diff --git a/src/api/resources/licenses/types/GetSingleLicenseResponse.ts b/src/api/resources/licenses/types/GetSingleLicenseResponse.ts
new file mode 100644
index 00000000..2ae1a959
--- /dev/null
+++ b/src/api/resources/licenses/types/GetSingleLicenseResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface GetSingleLicenseResponse {
+ data: Schematic.LicenseResponseData;
+ /** Input parameters */
+ params: Record;
+}
diff --git a/src/api/resources/licenses/types/ListLicensesParams.ts b/src/api/resources/licenses/types/ListLicensesParams.ts
new file mode 100644
index 00000000..718f0374
--- /dev/null
+++ b/src/api/resources/licenses/types/ListLicensesParams.ts
@@ -0,0 +1,14 @@
+// This file was auto-generated by Fern from our API Definition.
+
+/**
+ * Input parameters
+ */
+export interface ListLicensesParams {
+ featureIds?: string[];
+ ids?: string[];
+ /** Page limit (default 100) */
+ limit?: number;
+ name?: string;
+ /** Page offset (default 0) */
+ offset?: number;
+}
diff --git a/src/api/resources/licenses/types/ListLicensesResponse.ts b/src/api/resources/licenses/types/ListLicensesResponse.ts
new file mode 100644
index 00000000..539550c2
--- /dev/null
+++ b/src/api/resources/licenses/types/ListLicensesResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface ListLicensesResponse {
+ data: Schematic.LicenseResponseData[];
+ /** Input parameters */
+ params: Schematic.ListLicensesParams;
+}
diff --git a/src/api/resources/licenses/types/index.ts b/src/api/resources/licenses/types/index.ts
new file mode 100644
index 00000000..6b6bb8a4
--- /dev/null
+++ b/src/api/resources/licenses/types/index.ts
@@ -0,0 +1,5 @@
+export * from "./CountLicensesParams";
+export * from "./CountLicensesResponse";
+export * from "./GetSingleLicenseResponse";
+export * from "./ListLicensesParams";
+export * from "./ListLicensesResponse";
diff --git a/src/api/resources/planmigrations/client/Client.ts b/src/api/resources/planmigrations/client/Client.ts
index 107fcf86..0d8a01a5 100644
--- a/src/api/resources/planmigrations/client/Client.ts
+++ b/src/api/resources/planmigrations/client/Client.ts
@@ -1171,4 +1171,145 @@ export class PlanmigrationsClient {
"/plan-version-migrations/count",
);
}
+
+ /**
+ * @param {Schematic.PreviewMigrationRequestBody} request
+ * @param {PlanmigrationsClient.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.BadRequestError}
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.NotFoundError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.planmigrations.previewMigration({
+ * companyIds: ["company_ids"],
+ * planId: "plan_id",
+ * planVersionIdTo: "plan_version_id_to",
+ * targetPlanType: "plan"
+ * })
+ */
+ public previewMigration(
+ request: Schematic.PreviewMigrationRequestBody,
+ requestOptions?: PlanmigrationsClient.RequestOptions,
+ ): core.HttpResponsePromise {
+ return core.HttpResponsePromise.fromPromise(this.__previewMigration(request, requestOptions));
+ }
+
+ private async __previewMigration(
+ request: Schematic.PreviewMigrationRequestBody,
+ requestOptions?: PlanmigrationsClient.RequestOptions,
+ ): Promise> {
+ const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest();
+ const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
+ _authRequest.headers,
+ this._options?.headers,
+ requestOptions?.headers,
+ );
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: core.url.join(
+ (await core.Supplier.get(this._options.baseUrl)) ??
+ (await core.Supplier.get(this._options.environment)) ??
+ environments.SchematicEnvironment.Default,
+ "plan-version-migrations/preview",
+ ),
+ method: "POST",
+ headers: _headers,
+ contentType: "application/json",
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
+ requestType: "json",
+ body: serializers.PreviewMigrationRequestBody.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
+ 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.PreviewMigrationResponse.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 Schematic.BadRequestError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 404:
+ throw new Schematic.NotFoundError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ }),
+ _response.rawResponse,
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ rawResponse: _response.rawResponse,
+ });
+ }
+ }
+
+ return handleNonStatusCodeError(
+ _response.error,
+ _response.rawResponse,
+ "POST",
+ "/plan-version-migrations/preview",
+ );
+ }
}
diff --git a/src/api/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts b/src/api/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts
new file mode 100644
index 00000000..8032162a
--- /dev/null
+++ b/src/api/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../index";
+
+/**
+ * @example
+ * {
+ * companyIds: ["company_ids"],
+ * planId: "plan_id",
+ * planVersionIdTo: "plan_version_id_to",
+ * targetPlanType: "plan"
+ * }
+ */
+export interface PreviewMigrationRequestBody {
+ companyIds: string[];
+ planId: string;
+ planVersionIdTo: string;
+ targetPlanType: Schematic.PlanType;
+}
diff --git a/src/api/resources/planmigrations/client/requests/index.ts b/src/api/resources/planmigrations/client/requests/index.ts
index e86ab2fc..fcc3febc 100644
--- a/src/api/resources/planmigrations/client/requests/index.ts
+++ b/src/api/resources/planmigrations/client/requests/index.ts
@@ -3,4 +3,5 @@ export type { CountMigrationsRequest } from "./CountMigrationsRequest";
export type { CreateMigrationInput } from "./CreateMigrationInput";
export type { ListCompanyMigrationsRequest } from "./ListCompanyMigrationsRequest";
export type { ListMigrationsRequest } from "./ListMigrationsRequest";
+export type { PreviewMigrationRequestBody } from "./PreviewMigrationRequestBody";
export type { RetryMigrationRequestBody } from "./RetryMigrationRequestBody";
diff --git a/src/api/resources/planmigrations/types/PreviewMigrationResponse.ts b/src/api/resources/planmigrations/types/PreviewMigrationResponse.ts
new file mode 100644
index 00000000..bd810e68
--- /dev/null
+++ b/src/api/resources/planmigrations/types/PreviewMigrationResponse.ts
@@ -0,0 +1,9 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../index";
+
+export interface PreviewMigrationResponse {
+ data: Schematic.PlanVersionMigrationPreviewResponseData;
+ /** Input parameters */
+ params: Record;
+}
diff --git a/src/api/resources/planmigrations/types/index.ts b/src/api/resources/planmigrations/types/index.ts
index ddac476e..3f50410d 100644
--- a/src/api/resources/planmigrations/types/index.ts
+++ b/src/api/resources/planmigrations/types/index.ts
@@ -8,5 +8,6 @@ export * from "./ListCompanyMigrationsParams";
export * from "./ListCompanyMigrationsResponse";
export * from "./ListMigrationsParams";
export * from "./ListMigrationsResponse";
+export * from "./PreviewMigrationResponse";
export * from "./RetryCompanyMigrationResponse";
export * from "./RetryMigrationResponse";
diff --git a/src/api/types/BillingCreditGrantZeroedOutReason.ts b/src/api/types/BillingCreditGrantZeroedOutReason.ts
index 74bdd0ed..db02ba70 100644
--- a/src/api/types/BillingCreditGrantZeroedOutReason.ts
+++ b/src/api/types/BillingCreditGrantZeroedOutReason.ts
@@ -4,6 +4,7 @@ export const BillingCreditGrantZeroedOutReason = {
CustomerArchived: "customer_archived",
Expired: "expired",
IntegrationUninstalled: "integration_uninstalled",
+ LicenseRetired: "license_retired",
Manual: "manual",
PlanChange: "plan_change",
PlanPeriodReset: "plan_period_reset",
diff --git a/src/api/types/CompanyBillingAddressView.ts b/src/api/types/CompanyBillingAddressView.ts
new file mode 100644
index 00000000..9419efea
--- /dev/null
+++ b/src/api/types/CompanyBillingAddressView.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CompanyBillingAddressView {
+ city: string;
+ country: string;
+ line1: string;
+ line2: string;
+ postalCode: string;
+ state: string;
+}
diff --git a/src/api/types/CompanyBillingCheckoutSettings.ts b/src/api/types/CompanyBillingCheckoutSettings.ts
new file mode 100644
index 00000000..96115f48
--- /dev/null
+++ b/src/api/types/CompanyBillingCheckoutSettings.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CompanyBillingCheckoutSettings {
+ collectAddress: boolean;
+ collectEmail: boolean;
+ collectPhone: boolean;
+}
diff --git a/src/api/types/CompanyBillingDetailsResponseData.ts b/src/api/types/CompanyBillingDetailsResponseData.ts
new file mode 100644
index 00000000..dd327af0
--- /dev/null
+++ b/src/api/types/CompanyBillingDetailsResponseData.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../index";
+
+export interface CompanyBillingDetailsResponseData {
+ address?: Schematic.CompanyBillingAddressView;
+ checkoutSettings: Schematic.CompanyBillingCheckoutSettings;
+ customFields: Schematic.CheckoutFieldWithValue[];
+ email?: string;
+ phone?: string;
+}
diff --git a/src/api/types/CompanyBillingDetailsView.ts b/src/api/types/CompanyBillingDetailsView.ts
new file mode 100644
index 00000000..1c4bdfc8
--- /dev/null
+++ b/src/api/types/CompanyBillingDetailsView.ts
@@ -0,0 +1,11 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../index";
+
+export interface CompanyBillingDetailsView {
+ address?: Schematic.CompanyBillingAddressView;
+ checkoutSettings: Schematic.CompanyBillingCheckoutSettings;
+ customFields: Schematic.CheckoutFieldWithValue[];
+ email?: string;
+ phone?: string;
+}
diff --git a/src/api/types/CreateEntitlementInBundleRequestBody.ts b/src/api/types/CreateEntitlementInBundleRequestBody.ts
index 56030bf0..fa3455ce 100644
--- a/src/api/types/CreateEntitlementInBundleRequestBody.ts
+++ b/src/api/types/CreateEntitlementInBundleRequestBody.ts
@@ -34,6 +34,7 @@ export interface CreateEntitlementInBundleRequestBody {
valueNumeric?: number;
valueTraitId?: string;
valueType: Schematic.EntitlementValueType;
+ warningTiers?: Schematic.WarningTierRequestBody[];
yearlyMeteredPriceId?: string;
yearlyPriceTiers?: Schematic.CreatePriceTierRequestBody[];
yearlyUnitPrice?: number;
diff --git a/src/api/types/CreditsAutoTopupSuccess.ts b/src/api/types/CreditsAutoTopupSuccess.ts
new file mode 100644
index 00000000..b72c9b45
--- /dev/null
+++ b/src/api/types/CreditsAutoTopupSuccess.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../index";
+
+export interface CreditsAutoTopupSuccess {
+ company?: Schematic.CreditsAutoTopupCompanySummary;
+ credit?: Schematic.CreditsAutoTopupCreditSummary;
+ grantId: string;
+ quantity: number;
+}
diff --git a/src/api/types/CreditsCreditPurchaseSuccess.ts b/src/api/types/CreditsCreditPurchaseSuccess.ts
new file mode 100644
index 00000000..7be56451
--- /dev/null
+++ b/src/api/types/CreditsCreditPurchaseSuccess.ts
@@ -0,0 +1,12 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../index";
+
+export interface CreditsCreditPurchaseSuccess {
+ bundleId: string;
+ bundleName: string;
+ company?: Schematic.CreditsWebhookCompanySummary;
+ credit?: Schematic.CreditsWebhookCreditSummary;
+ grantIds: string[];
+ quantity: number;
+}
diff --git a/src/api/types/CreditsWebhookCompanySummary.ts b/src/api/types/CreditsWebhookCompanySummary.ts
new file mode 100644
index 00000000..422b3fbb
--- /dev/null
+++ b/src/api/types/CreditsWebhookCompanySummary.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CreditsWebhookCompanySummary {
+ id: string;
+ name: string;
+}
diff --git a/src/api/types/CreditsWebhookCreditSummary.ts b/src/api/types/CreditsWebhookCreditSummary.ts
new file mode 100644
index 00000000..99415f9f
--- /dev/null
+++ b/src/api/types/CreditsWebhookCreditSummary.ts
@@ -0,0 +1,6 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CreditsWebhookCreditSummary {
+ id: string;
+ name: string;
+}
diff --git a/src/api/types/CustomerBillingAddress.ts b/src/api/types/CustomerBillingAddress.ts
new file mode 100644
index 00000000..3ac03d9b
--- /dev/null
+++ b/src/api/types/CustomerBillingAddress.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface CustomerBillingAddress {
+ city: string;
+ country: string;
+ line1: string;
+ line2: string;
+ postalCode: string;
+ state: string;
+}
diff --git a/src/api/types/FeatureDetailResponseData.ts b/src/api/types/FeatureDetailResponseData.ts
index 06a88634..37316644 100644
--- a/src/api/types/FeatureDetailResponseData.ts
+++ b/src/api/types/FeatureDetailResponseData.ts
@@ -4,6 +4,8 @@ import type * as Schematic from "../index";
export interface FeatureDetailResponseData {
billingLinkedResource?: Schematic.BillingLinkedResourceResponseData;
+ /** The billing provider product that sells this feature in the current environment. Set for license features once they have been priced in a plan; a feature priced in several environments has a different product in each. */
+ billingProduct?: Schematic.BillingProductResponseData;
createdAt: Date;
description: string;
eventSubtype?: string;
@@ -12,6 +14,8 @@ export interface FeatureDetailResponseData {
flags: Schematic.FlagDetailResponseData[];
icon: string;
id: string;
+ /** The license sold through this feature. Set only on features of type license, and created automatically with them. */
+ licenseId?: string;
lifecyclePhase?: Schematic.FeatureLifecyclePhase;
maintainer?: Schematic.AccountMemberResponseData;
maintainerAccountMemberId?: string;
@@ -22,4 +26,6 @@ export interface FeatureDetailResponseData {
trait?: Schematic.EntityTraitDefinitionResponseData;
traitId?: string;
updatedAt: Date;
+ /** Set when the feature carries a pay-in-advance quantity. Provisioned lazily for other feature types, and at creation for license features. */
+ usageLimitTraitId?: string;
}
diff --git a/src/api/types/FeatureInPlanResponseData.ts b/src/api/types/FeatureInPlanResponseData.ts
index 4f530a0d..9d09f73f 100644
--- a/src/api/types/FeatureInPlanResponseData.ts
+++ b/src/api/types/FeatureInPlanResponseData.ts
@@ -12,6 +12,8 @@ export interface FeatureInPlanResponseData {
flags: Schematic.FlagInPlanResponseData[];
icon: string;
id: string;
+ /** The license sold through this feature. Set only on features of type license, and created automatically with them. */
+ licenseId?: string;
lifecyclePhase?: Schematic.FeatureLifecyclePhase;
maintainerAccountMemberId?: string;
name: string;
@@ -21,4 +23,6 @@ export interface FeatureInPlanResponseData {
trait?: Schematic.EntityTraitDefinitionResponseData;
traitId?: string;
updatedAt: Date;
+ /** Set when the feature carries a pay-in-advance quantity. Provisioned lazily for other feature types, and at creation for license features. */
+ usageLimitTraitId?: string;
}
diff --git a/src/api/types/FeatureResponseData.ts b/src/api/types/FeatureResponseData.ts
index 790a2391..155f5212 100644
--- a/src/api/types/FeatureResponseData.ts
+++ b/src/api/types/FeatureResponseData.ts
@@ -9,6 +9,8 @@ export interface FeatureResponseData {
featureType: Schematic.FeatureType;
icon: string;
id: string;
+ /** The license sold through this feature. Set only on features of type license, and created automatically with them. */
+ licenseId?: string;
lifecyclePhase?: Schematic.FeatureLifecyclePhase;
maintainerAccountMemberId?: string;
name: string;
@@ -16,4 +18,6 @@ export interface FeatureResponseData {
singularName?: string;
traitId?: string;
updatedAt: Date;
+ /** Set when the feature carries a pay-in-advance quantity. Provisioned lazily for other feature types, and at creation for license features. */
+ usageLimitTraitId?: string;
}
diff --git a/src/api/types/FeatureType.ts b/src/api/types/FeatureType.ts
index dd5d5401..58f3bfa9 100644
--- a/src/api/types/FeatureType.ts
+++ b/src/api/types/FeatureType.ts
@@ -3,6 +3,7 @@
export const FeatureType = {
Boolean: "boolean",
Event: "event",
+ License: "license",
Trait: "trait",
} as const;
export type FeatureType = (typeof FeatureType)[keyof typeof FeatureType];
diff --git a/src/api/types/FeatureView.ts b/src/api/types/FeatureView.ts
index 2bd0f668..db333bcf 100644
--- a/src/api/types/FeatureView.ts
+++ b/src/api/types/FeatureView.ts
@@ -5,6 +5,7 @@ import type * as Schematic from "../index";
export interface FeatureView {
accountId: string;
billingLinkedResource?: Schematic.BillingLinkedResourceResponseData;
+ billingProduct?: Schematic.BillingProductResponseData;
createdAt: Date;
description: string;
eventSubtype?: string;
@@ -13,6 +14,7 @@ export interface FeatureView {
flags: Schematic.FlagView[];
icon: string;
id: string;
+ licenseId?: string;
lifecyclePhase?: Schematic.FeatureLifecyclePhase;
name: string;
plans: Schematic.PreviewObject[];
diff --git a/src/api/types/LicenseResponseData.ts b/src/api/types/LicenseResponseData.ts
new file mode 100644
index 00000000..2175ef76
--- /dev/null
+++ b/src/api/types/LicenseResponseData.ts
@@ -0,0 +1,8 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface LicenseResponseData {
+ createdAt: Date;
+ id: string;
+ name: string;
+ updatedAt: Date;
+}
diff --git a/src/api/types/PlanVersionMigrationPreviewCompanyResponseData.ts b/src/api/types/PlanVersionMigrationPreviewCompanyResponseData.ts
new file mode 100644
index 00000000..7fcb9e8a
--- /dev/null
+++ b/src/api/types/PlanVersionMigrationPreviewCompanyResponseData.ts
@@ -0,0 +1,10 @@
+// This file was auto-generated by Fern from our API Definition.
+
+export interface PlanVersionMigrationPreviewCompanyResponseData {
+ companyId: string;
+ hasBillingChanges: boolean;
+ hasCustomPricing: boolean;
+ note?: string;
+ planVersionIdFrom?: string;
+ willUpdateSubscription: boolean;
+}
diff --git a/src/api/types/PlanVersionMigrationPreviewResponseData.ts b/src/api/types/PlanVersionMigrationPreviewResponseData.ts
new file mode 100644
index 00000000..ff761750
--- /dev/null
+++ b/src/api/types/PlanVersionMigrationPreviewResponseData.ts
@@ -0,0 +1,7 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../index";
+
+export interface PlanVersionMigrationPreviewResponseData {
+ companies: Schematic.PlanVersionMigrationPreviewCompanyResponseData[];
+}
diff --git a/src/api/types/WebhookRequestType.ts b/src/api/types/WebhookRequestType.ts
index 02b83cf9..0343dc77 100644
--- a/src/api/types/WebhookRequestType.ts
+++ b/src/api/types/WebhookRequestType.ts
@@ -13,6 +13,7 @@ export const WebhookRequestType = {
CompanyUpdated: "company.updated",
CreditLimitReached: "credit.limit.reached",
CreditLimitWarning: "credit.limit.warning",
+ CreditPurchaseSuccess: "credit.purchase.success",
EntitlementLimitReached: "entitlement.limit.reached",
EntitlementLimitWarning: "entitlement.limit.warning",
EntitlementSoftLimitReached: "entitlement.soft_limit.reached",
@@ -40,5 +41,6 @@ export const WebhookRequestType = {
UserUpdated: "user.updated",
AutoTopupHardFailure: "auto.topup.hard.failure",
AutoTopupRetryExceeded: "auto.topup.retry.exceeded",
+ AutoTopupSuccess: "auto.topup.success",
} as const;
export type WebhookRequestType = (typeof WebhookRequestType)[keyof typeof WebhookRequestType];
diff --git a/src/api/types/index.ts b/src/api/types/index.ts
index 873eb82c..1dad8935 100644
--- a/src/api/types/index.ts
+++ b/src/api/types/index.ts
@@ -87,6 +87,10 @@ export * from "./CheckoutFieldWithValue";
export * from "./CheckoutSettingsResponseData";
export * from "./CheckoutSubscription";
export * from "./ClerkIntegrationConfig";
+export * from "./CompanyBillingAddressView";
+export * from "./CompanyBillingCheckoutSettings";
+export * from "./CompanyBillingDetailsResponseData";
+export * from "./CompanyBillingDetailsView";
export * from "./CompanyBillingEntityResponseData";
export * from "./CompanyBillingEntitySubscriptionResponseData";
export * from "./CompanyCreditBalance";
@@ -159,6 +163,10 @@ export * from "./CreditsAutoTopupCompanySummary";
export * from "./CreditsAutoTopupCreditSummary";
export * from "./CreditsAutoTopupHardFailure";
export * from "./CreditsAutoTopupRetryFailure";
+export * from "./CreditsAutoTopupSuccess";
+export * from "./CreditsCreditPurchaseSuccess";
+export * from "./CreditsWebhookCompanySummary";
+export * from "./CreditsWebhookCreditSummary";
export * from "./CreditTransferResponseData";
export * from "./CreditTransferView";
export * from "./CreditTriggerConfig";
@@ -166,6 +174,7 @@ export * from "./CreditUsage";
export * from "./CreditUsageAggregation";
export * from "./CreditUsageReason";
export * from "./CurrencyPriceRequestBody";
+export * from "./CustomerBillingAddress";
export * from "./CustomPlanActivationStrategy";
export * from "./CustomPlanBillingResponseData";
export * from "./CustomPlanBillingStatus";
@@ -250,6 +259,7 @@ export * from "./InvoiceResponseData";
export * from "./InvoiceStatus";
export * from "./IssueTemporaryAccessTokenResponseData";
export * from "./KeysRequestBody";
+export * from "./LicenseResponseData";
export * from "./LimitTimeSeriesPointResponseData";
export * from "./ManagePlanPreviewResponseResponseData";
export * from "./ManagePlanRequest";
@@ -297,6 +307,8 @@ export * from "./PlanTraitResponseData";
export * from "./PlanType";
export * from "./PlanVersionCompanyMigrationResponseData";
export * from "./PlanVersionCompanyMigrationStatus";
+export * from "./PlanVersionMigrationPreviewCompanyResponseData";
+export * from "./PlanVersionMigrationPreviewResponseData";
export * from "./PlanVersionMigrationResponseData";
export * from "./PlanVersionMigrationStatus";
export * from "./PlanVersionMigrationStrategy";
diff --git a/src/serialization/resources/accounts/types/CountAccountMembersParams.ts b/src/serialization/resources/accounts/types/CountAccountMembersParams.ts
index 3f27d7be..0015842d 100644
--- a/src/serialization/resources/accounts/types/CountAccountMembersParams.ts
+++ b/src/serialization/resources/accounts/types/CountAccountMembersParams.ts
@@ -3,6 +3,7 @@
import type * as Schematic from "../../../../api/index";
import * as core from "../../../../core";
import type * as serializers from "../../../index";
+import { AccountMemberRole } from "../../../types/AccountMemberRole";
export const CountAccountMembersParams: core.serialization.ObjectSchema<
serializers.CountAccountMembersParams.Raw,
@@ -12,6 +13,7 @@ export const CountAccountMembersParams: core.serialization.ObjectSchema<
limit: core.serialization.number().optional(),
offset: core.serialization.number().optional(),
q: core.serialization.string().optional(),
+ role: AccountMemberRole.optional(),
});
export declare namespace CountAccountMembersParams {
@@ -20,5 +22,6 @@ export declare namespace CountAccountMembersParams {
limit?: number | null;
offset?: number | null;
q?: string | null;
+ role?: AccountMemberRole.Raw | null;
}
}
diff --git a/src/serialization/resources/accounts/types/ListAccountMembersParams.ts b/src/serialization/resources/accounts/types/ListAccountMembersParams.ts
index e6bba2b9..93ca4e07 100644
--- a/src/serialization/resources/accounts/types/ListAccountMembersParams.ts
+++ b/src/serialization/resources/accounts/types/ListAccountMembersParams.ts
@@ -3,6 +3,7 @@
import type * as Schematic from "../../../../api/index";
import * as core from "../../../../core";
import type * as serializers from "../../../index";
+import { AccountMemberRole } from "../../../types/AccountMemberRole";
export const ListAccountMembersParams: core.serialization.ObjectSchema<
serializers.ListAccountMembersParams.Raw,
@@ -12,6 +13,7 @@ export const ListAccountMembersParams: core.serialization.ObjectSchema<
limit: core.serialization.number().optional(),
offset: core.serialization.number().optional(),
q: core.serialization.string().optional(),
+ role: AccountMemberRole.optional(),
});
export declare namespace ListAccountMembersParams {
@@ -20,5 +22,6 @@ export declare namespace ListAccountMembersParams {
limit?: number | null;
offset?: number | null;
q?: string | null;
+ role?: AccountMemberRole.Raw | null;
}
}
diff --git a/src/serialization/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts b/src/serialization/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts
new file mode 100644
index 00000000..6eccfc82
--- /dev/null
+++ b/src/serialization/resources/checkout/client/requests/UpdateCompanyBillingDetailsRequestBody.ts
@@ -0,0 +1,26 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../../api/index";
+import * as core from "../../../../../core";
+import type * as serializers from "../../../../index";
+import { CheckoutFieldValue } from "../../../../types/CheckoutFieldValue";
+import { CustomerBillingAddress } from "../../../../types/CustomerBillingAddress";
+
+export const UpdateCompanyBillingDetailsRequestBody: core.serialization.Schema<
+ serializers.UpdateCompanyBillingDetailsRequestBody.Raw,
+ Schematic.UpdateCompanyBillingDetailsRequestBody
+> = core.serialization.object({
+ address: CustomerBillingAddress.optional(),
+ email: core.serialization.string().optional(),
+ phone: core.serialization.string().optional(),
+ values: core.serialization.list(CheckoutFieldValue),
+});
+
+export declare namespace UpdateCompanyBillingDetailsRequestBody {
+ export interface Raw {
+ address?: CustomerBillingAddress.Raw | null;
+ email?: string | null;
+ phone?: string | null;
+ values: CheckoutFieldValue.Raw[];
+ }
+}
diff --git a/src/serialization/resources/checkout/client/requests/index.ts b/src/serialization/resources/checkout/client/requests/index.ts
index c70abe71..bfac8475 100644
--- a/src/serialization/resources/checkout/client/requests/index.ts
+++ b/src/serialization/resources/checkout/client/requests/index.ts
@@ -1,3 +1,4 @@
export { CancelSubscriptionRequest } from "./CancelSubscriptionRequest";
export { CheckoutDataRequestBody } from "./CheckoutDataRequestBody";
+export { UpdateCompanyBillingDetailsRequestBody } from "./UpdateCompanyBillingDetailsRequestBody";
export { UpdateTrialEndRequestBody } from "./UpdateTrialEndRequestBody";
diff --git a/src/serialization/resources/checkout/types/GetCompanyBillingDetailsResponse.ts b/src/serialization/resources/checkout/types/GetCompanyBillingDetailsResponse.ts
new file mode 100644
index 00000000..b0f7e608
--- /dev/null
+++ b/src/serialization/resources/checkout/types/GetCompanyBillingDetailsResponse.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { CompanyBillingDetailsResponseData } from "../../../types/CompanyBillingDetailsResponseData";
+
+export const GetCompanyBillingDetailsResponse: core.serialization.ObjectSchema<
+ serializers.GetCompanyBillingDetailsResponse.Raw,
+ Schematic.GetCompanyBillingDetailsResponse
+> = core.serialization.object({
+ data: CompanyBillingDetailsResponseData,
+ params: core.serialization.record(core.serialization.string(), core.serialization.unknown()),
+});
+
+export declare namespace GetCompanyBillingDetailsResponse {
+ export interface Raw {
+ data: CompanyBillingDetailsResponseData.Raw;
+ params: Record;
+ }
+}
diff --git a/src/serialization/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts b/src/serialization/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts
new file mode 100644
index 00000000..79b7a327
--- /dev/null
+++ b/src/serialization/resources/checkout/types/UpdateCompanyBillingDetailsResponse.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { CompanyBillingDetailsResponseData } from "../../../types/CompanyBillingDetailsResponseData";
+
+export const UpdateCompanyBillingDetailsResponse: core.serialization.ObjectSchema<
+ serializers.UpdateCompanyBillingDetailsResponse.Raw,
+ Schematic.UpdateCompanyBillingDetailsResponse
+> = core.serialization.object({
+ data: CompanyBillingDetailsResponseData,
+ params: core.serialization.record(core.serialization.string(), core.serialization.unknown()),
+});
+
+export declare namespace UpdateCompanyBillingDetailsResponse {
+ export interface Raw {
+ data: CompanyBillingDetailsResponseData.Raw;
+ params: Record;
+ }
+}
diff --git a/src/serialization/resources/checkout/types/index.ts b/src/serialization/resources/checkout/types/index.ts
index c59f149c..31c95508 100644
--- a/src/serialization/resources/checkout/types/index.ts
+++ b/src/serialization/resources/checkout/types/index.ts
@@ -1,7 +1,9 @@
export * from "./CancelSubscriptionResponse";
export * from "./CheckoutInternalResponse";
export * from "./GetCheckoutDataResponse";
+export * from "./GetCompanyBillingDetailsResponse";
export * from "./ManagePlanResponse";
export * from "./PreviewCheckoutInternalResponse";
export * from "./PreviewManagePlanResponse";
+export * from "./UpdateCompanyBillingDetailsResponse";
export * from "./UpdateCustomerSubscriptionTrialEndResponse";
diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts
index b467928d..294609e6 100644
--- a/src/serialization/resources/index.ts
+++ b/src/serialization/resources/index.ts
@@ -41,6 +41,8 @@ export * from "./insights/types";
export * as integrationsapi from "./integrationsapi";
export * from "./integrationsapi/client/requests";
export * from "./integrationsapi/types";
+export * as licenses from "./licenses";
+export * from "./licenses/types";
export * as planbundle from "./planbundle";
export * from "./planbundle/client/requests";
export * from "./planbundle/types";
diff --git a/src/serialization/resources/licenses/index.ts b/src/serialization/resources/licenses/index.ts
new file mode 100644
index 00000000..eea524d6
--- /dev/null
+++ b/src/serialization/resources/licenses/index.ts
@@ -0,0 +1 @@
+export * from "./types";
diff --git a/src/serialization/resources/licenses/types/CountLicensesParams.ts b/src/serialization/resources/licenses/types/CountLicensesParams.ts
new file mode 100644
index 00000000..48c484b2
--- /dev/null
+++ b/src/serialization/resources/licenses/types/CountLicensesParams.ts
@@ -0,0 +1,29 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+
+export const CountLicensesParams: core.serialization.ObjectSchema<
+ serializers.CountLicensesParams.Raw,
+ Schematic.CountLicensesParams
+> = core.serialization.object({
+ featureIds: core.serialization.property(
+ "feature_ids",
+ core.serialization.list(core.serialization.string()).optional(),
+ ),
+ ids: core.serialization.list(core.serialization.string()).optional(),
+ limit: core.serialization.number().optional(),
+ name: core.serialization.string().optional(),
+ offset: core.serialization.number().optional(),
+});
+
+export declare namespace CountLicensesParams {
+ export interface Raw {
+ feature_ids?: string[] | null;
+ ids?: string[] | null;
+ limit?: number | null;
+ name?: string | null;
+ offset?: number | null;
+ }
+}
diff --git a/src/serialization/resources/licenses/types/CountLicensesResponse.ts b/src/serialization/resources/licenses/types/CountLicensesResponse.ts
new file mode 100644
index 00000000..ed61ba8a
--- /dev/null
+++ b/src/serialization/resources/licenses/types/CountLicensesResponse.ts
@@ -0,0 +1,22 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { CountResponse } from "../../../types/CountResponse";
+import { CountLicensesParams } from "./CountLicensesParams";
+
+export const CountLicensesResponse: core.serialization.ObjectSchema<
+ serializers.CountLicensesResponse.Raw,
+ Schematic.CountLicensesResponse
+> = core.serialization.object({
+ data: CountResponse,
+ params: CountLicensesParams,
+});
+
+export declare namespace CountLicensesResponse {
+ export interface Raw {
+ data: CountResponse.Raw;
+ params: CountLicensesParams.Raw;
+ }
+}
diff --git a/src/serialization/resources/licenses/types/GetSingleLicenseResponse.ts b/src/serialization/resources/licenses/types/GetSingleLicenseResponse.ts
new file mode 100644
index 00000000..105450a7
--- /dev/null
+++ b/src/serialization/resources/licenses/types/GetSingleLicenseResponse.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { LicenseResponseData } from "../../../types/LicenseResponseData";
+
+export const GetSingleLicenseResponse: core.serialization.ObjectSchema<
+ serializers.GetSingleLicenseResponse.Raw,
+ Schematic.GetSingleLicenseResponse
+> = core.serialization.object({
+ data: LicenseResponseData,
+ params: core.serialization.record(core.serialization.string(), core.serialization.unknown()),
+});
+
+export declare namespace GetSingleLicenseResponse {
+ export interface Raw {
+ data: LicenseResponseData.Raw;
+ params: Record;
+ }
+}
diff --git a/src/serialization/resources/licenses/types/ListLicensesParams.ts b/src/serialization/resources/licenses/types/ListLicensesParams.ts
new file mode 100644
index 00000000..d87532c8
--- /dev/null
+++ b/src/serialization/resources/licenses/types/ListLicensesParams.ts
@@ -0,0 +1,29 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+
+export const ListLicensesParams: core.serialization.ObjectSchema<
+ serializers.ListLicensesParams.Raw,
+ Schematic.ListLicensesParams
+> = core.serialization.object({
+ featureIds: core.serialization.property(
+ "feature_ids",
+ core.serialization.list(core.serialization.string()).optional(),
+ ),
+ ids: core.serialization.list(core.serialization.string()).optional(),
+ limit: core.serialization.number().optional(),
+ name: core.serialization.string().optional(),
+ offset: core.serialization.number().optional(),
+});
+
+export declare namespace ListLicensesParams {
+ export interface Raw {
+ feature_ids?: string[] | null;
+ ids?: string[] | null;
+ limit?: number | null;
+ name?: string | null;
+ offset?: number | null;
+ }
+}
diff --git a/src/serialization/resources/licenses/types/ListLicensesResponse.ts b/src/serialization/resources/licenses/types/ListLicensesResponse.ts
new file mode 100644
index 00000000..161b5f15
--- /dev/null
+++ b/src/serialization/resources/licenses/types/ListLicensesResponse.ts
@@ -0,0 +1,22 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { LicenseResponseData } from "../../../types/LicenseResponseData";
+import { ListLicensesParams } from "./ListLicensesParams";
+
+export const ListLicensesResponse: core.serialization.ObjectSchema<
+ serializers.ListLicensesResponse.Raw,
+ Schematic.ListLicensesResponse
+> = core.serialization.object({
+ data: core.serialization.list(LicenseResponseData),
+ params: ListLicensesParams,
+});
+
+export declare namespace ListLicensesResponse {
+ export interface Raw {
+ data: LicenseResponseData.Raw[];
+ params: ListLicensesParams.Raw;
+ }
+}
diff --git a/src/serialization/resources/licenses/types/index.ts b/src/serialization/resources/licenses/types/index.ts
new file mode 100644
index 00000000..6b6bb8a4
--- /dev/null
+++ b/src/serialization/resources/licenses/types/index.ts
@@ -0,0 +1,5 @@
+export * from "./CountLicensesParams";
+export * from "./CountLicensesResponse";
+export * from "./GetSingleLicenseResponse";
+export * from "./ListLicensesParams";
+export * from "./ListLicensesResponse";
diff --git a/src/serialization/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts b/src/serialization/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts
new file mode 100644
index 00000000..d844aa6f
--- /dev/null
+++ b/src/serialization/resources/planmigrations/client/requests/PreviewMigrationRequestBody.ts
@@ -0,0 +1,25 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../../api/index";
+import * as core from "../../../../../core";
+import type * as serializers from "../../../../index";
+import { PlanType } from "../../../../types/PlanType";
+
+export const PreviewMigrationRequestBody: core.serialization.Schema<
+ serializers.PreviewMigrationRequestBody.Raw,
+ Schematic.PreviewMigrationRequestBody
+> = core.serialization.object({
+ companyIds: core.serialization.property("company_ids", core.serialization.list(core.serialization.string())),
+ planId: core.serialization.property("plan_id", core.serialization.string()),
+ planVersionIdTo: core.serialization.property("plan_version_id_to", core.serialization.string()),
+ targetPlanType: core.serialization.property("target_plan_type", PlanType),
+});
+
+export declare namespace PreviewMigrationRequestBody {
+ export interface Raw {
+ company_ids: string[];
+ plan_id: string;
+ plan_version_id_to: string;
+ target_plan_type: PlanType.Raw;
+ }
+}
diff --git a/src/serialization/resources/planmigrations/client/requests/index.ts b/src/serialization/resources/planmigrations/client/requests/index.ts
index 16472123..198142e7 100644
--- a/src/serialization/resources/planmigrations/client/requests/index.ts
+++ b/src/serialization/resources/planmigrations/client/requests/index.ts
@@ -1,2 +1,3 @@
export { CreateMigrationInput } from "./CreateMigrationInput";
+export { PreviewMigrationRequestBody } from "./PreviewMigrationRequestBody";
export { RetryMigrationRequestBody } from "./RetryMigrationRequestBody";
diff --git a/src/serialization/resources/planmigrations/types/PreviewMigrationResponse.ts b/src/serialization/resources/planmigrations/types/PreviewMigrationResponse.ts
new file mode 100644
index 00000000..108d9830
--- /dev/null
+++ b/src/serialization/resources/planmigrations/types/PreviewMigrationResponse.ts
@@ -0,0 +1,21 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import type * as serializers from "../../../index";
+import { PlanVersionMigrationPreviewResponseData } from "../../../types/PlanVersionMigrationPreviewResponseData";
+
+export const PreviewMigrationResponse: core.serialization.ObjectSchema<
+ serializers.PreviewMigrationResponse.Raw,
+ Schematic.PreviewMigrationResponse
+> = core.serialization.object({
+ data: PlanVersionMigrationPreviewResponseData,
+ params: core.serialization.record(core.serialization.string(), core.serialization.unknown()),
+});
+
+export declare namespace PreviewMigrationResponse {
+ export interface Raw {
+ data: PlanVersionMigrationPreviewResponseData.Raw;
+ params: Record;
+ }
+}
diff --git a/src/serialization/resources/planmigrations/types/index.ts b/src/serialization/resources/planmigrations/types/index.ts
index ddac476e..3f50410d 100644
--- a/src/serialization/resources/planmigrations/types/index.ts
+++ b/src/serialization/resources/planmigrations/types/index.ts
@@ -8,5 +8,6 @@ export * from "./ListCompanyMigrationsParams";
export * from "./ListCompanyMigrationsResponse";
export * from "./ListMigrationsParams";
export * from "./ListMigrationsResponse";
+export * from "./PreviewMigrationResponse";
export * from "./RetryCompanyMigrationResponse";
export * from "./RetryMigrationResponse";
diff --git a/src/serialization/types/BillingCreditGrantZeroedOutReason.ts b/src/serialization/types/BillingCreditGrantZeroedOutReason.ts
index fb363295..b4c6b57e 100644
--- a/src/serialization/types/BillingCreditGrantZeroedOutReason.ts
+++ b/src/serialization/types/BillingCreditGrantZeroedOutReason.ts
@@ -11,6 +11,7 @@ export const BillingCreditGrantZeroedOutReason: core.serialization.Schema<
"customer_archived",
"expired",
"integration_uninstalled",
+ "license_retired",
"manual",
"plan_change",
"plan_period_reset",
@@ -22,6 +23,7 @@ export declare namespace BillingCreditGrantZeroedOutReason {
| "customer_archived"
| "expired"
| "integration_uninstalled"
+ | "license_retired"
| "manual"
| "plan_change"
| "plan_period_reset"
diff --git a/src/serialization/types/CompanyBillingAddressView.ts b/src/serialization/types/CompanyBillingAddressView.ts
new file mode 100644
index 00000000..01ef74a9
--- /dev/null
+++ b/src/serialization/types/CompanyBillingAddressView.ts
@@ -0,0 +1,28 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const CompanyBillingAddressView: core.serialization.ObjectSchema<
+ serializers.CompanyBillingAddressView.Raw,
+ Schematic.CompanyBillingAddressView
+> = core.serialization.object({
+ city: core.serialization.string(),
+ country: core.serialization.string(),
+ line1: core.serialization.string(),
+ line2: core.serialization.string(),
+ postalCode: core.serialization.property("postal_code", core.serialization.string()),
+ state: core.serialization.string(),
+});
+
+export declare namespace CompanyBillingAddressView {
+ export interface Raw {
+ city: string;
+ country: string;
+ line1: string;
+ line2: string;
+ postal_code: string;
+ state: string;
+ }
+}
diff --git a/src/serialization/types/CompanyBillingCheckoutSettings.ts b/src/serialization/types/CompanyBillingCheckoutSettings.ts
new file mode 100644
index 00000000..efb8e3de
--- /dev/null
+++ b/src/serialization/types/CompanyBillingCheckoutSettings.ts
@@ -0,0 +1,22 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const CompanyBillingCheckoutSettings: core.serialization.ObjectSchema<
+ serializers.CompanyBillingCheckoutSettings.Raw,
+ Schematic.CompanyBillingCheckoutSettings
+> = core.serialization.object({
+ collectAddress: core.serialization.property("collect_address", core.serialization.boolean()),
+ collectEmail: core.serialization.property("collect_email", core.serialization.boolean()),
+ collectPhone: core.serialization.property("collect_phone", core.serialization.boolean()),
+});
+
+export declare namespace CompanyBillingCheckoutSettings {
+ export interface Raw {
+ collect_address: boolean;
+ collect_email: boolean;
+ collect_phone: boolean;
+ }
+}
diff --git a/src/serialization/types/CompanyBillingDetailsResponseData.ts b/src/serialization/types/CompanyBillingDetailsResponseData.ts
new file mode 100644
index 00000000..f49bccf9
--- /dev/null
+++ b/src/serialization/types/CompanyBillingDetailsResponseData.ts
@@ -0,0 +1,29 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+import { CheckoutFieldWithValue } from "./CheckoutFieldWithValue";
+import { CompanyBillingAddressView } from "./CompanyBillingAddressView";
+import { CompanyBillingCheckoutSettings } from "./CompanyBillingCheckoutSettings";
+
+export const CompanyBillingDetailsResponseData: core.serialization.ObjectSchema<
+ serializers.CompanyBillingDetailsResponseData.Raw,
+ Schematic.CompanyBillingDetailsResponseData
+> = core.serialization.object({
+ address: CompanyBillingAddressView.optional(),
+ checkoutSettings: core.serialization.property("checkout_settings", CompanyBillingCheckoutSettings),
+ customFields: core.serialization.property("custom_fields", core.serialization.list(CheckoutFieldWithValue)),
+ email: core.serialization.string().optional(),
+ phone: core.serialization.string().optional(),
+});
+
+export declare namespace CompanyBillingDetailsResponseData {
+ export interface Raw {
+ address?: CompanyBillingAddressView.Raw | null;
+ checkout_settings: CompanyBillingCheckoutSettings.Raw;
+ custom_fields: CheckoutFieldWithValue.Raw[];
+ email?: string | null;
+ phone?: string | null;
+ }
+}
diff --git a/src/serialization/types/CompanyBillingDetailsView.ts b/src/serialization/types/CompanyBillingDetailsView.ts
new file mode 100644
index 00000000..907da1e2
--- /dev/null
+++ b/src/serialization/types/CompanyBillingDetailsView.ts
@@ -0,0 +1,29 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+import { CheckoutFieldWithValue } from "./CheckoutFieldWithValue";
+import { CompanyBillingAddressView } from "./CompanyBillingAddressView";
+import { CompanyBillingCheckoutSettings } from "./CompanyBillingCheckoutSettings";
+
+export const CompanyBillingDetailsView: core.serialization.ObjectSchema<
+ serializers.CompanyBillingDetailsView.Raw,
+ Schematic.CompanyBillingDetailsView
+> = core.serialization.object({
+ address: CompanyBillingAddressView.optional(),
+ checkoutSettings: core.serialization.property("checkout_settings", CompanyBillingCheckoutSettings),
+ customFields: core.serialization.property("custom_fields", core.serialization.list(CheckoutFieldWithValue)),
+ email: core.serialization.string().optional(),
+ phone: core.serialization.string().optional(),
+});
+
+export declare namespace CompanyBillingDetailsView {
+ export interface Raw {
+ address?: CompanyBillingAddressView.Raw | null;
+ checkout_settings: CompanyBillingCheckoutSettings.Raw;
+ custom_fields: CheckoutFieldWithValue.Raw[];
+ email?: string | null;
+ phone?: string | null;
+ }
+}
diff --git a/src/serialization/types/CreateEntitlementInBundleRequestBody.ts b/src/serialization/types/CreateEntitlementInBundleRequestBody.ts
index 52dbc1a2..7de2b5d3 100644
--- a/src/serialization/types/CreateEntitlementInBundleRequestBody.ts
+++ b/src/serialization/types/CreateEntitlementInBundleRequestBody.ts
@@ -10,6 +10,7 @@ import { EntitlementPriceBehavior } from "./EntitlementPriceBehavior";
import { EntitlementValueType } from "./EntitlementValueType";
import { MetricPeriod } from "./MetricPeriod";
import { MetricPeriodMonthReset } from "./MetricPeriodMonthReset";
+import { WarningTierRequestBody } from "./WarningTierRequestBody";
export const CreateEntitlementInBundleRequestBody: core.serialization.ObjectSchema<
serializers.CreateEntitlementInBundleRequestBody.Raw,
@@ -74,6 +75,10 @@ export const CreateEntitlementInBundleRequestBody: core.serialization.ObjectSche
valueNumeric: core.serialization.property("value_numeric", core.serialization.number().optional()),
valueTraitId: core.serialization.property("value_trait_id", core.serialization.string().optional()),
valueType: core.serialization.property("value_type", EntitlementValueType),
+ warningTiers: core.serialization.property(
+ "warning_tiers",
+ core.serialization.list(WarningTierRequestBody).optional(),
+ ),
yearlyMeteredPriceId: core.serialization.property(
"yearly_metered_price_id",
core.serialization.string().optional(),
@@ -120,6 +125,7 @@ export declare namespace CreateEntitlementInBundleRequestBody {
value_numeric?: number | null;
value_trait_id?: string | null;
value_type: EntitlementValueType.Raw;
+ warning_tiers?: WarningTierRequestBody.Raw[] | null;
yearly_metered_price_id?: string | null;
yearly_price_tiers?: CreatePriceTierRequestBody.Raw[] | null;
yearly_unit_price?: number | null;
diff --git a/src/serialization/types/CreditsAutoTopupSuccess.ts b/src/serialization/types/CreditsAutoTopupSuccess.ts
new file mode 100644
index 00000000..0a1ac28a
--- /dev/null
+++ b/src/serialization/types/CreditsAutoTopupSuccess.ts
@@ -0,0 +1,26 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+import { CreditsAutoTopupCompanySummary } from "./CreditsAutoTopupCompanySummary";
+import { CreditsAutoTopupCreditSummary } from "./CreditsAutoTopupCreditSummary";
+
+export const CreditsAutoTopupSuccess: core.serialization.ObjectSchema<
+ serializers.CreditsAutoTopupSuccess.Raw,
+ Schematic.CreditsAutoTopupSuccess
+> = core.serialization.object({
+ company: CreditsAutoTopupCompanySummary.optional(),
+ credit: CreditsAutoTopupCreditSummary.optional(),
+ grantId: core.serialization.property("grant_id", core.serialization.string()),
+ quantity: core.serialization.number(),
+});
+
+export declare namespace CreditsAutoTopupSuccess {
+ export interface Raw {
+ company?: CreditsAutoTopupCompanySummary.Raw | null;
+ credit?: CreditsAutoTopupCreditSummary.Raw | null;
+ grant_id: string;
+ quantity: number;
+ }
+}
diff --git a/src/serialization/types/CreditsCreditPurchaseSuccess.ts b/src/serialization/types/CreditsCreditPurchaseSuccess.ts
new file mode 100644
index 00000000..963809f2
--- /dev/null
+++ b/src/serialization/types/CreditsCreditPurchaseSuccess.ts
@@ -0,0 +1,30 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+import { CreditsWebhookCompanySummary } from "./CreditsWebhookCompanySummary";
+import { CreditsWebhookCreditSummary } from "./CreditsWebhookCreditSummary";
+
+export const CreditsCreditPurchaseSuccess: core.serialization.ObjectSchema<
+ serializers.CreditsCreditPurchaseSuccess.Raw,
+ Schematic.CreditsCreditPurchaseSuccess
+> = core.serialization.object({
+ bundleId: core.serialization.property("bundle_id", core.serialization.string()),
+ bundleName: core.serialization.property("bundle_name", core.serialization.string()),
+ company: CreditsWebhookCompanySummary.optional(),
+ credit: CreditsWebhookCreditSummary.optional(),
+ grantIds: core.serialization.property("grant_ids", core.serialization.list(core.serialization.string())),
+ quantity: core.serialization.number(),
+});
+
+export declare namespace CreditsCreditPurchaseSuccess {
+ export interface Raw {
+ bundle_id: string;
+ bundle_name: string;
+ company?: CreditsWebhookCompanySummary.Raw | null;
+ credit?: CreditsWebhookCreditSummary.Raw | null;
+ grant_ids: string[];
+ quantity: number;
+ }
+}
diff --git a/src/serialization/types/CreditsWebhookCompanySummary.ts b/src/serialization/types/CreditsWebhookCompanySummary.ts
new file mode 100644
index 00000000..876228ba
--- /dev/null
+++ b/src/serialization/types/CreditsWebhookCompanySummary.ts
@@ -0,0 +1,20 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const CreditsWebhookCompanySummary: core.serialization.ObjectSchema<
+ serializers.CreditsWebhookCompanySummary.Raw,
+ Schematic.CreditsWebhookCompanySummary
+> = core.serialization.object({
+ id: core.serialization.string(),
+ name: core.serialization.string(),
+});
+
+export declare namespace CreditsWebhookCompanySummary {
+ export interface Raw {
+ id: string;
+ name: string;
+ }
+}
diff --git a/src/serialization/types/CreditsWebhookCreditSummary.ts b/src/serialization/types/CreditsWebhookCreditSummary.ts
new file mode 100644
index 00000000..eaca03c1
--- /dev/null
+++ b/src/serialization/types/CreditsWebhookCreditSummary.ts
@@ -0,0 +1,20 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const CreditsWebhookCreditSummary: core.serialization.ObjectSchema<
+ serializers.CreditsWebhookCreditSummary.Raw,
+ Schematic.CreditsWebhookCreditSummary
+> = core.serialization.object({
+ id: core.serialization.string(),
+ name: core.serialization.string(),
+});
+
+export declare namespace CreditsWebhookCreditSummary {
+ export interface Raw {
+ id: string;
+ name: string;
+ }
+}
diff --git a/src/serialization/types/CustomerBillingAddress.ts b/src/serialization/types/CustomerBillingAddress.ts
new file mode 100644
index 00000000..fab0d5e4
--- /dev/null
+++ b/src/serialization/types/CustomerBillingAddress.ts
@@ -0,0 +1,28 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const CustomerBillingAddress: core.serialization.ObjectSchema<
+ serializers.CustomerBillingAddress.Raw,
+ Schematic.CustomerBillingAddress
+> = core.serialization.object({
+ city: core.serialization.string(),
+ country: core.serialization.string(),
+ line1: core.serialization.string(),
+ line2: core.serialization.string(),
+ postalCode: core.serialization.property("postal_code", core.serialization.string()),
+ state: core.serialization.string(),
+});
+
+export declare namespace CustomerBillingAddress {
+ export interface Raw {
+ city: string;
+ country: string;
+ line1: string;
+ line2: string;
+ postal_code: string;
+ state: string;
+ }
+}
diff --git a/src/serialization/types/FeatureDetailResponseData.ts b/src/serialization/types/FeatureDetailResponseData.ts
index 01262489..5bef47a6 100644
--- a/src/serialization/types/FeatureDetailResponseData.ts
+++ b/src/serialization/types/FeatureDetailResponseData.ts
@@ -5,6 +5,7 @@ import * as core from "../../core";
import type * as serializers from "../index";
import { AccountMemberResponseData } from "./AccountMemberResponseData";
import { BillingLinkedResourceResponseData } from "./BillingLinkedResourceResponseData";
+import { BillingProductResponseData } from "./BillingProductResponseData";
import { EntityTraitDefinitionResponseData } from "./EntityTraitDefinitionResponseData";
import { EventSummaryResponseData } from "./EventSummaryResponseData";
import { FeatureLifecyclePhase } from "./FeatureLifecyclePhase";
@@ -20,6 +21,7 @@ export const FeatureDetailResponseData: core.serialization.ObjectSchema<
"billing_linked_resource",
BillingLinkedResourceResponseData.optional(),
),
+ billingProduct: core.serialization.property("billing_product", BillingProductResponseData.optional()),
createdAt: core.serialization.property("created_at", core.serialization.date()),
description: core.serialization.string(),
eventSubtype: core.serialization.property("event_subtype", core.serialization.string().optional()),
@@ -28,6 +30,7 @@ export const FeatureDetailResponseData: core.serialization.ObjectSchema<
flags: core.serialization.list(FlagDetailResponseData),
icon: core.serialization.string(),
id: core.serialization.string(),
+ licenseId: core.serialization.property("license_id", core.serialization.string().optional()),
lifecyclePhase: core.serialization.property("lifecycle_phase", FeatureLifecyclePhase.optional()),
maintainer: AccountMemberResponseData.optional(),
maintainerAccountMemberId: core.serialization.property(
@@ -41,11 +44,13 @@ export const FeatureDetailResponseData: core.serialization.ObjectSchema<
trait: EntityTraitDefinitionResponseData.optional(),
traitId: core.serialization.property("trait_id", core.serialization.string().optional()),
updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+ usageLimitTraitId: core.serialization.property("usage_limit_trait_id", core.serialization.string().optional()),
});
export declare namespace FeatureDetailResponseData {
export interface Raw {
billing_linked_resource?: BillingLinkedResourceResponseData.Raw | null;
+ billing_product?: BillingProductResponseData.Raw | null;
created_at: string;
description: string;
event_subtype?: string | null;
@@ -54,6 +59,7 @@ export declare namespace FeatureDetailResponseData {
flags: FlagDetailResponseData.Raw[];
icon: string;
id: string;
+ license_id?: string | null;
lifecycle_phase?: FeatureLifecyclePhase.Raw | null;
maintainer?: AccountMemberResponseData.Raw | null;
maintainer_account_member_id?: string | null;
@@ -64,5 +70,6 @@ export declare namespace FeatureDetailResponseData {
trait?: EntityTraitDefinitionResponseData.Raw | null;
trait_id?: string | null;
updated_at: string;
+ usage_limit_trait_id?: string | null;
}
}
diff --git a/src/serialization/types/FeatureInPlanResponseData.ts b/src/serialization/types/FeatureInPlanResponseData.ts
index a13b3fc2..adc864c0 100644
--- a/src/serialization/types/FeatureInPlanResponseData.ts
+++ b/src/serialization/types/FeatureInPlanResponseData.ts
@@ -27,6 +27,7 @@ export const FeatureInPlanResponseData: core.serialization.ObjectSchema<
flags: core.serialization.list(FlagInPlanResponseData),
icon: core.serialization.string(),
id: core.serialization.string(),
+ licenseId: core.serialization.property("license_id", core.serialization.string().optional()),
lifecyclePhase: core.serialization.property("lifecycle_phase", FeatureLifecyclePhase.optional()),
maintainerAccountMemberId: core.serialization.property(
"maintainer_account_member_id",
@@ -39,6 +40,7 @@ export const FeatureInPlanResponseData: core.serialization.ObjectSchema<
trait: EntityTraitDefinitionResponseData.optional(),
traitId: core.serialization.property("trait_id", core.serialization.string().optional()),
updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+ usageLimitTraitId: core.serialization.property("usage_limit_trait_id", core.serialization.string().optional()),
});
export declare namespace FeatureInPlanResponseData {
@@ -52,6 +54,7 @@ export declare namespace FeatureInPlanResponseData {
flags: FlagInPlanResponseData.Raw[];
icon: string;
id: string;
+ license_id?: string | null;
lifecycle_phase?: FeatureLifecyclePhase.Raw | null;
maintainer_account_member_id?: string | null;
name: string;
@@ -61,5 +64,6 @@ export declare namespace FeatureInPlanResponseData {
trait?: EntityTraitDefinitionResponseData.Raw | null;
trait_id?: string | null;
updated_at: string;
+ usage_limit_trait_id?: string | null;
}
}
diff --git a/src/serialization/types/FeatureResponseData.ts b/src/serialization/types/FeatureResponseData.ts
index bbc3eda2..47e73f47 100644
--- a/src/serialization/types/FeatureResponseData.ts
+++ b/src/serialization/types/FeatureResponseData.ts
@@ -16,6 +16,7 @@ export const FeatureResponseData: core.serialization.ObjectSchema<
featureType: core.serialization.property("feature_type", FeatureType),
icon: core.serialization.string(),
id: core.serialization.string(),
+ licenseId: core.serialization.property("license_id", core.serialization.string().optional()),
lifecyclePhase: core.serialization.property("lifecycle_phase", FeatureLifecyclePhase.optional()),
maintainerAccountMemberId: core.serialization.property(
"maintainer_account_member_id",
@@ -26,6 +27,7 @@ export const FeatureResponseData: core.serialization.ObjectSchema<
singularName: core.serialization.property("singular_name", core.serialization.string().optional()),
traitId: core.serialization.property("trait_id", core.serialization.string().optional()),
updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+ usageLimitTraitId: core.serialization.property("usage_limit_trait_id", core.serialization.string().optional()),
});
export declare namespace FeatureResponseData {
@@ -36,6 +38,7 @@ export declare namespace FeatureResponseData {
feature_type: FeatureType.Raw;
icon: string;
id: string;
+ license_id?: string | null;
lifecycle_phase?: FeatureLifecyclePhase.Raw | null;
maintainer_account_member_id?: string | null;
name: string;
@@ -43,5 +46,6 @@ export declare namespace FeatureResponseData {
singular_name?: string | null;
trait_id?: string | null;
updated_at: string;
+ usage_limit_trait_id?: string | null;
}
}
diff --git a/src/serialization/types/FeatureType.ts b/src/serialization/types/FeatureType.ts
index d6d3e974..92cf5fa5 100644
--- a/src/serialization/types/FeatureType.ts
+++ b/src/serialization/types/FeatureType.ts
@@ -5,8 +5,8 @@ import * as core from "../../core";
import type * as serializers from "../index";
export const FeatureType: core.serialization.Schema =
- core.serialization.enum_(["boolean", "event", "trait"]);
+ core.serialization.enum_(["boolean", "event", "license", "trait"]);
export declare namespace FeatureType {
- export type Raw = "boolean" | "event" | "trait";
+ export type Raw = "boolean" | "event" | "license" | "trait";
}
diff --git a/src/serialization/types/FeatureView.ts b/src/serialization/types/FeatureView.ts
index 7e22ed63..f426d27a 100644
--- a/src/serialization/types/FeatureView.ts
+++ b/src/serialization/types/FeatureView.ts
@@ -4,6 +4,7 @@ import type * as Schematic from "../../api/index";
import * as core from "../../core";
import type * as serializers from "../index";
import { BillingLinkedResourceResponseData } from "./BillingLinkedResourceResponseData";
+import { BillingProductResponseData } from "./BillingProductResponseData";
import { EntityTraitDefinitionResponseData } from "./EntityTraitDefinitionResponseData";
import { EventSummaryResponseData } from "./EventSummaryResponseData";
import { FeatureLifecyclePhase } from "./FeatureLifecyclePhase";
@@ -18,6 +19,7 @@ export const FeatureView: core.serialization.ObjectSchema = core.serialization.object({
+ createdAt: core.serialization.property("created_at", core.serialization.date()),
+ id: core.serialization.string(),
+ name: core.serialization.string(),
+ updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+});
+
+export declare namespace LicenseResponseData {
+ export interface Raw {
+ created_at: string;
+ id: string;
+ name: string;
+ updated_at: string;
+ }
+}
diff --git a/src/serialization/types/PlanVersionMigrationPreviewCompanyResponseData.ts b/src/serialization/types/PlanVersionMigrationPreviewCompanyResponseData.ts
new file mode 100644
index 00000000..b12682dc
--- /dev/null
+++ b/src/serialization/types/PlanVersionMigrationPreviewCompanyResponseData.ts
@@ -0,0 +1,28 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+
+export const PlanVersionMigrationPreviewCompanyResponseData: core.serialization.ObjectSchema<
+ serializers.PlanVersionMigrationPreviewCompanyResponseData.Raw,
+ Schematic.PlanVersionMigrationPreviewCompanyResponseData
+> = core.serialization.object({
+ companyId: core.serialization.property("company_id", core.serialization.string()),
+ hasBillingChanges: core.serialization.property("has_billing_changes", core.serialization.boolean()),
+ hasCustomPricing: core.serialization.property("has_custom_pricing", core.serialization.boolean()),
+ note: core.serialization.string().optional(),
+ planVersionIdFrom: core.serialization.property("plan_version_id_from", core.serialization.string().optional()),
+ willUpdateSubscription: core.serialization.property("will_update_subscription", core.serialization.boolean()),
+});
+
+export declare namespace PlanVersionMigrationPreviewCompanyResponseData {
+ export interface Raw {
+ company_id: string;
+ has_billing_changes: boolean;
+ has_custom_pricing: boolean;
+ note?: string | null;
+ plan_version_id_from?: string | null;
+ will_update_subscription: boolean;
+ }
+}
diff --git a/src/serialization/types/PlanVersionMigrationPreviewResponseData.ts b/src/serialization/types/PlanVersionMigrationPreviewResponseData.ts
new file mode 100644
index 00000000..d308cf0b
--- /dev/null
+++ b/src/serialization/types/PlanVersionMigrationPreviewResponseData.ts
@@ -0,0 +1,19 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import type * as Schematic from "../../api/index";
+import * as core from "../../core";
+import type * as serializers from "../index";
+import { PlanVersionMigrationPreviewCompanyResponseData } from "./PlanVersionMigrationPreviewCompanyResponseData";
+
+export const PlanVersionMigrationPreviewResponseData: core.serialization.ObjectSchema<
+ serializers.PlanVersionMigrationPreviewResponseData.Raw,
+ Schematic.PlanVersionMigrationPreviewResponseData
+> = core.serialization.object({
+ companies: core.serialization.list(PlanVersionMigrationPreviewCompanyResponseData),
+});
+
+export declare namespace PlanVersionMigrationPreviewResponseData {
+ export interface Raw {
+ companies: PlanVersionMigrationPreviewCompanyResponseData.Raw[];
+ }
+}
diff --git a/src/serialization/types/WebhookRequestType.ts b/src/serialization/types/WebhookRequestType.ts
index d3104b3a..37491814 100644
--- a/src/serialization/types/WebhookRequestType.ts
+++ b/src/serialization/types/WebhookRequestType.ts
@@ -20,6 +20,7 @@ export const WebhookRequestType: core.serialization.Schema<
"company.updated",
"credit.limit.reached",
"credit.limit.warning",
+ "credit.purchase.success",
"entitlement.limit.reached",
"entitlement.limit.warning",
"entitlement.soft_limit.reached",
@@ -47,6 +48,7 @@ export const WebhookRequestType: core.serialization.Schema<
"user.updated",
"auto.topup.hard.failure",
"auto.topup.retry.exceeded",
+ "auto.topup.success",
]);
export declare namespace WebhookRequestType {
@@ -63,6 +65,7 @@ export declare namespace WebhookRequestType {
| "company.updated"
| "credit.limit.reached"
| "credit.limit.warning"
+ | "credit.purchase.success"
| "entitlement.limit.reached"
| "entitlement.limit.warning"
| "entitlement.soft_limit.reached"
@@ -89,5 +92,6 @@ export declare namespace WebhookRequestType {
| "user.deleted"
| "user.updated"
| "auto.topup.hard.failure"
- | "auto.topup.retry.exceeded";
+ | "auto.topup.retry.exceeded"
+ | "auto.topup.success";
}
diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts
index 873eb82c..1dad8935 100644
--- a/src/serialization/types/index.ts
+++ b/src/serialization/types/index.ts
@@ -87,6 +87,10 @@ export * from "./CheckoutFieldWithValue";
export * from "./CheckoutSettingsResponseData";
export * from "./CheckoutSubscription";
export * from "./ClerkIntegrationConfig";
+export * from "./CompanyBillingAddressView";
+export * from "./CompanyBillingCheckoutSettings";
+export * from "./CompanyBillingDetailsResponseData";
+export * from "./CompanyBillingDetailsView";
export * from "./CompanyBillingEntityResponseData";
export * from "./CompanyBillingEntitySubscriptionResponseData";
export * from "./CompanyCreditBalance";
@@ -159,6 +163,10 @@ export * from "./CreditsAutoTopupCompanySummary";
export * from "./CreditsAutoTopupCreditSummary";
export * from "./CreditsAutoTopupHardFailure";
export * from "./CreditsAutoTopupRetryFailure";
+export * from "./CreditsAutoTopupSuccess";
+export * from "./CreditsCreditPurchaseSuccess";
+export * from "./CreditsWebhookCompanySummary";
+export * from "./CreditsWebhookCreditSummary";
export * from "./CreditTransferResponseData";
export * from "./CreditTransferView";
export * from "./CreditTriggerConfig";
@@ -166,6 +174,7 @@ export * from "./CreditUsage";
export * from "./CreditUsageAggregation";
export * from "./CreditUsageReason";
export * from "./CurrencyPriceRequestBody";
+export * from "./CustomerBillingAddress";
export * from "./CustomPlanActivationStrategy";
export * from "./CustomPlanBillingResponseData";
export * from "./CustomPlanBillingStatus";
@@ -250,6 +259,7 @@ export * from "./InvoiceResponseData";
export * from "./InvoiceStatus";
export * from "./IssueTemporaryAccessTokenResponseData";
export * from "./KeysRequestBody";
+export * from "./LicenseResponseData";
export * from "./LimitTimeSeriesPointResponseData";
export * from "./ManagePlanPreviewResponseResponseData";
export * from "./ManagePlanRequest";
@@ -297,6 +307,8 @@ export * from "./PlanTraitResponseData";
export * from "./PlanType";
export * from "./PlanVersionCompanyMigrationResponseData";
export * from "./PlanVersionCompanyMigrationStatus";
+export * from "./PlanVersionMigrationPreviewCompanyResponseData";
+export * from "./PlanVersionMigrationPreviewResponseData";
export * from "./PlanVersionMigrationResponseData";
export * from "./PlanVersionMigrationStatus";
export * from "./PlanVersionMigrationStrategy";
diff --git a/tests/wire/accounts.test.ts b/tests/wire/accounts.test.ts
index 313cd754..7a002278 100644
--- a/tests/wire/accounts.test.ts
+++ b/tests/wire/accounts.test.ts
@@ -24,7 +24,7 @@ describe("AccountsClient", () => {
updated_at: "2024-01-15T09:30:00Z",
},
],
- params: { ids: ["ids"], limit: 1000000, offset: 1000000, q: "q" },
+ params: { ids: ["ids"], limit: 1000000, offset: 1000000, q: "q", role: "admin" },
};
server.mockEndpoint().get("/account-members").respondWith().statusCode(200).jsonBody(rawResponseBody).build();
@@ -32,6 +32,7 @@ describe("AccountsClient", () => {
const response = await client.accounts.listAccountMembers({
ids: ["ids"],
q: "q",
+ role: "admin",
limit: 1000000,
offset: 1000000,
});
@@ -57,6 +58,7 @@ describe("AccountsClient", () => {
limit: 1000000,
offset: 1000000,
q: "q",
+ role: "admin",
},
});
});
@@ -258,7 +260,7 @@ describe("AccountsClient", () => {
const rawResponseBody = {
data: { count: 1000000 },
- params: { ids: ["ids"], limit: 1000000, offset: 1000000, q: "q" },
+ params: { ids: ["ids"], limit: 1000000, offset: 1000000, q: "q", role: "admin" },
};
server
@@ -272,6 +274,7 @@ describe("AccountsClient", () => {
const response = await client.accounts.countAccountMembers({
ids: ["ids"],
q: "q",
+ role: "admin",
limit: 1000000,
offset: 1000000,
});
@@ -284,6 +287,7 @@ describe("AccountsClient", () => {
limit: 1000000,
offset: 1000000,
q: "q",
+ role: "admin",
},
});
});
diff --git a/tests/wire/checkout.test.ts b/tests/wire/checkout.test.ts
index b6de2c02..32eb2b31 100644
--- a/tests/wire/checkout.test.ts
+++ b/tests/wire/checkout.test.ts
@@ -3569,6 +3569,414 @@ describe("CheckoutClient", () => {
}).rejects.toThrow(Schematic.InternalServerError);
});
+ test("getCompanyBillingDetails (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = {
+ data: {
+ address: {
+ city: "city",
+ country: "country",
+ line1: "line1",
+ line2: "line2",
+ postal_code: "postal_code",
+ state: "state",
+ },
+ checkout_settings: { collect_address: true, collect_email: true, collect_phone: true },
+ custom_fields: [
+ {
+ definition_id: "definition_id",
+ id: "id",
+ name: "name",
+ required: true,
+ stripe_metadata_key: "stripe_metadata_key",
+ },
+ ],
+ email: "email",
+ phone: "phone",
+ },
+ params: { key: "value" },
+ };
+
+ server
+ .mockEndpoint()
+ .get("/companies/company_id/billing-details")
+ .respondWith()
+ .statusCode(200)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ const response = await client.checkout.getCompanyBillingDetails("company_id");
+ expect(response).toEqual({
+ data: {
+ address: {
+ city: "city",
+ country: "country",
+ line1: "line1",
+ line2: "line2",
+ postalCode: "postal_code",
+ state: "state",
+ },
+ checkoutSettings: {
+ collectAddress: true,
+ collectEmail: true,
+ collectPhone: true,
+ },
+ customFields: [
+ {
+ definitionId: "definition_id",
+ id: "id",
+ name: "name",
+ required: true,
+ stripeMetadataKey: "stripe_metadata_key",
+ },
+ ],
+ email: "email",
+ phone: "phone",
+ },
+ params: {
+ key: "value",
+ },
+ });
+ });
+
+ test("getCompanyBillingDetails (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/companies/company_id/billing-details")
+ .respondWith()
+ .statusCode(401)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.getCompanyBillingDetails("company_id");
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("getCompanyBillingDetails (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/companies/company_id/billing-details")
+ .respondWith()
+ .statusCode(403)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.getCompanyBillingDetails("company_id");
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("getCompanyBillingDetails (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/companies/company_id/billing-details")
+ .respondWith()
+ .statusCode(404)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.getCompanyBillingDetails("company_id");
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("getCompanyBillingDetails (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/companies/company_id/billing-details")
+ .respondWith()
+ .statusCode(500)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.getCompanyBillingDetails("company_id");
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
+
+ test("updateCompanyBillingDetails (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = { values: [{ id: "id", value: "value" }] };
+ const rawResponseBody = {
+ data: {
+ address: {
+ city: "city",
+ country: "country",
+ line1: "line1",
+ line2: "line2",
+ postal_code: "postal_code",
+ state: "state",
+ },
+ checkout_settings: { collect_address: true, collect_email: true, collect_phone: true },
+ custom_fields: [
+ {
+ definition_id: "definition_id",
+ id: "id",
+ name: "name",
+ required: true,
+ stripe_metadata_key: "stripe_metadata_key",
+ },
+ ],
+ email: "email",
+ phone: "phone",
+ },
+ params: { key: "value" },
+ };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(200)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ const response = await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ expect(response).toEqual({
+ data: {
+ address: {
+ city: "city",
+ country: "country",
+ line1: "line1",
+ line2: "line2",
+ postalCode: "postal_code",
+ state: "state",
+ },
+ checkoutSettings: {
+ collectAddress: true,
+ collectEmail: true,
+ collectPhone: true,
+ },
+ customFields: [
+ {
+ definitionId: "definition_id",
+ id: "id",
+ name: "name",
+ required: true,
+ stripeMetadataKey: "stripe_metadata_key",
+ },
+ ],
+ email: "email",
+ phone: "phone",
+ },
+ params: {
+ key: "value",
+ },
+ });
+ });
+
+ test("updateCompanyBillingDetails (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ values: [
+ { id: "id", value: "value" },
+ { id: "id", value: "value" },
+ ],
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(400)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ }).rejects.toThrow(Schematic.BadRequestError);
+ });
+
+ test("updateCompanyBillingDetails (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ values: [
+ { id: "id", value: "value" },
+ { id: "id", value: "value" },
+ ],
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(401)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("updateCompanyBillingDetails (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ values: [
+ { id: "id", value: "value" },
+ { id: "id", value: "value" },
+ ],
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(403)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("updateCompanyBillingDetails (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ values: [
+ { id: "id", value: "value" },
+ { id: "id", value: "value" },
+ ],
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(404)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("updateCompanyBillingDetails (6)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ values: [
+ { id: "id", value: "value" },
+ { id: "id", value: "value" },
+ ],
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .put("/companies/company_id/billing-details")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(500)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.checkout.updateCompanyBillingDetails("company_id", {
+ values: [
+ {
+ id: "id",
+ value: "value",
+ },
+ {
+ id: "id",
+ value: "value",
+ },
+ ],
+ });
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
+
test("managePlan (1)", async () => {
const server = mockServerPool.createServer();
const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
diff --git a/tests/wire/entitlements.test.ts b/tests/wire/entitlements.test.ts
index df5da25a..90bdc5bc 100644
--- a/tests/wire/entitlements.test.ts
+++ b/tests/wire/entitlements.test.ts
@@ -874,6 +874,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -881,6 +882,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -1232,6 +1234,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -1239,6 +1242,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -1688,6 +1692,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -1695,6 +1700,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -2041,6 +2047,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -2048,6 +2055,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -2453,6 +2461,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -2460,6 +2469,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -2809,6 +2819,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -2816,6 +2827,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -6409,6 +6421,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -6416,6 +6429,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -6625,6 +6639,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -6632,6 +6647,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -6960,6 +6976,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -6967,6 +6984,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -7171,6 +7189,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -7178,6 +7197,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -7462,6 +7482,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -7469,6 +7490,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -7676,6 +7698,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -7683,6 +7706,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -8127,6 +8151,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -8134,6 +8159,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -8345,6 +8371,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -8352,6 +8379,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -9322,6 +9350,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -9329,6 +9358,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -9520,6 +9550,7 @@ describe("EntitlementsClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -9540,6 +9571,7 @@ describe("EntitlementsClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
has_valid_allocation: true,
is_unlimited: true,
@@ -9744,6 +9776,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -9751,6 +9784,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -10256,6 +10290,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -10263,6 +10298,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -10454,6 +10490,7 @@ describe("EntitlementsClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -10474,6 +10511,7 @@ describe("EntitlementsClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
has_valid_allocation: true,
is_unlimited: true,
@@ -10678,6 +10716,7 @@ describe("EntitlementsClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -10685,6 +10724,7 @@ describe("EntitlementsClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
id: "id",
@@ -11237,6 +11277,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -11244,6 +11285,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -11437,6 +11479,7 @@ describe("EntitlementsClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -11467,6 +11510,7 @@ describe("EntitlementsClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
hasValidAllocation: true,
isUnlimited: true,
@@ -11671,6 +11715,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -11678,6 +11723,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -12230,6 +12276,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -12237,6 +12284,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
@@ -12430,6 +12478,7 @@ describe("EntitlementsClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -12460,6 +12509,7 @@ describe("EntitlementsClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
hasValidAllocation: true,
isUnlimited: true,
@@ -12664,6 +12714,7 @@ describe("EntitlementsClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -12671,6 +12722,7 @@ describe("EntitlementsClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
id: "id",
diff --git a/tests/wire/features.test.ts b/tests/wire/features.test.ts
index 20c11927..4ee57263 100644
--- a/tests/wire/features.test.ts
+++ b/tests/wire/features.test.ts
@@ -17,6 +17,19 @@ describe("FeaturesClient", () => {
external_resource_id: "external_resource_id",
originator: "metronome",
},
+ billing_product: {
+ account_id: "account_id",
+ created_at: "2024-01-15T09:30:00Z",
+ environment_id: "environment_id",
+ external_id: "external_id",
+ is_active: true,
+ name: "name",
+ price: 1.1,
+ product_id: "product_id",
+ provider_type: "metronome",
+ quantity: 1.1,
+ updated_at: "2024-01-15T09:30:00Z",
+ },
created_at: "2024-01-15T09:30:00Z",
description: "description",
event_subtype: "event_subtype",
@@ -91,6 +104,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer: {
created_at: "2024-01-15T09:30:00Z",
@@ -114,6 +128,7 @@ describe("FeaturesClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
],
params: {
@@ -152,6 +167,19 @@ describe("FeaturesClient", () => {
externalResourceId: "external_resource_id",
originator: "metronome",
},
+ billingProduct: {
+ accountId: "account_id",
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ environmentId: "environment_id",
+ externalId: "external_id",
+ isActive: true,
+ name: "name",
+ price: 1.1,
+ productId: "product_id",
+ providerType: "metronome",
+ quantity: 1.1,
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
createdAt: new Date("2024-01-15T09:30:00.000Z"),
description: "description",
eventSubtype: "event_subtype",
@@ -236,6 +264,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainer: {
createdAt: new Date("2024-01-15T09:30:00.000Z"),
@@ -266,6 +295,7 @@ describe("FeaturesClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
],
params: {
@@ -359,6 +389,20 @@ describe("FeaturesClient", () => {
external_resource_id: "external_resource_id",
originator: "metronome",
},
+ billing_product: {
+ account_id: "account_id",
+ created_at: "2024-01-15T09:30:00Z",
+ environment_id: "environment_id",
+ external_id: "external_id",
+ is_active: true,
+ name: "name",
+ price: 1.1,
+ price_decimal: "price_decimal",
+ product_id: "product_id",
+ provider_type: "metronome",
+ quantity: 1.1,
+ updated_at: "2024-01-15T09:30:00Z",
+ },
created_at: "2024-01-15T09:30:00Z",
description: "description",
event_subtype: "event_subtype",
@@ -434,6 +478,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer: {
created_at: "2024-01-15T09:30:00Z",
@@ -463,6 +508,7 @@ describe("FeaturesClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
params: { key: "value" },
};
@@ -488,6 +534,20 @@ describe("FeaturesClient", () => {
externalResourceId: "external_resource_id",
originator: "metronome",
},
+ billingProduct: {
+ accountId: "account_id",
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ environmentId: "environment_id",
+ externalId: "external_id",
+ isActive: true,
+ name: "name",
+ price: 1.1,
+ priceDecimal: "price_decimal",
+ productId: "product_id",
+ providerType: "metronome",
+ quantity: 1.1,
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
createdAt: new Date("2024-01-15T09:30:00.000Z"),
description: "description",
eventSubtype: "event_subtype",
@@ -573,6 +633,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainer: {
createdAt: new Date("2024-01-15T09:30:00.000Z"),
@@ -609,6 +670,7 @@ describe("FeaturesClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
params: {
key: "value",
@@ -747,6 +809,20 @@ describe("FeaturesClient", () => {
external_resource_id: "external_resource_id",
originator: "metronome",
},
+ billing_product: {
+ account_id: "account_id",
+ created_at: "2024-01-15T09:30:00Z",
+ environment_id: "environment_id",
+ external_id: "external_id",
+ is_active: true,
+ name: "name",
+ price: 1.1,
+ price_decimal: "price_decimal",
+ product_id: "product_id",
+ provider_type: "metronome",
+ quantity: 1.1,
+ updated_at: "2024-01-15T09:30:00Z",
+ },
created_at: "2024-01-15T09:30:00Z",
description: "description",
event_subtype: "event_subtype",
@@ -822,6 +898,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer: {
created_at: "2024-01-15T09:30:00Z",
@@ -851,6 +928,7 @@ describe("FeaturesClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
params: { key: "value" },
};
@@ -871,6 +949,20 @@ describe("FeaturesClient", () => {
externalResourceId: "external_resource_id",
originator: "metronome",
},
+ billingProduct: {
+ accountId: "account_id",
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ environmentId: "environment_id",
+ externalId: "external_id",
+ isActive: true,
+ name: "name",
+ price: 1.1,
+ priceDecimal: "price_decimal",
+ productId: "product_id",
+ providerType: "metronome",
+ quantity: 1.1,
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
createdAt: new Date("2024-01-15T09:30:00.000Z"),
description: "description",
eventSubtype: "event_subtype",
@@ -956,6 +1048,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainer: {
createdAt: new Date("2024-01-15T09:30:00.000Z"),
@@ -992,6 +1085,7 @@ describe("FeaturesClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
params: {
key: "value",
@@ -1086,6 +1180,20 @@ describe("FeaturesClient", () => {
external_resource_id: "external_resource_id",
originator: "metronome",
},
+ billing_product: {
+ account_id: "account_id",
+ created_at: "2024-01-15T09:30:00Z",
+ environment_id: "environment_id",
+ external_id: "external_id",
+ is_active: true,
+ name: "name",
+ price: 1.1,
+ price_decimal: "price_decimal",
+ product_id: "product_id",
+ provider_type: "metronome",
+ quantity: 1.1,
+ updated_at: "2024-01-15T09:30:00Z",
+ },
created_at: "2024-01-15T09:30:00Z",
description: "description",
event_subtype: "event_subtype",
@@ -1161,6 +1269,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer: {
created_at: "2024-01-15T09:30:00Z",
@@ -1190,6 +1299,7 @@ describe("FeaturesClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
params: { key: "value" },
};
@@ -1211,6 +1321,20 @@ describe("FeaturesClient", () => {
externalResourceId: "external_resource_id",
originator: "metronome",
},
+ billingProduct: {
+ accountId: "account_id",
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ environmentId: "environment_id",
+ externalId: "external_id",
+ isActive: true,
+ name: "name",
+ price: 1.1,
+ priceDecimal: "price_decimal",
+ productId: "product_id",
+ providerType: "metronome",
+ quantity: 1.1,
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
createdAt: new Date("2024-01-15T09:30:00.000Z"),
description: "description",
eventSubtype: "event_subtype",
@@ -1296,6 +1420,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainer: {
createdAt: new Date("2024-01-15T09:30:00.000Z"),
@@ -1332,6 +1457,7 @@ describe("FeaturesClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
params: {
key: "value",
@@ -1576,6 +1702,20 @@ describe("FeaturesClient", () => {
external_resource_id: "external_resource_id",
originator: "metronome",
},
+ billing_product: {
+ account_id: "account_id",
+ created_at: "2024-01-15T09:30:00Z",
+ environment_id: "environment_id",
+ external_id: "external_id",
+ is_active: true,
+ name: "name",
+ price: 1.1,
+ price_decimal: "price_decimal",
+ product_id: "product_id",
+ provider_type: "metronome",
+ quantity: 1.1,
+ updated_at: "2024-01-15T09:30:00Z",
+ },
created_at: "2024-01-15T09:30:00Z",
description: "description",
event_subtype: "event_subtype",
@@ -1651,6 +1791,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer: {
created_at: "2024-01-15T09:30:00Z",
@@ -1680,6 +1821,7 @@ describe("FeaturesClient", () => {
},
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
params: { key: "value" },
};
@@ -1707,6 +1849,20 @@ describe("FeaturesClient", () => {
externalResourceId: "external_resource_id",
originator: "metronome",
},
+ billingProduct: {
+ accountId: "account_id",
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ environmentId: "environment_id",
+ externalId: "external_id",
+ isActive: true,
+ name: "name",
+ price: 1.1,
+ priceDecimal: "price_decimal",
+ productId: "product_id",
+ providerType: "metronome",
+ quantity: 1.1,
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
createdAt: new Date("2024-01-15T09:30:00.000Z"),
description: "description",
eventSubtype: "event_subtype",
@@ -1792,6 +1948,7 @@ describe("FeaturesClient", () => {
],
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainer: {
createdAt: new Date("2024-01-15T09:30:00.000Z"),
@@ -1828,6 +1985,7 @@ describe("FeaturesClient", () => {
},
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
params: {
key: "value",
@@ -2398,6 +2556,7 @@ describe("FeaturesClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -2405,6 +2564,7 @@ describe("FeaturesClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
flag_type: "boolean",
@@ -2507,6 +2667,7 @@ describe("FeaturesClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -2514,6 +2675,7 @@ describe("FeaturesClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
flagType: "boolean",
@@ -2779,6 +2941,7 @@ describe("FeaturesClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -2786,6 +2949,7 @@ describe("FeaturesClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
flag_type: "boolean",
@@ -2875,6 +3039,7 @@ describe("FeaturesClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -2882,6 +3047,7 @@ describe("FeaturesClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
flagType: "boolean",
@@ -3045,6 +3211,7 @@ describe("FeaturesClient", () => {
feature_type: "boolean",
icon: "icon",
id: "id",
+ license_id: "license_id",
lifecycle_phase: "add_on",
maintainer_account_member_id: "maintainer_account_member_id",
name: "name",
@@ -3052,6 +3219,7 @@ describe("FeaturesClient", () => {
singular_name: "singular_name",
trait_id: "trait_id",
updated_at: "2024-01-15T09:30:00Z",
+ usage_limit_trait_id: "usage_limit_trait_id",
},
feature_id: "feature_id",
flag_type: "boolean",
@@ -3154,6 +3322,7 @@ describe("FeaturesClient", () => {
featureType: "boolean",
icon: "icon",
id: "id",
+ licenseId: "license_id",
lifecyclePhase: "add_on",
maintainerAccountMemberId: "maintainer_account_member_id",
name: "name",
@@ -3161,6 +3330,7 @@ describe("FeaturesClient", () => {
singularName: "singular_name",
traitId: "trait_id",
updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ usageLimitTraitId: "usage_limit_trait_id",
},
featureId: "feature_id",
flagType: "boolean",
diff --git a/tests/wire/licenses.test.ts b/tests/wire/licenses.test.ts
new file mode 100644
index 00000000..08748817
--- /dev/null
+++ b/tests/wire/licenses.test.ts
@@ -0,0 +1,313 @@
+// This file was auto-generated by Fern from our API Definition.
+
+import * as Schematic from "../../src/api/index";
+import { SchematicClient } from "../../src/Client";
+import { mockServerPool } from "../mock-server/MockServerPool";
+
+describe("LicensesClient", () => {
+ test("listLicenses (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = {
+ data: [{ created_at: "2024-01-15T09:30:00Z", id: "id", name: "name", updated_at: "2024-01-15T09:30:00Z" }],
+ params: { feature_ids: ["feature_ids"], ids: ["ids"], limit: 1000000, name: "name", offset: 1000000 },
+ };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(200).jsonBody(rawResponseBody).build();
+
+ const response = await client.licenses.listLicenses({
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ name: "name",
+ limit: 1000000,
+ offset: 1000000,
+ });
+ expect(response).toEqual({
+ data: [
+ {
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ id: "id",
+ name: "name",
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
+ ],
+ params: {
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ limit: 1000000,
+ name: "name",
+ offset: 1000000,
+ },
+ });
+ });
+
+ test("listLicenses (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(400).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.listLicenses();
+ }).rejects.toThrow(Schematic.BadRequestError);
+ });
+
+ test("listLicenses (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(401).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.listLicenses();
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("listLicenses (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(403).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.listLicenses();
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("listLicenses (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(404).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.listLicenses();
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("listLicenses (6)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses").respondWith().statusCode(500).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.listLicenses();
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
+
+ test("getSingleLicense (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = {
+ data: { created_at: "2024-01-15T09:30:00Z", id: "id", name: "name", updated_at: "2024-01-15T09:30:00Z" },
+ params: { key: "value" },
+ };
+
+ server
+ .mockEndpoint()
+ .get("/licenses/license_id")
+ .respondWith()
+ .statusCode(200)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ const response = await client.licenses.getSingleLicense("license_id");
+ expect(response).toEqual({
+ data: {
+ createdAt: new Date("2024-01-15T09:30:00.000Z"),
+ id: "id",
+ name: "name",
+ updatedAt: new Date("2024-01-15T09:30:00.000Z"),
+ },
+ params: {
+ key: "value",
+ },
+ });
+ });
+
+ test("getSingleLicense (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/licenses/license_id")
+ .respondWith()
+ .statusCode(401)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.licenses.getSingleLicense("license_id");
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("getSingleLicense (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/licenses/license_id")
+ .respondWith()
+ .statusCode(403)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.licenses.getSingleLicense("license_id");
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("getSingleLicense (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/licenses/license_id")
+ .respondWith()
+ .statusCode(404)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.licenses.getSingleLicense("license_id");
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("getSingleLicense (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .get("/licenses/license_id")
+ .respondWith()
+ .statusCode(500)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.licenses.getSingleLicense("license_id");
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
+
+ test("countLicenses (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = {
+ data: { count: 1000000 },
+ params: { feature_ids: ["feature_ids"], ids: ["ids"], limit: 1000000, name: "name", offset: 1000000 },
+ };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(200).jsonBody(rawResponseBody).build();
+
+ const response = await client.licenses.countLicenses({
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ name: "name",
+ limit: 1000000,
+ offset: 1000000,
+ });
+ expect(response).toEqual({
+ data: {
+ count: 1000000,
+ },
+ params: {
+ featureIds: ["feature_ids"],
+ ids: ["ids"],
+ limit: 1000000,
+ name: "name",
+ offset: 1000000,
+ },
+ });
+ });
+
+ test("countLicenses (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(400).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.countLicenses();
+ }).rejects.toThrow(Schematic.BadRequestError);
+ });
+
+ test("countLicenses (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(401).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.countLicenses();
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("countLicenses (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(403).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.countLicenses();
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("countLicenses (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(404).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.countLicenses();
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("countLicenses (6)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+
+ const rawResponseBody = { error: "error" };
+
+ server.mockEndpoint().get("/licenses/count").respondWith().statusCode(500).jsonBody(rawResponseBody).build();
+
+ await expect(async () => {
+ return await client.licenses.countLicenses();
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
+});
diff --git a/tests/wire/planmigrations.test.ts b/tests/wire/planmigrations.test.ts
index dce43932..5b41ca0a 100644
--- a/tests/wire/planmigrations.test.ts
+++ b/tests/wire/planmigrations.test.ts
@@ -1309,4 +1309,209 @@ describe("PlanmigrationsClient", () => {
return await client.planmigrations.countMigrations();
}).rejects.toThrow(Schematic.InternalServerError);
});
+
+ test("previewMigration (1)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = {
+ data: {
+ companies: [
+ {
+ company_id: "company_id",
+ has_billing_changes: true,
+ has_custom_pricing: true,
+ will_update_subscription: true,
+ },
+ ],
+ },
+ params: { key: "value" },
+ };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(200)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ const response = await client.planmigrations.previewMigration({
+ companyIds: ["company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ expect(response).toEqual({
+ data: {
+ companies: [
+ {
+ companyId: "company_id",
+ hasBillingChanges: true,
+ hasCustomPricing: true,
+ willUpdateSubscription: true,
+ },
+ ],
+ },
+ params: {
+ key: "value",
+ },
+ });
+ });
+
+ test("previewMigration (2)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids", "company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(400)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.planmigrations.previewMigration({
+ companyIds: ["company_ids", "company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ }).rejects.toThrow(Schematic.BadRequestError);
+ });
+
+ test("previewMigration (3)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids", "company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(401)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.planmigrations.previewMigration({
+ companyIds: ["company_ids", "company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ }).rejects.toThrow(Schematic.UnauthorizedError);
+ });
+
+ test("previewMigration (4)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids", "company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(403)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.planmigrations.previewMigration({
+ companyIds: ["company_ids", "company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ }).rejects.toThrow(Schematic.ForbiddenError);
+ });
+
+ test("previewMigration (5)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids", "company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(404)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.planmigrations.previewMigration({
+ companyIds: ["company_ids", "company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ }).rejects.toThrow(Schematic.NotFoundError);
+ });
+
+ test("previewMigration (6)", async () => {
+ const server = mockServerPool.createServer();
+ const client = new SchematicClient({ maxRetries: 0, apiKey: "test", environment: server.baseUrl });
+ const rawRequestBody = {
+ company_ids: ["company_ids", "company_ids"],
+ plan_id: "plan_id",
+ plan_version_id_to: "plan_version_id_to",
+ target_plan_type: "plan",
+ };
+ const rawResponseBody = { error: "error" };
+
+ server
+ .mockEndpoint()
+ .post("/plan-version-migrations/preview")
+ .jsonBody(rawRequestBody)
+ .respondWith()
+ .statusCode(500)
+ .jsonBody(rawResponseBody)
+ .build();
+
+ await expect(async () => {
+ return await client.planmigrations.previewMigration({
+ companyIds: ["company_ids", "company_ids"],
+ planId: "plan_id",
+ planVersionIdTo: "plan_version_id_to",
+ targetPlanType: "plan",
+ });
+ }).rejects.toThrow(Schematic.InternalServerError);
+ });
});
diff --git a/yarn.lock b/yarn.lock
index e57fd32c..c463dcaf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -338,30 +338,30 @@
dependencies:
statuses "^2.0.1"
-"@cloudflare/workerd-darwin-64@1.20260714.1":
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260714.1.tgz#2f006c394473a7b5d792c0144a1886042114a5a2"
- integrity sha512-ZWXqAN8G7Cx9hMRQuk+59ziJhR3j1F4iO+Qs8aHdfKZ3Dq5Yi/57xvkJTgCGBnW1YU/L78r8f6HEy51bwbTpNw==
-
-"@cloudflare/workerd-darwin-arm64@1.20260714.1":
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260714.1.tgz#2602cab0e0a3dab46b8d2ecb5707a44868e7ecc4"
- integrity sha512-tueWxWC3wyCbMG6zRAxsMXX0YLgrRWbiAPYFQ2uJ7dUH8G+5E7UTWaQS9B1HdJ0bpKFW1NWxhs1o2noKVFSUYg==
-
-"@cloudflare/workerd-linux-64@1.20260714.1":
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260714.1.tgz#24f3d22a4b8b563f09add8bb48ed649f407c71ff"
- integrity sha512-1VChTZRb0l0F7R4e1G5RtLKV4oFi6x+rQgxh2+yu887j3l/3TLgatuv1L8/5zhc9gKEhATTxOh0e52Rtd9dDWQ==
-
-"@cloudflare/workerd-linux-arm64@1.20260714.1":
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260714.1.tgz#b7da800741feff8a562273733209941ede82043c"
- integrity sha512-rMm3G+NirG2UdgHIRDdF1asNC6FqgIzZzkRG+VDhhDGcVxAQwvrMT1E38BivEvHr3G04MB4AfhcOczX0+GtRkQ==
-
-"@cloudflare/workerd-windows-64@1.20260714.1":
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260714.1.tgz#a7e7921021e782337a607d2a00c14341d50c0905"
- integrity sha512-cGqnU3Hg2YZS/k3SAqrMp1DjpdsyFde72tWltdl6ZT9+SFz/Zrk/8gyTU1TcxC4YApXeNVH5TyU5cOGPgUJ0pg==
+"@cloudflare/workerd-darwin-64@1.20260722.1":
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260722.1.tgz#a08145bb7b3d6e35bafe753475f8a8d7c3af71c5"
+ integrity sha512-vZOP8vIS3NwnuaO+gz0FZ7kIGeiO3bZmxV35Ph9zOXKSREhDFlH7wQ7mkCdhW3O4jnXsew+XT7b+DNEI2CcJGQ==
+
+"@cloudflare/workerd-darwin-arm64@1.20260722.1":
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260722.1.tgz#38ccfd2cb1b53c95e13a2a346332be6fff7a85e4"
+ integrity sha512-EmIQymihDq6WNdER4+LF8Qn80yqayBUpJ+tkOO7wmY8pmgfyXjIUFNXotl21AHovTeu2seR7HdVUgeN/BilCWw==
+
+"@cloudflare/workerd-linux-64@1.20260722.1":
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260722.1.tgz#3fbef2db0ee42a7543d38855713a1afa115b6dcb"
+ integrity sha512-jvZ3k9fxcnEn04s80CgIYxQfpOyAiz/8qC42DP8EBa9tR27qWyg9wmm31zIobVlrgBZn/+8NfdP73avRGcQOjQ==
+
+"@cloudflare/workerd-linux-arm64@1.20260722.1":
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260722.1.tgz#89ca2335e5b440a6d5f95761d73520fe21cf3cf3"
+ integrity sha512-BOSB55SMNdy+DA5uj2WirgiNanpHGis5PVvXH1wSfvjRKr4JGgWK+EZzxz0RFUo6QjjQQC/NimEzNZ7va7jmKg==
+
+"@cloudflare/workerd-windows-64@1.20260722.1":
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260722.1.tgz#d2378b95fad122c574a97e25fe03aea3425aec92"
+ integrity sha512-sYM8YgUpKnRz2xjvdJLX1Ojzoi4MlA4gk8WTTExhGydjYB2UTs5NIbv0ZmpKgMoK9io3ixgmiW56ZnTbcWOdiA==
"@cspotcode/source-map-support@0.8.1":
version "0.8.1"
@@ -370,10 +370,10 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@emnapi/runtime@^1.7.0":
- version "1.11.2"
- resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.2.tgz#eb22f04d76febfdf4f87fdaff54c8a53f6bf0dbd"
- integrity sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==
+"@emnapi/runtime@^1.11.1":
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.3.tgz#84257ae3b0531eb2aec1ffa23d70700da007ba95"
+ integrity sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==
dependencies:
tslib "^2.4.0"
@@ -507,152 +507,166 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5"
integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==
-"@img/colour@^1.0.0":
+"@img/colour@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@img/colour/-/colour-1.1.0.tgz#b0c2c2fa661adf75effd6b4964497cd80010bb9d"
integrity sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==
-"@img/sharp-darwin-arm64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz#6e0732dcade126b6670af7aa17060b926835ea86"
- integrity sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==
+"@img/sharp-darwin-arm64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.2.tgz#83a510a25161295cec4773fb881cbccad743c8c2"
+ integrity sha512-eEieHsMksAW4IiO5NzauESRl2D2qz3J/kwUxUrSfV06A93eEaRfMpHXyUb1mAqrR7i8U9A0GRqE9pjn6u1Jjpg==
optionalDependencies:
- "@img/sharp-libvips-darwin-arm64" "1.2.4"
+ "@img/sharp-libvips-darwin-arm64" "1.3.1"
-"@img/sharp-darwin-x64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz#19bc1dd6eba6d5a96283498b9c9f401180ee9c7b"
- integrity sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==
+"@img/sharp-darwin-x64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.2.tgz#8861f1b13876c3735dc1d382147ff9689a90bbdb"
+ integrity sha512-BaktuGPCeHJMARpodR8jK4uKiZrPAy9WrfQW0sdI37clracq8Bp01AYS3SZgi5FS/y5twa9t4+LIuuxQjqRrWw==
optionalDependencies:
- "@img/sharp-libvips-darwin-x64" "1.2.4"
-
-"@img/sharp-libvips-darwin-arm64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz#2894c0cb87d42276c3889942e8e2db517a492c43"
- integrity sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==
-
-"@img/sharp-libvips-darwin-x64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz#e63681f4539a94af9cd17246ed8881734386f8cc"
- integrity sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==
-
-"@img/sharp-libvips-linux-arm64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz#b1b288b36864b3bce545ad91fa6dadcf1a4ad318"
- integrity sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==
-
-"@img/sharp-libvips-linux-arm@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz#b9260dd1ebe6f9e3bdbcbdcac9d2ac125f35852d"
- integrity sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==
-
-"@img/sharp-libvips-linux-ppc64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz#4b83ecf2a829057222b38848c7b022e7b4d07aa7"
- integrity sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==
-
-"@img/sharp-libvips-linux-riscv64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz#880b4678009e5a2080af192332b00b0aaf8a48de"
- integrity sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==
-
-"@img/sharp-libvips-linux-s390x@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz#74f343c8e10fad821b38f75ced30488939dc59ec"
- integrity sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==
-
-"@img/sharp-libvips-linux-x64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz#df4183e8bd8410f7d61b66859a35edeab0a531ce"
- integrity sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==
-
-"@img/sharp-libvips-linuxmusl-arm64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz#c8d6b48211df67137541007ee8d1b7b1f8ca8e06"
- integrity sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==
-
-"@img/sharp-libvips-linuxmusl-x64@1.2.4":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz#be11c75bee5b080cbee31a153a8779448f919f75"
- integrity sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==
-
-"@img/sharp-linux-arm64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz#7aa7764ef9c001f15e610546d42fce56911790cc"
- integrity sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==
+ "@img/sharp-libvips-darwin-x64" "1.3.1"
+
+"@img/sharp-freebsd-wasm32@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.2.tgz#bd1c30356fd93f9da80af1746b7bcbd2bcdaff63"
+ integrity sha512-YoAxdnd8hPUkvLHd3bWY+YA8nw3xM/RyRopYucNsWHVSan8NLVM3X2volsfoRDcXdUJPg6tXahSd7HXPK7lRnw==
+ dependencies:
+ "@img/sharp-wasm32" "0.35.2"
+
+"@img/sharp-libvips-darwin-arm64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.1.tgz#aaaeeb73ab52290ce3ec896a083557510f3d8b70"
+ integrity sha512-4V/M3roRMTYjiwZY9IOVQOE8OyeCxFAkYmyZDrZl51uOKjibm3oeEJ4WAmLxutAfzFbC9jqUiPs2gbnGflH+7g==
+
+"@img/sharp-libvips-darwin-x64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.1.tgz#07330dffe179da2fbba1da7ccca72d42c4207315"
+ integrity sha512-c0/DxItpJv2+dGhgycJBBgotdqruGYDvA79drdh0MD1dFpy7JzJ/PlXwi1H4rFf0eTy8tgbI91aHDnZIceY3jQ==
+
+"@img/sharp-libvips-linux-arm64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.1.tgz#a67bb9666e8f241da2fbedc1626812849a13ef05"
+ integrity sha512-JznefmcK9j1JKPz8AkQDh89kjojubyfOasWBPKfzMIhPwsgDy9evpE/naJTXXXmghS1iFwR8u/kTwh/I2/+GCw==
+
+"@img/sharp-libvips-linux-arm@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.1.tgz#71619f50cf16dea3eed985cdaf6edbe4d070f5f3"
+ integrity sha512-aGGy9aWzXgHBG7HNyQPWorZthlp7+x6fDRoPAQbGO3ThcttuTyKIx3NuSHb6zb4gBNq6/yNn9f1cy9nFKS/Vmg==
+
+"@img/sharp-libvips-linux-ppc64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.1.tgz#1e35c91199d0753a42d90aecf019df92e0dfd123"
+ integrity sha512-1EkwGNCZk6iWNCMWqrvdJ+r1j0PT1zIz60CNPhYnJlK/zyeWqlsPZIe+ocBVqPF8k/Ssee/NCk+tE9Ryrko6ng==
+
+"@img/sharp-libvips-linux-riscv64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.1.tgz#7c893516b2fe6a864fdc4c0ac62f168dfb2d8579"
+ integrity sha512-Ilays+w2bXdnxzxtQdmXR62u8o8GYa3eL4+Gr+1KiE4xperMZUslRaVPJwwPkzlHEjGfXAfRVAa/7CYCtSqsBw==
+
+"@img/sharp-libvips-linux-s390x@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.1.tgz#e38db9e12cf637941983d08be9cc99fc20f402f5"
+ integrity sha512-VfBwVHQTbRoj4XlpA/KLZ7ltgMpz+4WSejFzQ+GnoImjo1PtEJ59QB2qR1xQEeRPYIkNrPIm2L4cICMvz4C2ew==
+
+"@img/sharp-libvips-linux-x64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.1.tgz#be150a15e8825ee9d5e5198b3ade6db9030f076b"
+ integrity sha512-+c8ukgwU62DS54nCAjw7keOfHUkmr0B5QHEdcOqRnodF/MNXJbVI8Eopoj4B/0H8Asr65I+A4Amrn7a85/md6A==
+
+"@img/sharp-libvips-linuxmusl-arm64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.1.tgz#90b2f35579d874eba03be6397e36ca45a0359a5b"
+ integrity sha512-qlKb/pwbkAi1WMsJrYHk7CuDrd12s27U2QnRhFYUoJNrRCmkosMTttuRFat/DDB3IlDm5qE1TJgZ4JDnHX8Ldw==
+
+"@img/sharp-libvips-linuxmusl-x64@1.3.1":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.1.tgz#bec78d38a8a7446ee31110ec0487c149ecd9ee75"
+ integrity sha512-yO21HwoUVLN8Qa+/SBjQLMYwBWAVJjeGPNe+hc0OUeMeifEtJqu5a1c4HayE1nNpDih9y3/KkoltfkDodmKAlg==
+
+"@img/sharp-linux-arm64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.2.tgz#5e0c2c19398bff888b86abe6683af146bba67b94"
+ integrity sha512-af12Pnd0ZGu2HfP8NayB0kk6eC/lrfbQE6HlR4jD+34wdJ1Vw9TF6TMn6ZvffT+WgqVsl0hRbmNvz2u/23VmwA==
optionalDependencies:
- "@img/sharp-libvips-linux-arm64" "1.2.4"
+ "@img/sharp-libvips-linux-arm64" "1.3.1"
-"@img/sharp-linux-arm@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz#5fb0c3695dd12522d39c3ff7a6bc816461780a0d"
- integrity sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==
+"@img/sharp-linux-arm@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.2.tgz#9dee1a6eb241bc3f039da20a69206332cad1ef7a"
+ integrity sha512-SE4kzF2mepn6z+6E7L6lsV8FzuLL6IPQdyX8ZiwROAG/G8td+hP/m7FsFPwidtrF19gvajuC9l6TxAVcsA4S7A==
optionalDependencies:
- "@img/sharp-libvips-linux-arm" "1.2.4"
+ "@img/sharp-libvips-linux-arm" "1.3.1"
-"@img/sharp-linux-ppc64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz#9c213a81520a20caf66978f3d4c07456ff2e0813"
- integrity sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==
+"@img/sharp-linux-ppc64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.2.tgz#4e5f03945faefc4d92121ba1f534b70697e538d5"
+ integrity sha512-hYSBm7zcNtDCozCxQHYZJiu63b/bXsgRZuOxCIBZsStMM9Vap47iFHdbX4kCvQsblPB/k+clhELpdQJHQLSHvg==
optionalDependencies:
- "@img/sharp-libvips-linux-ppc64" "1.2.4"
+ "@img/sharp-libvips-linux-ppc64" "1.3.1"
-"@img/sharp-linux-riscv64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz#cdd28182774eadbe04f62675a16aabbccb833f60"
- integrity sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==
+"@img/sharp-linux-riscv64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.2.tgz#e58a0e877228c8910a404160e97c4c3f539f61dc"
+ integrity sha512-qQt0Kc13+Hoan/Awq/qMSQw3L+RI1NCRPgD5cUJ/1WSSmIoysLOc72jlRM3E0OHN9Yr313jgeQ2T+zW+F03QFA==
optionalDependencies:
- "@img/sharp-libvips-linux-riscv64" "1.2.4"
+ "@img/sharp-libvips-linux-riscv64" "1.3.1"
-"@img/sharp-linux-s390x@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz#93eac601b9f329bb27917e0e19098c722d630df7"
- integrity sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==
+"@img/sharp-linux-s390x@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.2.tgz#e1292137042332c3581823ea51535dde971c538d"
+ integrity sha512-E4fLLfRPzDLlEeDaTzI98OFLcv++WL5ChLLMwPoVd0CIoZQqupBSNbOisPL5am9XsbQ9T84+iiMpUvbFtkunbA==
optionalDependencies:
- "@img/sharp-libvips-linux-s390x" "1.2.4"
+ "@img/sharp-libvips-linux-s390x" "1.3.1"
-"@img/sharp-linux-x64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz#55abc7cd754ffca5002b6c2b719abdfc846819a8"
- integrity sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==
+"@img/sharp-linux-x64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.2.tgz#ba3a1bfaec00ab394953f843f2fe8d59507d0826"
+ integrity sha512-gi0zFJJRLswfCZmHtJdikXPOc5u7qamSOS3NHedLqLd4W8Q0NqjdBr6TTRIgsfFjqfTsHFgdfvJ9LwqSgcHiAA==
optionalDependencies:
- "@img/sharp-libvips-linux-x64" "1.2.4"
+ "@img/sharp-libvips-linux-x64" "1.3.1"
-"@img/sharp-linuxmusl-arm64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz#d6515ee971bb62f73001a4829b9d865a11b77086"
- integrity sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==
+"@img/sharp-linuxmusl-arm64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.2.tgz#02f6b375ce16b37e36ad29f4cddd4492327af212"
+ integrity sha512-siWbOW1u6HFnFLrp0waKyW7VEf7jYvcDWdrXEFa8AkdAQgEvuu5Fz8/Y70w9EeqAdwDtfU012BhEHHaDqvQNzg==
optionalDependencies:
- "@img/sharp-libvips-linuxmusl-arm64" "1.2.4"
+ "@img/sharp-libvips-linuxmusl-arm64" "1.3.1"
-"@img/sharp-linuxmusl-x64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz#d97978aec7c5212f999714f2f5b736457e12ee9f"
- integrity sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==
+"@img/sharp-linuxmusl-x64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.2.tgz#dc0d8e58a94ea74dc6e65925a975525575f6f3bf"
+ integrity sha512-YBqMMcjDi4QGYiSn4vNOYBhmlC4z5AXqkOUUqI2e0AFA4urNv4ESgOgwNl3K+4etQhha0twXlzeF20bbULm9Yg==
optionalDependencies:
- "@img/sharp-libvips-linuxmusl-x64" "1.2.4"
+ "@img/sharp-libvips-linuxmusl-x64" "1.3.1"
-"@img/sharp-wasm32@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz#2f15803aa626f8c59dd7c9d0bbc766f1ab52cfa0"
- integrity sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==
+"@img/sharp-wasm32@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.35.2.tgz#9f5a3c5e5398127b34fa8fabed07ffdd8ca3428d"
+ integrity sha512-Mrv4JQNYVQ94xH+jzZ9r+gowleN8mv2FTgKT+PI6bx5C0G8TdNYndu161pg2i7uoBwxy2ImPMHrJOM2LZef7Bw==
dependencies:
- "@emnapi/runtime" "^1.7.0"
+ "@emnapi/runtime" "^1.11.1"
-"@img/sharp-win32-arm64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz#3706e9e3ac35fddfc1c87f94e849f1b75307ce0a"
- integrity sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==
+"@img/sharp-webcontainers-wasm32@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.2.tgz#3594f5ea2eacf3481c1787146ade3df7cfd8eebe"
+ integrity sha512-QNV27pxs9wpApEiCfvHM1RDoP1w1+2KrUWWDPEhEwg+latvOrfuhWrHWZKwdSFwU6jh3myjw/yOCRsUIuOft3g==
+ dependencies:
+ "@img/sharp-wasm32" "0.35.2"
+
+"@img/sharp-win32-arm64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.2.tgz#7031c9134fe34e66c24ae21a0eed357430e81e5a"
+ integrity sha512-BiVRYc/t6/Vl3e1hBx0hugG4oN9Pydf4fgMSpxTQJmwGUg/YoXTWHiFeRymHfCZzifxu4F4rpk/I67D0LQ20wQ==
-"@img/sharp-win32-ia32@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz#0b71166599b049e032f085fb9263e02f4e4788de"
- integrity sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==
+"@img/sharp-win32-ia32@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.2.tgz#6b91219defb88215291f9b05d5df8ff98b1be62c"
+ integrity sha512-YYEhx9PImCC7T0tI8JDMi4DB9LwLCXCU5OWNYEXAxh5Q1ShKkyC6byxzoBJ3gEFDnH2lQckWuDe70G7mB2XJog==
-"@img/sharp-win32-x64@0.34.5":
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz#a81ffb00e69267cd0a1d626eaedb8a8430b2b2f8"
- integrity sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==
+"@img/sharp-win32-x64@0.35.2":
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.2.tgz#40652280d873b40c1a68c3b9d6eb09ab2f425901"
+ integrity sha512-imoOyBcoM/iiUr4J6VPpCNjPnjvP/Gks95898yB8YqoGGYmHYbOyCuNv9FMhFgtaiHFGbHW8bxKqRV6VjtXThQ==
"@inquirer/ansi@^1.0.2":
version "1.0.2"
@@ -1168,9 +1182,9 @@
form-data "^4.0.4"
"@types/node@*":
- version "26.1.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-26.1.1.tgz#bad758d601e97d6cf457d204ee76a35fce7bd119"
- integrity sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==
+ version "26.1.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-26.1.2.tgz#da79708f1f9c6294f4cdec8f455a3032b028808a"
+ integrity sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==
dependencies:
undici-types "~8.3.0"
@@ -1373,11 +1387,6 @@ acorn-globals@^7.0.0:
acorn "^8.1.0"
acorn-walk "^8.0.2"
-acorn-import-phases@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7"
- integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==
-
acorn-walk@^8.0.2:
version "8.3.5"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496"
@@ -1538,10 +1547,10 @@ base64-js@^1.3.1:
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-baseline-browser-mapping@^2.10.42:
- version "2.10.44"
- resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.44.tgz#2e074675e640b67cb3835c54c11aa2dd9119c0f8"
- integrity sha512-T3ghW+sl/ZJ8w1v/yQx3qvJ9040DWoLBz8JT/CILbAKcFyG9b2MRe75v6W5uXjv6uH1lumK2Kv46y2zSkcej0Q==
+baseline-browser-mapping@^2.10.44:
+ version "2.11.5"
+ resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.5.tgz#eca24c8ff0c24fcedef86260e2aae8c76b8dbce8"
+ integrity sha512-xJo6a6YZnwZfnyGmQKWMbVOcii7XRibjOskRh+WJ9UHQoX16xrQrcIgAMQOzfvs8XiLMx6ih/fsLPF73iY2D1A==
brace-expansion@^1.1.7:
version "1.1.16"
@@ -1559,13 +1568,13 @@ braces@^3.0.3:
fill-range "^7.1.1"
browserslist@^4.24.0, browserslist@^4.28.1:
- version "4.28.6"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.6.tgz#7cf83afcd69c55fde6fb2dcc5039ff0f4ba42610"
- integrity sha512-FQBYNK15VMslhLHpA7+n+n1GOlF1kId2xcCg7/j95f24AOF6VDYMNH4mFxF7KuaTdv627faazpOAjFzMrfJOUw==
+ version "4.28.7"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.7.tgz#409046517fccd2e51cdc20f077454b7141184028"
+ integrity sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==
dependencies:
- baseline-browser-mapping "^2.10.42"
- caniuse-lite "^1.0.30001803"
- electron-to-chromium "^1.5.389"
+ baseline-browser-mapping "^2.10.44"
+ caniuse-lite "^1.0.30001806"
+ electron-to-chromium "^1.5.393"
node-releases "^2.0.51"
update-browserslist-db "^1.2.3"
@@ -1619,7 +1628,7 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001803:
+caniuse-lite@^1.0.30001806:
version "1.0.30001806"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz#1bc8e502b723fa393455dfbedd5ccec0c29bb74e"
integrity sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==
@@ -1831,10 +1840,10 @@ dunder-proto@^1.0.1:
es-errors "^1.3.0"
gopd "^1.2.0"
-electron-to-chromium@^1.5.389:
- version "1.5.393"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.393.tgz#aec971df2a6f4f7e51fbacb200d66cebfc7d3c17"
- integrity sha512-kiDJdIUawuEIcp9XoICKp1iTYDEbgguIPq526N1Q7jIQDeQ3CqoMx71025PI/7E48Ddtw2HuWsVjY7afEgNxmg==
+electron-to-chromium@^1.5.393:
+ version "1.5.396"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.396.tgz#4aa96428486c8d1c9c8aeb205b2d6e04928ca046"
+ integrity sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==
emittery@^0.13.1:
version "0.13.1"
@@ -1846,7 +1855,7 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-enhanced-resolve@^5.22.2:
+enhanced-resolve@^5.24.2:
version "5.24.3"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.24.3.tgz#406bbf1ec20971265a30254f08030fce6a8207fe"
integrity sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==
@@ -2855,11 +2864,6 @@ lines-and-columns@^1.1.6:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-loader-runner@^4.3.2:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.2.tgz#9913d3a15971f8f635915e601fb5c9d495d918e9"
- integrity sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==
-
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -2939,14 +2943,14 @@ mimic-fn@^2.1.0:
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
miniflare@^4.20260421.0:
- version "4.20260714.0"
- resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-4.20260714.0.tgz#9e6e566320b0664ecbaca9a8205af7ca740b00ef"
- integrity sha512-MYlTCLdWCPqvrYY2uLwOjXwmglXuiHE3TGGkbOW4BwjUPa1r07E0iuHwrNDIs/sxK21r+o90Jx58AV2KeNdJZw==
+ version "4.20260722.0"
+ resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-4.20260722.0.tgz#55c5d2b4b2fca17be2ea2085f8482c93b51e8d40"
+ integrity sha512-LW6ABMhCx/yIEFBLC/DO4yAhdm2T/G7jp7pr5T2kj895+CCIaHZqpMXdW9O6YE48LcYcCJChwWc8aEs1vpbTXw==
dependencies:
"@cspotcode/source-map-support" "0.8.1"
- sharp "0.34.5"
+ sharp "0.35.2"
undici "7.28.0"
- workerd "1.20260714.1"
+ workerd "1.20260722.1"
ws "8.21.0"
youch "4.1.0-beta.10"
@@ -3316,44 +3320,45 @@ semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.5.3, semver@^7.5.4, semver@^7.7.3, semver@^7.8.0:
+semver@^7.5.3, semver@^7.5.4, semver@^7.8.4, semver@^7.8.5:
version "7.8.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.5.tgz#39b646037dd50c14fb451e7e4cac58ed8b863f69"
integrity sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==
-sharp@0.34.5:
- version "0.34.5"
- resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.34.5.tgz#b6f148e4b8c61f1797bde11a9d1cfebbae2c57b0"
- integrity sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==
+sharp@0.35.2:
+ version "0.35.2"
+ resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.35.2.tgz#4437256b654557e2b48279d1e67f086e7872d06a"
+ integrity sha512-FVtFjtBCMiJS6yb5CX7Sop45WFMpeGw6oRKuJnXYgf/f1ms/D7LE/ZUSNxnW7rZ/dbslQWYkoqFHGPaDBtaK4w==
dependencies:
- "@img/colour" "^1.0.0"
+ "@img/colour" "^1.1.0"
detect-libc "^2.1.2"
- semver "^7.7.3"
+ semver "^7.8.4"
optionalDependencies:
- "@img/sharp-darwin-arm64" "0.34.5"
- "@img/sharp-darwin-x64" "0.34.5"
- "@img/sharp-libvips-darwin-arm64" "1.2.4"
- "@img/sharp-libvips-darwin-x64" "1.2.4"
- "@img/sharp-libvips-linux-arm" "1.2.4"
- "@img/sharp-libvips-linux-arm64" "1.2.4"
- "@img/sharp-libvips-linux-ppc64" "1.2.4"
- "@img/sharp-libvips-linux-riscv64" "1.2.4"
- "@img/sharp-libvips-linux-s390x" "1.2.4"
- "@img/sharp-libvips-linux-x64" "1.2.4"
- "@img/sharp-libvips-linuxmusl-arm64" "1.2.4"
- "@img/sharp-libvips-linuxmusl-x64" "1.2.4"
- "@img/sharp-linux-arm" "0.34.5"
- "@img/sharp-linux-arm64" "0.34.5"
- "@img/sharp-linux-ppc64" "0.34.5"
- "@img/sharp-linux-riscv64" "0.34.5"
- "@img/sharp-linux-s390x" "0.34.5"
- "@img/sharp-linux-x64" "0.34.5"
- "@img/sharp-linuxmusl-arm64" "0.34.5"
- "@img/sharp-linuxmusl-x64" "0.34.5"
- "@img/sharp-wasm32" "0.34.5"
- "@img/sharp-win32-arm64" "0.34.5"
- "@img/sharp-win32-ia32" "0.34.5"
- "@img/sharp-win32-x64" "0.34.5"
+ "@img/sharp-darwin-arm64" "0.35.2"
+ "@img/sharp-darwin-x64" "0.35.2"
+ "@img/sharp-freebsd-wasm32" "0.35.2"
+ "@img/sharp-libvips-darwin-arm64" "1.3.1"
+ "@img/sharp-libvips-darwin-x64" "1.3.1"
+ "@img/sharp-libvips-linux-arm" "1.3.1"
+ "@img/sharp-libvips-linux-arm64" "1.3.1"
+ "@img/sharp-libvips-linux-ppc64" "1.3.1"
+ "@img/sharp-libvips-linux-riscv64" "1.3.1"
+ "@img/sharp-libvips-linux-s390x" "1.3.1"
+ "@img/sharp-libvips-linux-x64" "1.3.1"
+ "@img/sharp-libvips-linuxmusl-arm64" "1.3.1"
+ "@img/sharp-libvips-linuxmusl-x64" "1.3.1"
+ "@img/sharp-linux-arm" "0.35.2"
+ "@img/sharp-linux-arm64" "0.35.2"
+ "@img/sharp-linux-ppc64" "0.35.2"
+ "@img/sharp-linux-riscv64" "0.35.2"
+ "@img/sharp-linux-s390x" "0.35.2"
+ "@img/sharp-linux-x64" "0.35.2"
+ "@img/sharp-linuxmusl-arm64" "0.35.2"
+ "@img/sharp-linuxmusl-x64" "0.35.2"
+ "@img/sharp-webcontainers-wasm32" "0.35.2"
+ "@img/sharp-win32-arm64" "0.35.2"
+ "@img/sharp-win32-ia32" "0.35.2"
+ "@img/sharp-win32-x64" "0.35.2"
shebang-command@^2.0.0:
version "2.0.0"
@@ -3588,9 +3593,9 @@ tr46@~0.0.3:
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
ts-jest@^29.3.4:
- version "29.4.11"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.11.tgz#42f5de21c37ccc01a580253afae6955abbf4d0b3"
- integrity sha512-IrFl7l9AuB/qrNw5quqvAv/hmKMb8dhWOH4jQOGo0Oq8tCeo1O86/iTFG1FaRimgUkF13l4PcepO8ATFT6Ns4g==
+ version "29.4.12"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.12.tgz#c34cd91f02d364e9286d2c016843315fd0efff76"
+ integrity sha512-Ov6ClY53Fflh6BGAnY2DlTq1hYDrTycz2PVTXBWFW2CU+9zrEqAp9fWdGXl42EXO5RLSFAcAZ2JFKbP+zBTFfw==
dependencies:
bs-logger "^0.2.6"
fast-json-stable-stringify "^2.1.0"
@@ -3598,7 +3603,7 @@ ts-jest@^29.3.4:
json5 "^2.2.3"
lodash.memoize "^4.1.2"
make-error "^1.3.6"
- semver "^7.8.0"
+ semver "^7.8.5"
type-fest "^4.41.0"
yargs-parser "^21.1.1"
@@ -3717,15 +3722,15 @@ webidl-conversions@^7.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
-webpack-sources@^3.5.0:
+webpack-sources@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.5.1.tgz#76c2418486dcc02b2aa0694c104176c2858fe84a"
integrity sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==
webpack@^5.105.4:
- version "5.108.4"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.108.4.tgz#141818a411662773a0bb32dc5536acc5409943b7"
- integrity sha512-yur8LyJoeiWh47dErD+Ok7vlbmDsJ3UbbRPAoxbGJ54WpE2y5yVo5G/inUzujnYgw3tPmBRdn+G7PoxXaYC33w==
+ version "5.109.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.109.0.tgz#871d8eee5e2d5e6eaf5ec8d1a6db74ea65491030"
+ integrity sha512-vomrngskVVXEZF9sMZfYAd4pXZUnfaWdJGlF+BTNF+gJBCKYCQBnOeVPlrh39Ewl7nlCsirDplMy6o5g9xJHBg==
dependencies:
"@types/estree" "^1.0.8"
"@types/json-schema" "^7.0.15"
@@ -3733,22 +3738,20 @@ webpack@^5.105.4:
"@webassemblyjs/wasm-edit" "^1.14.1"
"@webassemblyjs/wasm-parser" "^1.14.1"
acorn "^8.16.0"
- acorn-import-phases "^1.0.3"
browserslist "^4.28.1"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.22.2"
+ enhanced-resolve "^5.24.2"
es-module-lexer "^2.1.0"
eslint-scope "5.1.1"
events "^3.2.0"
graceful-fs "^4.2.11"
- loader-runner "^4.3.2"
mime-db "^1.54.0"
minimizer-webpack-plugin "^5.6.1"
neo-async "^2.6.2"
schema-utils "^4.3.3"
tapable "^2.3.0"
watchpack "^2.5.2"
- webpack-sources "^3.5.0"
+ webpack-sources "^3.5.1"
whatwg-encoding@^2.0.0:
version "2.0.0"
@@ -3790,16 +3793,16 @@ wordwrap@^1.0.0:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
-workerd@1.20260714.1:
- version "1.20260714.1"
- resolved "https://registry.yarnpkg.com/workerd/-/workerd-1.20260714.1.tgz#60fb9c3651f8ed512bd4eaeff211cc8898c76441"
- integrity sha512-oIbQzfdyl9UQUnG6XLegcSq0Mgt/7WKDbFOoqGgOWCS+/fhyGB460uKEgdAQQ9RHCO/ttcNCX/KiMIQzdoeu3Q==
+workerd@1.20260722.1:
+ version "1.20260722.1"
+ resolved "https://registry.yarnpkg.com/workerd/-/workerd-1.20260722.1.tgz#59e393c8d63acb27664e5895963bfe4ea28e1848"
+ integrity sha512-NycKuc1x2onvsRfGGpM093vRlLFU2zHDAM0+APpccfg4+gZxDGCH27RmdDvkeBuoZyYqgLo3oAfF6re4mvC3vQ==
optionalDependencies:
- "@cloudflare/workerd-darwin-64" "1.20260714.1"
- "@cloudflare/workerd-darwin-arm64" "1.20260714.1"
- "@cloudflare/workerd-linux-64" "1.20260714.1"
- "@cloudflare/workerd-linux-arm64" "1.20260714.1"
- "@cloudflare/workerd-windows-64" "1.20260714.1"
+ "@cloudflare/workerd-darwin-64" "1.20260722.1"
+ "@cloudflare/workerd-darwin-arm64" "1.20260722.1"
+ "@cloudflare/workerd-linux-64" "1.20260722.1"
+ "@cloudflare/workerd-linux-arm64" "1.20260722.1"
+ "@cloudflare/workerd-windows-64" "1.20260722.1"
wrap-ansi@^6.2.0:
version "6.2.0"