@wix/auto_sdk_containers_projects 1.0.15 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.d.ts +4 -4
- package/build/cjs/index.js +4 -2
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +169 -4
- package/build/cjs/index.typings.js +4 -2
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +166 -1
- package/build/cjs/meta.js +4 -2
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +4 -4
- package/build/es/index.mjs +4 -2
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +169 -4
- package/build/es/index.typings.mjs +4 -2
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +166 -1
- package/build/es/meta.mjs +4 -2
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +7 -7
- package/build/internal/cjs/index.typings.d.ts +172 -7
- package/build/internal/cjs/meta.d.ts +166 -1
- package/build/internal/es/index.d.mts +7 -7
- package/build/internal/es/index.typings.d.mts +172 -7
- package/build/internal/es/meta.d.mts +166 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/containers-projects-v1-project-projects.universal.ts","../../src/containers-projects-v1-project-projects.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixContainersProjectsV1Project from './containers-projects-v1-project-projects.http.js';\n\n/**\n * A project represents an app that a user builds with the Wix AI coding agent.\n * A project belongs to the Wix site it's created on. The user's chat with the coding agent about a\n * project is held in [conversations](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction).\n */\nexport interface Project {\n /**\n * Project ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Project name, shown to the user.\n * @maxLength 200\n */\n name?: string;\n /** Project status. */\n status?: ProjectStatusWithLiterals;\n /**\n * ID of the template that the project was created from.\n * @format GUID\n * @immutable\n */\n templateId?: string | null;\n /**\n * ID of the project's source code project. Set automatically when the project is created.\n * @format GUID\n * @readonly\n */\n codeStoreProjectId?: string | null;\n /**\n * ID of the user who created the project.\n * @format GUID\n * @readonly\n */\n ownerUserId?: string | null;\n /**\n * Revision number, which increments by 1 each time the project is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the project.\n *\n * Ignored when creating a project.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the project was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the project was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Whether a remote development environment is being created for the project.\n * @readonly\n */\n sandboxStatus?: SandboxStatusWithLiterals;\n /**\n * IDs of the Wix sites that the project relates to.\n *\n * A project can relate to any number of sites, including none.\n * @format GUID\n */\n metaSiteIds?: string[];\n /**\n * Platform that the project's app targets. Set when the project is created and can't be changed.\n * @immutable\n */\n platform?: V1PlatformWithLiterals;\n /**\n * URL of the app's icon.\n * @maxLength 2000\n */\n appIconUrl?: string | null;\n /**\n * ID of the release that the project is currently on.\n *\n * Your app previews this release, and the next design save or edit by the coding agent branches\n * from it. Set automatically after each design save or edit, and by\n * [Restore Release](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/restore-release).\n * When empty, the project is on its newest release.\n * @maxLength 200\n * @readonly\n */\n headReleaseId?: string | null;\n /**\n * Internal migration lifecycle. Absent for ordinary projects. Only dedicated migration\n * operations may set this field; standard create and update requests cannot change it.\n * @readonly\n */\n oneAppMigration?: OneAppMigration;\n}\n\n/**\n * Project status. The status changes in one direction only: `PLANNING`, then `PLAN_READY`, then\n * `BUILDING`.\n */\nexport enum ProjectStatus {\n /** The user and the coding agent are planning the app. New projects start with this status. */\n PLANNING = 'PLANNING',\n /** The coding agent is building the app, or has built it. The user can continue to request changes. */\n BUILDING = 'BUILDING',\n /** The plan is finalized, and the first build of the app is about to start. */\n PLAN_READY = 'PLAN_READY',\n}\n\n/** @enumType */\nexport type ProjectStatusWithLiterals =\n | ProjectStatus\n | 'PLANNING'\n | 'BUILDING'\n | 'PLAN_READY';\n\nexport enum SandboxStatus {\n /** No remote development environment is being created. */\n NONE = 'NONE',\n /** A remote development environment is being created. */\n CREATING = 'CREATING',\n}\n\n/** @enumType */\nexport type SandboxStatusWithLiterals = SandboxStatus | 'NONE' | 'CREATING';\n\nexport enum V1Platform {\n /** Native iOS app. Used by older projects. */\n IOS = 'IOS',\n /** Native Android app. Used by older projects. */\n ANDROID = 'ANDROID',\n /**\n * Mobile app built from content that's updated over the air, instead of native iOS or Android\n * code. Most new projects use this platform.\n */\n HIMALAYA_MOBILE = 'HIMALAYA_MOBILE',\n}\n\n/** @enumType */\nexport type V1PlatformWithLiterals =\n | V1Platform\n | 'IOS'\n | 'ANDROID'\n | 'HIMALAYA_MOBILE';\n\n/** Tracks the exact draft offered to the site owner. */\nexport interface OneAppMigration {\n state?: OneAppMigrationStateWithLiterals;\n /**\n * Present in OFFERED and ACCEPTED; remains fixed after the offer.\n * @maxLength 200\n */\n offeredReleaseId?: string | null;\n}\n\nexport enum OneAppMigrationState {\n DRAFT = 'DRAFT',\n OFFERED = 'OFFERED',\n ACCEPTED = 'ACCEPTED',\n}\n\n/** @enumType */\nexport type OneAppMigrationStateWithLiterals =\n | OneAppMigrationState\n | 'DRAFT'\n | 'OFFERED'\n | 'ACCEPTED';\n\n/** Details of a request to start a project's remote development environment. */\nexport interface ProjectStartRequested {\n /**\n * ID of the project to start.\n * @format GUID\n */\n projectId?: string;\n}\n\n/** Details of a request to resume a project. */\nexport interface ProjectResumeRequested {\n /**\n * ID of the project to resume.\n * @format GUID\n */\n projectId?: string;\n}\n\n/** Details of a project whose plan is finalized. */\nexport interface ProjectPlanReady {\n /**\n * ID of the project whose plan is finalized.\n * @format GUID\n */\n projectId?: string;\n /**\n * ID of the conversation in which the plan was finalized. The coding agent continues the build in\n * this conversation.\n * @format GUID\n */\n conversationId?: string;\n}\n\nexport interface GetAgentExperimentsRequest {\n /**\n * Project in the authenticated caller's SITE tenant.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface GetAgentExperimentsResponse {\n /** Full typed outcomes for the fixed appsmith-agent scope, including unsuccessful conduction. */\n result?: ConductByScopesResponse;\n}\n\nexport interface ConductByScopesResponse {\n /** the result of each scope by scope id */\n scopeToResult?: Record<string, ConductByScopeResponse>;\n}\n\nexport interface ConductByScopeResponse {\n /** map of experiment id to conduction result */\n experimentToConductionResult?: Record<string, ConductionResult>;\n}\n\n/**\n * The result of conducting an experiment: the resolved variant and the outcome status.\n * Mirrors conductor.library.src.ConductionResult.\n */\nexport interface ConductionResult {\n /** The result variant e.g. A, B, C, ... Z */\n variant?: VariantWithLiterals;\n /** Extra information about the conduction, e.g. successful or failed with reason */\n status?: ConductionStatus;\n}\n\n/** The resolved variant (A=Control, B-Z=Treatment). Mirrors conductor.result.Variants. */\nexport enum Variant {\n VARIANT_UNSPECIFIED = 'VARIANT_UNSPECIFIED',\n A = 'A',\n B = 'B',\n C = 'C',\n D = 'D',\n E = 'E',\n F = 'F',\n G = 'G',\n H = 'H',\n I = 'I',\n J = 'J',\n K = 'K',\n L = 'L',\n M = 'M',\n N = 'N',\n O = 'O',\n P = 'P',\n Q = 'Q',\n R = 'R',\n S = 'S',\n T = 'T',\n U = 'U',\n V = 'V',\n W = 'W',\n X = 'X',\n Y = 'Y',\n Z = 'Z',\n}\n\n/** @enumType */\nexport type VariantWithLiterals =\n | Variant\n | 'VARIANT_UNSPECIFIED'\n | 'A'\n | 'B'\n | 'C'\n | 'D'\n | 'E'\n | 'F'\n | 'G'\n | 'H'\n | 'I'\n | 'J'\n | 'K'\n | 'L'\n | 'M'\n | 'N'\n | 'O'\n | 'P'\n | 'Q'\n | 'R'\n | 'S'\n | 'T'\n | 'U'\n | 'V'\n | 'W'\n | 'X'\n | 'Y'\n | 'Z';\n\n/**\n * Represents the status of a conduction result.\n * This can be either a successful result or a specific type of failure, detailing the reason for the failure.\n */\nexport interface ConductionStatus extends ConductionStatusStatusOneOf {\n /** Indicates a successful conduction with optional target group information */\n successfulResult?: SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: PopulationError;\n /** Represents a general exception that occurred during conduction */\n conductionException?: ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: MissingSeedKeyType;\n /** Indicates that no experiment with the given ID was found */\n missingExperimentId?: MissingExperimentId;\n /** Indicates a failure to fetch the experiment */\n failedToFetchExperiment?: FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for conduction */\n missingPlugins?: MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: MissingFilterTarget;\n /** Represents a general error during conduction */\n generalError?: GeneralError;\n /** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\n missingElementInContextForBiProfileError?: MissingElementInContextForBiProfileError;\n /** Indicates that an additional data was provided a missing value */\n additionalDataMissingValue?: AdditionalDataMissingValue;\n /** Indicates that library configuration is invalid */\n invalidLibraryConfiguration?: InvalidLibraryConfiguration;\n /** Indicates that the conduction produced no result for this experiment */\n noResultForConduction?: NoResultForConduction;\n}\n\n/** @oneof */\nexport interface ConductionStatusStatusOneOf {\n /** Indicates a successful conduction with optional target group information */\n successfulResult?: SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: PopulationError;\n /** Represents a general exception that occurred during conduction */\n conductionException?: ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: MissingSeedKeyType;\n /** Indicates that no experiment with the given ID was found */\n missingExperimentId?: MissingExperimentId;\n /** Indicates a failure to fetch the experiment */\n failedToFetchExperiment?: FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for conduction */\n missingPlugins?: MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: MissingFilterTarget;\n /** Represents a general error during conduction */\n generalError?: GeneralError;\n /** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\n missingElementInContextForBiProfileError?: MissingElementInContextForBiProfileError;\n /** Indicates that an additional data was provided a missing value */\n additionalDataMissingValue?: AdditionalDataMissingValue;\n /** Indicates that library configuration is invalid */\n invalidLibraryConfiguration?: InvalidLibraryConfiguration;\n /** Indicates that the conduction produced no result for this experiment */\n noResultForConduction?: NoResultForConduction;\n}\n\n/** Indicates a successful conduction */\nexport interface SuccessfulResult {\n /**\n * Optional key representing the target group which matched with the caller's identity\n * @maxLength 5000\n */\n targetGroupKey?: string;\n}\n\n/** Indicates that a required seed value is missing */\nexport interface MissingSeed {\n /**\n * The name of the missing seed\n * @maxLength 5000\n */\n seed?: string;\n}\n\n/** Indicates an error occurred while trying to filter based on populations */\nexport interface PopulationError {\n /**\n * The serialized error message that occurred\n * @maxLength 5000\n */\n error?: string;\n /**\n * The list of population IDs involved in the error\n * @maxLength 5000\n * @maxSize 5000\n */\n populationIds?: string[];\n}\n\n/** Represents a general exception that occurred during conduction */\nexport interface ConductionException {\n /**\n * The serialized exception message\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates that a required seed type is missing */\nexport interface MissingSeedType {}\n\n/** Indicates that a required seed key type is missing */\nexport interface MissingSeedKeyType {}\n\n/** Indicates that no experiment with the given ID was found */\nexport interface MissingExperimentId {}\n\n/** Indicates a failure to fetch the experiment */\nexport interface FailedToFetchExperiment {\n /**\n * The serialized error message encountered while fetching\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates that necessary plugins are missing for conduction */\nexport interface MissingPlugins {}\n\n/** Indicates that the randomization process failed */\nexport interface FailedToRunToss {}\n\n/** Indicates that no eligible filter was found during evaluation */\nexport interface DidNotFindEligibleFilter {}\n\n/** Indicates that a filter used in target groups is not supported */\nexport interface FilterNotSupported {}\n\n/** Indicates that a filter used in target groups is not implemented */\nexport interface FilterNotImplemented {}\n\n/** Indicates that the user did not provide a required key in additional data */\nexport interface AdditionalDataFilterMissingKey {\n /**\n * The missing key in the additional data\n * @maxLength 5000\n */\n key?: string;\n}\n\n/** Indicates that an additional data filter must have some key */\nexport interface AdditionalDataFilterMustHaveKey {}\n\n/** Indicates a type mismatch in additional data used by a filter */\nexport interface AdditionalDataFilterMismatchType {}\n\n/** Indicates that an additional filter cannot be empty */\nexport interface AdditionalFilterCantBeEmpty {}\n\n/** Indicates that one or more filter operands are empty */\nexport interface FilterOperandEmpty {}\n\n/** Indicates that information required for evaluating filters is missing */\nexport interface MissingFilterTarget {\n /**\n * The type of filter that's missing its target\n * @maxLength 5000\n */\n filterType?: string;\n}\n\n/** Represents a general error during conduction */\nexport interface GeneralError {\n /**\n * The serialized error message\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\nexport interface MissingElementInContextForBiProfileError {\n /**\n * The specific type of element in the bi-profile filter that was being attempted to be extracted from the context\n * @maxLength 100\n */\n biProfileType?: string;\n}\n\n/** Indicates that an additional data was provided a missing value */\nexport interface AdditionalDataMissingValue {\n /**\n * The key that was missing a value\n * @maxLength 5000\n */\n key?: string;\n}\n\n/** Indicates that library configuration is invalid */\nexport interface InvalidLibraryConfiguration {\n /**\n * The reason why the configuration is invalid\n * @maxLength 5000\n */\n reason?: string;\n}\n\n/** Indicates that the conduction produced no result for this experiment */\nexport interface NoResultForConduction {}\n\nexport interface GetAgentConfigRequest {\n /**\n * Project in the authenticated caller's SITE tenant.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface GetAgentConfigResponse {\n /** Full typed AppSmithSandboxAgent result; unsuccessful evaluation is not a successful default. */\n result?: ConductResponse;\n}\n\nexport interface ConductResponse {\n /** The result of conducting the dynamic config */\n dynamicConfigResult?: DynamicConfigConductionResult;\n}\n\nexport interface DynamicConfigConductionResult {\n /** The conducted value. A dynamic config's fields arrive in `struct_value` */\n value?: VariantValue;\n /**\n * Provides additional information about the outcome of this dynamic config, so one failure\n * does not obscure the rest of the scope\n */\n status?: DynamicConfigStatus;\n}\n\nexport interface VariantValue extends VariantValueValueOneOf {\n intValue?: number;\n strValue?: string;\n booleanValue?: boolean;\n timestampValue?: Date | null;\n structValue?: Record<string, any> | null;\n}\n\n/** @oneof */\nexport interface VariantValueValueOneOf {\n intValue?: number;\n strValue?: string;\n booleanValue?: boolean;\n timestampValue?: Date | null;\n structValue?: Record<string, any> | null;\n}\n\n/** Represents the status of a dynamic config IsEnabled evaluation result. */\nexport interface DynamicConfigStatus extends DynamicConfigStatusStatusOneOf {\n /** Indicates a successful evaluation with optional target group information */\n successfulResult?: V1SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: V1MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: V1PopulationError;\n /** Represents a general exception that occurred during evaluation */\n conductionException?: V1ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: V1MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: V1MissingSeedKeyType;\n /** Indicates that no dynamic config with the given ID was found */\n missingExperimentId?: V1MissingExperimentId;\n /** Indicates a failure to fetch the dynamic config */\n failedToFetchExperiment?: V1FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for evaluation */\n missingPlugins?: V1MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: V1FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: V1DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: V1FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: V1FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: V1AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: V1AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: V1AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: V1AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: V1FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: V1MissingFilterTarget;\n /** Represents a general error during evaluation */\n generalError?: V1GeneralError;\n /** Included for forward-compatibility; the DC library does not currently emit this */\n noResultForConduction?: V1NoResultForConduction;\n /** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\n missingElementInContextForBiProfileError?: V1MissingElementInContextForBiProfileError;\n /** Indicates that additional data was provided a missing value */\n additionalDataMissingValue?: V1AdditionalDataMissingValue;\n /** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\n isEnabledFieldNotFound?: IsEnabledFieldNotFound;\n /** Indicates the \"isEnabled\" field exists but is not of type Boolean */\n isEnabledFieldNotOfTypeBoolean?: IsEnabledFieldNotOfTypeBoolean;\n /** Indicates that this operation is not implemented by the library implementation */\n notImplemented?: NotImplemented;\n}\n\n/** @oneof */\nexport interface DynamicConfigStatusStatusOneOf {\n /** Indicates a successful evaluation with optional target group information */\n successfulResult?: V1SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: V1MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: V1PopulationError;\n /** Represents a general exception that occurred during evaluation */\n conductionException?: V1ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: V1MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: V1MissingSeedKeyType;\n /** Indicates that no dynamic config with the given ID was found */\n missingExperimentId?: V1MissingExperimentId;\n /** Indicates a failure to fetch the dynamic config */\n failedToFetchExperiment?: V1FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for evaluation */\n missingPlugins?: V1MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: V1FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: V1DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: V1FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: V1FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: V1AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: V1AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: V1AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: V1AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: V1FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: V1MissingFilterTarget;\n /** Represents a general error during evaluation */\n generalError?: V1GeneralError;\n /** Included for forward-compatibility; the DC library does not currently emit this */\n noResultForConduction?: V1NoResultForConduction;\n /** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\n missingElementInContextForBiProfileError?: V1MissingElementInContextForBiProfileError;\n /** Indicates that additional data was provided a missing value */\n additionalDataMissingValue?: V1AdditionalDataMissingValue;\n /** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\n isEnabledFieldNotFound?: IsEnabledFieldNotFound;\n /** Indicates the \"isEnabled\" field exists but is not of type Boolean */\n isEnabledFieldNotOfTypeBoolean?: IsEnabledFieldNotOfTypeBoolean;\n /** Indicates that this operation is not implemented by the library implementation */\n notImplemented?: NotImplemented;\n}\n\n/** Indicates a successful dynamic config evaluation */\nexport interface V1SuccessfulResult {\n /**\n * Optional key representing the target group which matched with the caller's identity\n * @maxLength 5000\n */\n targetGroupKey?: string | null;\n}\n\n/** Indicates that a required seed value is missing */\nexport interface V1MissingSeed {\n /**\n * The name of the missing seed\n * @maxLength 5000\n */\n seed?: string | null;\n}\n\n/** Indicates an error occurred while trying to filter based on populations */\nexport interface V1PopulationError {\n /**\n * The serialized error message that occurred\n * @maxLength 5000\n */\n error?: string | null;\n /**\n * The list of population IDs involved in the error\n * @maxLength 5000\n * @maxSize 5000\n */\n populationIds?: string[] | null;\n}\n\n/** Represents a general exception that occurred during evaluation */\nexport interface V1ConductionException {\n /**\n * The serialized exception message\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Indicates that a required seed type is missing */\nexport interface V1MissingSeedType {}\n\n/** Indicates that a required seed key type is missing */\nexport interface V1MissingSeedKeyType {}\n\n/** Indicates that no dynamic config with the given ID was found */\nexport interface V1MissingExperimentId {}\n\n/** Indicates a failure to fetch the dynamic config */\nexport interface V1FailedToFetchExperiment {\n /**\n * The serialized error message encountered while fetching\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Indicates that necessary plugins are missing for evaluation */\nexport interface V1MissingPlugins {}\n\n/** Indicates that the randomization process failed */\nexport interface V1FailedToRunToss {}\n\n/** Indicates that no eligible filter was found during evaluation */\nexport interface V1DidNotFindEligibleFilter {}\n\n/** Indicates that a filter used in target groups is not supported */\nexport interface V1FilterNotSupported {}\n\n/** Indicates that a filter used in target groups is not implemented */\nexport interface V1FilterNotImplemented {}\n\n/** Indicates that the user did not provide a required key in additional data */\nexport interface V1AdditionalDataFilterMissingKey {\n /**\n * The missing key in the additional data\n * @maxLength 5000\n */\n key?: string | null;\n}\n\n/** Indicates that an additional data filter must have some key */\nexport interface V1AdditionalDataFilterMustHaveKey {}\n\n/** Indicates a type mismatch in additional data used by a filter */\nexport interface V1AdditionalDataFilterMismatchType {}\n\n/** Indicates that an additional filter cannot be empty */\nexport interface V1AdditionalFilterCantBeEmpty {}\n\n/** Indicates that one or more filter operands are empty */\nexport interface V1FilterOperandEmpty {}\n\n/** Indicates that information required for evaluating filters is missing */\nexport interface V1MissingFilterTarget {\n /**\n * The type of filter that's missing its target\n * @maxLength 5000\n */\n filterType?: string | null;\n}\n\n/** Represents a general error during evaluation */\nexport interface V1GeneralError {\n /**\n * The serialized error message\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Included for forward-compatibility; the DC library does not currently emit this */\nexport interface V1NoResultForConduction {}\n\n/** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\nexport interface V1MissingElementInContextForBiProfileError {\n /**\n * The specific type of element in the bi-profile filter\n * @maxLength 100\n */\n biProfileType?: string | null;\n}\n\n/** Indicates that additional data was provided a missing value */\nexport interface V1AdditionalDataMissingValue {\n /**\n * The key that is missing a value\n * @maxLength 5000\n */\n key?: string | null;\n}\n\n/** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\nexport interface IsEnabledFieldNotFound {}\n\n/** Indicates the \"isEnabled\" field exists but is not of type Boolean */\nexport interface IsEnabledFieldNotOfTypeBoolean {}\n\n/** Indicates that this operation is not implemented by the library implementation */\nexport interface NotImplemented {}\n\nexport interface CreateAgentSessionRequest {\n /**\n * ID of the Project to create an agent session for.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface CreateAgentSessionResponse {\n /**\n * Agent session ID materialized for the Project.\n * @format GUID\n */\n agentSessionId?: string;\n}\n\nexport interface RefreshAgentSiteTokenRequest {\n /**\n * Exact project/job tuple whose initiating user's site token should be re-minted.\n * @format GUID\n */\n projectId?: string;\n /**\n * Job whose persisted initiating user and MetaSite provenance must be revalidated.\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface RefreshAgentSiteTokenResponse {\n /**\n * A freshly minted site-scoped access token for the project owner. Sensitive credential material:\n * marked pii so the platform redacts it from request/response logging (never log it in app code either).\n * maxLength matches the sibling containers-project-versions token fields (4096) — ample for the\n * oauth2-ng user access token, and required by the string-validation standard.\n * @maxLength 4096\n */\n accessToken?: string;\n /** Seconds until the returned token expires, as reported by oauth2-ng. */\n expiresIn?: string;\n /** Version of the job-bound authorization response contract. */\n authorizationVersion?: number;\n /**\n * The project authorized by this refresh.\n * @format GUID\n */\n projectId?: string;\n /**\n * The job authorized by this refresh.\n * @format GUID\n */\n jobId?: string;\n /**\n * Trusted MetaSite captured when the job was created.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Trusted dashboard USER captured when the job was created.\n * @format GUID\n */\n initiatingUserId?: string;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface CreateProjectRequest {\n /** Project to create. */\n project: Project;\n}\n\nexport interface CreateProjectResponse {\n /** Created project. */\n project?: Project;\n}\n\nexport interface GetProjectRequest {\n /**\n * ID of the project to retrieve.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetProjectResponse {\n /** Retrieved project. */\n project?: Project;\n}\n\nexport interface UpdateProjectRequest {\n /** Project to update. */\n project: Project;\n /**\n * Set of fields to update. Fields not in the mask are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateProjectResponse {\n /** Updated project. */\n project?: Project;\n}\n\nexport interface DeleteProjectRequest {\n /**\n * ID of the project to delete.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface DeleteProjectResponse {}\n\nexport interface StartProjectRequest {\n /**\n * ID of the project to start.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface StartProjectResponse {\n /** Project whose environment is starting. */\n project?: Project;\n}\n\nexport interface ResumeProjectRequest {\n /**\n * ID of the project to resume.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface ResumeProjectResponse {\n /** Resumed project. The project is returned unchanged; its environment starts in the background. */\n project?: Project;\n}\n\nexport interface RegenerateProjectNameRequest {\n /**\n * ID of the project to generate a name for.\n * @format GUID\n */\n projectId: string;\n /**\n * User's instruction for the new name. For example, `Make it shorter and more playful`.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateProjectNameResponse {\n /**\n * Suggested project name. Not saved.\n * @maxLength 30\n */\n name?: string;\n}\n\nexport interface RegenerateProjectIconRequest {\n /**\n * ID of the project to generate an icon for.\n * @format GUID\n */\n projectId: string;\n /**\n * User's instruction for the new icon. For example, `Use a minimal coffee cup`.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateProjectIconResponse {\n /**\n * URL of the suggested icon. Not saved.\n * @format WEB_URL\n */\n iconUrl?: string;\n}\n\nexport interface ListProjectsForCurrentUserRequest {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface ListProjectsForCurrentUserResponse {\n /** Projects that the current user owns. */\n projects?: Project[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface SaveProjectDesignRequest {\n /**\n * ID of the project whose design to save.\n * @format GUID\n */\n projectId: string;\n /**\n * ID of the release that the user is currently viewing.\n *\n * The new draft release branches from this release, even if a newer release exists.\n * @maxLength 100\n */\n baseReleaseId: string;\n /**\n * Complete design-token document, as a string that contains a single JSON object.\n *\n * Specify the whole document, not only the values that changed. Keep any token groups and light or\n * dark mode values that you didn't change.\n * @maxLength 65536\n */\n tokensJson: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n * This isn't the app's ID.\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the design is saved from.\n *\n * When specified, a `CHECKPOINT` message that marks the saved version is added to the conversation.\n * The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\nexport interface SaveProjectDesignResponse {\n /**\n * ID of the saved draft release.\n * @maxLength 100\n */\n himalayaReleaseId?: string;\n /**\n * Short-lived token for previewing the saved draft release.\n * @maxLength 4096\n */\n previewToken?: string;\n /** Date and time the preview token expires. */\n previewTokenExpiresAt?: Date | null;\n}\n\nexport interface RestoreReleaseRequest {\n /**\n * ID of the project to restore a release for.\n * @format GUID\n */\n projectId: string;\n /**\n * ID of the release to restore. For example, `rel-4f9c2a1b7d3e`.\n * @maxLength 200\n */\n releaseId: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * When specified, the release is checked to belong to the project before it's restored. Used for\n * this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the release is restored from.\n *\n * When specified, a `CHECKPOINT` message that marks the restored version is added to the\n * conversation. The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\nexport interface RestoreReleaseResponse {\n /** Updated project. `headReleaseId` is set to the restored release. */\n project?: Project;\n}\n\nexport interface ListProjectsRequest {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\nexport interface ListProjectsResponse {\n /** Projects of the current site. */\n projects?: Project[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface BoListProjectsRequest {\n /**\n * IDs of the sites whose projects to retrieve. Each ID may appear once.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n metaSiteIds?: string[];\n}\n\nexport interface BoListProjectsResponse {\n /**\n * Projects of each requested site, in request order.\n * @maxSize 100\n */\n sites?: BoSiteProjects[];\n}\n\n/** Projects of one site. */\nexport interface BoSiteProjects {\n /**\n * ID of the site.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Projects of the site. Empty when the site has none. At most 1,000 are returned for a site.\n * @maxSize 1000\n */\n projects?: Project[];\n}\n\nexport interface GetHimalayaAuthorizationRequest {\n /**\n * ID of the project to check.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetHimalayaAuthorizationResponse {\n /** Version of the response format. Currently always `1`. */\n authorizationVersion?: number;\n /**\n * ID of the Wix site that the check was made for.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Project ID.\n * @format GUID\n */\n projectId?: string;\n /**\n * Canonical slug of the project's app.\n *\n * Specify this value in `canonicalApp` when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n * @maxLength 200\n */\n canonicalApp?: string;\n /** Whether the current user can start new work by the coding agent on the project. */\n workerLaunch?: boolean;\n /** Whether the current user can save the project's design. */\n saveDesign?: boolean;\n}\n\nexport interface StartMobileBuildRequest {\n /**\n * ID of the project to build.\n * @format GUID\n */\n projectId: string;\n /**\n * Platforms to build. One build is started for each platform.\n * @minSize 1\n * @maxSize 2\n */\n platforms: PlatformWithLiterals[];\n /**\n * ID of the app release to build. When not specified, the app's live release is built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label for the builds, for example `1.2.0`. It's stored with the builds and returned by\n * Get Latest Mobile Builds. It isn't written into the app.\n * @maxLength 50\n */\n appVersion?: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * Android only. Kind of file to build. Default: `APK`.\n *\n * `AAB` builds the file to upload to Google Play, under the package name saved for the app in\n * Himalaya. With `AAB`, `platforms` must be only `ANDROID`, and `owner_authorization` is required.\n */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * The site owner's dashboard authorization: the signed `Authorization` header of this request.\n * Required with `android_format: AAB`: Himalaya checks that whoever starts a Google Play file owns the site.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n ownerAuthorization?: string;\n}\n\n/** Platform that an app-file build targets. */\nexport enum Platform {\n /** iOS. The build makes an `.ipa` file and an install page. */\n IOS = 'IOS',\n /** Android. The build makes an `.apk` file, or an `.aab` file for Google Play (see `androidFormat`). */\n ANDROID = 'ANDROID',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals = Platform | 'IOS' | 'ANDROID';\n\n/** Kind of file an Android build makes. */\nexport enum AndroidFormat {\n /** An `.apk` file, to install on a phone and test. */\n APK = 'APK',\n /** An `.aab` file (Android App Bundle), the file to upload to Google Play. It can't be installed on a phone. */\n AAB = 'AAB',\n}\n\n/** @enumType */\nexport type AndroidFormatWithLiterals = AndroidFormat | 'APK' | 'AAB';\n\nexport interface StartMobileBuildResponse {\n /**\n * Started builds, one for each platform that was accepted.\n * @maxSize 2\n */\n builds?: MobileBuild[];\n /**\n * Platforms whose build couldn't be started. Empty when every platform was started.\n * @maxSize 2\n */\n failedPlatforms?: FailedMobileBuildPlatform[];\n}\n\n/** One build of a project's installable app files, for one platform. */\nexport interface MobileBuild {\n /**\n * Build ID.\n * @maxLength 200\n */\n jobId?: string;\n /** Platform that the build targets. */\n platform?: PlatformWithLiterals;\n /**\n * ID of the app release that was built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label that the owner gave the build when it was started. Can be empty.\n * @maxLength 50\n */\n appVersion?: string;\n /** Build status. */\n status?: StatusWithLiterals;\n /** Why the build failed. Returned only when `status` is `FAILED`. */\n failureKind?: FailureKindWithLiterals;\n /**\n * Status reported by the build system, for diagnostics only.\n * @maxLength 50\n */\n himalayaStatus?: string;\n /**\n * Error text reported by the build system, for diagnostics only. Don't parse it.\n * @maxLength 2000\n */\n errorMessage?: string;\n /**\n * URL of the built file: an `.ipa` file for iOS, or an `.apk` or `.aab` file for Android.\n * Returned only when `status` is `SUCCEEDED`. Can be empty for iOS.\n * @format WEB_URL\n */\n downloadUrl?: string;\n /**\n * iOS only. URL of the page that installs the app on an iPhone.\n * Returned only when `status` is `SUCCEEDED`. Can be empty.\n * @format WEB_URL\n */\n installPageUrl?: string;\n /** Date and time the download links expire, about 7 days after the build. */\n downloadExpiresDate?: Date | null;\n /** Whether the download links have expired. To get new links, start a new build. */\n downloadExpired?: boolean;\n /** Date and time the build was started. */\n _createdDate?: Date | null;\n /** Date and time the build was first seen as `SUCCEEDED`. */\n builtDate?: Date | null;\n /** Date and time the build last changed. */\n _updatedDate?: Date | null;\n /** Android only. Kind of file the build made: an `.apk` to install and test, or an `.aab` to upload to Google Play. */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * Android `AAB` builds only. URL of an `.apk` file of the same build, to install on a phone and test.\n * Returned only when `status` is `SUCCEEDED`. Can be empty. Expires with `download_url`.\n * @format WEB_URL\n */\n apkDownloadUrl?: string;\n}\n\n/** Status of an app-file build. */\nexport enum Status {\n /** The build is queued or running. */\n IN_PROGRESS = 'IN_PROGRESS',\n /** The build finished and its files can be downloaded until `downloadExpiresDate`. */\n SUCCEEDED = 'SUCCEEDED',\n /** The build failed. See `failureKind`. */\n FAILED = 'FAILED',\n /** The build was canceled. */\n CANCELED = 'CANCELED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n | Status\n | 'IN_PROGRESS'\n | 'SUCCEEDED'\n | 'FAILED'\n | 'CANCELED';\n\n/** Why an app-file build failed. */\nexport enum FailureKind {\n /** The app couldn't be signed. */\n SIGNING = 'SIGNING',\n /** The build failed for another reason. */\n BUILD = 'BUILD',\n}\n\n/** @enumType */\nexport type FailureKindWithLiterals = FailureKind | 'SIGNING' | 'BUILD';\n\n/** A platform whose build couldn't be started. */\nexport interface FailedMobileBuildPlatform {\n /** Platform. */\n platform?: PlatformWithLiterals;\n /**\n * Error code reported by the build system.\n * @maxLength 200\n */\n errorCode?: string;\n /**\n * Error text reported by the build system, for diagnostics only.\n * @maxLength 2000\n */\n errorMessage?: string;\n}\n\nexport interface GetLatestMobileBuildsRequest {\n /**\n * ID of the project.\n * @format GUID\n */\n projectId: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * When specified, builds in progress are refreshed before the response. Used for this call only.\n * It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n}\n\nexport interface GetLatestMobileBuildsResponse {\n /**\n * Latest builds for each platform: iOS first, then Android.\n * @maxSize 2\n */\n platforms?: PlatformMobileBuilds[];\n /** Whether refreshing builds in progress failed. When `true`, the stored state is returned. */\n refreshFailed?: boolean;\n}\n\n/** The latest app-file builds of a project for one platform. */\nexport interface PlatformMobileBuilds {\n /** Platform. */\n platform?: PlatformWithLiterals;\n /** The last build that was started, in any status. Not returned when no build was started. */\n lastAttempt?: MobileBuild;\n /** The last build that succeeded. Its links can be expired. Not returned when no build succeeded. */\n lastSuccessfulBuild?: MobileBuild;\n}\n\nexport interface ClaimHimalayaAppRequest {\n /**\n * Site-tenanted Containers project to claim a Himalaya app for.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface ClaimHimalayaAppResponse {\n /** Version of the authorization capability contract. Matches GetHimalayaAuthorizationResponse. */\n authorizationVersion?: number;\n /**\n * Trusted MetaSite selected from request identity context, never from the request body.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Site-tenanted Containers project the app is bound to.\n * @format GUID\n */\n projectId?: string;\n /**\n * Canonical Himalaya app slug, newly claimed or already bound.\n * @maxLength 200\n */\n canonicalApp?: string;\n}\n\n/**\n * Creates a project from a template.\n *\n * The project is created with `PLANNING` status.\n * @param project - Project to create.\n * @internal\n * @documentationMaturity preview\n * @requiredField project\n * @requiredField project.platform\n * @requiredField project.templateId\n * @permissionId containers:projects:v1:project:create_project\n * @returns Created project.\n * @fqn wix.containers.projects.v1.ContainersProjects.CreateProject\n */\nexport async function createProject(\n project: NonNullablePaths<Project, `platform` | `templateId`, 0>\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ project: project });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.createProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { project: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['project']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a project.\n * @param projectId - ID of the project to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_project\n * @applicableIdentity APP\n * @returns Retrieved project.\n * @fqn wix.containers.projects.v1.ContainersProjects.GetProject\n */\nexport async function getProject(\n projectId: string\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts = ambassadorWixContainersProjectsV1Project.getProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a project.\n *\n * Each time the project is updated, `revision` increments by 1. The current `revision` must be\n * passed when updating the project. This ensures you're working with the latest project and\n * prevents unintended overwrites.\n * @param _id - Project ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField project\n * @requiredField project.revision\n * @permissionId containers:projects:v1:project:update_project\n * @returns Updated project.\n * @fqn wix.containers.projects.v1.ContainersProjects.UpdateProject\n */\nexport async function updateProject(\n _id: string,\n project: NonNullablePaths<UpdateProject, `revision`, 0>\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n project: { ...project, id: _id },\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.updateProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { project: '$[1]' },\n explicitPathsToArguments: { 'project.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'project']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProject {\n /**\n * Project ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Project name, shown to the user.\n * @maxLength 200\n */\n name?: string;\n /** Project status. */\n status?: ProjectStatusWithLiterals;\n /**\n * ID of the template that the project was created from.\n * @format GUID\n * @immutable\n */\n templateId?: string | null;\n /**\n * ID of the project's source code project. Set automatically when the project is created.\n * @format GUID\n * @readonly\n */\n codeStoreProjectId?: string | null;\n /**\n * ID of the user who created the project.\n * @format GUID\n * @readonly\n */\n ownerUserId?: string | null;\n /**\n * Revision number, which increments by 1 each time the project is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the project.\n *\n * Ignored when creating a project.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the project was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the project was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Whether a remote development environment is being created for the project.\n * @readonly\n */\n sandboxStatus?: SandboxStatusWithLiterals;\n /**\n * IDs of the Wix sites that the project relates to.\n *\n * A project can relate to any number of sites, including none.\n * @format GUID\n */\n metaSiteIds?: string[];\n /**\n * Platform that the project's app targets. Set when the project is created and can't be changed.\n * @immutable\n */\n platform?: V1PlatformWithLiterals;\n /**\n * URL of the app's icon.\n * @maxLength 2000\n */\n appIconUrl?: string | null;\n /**\n * ID of the release that the project is currently on.\n *\n * Your app previews this release, and the next design save or edit by the coding agent branches\n * from it. Set automatically after each design save or edit, and by\n * [Restore Release](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/restore-release).\n * When empty, the project is on its newest release.\n * @maxLength 200\n * @readonly\n */\n headReleaseId?: string | null;\n /**\n * Internal migration lifecycle. Absent for ordinary projects. Only dedicated migration\n * operations may set this field; standard create and update requests cannot change it.\n * @readonly\n */\n oneAppMigration?: OneAppMigration;\n}\n\n/**\n * Deletes a project.\n * @param projectId - ID of the project to delete.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:delete_project\n * @fqn wix.containers.projects.v1.ContainersProjects.DeleteProject\n */\nexport async function deleteProject(projectId: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.deleteProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Resumes work on a project by starting its remote development environment, or by reusing an\n * environment that's already running.\n *\n * Call this method when a user returns to a project with `BUILDING` status, before they send new\n * requests to the coding agent. The environment starts in the background, and the method returns\n * the project without waiting for it. The API doesn't report when the environment is ready. The\n * coding agent picks up new work as soon as it is.\n *\n * The project's `status` must be `BUILDING`.\n * @param projectId - ID of the project to resume.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:resume_project\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.ResumeProject\n */\nexport async function resumeProject(\n projectId: string\n): Promise<\n NonNullablePaths<\n ResumeProjectResponse,\n | `project.name`\n | `project.status`\n | `project.sandboxStatus`\n | `project.metaSiteIds`\n | `project.platform`\n | `project.oneAppMigration.state`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.resumeProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates a suggested name for a project, based on the user's instruction.\n *\n * The suggested name isn't saved. To save it, call Update Project.\n * @param projectId - ID of the project to generate a name for.\n * @param prompt - User's instruction for the new name. For example, `Make it shorter and more playful`.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField prompt\n * @permissionId containers:projects:v1:project:regenerate_project_name\n * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectName\n */\nexport async function regenerateProjectName(\n projectId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateProjectNameResponse, `name`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n prompt: prompt,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.regenerateProjectName(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates a suggested icon for a project, based on the user's instruction.\n *\n * The icon is based on the project's current name, icon, description, and brand colors. The\n * suggested icon isn't saved. To save it, call Update Project.\n * @param projectId - ID of the project to generate an icon for.\n * @param prompt - User's instruction for the new icon. For example, `Use a minimal coffee cup`.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField prompt\n * @permissionId containers:projects:v1:project:regenerate_project_icon\n * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectIcon\n */\nexport async function regenerateProjectIcon(\n projectId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateProjectIconResponse, `iconUrl`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n prompt: prompt,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.regenerateProjectIcon(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Saves a project's design as a new draft release.\n *\n * Specify the complete design-token document in `tokensJson`, and the release that the user is\n * currently viewing in `baseReleaseId`. The new draft release branches from `baseReleaseId`, even\n * if a newer release exists. Saving a design doesn't change the project's live app.\n *\n * The response includes the ID of the new release and a short-lived token for previewing it. After\n * the save, the project's `headReleaseId` is set to the new release.\n *\n * To record the saved version in a conversation, specify the conversation's ID in `conversationId`.\n * A `CHECKPOINT` message is then added to the conversation. If the checkpoint can't be added, the\n * design is still saved.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n * @param projectId - ID of the project whose design to save.\n * @param baseReleaseId - ID of the release that the user is currently viewing.\n *\n * The new draft release branches from this release, even if a newer release exists.\n * @public\n * @documentationMaturity preview\n * @requiredField baseReleaseId\n * @requiredField options.himalayaControlToken\n * @requiredField options.tokensJson\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:save_project_design\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.SaveProjectDesign\n */\nexport async function saveProjectDesign(\n projectId: string,\n baseReleaseId: string,\n options?: NonNullablePaths<\n SaveProjectDesignOptions,\n `himalayaControlToken` | `tokensJson`,\n 0\n >\n): Promise<\n NonNullablePaths<\n SaveProjectDesignResponse,\n `himalayaReleaseId` | `previewToken`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n baseReleaseId: baseReleaseId,\n tokensJson: options?.tokensJson,\n himalayaControlToken: options?.himalayaControlToken,\n canonicalApp: options?.canonicalApp,\n conversationId: options?.conversationId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.saveProjectDesign(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n baseReleaseId: '$[1]',\n tokensJson: '$[2].tokensJson',\n himalayaControlToken: '$[2].himalayaControlToken',\n canonicalApp: '$[2].canonicalApp',\n conversationId: '$[2].conversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'baseReleaseId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SaveProjectDesignOptions {\n /**\n * Complete design-token document, as a string that contains a single JSON object.\n *\n * Specify the whole document, not only the values that changed. Keep any token groups and light or\n * dark mode values that you didn't change.\n * @maxLength 65536\n */\n tokensJson: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n * This isn't the app's ID.\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the design is saved from.\n *\n * When specified, a `CHECKPOINT` message that marks the saved version is added to the conversation.\n * The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\n/**\n * Restores an earlier version of a project.\n *\n * Sets the project's `headReleaseId` to the release specified in `releaseId`. Your app then\n * previews that release, and the next design save or edit by the coding agent branches from it.\n * Restoring a release doesn't change the project's live app.\n *\n * Only the project's owner can restore a release.\n *\n * To confirm that the release belongs to the project before it's restored, specify\n * `himalayaControlToken`. To record the restored version in a conversation, specify the\n * conversation's ID in `conversationId`. A `CHECKPOINT` message is then added to the conversation.\n * If the checkpoint can't be added, the release is still restored.\n * @param projectId - ID of the project to restore a release for.\n * @param releaseId - ID of the release to restore. For example, `rel-4f9c2a1b7d3e`.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField releaseId\n * @permissionId containers:projects:v1:project:restore_release\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.RestoreRelease\n */\nexport async function restoreRelease(\n projectId: string,\n releaseId: string,\n options?: RestoreReleaseOptions\n): Promise<\n NonNullablePaths<\n RestoreReleaseResponse,\n | `project.name`\n | `project.status`\n | `project.sandboxStatus`\n | `project.metaSiteIds`\n | `project.platform`\n | `project.oneAppMigration.state`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n releaseId: releaseId,\n himalayaControlToken: options?.himalayaControlToken,\n conversationId: options?.conversationId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.restoreRelease(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n releaseId: '$[1]',\n himalayaControlToken: '$[2].himalayaControlToken',\n conversationId: '$[2].conversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'releaseId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RestoreReleaseOptions {\n /**\n * Short-lived control credential for the project's app releases.\n *\n * When specified, the release is checked to belong to the project before it's restored. Used for\n * this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the release is restored from.\n *\n * When specified, a `CHECKPOINT` message that marks the restored version is added to the\n * conversation. The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\n/**\n * Retrieves the projects of the current site, regardless of who created them.\n *\n * Projects of other sites in the same account aren't included.\n * @internal\n * @documentationMaturity preview\n * @permissionId containers:projects:v1:project:list_projects\n * @fqn wix.containers.projects.v1.ContainersProjects.ListProjects\n */\nexport async function listProjects(\n options?: ListProjectsOptions\n): Promise<\n NonNullablePaths<\n ListProjectsResponse,\n | `projects`\n | `projects.${number}.name`\n | `projects.${number}.status`\n | `projects.${number}.sandboxStatus`\n | `projects.${number}.platform`\n | `projects.${number}.oneAppMigration.state`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n paging: options?.paging,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.listProjects(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { paging: '$[0].paging' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListProjectsOptions {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\n/**\n * Checks whether the current user can work on a project's app.\n *\n * Supported for projects whose `platform` is `HIMALAYA_MOBILE`. The response returns the canonical\n * slug of the project's app in `canonicalApp`. Specify this value when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n *\n * The response is a check only and doesn't grant access. Each later change to the project is\n * authorized again.\n * @param projectId - ID of the project to check.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_himalaya_authorization\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.GetHimalayaAuthorization\n */\nexport async function getHimalayaAuthorization(\n projectId: string\n): Promise<\n NonNullablePaths<\n GetHimalayaAuthorizationResponse,\n | `authorizationVersion`\n | `metaSiteId`\n | `projectId`\n | `canonicalApp`\n | `workerLaunch`\n | `saveDesign`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.getHimalayaAuthorization(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Starts building the installable app files of a project, one build for each platform.\n *\n * The builds run in the background and take several minutes. To follow them, call\n * [Get Latest Mobile Builds](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-latest-mobile-builds)\n * with `himalayaControlToken`.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n * @param projectId - ID of the project to build.\n * @param platforms - Platforms to build. One build is started for each platform.\n * @public\n * @documentationMaturity preview\n * @requiredField options.himalayaControlToken\n * @requiredField platforms\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:start_mobile_build\n * @fqn wix.containers.projects.v1.ContainersProjects.StartMobileBuild\n */\nexport async function startMobileBuild(\n projectId: string,\n platforms: PlatformWithLiterals[],\n options?: NonNullablePaths<StartMobileBuildOptions, `himalayaControlToken`, 0>\n): Promise<\n NonNullablePaths<\n StartMobileBuildResponse,\n | `builds`\n | `builds.${number}.jobId`\n | `builds.${number}.platform`\n | `builds.${number}.releaseId`\n | `builds.${number}.appVersion`\n | `builds.${number}.status`\n | `builds.${number}.failureKind`\n | `builds.${number}.himalayaStatus`\n | `builds.${number}.errorMessage`\n | `builds.${number}.downloadUrl`\n | `builds.${number}.installPageUrl`\n | `builds.${number}.downloadExpired`\n | `builds.${number}.androidFormat`\n | `builds.${number}.apkDownloadUrl`\n | `failedPlatforms`\n | `failedPlatforms.${number}.platform`\n | `failedPlatforms.${number}.errorCode`\n | `failedPlatforms.${number}.errorMessage`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n platforms: platforms,\n releaseId: options?.releaseId,\n appVersion: options?.appVersion,\n himalayaControlToken: options?.himalayaControlToken,\n canonicalApp: options?.canonicalApp,\n androidFormat: options?.androidFormat,\n ownerAuthorization: options?.ownerAuthorization,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.startMobileBuild(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n platforms: '$[1]',\n releaseId: '$[2].releaseId',\n appVersion: '$[2].appVersion',\n himalayaControlToken: '$[2].himalayaControlToken',\n canonicalApp: '$[2].canonicalApp',\n androidFormat: '$[2].androidFormat',\n ownerAuthorization: '$[2].ownerAuthorization',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'platforms', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface StartMobileBuildOptions {\n /**\n * ID of the app release to build. When not specified, the app's live release is built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label for the builds, for example `1.2.0`. It's stored with the builds and returned by\n * Get Latest Mobile Builds. It isn't written into the app.\n * @maxLength 50\n */\n appVersion?: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * Android only. Kind of file to build. Default: `APK`.\n *\n * `AAB` builds the file to upload to Google Play, under the package name saved for the app in\n * Himalaya. With `AAB`, `platforms` must be only `ANDROID`, and `owner_authorization` is required.\n */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * The site owner's dashboard authorization: the signed `Authorization` header of this request.\n * Required with `android_format: AAB`: Himalaya checks that whoever starts a Google Play file owns the site.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n ownerAuthorization?: string;\n}\n\n/**\n * Retrieves the latest app-file builds of a project: for each platform, the last build that was\n * started and the last build that succeeded.\n *\n * The caller must be authorized to work on the project's app, as for\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * When `himalayaControlToken` is specified, builds that are still in progress are refreshed\n * before the response. Without it, the stored state is returned as is.\n * @param projectId - ID of the project.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_latest_mobile_builds\n * @fqn wix.containers.projects.v1.ContainersProjects.GetLatestMobileBuilds\n */\nexport async function getLatestMobileBuilds(\n projectId: string,\n options?: GetLatestMobileBuildsOptions\n): Promise<\n NonNullablePaths<\n GetLatestMobileBuildsResponse,\n | `platforms`\n | `platforms.${number}.platform`\n | `platforms.${number}.lastAttempt.jobId`\n | `platforms.${number}.lastAttempt.platform`\n | `platforms.${number}.lastAttempt.releaseId`\n | `platforms.${number}.lastAttempt.appVersion`\n | `platforms.${number}.lastAttempt.status`\n | `platforms.${number}.lastAttempt.failureKind`\n | `platforms.${number}.lastAttempt.himalayaStatus`\n | `platforms.${number}.lastAttempt.errorMessage`\n | `platforms.${number}.lastAttempt.downloadUrl`\n | `platforms.${number}.lastAttempt.installPageUrl`\n | `platforms.${number}.lastAttempt.downloadExpired`\n | `platforms.${number}.lastAttempt.androidFormat`\n | `platforms.${number}.lastAttempt.apkDownloadUrl`\n | `refreshFailed`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n himalayaControlToken: options?.himalayaControlToken,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.getLatestMobileBuilds(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n himalayaControlToken: '$[1].himalayaControlToken',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetLatestMobileBuildsOptions {\n /**\n * Short-lived control credential for the project's app.\n *\n * When specified, builds in progress are refreshed before the response. Used for this call only.\n * It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n}\n\n/**\n * Claims the canonical Himalaya app for a NEW site-tenanted project, or returns the one already\n * bound to it.\n *\n * This exists so the BROWSER never asserts the (MetaSite, project) pair to Himalaya. Containers\n * is the authority on project -> MetaSite: it reads the project from its own store with a\n * consistent read and takes the MetaSite from this call's identity context, then claims\n * server-to-server with a site USER token minted for the initiating collaborator. Himalaya\n * recognises that token as minted by THIS service and trusts the pair on that basis. A dashboard\n * calling Himalaya directly could name another site's project UUID and reserve its global slug.\n *\n * Idempotent per pair: an already-claimed project returns its existing canonical app.\n * @param projectId - Site-tenanted Containers project to claim a Himalaya app for.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:claim_himalaya_app\n * @fqn wix.containers.projects.v1.ContainersProjects.ClaimHimalayaApp\n */\nexport async function claimHimalayaApp(\n projectId: string\n): Promise<\n NonNullablePaths<\n ClaimHimalayaAppResponse,\n `authorizationVersion` | `metaSiteId` | `projectId` | `canonicalApp`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.claimHimalayaApp(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'project.createdDate' },\n { path: 'project.updatedDate' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_2 = [{ path: 'previewTokenExpiresAt' }];\nconst TRANSFORM_PATHS_3 = [\n { path: 'projects.createdDate' },\n { path: 'projects.updatedDate' },\n];\nconst TRANSFORM_PATHS_4 = [\n { path: 'builds.downloadExpiresDate' },\n { path: 'builds.createdDate' },\n { path: 'builds.builtDate' },\n { path: 'builds.updatedDate' },\n];\nconst TRANSFORM_PATHS_5 = [\n { path: 'platforms.lastAttempt.downloadExpiresDate' },\n { path: 'platforms.lastAttempt.createdDate' },\n { path: 'platforms.lastAttempt.builtDate' },\n { path: 'platforms.lastAttempt.updatedDate' },\n { path: 'platforms.lastSuccessfulBuild.downloadExpiresDate' },\n { path: 'platforms.lastSuccessfulBuild.createdDate' },\n { path: 'platforms.lastSuccessfulBuild.builtDate' },\n { path: 'platforms.lastSuccessfulBuild.updatedDate' },\n];\n\nfunction resolveWixContainersProjectsV1ContainersProjectsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/containers-projects',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/containers/projects',\n destPath: '',\n },\n {\n srcPath: '/containers/projects/v1/projects',\n destPath: '/v1/projects',\n },\n ],\n _: [\n {\n srcPath: '/containers/projects/v1/projects',\n destPath: '/v1/projects',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_containers_projects';\n\n/**\n * Creates a project from a template.\n *\n * The project is created with `PLANNING` status.\n */\nexport function createProject(payload: object): RequestOptionsFactory<any> {\n function __createProject({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.CreateProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createProject;\n}\n\n/** Retrieves a project. */\nexport function getProject(payload: object): RequestOptionsFactory<any> {\n function __getProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.GetProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProject;\n}\n\n/**\n * Updates a project.\n *\n * Each time the project is updated, `revision` increments by 1. The current `revision` must be\n * passed when updating the project. This ensures you're working with the latest project and\n * prevents unintended overwrites.\n */\nexport function updateProject(payload: object): RequestOptionsFactory<any> {\n function __updateProject({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: TRANSFORM_PATHS_1,\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'PATCH' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.UpdateProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{project.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProject;\n}\n\n/** Deletes a project. */\nexport function deleteProject(payload: object): RequestOptionsFactory<any> {\n function __deleteProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'DELETE' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.DeleteProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteProject;\n}\n\n/**\n * Resumes work on a project by starting its remote development environment, or by reusing an\n * environment that's already running.\n *\n * Call this method when a user returns to a project with `BUILDING` status, before they send new\n * requests to the coding agent. The environment starts in the background, and the method returns\n * the project without waiting for it. The API doesn't report when the environment is ready. The\n * coding agent picks up new work as soon as it is.\n *\n * The project's `status` must be `BUILDING`.\n */\nexport function resumeProject(payload: object): RequestOptionsFactory<any> {\n function __resumeProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.ResumeProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/resume',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __resumeProject;\n}\n\n/**\n * Generates a suggested name for a project, based on the user's instruction.\n *\n * The suggested name isn't saved. To save it, call Update Project.\n */\nexport function regenerateProjectName(\n payload: object\n): RequestOptionsFactory<any> {\n function __regenerateProjectName({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.RegenerateProjectName',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/regenerate-name',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateProjectName;\n}\n\n/**\n * Generates a suggested icon for a project, based on the user's instruction.\n *\n * The icon is based on the project's current name, icon, description, and brand colors. The\n * suggested icon isn't saved. To save it, call Update Project.\n */\nexport function regenerateProjectIcon(\n payload: object\n): RequestOptionsFactory<any> {\n function __regenerateProjectIcon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.RegenerateProjectIcon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/regenerate-icon',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateProjectIcon;\n}\n\n/**\n * Saves a project's design as a new draft release.\n *\n * Specify the complete design-token document in `tokensJson`, and the release that the user is\n * currently viewing in `baseReleaseId`. The new draft release branches from `baseReleaseId`, even\n * if a newer release exists. Saving a design doesn't change the project's live app.\n *\n * The response includes the ID of the new release and a short-lived token for previewing it. After\n * the save, the project's `headReleaseId` is set to the new release.\n *\n * To record the saved version in a conversation, specify the conversation's ID in `conversationId`.\n * A `CHECKPOINT` message is then added to the conversation. If the checkpoint can't be added, the\n * design is still saved.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n */\nexport function saveProjectDesign(payload: object): RequestOptionsFactory<any> {\n function __saveProjectDesign({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.SaveProjectDesign',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/save-design',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __saveProjectDesign;\n}\n\n/**\n * Restores an earlier version of a project.\n *\n * Sets the project's `headReleaseId` to the release specified in `releaseId`. Your app then\n * previews that release, and the next design save or edit by the coding agent branches from it.\n * Restoring a release doesn't change the project's live app.\n *\n * Only the project's owner can restore a release.\n *\n * To confirm that the release belongs to the project before it's restored, specify\n * `himalayaControlToken`. To record the restored version in a conversation, specify the\n * conversation's ID in `conversationId`. A `CHECKPOINT` message is then added to the conversation.\n * If the checkpoint can't be added, the release is still restored.\n */\nexport function restoreRelease(payload: object): RequestOptionsFactory<any> {\n function __restoreRelease({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.RestoreRelease',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/restore-release',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __restoreRelease;\n}\n\n/**\n * Retrieves the projects of the current site, regardless of who created them.\n *\n * Projects of other sites in the same account aren't included.\n */\nexport function listProjects(payload: object): RequestOptionsFactory<any> {\n function __listProjects({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.ListProjects',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listProjects;\n}\n\n/**\n * Checks whether the current user can work on a project's app.\n *\n * Supported for projects whose `platform` is `HIMALAYA_MOBILE`. The response returns the canonical\n * slug of the project's app in `canonicalApp`. Specify this value when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n *\n * The response is a check only and doesn't grant access. Each later change to the project is\n * authorized again.\n */\nexport function getHimalayaAuthorization(\n payload: object\n): RequestOptionsFactory<any> {\n function __getHimalayaAuthorization({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.GetHimalayaAuthorization',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/himalaya-authorization',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getHimalayaAuthorization;\n}\n\n/**\n * Starts building the installable app files of a project, one build for each platform.\n *\n * The builds run in the background and take several minutes. To follow them, call\n * [Get Latest Mobile Builds](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-latest-mobile-builds)\n * with `himalayaControlToken`.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n */\nexport function startMobileBuild(payload: object): RequestOptionsFactory<any> {\n function __startMobileBuild({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.StartMobileBuild',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/mobile-builds',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __startMobileBuild;\n}\n\n/**\n * Retrieves the latest app-file builds of a project: for each platform, the last build that was\n * started and the last build that succeeded.\n *\n * The caller must be authorized to work on the project's app, as for\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * When `himalayaControlToken` is specified, builds that are still in progress are refreshed\n * before the response. Without it, the stored state is returned as is.\n */\nexport function getLatestMobileBuilds(\n payload: object\n): RequestOptionsFactory<any> {\n function __getLatestMobileBuilds({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.GetLatestMobileBuilds',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/mobile-builds/latest',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getLatestMobileBuilds;\n}\n\n/**\n * Claims the canonical Himalaya app for a NEW site-tenanted project, or returns the one already\n * bound to it.\n *\n * This exists so the BROWSER never asserts the (MetaSite, project) pair to Himalaya. Containers\n * is the authority on project -> MetaSite: it reads the project from its own store with a\n * consistent read and takes the MetaSite from this call's identity context, then claims\n * server-to-server with a site USER token minted for the initiating collaborator. Himalaya\n * recognises that token as minted by THIS service and trusts the pair on that basis. A dashboard\n * calling Himalaya directly could name another site's project UUID and reserve its global slug.\n *\n * Idempotent per pair: an already-claimed project returns its existing canonical app.\n */\nexport function claimHimalayaApp(payload: object): RequestOptionsFactory<any> {\n function __claimHimalayaApp({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.ClaimHimalayaApp',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/himalaya-app-claim',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __claimHimalayaApp;\n}\n"],"mappings":"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","names":["payload","ProjectStatus","SandboxStatus","V1Platform","OneAppMigrationState","Variant","WebhookIdentityType","Platform","AndroidFormat","Status","FailureKind","createProject","getProject","updateProject","deleteProject","resumeProject","regenerateProjectName","regenerateProjectIcon","saveProjectDesign","restoreRelease","listProjects","getHimalayaAuthorization","startMobileBuild","getLatestMobileBuilds","claimHimalayaApp"]}
|
|
1
|
+
{"version":3,"sources":["../../src/containers-projects-v1-project-projects.universal.ts","../../src/containers-projects-v1-project-projects.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixContainersProjectsV1Project from './containers-projects-v1-project-projects.http.js';\n\n/**\n * A project represents an app that a user builds with the Wix AI coding agent.\n * A project belongs to the Wix site it's created on. The user's chat with the coding agent about a\n * project is held in [conversations](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction).\n */\nexport interface Project {\n /**\n * Project ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Project name, shown to the user.\n * @maxLength 200\n */\n name?: string;\n /** Project status. */\n status?: ProjectStatusWithLiterals;\n /**\n * ID of the template that the project was created from.\n * @format GUID\n * @immutable\n */\n templateId?: string | null;\n /**\n * ID of the project's source code project. Set automatically when the project is created.\n * @format GUID\n * @readonly\n */\n codeStoreProjectId?: string | null;\n /**\n * ID of the user who created the project.\n * @format GUID\n * @readonly\n */\n ownerUserId?: string | null;\n /**\n * Revision number, which increments by 1 each time the project is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the project.\n *\n * Ignored when creating a project.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the project was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the project was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Whether a remote development environment is being created for the project.\n * @readonly\n */\n sandboxStatus?: SandboxStatusWithLiterals;\n /**\n * IDs of the Wix sites that the project relates to.\n *\n * A project can relate to any number of sites, including none.\n * @format GUID\n */\n metaSiteIds?: string[];\n /**\n * Platform that the project's app targets. Set when the project is created and can't be changed.\n * @immutable\n */\n platform?: V1PlatformWithLiterals;\n /**\n * URL of the app's icon.\n * @maxLength 2000\n */\n appIconUrl?: string | null;\n /**\n * ID of the release that the project is currently on.\n *\n * Your app previews this release, and the next design save or edit by the coding agent branches\n * from it. Set automatically after each design save or edit, and by\n * [Restore Release](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/restore-release).\n * When empty, the project is on its newest release.\n * @maxLength 200\n * @readonly\n */\n headReleaseId?: string | null;\n /**\n * Internal migration lifecycle. Absent for ordinary projects. Only dedicated migration\n * operations may set this field; standard create and update requests cannot change it.\n * @readonly\n */\n oneAppMigration?: OneAppMigration;\n}\n\n/**\n * Project status. The status changes in one direction only: `PLANNING`, then `PLAN_READY`, then\n * `BUILDING`.\n */\nexport enum ProjectStatus {\n /** The user and the coding agent are planning the app. New projects start with this status. */\n PLANNING = 'PLANNING',\n /** The coding agent is building the app, or has built it. The user can continue to request changes. */\n BUILDING = 'BUILDING',\n /** The plan is finalized, and the first build of the app is about to start. */\n PLAN_READY = 'PLAN_READY',\n}\n\n/** @enumType */\nexport type ProjectStatusWithLiterals =\n | ProjectStatus\n | 'PLANNING'\n | 'BUILDING'\n | 'PLAN_READY';\n\nexport enum SandboxStatus {\n /** No remote development environment is being created. */\n NONE = 'NONE',\n /** A remote development environment is being created. */\n CREATING = 'CREATING',\n}\n\n/** @enumType */\nexport type SandboxStatusWithLiterals = SandboxStatus | 'NONE' | 'CREATING';\n\nexport enum V1Platform {\n /** Native iOS app. Used by older projects. */\n IOS = 'IOS',\n /** Native Android app. Used by older projects. */\n ANDROID = 'ANDROID',\n /**\n * Mobile app built from content that's updated over the air, instead of native iOS or Android\n * code. Most new projects use this platform.\n */\n HIMALAYA_MOBILE = 'HIMALAYA_MOBILE',\n}\n\n/** @enumType */\nexport type V1PlatformWithLiterals =\n | V1Platform\n | 'IOS'\n | 'ANDROID'\n | 'HIMALAYA_MOBILE';\n\n/** Tracks the exact draft offered to the site owner. */\nexport interface OneAppMigration {\n state?: OneAppMigrationStateWithLiterals;\n /**\n * Present in OFFERED and ACCEPTED; remains fixed after the offer.\n * @maxLength 200\n */\n offeredReleaseId?: string | null;\n /** @format GUID */\n sourceMetaSiteId?: string;\n /** @format GUID */\n activeJobId?: string | null;\n /** @maxLength 200 */\n activeBaseReleaseId?: string | null;\n offerReserved?: boolean;\n /** Includes the expiry of already-issued worker keys, Himi control-token lifetime and clock skew. */\n workerWriteDrainUntil?: Date | null;\n /** @maxLength 50 */\n activeJobType?: string;\n /** @format GUID */\n activeRequestId?: string | null;\n /**\n * SHA-256 of the trusted operation, site, instructions and retry reference. No prompt is kept here.\n * @maxLength 64\n */\n activeRequestFingerprint?: string;\n /** @format GUID */\n activeRetryOfJobId?: string | null;\n /** @maxLength 200 */\n verifiedReleaseId?: string | null;\n /** @maxLength 64 */\n activeDeveloperEmailSha256?: string;\n}\n\nexport enum OneAppMigrationState {\n DRAFT = 'DRAFT',\n OFFERED = 'OFFERED',\n ACCEPTED = 'ACCEPTED',\n}\n\n/** @enumType */\nexport type OneAppMigrationStateWithLiterals =\n | OneAppMigrationState\n | 'DRAFT'\n | 'OFFERED'\n | 'ACCEPTED';\n\n/** Details of a request to start a project's remote development environment. */\nexport interface ProjectStartRequested {\n /**\n * ID of the project to start.\n * @format GUID\n */\n projectId?: string;\n}\n\n/** Details of a request to resume a project. */\nexport interface ProjectResumeRequested {\n /**\n * ID of the project to resume.\n * @format GUID\n */\n projectId?: string;\n}\n\n/** Details of a project whose plan is finalized. */\nexport interface ProjectPlanReady {\n /**\n * ID of the project whose plan is finalized.\n * @format GUID\n */\n projectId?: string;\n /**\n * ID of the conversation in which the plan was finalized. The coding agent continues the build in\n * this conversation.\n * @format GUID\n */\n conversationId?: string;\n}\n\nexport interface AuthorizeOneAppMigrationWorkerRequest {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n}\n\nexport interface AuthorizeOneAppMigrationWorkerResponse {\n /** @maxLength 4096 */\n accessToken?: string;\n expiresIn?: string;\n /** @maxLength 200 */\n canonicalApp?: string;\n /** @maxLength 200 */\n baseReleaseId?: string | null;\n /** @format GUID */\n sourceMetaSiteId?: string;\n /** @format GUID */\n destinationMetaSiteId?: string;\n}\n\nexport interface GetAgentExperimentsRequest {\n /**\n * Project in the authenticated caller's SITE tenant.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface GetAgentExperimentsResponse {\n /** Full typed outcomes for the fixed appsmith-agent scope, including unsuccessful conduction. */\n result?: ConductByScopesResponse;\n}\n\nexport interface ConductByScopesResponse {\n /** the result of each scope by scope id */\n scopeToResult?: Record<string, ConductByScopeResponse>;\n}\n\nexport interface ConductByScopeResponse {\n /** map of experiment id to conduction result */\n experimentToConductionResult?: Record<string, ConductionResult>;\n}\n\n/**\n * The result of conducting an experiment: the resolved variant and the outcome status.\n * Mirrors conductor.library.src.ConductionResult.\n */\nexport interface ConductionResult {\n /** The result variant e.g. A, B, C, ... Z */\n variant?: VariantWithLiterals;\n /** Extra information about the conduction, e.g. successful or failed with reason */\n status?: ConductionStatus;\n}\n\n/** The resolved variant (A=Control, B-Z=Treatment). Mirrors conductor.result.Variants. */\nexport enum Variant {\n VARIANT_UNSPECIFIED = 'VARIANT_UNSPECIFIED',\n A = 'A',\n B = 'B',\n C = 'C',\n D = 'D',\n E = 'E',\n F = 'F',\n G = 'G',\n H = 'H',\n I = 'I',\n J = 'J',\n K = 'K',\n L = 'L',\n M = 'M',\n N = 'N',\n O = 'O',\n P = 'P',\n Q = 'Q',\n R = 'R',\n S = 'S',\n T = 'T',\n U = 'U',\n V = 'V',\n W = 'W',\n X = 'X',\n Y = 'Y',\n Z = 'Z',\n}\n\n/** @enumType */\nexport type VariantWithLiterals =\n | Variant\n | 'VARIANT_UNSPECIFIED'\n | 'A'\n | 'B'\n | 'C'\n | 'D'\n | 'E'\n | 'F'\n | 'G'\n | 'H'\n | 'I'\n | 'J'\n | 'K'\n | 'L'\n | 'M'\n | 'N'\n | 'O'\n | 'P'\n | 'Q'\n | 'R'\n | 'S'\n | 'T'\n | 'U'\n | 'V'\n | 'W'\n | 'X'\n | 'Y'\n | 'Z';\n\n/**\n * Represents the status of a conduction result.\n * This can be either a successful result or a specific type of failure, detailing the reason for the failure.\n */\nexport interface ConductionStatus extends ConductionStatusStatusOneOf {\n /** Indicates a successful conduction with optional target group information */\n successfulResult?: SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: PopulationError;\n /** Represents a general exception that occurred during conduction */\n conductionException?: ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: MissingSeedKeyType;\n /** Indicates that no experiment with the given ID was found */\n missingExperimentId?: MissingExperimentId;\n /** Indicates a failure to fetch the experiment */\n failedToFetchExperiment?: FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for conduction */\n missingPlugins?: MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: MissingFilterTarget;\n /** Represents a general error during conduction */\n generalError?: GeneralError;\n /** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\n missingElementInContextForBiProfileError?: MissingElementInContextForBiProfileError;\n /** Indicates that an additional data was provided a missing value */\n additionalDataMissingValue?: AdditionalDataMissingValue;\n /** Indicates that library configuration is invalid */\n invalidLibraryConfiguration?: InvalidLibraryConfiguration;\n /** Indicates that the conduction produced no result for this experiment */\n noResultForConduction?: NoResultForConduction;\n}\n\n/** @oneof */\nexport interface ConductionStatusStatusOneOf {\n /** Indicates a successful conduction with optional target group information */\n successfulResult?: SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: PopulationError;\n /** Represents a general exception that occurred during conduction */\n conductionException?: ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: MissingSeedKeyType;\n /** Indicates that no experiment with the given ID was found */\n missingExperimentId?: MissingExperimentId;\n /** Indicates a failure to fetch the experiment */\n failedToFetchExperiment?: FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for conduction */\n missingPlugins?: MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: MissingFilterTarget;\n /** Represents a general error during conduction */\n generalError?: GeneralError;\n /** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\n missingElementInContextForBiProfileError?: MissingElementInContextForBiProfileError;\n /** Indicates that an additional data was provided a missing value */\n additionalDataMissingValue?: AdditionalDataMissingValue;\n /** Indicates that library configuration is invalid */\n invalidLibraryConfiguration?: InvalidLibraryConfiguration;\n /** Indicates that the conduction produced no result for this experiment */\n noResultForConduction?: NoResultForConduction;\n}\n\n/** Indicates a successful conduction */\nexport interface SuccessfulResult {\n /**\n * Optional key representing the target group which matched with the caller's identity\n * @maxLength 5000\n */\n targetGroupKey?: string;\n}\n\n/** Indicates that a required seed value is missing */\nexport interface MissingSeed {\n /**\n * The name of the missing seed\n * @maxLength 5000\n */\n seed?: string;\n}\n\n/** Indicates an error occurred while trying to filter based on populations */\nexport interface PopulationError {\n /**\n * The serialized error message that occurred\n * @maxLength 5000\n */\n error?: string;\n /**\n * The list of population IDs involved in the error\n * @maxLength 5000\n * @maxSize 5000\n */\n populationIds?: string[];\n}\n\n/** Represents a general exception that occurred during conduction */\nexport interface ConductionException {\n /**\n * The serialized exception message\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates that a required seed type is missing */\nexport interface MissingSeedType {}\n\n/** Indicates that a required seed key type is missing */\nexport interface MissingSeedKeyType {}\n\n/** Indicates that no experiment with the given ID was found */\nexport interface MissingExperimentId {}\n\n/** Indicates a failure to fetch the experiment */\nexport interface FailedToFetchExperiment {\n /**\n * The serialized error message encountered while fetching\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates that necessary plugins are missing for conduction */\nexport interface MissingPlugins {}\n\n/** Indicates that the randomization process failed */\nexport interface FailedToRunToss {}\n\n/** Indicates that no eligible filter was found during evaluation */\nexport interface DidNotFindEligibleFilter {}\n\n/** Indicates that a filter used in target groups is not supported */\nexport interface FilterNotSupported {}\n\n/** Indicates that a filter used in target groups is not implemented */\nexport interface FilterNotImplemented {}\n\n/** Indicates that the user did not provide a required key in additional data */\nexport interface AdditionalDataFilterMissingKey {\n /**\n * The missing key in the additional data\n * @maxLength 5000\n */\n key?: string;\n}\n\n/** Indicates that an additional data filter must have some key */\nexport interface AdditionalDataFilterMustHaveKey {}\n\n/** Indicates a type mismatch in additional data used by a filter */\nexport interface AdditionalDataFilterMismatchType {}\n\n/** Indicates that an additional filter cannot be empty */\nexport interface AdditionalFilterCantBeEmpty {}\n\n/** Indicates that one or more filter operands are empty */\nexport interface FilterOperandEmpty {}\n\n/** Indicates that information required for evaluating filters is missing */\nexport interface MissingFilterTarget {\n /**\n * The type of filter that's missing its target\n * @maxLength 5000\n */\n filterType?: string;\n}\n\n/** Represents a general error during conduction */\nexport interface GeneralError {\n /**\n * The serialized error message\n * @maxLength 5000\n */\n error?: string;\n}\n\n/** Indicates an error occurred while trying to extract an element from context for the purpose of filtering by bi-profile service */\nexport interface MissingElementInContextForBiProfileError {\n /**\n * The specific type of element in the bi-profile filter that was being attempted to be extracted from the context\n * @maxLength 100\n */\n biProfileType?: string;\n}\n\n/** Indicates that an additional data was provided a missing value */\nexport interface AdditionalDataMissingValue {\n /**\n * The key that was missing a value\n * @maxLength 5000\n */\n key?: string;\n}\n\n/** Indicates that library configuration is invalid */\nexport interface InvalidLibraryConfiguration {\n /**\n * The reason why the configuration is invalid\n * @maxLength 5000\n */\n reason?: string;\n}\n\n/** Indicates that the conduction produced no result for this experiment */\nexport interface NoResultForConduction {}\n\nexport interface GetAgentConfigRequest {\n /**\n * Project in the authenticated caller's SITE tenant.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface GetAgentConfigResponse {\n /** Full typed AppSmithSandboxAgent result; unsuccessful evaluation is not a successful default. */\n result?: ConductResponse;\n}\n\nexport interface ConductResponse {\n /** The result of conducting the dynamic config */\n dynamicConfigResult?: DynamicConfigConductionResult;\n}\n\nexport interface DynamicConfigConductionResult {\n /** The conducted value. A dynamic config's fields arrive in `struct_value` */\n value?: VariantValue;\n /**\n * Provides additional information about the outcome of this dynamic config, so one failure\n * does not obscure the rest of the scope\n */\n status?: DynamicConfigStatus;\n}\n\nexport interface VariantValue extends VariantValueValueOneOf {\n intValue?: number;\n strValue?: string;\n booleanValue?: boolean;\n timestampValue?: Date | null;\n structValue?: Record<string, any> | null;\n}\n\n/** @oneof */\nexport interface VariantValueValueOneOf {\n intValue?: number;\n strValue?: string;\n booleanValue?: boolean;\n timestampValue?: Date | null;\n structValue?: Record<string, any> | null;\n}\n\n/** Represents the status of a dynamic config IsEnabled evaluation result. */\nexport interface DynamicConfigStatus extends DynamicConfigStatusStatusOneOf {\n /** Indicates a successful evaluation with optional target group information */\n successfulResult?: V1SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: V1MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: V1PopulationError;\n /** Represents a general exception that occurred during evaluation */\n conductionException?: V1ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: V1MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: V1MissingSeedKeyType;\n /** Indicates that no dynamic config with the given ID was found */\n missingExperimentId?: V1MissingExperimentId;\n /** Indicates a failure to fetch the dynamic config */\n failedToFetchExperiment?: V1FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for evaluation */\n missingPlugins?: V1MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: V1FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: V1DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: V1FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: V1FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: V1AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: V1AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: V1AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: V1AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: V1FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: V1MissingFilterTarget;\n /** Represents a general error during evaluation */\n generalError?: V1GeneralError;\n /** Included for forward-compatibility; the DC library does not currently emit this */\n noResultForConduction?: V1NoResultForConduction;\n /** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\n missingElementInContextForBiProfileError?: V1MissingElementInContextForBiProfileError;\n /** Indicates that additional data was provided a missing value */\n additionalDataMissingValue?: V1AdditionalDataMissingValue;\n /** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\n isEnabledFieldNotFound?: IsEnabledFieldNotFound;\n /** Indicates the \"isEnabled\" field exists but is not of type Boolean */\n isEnabledFieldNotOfTypeBoolean?: IsEnabledFieldNotOfTypeBoolean;\n /** Indicates that this operation is not implemented by the library implementation */\n notImplemented?: NotImplemented;\n}\n\n/** @oneof */\nexport interface DynamicConfigStatusStatusOneOf {\n /** Indicates a successful evaluation with optional target group information */\n successfulResult?: V1SuccessfulResult;\n /** Indicates that a required seed value is missing */\n missingSeed?: V1MissingSeed;\n /** Indicates an error occurred while trying to filter based on populations */\n populationError?: V1PopulationError;\n /** Represents a general exception that occurred during evaluation */\n conductionException?: V1ConductionException;\n /** Indicates that a required seed type is missing */\n missingSeedType?: V1MissingSeedType;\n /** Indicates that a required seed key type is missing */\n missingSeedKeyType?: V1MissingSeedKeyType;\n /** Indicates that no dynamic config with the given ID was found */\n missingExperimentId?: V1MissingExperimentId;\n /** Indicates a failure to fetch the dynamic config */\n failedToFetchExperiment?: V1FailedToFetchExperiment;\n /** Indicates that necessary plugins are missing for evaluation */\n missingPlugins?: V1MissingPlugins;\n /** Indicates that the randomization process failed */\n failedToRunToss?: V1FailedToRunToss;\n /** Indicates that no eligible filter was found during evaluation */\n didNotFindEligibleFilter?: V1DidNotFindEligibleFilter;\n /** Indicates that a filter used in target groups is not supported */\n filterNotSupported?: V1FilterNotSupported;\n /** Indicates that a filter used in target groups is not implemented */\n filterNotImplemented?: V1FilterNotImplemented;\n /** Indicates that the user did not provide a required key in additional data */\n additionalDataFilterMissingKey?: V1AdditionalDataFilterMissingKey;\n /** Indicates that an additional data filter must have some key */\n additionalDataFilterMustHaveKey?: V1AdditionalDataFilterMustHaveKey;\n /** Indicates a type mismatch in additional data used by a filter */\n additionalDataFilterMismatchType?: V1AdditionalDataFilterMismatchType;\n /** Indicates that an additional filter cannot be empty */\n additionalFilterCantBeEmpty?: V1AdditionalFilterCantBeEmpty;\n /** Indicates that one or more filter operands are empty */\n filterOperandEmpty?: V1FilterOperandEmpty;\n /** Indicates that information required for evaluating filters is missing */\n missingFilterTarget?: V1MissingFilterTarget;\n /** Represents a general error during evaluation */\n generalError?: V1GeneralError;\n /** Included for forward-compatibility; the DC library does not currently emit this */\n noResultForConduction?: V1NoResultForConduction;\n /** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\n missingElementInContextForBiProfileError?: V1MissingElementInContextForBiProfileError;\n /** Indicates that additional data was provided a missing value */\n additionalDataMissingValue?: V1AdditionalDataMissingValue;\n /** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\n isEnabledFieldNotFound?: IsEnabledFieldNotFound;\n /** Indicates the \"isEnabled\" field exists but is not of type Boolean */\n isEnabledFieldNotOfTypeBoolean?: IsEnabledFieldNotOfTypeBoolean;\n /** Indicates that this operation is not implemented by the library implementation */\n notImplemented?: NotImplemented;\n}\n\n/** Indicates a successful dynamic config evaluation */\nexport interface V1SuccessfulResult {\n /**\n * Optional key representing the target group which matched with the caller's identity\n * @maxLength 5000\n */\n targetGroupKey?: string | null;\n}\n\n/** Indicates that a required seed value is missing */\nexport interface V1MissingSeed {\n /**\n * The name of the missing seed\n * @maxLength 5000\n */\n seed?: string | null;\n}\n\n/** Indicates an error occurred while trying to filter based on populations */\nexport interface V1PopulationError {\n /**\n * The serialized error message that occurred\n * @maxLength 5000\n */\n error?: string | null;\n /**\n * The list of population IDs involved in the error\n * @maxLength 5000\n * @maxSize 5000\n */\n populationIds?: string[] | null;\n}\n\n/** Represents a general exception that occurred during evaluation */\nexport interface V1ConductionException {\n /**\n * The serialized exception message\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Indicates that a required seed type is missing */\nexport interface V1MissingSeedType {}\n\n/** Indicates that a required seed key type is missing */\nexport interface V1MissingSeedKeyType {}\n\n/** Indicates that no dynamic config with the given ID was found */\nexport interface V1MissingExperimentId {}\n\n/** Indicates a failure to fetch the dynamic config */\nexport interface V1FailedToFetchExperiment {\n /**\n * The serialized error message encountered while fetching\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Indicates that necessary plugins are missing for evaluation */\nexport interface V1MissingPlugins {}\n\n/** Indicates that the randomization process failed */\nexport interface V1FailedToRunToss {}\n\n/** Indicates that no eligible filter was found during evaluation */\nexport interface V1DidNotFindEligibleFilter {}\n\n/** Indicates that a filter used in target groups is not supported */\nexport interface V1FilterNotSupported {}\n\n/** Indicates that a filter used in target groups is not implemented */\nexport interface V1FilterNotImplemented {}\n\n/** Indicates that the user did not provide a required key in additional data */\nexport interface V1AdditionalDataFilterMissingKey {\n /**\n * The missing key in the additional data\n * @maxLength 5000\n */\n key?: string | null;\n}\n\n/** Indicates that an additional data filter must have some key */\nexport interface V1AdditionalDataFilterMustHaveKey {}\n\n/** Indicates a type mismatch in additional data used by a filter */\nexport interface V1AdditionalDataFilterMismatchType {}\n\n/** Indicates that an additional filter cannot be empty */\nexport interface V1AdditionalFilterCantBeEmpty {}\n\n/** Indicates that one or more filter operands are empty */\nexport interface V1FilterOperandEmpty {}\n\n/** Indicates that information required for evaluating filters is missing */\nexport interface V1MissingFilterTarget {\n /**\n * The type of filter that's missing its target\n * @maxLength 5000\n */\n filterType?: string | null;\n}\n\n/** Represents a general error during evaluation */\nexport interface V1GeneralError {\n /**\n * The serialized error message\n * @maxLength 5000\n */\n error?: string | null;\n}\n\n/** Included for forward-compatibility; the DC library does not currently emit this */\nexport interface V1NoResultForConduction {}\n\n/** Indicates an error occurred while trying to extract an element from context for bi-profile filtering */\nexport interface V1MissingElementInContextForBiProfileError {\n /**\n * The specific type of element in the bi-profile filter\n * @maxLength 100\n */\n biProfileType?: string | null;\n}\n\n/** Indicates that additional data was provided a missing value */\nexport interface V1AdditionalDataMissingValue {\n /**\n * The key that is missing a value\n * @maxLength 5000\n */\n key?: string | null;\n}\n\n/** Indicates the preserved \"isEnabled\" field was not found in the dynamic config variant */\nexport interface IsEnabledFieldNotFound {}\n\n/** Indicates the \"isEnabled\" field exists but is not of type Boolean */\nexport interface IsEnabledFieldNotOfTypeBoolean {}\n\n/** Indicates that this operation is not implemented by the library implementation */\nexport interface NotImplemented {}\n\nexport interface CreateAgentSessionRequest {\n /**\n * ID of the Project to create an agent session for.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface CreateAgentSessionResponse {\n /**\n * Agent session ID materialized for the Project.\n * @format GUID\n */\n agentSessionId?: string;\n}\n\nexport interface RefreshAgentSiteTokenRequest {\n /**\n * Exact project/job tuple whose initiating user's site token should be re-minted.\n * @format GUID\n */\n projectId?: string;\n /**\n * Job whose persisted initiating user and MetaSite provenance must be revalidated.\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface RefreshAgentSiteTokenResponse {\n /**\n * A freshly minted site-scoped access token for the project owner. Sensitive credential material:\n * marked pii so the platform redacts it from request/response logging (never log it in app code either).\n * maxLength matches the sibling containers-project-versions token fields (4096) — ample for the\n * oauth2-ng user access token, and required by the string-validation standard.\n * @maxLength 4096\n */\n accessToken?: string;\n /** Seconds until the returned token expires, as reported by oauth2-ng. */\n expiresIn?: string;\n /** Version of the job-bound authorization response contract. */\n authorizationVersion?: number;\n /**\n * The project authorized by this refresh.\n * @format GUID\n */\n projectId?: string;\n /**\n * The job authorized by this refresh.\n * @format GUID\n */\n jobId?: string;\n /**\n * Trusted MetaSite captured when the job was created.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Trusted dashboard USER captured when the job was created.\n * @format GUID\n */\n initiatingUserId?: string;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface AuthorizeOneAppMigrationTeamReadRequest {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n sourceMetaSiteId?: string;\n}\n\nexport interface AuthorizeOneAppMigrationTeamReadResponse {}\n\nexport interface ValidateOneAppMigrationJobRequest {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n /** @format GUID */\n requestId?: string;\n /** @maxLength 50 */\n jobType?: string;\n /** @maxLength 64 */\n promptSha256?: string;\n /** @format GUID */\n sourceMetaSiteId?: string;\n /** @format GUID */\n destinationMetaSiteId?: string;\n /** @format GUID */\n customerOwnerUserId?: string;\n /** @maxLength 200 */\n canonicalApp?: string;\n /** @maxLength 200 */\n baseReleaseId?: string | null;\n /** @format GUID */\n retryOfJobId?: string | null;\n /** @maxLength 200 */\n expectedHeadReleaseId?: string | null;\n /** @maxLength 320 */\n developerEmail?: string;\n}\n\nexport interface ValidateOneAppMigrationJobResponse {}\n\nexport interface StartOneAppMigrationRequest {\n /** @format GUID */\n sourceMetaSiteId?: string;\n /** @format GUID */\n requestId?: string;\n /** @maxLength 20000 */\n instructions?: string;\n /** @format GUID */\n retryOfJobId?: string | null;\n}\n\nexport interface StartOneAppMigrationResponse {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n}\n\nexport interface EditOneAppMigrationRequest {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n requestId?: string;\n /**\n * @minLength 1\n * @maxLength 20000\n */\n instructions?: string;\n}\n\nexport interface EditOneAppMigrationResponse {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n}\n\nexport interface FinalizeOneAppMigrationRequest {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n /** @maxLength 200 */\n releaseId?: string;\n /** @maxLength 4096 */\n himalayaControlToken?: string;\n}\n\nexport interface FinalizeOneAppMigrationResponse {\n /** @format GUID */\n projectId?: string;\n /** @format GUID */\n jobId?: string;\n /** @maxLength 200 */\n headReleaseId?: string;\n}\n\nexport interface ReserveOneAppMigrationOfferRequest {\n /** @format GUID */\n projectId?: string;\n}\n\nexport interface ReserveOneAppMigrationOfferResponse {\n /** @format GUID */\n projectId?: string;\n /** @maxLength 200 */\n releaseId?: string;\n /** Offer must not become visible before this time; old worker keys may write until then. */\n notBefore?: Date | null;\n}\n\nexport interface CreateProjectRequest {\n /** Project to create. */\n project: Project;\n}\n\nexport interface CreateProjectResponse {\n /** Created project. */\n project?: Project;\n}\n\nexport interface GetProjectRequest {\n /**\n * ID of the project to retrieve.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetProjectResponse {\n /** Retrieved project. */\n project?: Project;\n}\n\nexport interface UpdateProjectRequest {\n /** Project to update. */\n project: Project;\n /**\n * Set of fields to update. Fields not in the mask are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdateProjectResponse {\n /** Updated project. */\n project?: Project;\n}\n\nexport interface DeleteProjectRequest {\n /**\n * ID of the project to delete.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface DeleteProjectResponse {}\n\nexport interface StartProjectRequest {\n /**\n * ID of the project to start.\n * @format GUID\n */\n projectId?: string;\n}\n\nexport interface StartProjectResponse {\n /** Project whose environment is starting. */\n project?: Project;\n}\n\nexport interface ResumeProjectRequest {\n /**\n * ID of the project to resume.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface ResumeProjectResponse {\n /** Resumed project. The project is returned unchanged; its environment starts in the background. */\n project?: Project;\n}\n\nexport interface RegenerateProjectNameRequest {\n /**\n * ID of the project to generate a name for.\n * @format GUID\n */\n projectId: string;\n /**\n * User's instruction for the new name. For example, `Make it shorter and more playful`.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateProjectNameResponse {\n /**\n * Suggested project name. Not saved.\n * @maxLength 30\n */\n name?: string;\n}\n\nexport interface RegenerateProjectIconRequest {\n /**\n * ID of the project to generate an icon for.\n * @format GUID\n */\n projectId: string;\n /**\n * User's instruction for the new icon. For example, `Use a minimal coffee cup`.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateProjectIconResponse {\n /**\n * URL of the suggested icon. Not saved.\n * @format WEB_URL\n */\n iconUrl?: string;\n}\n\nexport interface ListProjectsForCurrentUserRequest {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface ListProjectsForCurrentUserResponse {\n /** Projects that the current user owns. */\n projects?: Project[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface SaveProjectDesignRequest {\n /**\n * ID of the project whose design to save.\n * @format GUID\n */\n projectId: string;\n /**\n * ID of the release that the user is currently viewing.\n *\n * The new draft release branches from this release, even if a newer release exists.\n * @maxLength 100\n */\n baseReleaseId: string;\n /**\n * Complete design-token document, as a string that contains a single JSON object.\n *\n * Specify the whole document, not only the values that changed. Keep any token groups and light or\n * dark mode values that you didn't change.\n * @maxLength 65536\n */\n tokensJson: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n * This isn't the app's ID.\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the design is saved from.\n *\n * When specified, a `CHECKPOINT` message that marks the saved version is added to the conversation.\n * The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\nexport interface SaveProjectDesignResponse {\n /**\n * ID of the saved draft release.\n * @maxLength 100\n */\n himalayaReleaseId?: string;\n /**\n * Short-lived token for previewing the saved draft release.\n * @maxLength 4096\n */\n previewToken?: string;\n /** Date and time the preview token expires. */\n previewTokenExpiresAt?: Date | null;\n}\n\nexport interface RestoreReleaseRequest {\n /**\n * ID of the project to restore a release for.\n * @format GUID\n */\n projectId: string;\n /**\n * ID of the release to restore. For example, `rel-4f9c2a1b7d3e`.\n * @maxLength 200\n */\n releaseId: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * When specified, the release is checked to belong to the project before it's restored. Used for\n * this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the release is restored from.\n *\n * When specified, a `CHECKPOINT` message that marks the restored version is added to the\n * conversation. The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\nexport interface RestoreReleaseResponse {\n /** Updated project. `headReleaseId` is set to the restored release. */\n project?: Project;\n}\n\nexport interface ListProjectsRequest {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\nexport interface ListProjectsResponse {\n /** Projects of the current site. */\n projects?: Project[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface BoListProjectsRequest {\n /**\n * IDs of the sites whose projects to retrieve. Each ID may appear once.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n metaSiteIds?: string[];\n}\n\nexport interface BoListProjectsResponse {\n /**\n * Projects of each requested site, in request order.\n * @maxSize 100\n */\n sites?: BoSiteProjects[];\n}\n\n/** Projects of one site. */\nexport interface BoSiteProjects {\n /**\n * ID of the site.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Projects of the site. Empty when the site has none. At most 1,000 are returned for a site.\n * @maxSize 1000\n */\n projects?: Project[];\n}\n\nexport interface BoCloneProjectRequest {\n /**\n * ID of the project to copy.\n * @format GUID\n */\n sourceProjectId?: string;\n /**\n * ID of the site the project belongs to.\n * @format GUID\n */\n sourceMetaSiteId?: string;\n /**\n * ID of the site to copy the project into. The calling employee's Wix user must own it.\n * @format GUID\n */\n targetMetaSiteId?: string;\n}\n\nexport interface BoCloneProjectResponse {\n /** The copy, in the target site. */\n project?: Project;\n}\n\nexport interface GetHimalayaAuthorizationRequest {\n /**\n * ID of the project to check.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetHimalayaAuthorizationResponse {\n /** Version of the response format. Currently always `1`. */\n authorizationVersion?: number;\n /**\n * ID of the Wix site that the check was made for.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Project ID.\n * @format GUID\n */\n projectId?: string;\n /**\n * Canonical slug of the project's app.\n *\n * Specify this value in `canonicalApp` when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n * @maxLength 200\n */\n canonicalApp?: string;\n /** Whether the current user can start new work by the coding agent on the project. */\n workerLaunch?: boolean;\n /** Whether the current user can save the project's design. */\n saveDesign?: boolean;\n}\n\nexport interface StartMobileBuildRequest {\n /**\n * ID of the project to build.\n * @format GUID\n */\n projectId: string;\n /**\n * Platforms to build. One build is started for each platform.\n * @minSize 1\n * @maxSize 2\n */\n platforms: PlatformWithLiterals[];\n /**\n * ID of the app release to build. When not specified, the app's live release is built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label for the builds, for example `1.2.0`. It's stored with the builds and returned by\n * Get Latest Mobile Builds. It isn't written into the app.\n * @maxLength 50\n */\n appVersion?: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * Android only. Kind of file to build. Default: `APK`.\n *\n * `AAB` builds the file to upload to Google Play, under the package name saved for the app in\n * Himalaya. With `AAB`, `platforms` must be only `ANDROID`, and `owner_authorization` is required.\n */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * The site owner's dashboard authorization: the signed `Authorization` header of this request.\n * Required with `android_format: AAB`: Himalaya checks that whoever starts a Google Play file owns the site.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n ownerAuthorization?: string;\n}\n\n/** Platform that an app-file build targets. */\nexport enum Platform {\n /** iOS. The build makes an `.ipa` file and an install page. */\n IOS = 'IOS',\n /** Android. The build makes an `.apk` file, or an `.aab` file for Google Play (see `androidFormat`). */\n ANDROID = 'ANDROID',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals = Platform | 'IOS' | 'ANDROID';\n\n/** Kind of file an Android build makes. */\nexport enum AndroidFormat {\n /** An `.apk` file, to install on a phone and test. */\n APK = 'APK',\n /** An `.aab` file (Android App Bundle), the file to upload to Google Play. It can't be installed on a phone. */\n AAB = 'AAB',\n}\n\n/** @enumType */\nexport type AndroidFormatWithLiterals = AndroidFormat | 'APK' | 'AAB';\n\nexport interface StartMobileBuildResponse {\n /**\n * Started builds, one for each platform that was accepted.\n * @maxSize 2\n */\n builds?: MobileBuild[];\n /**\n * Platforms whose build couldn't be started. Empty when every platform was started.\n * @maxSize 2\n */\n failedPlatforms?: FailedMobileBuildPlatform[];\n}\n\n/** One build of a project's installable app files, for one platform. */\nexport interface MobileBuild {\n /**\n * Build ID.\n * @maxLength 200\n */\n jobId?: string;\n /** Platform that the build targets. */\n platform?: PlatformWithLiterals;\n /**\n * ID of the app release that was built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label that the owner gave the build when it was started. Can be empty.\n * @maxLength 50\n */\n appVersion?: string;\n /** Build status. */\n status?: StatusWithLiterals;\n /** Why the build failed. Returned only when `status` is `FAILED`. */\n failureKind?: FailureKindWithLiterals;\n /**\n * Status reported by the build system, for diagnostics only.\n * @maxLength 50\n */\n himalayaStatus?: string;\n /**\n * Error text reported by the build system, for diagnostics only. Don't parse it.\n * @maxLength 2000\n */\n errorMessage?: string;\n /**\n * URL of the built file: an `.ipa` file for iOS, or an `.apk` or `.aab` file for Android.\n * Returned only when `status` is `SUCCEEDED`. Can be empty for iOS.\n * @format WEB_URL\n */\n downloadUrl?: string;\n /**\n * iOS only. URL of the page that installs the app on an iPhone.\n * Returned only when `status` is `SUCCEEDED`. Can be empty.\n * @format WEB_URL\n */\n installPageUrl?: string;\n /** Date and time the download links expire, about 7 days after the build. */\n downloadExpiresDate?: Date | null;\n /** Whether the download links have expired. To get new links, start a new build. */\n downloadExpired?: boolean;\n /** Date and time the build was started. */\n _createdDate?: Date | null;\n /** Date and time the build was first seen as `SUCCEEDED`. */\n builtDate?: Date | null;\n /** Date and time the build last changed. */\n _updatedDate?: Date | null;\n /** Android only. Kind of file the build made: an `.apk` to install and test, or an `.aab` to upload to Google Play. */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * Android `AAB` builds only. URL of an `.apk` file of the same build, to install on a phone and test.\n * Returned only when `status` is `SUCCEEDED`. Can be empty. Expires with `download_url`.\n * @format WEB_URL\n */\n apkDownloadUrl?: string;\n}\n\n/** Status of an app-file build. */\nexport enum Status {\n /** The build is queued or running. */\n IN_PROGRESS = 'IN_PROGRESS',\n /** The build finished and its files can be downloaded until `downloadExpiresDate`. */\n SUCCEEDED = 'SUCCEEDED',\n /** The build failed. See `failureKind`. */\n FAILED = 'FAILED',\n /** The build was canceled. */\n CANCELED = 'CANCELED',\n}\n\n/** @enumType */\nexport type StatusWithLiterals =\n | Status\n | 'IN_PROGRESS'\n | 'SUCCEEDED'\n | 'FAILED'\n | 'CANCELED';\n\n/** Why an app-file build failed. */\nexport enum FailureKind {\n /** The app couldn't be signed. */\n SIGNING = 'SIGNING',\n /** The build failed for another reason. */\n BUILD = 'BUILD',\n}\n\n/** @enumType */\nexport type FailureKindWithLiterals = FailureKind | 'SIGNING' | 'BUILD';\n\n/** A platform whose build couldn't be started. */\nexport interface FailedMobileBuildPlatform {\n /** Platform. */\n platform?: PlatformWithLiterals;\n /**\n * Error code reported by the build system.\n * @maxLength 200\n */\n errorCode?: string;\n /**\n * Error text reported by the build system, for diagnostics only.\n * @maxLength 2000\n */\n errorMessage?: string;\n}\n\nexport interface GetLatestMobileBuildsRequest {\n /**\n * ID of the project.\n * @format GUID\n */\n projectId: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * When specified, builds in progress are refreshed before the response. Used for this call only.\n * It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n}\n\nexport interface GetLatestMobileBuildsResponse {\n /**\n * Latest builds for each platform: iOS first, then Android.\n * @maxSize 2\n */\n platforms?: PlatformMobileBuilds[];\n /** Whether refreshing builds in progress failed. When `true`, the stored state is returned. */\n refreshFailed?: boolean;\n}\n\n/** The latest app-file builds of a project for one platform. */\nexport interface PlatformMobileBuilds {\n /** Platform. */\n platform?: PlatformWithLiterals;\n /** The last build that was started, in any status. Not returned when no build was started. */\n lastAttempt?: MobileBuild;\n /** The last build that succeeded. Its links can be expired. Not returned when no build succeeded. */\n lastSuccessfulBuild?: MobileBuild;\n}\n\nexport interface ClaimHimalayaAppRequest {\n /**\n * Site-tenanted Containers project to claim a Himalaya app for.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface ClaimHimalayaAppResponse {\n /** Version of the authorization capability contract. Matches GetHimalayaAuthorizationResponse. */\n authorizationVersion?: number;\n /**\n * Trusted MetaSite selected from request identity context, never from the request body.\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Site-tenanted Containers project the app is bound to.\n * @format GUID\n */\n projectId?: string;\n /**\n * Canonical Himalaya app slug, newly claimed or already bound.\n * @maxLength 200\n */\n canonicalApp?: string;\n}\n\n/**\n * Creates a project from a template.\n *\n * The project is created with `PLANNING` status.\n * @param project - Project to create.\n * @internal\n * @documentationMaturity preview\n * @requiredField project\n * @requiredField project.platform\n * @requiredField project.templateId\n * @permissionId containers:projects:v1:project:create_project\n * @returns Created project.\n * @fqn wix.containers.projects.v1.ContainersProjects.CreateProject\n */\nexport async function createProject(\n project: NonNullablePaths<Project, `platform` | `templateId`, 0>\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`\n | `oneAppMigration.sourceMetaSiteId`\n | `oneAppMigration.offerReserved`\n | `oneAppMigration.activeJobType`\n | `oneAppMigration.activeRequestFingerprint`\n | `oneAppMigration.activeDeveloperEmailSha256`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ project: project });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.createProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { project: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['project']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a project.\n * @param projectId - ID of the project to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_project\n * @applicableIdentity APP\n * @returns Retrieved project.\n * @fqn wix.containers.projects.v1.ContainersProjects.GetProject\n */\nexport async function getProject(\n projectId: string\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`\n | `oneAppMigration.sourceMetaSiteId`\n | `oneAppMigration.offerReserved`\n | `oneAppMigration.activeJobType`\n | `oneAppMigration.activeRequestFingerprint`\n | `oneAppMigration.activeDeveloperEmailSha256`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts = ambassadorWixContainersProjectsV1Project.getProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a project.\n *\n * Each time the project is updated, `revision` increments by 1. The current `revision` must be\n * passed when updating the project. This ensures you're working with the latest project and\n * prevents unintended overwrites.\n * @param _id - Project ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField project\n * @requiredField project.revision\n * @permissionId containers:projects:v1:project:update_project\n * @returns Updated project.\n * @fqn wix.containers.projects.v1.ContainersProjects.UpdateProject\n */\nexport async function updateProject(\n _id: string,\n project: NonNullablePaths<UpdateProject, `revision`, 0>\n): Promise<\n NonNullablePaths<\n Project,\n | `name`\n | `status`\n | `sandboxStatus`\n | `metaSiteIds`\n | `platform`\n | `oneAppMigration.state`\n | `oneAppMigration.sourceMetaSiteId`\n | `oneAppMigration.offerReserved`\n | `oneAppMigration.activeJobType`\n | `oneAppMigration.activeRequestFingerprint`\n | `oneAppMigration.activeDeveloperEmailSha256`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n project: { ...project, id: _id },\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.updateProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.project!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { project: '$[1]' },\n explicitPathsToArguments: { 'project.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'project']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateProject {\n /**\n * Project ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Project name, shown to the user.\n * @maxLength 200\n */\n name?: string;\n /** Project status. */\n status?: ProjectStatusWithLiterals;\n /**\n * ID of the template that the project was created from.\n * @format GUID\n * @immutable\n */\n templateId?: string | null;\n /**\n * ID of the project's source code project. Set automatically when the project is created.\n * @format GUID\n * @readonly\n */\n codeStoreProjectId?: string | null;\n /**\n * ID of the user who created the project.\n * @format GUID\n * @readonly\n */\n ownerUserId?: string | null;\n /**\n * Revision number, which increments by 1 each time the project is updated.\n * To prevent conflicting changes,\n * the current revision must be passed when updating the project.\n *\n * Ignored when creating a project.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the project was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the project was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Whether a remote development environment is being created for the project.\n * @readonly\n */\n sandboxStatus?: SandboxStatusWithLiterals;\n /**\n * IDs of the Wix sites that the project relates to.\n *\n * A project can relate to any number of sites, including none.\n * @format GUID\n */\n metaSiteIds?: string[];\n /**\n * Platform that the project's app targets. Set when the project is created and can't be changed.\n * @immutable\n */\n platform?: V1PlatformWithLiterals;\n /**\n * URL of the app's icon.\n * @maxLength 2000\n */\n appIconUrl?: string | null;\n /**\n * ID of the release that the project is currently on.\n *\n * Your app previews this release, and the next design save or edit by the coding agent branches\n * from it. Set automatically after each design save or edit, and by\n * [Restore Release](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/restore-release).\n * When empty, the project is on its newest release.\n * @maxLength 200\n * @readonly\n */\n headReleaseId?: string | null;\n /**\n * Internal migration lifecycle. Absent for ordinary projects. Only dedicated migration\n * operations may set this field; standard create and update requests cannot change it.\n * @readonly\n */\n oneAppMigration?: OneAppMigration;\n}\n\n/**\n * Deletes a project.\n * @param projectId - ID of the project to delete.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:delete_project\n * @fqn wix.containers.projects.v1.ContainersProjects.DeleteProject\n */\nexport async function deleteProject(projectId: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.deleteProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Resumes work on a project by starting its remote development environment, or by reusing an\n * environment that's already running.\n *\n * Call this method when a user returns to a project with `BUILDING` status, before they send new\n * requests to the coding agent. The environment starts in the background, and the method returns\n * the project without waiting for it. The API doesn't report when the environment is ready. The\n * coding agent picks up new work as soon as it is.\n *\n * The project's `status` must be `BUILDING`.\n * @param projectId - ID of the project to resume.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:resume_project\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.ResumeProject\n */\nexport async function resumeProject(\n projectId: string\n): Promise<\n NonNullablePaths<\n ResumeProjectResponse,\n | `project.name`\n | `project.status`\n | `project.sandboxStatus`\n | `project.metaSiteIds`\n | `project.platform`\n | `project.oneAppMigration.state`\n | `project.oneAppMigration.sourceMetaSiteId`\n | `project.oneAppMigration.offerReserved`\n | `project.oneAppMigration.activeJobType`\n | `project.oneAppMigration.activeRequestFingerprint`\n | `project.oneAppMigration.activeDeveloperEmailSha256`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.resumeProject(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates a suggested name for a project, based on the user's instruction.\n *\n * The suggested name isn't saved. To save it, call Update Project.\n * @param projectId - ID of the project to generate a name for.\n * @param prompt - User's instruction for the new name. For example, `Make it shorter and more playful`.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField prompt\n * @permissionId containers:projects:v1:project:regenerate_project_name\n * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectName\n */\nexport async function regenerateProjectName(\n projectId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateProjectNameResponse, `name`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n prompt: prompt,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.regenerateProjectName(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates a suggested icon for a project, based on the user's instruction.\n *\n * The icon is based on the project's current name, icon, description, and brand colors. The\n * suggested icon isn't saved. To save it, call Update Project.\n * @param projectId - ID of the project to generate an icon for.\n * @param prompt - User's instruction for the new icon. For example, `Use a minimal coffee cup`.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField prompt\n * @permissionId containers:projects:v1:project:regenerate_project_icon\n * @fqn wix.containers.projects.v1.ContainersProjects.RegenerateProjectIcon\n */\nexport async function regenerateProjectIcon(\n projectId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateProjectIconResponse, `iconUrl`, 0>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n prompt: prompt,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.regenerateProjectIcon(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Saves a project's design as a new draft release.\n *\n * Specify the complete design-token document in `tokensJson`, and the release that the user is\n * currently viewing in `baseReleaseId`. The new draft release branches from `baseReleaseId`, even\n * if a newer release exists. Saving a design doesn't change the project's live app.\n *\n * The response includes the ID of the new release and a short-lived token for previewing it. After\n * the save, the project's `headReleaseId` is set to the new release.\n *\n * To record the saved version in a conversation, specify the conversation's ID in `conversationId`.\n * A `CHECKPOINT` message is then added to the conversation. If the checkpoint can't be added, the\n * design is still saved.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n * @param projectId - ID of the project whose design to save.\n * @param baseReleaseId - ID of the release that the user is currently viewing.\n *\n * The new draft release branches from this release, even if a newer release exists.\n * @public\n * @documentationMaturity preview\n * @requiredField baseReleaseId\n * @requiredField options.himalayaControlToken\n * @requiredField options.tokensJson\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:save_project_design\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.SaveProjectDesign\n */\nexport async function saveProjectDesign(\n projectId: string,\n baseReleaseId: string,\n options?: NonNullablePaths<\n SaveProjectDesignOptions,\n `himalayaControlToken` | `tokensJson`,\n 0\n >\n): Promise<\n NonNullablePaths<\n SaveProjectDesignResponse,\n `himalayaReleaseId` | `previewToken`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n baseReleaseId: baseReleaseId,\n tokensJson: options?.tokensJson,\n himalayaControlToken: options?.himalayaControlToken,\n canonicalApp: options?.canonicalApp,\n conversationId: options?.conversationId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.saveProjectDesign(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n baseReleaseId: '$[1]',\n tokensJson: '$[2].tokensJson',\n himalayaControlToken: '$[2].himalayaControlToken',\n canonicalApp: '$[2].canonicalApp',\n conversationId: '$[2].conversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'baseReleaseId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SaveProjectDesignOptions {\n /**\n * Complete design-token document, as a string that contains a single JSON object.\n *\n * Specify the whole document, not only the values that changed. Keep any token groups and light or\n * dark mode values that you didn't change.\n * @maxLength 65536\n */\n tokensJson: string;\n /**\n * Short-lived control credential for the project's app releases.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n * This isn't the app's ID.\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the design is saved from.\n *\n * When specified, a `CHECKPOINT` message that marks the saved version is added to the conversation.\n * The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\n/**\n * Restores an earlier version of a project.\n *\n * Sets the project's `headReleaseId` to the release specified in `releaseId`. Your app then\n * previews that release, and the next design save or edit by the coding agent branches from it.\n * Restoring a release doesn't change the project's live app.\n *\n * Only the project's owner can restore a release.\n *\n * To confirm that the release belongs to the project before it's restored, specify\n * `himalayaControlToken`. To record the restored version in a conversation, specify the\n * conversation's ID in `conversationId`. A `CHECKPOINT` message is then added to the conversation.\n * If the checkpoint can't be added, the release is still restored.\n * @param projectId - ID of the project to restore a release for.\n * @param releaseId - ID of the release to restore. For example, `rel-4f9c2a1b7d3e`.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @requiredField releaseId\n * @permissionId containers:projects:v1:project:restore_release\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.RestoreRelease\n */\nexport async function restoreRelease(\n projectId: string,\n releaseId: string,\n options?: RestoreReleaseOptions\n): Promise<\n NonNullablePaths<\n RestoreReleaseResponse,\n | `project.name`\n | `project.status`\n | `project.sandboxStatus`\n | `project.metaSiteIds`\n | `project.platform`\n | `project.oneAppMigration.state`\n | `project.oneAppMigration.sourceMetaSiteId`\n | `project.oneAppMigration.offerReserved`\n | `project.oneAppMigration.activeJobType`\n | `project.oneAppMigration.activeRequestFingerprint`\n | `project.oneAppMigration.activeDeveloperEmailSha256`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n releaseId: releaseId,\n himalayaControlToken: options?.himalayaControlToken,\n conversationId: options?.conversationId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.restoreRelease(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n releaseId: '$[1]',\n himalayaControlToken: '$[2].himalayaControlToken',\n conversationId: '$[2].conversationId',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'releaseId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface RestoreReleaseOptions {\n /**\n * Short-lived control credential for the project's app releases.\n *\n * When specified, the release is checked to belong to the project before it's restored. Used for\n * this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n /**\n * ID of the [conversation](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-chat/introduction) that the release is restored from.\n *\n * When specified, a `CHECKPOINT` message that marks the restored version is added to the\n * conversation. The conversation must belong to the project.\n * @maxLength 100\n */\n conversationId?: string;\n}\n\n/**\n * Retrieves the projects of the current site, regardless of who created them.\n *\n * Projects of other sites in the same account aren't included.\n * @internal\n * @documentationMaturity preview\n * @permissionId containers:projects:v1:project:list_projects\n * @fqn wix.containers.projects.v1.ContainersProjects.ListProjects\n */\nexport async function listProjects(\n options?: ListProjectsOptions\n): Promise<\n NonNullablePaths<\n ListProjectsResponse,\n | `projects`\n | `projects.${number}.name`\n | `projects.${number}.status`\n | `projects.${number}.sandboxStatus`\n | `projects.${number}.platform`\n | `projects.${number}.oneAppMigration.state`\n | `projects.${number}.oneAppMigration.sourceMetaSiteId`\n | `projects.${number}.oneAppMigration.offerReserved`\n | `projects.${number}.oneAppMigration.activeJobType`\n | `projects.${number}.oneAppMigration.activeRequestFingerprint`\n | `projects.${number}.oneAppMigration.activeDeveloperEmailSha256`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n paging: options?.paging,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.listProjects(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { paging: '$[0].paging' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListProjectsOptions {\n /** Cursor paging options. */\n paging?: CursorPaging;\n}\n\n/**\n * Checks whether the current user can work on a project's app.\n *\n * Supported for projects whose `platform` is `HIMALAYA_MOBILE`. The response returns the canonical\n * slug of the project's app in `canonicalApp`. Specify this value when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n *\n * The response is a check only and doesn't grant access. Each later change to the project is\n * authorized again.\n * @param projectId - ID of the project to check.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_himalaya_authorization\n * @applicableIdentity APP\n * @fqn wix.containers.projects.v1.ContainersProjects.GetHimalayaAuthorization\n */\nexport async function getHimalayaAuthorization(\n projectId: string\n): Promise<\n NonNullablePaths<\n GetHimalayaAuthorizationResponse,\n | `authorizationVersion`\n | `metaSiteId`\n | `projectId`\n | `canonicalApp`\n | `workerLaunch`\n | `saveDesign`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.getHimalayaAuthorization(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Starts building the installable app files of a project, one build for each platform.\n *\n * The builds run in the background and take several minutes. To follow them, call\n * [Get Latest Mobile Builds](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-latest-mobile-builds)\n * with `himalayaControlToken`.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n * @param projectId - ID of the project to build.\n * @param platforms - Platforms to build. One build is started for each platform.\n * @public\n * @documentationMaturity preview\n * @requiredField options.himalayaControlToken\n * @requiredField platforms\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:start_mobile_build\n * @fqn wix.containers.projects.v1.ContainersProjects.StartMobileBuild\n */\nexport async function startMobileBuild(\n projectId: string,\n platforms: PlatformWithLiterals[],\n options?: NonNullablePaths<StartMobileBuildOptions, `himalayaControlToken`, 0>\n): Promise<\n NonNullablePaths<\n StartMobileBuildResponse,\n | `builds`\n | `builds.${number}.jobId`\n | `builds.${number}.platform`\n | `builds.${number}.releaseId`\n | `builds.${number}.appVersion`\n | `builds.${number}.status`\n | `builds.${number}.failureKind`\n | `builds.${number}.himalayaStatus`\n | `builds.${number}.errorMessage`\n | `builds.${number}.downloadUrl`\n | `builds.${number}.installPageUrl`\n | `builds.${number}.downloadExpired`\n | `builds.${number}.androidFormat`\n | `builds.${number}.apkDownloadUrl`\n | `failedPlatforms`\n | `failedPlatforms.${number}.platform`\n | `failedPlatforms.${number}.errorCode`\n | `failedPlatforms.${number}.errorMessage`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[3] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n platforms: platforms,\n releaseId: options?.releaseId,\n appVersion: options?.appVersion,\n himalayaControlToken: options?.himalayaControlToken,\n canonicalApp: options?.canonicalApp,\n androidFormat: options?.androidFormat,\n ownerAuthorization: options?.ownerAuthorization,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.startMobileBuild(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n platforms: '$[1]',\n releaseId: '$[2].releaseId',\n appVersion: '$[2].appVersion',\n himalayaControlToken: '$[2].himalayaControlToken',\n canonicalApp: '$[2].canonicalApp',\n androidFormat: '$[2].androidFormat',\n ownerAuthorization: '$[2].ownerAuthorization',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'platforms', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface StartMobileBuildOptions {\n /**\n * ID of the app release to build. When not specified, the app's live release is built.\n * @maxLength 200\n */\n releaseId?: string;\n /**\n * Version label for the builds, for example `1.2.0`. It's stored with the builds and returned by\n * Get Latest Mobile Builds. It isn't written into the app.\n * @maxLength 50\n */\n appVersion?: string;\n /**\n * Short-lived control credential for the project's app.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken: string;\n /**\n * Canonical slug of the project's app, exactly as returned in `canonicalApp` by\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * Required when the project's `platform` is `HIMALAYA_MOBILE`. The value is verified on the server.\n * @maxLength 200\n */\n canonicalApp?: string;\n /**\n * Android only. Kind of file to build. Default: `APK`.\n *\n * `AAB` builds the file to upload to Google Play, under the package name saved for the app in\n * Himalaya. With `AAB`, `platforms` must be only `ANDROID`, and `owner_authorization` is required.\n */\n androidFormat?: AndroidFormatWithLiterals;\n /**\n * The site owner's dashboard authorization: the signed `Authorization` header of this request.\n * Required with `android_format: AAB`: Himalaya checks that whoever starts a Google Play file owns the site.\n *\n * Used for this call only. It isn't stored or returned.\n * @maxLength 4096\n */\n ownerAuthorization?: string;\n}\n\n/**\n * Retrieves the latest app-file builds of a project: for each platform, the last build that was\n * started and the last build that succeeded.\n *\n * The caller must be authorized to work on the project's app, as for\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * When `himalayaControlToken` is specified, builds that are still in progress are refreshed\n * before the response. Without it, the stored state is returned as is.\n * @param projectId - ID of the project.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:get_latest_mobile_builds\n * @fqn wix.containers.projects.v1.ContainersProjects.GetLatestMobileBuilds\n */\nexport async function getLatestMobileBuilds(\n projectId: string,\n options?: GetLatestMobileBuildsOptions\n): Promise<\n NonNullablePaths<\n GetLatestMobileBuildsResponse,\n | `platforms`\n | `platforms.${number}.platform`\n | `platforms.${number}.lastAttempt.jobId`\n | `platforms.${number}.lastAttempt.platform`\n | `platforms.${number}.lastAttempt.releaseId`\n | `platforms.${number}.lastAttempt.appVersion`\n | `platforms.${number}.lastAttempt.status`\n | `platforms.${number}.lastAttempt.failureKind`\n | `platforms.${number}.lastAttempt.himalayaStatus`\n | `platforms.${number}.lastAttempt.errorMessage`\n | `platforms.${number}.lastAttempt.downloadUrl`\n | `platforms.${number}.lastAttempt.installPageUrl`\n | `platforms.${number}.lastAttempt.downloadExpired`\n | `platforms.${number}.lastAttempt.androidFormat`\n | `platforms.${number}.lastAttempt.apkDownloadUrl`\n | `refreshFailed`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n himalayaControlToken: options?.himalayaControlToken,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.getLatestMobileBuilds(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n projectId: '$[0]',\n himalayaControlToken: '$[1].himalayaControlToken',\n },\n singleArgumentUnchanged: false,\n },\n ['projectId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetLatestMobileBuildsOptions {\n /**\n * Short-lived control credential for the project's app.\n *\n * When specified, builds in progress are refreshed before the response. Used for this call only.\n * It isn't stored or returned.\n * @maxLength 4096\n */\n himalayaControlToken?: string;\n}\n\n/**\n * Claims the canonical Himalaya app for a NEW site-tenanted project, or returns the one already\n * bound to it.\n *\n * This exists so the BROWSER never asserts the (MetaSite, project) pair to Himalaya. Containers\n * is the authority on project -> MetaSite: it reads the project from its own store with a\n * consistent read and takes the MetaSite from this call's identity context, then claims\n * server-to-server with a site USER token minted for the initiating collaborator. Himalaya\n * recognises that token as minted by THIS service and trusts the pair on that basis. A dashboard\n * calling Himalaya directly could name another site's project UUID and reserve its global slug.\n *\n * Idempotent per pair: an already-claimed project returns its existing canonical app.\n * @param projectId - Site-tenanted Containers project to claim a Himalaya app for.\n * @public\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:projects:v1:project:claim_himalaya_app\n * @fqn wix.containers.projects.v1.ContainersProjects.ClaimHimalayaApp\n */\nexport async function claimHimalayaApp(\n projectId: string\n): Promise<\n NonNullablePaths<\n ClaimHimalayaAppResponse,\n `authorizationVersion` | `metaSiteId` | `projectId` | `canonicalApp`,\n 0\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n projectId: projectId,\n });\n\n const reqOpts =\n ambassadorWixContainersProjectsV1Project.claimHimalayaApp(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { projectId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['projectId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nconst TRANSFORM_PATHS_0 = [\n { path: 'project.createdDate' },\n { path: 'project.updatedDate' },\n { path: 'project.oneAppMigration.workerWriteDrainUntil' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'fieldMask' }];\nconst TRANSFORM_PATHS_2 = [{ path: 'previewTokenExpiresAt' }];\nconst TRANSFORM_PATHS_3 = [\n { path: 'projects.createdDate' },\n { path: 'projects.updatedDate' },\n { path: 'projects.oneAppMigration.workerWriteDrainUntil' },\n];\nconst TRANSFORM_PATHS_4 = [\n { path: 'builds.downloadExpiresDate' },\n { path: 'builds.createdDate' },\n { path: 'builds.builtDate' },\n { path: 'builds.updatedDate' },\n];\nconst TRANSFORM_PATHS_5 = [\n { path: 'platforms.lastAttempt.downloadExpiresDate' },\n { path: 'platforms.lastAttempt.createdDate' },\n { path: 'platforms.lastAttempt.builtDate' },\n { path: 'platforms.lastAttempt.updatedDate' },\n { path: 'platforms.lastSuccessfulBuild.downloadExpiresDate' },\n { path: 'platforms.lastSuccessfulBuild.createdDate' },\n { path: 'platforms.lastSuccessfulBuild.builtDate' },\n { path: 'platforms.lastSuccessfulBuild.updatedDate' },\n];\n\nfunction resolveWixContainersProjectsV1ContainersProjectsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/containers-projects',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/containers/projects',\n destPath: '',\n },\n {\n srcPath: '/containers/projects/v1/projects',\n destPath: '/v1/projects',\n },\n ],\n _: [\n {\n srcPath: '/containers/projects/v1/projects',\n destPath: '/v1/projects',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/containers-projects/v1/bo',\n destPath: '/v1/bo',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_containers_projects';\n\n/**\n * Creates a project from a template.\n *\n * The project is created with `PLANNING` status.\n */\nexport function createProject(payload: object): RequestOptionsFactory<any> {\n function __createProject({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.CreateProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createProject;\n}\n\n/** Retrieves a project. */\nexport function getProject(payload: object): RequestOptionsFactory<any> {\n function __getProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.GetProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getProject;\n}\n\n/**\n * Updates a project.\n *\n * Each time the project is updated, `revision` increments by 1. The current `revision` must be\n * passed when updating the project. This ensures you're working with the latest project and\n * prevents unintended overwrites.\n */\nexport function updateProject(payload: object): RequestOptionsFactory<any> {\n function __updateProject({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: TRANSFORM_PATHS_1,\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'PATCH' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.UpdateProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{project.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateProject;\n}\n\n/** Deletes a project. */\nexport function deleteProject(payload: object): RequestOptionsFactory<any> {\n function __deleteProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'DELETE' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.DeleteProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteProject;\n}\n\n/**\n * Resumes work on a project by starting its remote development environment, or by reusing an\n * environment that's already running.\n *\n * Call this method when a user returns to a project with `BUILDING` status, before they send new\n * requests to the coding agent. The environment starts in the background, and the method returns\n * the project without waiting for it. The API doesn't report when the environment is ready. The\n * coding agent picks up new work as soon as it is.\n *\n * The project's `status` must be `BUILDING`.\n */\nexport function resumeProject(payload: object): RequestOptionsFactory<any> {\n function __resumeProject({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.ResumeProject',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/resume',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __resumeProject;\n}\n\n/**\n * Generates a suggested name for a project, based on the user's instruction.\n *\n * The suggested name isn't saved. To save it, call Update Project.\n */\nexport function regenerateProjectName(\n payload: object\n): RequestOptionsFactory<any> {\n function __regenerateProjectName({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.RegenerateProjectName',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/regenerate-name',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateProjectName;\n}\n\n/**\n * Generates a suggested icon for a project, based on the user's instruction.\n *\n * The icon is based on the project's current name, icon, description, and brand colors. The\n * suggested icon isn't saved. To save it, call Update Project.\n */\nexport function regenerateProjectIcon(\n payload: object\n): RequestOptionsFactory<any> {\n function __regenerateProjectIcon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.RegenerateProjectIcon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/regenerate-icon',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateProjectIcon;\n}\n\n/**\n * Saves a project's design as a new draft release.\n *\n * Specify the complete design-token document in `tokensJson`, and the release that the user is\n * currently viewing in `baseReleaseId`. The new draft release branches from `baseReleaseId`, even\n * if a newer release exists. Saving a design doesn't change the project's live app.\n *\n * The response includes the ID of the new release and a short-lived token for previewing it. After\n * the save, the project's `headReleaseId` is set to the new release.\n *\n * To record the saved version in a conversation, specify the conversation's ID in `conversationId`.\n * A `CHECKPOINT` message is then added to the conversation. If the checkpoint can't be added, the\n * design is still saved.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n */\nexport function saveProjectDesign(payload: object): RequestOptionsFactory<any> {\n function __saveProjectDesign({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.SaveProjectDesign',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/save-design',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_2,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __saveProjectDesign;\n}\n\n/**\n * Restores an earlier version of a project.\n *\n * Sets the project's `headReleaseId` to the release specified in `releaseId`. Your app then\n * previews that release, and the next design save or edit by the coding agent branches from it.\n * Restoring a release doesn't change the project's live app.\n *\n * Only the project's owner can restore a release.\n *\n * To confirm that the release belongs to the project before it's restored, specify\n * `himalayaControlToken`. To record the restored version in a conversation, specify the\n * conversation's ID in `conversationId`. A `CHECKPOINT` message is then added to the conversation.\n * If the checkpoint can't be added, the release is still restored.\n */\nexport function restoreRelease(payload: object): RequestOptionsFactory<any> {\n function __restoreRelease({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.RestoreRelease',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/restore-release',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_0,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __restoreRelease;\n}\n\n/**\n * Retrieves the projects of the current site, regardless of who created them.\n *\n * Projects of other sites in the same account aren't included.\n */\nexport function listProjects(payload: object): RequestOptionsFactory<any> {\n function __listProjects({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn: 'wix.containers.projects.v1.ContainersProjects.ListProjects',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_3,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listProjects;\n}\n\n/**\n * Checks whether the current user can work on a project's app.\n *\n * Supported for projects whose `platform` is `HIMALAYA_MOBILE`. The response returns the canonical\n * slug of the project's app in `canonicalApp`. Specify this value when you call\n * [Save Project Design](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/save-project-design).\n *\n * The response is a check only and doesn't grant access. Each later change to the project is\n * authorized again.\n */\nexport function getHimalayaAuthorization(\n payload: object\n): RequestOptionsFactory<any> {\n function __getHimalayaAuthorization({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'GET' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.GetHimalayaAuthorization',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/himalaya-authorization',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __getHimalayaAuthorization;\n}\n\n/**\n * Starts building the installable app files of a project, one build for each platform.\n *\n * The builds run in the background and take several minutes. To follow them, call\n * [Get Latest Mobile Builds](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-latest-mobile-builds)\n * with `himalayaControlToken`.\n *\n * For projects whose `platform` is `HIMALAYA_MOBILE`, call\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization)\n * first, and specify the returned `canonicalApp`.\n */\nexport function startMobileBuild(payload: object): RequestOptionsFactory<any> {\n function __startMobileBuild({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.StartMobileBuild',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/mobile-builds',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_4,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __startMobileBuild;\n}\n\n/**\n * Retrieves the latest app-file builds of a project: for each platform, the last build that was\n * started and the last build that succeeded.\n *\n * The caller must be authorized to work on the project's app, as for\n * [Get Himalaya Authorization](https://dev.wix.com/docs/api-reference/mobile/containers-app/containers-projects/project-v1/get-himalaya-authorization).\n *\n * When `himalayaControlToken` is specified, builds that are still in progress are refreshed\n * before the response. Without it, the stored state is returned as is.\n */\nexport function getLatestMobileBuilds(\n payload: object\n): RequestOptionsFactory<any> {\n function __getLatestMobileBuilds({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.GetLatestMobileBuilds',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/mobile-builds/latest',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: TRANSFORM_PATHS_5,\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getLatestMobileBuilds;\n}\n\n/**\n * Claims the canonical Himalaya app for a NEW site-tenanted project, or returns the one already\n * bound to it.\n *\n * This exists so the BROWSER never asserts the (MetaSite, project) pair to Himalaya. Containers\n * is the authority on project -> MetaSite: it reads the project from its own store with a\n * consistent read and takes the MetaSite from this call's identity context, then claims\n * server-to-server with a site USER token minted for the initiating collaborator. Himalaya\n * recognises that token as minted by THIS service and trusts the pair on that basis. A dashboard\n * calling Himalaya directly could name another site's project UUID and reserve its global slug.\n *\n * Idempotent per pair: an already-claimed project returns its existing canonical app.\n */\nexport function claimHimalayaApp(payload: object): RequestOptionsFactory<any> {\n function __claimHimalayaApp({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.projects.v1.project',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.projects.v1.ContainersProjects.ClaimHimalayaApp',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersProjectsV1ContainersProjectsUrl({\n protoPath: '/v1/projects/{projectId}/himalaya-app-claim',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __claimHimalayaApp;\n}\n"],"mappings":";AAAA,SAAS,kBAAkB,yBAAyB;AACpD;AAAA,EACE;AAAA,EACA;AAAA,OACK;;;ACJP,SAAS,yBAAyB;AAClC,SAAS,4CAA4C;AACrD,SAAS,4CAA4C;AACrD,SAAS,4CAA4C;AACrD,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAI3B,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,sBAAsB;AAAA,EAC9B,EAAE,MAAM,sBAAsB;AAAA,EAC9B,EAAE,MAAM,gDAAgD;AAC1D;AACA,IAAM,oBAAoB,CAAC,EAAE,MAAM,YAAY,CAAC;AAChD,IAAM,oBAAoB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC5D,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,uBAAuB;AAAA,EAC/B,EAAE,MAAM,uBAAuB;AAAA,EAC/B,EAAE,MAAM,iDAAiD;AAC3D;AACA,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,6BAA6B;AAAA,EACrC,EAAE,MAAM,qBAAqB;AAAA,EAC7B,EAAE,MAAM,mBAAmB;AAAA,EAC3B,EAAE,MAAM,qBAAqB;AAC/B;AACA,IAAM,oBAAoB;AAAA,EACxB,EAAE,MAAM,4CAA4C;AAAA,EACpD,EAAE,MAAM,oCAAoC;AAAA,EAC5C,EAAE,MAAM,kCAAkC;AAAA,EAC1C,EAAE,MAAM,oCAAoC;AAAA,EAC5C,EAAE,MAAM,oDAAoD;AAAA,EAC5D,EAAE,MAAM,4CAA4C;AAAA,EACpD,EAAE,MAAM,0CAA0C;AAAA,EAClD,EAAE,MAAM,4CAA4C;AACtD;AAEA,SAAS,oDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,GAAG;AAAA,MACD;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,SAAO,WAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAOd,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,iBAAiB,eAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,WAAW,SAA6C;AACtE,WAAS,aAAa,EAAE,KAAK,GAAQ;AACnC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AASO,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,iBAAiB,eAAe,SAAS;AAAA,MAC7C;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,aAAa;AAAA,QACb,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAGO,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAaO,SAAS,cAAc,SAA6C;AACzE,WAAS,gBAAgB,EAAE,KAAK,GAAQ;AACtC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,sBACd,SAC4B;AAC5B,WAAS,wBAAwB,EAAE,KAAK,GAAQ;AAC9C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAQO,SAAS,sBACd,SAC4B;AAC5B,WAAS,wBAAwB,EAAE,KAAK,GAAQ;AAC9C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAoBO,SAAS,kBAAkB,SAA6C;AAC7E,WAAS,oBAAoB,EAAE,KAAK,GAAQ;AAC1C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAgBO,SAAS,eAAe,SAA6C;AAC1E,WAAS,iBAAiB,EAAE,KAAK,GAAQ;AACvC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,aAAa,SAA6C;AACxE,WAAS,eAAe,EAAE,KAAK,GAAQ;AACrC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,MACjC,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAYO,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,IACnC;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAaO,SAAS,iBAAiB,SAA6C;AAC5E,WAAS,mBAAmB,EAAE,KAAK,GAAQ;AACzC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAYO,SAAS,sBACd,SAC4B;AAC5B,WAAS,wBAAwB,EAAE,KAAK,GAAQ;AAC9C,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,MACN,mBAAmB,CAACA,aAClB,eAAeA,UAAS;AAAA,QACtB;AAAA,UACE,aAAa;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAeO,SAAS,iBAAiB,SAA6C;AAC5E,WAAS,mBAAmB,EAAE,KAAK,GAAQ;AACzC,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,oDAAoD;AAAA,QACvD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;AD7gBO,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;AAgBL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,cAAW;AAJD,SAAAA;AAAA,GAAA;AAUL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,SAAM;AAEN,EAAAA,YAAA,aAAU;AAKV,EAAAA,YAAA,qBAAkB;AATR,SAAAA;AAAA,GAAA;AAqDL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,aAAU;AACV,EAAAA,sBAAA,cAAW;AAHD,SAAAA;AAAA,GAAA;AAsGL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AACJ,EAAAA,SAAA,OAAI;AA3BM,SAAAA;AAAA,GAAA;AA8yBL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,qBAAA,aAAU;AACV,EAAAA,qBAAA,uBAAoB;AACpB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,cAAW;AACX,EAAAA,qBAAA,SAAM;AALI,SAAAA;AAAA,GAAA;AA2jBL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;AAWL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;AAyFL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,iBAAc;AAEd,EAAAA,QAAA,eAAY;AAEZ,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,cAAW;AARD,SAAAA;AAAA,GAAA;AAoBL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,aAAU;AAEV,EAAAA,aAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;AAwGZ,eAAsBC,eACpB,SAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,QAAiB,CAAC;AAE1E,QAAM,UACqC,cAAc,OAAO;AAEhE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,SAAS,OAAO;AAAA,QAC5C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAaA,eAAsBC,YACpB,WAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UAAmD,WAAW,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAkBA,eAAsBC,eACpB,KACA,SAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD,SAAS,EAAE,GAAG,SAAS,IAAI,IAAI;AAAA,EACjC,CAAC;AAED,QAAM,UACqC,cAAc,OAAO;AAEhE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI,GAAG;AAAA,EAC/D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,EAAE,SAAS,OAAO;AAAA,QAC1C,0BAA0B,EAAE,cAAc,OAAO;AAAA,QACjD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,OAAO,SAAS;AAAA,IACnB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAuGA,eAAsBC,eAAc,WAAkC;AAEpE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACqC,cAAc,OAAO;AAEhE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAAA,EACjC,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAoBA,eAAsBC,eACpB,WAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACqC,cAAc,OAAO;AAEhE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAeA,eAAsBC,uBACpB,WACA,QACqE;AAErE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,UACqC,sBAAsB,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,QAAQ,QAAQ,OAAO;AAAA,QAC9D,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,QAAQ;AAAA,IACxB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAgBA,eAAsBC,uBACpB,WACA,QACwE;AAExE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,UACqC,sBAAsB,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,QAAQ,QAAQ,OAAO;AAAA,QAC9D,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,QAAQ;AAAA,IACxB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAiCA,eAAsBC,mBACpB,WACA,eACA,SAWA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,IACA,YAAY,SAAS;AAAA,IACrB,sBAAsB,SAAS;AAAA,IAC/B,cAAc,SAAS;AAAA,IACvB,gBAAgB,SAAS;AAAA,EAC3B,CAAC;AAED,QAAM,UACqC,kBAAkB,OAAO;AAEpE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,eAAe;AAAA,UACf,YAAY;AAAA,UACZ,sBAAsB;AAAA,UACtB,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,iBAAiB,SAAS;AAAA,IAC1C;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA4DA,eAAsBC,gBACpB,WACA,WACA,SAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,IACA,sBAAsB,SAAS;AAAA,IAC/B,gBAAgB,SAAS;AAAA,EAC3B,CAAC;AAED,QAAM,UACqC,eAAe,OAAO;AAEjE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,sBAAsB;AAAA,UACtB,gBAAgB;AAAA,QAClB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,aAAa,SAAS;AAAA,IACtC;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA8BA,eAAsBC,cACpB,SAiBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD,QAAQ,SAAS;AAAA,EACnB,CAAC;AAED,QAAM,UACqC,aAAa,OAAO;AAE/D,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,QAAQ,cAAc;AAAA,QAClD,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,SAAS;AAAA,IACZ;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAwBA,eAAsBC,0BACpB,WAYA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACqC,yBAAyB,OAAO;AAE3E,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAsBA,eAAsBC,kBACpB,WACA,WACA,SAwBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,IACA,WAAW,SAAS;AAAA,IACpB,YAAY,SAAS;AAAA,IACrB,sBAAsB,SAAS;AAAA,IAC/B,cAAc,SAAS;AAAA,IACvB,eAAe,SAAS;AAAA,IACxB,oBAAoB,SAAS;AAAA,EAC/B,CAAC;AAED,QAAM,UACqC,iBAAiB,OAAO;AAEnE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,WAAW;AAAA,UACX,WAAW;AAAA,UACX,YAAY;AAAA,UACZ,sBAAsB;AAAA,UACtB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,oBAAoB;AAAA,QACtB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,aAAa,SAAS;AAAA,IACtC;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AA8DA,eAAsBC,uBACpB,WACA,SAsBA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA,sBAAsB,SAAS;AAAA,EACjC,CAAC;AAED,QAAM,UACqC,sBAAsB,OAAO;AAExE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,WAAW;AAAA,UACX,sBAAsB;AAAA,QACxB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IACzB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAgCA,eAAsBC,kBACpB,WAOA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UACqC,iBAAiB,OAAO;AAEnE,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,WAAO,wCAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,mBAAmB;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;","names":["payload","ProjectStatus","SandboxStatus","V1Platform","OneAppMigrationState","Variant","WebhookIdentityType","Platform","AndroidFormat","Status","FailureKind","createProject","getProject","updateProject","deleteProject","resumeProject","regenerateProjectName","regenerateProjectIcon","saveProjectDesign","restoreRelease","listProjects","getHimalayaAuthorization","startMobileBuild","getLatestMobileBuilds","claimHimalayaApp"]}
|