@wix/auto_sdk_containers_plans 1.0.3 → 1.0.5
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 +115 -6
- package/build/cjs/index.js +21 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +1 -1
- package/build/cjs/index.typings.js +21 -0
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +115 -6
- package/build/cjs/meta.js +21 -0
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +115 -6
- package/build/es/index.mjs +19 -0
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +1 -1
- package/build/es/index.typings.mjs +19 -0
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +115 -6
- package/build/es/meta.mjs +19 -0
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +12 -10
- package/build/internal/cjs/index.typings.d.ts +126 -15
- package/build/internal/cjs/meta.d.ts +115 -6
- package/build/internal/es/index.d.mts +12 -10
- package/build/internal/es/index.typings.d.mts +126 -15
- package/build/internal/es/meta.d.mts +115 -6
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.typings.ts","../../src/containers-plans-v1-plan-plans.universal.ts","../../src/containers-plans-v1-plan-plans.http.ts"],"sourcesContent":["export * from './src/containers-plans-v1-plan-plans.universal.js';\n","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"],"mappings":"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","names":["createAndGeneratePlan","createPlan","deletePlan","finalizePlan","generatePlan","getPlan","getPlanByProjectId","modifyPlan","regenerateIcon","updatePlan","import_timestamp","import_rest_modules","payload","Platform","PlanStatus","PlanPartType","WebhookIdentityType","createPlan","sdkTransformError","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan"]}
|
|
1
|
+
{"version":3,"sources":["../../index.typings.ts","../../src/containers-plans-v1-plan-plans.universal.ts","../../src/containers-plans-v1-plan-plans.http.ts"],"sourcesContent":["export * from './src/containers-plans-v1-plan-plans.universal.js';\n","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).\n * App icons are generated separately; AppSpec.app_icon_url stores the accepted app-icon reference.\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 * What the server learned from the site's content before the first plan was generated: the\n * business, its goal and the content an app can show. Absent for older plans, when the analysis\n * is off for the site, or when it did not finish.\n * @readonly\n */\n analysis?: BusinessAnalysis;\n}\n\n/** A short analysis of the business, made from the site's content for the planning agent. */\nexport interface BusinessAnalysis {\n /**\n * Industry of the business, for example \"yoga studio\".\n * @maxLength 200\n */\n industry?: string;\n /**\n * Short factual summary of the business and what its site offers.\n * @maxLength 2000\n */\n summary?: string;\n /**\n * The main outcome the business wants from its customers, for example \"Get more class bookings\".\n * @maxLength 500\n */\n businessGoal?: string;\n /** How strongly the site's content supports business_goal. */\n businessGoalConfidence?: BusinessGoalConfidenceWithLiterals;\n /**\n * Who the business's customers are.\n * @maxLength 500\n */\n audience?: string;\n /**\n * Main products or services the business offers, as named on the site.\n * @maxSize 6\n * @maxLength 200\n */\n keyOfferings?: string[];\n /**\n * Site content of each kind that the generated app can show.\n * @maxSize 10\n */\n usableContent?: UsableContent[];\n /**\n * Names of the Wix business apps installed on the site, for example \"Wix Bookings\".\n * @maxSize 30\n * @maxLength 100\n */\n installedVerticals?: string[];\n /**\n * Short points the app should focus on to serve business_goal.\n * @maxSize 3\n * @maxLength 300\n */\n appFocus?: string[];\n /**\n * How the site's own text sounds to its customers, so the app's text can sound the same, for\n * example \"Warm and homely; short sentences; speaks to the customer as 'you'\".\n * @maxLength 500\n */\n toneOfVoice?: string;\n /**\n * Up to three short phrases quoted from the site that show its tone of voice.\n * @maxSize 3\n * @maxLength 200\n */\n toneExamples?: string[];\n}\n\nexport enum BusinessGoalConfidence {\n /** The site gives little or conflicting evidence for the goal. */\n LOW = 'LOW',\n /** The goal is a reasonable inference from the site. */\n MEDIUM = 'MEDIUM',\n /** The goal follows directly from strong evidence, such as a booking app with services. */\n HIGH = 'HIGH',\n}\n\n/** @enumType */\nexport type BusinessGoalConfidenceWithLiterals =\n | BusinessGoalConfidence\n | 'LOW'\n | 'MEDIUM'\n | 'HIGH';\n\n/** Site content of one kind that the generated app can show. */\nexport interface UsableContent {\n /** Where the content comes from. */\n source?: ContentSourceWithLiterals;\n /**\n * What the content is, for example \"12 yoga and pilates classes with prices\".\n * @maxLength 500\n */\n description?: string;\n /** Number of items found, when known. */\n itemCount?: number | null;\n}\n\nexport enum ContentSource {\n /** Wix Stores products. */\n STORES = 'STORES',\n /** Wix Bookings services. */\n BOOKINGS = 'BOOKINGS',\n /** Wix Events events. */\n EVENTS = 'EVENTS',\n /** Wix Blog posts. */\n BLOG = 'BLOG',\n /** Wix Pricing Plans plans. */\n PRICING_PLANS = 'PRICING_PLANS',\n /** Wix Restaurants menu items. */\n RESTAURANTS = 'RESTAURANTS',\n /** Wix CMS (Wix Data) collections. */\n CMS = 'CMS',\n /** Text of the published site's home page. */\n SITE_TEXT = 'SITE_TEXT',\n}\n\n/** @enumType */\nexport type ContentSourceWithLiterals =\n | ContentSource\n | 'STORES'\n | 'BOOKINGS'\n | 'EVENTS'\n | 'BLOG'\n | 'PRICING_PLANS'\n | 'RESTAURANTS'\n | 'CMS'\n | 'SITE_TEXT';\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. Generated at plan creation from the initial prompt and\n * available business context. The client can replace it with an accepted RegenerateIcon result\n * via UpdatePlan. FinalizePlan retries generation when the icon is missing before starting a build.\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 | `businessContext.analysis.industry`\n | `businessContext.analysis.summary`\n | `businessContext.analysis.businessGoal`\n | `businessContext.analysis.businessGoalConfidence`\n | `businessContext.analysis.audience`\n | `businessContext.analysis.keyOfferings`\n | `businessContext.analysis.usableContent`\n | `businessContext.analysis.usableContent.${number}.source`\n | `businessContext.analysis.usableContent.${number}.description`\n | `businessContext.analysis.installedVerticals`\n | `businessContext.analysis.appFocus`\n | `businessContext.analysis.toneOfVoice`\n | `businessContext.analysis.toneExamples`\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 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 = 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.businessContext.analysis.industry`\n | `plan.businessContext.analysis.summary`\n | `plan.businessContext.analysis.businessGoal`\n | `plan.businessContext.analysis.businessGoalConfidence`\n | `plan.businessContext.analysis.audience`\n | `plan.businessContext.analysis.keyOfferings`\n | `plan.businessContext.analysis.usableContent`\n | `plan.businessContext.analysis.usableContent.${number}.source`\n | `plan.businessContext.analysis.usableContent.${number}.description`\n | `plan.businessContext.analysis.installedVerticals`\n | `plan.businessContext.analysis.appFocus`\n | `plan.businessContext.analysis.toneOfVoice`\n | `plan.businessContext.analysis.toneExamples`\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 5\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 | `businessContext.analysis.industry`\n | `businessContext.analysis.summary`\n | `businessContext.analysis.businessGoal`\n | `businessContext.analysis.businessGoalConfidence`\n | `businessContext.analysis.audience`\n | `businessContext.analysis.keyOfferings`\n | `businessContext.analysis.usableContent`\n | `businessContext.analysis.usableContent.${number}.source`\n | `businessContext.analysis.usableContent.${number}.description`\n | `businessContext.analysis.installedVerticals`\n | `businessContext.analysis.appFocus`\n | `businessContext.analysis.toneOfVoice`\n | `businessContext.analysis.toneExamples`\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 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.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.businessContext.analysis.industry`\n | `plan.businessContext.analysis.summary`\n | `plan.businessContext.analysis.businessGoal`\n | `plan.businessContext.analysis.businessGoalConfidence`\n | `plan.businessContext.analysis.audience`\n | `plan.businessContext.analysis.keyOfferings`\n | `plan.businessContext.analysis.usableContent`\n | `plan.businessContext.analysis.usableContent.${number}.source`\n | `plan.businessContext.analysis.usableContent.${number}.description`\n | `plan.businessContext.analysis.installedVerticals`\n | `plan.businessContext.analysis.appFocus`\n | `plan.businessContext.analysis.toneOfVoice`\n | `plan.businessContext.analysis.toneExamples`\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 5\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 | `businessContext.analysis.industry`\n | `businessContext.analysis.summary`\n | `businessContext.analysis.businessGoal`\n | `businessContext.analysis.businessGoalConfidence`\n | `businessContext.analysis.audience`\n | `businessContext.analysis.keyOfferings`\n | `businessContext.analysis.usableContent`\n | `businessContext.analysis.usableContent.${number}.source`\n | `businessContext.analysis.usableContent.${number}.description`\n | `businessContext.analysis.installedVerticals`\n | `businessContext.analysis.appFocus`\n | `businessContext.analysis.toneOfVoice`\n | `businessContext.analysis.toneExamples`\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 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 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.businessContext.analysis.industry`\n | `plan.businessContext.analysis.summary`\n | `plan.businessContext.analysis.businessGoal`\n | `plan.businessContext.analysis.businessGoalConfidence`\n | `plan.businessContext.analysis.audience`\n | `plan.businessContext.analysis.keyOfferings`\n | `plan.businessContext.analysis.usableContent`\n | `plan.businessContext.analysis.usableContent.${number}.source`\n | `plan.businessContext.analysis.usableContent.${number}.description`\n | `plan.businessContext.analysis.installedVerticals`\n | `plan.businessContext.analysis.appFocus`\n | `plan.businessContext.analysis.toneOfVoice`\n | `plan.businessContext.analysis.toneExamples`\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 5\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.businessContext.analysis.industry`\n | `plan.businessContext.analysis.summary`\n | `plan.businessContext.analysis.businessGoal`\n | `plan.businessContext.analysis.businessGoalConfidence`\n | `plan.businessContext.analysis.audience`\n | `plan.businessContext.analysis.keyOfferings`\n | `plan.businessContext.analysis.usableContent`\n | `plan.businessContext.analysis.usableContent.${number}.source`\n | `plan.businessContext.analysis.usableContent.${number}.description`\n | `plan.businessContext.analysis.installedVerticals`\n | `plan.businessContext.analysis.appFocus`\n | `plan.businessContext.analysis.toneOfVoice`\n | `plan.businessContext.analysis.toneExamples`\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 5\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. Generates an icon first if it is\n * missing. If icon generation fails, the Plan stays editable and finalization can be retried;\n * RegenerateIcon and UpdatePlan can also be used to accept an icon independently.\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.businessContext.analysis.industry`\n | `plan.businessContext.analysis.summary`\n | `plan.businessContext.analysis.businessGoal`\n | `plan.businessContext.analysis.businessGoalConfidence`\n | `plan.businessContext.analysis.audience`\n | `plan.businessContext.analysis.keyOfferings`\n | `plan.businessContext.analysis.usableContent`\n | `plan.businessContext.analysis.usableContent.${number}.source`\n | `plan.businessContext.analysis.usableContent.${number}.description`\n | `plan.businessContext.analysis.installedVerticals`\n | `plan.businessContext.analysis.appFocus`\n | `plan.businessContext.analysis.toneOfVoice`\n | `plan.businessContext.analysis.toneExamples`\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 5\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. Generates an icon first if it is\n * missing. If icon generation fails, the Plan stays editable and finalization can be retried;\n * RegenerateIcon and UpdatePlan can also be used to accept an icon independently.\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"],"mappings":"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","names":["createAndGeneratePlan","createPlan","deletePlan","finalizePlan","generatePlan","getPlan","getPlanByProjectId","modifyPlan","regenerateIcon","updatePlan","import_timestamp","import_rest_modules","payload","Platform","PlanStatus","BusinessGoalConfidence","ContentSource","PlanPartType","WebhookIdentityType","createPlan","sdkTransformError","createAndGeneratePlan","getPlan","getPlanByProjectId","updatePlan","deletePlan","generatePlan","modifyPlan","regenerateIcon","finalizePlan"]}
|
package/build/cjs/meta.d.ts
CHANGED
|
@@ -82,8 +82,8 @@ interface BusinessContext {
|
|
|
82
82
|
*/
|
|
83
83
|
businessName?: string;
|
|
84
84
|
/**
|
|
85
|
-
* Business logo image URL, extracted from the site (empty if it has none).
|
|
86
|
-
*
|
|
85
|
+
* Business logo image URL, extracted from the site (empty if it has none).
|
|
86
|
+
* App icons are generated separately; AppSpec.app_icon_url stores the accepted app-icon reference.
|
|
87
87
|
* @maxLength 2000
|
|
88
88
|
*/
|
|
89
89
|
businessLogoUrl?: string;
|
|
@@ -115,7 +115,116 @@ interface BusinessContext {
|
|
|
115
115
|
* @format WEB_URL
|
|
116
116
|
*/
|
|
117
117
|
publicSiteUrl?: string | null;
|
|
118
|
+
/**
|
|
119
|
+
* What the server learned from the site's content before the first plan was generated: the
|
|
120
|
+
* business, its goal and the content an app can show. Absent for older plans, when the analysis
|
|
121
|
+
* is off for the site, or when it did not finish.
|
|
122
|
+
* @readonly
|
|
123
|
+
*/
|
|
124
|
+
analysis?: BusinessAnalysis;
|
|
118
125
|
}
|
|
126
|
+
/** A short analysis of the business, made from the site's content for the planning agent. */
|
|
127
|
+
interface BusinessAnalysis {
|
|
128
|
+
/**
|
|
129
|
+
* Industry of the business, for example "yoga studio".
|
|
130
|
+
* @maxLength 200
|
|
131
|
+
*/
|
|
132
|
+
industry?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Short factual summary of the business and what its site offers.
|
|
135
|
+
* @maxLength 2000
|
|
136
|
+
*/
|
|
137
|
+
summary?: string;
|
|
138
|
+
/**
|
|
139
|
+
* The main outcome the business wants from its customers, for example "Get more class bookings".
|
|
140
|
+
* @maxLength 500
|
|
141
|
+
*/
|
|
142
|
+
businessGoal?: string;
|
|
143
|
+
/** How strongly the site's content supports business_goal. */
|
|
144
|
+
businessGoalConfidence?: BusinessGoalConfidenceWithLiterals;
|
|
145
|
+
/**
|
|
146
|
+
* Who the business's customers are.
|
|
147
|
+
* @maxLength 500
|
|
148
|
+
*/
|
|
149
|
+
audience?: string;
|
|
150
|
+
/**
|
|
151
|
+
* Main products or services the business offers, as named on the site.
|
|
152
|
+
* @maxSize 6
|
|
153
|
+
* @maxLength 200
|
|
154
|
+
*/
|
|
155
|
+
keyOfferings?: string[];
|
|
156
|
+
/**
|
|
157
|
+
* Site content of each kind that the generated app can show.
|
|
158
|
+
* @maxSize 10
|
|
159
|
+
*/
|
|
160
|
+
usableContent?: UsableContent[];
|
|
161
|
+
/**
|
|
162
|
+
* Names of the Wix business apps installed on the site, for example "Wix Bookings".
|
|
163
|
+
* @maxSize 30
|
|
164
|
+
* @maxLength 100
|
|
165
|
+
*/
|
|
166
|
+
installedVerticals?: string[];
|
|
167
|
+
/**
|
|
168
|
+
* Short points the app should focus on to serve business_goal.
|
|
169
|
+
* @maxSize 3
|
|
170
|
+
* @maxLength 300
|
|
171
|
+
*/
|
|
172
|
+
appFocus?: string[];
|
|
173
|
+
/**
|
|
174
|
+
* How the site's own text sounds to its customers, so the app's text can sound the same, for
|
|
175
|
+
* example "Warm and homely; short sentences; speaks to the customer as 'you'".
|
|
176
|
+
* @maxLength 500
|
|
177
|
+
*/
|
|
178
|
+
toneOfVoice?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Up to three short phrases quoted from the site that show its tone of voice.
|
|
181
|
+
* @maxSize 3
|
|
182
|
+
* @maxLength 200
|
|
183
|
+
*/
|
|
184
|
+
toneExamples?: string[];
|
|
185
|
+
}
|
|
186
|
+
declare enum BusinessGoalConfidence {
|
|
187
|
+
/** The site gives little or conflicting evidence for the goal. */
|
|
188
|
+
LOW = "LOW",
|
|
189
|
+
/** The goal is a reasonable inference from the site. */
|
|
190
|
+
MEDIUM = "MEDIUM",
|
|
191
|
+
/** The goal follows directly from strong evidence, such as a booking app with services. */
|
|
192
|
+
HIGH = "HIGH"
|
|
193
|
+
}
|
|
194
|
+
/** @enumType */
|
|
195
|
+
type BusinessGoalConfidenceWithLiterals = BusinessGoalConfidence | 'LOW' | 'MEDIUM' | 'HIGH';
|
|
196
|
+
/** Site content of one kind that the generated app can show. */
|
|
197
|
+
interface UsableContent {
|
|
198
|
+
/** Where the content comes from. */
|
|
199
|
+
source?: ContentSourceWithLiterals;
|
|
200
|
+
/**
|
|
201
|
+
* What the content is, for example "12 yoga and pilates classes with prices".
|
|
202
|
+
* @maxLength 500
|
|
203
|
+
*/
|
|
204
|
+
description?: string;
|
|
205
|
+
/** Number of items found, when known. */
|
|
206
|
+
itemCount?: number | null;
|
|
207
|
+
}
|
|
208
|
+
declare enum ContentSource {
|
|
209
|
+
/** Wix Stores products. */
|
|
210
|
+
STORES = "STORES",
|
|
211
|
+
/** Wix Bookings services. */
|
|
212
|
+
BOOKINGS = "BOOKINGS",
|
|
213
|
+
/** Wix Events events. */
|
|
214
|
+
EVENTS = "EVENTS",
|
|
215
|
+
/** Wix Blog posts. */
|
|
216
|
+
BLOG = "BLOG",
|
|
217
|
+
/** Wix Pricing Plans plans. */
|
|
218
|
+
PRICING_PLANS = "PRICING_PLANS",
|
|
219
|
+
/** Wix Restaurants menu items. */
|
|
220
|
+
RESTAURANTS = "RESTAURANTS",
|
|
221
|
+
/** Wix CMS (Wix Data) collections. */
|
|
222
|
+
CMS = "CMS",
|
|
223
|
+
/** Text of the published site's home page. */
|
|
224
|
+
SITE_TEXT = "SITE_TEXT"
|
|
225
|
+
}
|
|
226
|
+
/** @enumType */
|
|
227
|
+
type ContentSourceWithLiterals = ContentSource | 'STORES' | 'BOOKINGS' | 'EVENTS' | 'BLOG' | 'PRICING_PLANS' | 'RESTAURANTS' | 'CMS' | 'SITE_TEXT';
|
|
119
228
|
/**
|
|
120
229
|
* Visual identity extracted from the user's existing website. Serves as an editable
|
|
121
230
|
* starting point for the generated app.
|
|
@@ -194,9 +303,9 @@ interface AppSpec {
|
|
|
194
303
|
*/
|
|
195
304
|
navigation?: string[];
|
|
196
305
|
/**
|
|
197
|
-
* Icon URL for the app to generate.
|
|
198
|
-
*
|
|
199
|
-
*
|
|
306
|
+
* Icon URL for the app to generate. Generated at plan creation from the initial prompt and
|
|
307
|
+
* available business context. The client can replace it with an accepted RegenerateIcon result
|
|
308
|
+
* via UpdatePlan. FinalizePlan retries generation when the icon is missing before starting a build.
|
|
200
309
|
* @format WEB_URL
|
|
201
310
|
* @maxLength 2000
|
|
202
311
|
*/
|
|
@@ -690,4 +799,4 @@ declare function finalizePlan(): __PublicMethodMetaInfo<'POST', {
|
|
|
690
799
|
planId: string;
|
|
691
800
|
}, FinalizePlanRequest$1, FinalizePlanRequest, FinalizePlanResponse$1, FinalizePlanResponse>;
|
|
692
801
|
|
|
693
|
-
export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AnsweredQuestion as AnsweredQuestionOriginal, type AppSpec as AppSpecOriginal, type BrandIdentity as BrandIdentityOriginal, type BusinessContext as BusinessContextOriginal, type CreateAndGeneratePlanRequest as CreateAndGeneratePlanRequestOriginal, type CreateAndGeneratePlanResponse as CreateAndGeneratePlanResponseOriginal, type CreatePlanRequest as CreatePlanRequestOriginal, type CreatePlanResponse as CreatePlanResponseOriginal, type DeletePlanRequest as DeletePlanRequestOriginal, type DeletePlanResponse as DeletePlanResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type Feature as FeatureOriginal, type FinalizePlanRequest as FinalizePlanRequestOriginal, type FinalizePlanResponse as FinalizePlanResponseOriginal, type FollowUpQuestion as FollowUpQuestionOriginal, type GeneratePlanRequest as GeneratePlanRequestOriginal, type GeneratePlanResponse as GeneratePlanResponseOriginal, type GetPlanByProjectIdRequest as GetPlanByProjectIdRequestOriginal, type GetPlanByProjectIdResponse as GetPlanByProjectIdResponseOriginal, type GetPlanRequest as GetPlanRequestOriginal, type GetPlanResponse as GetPlanResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Integration as IntegrationOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type ModifyPlanRequest as ModifyPlanRequestOriginal, type ModifyPlanResponse as ModifyPlanResponseOriginal, type PlanEditContext as PlanEditContextOriginal, type PlanFinalized as PlanFinalizedOriginal, type Plan as PlanOriginal, PlanPartType as PlanPartTypeOriginal, type PlanPartTypeWithLiterals as PlanPartTypeWithLiteralsOriginal, PlanStatus as PlanStatusOriginal, type PlanStatusWithLiterals as PlanStatusWithLiteralsOriginal, Platform as PlatformOriginal, type PlatformWithLiterals as PlatformWithLiteralsOriginal, type RegenerateIconRequest as RegenerateIconRequestOriginal, type RegenerateIconResponse as RegenerateIconResponseOriginal, type RestoreInfo as RestoreInfoOriginal, type UpdatePlanRequest as UpdatePlanRequestOriginal, type UpdatePlanResponse as UpdatePlanResponseOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, createAndGeneratePlan, createPlan, deletePlan, finalizePlan, generatePlan, getPlan, getPlanByProjectId, modifyPlan, regenerateIcon, updatePlan };
|
|
802
|
+
export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type AnsweredQuestion as AnsweredQuestionOriginal, type AppSpec as AppSpecOriginal, type BrandIdentity as BrandIdentityOriginal, type BusinessAnalysis as BusinessAnalysisOriginal, type BusinessContext as BusinessContextOriginal, BusinessGoalConfidence as BusinessGoalConfidenceOriginal, type BusinessGoalConfidenceWithLiterals as BusinessGoalConfidenceWithLiteralsOriginal, ContentSource as ContentSourceOriginal, type ContentSourceWithLiterals as ContentSourceWithLiteralsOriginal, type CreateAndGeneratePlanRequest as CreateAndGeneratePlanRequestOriginal, type CreateAndGeneratePlanResponse as CreateAndGeneratePlanResponseOriginal, type CreatePlanRequest as CreatePlanRequestOriginal, type CreatePlanResponse as CreatePlanResponseOriginal, type DeletePlanRequest as DeletePlanRequestOriginal, type DeletePlanResponse as DeletePlanResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type Feature as FeatureOriginal, type FinalizePlanRequest as FinalizePlanRequestOriginal, type FinalizePlanResponse as FinalizePlanResponseOriginal, type FollowUpQuestion as FollowUpQuestionOriginal, type GeneratePlanRequest as GeneratePlanRequestOriginal, type GeneratePlanResponse as GeneratePlanResponseOriginal, type GetPlanByProjectIdRequest as GetPlanByProjectIdRequestOriginal, type GetPlanByProjectIdResponse as GetPlanByProjectIdResponseOriginal, type GetPlanRequest as GetPlanRequestOriginal, type GetPlanResponse as GetPlanResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type Integration as IntegrationOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type ModifyPlanRequest as ModifyPlanRequestOriginal, type ModifyPlanResponse as ModifyPlanResponseOriginal, type PlanEditContext as PlanEditContextOriginal, type PlanFinalized as PlanFinalizedOriginal, type Plan as PlanOriginal, PlanPartType as PlanPartTypeOriginal, type PlanPartTypeWithLiterals as PlanPartTypeWithLiteralsOriginal, PlanStatus as PlanStatusOriginal, type PlanStatusWithLiterals as PlanStatusWithLiteralsOriginal, Platform as PlatformOriginal, type PlatformWithLiterals as PlatformWithLiteralsOriginal, type RegenerateIconRequest as RegenerateIconRequestOriginal, type RegenerateIconResponse as RegenerateIconResponseOriginal, type RestoreInfo as RestoreInfoOriginal, type UpdatePlanRequest as UpdatePlanRequestOriginal, type UpdatePlanResponse as UpdatePlanResponseOriginal, type UsableContent as UsableContentOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, createAndGeneratePlan, createPlan, deletePlan, finalizePlan, generatePlan, getPlan, getPlanByProjectId, modifyPlan, regenerateIcon, updatePlan };
|
package/build/cjs/meta.js
CHANGED
|
@@ -20,6 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// meta.ts
|
|
21
21
|
var meta_exports = {};
|
|
22
22
|
__export(meta_exports, {
|
|
23
|
+
BusinessGoalConfidenceOriginal: () => BusinessGoalConfidence,
|
|
24
|
+
ContentSourceOriginal: () => ContentSource,
|
|
23
25
|
PlanPartTypeOriginal: () => PlanPartType,
|
|
24
26
|
PlanStatusOriginal: () => PlanStatus,
|
|
25
27
|
PlatformOriginal: () => Platform,
|
|
@@ -352,6 +354,23 @@ var PlanStatus = /* @__PURE__ */ ((PlanStatus2) => {
|
|
|
352
354
|
PlanStatus2["FINALIZED"] = "FINALIZED";
|
|
353
355
|
return PlanStatus2;
|
|
354
356
|
})(PlanStatus || {});
|
|
357
|
+
var BusinessGoalConfidence = /* @__PURE__ */ ((BusinessGoalConfidence2) => {
|
|
358
|
+
BusinessGoalConfidence2["LOW"] = "LOW";
|
|
359
|
+
BusinessGoalConfidence2["MEDIUM"] = "MEDIUM";
|
|
360
|
+
BusinessGoalConfidence2["HIGH"] = "HIGH";
|
|
361
|
+
return BusinessGoalConfidence2;
|
|
362
|
+
})(BusinessGoalConfidence || {});
|
|
363
|
+
var ContentSource = /* @__PURE__ */ ((ContentSource2) => {
|
|
364
|
+
ContentSource2["STORES"] = "STORES";
|
|
365
|
+
ContentSource2["BOOKINGS"] = "BOOKINGS";
|
|
366
|
+
ContentSource2["EVENTS"] = "EVENTS";
|
|
367
|
+
ContentSource2["BLOG"] = "BLOG";
|
|
368
|
+
ContentSource2["PRICING_PLANS"] = "PRICING_PLANS";
|
|
369
|
+
ContentSource2["RESTAURANTS"] = "RESTAURANTS";
|
|
370
|
+
ContentSource2["CMS"] = "CMS";
|
|
371
|
+
ContentSource2["SITE_TEXT"] = "SITE_TEXT";
|
|
372
|
+
return ContentSource2;
|
|
373
|
+
})(ContentSource || {});
|
|
355
374
|
var PlanPartType = /* @__PURE__ */ ((PlanPartType2) => {
|
|
356
375
|
PlanPartType2["APP_NAME"] = "APP_NAME";
|
|
357
376
|
PlanPartType2["APP_DESCRIPTION"] = "APP_DESCRIPTION";
|
|
@@ -558,6 +577,8 @@ function finalizePlan2() {
|
|
|
558
577
|
}
|
|
559
578
|
// Annotate the CommonJS export names for ESM import in node:
|
|
560
579
|
0 && (module.exports = {
|
|
580
|
+
BusinessGoalConfidenceOriginal,
|
|
581
|
+
ContentSourceOriginal,
|
|
561
582
|
PlanPartTypeOriginal,
|
|
562
583
|
PlanStatusOriginal,
|
|
563
584
|
PlatformOriginal,
|