@wix/auto_sdk_containers_plans 1.0.1 → 1.0.3
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 +27 -12
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +27 -12
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +27 -12
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +27 -12
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +27 -12
- package/build/internal/cjs/meta.d.ts +27 -12
- package/build/internal/es/index.typings.d.mts +27 -12
- package/build/internal/es/meta.d.mts +27 -12
- package/package.json +2 -2
package/build/es/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/containers-plans-v1-plan-plans.universal.ts","../../src/containers-plans-v1-plan-plans.http.ts","../../src/containers-plans-v1-plan-plans.public.ts","../../src/containers-plans-v1-plan-plans.context.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 ambassadorWixContainersPlansV1Plan from './containers-plans-v1-plan-plans.http.js';\n\nexport interface Plan {\n /**\n * Plan ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the Plan is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the Plan was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Plan was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The user's initial free-text prompt that started the plan.\n * @maxLength 10000\n */\n initialPrompt?: string;\n /** Generation platform for the app. */\n platform?: PlatformWithLiterals;\n /** Lifecycle status of the Plan. */\n status?: PlanStatusWithLiterals;\n /**\n * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for\n * HIMALAYA_MOBILE) a himi starter template name (e.g. \"branded-lite\") that does not resolve to\n * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a\n * non-GUID value as an opaque template name rather than a catalog reference.\n * @maxLength 200\n */\n selectedTemplateId?: string | null;\n /**\n * The project this plan belongs to. Supplied by the client at creation.\n * @format GUID\n */\n projectId?: string | null;\n /**\n * Facts extracted from the existing business/site. Derived server-side and read-only to clients.\n * @readonly\n */\n businessContext?: BusinessContext;\n /** Visual identity extracted from the user's website. A starting point the user can edit. */\n brandIdentity?: BrandIdentity;\n /** The specification of the app to generate, produced from the plan prompt. */\n appSpec?: AppSpec;\n}\n\nexport enum Platform {\n /**\n * Himalaya Mobile (Wix SDUI/OTA content package): mobile apps built headlessly on the\n * on-demand remote machine via the himi CLI, instead of native iOS/Android pods.\n */\n HIMALAYA_MOBILE = 'HIMALAYA_MOBILE',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals = Platform | 'HIMALAYA_MOBILE';\n\nexport enum PlanStatus {\n /** Plan is being assembled by the planning agent and the user. */\n DRAFT = 'DRAFT',\n /** Plan is complete and approved; ready for the generation pipeline. */\n FINALIZED = 'FINALIZED',\n}\n\n/** @enumType */\nexport type PlanStatusWithLiterals = PlanStatus | 'DRAFT' | 'FINALIZED';\n\n/**\n * Facts the server extracts about the existing business/site. The client reads these\n * to inform the app spec, but does not write them.\n */\nexport interface BusinessContext {\n /**\n * Business name as configured on the site.\n * @maxLength 200\n */\n businessName?: string;\n /**\n * Business logo image URL, extracted from the site (empty if it has none). Used as a reference\n * image when generating the app icon (see AppSpec.app_icon_url).\n * @maxLength 2000\n */\n businessLogoUrl?: string;\n /**\n * Business description as configured on the site.\n * @maxLength 5000\n */\n businessDescription?: string;\n /**\n * Primary language code of the site (for example \"en\").\n * @maxLength 20\n */\n language?: string;\n /**\n * Country code of the site (for example \"IE\").\n * @maxLength 20\n */\n country?: string;\n /**\n * App definition IDs of Wix apps installed on the site (for example Bookings, eCommerce).\n * @maxSize 100\n * @maxLength 200\n */\n wixIntegrations?: string[];\n}\n\n/**\n * Visual identity extracted from the user's existing website. Serves as an editable\n * starting point for the generated app.\n */\nexport interface BrandIdentity {\n /**\n * Primary brand color.\n * @maxLength 100\n */\n primaryColor?: string;\n /**\n * Background color.\n * @maxLength 100\n */\n backgroundColor?: string;\n /**\n * Content (foreground) color.\n * @maxLength 100\n */\n contentColor?: string;\n /**\n * Heading typography / font.\n * @maxLength 100\n */\n headingFont?: string;\n /**\n * Body typography / font.\n * @maxLength 100\n */\n bodyFont?: string;\n}\n\n/**\n * The specification of the app to generate, produced from the plan prompt and confirmed\n * by the user.\n */\nexport interface AppSpec {\n /**\n * Display name of the app to generate.\n * @maxLength 200\n */\n appName?: string;\n /**\n * Description of the app to generate.\n * @maxLength 5000\n */\n appDescription?: string;\n /**\n * The business goal the app should serve.\n * @maxLength 2000\n */\n businessGoal?: string;\n /**\n * The target audience for the app.\n * @maxLength 2000\n */\n audience?: string;\n /**\n * Wix integrations to include, each with a display name, description, and capability tags.\n * @maxSize 100\n */\n wixIntegrations?: Integration[];\n /**\n * Third-party integrations to include, each with a display name, description, and capability tags.\n * @maxSize 100\n */\n thirdPartyIntegrations?: Integration[];\n /**\n * Features the app should provide, each with a title and description.\n * @maxSize 200\n */\n features?: Feature[];\n /**\n * Navigation screens for the app.\n * @maxSize 100\n * @maxLength 200\n */\n navigation?: string[];\n /**\n * Icon URL for the app to generate. Seeded at plan creation from the business's real logo, or\n * a best-effort generated placeholder if it has none. The client can replace it later with a\n * RegenerateIcon result they've accepted, via UpdatePlan.\n * @format WEB_URL\n * @maxLength 2000\n */\n appIconUrl?: string;\n}\n\n/**\n * An integration (Wix or third-party) the generated app should include, produced by the\n * planning agent from the prompt.\n */\nexport interface Integration {\n /**\n * Display name, for example \"Wix Stores\".\n * @maxLength 200\n */\n displayName?: string;\n /**\n * What the integration provides / why it is included.\n * @maxLength 2000\n */\n description?: string;\n /**\n * Sub-capabilities the integration includes, rendered as tags (for example \"Storefront\",\n * \"Cart & Checkout\").\n * @maxSize 50\n * @maxLength 100\n */\n tags?: string[];\n /**\n * Stable integration id / slug (for example \"wix-stores\"). For Wix integrations this is chosen\n * by the planning agent from the server-provided catalog of supported Wix integrations; empty\n * for free-form third-party integrations. The client keys the integration's icon off this id.\n * @maxLength 200\n */\n _id?: string;\n}\n\n/** A capability the app should provide, produced by the planning agent from the prompt. */\nexport interface Feature {\n /**\n * Short feature title.\n * @maxLength 200\n */\n title?: string;\n /**\n * What the feature does, shown under the title.\n * @maxLength 2000\n */\n description?: string;\n}\n\nexport interface PlanFinalized {\n /**\n * ID of the Plan that was finalized.\n * @format GUID\n */\n planId?: string;\n /**\n * ID of the Project this plan belongs to. containers-projects reads the finalized plan back by\n * this id (one plan per project) when creating the initial generation job.\n * @format GUID\n */\n projectId?: string;\n /**\n * ID of the conversation that led to this plan being finalized.\n * @format GUID\n */\n conversationId?: string;\n}\n\nexport interface CreatePlanRequest {\n /** Plan to be created. */\n plan: Plan;\n}\n\nexport interface CreatePlanResponse {\n /** The created Plan. */\n plan?: Plan;\n}\n\nexport interface CreateAndGeneratePlanRequest {\n /** Plan to be created and generated. */\n plan: Plan;\n}\n\nexport interface CreateAndGeneratePlanResponse {\n /** The generated Plan. */\n plan?: Plan;\n /**\n * Follow-up questions from the planning agent to further build the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\n/** A follow-up question paired with selectable answer options, shown as quick-reply choices. */\nexport interface FollowUpQuestion {\n /**\n * The question text.\n * @maxLength 4000\n */\n question?: string;\n /**\n * Selectable answer options for this question.\n * @maxSize 10\n * @maxLength 200\n */\n options?: string[];\n}\n\nexport interface GetPlanRequest {\n /**\n * ID of the Plan to retrieve.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface GetPlanResponse {\n /** The requested Plan. */\n plan?: Plan;\n}\n\nexport interface GetPlanByProjectIdRequest {\n /**\n * ID of the project whose Plan to retrieve.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetPlanByProjectIdResponse {\n /** The project's Plan. */\n plan?: Plan;\n}\n\nexport interface UpdatePlanRequest {\n /** Plan to be updated, may be partial. */\n plan: Plan;\n /**\n * Set of fields to update. Fields not in the mask are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdatePlanResponse {\n /** The updated Plan. */\n plan?: Plan;\n}\n\nexport interface DeletePlanRequest {\n /**\n * ID of the Plan to delete.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface DeletePlanResponse {}\n\nexport interface GeneratePlanRequest {\n /**\n * ID of the Plan to generate.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface GeneratePlanResponse {\n /** The generated Plan. */\n plan?: Plan;\n /**\n * Follow-up questions from the planning agent to further build the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\nexport interface ModifyPlanRequest {\n /**\n * ID of the Plan to modify.\n * @format GUID\n */\n planId: string;\n /**\n * The user's answers to the previous iteration's follow-up questions.\n * @maxSize 50\n */\n answeredQuestions?: AnsweredQuestion[];\n /**\n * Optional additional request from the user to further shape the plan.\n * @maxLength 10000\n */\n userPrompt?: string | null;\n /**\n * Optional selected plan part. When present, only this boundary may change.\n * When absent, ModifyPlan keeps its existing whole-plan behavior.\n */\n planEditContext?: PlanEditContext;\n}\n\n/** A follow-up question from a previous iteration paired with the user's answer. */\nexport interface AnsweredQuestion {\n /**\n * The follow-up question that was asked.\n * @maxLength 4000\n */\n question?: string;\n /**\n * The user's answer to the question.\n * @maxLength 10000\n */\n answer?: string;\n}\n\n/**\n * Identifies one editable part of a plan. Optional on chat and plan-edit requests; when absent,\n * plan editing keeps its existing whole-plan behavior.\n */\nexport interface PlanEditContext {\n /** Kind of plan part selected by the user. */\n type?: PlanPartTypeWithLiterals;\n /**\n * Zero-based item index. Set only for repeated parts such as features, screens, or integrations.\n * @max 199\n */\n index?: number | null;\n /**\n * Plan revision shown when the user selected the part. Used to reject stale edits.\n * @min 1\n */\n planRevision?: string | null;\n}\n\nexport enum PlanPartType {\n APP_NAME = 'APP_NAME',\n APP_DESCRIPTION = 'APP_DESCRIPTION',\n BUSINESS_GOAL = 'BUSINESS_GOAL',\n AUDIENCE = 'AUDIENCE',\n FEATURE = 'FEATURE',\n SCREEN = 'SCREEN',\n WIX_INTEGRATION = 'WIX_INTEGRATION',\n THIRD_PARTY_INTEGRATION = 'THIRD_PARTY_INTEGRATION',\n BRAND_IDENTITY = 'BRAND_IDENTITY',\n /** Color fields within brand_identity; fonts are preserved by the service. */\n COLOR_THEME = 'COLOR_THEME',\n /** Font fields within brand_identity; colors are preserved by the service. */\n TEXT_THEME = 'TEXT_THEME',\n}\n\n/** @enumType */\nexport type PlanPartTypeWithLiterals =\n | PlanPartType\n | 'APP_NAME'\n | 'APP_DESCRIPTION'\n | 'BUSINESS_GOAL'\n | 'AUDIENCE'\n | 'FEATURE'\n | 'SCREEN'\n | 'WIX_INTEGRATION'\n | 'THIRD_PARTY_INTEGRATION'\n | 'BRAND_IDENTITY'\n | 'COLOR_THEME'\n | 'TEXT_THEME';\n\nexport interface ModifyPlanResponse {\n /** The modified Plan. */\n plan?: Plan;\n /**\n * Follow-up questions the agent wants to ask to further refine the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\nexport interface RegenerateIconRequest {\n /**\n * ID of the Plan whose icon to regenerate.\n * @format GUID\n */\n planId: string;\n /**\n * Free-text description of the desired icon, passed to the icon-generation prompt.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateIconResponse {\n /**\n * The generated icon URL. Not persisted — apply via UpdatePlan (app_spec.app_icon_url).\n * @maxLength 2000\n */\n iconUrl?: string;\n}\n\nexport interface FinalizePlanRequest {\n /**\n * ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @format GUID\n */\n planId: string;\n /**\n * ID of the conversation that led to this plan being finalized.\n * @format GUID\n */\n conversationId: string;\n}\n\nexport interface FinalizePlanResponse {\n /** The finalized Plan. */\n plan?: Plan;\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\n/**\n * Creates a new Plan.\n * @param plan - Plan to be created.\n * @internal\n * @documentationMaturity preview\n * @requiredField plan\n * @requiredField plan.initialPrompt\n * @requiredField plan.platform\n * @requiredField plan.projectId\n * @requiredField plan.selectedTemplateId\n * @permissionId containers:plans:v1:plan:create_plan\n * @returns The created Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.CreatePlan\n */\nexport async function createPlan(\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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({ plan: plan });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.createPlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { plan: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a new Plan and immediately generates it using the planning agent.\n * @param plan - Plan to be created and generated.\n * @internal\n * @documentationMaturity preview\n * @requiredField plan\n * @requiredField plan.initialPrompt\n * @requiredField plan.platform\n * @requiredField plan.projectId\n * @requiredField plan.selectedTemplateId\n * @permissionId containers:plans:v1:plan:create_and_generate_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.CreateAndGeneratePlan\n */\nexport async function createAndGeneratePlan(\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n CreateAndGeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ plan: plan });\n\n const reqOpts =\n ambassadorWixContainersPlansV1Plan.createAndGeneratePlan(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: { plan: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a Plan by its ID.\n * @param planId - ID of the Plan to retrieve.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:get_plan\n * @returns The requested Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.GetPlan\n */\nexport async function getPlan(\n planId: string\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.getPlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n * @param projectId - ID of the project whose Plan to retrieve.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:plans:v1:plan:get_plan_by_project_id\n * @fqn wix.containers.plans.v1.ContainersPlans.GetPlanByProjectId\n */\nexport async function getPlanByProjectId(\n projectId: string\n): Promise<\n NonNullablePaths<\n GetPlanByProjectIdResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\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 ambassadorWixContainersPlansV1Plan.getPlanByProjectId(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 * Updates a Plan. The current revision must be passed for optimistic locking.\n * @param _id - Plan ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField plan\n * @requiredField plan.revision\n * @permissionId containers:plans:v1:plan:update_plan\n * @returns The updated Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.UpdatePlan\n */\nexport async function updatePlan(\n _id: string,\n plan: NonNullablePaths<UpdatePlan, `revision`, 0>\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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 plan: { ...plan, id: _id },\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.updatePlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { plan: '$[1]' },\n explicitPathsToArguments: { 'plan.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdatePlan {\n /**\n * Plan ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the Plan is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the Plan was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Plan was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The user's initial free-text prompt that started the plan.\n * @maxLength 10000\n */\n initialPrompt?: string;\n /** Generation platform for the app. */\n platform?: PlatformWithLiterals;\n /** Lifecycle status of the Plan. */\n status?: PlanStatusWithLiterals;\n /**\n * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for\n * HIMALAYA_MOBILE) a himi starter template name (e.g. \"branded-lite\") that does not resolve to\n * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a\n * non-GUID value as an opaque template name rather than a catalog reference.\n * @maxLength 200\n */\n selectedTemplateId?: string | null;\n /**\n * The project this plan belongs to. Supplied by the client at creation.\n * @format GUID\n */\n projectId?: string | null;\n /**\n * Facts extracted from the existing business/site. Derived server-side and read-only to clients.\n * @readonly\n */\n businessContext?: BusinessContext;\n /** Visual identity extracted from the user's website. A starting point the user can edit. */\n brandIdentity?: BrandIdentity;\n /** The specification of the app to generate, produced from the plan prompt. */\n appSpec?: AppSpec;\n}\n\n/**\n * Deletes a Plan.\n * @param planId - ID of the Plan to delete.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:delete_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.DeletePlan\n */\nexport async function deletePlan(planId: 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({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.deletePlan(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: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n * @param planId - ID of the Plan to generate.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:generate_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.GeneratePlan\n */\nexport async function generatePlan(\n planId: string\n): Promise<\n NonNullablePaths<\n GeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.generatePlan(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: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n * @param planId - ID of the Plan to modify.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:modify_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.ModifyPlan\n */\nexport async function modifyPlan(\n planId: string,\n options?: ModifyPlanOptions\n): Promise<\n NonNullablePaths<\n ModifyPlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\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 planId: planId,\n answeredQuestions: options?.answeredQuestions,\n userPrompt: options?.userPrompt,\n planEditContext: options?.planEditContext,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.modifyPlan(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 planId: '$[0]',\n answeredQuestions: '$[1].answeredQuestions',\n userPrompt: '$[1].userPrompt',\n planEditContext: '$[1].planEditContext',\n },\n singleArgumentUnchanged: false,\n },\n ['planId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ModifyPlanOptions {\n /**\n * The user's answers to the previous iteration's follow-up questions.\n * @maxSize 50\n */\n answeredQuestions?: AnsweredQuestion[];\n /**\n * Optional additional request from the user to further shape the plan.\n * @maxLength 10000\n */\n userPrompt?: string | null;\n /**\n * Optional selected plan part. When present, only this boundary may change.\n * When absent, ModifyPlan keeps its existing whole-plan behavior.\n */\n planEditContext?: PlanEditContext;\n}\n\n/**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n * @param planId - ID of the Plan whose icon to regenerate.\n * @param prompt - Free-text description of the desired icon, passed to the icon-generation prompt.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @requiredField prompt\n * @permissionId containers:plans:v1:plan:regenerate_icon\n * @fqn wix.containers.plans.v1.ContainersPlans.RegenerateIcon\n */\nexport async function regenerateIcon(\n planId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateIconResponse, `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 planId: planId,\n prompt: prompt,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.regenerateIcon(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: { planId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['planId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n * @param planId - ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @param conversationId - ID of the conversation that led to this plan being finalized.\n * @internal\n * @documentationMaturity preview\n * @requiredField conversationId\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:finalize_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.FinalizePlan\n */\nexport async function finalizePlan(\n planId: string,\n conversationId: string\n): Promise<\n NonNullablePaths<\n FinalizePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\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 planId: planId,\n conversationId: conversationId,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.finalizePlan(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: { planId: '$[0]', conversationId: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['planId', 'conversationId']\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: 'plan.createdDate' },\n { path: 'plan.updatedDate' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'fieldMask' }];\n\nfunction resolveWixContainersPlansV1ContainersPlansUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/containers-plans',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_containers_plans';\n\n/** Creates a new Plan. */\nexport function createPlan(payload: object): RequestOptionsFactory<any> {\n function __createPlan({ 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.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.CreatePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans',\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 __createPlan;\n}\n\n/** Creates a new Plan and immediately generates it using the planning agent. */\nexport function createAndGeneratePlan(\n payload: object\n): RequestOptionsFactory<any> {\n function __createAndGeneratePlan({ 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.plans.v1.plan',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.plans.v1.ContainersPlans.CreateAndGeneratePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/create-and-generate',\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 __createAndGeneratePlan;\n}\n\n/** Retrieves a Plan by its ID. */\nexport function getPlan(payload: object): RequestOptionsFactory<any> {\n function __getPlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'GET' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GetPlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}',\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 __getPlan;\n}\n\n/**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n */\nexport function getPlanByProjectId(\n payload: object\n): RequestOptionsFactory<any> {\n function __getPlanByProjectId({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'GET' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GetPlanByProjectId',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/by-project/{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 __getPlanByProjectId;\n}\n\n/** Updates a Plan. The current revision must be passed for optimistic locking. */\nexport function updatePlan(payload: object): RequestOptionsFactory<any> {\n function __updatePlan({ 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.plans.v1.plan',\n method: 'PATCH' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.UpdatePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{plan.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 __updatePlan;\n}\n\n/** Deletes a Plan. */\nexport function deletePlan(payload: object): RequestOptionsFactory<any> {\n function __deletePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'DELETE' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.DeletePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deletePlan;\n}\n\n/**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n */\nexport function generatePlan(payload: object): RequestOptionsFactory<any> {\n function __generatePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GeneratePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/generate',\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 __generatePlan;\n}\n\n/**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n */\nexport function modifyPlan(payload: object): RequestOptionsFactory<any> {\n function __modifyPlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.ModifyPlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/modify',\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 __modifyPlan;\n}\n\n/**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n */\nexport function regenerateIcon(payload: object): RequestOptionsFactory<any> {\n function __regenerateIcon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.RegenerateIcon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/regenerate-icon',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateIcon;\n}\n\n/**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n */\nexport function finalizePlan(payload: object): RequestOptionsFactory<any> {\n function __finalizePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.FinalizePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/finalize',\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 __finalizePlan;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n CreateAndGeneratePlanResponse,\n FinalizePlanResponse,\n GeneratePlanResponse,\n GetPlanByProjectIdResponse,\n ModifyPlanOptions,\n ModifyPlanResponse,\n Plan,\n RegenerateIconResponse,\n UpdatePlan,\n createAndGeneratePlan as universalCreateAndGeneratePlan,\n createPlan as universalCreatePlan,\n deletePlan as universalDeletePlan,\n finalizePlan as universalFinalizePlan,\n generatePlan as universalGeneratePlan,\n getPlan as universalGetPlan,\n getPlanByProjectId as universalGetPlanByProjectId,\n modifyPlan as universalModifyPlan,\n regenerateIcon as universalRegenerateIcon,\n updatePlan as universalUpdatePlan,\n} from './containers-plans-v1-plan-plans.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/containers' };\n\n/** @internal */\nexport function createPlan(httpClient: HttpClient): CreatePlanSignature {\n return (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ) =>\n universalCreatePlan(\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreatePlanSignature {\n /**\n * Creates a new Plan.\n * @param - Plan to be created.\n * @returns The created Plan.\n */\n (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function createAndGeneratePlan(\n httpClient: HttpClient\n): CreateAndGeneratePlanSignature {\n return (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ) =>\n universalCreateAndGeneratePlan(\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateAndGeneratePlanSignature {\n /**\n * Creates a new Plan and immediately generates it using the planning agent.\n * @param - Plan to be created and generated.\n */\n (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n CreateAndGeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function getPlan(httpClient: HttpClient): GetPlanSignature {\n return (planId: string) =>\n universalGetPlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPlanSignature {\n /**\n * Retrieves a Plan by its ID.\n * @param - ID of the Plan to retrieve.\n * @returns The requested Plan.\n */\n (planId: string): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function getPlanByProjectId(\n httpClient: HttpClient\n): GetPlanByProjectIdSignature {\n return (projectId: string) =>\n universalGetPlanByProjectId(\n projectId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPlanByProjectIdSignature {\n /**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n * @param - ID of the project whose Plan to retrieve.\n */\n (projectId: string): Promise<\n NonNullablePaths<\n GetPlanByProjectIdResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function updatePlan(httpClient: HttpClient): UpdatePlanSignature {\n return (_id: string, plan: NonNullablePaths<UpdatePlan, `revision`, 0>) =>\n universalUpdatePlan(\n _id,\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdatePlanSignature {\n /**\n * Updates a Plan. The current revision must be passed for optimistic locking.\n * @param - Plan ID.\n * @returns The updated Plan.\n */\n (_id: string, plan: NonNullablePaths<UpdatePlan, `revision`, 0>): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function deletePlan(httpClient: HttpClient): DeletePlanSignature {\n return (planId: string) =>\n universalDeletePlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeletePlanSignature {\n /**\n * Deletes a Plan.\n * @param - ID of the Plan to delete.\n */\n (planId: string): Promise<void>;\n}\n\n/** @internal */\nexport function generatePlan(httpClient: HttpClient): GeneratePlanSignature {\n return (planId: string) =>\n universalGeneratePlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GeneratePlanSignature {\n /**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n * @param - ID of the Plan to generate.\n */\n (planId: string): Promise<\n NonNullablePaths<\n GeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function modifyPlan(httpClient: HttpClient): ModifyPlanSignature {\n return (planId: string, options?: ModifyPlanOptions) =>\n universalModifyPlan(\n planId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ModifyPlanSignature {\n /**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n * @param - ID of the Plan to modify.\n */\n (planId: string, options?: ModifyPlanOptions): Promise<\n NonNullablePaths<\n ModifyPlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function regenerateIcon(\n httpClient: HttpClient\n): RegenerateIconSignature {\n return (planId: string, prompt: string) =>\n universalRegenerateIcon(\n planId,\n prompt,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RegenerateIconSignature {\n /**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n * @param - ID of the Plan whose icon to regenerate.\n * @param - Free-text description of the desired icon, passed to the icon-generation prompt.\n */\n (planId: string, prompt: string): Promise<\n NonNullablePaths<RegenerateIconResponse, `iconUrl`, 0>\n >;\n}\n\n/** @internal */\nexport function finalizePlan(httpClient: HttpClient): FinalizePlanSignature {\n return (planId: string, conversationId: string) =>\n universalFinalizePlan(\n planId,\n conversationId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface FinalizePlanSignature {\n /**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n * @param - ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @param - ID of the conversation that led to this plan being finalized.\n */\n (planId: string, conversationId: string): Promise<\n NonNullablePaths<\n FinalizePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n AnsweredQuestion,\n AppSpec,\n BrandIdentity,\n BusinessContext,\n CreateAndGeneratePlanRequest,\n CreateAndGeneratePlanResponse,\n CreatePlanRequest,\n CreatePlanResponse,\n DeletePlanRequest,\n DeletePlanResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n Feature,\n FinalizePlanRequest,\n FinalizePlanResponse,\n FollowUpQuestion,\n GeneratePlanRequest,\n GeneratePlanResponse,\n GetPlanByProjectIdRequest,\n GetPlanByProjectIdResponse,\n GetPlanRequest,\n GetPlanResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n Integration,\n MessageEnvelope,\n ModifyPlanOptions,\n ModifyPlanRequest,\n ModifyPlanResponse,\n Plan,\n PlanEditContext,\n PlanFinalized,\n PlanPartType,\n PlanStatus,\n Platform,\n RegenerateIconRequest,\n RegenerateIconResponse,\n RestoreInfo,\n UpdatePlan,\n UpdatePlanRequest,\n UpdatePlanResponse,\n WebhookIdentityType,\n} from './containers-plans-v1-plan-plans.universal.js';\n","import {\n createPlan as publicCreatePlan,\n createAndGeneratePlan as publicCreateAndGeneratePlan,\n getPlan as publicGetPlan,\n getPlanByProjectId as publicGetPlanByProjectId,\n updatePlan as publicUpdatePlan,\n deletePlan as publicDeletePlan,\n generatePlan as publicGeneratePlan,\n modifyPlan as publicModifyPlan,\n regenerateIcon as publicRegenerateIcon,\n finalizePlan as publicFinalizePlan,\n} from './containers-plans-v1-plan-plans.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\n/** @internal */\nexport const createPlan: MaybeContext<\n BuildRESTFunction<typeof publicCreatePlan> & typeof publicCreatePlan\n> = /*#__PURE__*/ createRESTModule(publicCreatePlan);\n/** @internal */\nexport const createAndGeneratePlan: MaybeContext<\n BuildRESTFunction<typeof publicCreateAndGeneratePlan> &\n typeof publicCreateAndGeneratePlan\n> = /*#__PURE__*/ createRESTModule(publicCreateAndGeneratePlan);\n/** @internal */\nexport const getPlan: MaybeContext<\n BuildRESTFunction<typeof publicGetPlan> & typeof publicGetPlan\n> = /*#__PURE__*/ createRESTModule(publicGetPlan);\n/** @internal */\nexport const getPlanByProjectId: MaybeContext<\n BuildRESTFunction<typeof publicGetPlanByProjectId> &\n typeof publicGetPlanByProjectId\n> = /*#__PURE__*/ createRESTModule(publicGetPlanByProjectId);\n/** @internal */\nexport const updatePlan: MaybeContext<\n BuildRESTFunction<typeof publicUpdatePlan> & typeof publicUpdatePlan\n> = /*#__PURE__*/ createRESTModule(publicUpdatePlan);\n/** @internal */\nexport const deletePlan: MaybeContext<\n BuildRESTFunction<typeof publicDeletePlan> & typeof publicDeletePlan\n> = /*#__PURE__*/ createRESTModule(publicDeletePlan);\n/** @internal */\nexport const generatePlan: MaybeContext<\n BuildRESTFunction<typeof publicGeneratePlan> & typeof publicGeneratePlan\n> = /*#__PURE__*/ createRESTModule(publicGeneratePlan);\n/** @internal */\nexport const modifyPlan: MaybeContext<\n BuildRESTFunction<typeof publicModifyPlan> & typeof publicModifyPlan\n> = /*#__PURE__*/ createRESTModule(publicModifyPlan);\n/** @internal */\nexport const regenerateIcon: MaybeContext<\n BuildRESTFunction<typeof publicRegenerateIcon> & typeof publicRegenerateIcon\n> = /*#__PURE__*/ createRESTModule(publicRegenerateIcon);\n/** @internal */\nexport const finalizePlan: MaybeContext<\n BuildRESTFunction<typeof publicFinalizePlan> & typeof publicFinalizePlan\n> = /*#__PURE__*/ createRESTModule(publicFinalizePlan);\n\nexport {\n Platform,\n PlanStatus,\n PlanPartType,\n WebhookIdentityType,\n} from './containers-plans-v1-plan-plans.universal.js';\nexport {\n Plan,\n BusinessContext,\n BrandIdentity,\n AppSpec,\n Integration,\n Feature,\n PlanFinalized,\n CreatePlanRequest,\n CreatePlanResponse,\n CreateAndGeneratePlanRequest,\n CreateAndGeneratePlanResponse,\n FollowUpQuestion,\n GetPlanRequest,\n GetPlanResponse,\n GetPlanByProjectIdRequest,\n GetPlanByProjectIdResponse,\n UpdatePlanRequest,\n UpdatePlanResponse,\n DeletePlanRequest,\n DeletePlanResponse,\n GeneratePlanRequest,\n GeneratePlanResponse,\n ModifyPlanRequest,\n AnsweredQuestion,\n PlanEditContext,\n ModifyPlanResponse,\n RegenerateIconRequest,\n RegenerateIconResponse,\n FinalizePlanRequest,\n FinalizePlanResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n UpdatePlan,\n ModifyPlanOptions,\n} from './containers-plans-v1-plan-plans.universal.js';\nexport {\n PlatformWithLiterals,\n PlanStatusWithLiterals,\n PlanPartTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n} from './containers-plans-v1-plan-plans.universal.js';\n"],"mappings":"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","names":["payload","Platform","PlanStatus","PlanPartType","WebhookIdentityType","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan"]}
|
|
1
|
+
{"version":3,"sources":["../../src/containers-plans-v1-plan-plans.universal.ts","../../src/containers-plans-v1-plan-plans.http.ts","../../src/containers-plans-v1-plan-plans.public.ts","../../src/containers-plans-v1-plan-plans.context.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 ambassadorWixContainersPlansV1Plan from './containers-plans-v1-plan-plans.http.js';\n\nexport interface Plan {\n /**\n * Plan ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the Plan is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the Plan was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Plan was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The user's initial free-text prompt that started the plan.\n * @maxLength 10000\n */\n initialPrompt?: string;\n /** Generation platform for the app. */\n platform?: PlatformWithLiterals;\n /** Lifecycle status of the Plan. */\n status?: PlanStatusWithLiterals;\n /**\n * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for\n * HIMALAYA_MOBILE) a himi starter template name (e.g. \"branded-lite\") that does not resolve to\n * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a\n * non-GUID value as an opaque template name rather than a catalog reference.\n * @maxLength 200\n */\n selectedTemplateId?: string | null;\n /**\n * The project this plan belongs to. Supplied by the client at creation.\n * @format GUID\n */\n projectId?: string | null;\n /**\n * Facts extracted from the existing business/site. Derived server-side and read-only to clients.\n * @readonly\n */\n businessContext?: BusinessContext;\n /** Visual identity extracted from the user's website. A starting point the user can edit. */\n brandIdentity?: BrandIdentity;\n /** The specification of the app to generate, produced from the plan prompt. */\n appSpec?: AppSpec;\n}\n\nexport enum Platform {\n /**\n * Himalaya Mobile (Wix SDUI/OTA content package): mobile apps built headlessly on the\n * on-demand remote machine via the himi CLI, instead of native iOS/Android pods.\n */\n HIMALAYA_MOBILE = 'HIMALAYA_MOBILE',\n}\n\n/** @enumType */\nexport type PlatformWithLiterals = Platform | 'HIMALAYA_MOBILE';\n\nexport enum PlanStatus {\n /** Plan is being assembled by the planning agent and the user. */\n DRAFT = 'DRAFT',\n /** Plan is complete and approved; ready for the generation pipeline. */\n FINALIZED = 'FINALIZED',\n}\n\n/** @enumType */\nexport type PlanStatusWithLiterals = PlanStatus | 'DRAFT' | 'FINALIZED';\n\n/**\n * Facts the server extracts about the existing business/site. The client reads these\n * to inform the app spec, but does not write them.\n */\nexport interface BusinessContext {\n /**\n * Business name as configured on the site.\n * @maxLength 200\n */\n businessName?: string;\n /**\n * Business logo image URL, extracted from the site (empty if it has none). Used as a reference\n * image when generating the app icon (see AppSpec.app_icon_url).\n * @maxLength 2000\n */\n businessLogoUrl?: string;\n /**\n * Business description as configured on the site.\n * @maxLength 5000\n */\n businessDescription?: string;\n /**\n * Primary language code of the site (for example \"en\").\n * @maxLength 20\n */\n language?: string;\n /**\n * Country code of the site (for example \"IE\").\n * @maxLength 20\n */\n country?: string;\n /**\n * App definition IDs of Wix apps installed on the site (for example Bookings, eCommerce).\n * @maxSize 100\n * @maxLength 200\n */\n wixIntegrations?: string[];\n /**\n * Primary published URL of the current site, resolved by the server during plan creation.\n * Absent for older plans, unpublished sites, or when the URL cannot be resolved.\n * @readonly\n * @format WEB_URL\n */\n publicSiteUrl?: string | null;\n}\n\n/**\n * Visual identity extracted from the user's existing website. Serves as an editable\n * starting point for the generated app.\n */\nexport interface BrandIdentity {\n /**\n * Primary brand color.\n * @maxLength 100\n */\n primaryColor?: string;\n /**\n * Background color.\n * @maxLength 100\n */\n backgroundColor?: string;\n /**\n * Content (foreground) color.\n * @maxLength 100\n */\n contentColor?: string;\n /**\n * Heading typography / font.\n * @maxLength 100\n */\n headingFont?: string;\n /**\n * Body typography / font.\n * @maxLength 100\n */\n bodyFont?: string;\n}\n\n/**\n * The specification of the app to generate, produced from the plan prompt and confirmed\n * by the user.\n */\nexport interface AppSpec {\n /**\n * Display name of the app to generate.\n * @maxLength 200\n */\n appName?: string;\n /**\n * Description of the app to generate.\n * @maxLength 5000\n */\n appDescription?: string;\n /**\n * The business goal the app should serve.\n * @maxLength 2000\n */\n businessGoal?: string;\n /**\n * The target audience for the app.\n * @maxLength 2000\n */\n audience?: string;\n /**\n * Wix integrations to include, each with a display name, description, and capability tags.\n * @maxSize 100\n */\n wixIntegrations?: Integration[];\n /**\n * Third-party integrations to include, each with a display name, description, and capability tags.\n * @maxSize 100\n */\n thirdPartyIntegrations?: Integration[];\n /**\n * Features the app should provide, each with a title and description.\n * @maxSize 200\n */\n features?: Feature[];\n /**\n * Navigation screens for the app.\n * @maxSize 100\n * @maxLength 200\n */\n navigation?: string[];\n /**\n * Icon URL for the app to generate. Seeded at plan creation from the business's real logo, or\n * a best-effort generated placeholder if it has none. The client can replace it later with a\n * RegenerateIcon result they've accepted, via UpdatePlan.\n * @format WEB_URL\n * @maxLength 2000\n */\n appIconUrl?: string;\n}\n\n/**\n * An integration (Wix or third-party) the generated app should include, produced by the\n * planning agent from the prompt.\n */\nexport interface Integration {\n /**\n * Display name, for example \"Wix Stores\".\n * @maxLength 200\n */\n displayName?: string;\n /**\n * What the integration provides / why it is included.\n * @maxLength 2000\n */\n description?: string;\n /**\n * Sub-capabilities the integration includes, rendered as tags (for example \"Storefront\",\n * \"Cart & Checkout\").\n * @maxSize 50\n * @maxLength 100\n */\n tags?: string[];\n /**\n * Stable integration id / slug (for example \"wix-stores\"). For Wix integrations this is chosen\n * by the planning agent from the server-provided catalog of supported Wix integrations; empty\n * for free-form third-party integrations. The client keys the integration's icon off this id.\n * @maxLength 200\n */\n _id?: string;\n}\n\n/** A capability the app should provide, produced by the planning agent from the prompt. */\nexport interface Feature {\n /**\n * Short feature title.\n * @maxLength 200\n */\n title?: string;\n /**\n * What the feature does, shown under the title.\n * @maxLength 2000\n */\n description?: string;\n}\n\nexport interface PlanFinalized {\n /**\n * ID of the Plan that was finalized.\n * @format GUID\n */\n planId?: string;\n /**\n * ID of the Project this plan belongs to. containers-projects reads the finalized plan back by\n * this id (one plan per project) when creating the initial generation job.\n * @format GUID\n */\n projectId?: string;\n /**\n * ID of the conversation that led to this plan being finalized.\n * @format GUID\n */\n conversationId?: string;\n}\n\nexport interface CreatePlanRequest {\n /** Plan to be created. */\n plan: Plan;\n}\n\nexport interface CreatePlanResponse {\n /** The created Plan. */\n plan?: Plan;\n}\n\nexport interface CreateAndGeneratePlanRequest {\n /** Plan to be created and generated. */\n plan: Plan;\n}\n\nexport interface CreateAndGeneratePlanResponse {\n /** The generated Plan. */\n plan?: Plan;\n /**\n * Follow-up questions from the planning agent to further build the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\n/** A suggested follow-up question with answer options that the user can select. */\nexport interface FollowUpQuestion {\n /**\n * Question text.\n * @maxLength 4000\n */\n question?: string;\n /**\n * Answer options that the user can select.\n * @maxSize 10\n * @maxLength 200\n */\n options?: string[];\n}\n\nexport interface GetPlanRequest {\n /**\n * ID of the Plan to retrieve.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface GetPlanResponse {\n /** The requested Plan. */\n plan?: Plan;\n}\n\nexport interface GetPlanByProjectIdRequest {\n /**\n * ID of the project whose Plan to retrieve.\n * @format GUID\n */\n projectId: string;\n}\n\nexport interface GetPlanByProjectIdResponse {\n /** The project's Plan. */\n plan?: Plan;\n}\n\nexport interface UpdatePlanRequest {\n /** Plan to be updated, may be partial. */\n plan: Plan;\n /**\n * Set of fields to update. Fields not in the mask are ignored.\n * @internal\n */\n fieldMask?: string[];\n}\n\nexport interface UpdatePlanResponse {\n /** The updated Plan. */\n plan?: Plan;\n}\n\nexport interface DeletePlanRequest {\n /**\n * ID of the Plan to delete.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface DeletePlanResponse {}\n\nexport interface GeneratePlanRequest {\n /**\n * ID of the Plan to generate.\n * @format GUID\n */\n planId: string;\n}\n\nexport interface GeneratePlanResponse {\n /** The generated Plan. */\n plan?: Plan;\n /**\n * Follow-up questions from the planning agent to further build the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\nexport interface ModifyPlanRequest {\n /**\n * ID of the Plan to modify.\n * @format GUID\n */\n planId: string;\n /**\n * The user's answers to the previous iteration's follow-up questions.\n * @maxSize 50\n */\n answeredQuestions?: AnsweredQuestion[];\n /**\n * Optional additional request from the user to further shape the plan.\n * @maxLength 10000\n */\n userPrompt?: string | null;\n /**\n * Optional selected plan part. When present, only this boundary may change.\n * When absent, ModifyPlan keeps its existing whole-plan behavior.\n */\n planEditContext?: PlanEditContext;\n}\n\n/** A follow-up question from a previous iteration paired with the user's answer. */\nexport interface AnsweredQuestion {\n /**\n * The follow-up question that was asked.\n * @maxLength 4000\n */\n question?: string;\n /**\n * The user's answer to the question.\n * @maxLength 10000\n */\n answer?: string;\n}\n\n/** Identifies a part of the app plan. */\nexport interface PlanEditContext {\n /** Plan part type. */\n type?: PlanPartTypeWithLiterals;\n /**\n * Zero-based index of the item within the plan part.\n *\n * Used only when `type` is `FEATURE`, `SCREEN`, `WIX_INTEGRATION`, or `THIRD_PARTY_INTEGRATION`.\n * @max 199\n */\n index?: number | null;\n /**\n * Revision of the plan that the user saw when they selected the part. Used to reject changes to an outdated plan.\n * @min 1\n */\n planRevision?: string | null;\n}\n\nexport enum PlanPartType {\n /** App name. */\n APP_NAME = 'APP_NAME',\n /** App description. */\n APP_DESCRIPTION = 'APP_DESCRIPTION',\n /** Business goal of the app. */\n BUSINESS_GOAL = 'BUSINESS_GOAL',\n /** Target audience of the app. */\n AUDIENCE = 'AUDIENCE',\n /** A feature of the app. */\n FEATURE = 'FEATURE',\n /** A screen of the app. */\n SCREEN = 'SCREEN',\n /** An integration with a Wix app or service. */\n WIX_INTEGRATION = 'WIX_INTEGRATION',\n /** An integration with a third-party service. */\n THIRD_PARTY_INTEGRATION = 'THIRD_PARTY_INTEGRATION',\n /** Brand identity of the app, including colors and fonts. */\n BRAND_IDENTITY = 'BRAND_IDENTITY',\n /** Colors of the brand identity. Fonts don't change. */\n COLOR_THEME = 'COLOR_THEME',\n /** Fonts of the brand identity. Colors don't change. */\n TEXT_THEME = 'TEXT_THEME',\n}\n\n/** @enumType */\nexport type PlanPartTypeWithLiterals =\n | PlanPartType\n | 'APP_NAME'\n | 'APP_DESCRIPTION'\n | 'BUSINESS_GOAL'\n | 'AUDIENCE'\n | 'FEATURE'\n | 'SCREEN'\n | 'WIX_INTEGRATION'\n | 'THIRD_PARTY_INTEGRATION'\n | 'BRAND_IDENTITY'\n | 'COLOR_THEME'\n | 'TEXT_THEME';\n\nexport interface ModifyPlanResponse {\n /** The modified Plan. */\n plan?: Plan;\n /**\n * Follow-up questions the agent wants to ask to further refine the plan.\n * @maxSize 50\n * @maxLength 4000\n */\n followUpQuestions?: string[];\n /**\n * Structured follow-up questions with selectable answer options. Superseding follow_up_questions;\n * that field is kept and populated in parallel for callers that have not migrated to this one.\n * @maxSize 4\n */\n followUpQuestionOptions?: FollowUpQuestion[];\n}\n\nexport interface RegenerateIconRequest {\n /**\n * ID of the Plan whose icon to regenerate.\n * @format GUID\n */\n planId: string;\n /**\n * Free-text description of the desired icon, passed to the icon-generation prompt.\n * @maxLength 4000\n */\n prompt: string;\n}\n\nexport interface RegenerateIconResponse {\n /**\n * The generated icon URL. Not persisted — apply via UpdatePlan (app_spec.app_icon_url).\n * @maxLength 2000\n */\n iconUrl?: string;\n}\n\nexport interface FinalizePlanRequest {\n /**\n * ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @format GUID\n */\n planId: string;\n /**\n * ID of the conversation that led to this plan being finalized.\n * @format GUID\n */\n conversationId: string;\n}\n\nexport interface FinalizePlanResponse {\n /** The finalized Plan. */\n plan?: Plan;\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\n/**\n * Creates a new Plan.\n * @param plan - Plan to be created.\n * @internal\n * @documentationMaturity preview\n * @requiredField plan\n * @requiredField plan.initialPrompt\n * @requiredField plan.platform\n * @requiredField plan.projectId\n * @requiredField plan.selectedTemplateId\n * @permissionId containers:plans:v1:plan:create_plan\n * @returns The created Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.CreatePlan\n */\nexport async function createPlan(\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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({ plan: plan });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.createPlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { plan: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates a new Plan and immediately generates it using the planning agent.\n * @param plan - Plan to be created and generated.\n * @internal\n * @documentationMaturity preview\n * @requiredField plan\n * @requiredField plan.initialPrompt\n * @requiredField plan.platform\n * @requiredField plan.projectId\n * @requiredField plan.selectedTemplateId\n * @permissionId containers:plans:v1:plan:create_and_generate_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.CreateAndGeneratePlan\n */\nexport async function createAndGeneratePlan(\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n): Promise<\n NonNullablePaths<\n CreateAndGeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ plan: plan });\n\n const reqOpts =\n ambassadorWixContainersPlansV1Plan.createAndGeneratePlan(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: { plan: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a Plan by its ID.\n * @param planId - ID of the Plan to retrieve.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:get_plan\n * @returns The requested Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.GetPlan\n */\nexport async function getPlan(\n planId: string\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.getPlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n * @param projectId - ID of the project whose Plan to retrieve.\n * @internal\n * @documentationMaturity preview\n * @requiredField projectId\n * @permissionId containers:plans:v1:plan:get_plan_by_project_id\n * @fqn wix.containers.plans.v1.ContainersPlans.GetPlanByProjectId\n */\nexport async function getPlanByProjectId(\n projectId: string\n): Promise<\n NonNullablePaths<\n GetPlanByProjectIdResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\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 ambassadorWixContainersPlansV1Plan.getPlanByProjectId(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 * Updates a Plan. The current revision must be passed for optimistic locking.\n * @param _id - Plan ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField plan\n * @requiredField plan.revision\n * @permissionId containers:plans:v1:plan:update_plan\n * @returns The updated Plan.\n * @fqn wix.containers.plans.v1.ContainersPlans.UpdatePlan\n */\nexport async function updatePlan(\n _id: string,\n plan: NonNullablePaths<UpdatePlan, `revision`, 0>\n): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\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 plan: { ...plan, id: _id },\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.updatePlan(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.plan!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { plan: '$[1]' },\n explicitPathsToArguments: { 'plan.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'plan']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdatePlan {\n /**\n * Plan ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the Plan is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the Plan was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the Plan was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * The user's initial free-text prompt that started the plan.\n * @maxLength 10000\n */\n initialPrompt?: string;\n /** Generation platform for the app. */\n platform?: PlatformWithLiterals;\n /** Lifecycle status of the Plan. */\n status?: PlanStatusWithLiterals;\n /**\n * Template chosen for generation. A Code Store `containers-templates` catalog GUID, or (for\n * HIMALAYA_MOBILE) a himi starter template name (e.g. \"branded-lite\") that does not resolve to\n * a catalog entry — see `PlansService.resolveTemplate`/`validateTemplatePlatform`, which treat a\n * non-GUID value as an opaque template name rather than a catalog reference.\n * @maxLength 200\n */\n selectedTemplateId?: string | null;\n /**\n * The project this plan belongs to. Supplied by the client at creation.\n * @format GUID\n */\n projectId?: string | null;\n /**\n * Facts extracted from the existing business/site. Derived server-side and read-only to clients.\n * @readonly\n */\n businessContext?: BusinessContext;\n /** Visual identity extracted from the user's website. A starting point the user can edit. */\n brandIdentity?: BrandIdentity;\n /** The specification of the app to generate, produced from the plan prompt. */\n appSpec?: AppSpec;\n}\n\n/**\n * Deletes a Plan.\n * @param planId - ID of the Plan to delete.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:delete_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.DeletePlan\n */\nexport async function deletePlan(planId: 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({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.deletePlan(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: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n * @param planId - ID of the Plan to generate.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:generate_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.GeneratePlan\n */\nexport async function generatePlan(\n planId: string\n): Promise<\n NonNullablePaths<\n GeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ planId: planId });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.generatePlan(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: { planId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['planId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n * @param planId - ID of the Plan to modify.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:modify_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.ModifyPlan\n */\nexport async function modifyPlan(\n planId: string,\n options?: ModifyPlanOptions\n): Promise<\n NonNullablePaths<\n ModifyPlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\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 planId: planId,\n answeredQuestions: options?.answeredQuestions,\n userPrompt: options?.userPrompt,\n planEditContext: options?.planEditContext,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.modifyPlan(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 planId: '$[0]',\n answeredQuestions: '$[1].answeredQuestions',\n userPrompt: '$[1].userPrompt',\n planEditContext: '$[1].planEditContext',\n },\n singleArgumentUnchanged: false,\n },\n ['planId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ModifyPlanOptions {\n /**\n * The user's answers to the previous iteration's follow-up questions.\n * @maxSize 50\n */\n answeredQuestions?: AnsweredQuestion[];\n /**\n * Optional additional request from the user to further shape the plan.\n * @maxLength 10000\n */\n userPrompt?: string | null;\n /**\n * Optional selected plan part. When present, only this boundary may change.\n * When absent, ModifyPlan keeps its existing whole-plan behavior.\n */\n planEditContext?: PlanEditContext;\n}\n\n/**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n * @param planId - ID of the Plan whose icon to regenerate.\n * @param prompt - Free-text description of the desired icon, passed to the icon-generation prompt.\n * @internal\n * @documentationMaturity preview\n * @requiredField planId\n * @requiredField prompt\n * @permissionId containers:plans:v1:plan:regenerate_icon\n * @fqn wix.containers.plans.v1.ContainersPlans.RegenerateIcon\n */\nexport async function regenerateIcon(\n planId: string,\n prompt: string\n): Promise<NonNullablePaths<RegenerateIconResponse, `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 planId: planId,\n prompt: prompt,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.regenerateIcon(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: { planId: '$[0]', prompt: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['planId', 'prompt']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n * @param planId - ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @param conversationId - ID of the conversation that led to this plan being finalized.\n * @internal\n * @documentationMaturity preview\n * @requiredField conversationId\n * @requiredField planId\n * @permissionId containers:plans:v1:plan:finalize_plan\n * @fqn wix.containers.plans.v1.ContainersPlans.FinalizePlan\n */\nexport async function finalizePlan(\n planId: string,\n conversationId: string\n): Promise<\n NonNullablePaths<\n FinalizePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\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 planId: planId,\n conversationId: conversationId,\n });\n\n const reqOpts = ambassadorWixContainersPlansV1Plan.finalizePlan(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: { planId: '$[0]', conversationId: '$[1]' },\n singleArgumentUnchanged: false,\n },\n ['planId', 'conversationId']\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: 'plan.createdDate' },\n { path: 'plan.updatedDate' },\n];\nconst TRANSFORM_PATHS_1 = [{ path: 'fieldMask' }];\n\nfunction resolveWixContainersPlansV1ContainersPlansUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/containers-plans',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_containers_plans';\n\n/** Creates a new Plan. */\nexport function createPlan(payload: object): RequestOptionsFactory<any> {\n function __createPlan({ 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.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.CreatePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans',\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 __createPlan;\n}\n\n/** Creates a new Plan and immediately generates it using the planning agent. */\nexport function createAndGeneratePlan(\n payload: object\n): RequestOptionsFactory<any> {\n function __createAndGeneratePlan({ 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.plans.v1.plan',\n method: 'POST' as any,\n methodFqn:\n 'wix.containers.plans.v1.ContainersPlans.CreateAndGeneratePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/create-and-generate',\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 __createAndGeneratePlan;\n}\n\n/** Retrieves a Plan by its ID. */\nexport function getPlan(payload: object): RequestOptionsFactory<any> {\n function __getPlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'GET' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GetPlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}',\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 __getPlan;\n}\n\n/**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n */\nexport function getPlanByProjectId(\n payload: object\n): RequestOptionsFactory<any> {\n function __getPlanByProjectId({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'GET' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GetPlanByProjectId',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/by-project/{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 __getPlanByProjectId;\n}\n\n/** Updates a Plan. The current revision must be passed for optimistic locking. */\nexport function updatePlan(payload: object): RequestOptionsFactory<any> {\n function __updatePlan({ 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.plans.v1.plan',\n method: 'PATCH' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.UpdatePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{plan.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 __updatePlan;\n}\n\n/** Deletes a Plan. */\nexport function deletePlan(payload: object): RequestOptionsFactory<any> {\n function __deletePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'DELETE' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.DeletePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deletePlan;\n}\n\n/**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n */\nexport function generatePlan(payload: object): RequestOptionsFactory<any> {\n function __generatePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.GeneratePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/generate',\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 __generatePlan;\n}\n\n/**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n */\nexport function modifyPlan(payload: object): RequestOptionsFactory<any> {\n function __modifyPlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.ModifyPlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/modify',\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 __modifyPlan;\n}\n\n/**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n */\nexport function regenerateIcon(payload: object): RequestOptionsFactory<any> {\n function __regenerateIcon({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.RegenerateIcon',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/regenerate-icon',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __regenerateIcon;\n}\n\n/**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n */\nexport function finalizePlan(payload: object): RequestOptionsFactory<any> {\n function __finalizePlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.containers.plans.v1.plan',\n method: 'POST' as any,\n methodFqn: 'wix.containers.plans.v1.ContainersPlans.FinalizePlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixContainersPlansV1ContainersPlansUrl({\n protoPath: '/v1/plans/{planId}/finalize',\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 __finalizePlan;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n CreateAndGeneratePlanResponse,\n FinalizePlanResponse,\n GeneratePlanResponse,\n GetPlanByProjectIdResponse,\n ModifyPlanOptions,\n ModifyPlanResponse,\n Plan,\n RegenerateIconResponse,\n UpdatePlan,\n createAndGeneratePlan as universalCreateAndGeneratePlan,\n createPlan as universalCreatePlan,\n deletePlan as universalDeletePlan,\n finalizePlan as universalFinalizePlan,\n generatePlan as universalGeneratePlan,\n getPlan as universalGetPlan,\n getPlanByProjectId as universalGetPlanByProjectId,\n modifyPlan as universalModifyPlan,\n regenerateIcon as universalRegenerateIcon,\n updatePlan as universalUpdatePlan,\n} from './containers-plans-v1-plan-plans.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/containers' };\n\n/** @internal */\nexport function createPlan(httpClient: HttpClient): CreatePlanSignature {\n return (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ) =>\n universalCreatePlan(\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreatePlanSignature {\n /**\n * Creates a new Plan.\n * @param - Plan to be created.\n * @returns The created Plan.\n */\n (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function createAndGeneratePlan(\n httpClient: HttpClient\n): CreateAndGeneratePlanSignature {\n return (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ) =>\n universalCreateAndGeneratePlan(\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateAndGeneratePlanSignature {\n /**\n * Creates a new Plan and immediately generates it using the planning agent.\n * @param - Plan to be created and generated.\n */\n (\n plan: NonNullablePaths<\n Plan,\n `initialPrompt` | `platform` | `projectId` | `selectedTemplateId`,\n 0\n >\n ): Promise<\n NonNullablePaths<\n CreateAndGeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function getPlan(httpClient: HttpClient): GetPlanSignature {\n return (planId: string) =>\n universalGetPlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPlanSignature {\n /**\n * Retrieves a Plan by its ID.\n * @param - ID of the Plan to retrieve.\n * @returns The requested Plan.\n */\n (planId: string): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function getPlanByProjectId(\n httpClient: HttpClient\n): GetPlanByProjectIdSignature {\n return (projectId: string) =>\n universalGetPlanByProjectId(\n projectId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetPlanByProjectIdSignature {\n /**\n * Retrieves the (single) Plan for a project. Server-to-server: containers-projects uses this to\n * read the finalized plan when creating the initial generation job.\n * @param - ID of the project whose Plan to retrieve.\n */\n (projectId: string): Promise<\n NonNullablePaths<\n GetPlanByProjectIdResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function updatePlan(httpClient: HttpClient): UpdatePlanSignature {\n return (_id: string, plan: NonNullablePaths<UpdatePlan, `revision`, 0>) =>\n universalUpdatePlan(\n _id,\n plan,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdatePlanSignature {\n /**\n * Updates a Plan. The current revision must be passed for optimistic locking.\n * @param - Plan ID.\n * @returns The updated Plan.\n */\n (_id: string, plan: NonNullablePaths<UpdatePlan, `revision`, 0>): Promise<\n NonNullablePaths<\n Plan,\n | `initialPrompt`\n | `platform`\n | `status`\n | `businessContext.businessName`\n | `businessContext.businessLogoUrl`\n | `businessContext.businessDescription`\n | `businessContext.language`\n | `businessContext.country`\n | `businessContext.wixIntegrations`\n | `brandIdentity.primaryColor`\n | `brandIdentity.backgroundColor`\n | `brandIdentity.contentColor`\n | `brandIdentity.headingFont`\n | `brandIdentity.bodyFont`\n | `appSpec.appName`\n | `appSpec.appDescription`\n | `appSpec.businessGoal`\n | `appSpec.audience`\n | `appSpec.wixIntegrations`\n | `appSpec.wixIntegrations.${number}.displayName`\n | `appSpec.wixIntegrations.${number}.description`\n | `appSpec.wixIntegrations.${number}._id`\n | `appSpec.thirdPartyIntegrations`\n | `appSpec.features`\n | `appSpec.features.${number}.title`\n | `appSpec.features.${number}.description`\n | `appSpec.navigation`\n | `appSpec.appIconUrl`,\n 3\n >\n >;\n}\n\n/** @internal */\nexport function deletePlan(httpClient: HttpClient): DeletePlanSignature {\n return (planId: string) =>\n universalDeletePlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeletePlanSignature {\n /**\n * Deletes a Plan.\n * @param - ID of the Plan to delete.\n */\n (planId: string): Promise<void>;\n}\n\n/** @internal */\nexport function generatePlan(httpClient: HttpClient): GeneratePlanSignature {\n return (planId: string) =>\n universalGeneratePlan(\n planId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GeneratePlanSignature {\n /**\n * Generates the plan for an already-created Plan using the planning agent, from the plan's\n * extracted business context + brand identity, the initial prompt, the platform, and the\n * selected template. Populates app_spec (and brand_identity) and returns follow-up questions.\n * @param - ID of the Plan to generate.\n */\n (planId: string): Promise<\n NonNullablePaths<\n GeneratePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function modifyPlan(httpClient: HttpClient): ModifyPlanSignature {\n return (planId: string, options?: ModifyPlanOptions) =>\n universalModifyPlan(\n planId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ModifyPlanSignature {\n /**\n * Modifies an existing Plan based on the user's answers to the previous iteration's\n * follow-up questions plus an optional additional prompt. Returns the updated plan and\n * any new follow-up questions.\n * @param - ID of the Plan to modify.\n */\n (planId: string, options?: ModifyPlanOptions): Promise<\n NonNullablePaths<\n ModifyPlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`\n | `followUpQuestions`\n | `followUpQuestionOptions`\n | `followUpQuestionOptions.${number}.question`,\n 4\n >\n >;\n}\n\n/** @internal */\nexport function regenerateIcon(\n httpClient: HttpClient\n): RegenerateIconSignature {\n return (planId: string, prompt: string) =>\n universalRegenerateIcon(\n planId,\n prompt,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface RegenerateIconSignature {\n /**\n * Generates a candidate icon for a Plan from user-provided text via PromptHub. The current\n * business_context (including any existing icon, sent as a reference image) is resolved\n * server-side; the caller supplies only the prompt. Does not persist the result — the caller\n * saves an accepted icon with UpdatePlan (app_spec.app_icon_url).\n * @param - ID of the Plan whose icon to regenerate.\n * @param - Free-text description of the desired icon, passed to the icon-generation prompt.\n */\n (planId: string, prompt: string): Promise<\n NonNullablePaths<RegenerateIconResponse, `iconUrl`, 0>\n >;\n}\n\n/** @internal */\nexport function finalizePlan(httpClient: HttpClient): FinalizePlanSignature {\n return (planId: string, conversationId: string) =>\n universalFinalizePlan(\n planId,\n conversationId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface FinalizePlanSignature {\n /**\n * Finalizes a Plan for generation, transitioning it to FINALIZED and emitting a PlanFinalized\n * action event that drives the linked Project into BUILDING.\n * @param - ID of the Plan to finalize. Its project_id and selected_template_id (set at creation)\n * are used to drive generation.\n * @param - ID of the conversation that led to this plan being finalized.\n */\n (planId: string, conversationId: string): Promise<\n NonNullablePaths<\n FinalizePlanResponse,\n | `plan.initialPrompt`\n | `plan.platform`\n | `plan.status`\n | `plan.businessContext.businessName`\n | `plan.businessContext.businessLogoUrl`\n | `plan.businessContext.businessDescription`\n | `plan.businessContext.language`\n | `plan.businessContext.country`\n | `plan.businessContext.wixIntegrations`\n | `plan.brandIdentity.primaryColor`\n | `plan.brandIdentity.backgroundColor`\n | `plan.brandIdentity.contentColor`\n | `plan.brandIdentity.headingFont`\n | `plan.brandIdentity.bodyFont`\n | `plan.appSpec.appName`\n | `plan.appSpec.appDescription`\n | `plan.appSpec.businessGoal`\n | `plan.appSpec.audience`\n | `plan.appSpec.wixIntegrations`\n | `plan.appSpec.wixIntegrations.${number}.displayName`\n | `plan.appSpec.wixIntegrations.${number}.description`\n | `plan.appSpec.wixIntegrations.${number}._id`\n | `plan.appSpec.thirdPartyIntegrations`\n | `plan.appSpec.features`\n | `plan.appSpec.features.${number}.title`\n | `plan.appSpec.features.${number}.description`\n | `plan.appSpec.navigation`\n | `plan.appSpec.appIconUrl`,\n 4\n >\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n AnsweredQuestion,\n AppSpec,\n BrandIdentity,\n BusinessContext,\n CreateAndGeneratePlanRequest,\n CreateAndGeneratePlanResponse,\n CreatePlanRequest,\n CreatePlanResponse,\n DeletePlanRequest,\n DeletePlanResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n Feature,\n FinalizePlanRequest,\n FinalizePlanResponse,\n FollowUpQuestion,\n GeneratePlanRequest,\n GeneratePlanResponse,\n GetPlanByProjectIdRequest,\n GetPlanByProjectIdResponse,\n GetPlanRequest,\n GetPlanResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n Integration,\n MessageEnvelope,\n ModifyPlanOptions,\n ModifyPlanRequest,\n ModifyPlanResponse,\n Plan,\n PlanEditContext,\n PlanFinalized,\n PlanPartType,\n PlanStatus,\n Platform,\n RegenerateIconRequest,\n RegenerateIconResponse,\n RestoreInfo,\n UpdatePlan,\n UpdatePlanRequest,\n UpdatePlanResponse,\n WebhookIdentityType,\n} from './containers-plans-v1-plan-plans.universal.js';\n","import {\n createPlan as publicCreatePlan,\n createAndGeneratePlan as publicCreateAndGeneratePlan,\n getPlan as publicGetPlan,\n getPlanByProjectId as publicGetPlanByProjectId,\n updatePlan as publicUpdatePlan,\n deletePlan as publicDeletePlan,\n generatePlan as publicGeneratePlan,\n modifyPlan as publicModifyPlan,\n regenerateIcon as publicRegenerateIcon,\n finalizePlan as publicFinalizePlan,\n} from './containers-plans-v1-plan-plans.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\n/** @internal */\nexport const createPlan: MaybeContext<\n BuildRESTFunction<typeof publicCreatePlan> & typeof publicCreatePlan\n> = /*#__PURE__*/ createRESTModule(publicCreatePlan);\n/** @internal */\nexport const createAndGeneratePlan: MaybeContext<\n BuildRESTFunction<typeof publicCreateAndGeneratePlan> &\n typeof publicCreateAndGeneratePlan\n> = /*#__PURE__*/ createRESTModule(publicCreateAndGeneratePlan);\n/** @internal */\nexport const getPlan: MaybeContext<\n BuildRESTFunction<typeof publicGetPlan> & typeof publicGetPlan\n> = /*#__PURE__*/ createRESTModule(publicGetPlan);\n/** @internal */\nexport const getPlanByProjectId: MaybeContext<\n BuildRESTFunction<typeof publicGetPlanByProjectId> &\n typeof publicGetPlanByProjectId\n> = /*#__PURE__*/ createRESTModule(publicGetPlanByProjectId);\n/** @internal */\nexport const updatePlan: MaybeContext<\n BuildRESTFunction<typeof publicUpdatePlan> & typeof publicUpdatePlan\n> = /*#__PURE__*/ createRESTModule(publicUpdatePlan);\n/** @internal */\nexport const deletePlan: MaybeContext<\n BuildRESTFunction<typeof publicDeletePlan> & typeof publicDeletePlan\n> = /*#__PURE__*/ createRESTModule(publicDeletePlan);\n/** @internal */\nexport const generatePlan: MaybeContext<\n BuildRESTFunction<typeof publicGeneratePlan> & typeof publicGeneratePlan\n> = /*#__PURE__*/ createRESTModule(publicGeneratePlan);\n/** @internal */\nexport const modifyPlan: MaybeContext<\n BuildRESTFunction<typeof publicModifyPlan> & typeof publicModifyPlan\n> = /*#__PURE__*/ createRESTModule(publicModifyPlan);\n/** @internal */\nexport const regenerateIcon: MaybeContext<\n BuildRESTFunction<typeof publicRegenerateIcon> & typeof publicRegenerateIcon\n> = /*#__PURE__*/ createRESTModule(publicRegenerateIcon);\n/** @internal */\nexport const finalizePlan: MaybeContext<\n BuildRESTFunction<typeof publicFinalizePlan> & typeof publicFinalizePlan\n> = /*#__PURE__*/ createRESTModule(publicFinalizePlan);\n\nexport {\n Platform,\n PlanStatus,\n PlanPartType,\n WebhookIdentityType,\n} from './containers-plans-v1-plan-plans.universal.js';\nexport {\n Plan,\n BusinessContext,\n BrandIdentity,\n AppSpec,\n Integration,\n Feature,\n PlanFinalized,\n CreatePlanRequest,\n CreatePlanResponse,\n CreateAndGeneratePlanRequest,\n CreateAndGeneratePlanResponse,\n FollowUpQuestion,\n GetPlanRequest,\n GetPlanResponse,\n GetPlanByProjectIdRequest,\n GetPlanByProjectIdResponse,\n UpdatePlanRequest,\n UpdatePlanResponse,\n DeletePlanRequest,\n DeletePlanResponse,\n GeneratePlanRequest,\n GeneratePlanResponse,\n ModifyPlanRequest,\n AnsweredQuestion,\n PlanEditContext,\n ModifyPlanResponse,\n RegenerateIconRequest,\n RegenerateIconResponse,\n FinalizePlanRequest,\n FinalizePlanResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n UpdatePlan,\n ModifyPlanOptions,\n} from './containers-plans-v1-plan-plans.universal.js';\nexport {\n PlatformWithLiterals,\n PlanStatusWithLiterals,\n PlanPartTypeWithLiterals,\n WebhookIdentityTypeWithLiterals,\n} from './containers-plans-v1-plan-plans.universal.js';\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,mBAAmB;AAAA,EAC3B,EAAE,MAAM,mBAAmB;AAC7B;AACA,IAAM,oBAAoB,CAAC,EAAE,MAAM,YAAY,CAAC;AAEhD,SAAS,8CACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,wBAAwB;AAAA,MACtB;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;AAGd,SAAS,WAAW,SAA6C;AACtE,WAAS,aAAa,EAAE,KAAK,GAAQ;AACnC,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,8CAA8C;AAAA,QACjD,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,sBACd,SAC4B;AAC5B,WAAS,wBAAwB,EAAE,KAAK,GAAQ;AAC9C,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,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,8CAA8C;AAAA,QACjD,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,QAAQ,SAA6C;AACnE,WAAS,UAAU,EAAE,KAAK,GAAQ;AAChC,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,8CAA8C;AAAA,QACjD,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;AAMO,SAAS,mBACd,SAC4B;AAC5B,WAAS,qBAAqB,EAAE,KAAK,GAAQ;AAC3C,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,8CAA8C;AAAA,QACjD,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;AAGO,SAAS,WAAW,SAA6C;AACtE,WAAS,aAAa,EAAE,KAAK,GAAQ;AACnC,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,8CAA8C;AAAA,QACjD,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,8CAA8C;AAAA,QACjD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,QAAQ,kBAAkB,OAAO;AAAA,IACnC;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,8CAA8C;AAAA,QACjD,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,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,8CAA8C;AAAA,QACjD,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;AAQO,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,8CAA8C;AAAA,QACjD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAMO,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,8CAA8C;AAAA,QACjD,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;;;AD/TO,IAAK,WAAL,kBAAKC,cAAL;AAKL,EAAAA,UAAA,qBAAkB;AALR,SAAAA;AAAA,GAAA;AAWL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,WAAQ;AAER,EAAAA,YAAA,eAAY;AAJF,SAAAA;AAAA,GAAA;AAkYL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,gBAAa;AAtBH,SAAAA;AAAA,GAAA;AA0OL,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;AAiDZ,eAAsBC,YACpB,MAsCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,KAAW,CAAC;AAEpE,QAAM,UAA6C,WAAW,OAAO;AAErE,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,MAAM,OAAO;AAAA,QACzC,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,MAAM;AAAA,IACT;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAeA,eAAsBC,uBACpB,MAyCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,KAAW,CAAC;AAEpE,QAAM,UAC+B,sBAAsB,OAAO;AAElE,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,MAAM,OAAO;AAAA,QACzC,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,MAAM;AAAA,IACT;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAYA,eAAsBC,SACpB,QAkCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,OAAe,CAAC;AAExE,QAAM,UAA6C,QAAQ,OAAO;AAElE,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,QAAQ,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAYA,eAAsBC,oBACpB,WAkCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,EACF,CAAC;AAED,QAAM,UAC+B,mBAAmB,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,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,WAAW;AAAA,IACd;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAcA,eAAsBC,YACpB,KACA,MAkCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI;AAAA,EAC3B,CAAC;AAED,QAAM,UAA6C,WAAW,OAAO;AAErE,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,MAAM,OAAO;AAAA,QACvC,0BAA0B,EAAE,WAAW,OAAO;AAAA,QAC9C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,OAAO,MAAM;AAAA,IAChB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAkEA,eAAsBC,YAAW,QAA+B;AAE9D,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,OAAe,CAAC;AAExE,QAAM,UAA6C,WAAW,OAAO;AAErE,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,QAAQ,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAaA,eAAsBC,cACpB,QAqCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC,EAAE,OAAe,CAAC;AAExE,QAAM,UAA6C,aAAa,OAAO;AAEvE,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,OAAO;AAAA,QAC3C,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAaA,eAAsBC,YACpB,QACA,SAqCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA,mBAAmB,SAAS;AAAA,IAC5B,YAAY,SAAS;AAAA,IACrB,iBAAiB,SAAS;AAAA,EAC5B,CAAC;AAED,QAAM,UAA6C,WAAW,OAAO;AAErE,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,QAAQ;AAAA,UACR,mBAAmB;AAAA,UACnB,YAAY;AAAA,UACZ,iBAAiB;AAAA,QACnB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,SAAS;AAAA,IACtB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAkCA,eAAsBC,gBACpB,QACA,QACiE;AAEjE,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,UAA6C,eAAe,OAAO;AAEzE,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,QAAQ,QAAQ,OAAO;AAAA,QAC3D,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,QAAQ;AAAA,IACrB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;AAeA,eAAsBC,cACpB,QACA,gBAkCA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,UAAU,sCAAsC;AAAA,IACpD;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,UAA6C,aAAa,OAAO;AAEvE,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,QAAQ,gBAAgB,OAAO;AAAA,QACnE,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,UAAU,gBAAgB;AAAA,IAC7B;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;AExgDO,SAASC,YAAW,YAA6C;AACtE,SAAO,CACL,SAMAA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAmDO,SAASC,uBACd,YACgC;AAChC,SAAO,CACL,SAMAA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAqDO,SAASC,SAAQ,YAA0C;AAChE,SAAO,CAAC,WACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA6CO,SAASC,oBACd,YAC6B;AAC7B,SAAO,CAAC,cACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA6CO,SAASC,YAAW,YAA6C;AACtE,SAAO,CAAC,KAAa,SACnBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AA6CO,SAASC,YAAW,YAA6C;AACtE,SAAO,CAAC,WACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAWO,SAASC,cAAa,YAA+C;AAC1E,SAAO,CAAC,WACNA;AAAA,IACE;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAiDO,SAASC,YAAW,YAA6C;AACtE,SAAO,CAAC,QAAgB,YACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAiDO,SAASC,gBACd,YACyB;AACzB,SAAO,CAAC,QAAgB,WACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;AAiBO,SAASC,cAAa,YAA+C;AAC1E,SAAO,CAAC,QAAgB,mBACtBA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;;;ACvdA,SAAS,wBAAwB;AAI1B,IAAMC,cAEK,iCAAiBA,WAAgB;AAE5C,IAAMC,yBAGK,iCAAiBA,sBAA2B;AAEvD,IAAMC,WAEK,iCAAiBA,QAAa;AAEzC,IAAMC,sBAGK,iCAAiBA,mBAAwB;AAEpD,IAAMC,cAEK,iCAAiBA,WAAgB;AAE5C,IAAMC,cAEK,iCAAiBA,WAAgB;AAE5C,IAAMC,gBAEK,iCAAiBA,aAAkB;AAE9C,IAAMC,cAEK,iCAAiBA,WAAgB;AAE5C,IAAMC,kBAEK,iCAAiBA,eAAoB;AAEhD,IAAMC,gBAEK,iCAAiBA,aAAkB;","names":["payload","Platform","PlanStatus","PlanPartType","WebhookIdentityType","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan","createPlan","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan"]}
|