{"version":3,"sources":["../../src/promote-seo-v1-seo-pattern-seo-patterns.universal.ts","../../src/promote-seo-v1-seo-pattern-seo-patterns.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPromoteSeoV1SeoPattern from './promote-seo-v1-seo-pattern-seo-patterns.http.js';\n\n/**\n * An SEO pattern is a template of SEO tags defined for one page type, such as every blog\n * post or every store product. A pattern's tags may contain variables, written as\n * `{{variable}}`, that are filled in with each item's own values when its page renders,\n * so a Wix user sets the tags for a whole page type once instead of item by item.\n *\n * Every page type always has a pattern in effect. When a site has no pattern of its own\n * for a page type, the built-in Wix default applies, and `source` reports which of the\n * two is in effect.\n *\n * A change to a pattern reaches the live site without a site publish, and applies to\n * every page of that type that has no SEO tags set for the item itself.\n */\nexport interface SeoPattern {\n  /**\n   * SEO pattern ID, in the format `{pageType}`.\n   *\n   * For a pattern that applies to a single page built from a Wix Data collection, the\n   * format is `{pageType}:{pageId}`.\n   * @readonly\n   * @maxLength 400\n   */\n  _id?: string | null;\n  /**\n   * Page type the pattern applies to. A known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   * @readonly\n   */\n  pageType?: string;\n  /**\n   * ID of a single page built from a Wix Data collection, when the pattern applies to\n   * that page alone rather than to the whole page type.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n  /**\n   * The site's own pattern for the page type, which takes precedence over the Wix\n   * default.\n   *\n   * Empty when the site has no pattern of its own, in which case `defaultPattern`\n   * applies.\n   */\n  pattern?: SeoPatternBlob;\n  /**\n   * The pattern Wix provides for the page type, which applies whenever the site has no\n   * pattern of its own.\n   *\n   * Always returned, so you can see what a reset would restore.\n   * @readonly\n   */\n  defaultPattern?: SeoPatternBlob;\n  /**\n   * Which pattern is in effect for the page type: the site's own, or the Wix default.\n   * @readonly\n   */\n  source?: PatternSourceWithLiterals;\n  /**\n   * Language the pattern applies to, as an IETF BCP 47 language tag. For example,\n   * `en-US` for U.S. English.\n   *\n   * A page type has a single pattern, so this reports the site's primary language.\n   * @maxLength 100\n   * @readonly\n   */\n  language?: string | null;\n  /**\n   * What made the most recent change to the pattern, for example a Wix user or the site\n   * migration flow. Derived from the caller, not from the request.\n   *\n   * Reported only on the response to a write, and on the event the write emits. It isn't\n   * stored with the pattern, so Get SEO Pattern and List SEO Patterns always report\n   * `ORIGIN_UNSPECIFIED`, as does a write by a caller Wix doesn't identify as a specific\n   * origin.\n   * @readonly\n   */\n  origin?: OriginWithLiterals;\n}\n\n/**\n * A set of SEO tag templates.\n *\n * Each tag has the same structure as a rendered SEO tag, except that its values may\n * contain `{{variable}}` placeholders, which are replaced with an item's own values when\n * its page renders.\n */\nexport interface SeoPatternBlob {\n  /**\n   * The pattern's SEO tag templates.\n   *\n   * A tag may reference only the variables the page type offers. Call [List SEO Pattern\n   * Variables](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/list-seo-pattern-variables)\n   * for the page type to retrieve them.\n   *\n   * A tag whose `disabled` or `custom` value is itself a variable is returned with that\n   * value unset, because those fields are booleans. The behavior still applies when the\n   * page renders.\n   * @maxSize 100\n   */\n  tags?: Tag[];\n}\n\nexport interface Tag {\n  /**\n   * SEO tag type.\n   *\n   *\n   * Supported values: `title`, `meta`, `script`, `link`.\n   *\n   * Which of these an API actually accepts depends on where the tag is being set: this\n   * list is not a blanket guarantee across every API that reuses this message. Site SEO\n   * Tags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n   * `title`/`script`/`link` with a validation error even though they appear here —\n   * check the field description of the specific `tags`-typed field you're writing to\n   * for the types it actually supports and the error it returns.\n   *\n   * Limitation: `title` and `script` (e.g. a `script` tag with `props.type`\n   * `\"application/ld+json\"` carrying structured data) are supported only when\n   * `custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\n   * tag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\n   * write through the site's Advanced/Custom Tags list. To write structured data,\n   * omit `custom` (or set it to `false`).\n   */\n  type?: string;\n  /**\n   * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n   * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n   */\n  props?: Record<string, any> | null;\n  /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n  meta?: Record<string, any> | null;\n  /** SEO tag inner content. For example, `<title> inner content </title>`. */\n  children?: string;\n  /**\n   * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) —\n   * i.e. an entry from the site's Advanced/Custom Tags list.\n   *\n   * Setting this to `true` on a write restricts which `type` values are accepted\n   * — the same restriction the Advanced/Custom Tags UI enforces. `title` and\n   * `script` tags (including JSON-LD structured data) must be sent with `custom`\n   * omitted or `false`; sending them with `custom: true` is rejected with\n   * `TAG_TYPE_NOT_ALLOWED`.\n   *\n   * Note this is a separate restriction from Site SEO Tags' own type restriction on\n   * `SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\n   * for site-wide structured data) unconditionally. There is currently no way to set\n   * site-wide, every-page structured data through any of these APIs — write a per-page\n   * `script` tag through the Item SEO Tags API instead.\n   *\n   * This flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n   * (`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\n   * default/pattern — standard tags always resolve with `custom: false`, even when their content comes\n   * from a page's manually saved SEO title/description override. Don't use this field to verify whether\n   * a live page reflects a manual per-page SEO edit.\n   *\n   * Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\n   * only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\n   * or Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\n   * response entirely — there, `false` means this API could not tell, not that no custom tag exists.\n   * Pass `seoData` explicitly to resolve against a known set of tags.\n   */\n  custom?: boolean;\n  /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n  disabled?: boolean;\n}\n\n/** Which pattern is in effect for a page type. */\nexport enum PatternSource {\n  /** Unknown source. */\n  PATTERN_SOURCE_UNSPECIFIED = 'PATTERN_SOURCE_UNSPECIFIED',\n  /** The site has a pattern of its own for the page type, returned in `pattern`. */\n  PATTERN_SOURCE_USER = 'PATTERN_SOURCE_USER',\n  /**\n   * The site has no pattern of its own for the page type, so the Wix default in\n   * `defaultPattern` applies.\n   */\n  PATTERN_SOURCE_DEFAULT = 'PATTERN_SOURCE_DEFAULT',\n}\n\n/** @enumType */\nexport type PatternSourceWithLiterals =\n  | PatternSource\n  | 'PATTERN_SOURCE_UNSPECIFIED'\n  | 'PATTERN_SOURCE_USER'\n  | 'PATTERN_SOURCE_DEFAULT';\n\n/**\n * What made a change to a site's SEO tags or patterns. Derived from the caller, not from\n * the request.\n */\nexport enum Origin {\n  /**\n   * Unknown origin. Returned by read methods, because origin isn't stored alongside the\n   * data it describes.\n   */\n  ORIGIN_UNSPECIFIED = 'ORIGIN_UNSPECIFIED',\n  /** A user, working in the dashboard or editor, or calling the API on their own behalf. */\n  ORIGIN_USER = 'ORIGIN_USER',\n  /** The flow that imports an existing site into Wix. */\n  ORIGIN_MIGRATION = 'ORIGIN_MIGRATION',\n  /** An AI agent or an automated suggestion flow. */\n  ORIGIN_AI = 'ORIGIN_AI',\n}\n\n/** @enumType */\nexport type OriginWithLiterals =\n  | Origin\n  | 'ORIGIN_UNSPECIFIED'\n  | 'ORIGIN_USER'\n  | 'ORIGIN_MIGRATION'\n  | 'ORIGIN_AI';\n\nexport interface GetSeoPatternRequest {\n  /**\n   * Page type whose pattern to retrieve. Send a known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n   * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   */\n  pageType: string;\n  /**\n   * ID of a single page built from a Wix Data collection, to retrieve the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n  /**\n   * Not supported yet.\n   *\n   * To address a single page built from a Wix Data collection, specify its `pageId`.\n   * @internal\n   * @maxLength 200\n   */\n  collectionName?: string | null;\n}\n\nexport interface GetSeoPatternResponse {\n  /**\n   * The page type's pattern: the site's own pattern, the Wix default, and which of the\n   * two is in effect.\n   */\n  seoPattern?: SeoPattern;\n}\n\nexport interface ListSeoPatternsRequest {}\n\nexport interface ListSeoPatternsResponse {\n  /**\n   * The patterns stored for the site, one per page type.\n   *\n   * A page type that has never had a pattern stored isn't included. A page type that was\n   * reset to its Wix default is included, with an empty `pattern`.\n   * @maxSize 200\n   */\n  seoPatterns?: SeoPattern[];\n}\n\nexport interface ListSeoPatternVariablesRequest {\n  /**\n   * Page type whose variables to retrieve. Send a known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n   * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   */\n  pageType: string;\n}\n\nexport interface ListSeoPatternVariablesResponse {\n  /**\n   * Variables a pattern for this page type may use in its tags. For example,\n   * `{{product.name}}` in a title template.\n   *\n   * A variable can appear more than once, with different `userVisible` values, when both\n   * the site and the page type offer it. Either entry can be used in a pattern.\n   * @maxSize 500\n   */\n  variables?: SeoPatternVariable[];\n  /**\n   * Variables a pattern for this page type may use in its structured data tags.\n   *\n   * A pattern may use these as well as the variables in `variables`.\n   * @maxSize 500\n   */\n  structuredDataVariables?: SeoPatternVariable[];\n}\n\n/**\n * A variable a pattern may reference, which is replaced with an item's own value when its\n * page renders.\n */\nexport interface SeoPatternVariable {\n  /**\n   * Name of the variable, without the surrounding braces. For example, `product.name`,\n   * which a pattern references as `{{product.name}}`.\n   * @maxLength 200\n   */\n  key?: string;\n  /**\n   * Whether the variable appears in the list shown to Wix users editing the pattern in the\n   * dashboard.\n   *\n   * `false` doesn't prevent a pattern from using the variable. It marks a variable that's\n   * kept out of the dashboard's list, typically because it's only meaningful in certain\n   * cases.\n   */\n  userVisible?: boolean;\n}\n\nexport interface CreateSeoPatternRequest {\n  /**\n   * Page type to create a pattern for. Send a known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n   * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   */\n  pageType: string;\n  /**\n   * Pattern to create for the page type.\n   *\n   * `pattern` is the only field to send. The page type comes from the request path, and\n   * every other field is read-only. To create a pattern for a single page built from a\n   * Wix Data collection, set `pageId`.\n   */\n  seoPattern: SeoPattern;\n}\n\nexport interface CreateSeoPatternResponse {\n  /**\n   * The created pattern, with `source` reporting that the site's own pattern is now in\n   * effect.\n   */\n  seoPattern?: SeoPattern;\n}\n\nexport interface SetSeoPatternRequest {\n  /**\n   * Page type whose pattern to change. Send a known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   */\n  pageType: string;\n  /**\n   * Pattern to set for the page type.\n   *\n   * `pattern` is the only writable field, and setting it replaces the page type's tag\n   * templates in full. Sending an empty pattern clears it, which returns the page type to\n   * its Wix default.\n   */\n  seoPattern: SeoPattern;\n  /**\n   * Fields to update.\n   *\n   * Supported properties: `pattern`\n   *\n   * Over REST, send the mask as a comma-separated string, for example\n   * `\"fieldMask\": \"pattern\"`. The JavaScript SDK takes an array of strings\n   * instead, for example `fieldMask: [\"pattern\"]`.\n   */\n  fieldMask: string[];\n  /**\n   * Not supported yet.\n   *\n   * To address a single page built from a Wix Data collection, specify its `pageId`.\n   * @internal\n   * @maxLength 200\n   */\n  collectionName?: string | null;\n  /**\n   * ID of a single page built from a Wix Data collection, to change the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n}\n\nexport interface SetSeoPatternResponse {\n  /** The updated pattern. */\n  seoPattern?: SeoPattern;\n}\n\nexport interface ResetSeoPatternToDefaultRequest {\n  /**\n   * Page type whose pattern to reset. Send a known page type name, such as\n   * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n   *\n   * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`.\n   *\n   * See the list of [common page\n   * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n   * @maxLength 100\n   */\n  pageType: string;\n  /**\n   * Not supported yet.\n   *\n   * To address a single page built from a Wix Data collection, specify its `pageId`.\n   * @internal\n   * @maxLength 200\n   */\n  collectionName?: string | null;\n  /**\n   * ID of a single page built from a Wix Data collection, to reset the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n}\n\nexport interface ResetSeoPatternToDefaultResponse {\n  /**\n   * The page type after the reset: an empty `pattern`, and `source` of\n   * `PATTERN_SOURCE_DEFAULT`.\n   */\n  seoPattern?: SeoPattern;\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/** @docsIgnore */\nexport type GetSeoPatternApplicationErrors =\n  | {\n      code?: 'UNSUPPORTED_PAGE_TYPE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_TYPE_NOT_ON_SITE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_ID_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'COLLECTION_NAME_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type ListSeoPatternVariablesApplicationErrors =\n  | {\n      code?: 'UNSUPPORTED_PAGE_TYPE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_TYPE_NOT_ON_SITE';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type CreateSeoPatternApplicationErrors =\n  | {\n      code?: 'UNSUPPORTED_PAGE_TYPE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'INVALID_PATTERN';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PATTERN_ALREADY_EXISTS';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_TYPE_NOT_ON_SITE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_ID_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type SetSeoPatternApplicationErrors =\n  | {\n      code?: 'UNSUPPORTED_PAGE_TYPE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'INVALID_PATTERN';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'INVALID_FIELD_MASK';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PATTERN_NOT_FOUND';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_ID_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'COLLECTION_NAME_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    };\n/** @docsIgnore */\nexport type ResetSeoPatternToDefaultApplicationErrors =\n  | {\n      code?: 'UNSUPPORTED_PAGE_TYPE';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PATTERN_NOT_FOUND';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'PAGE_ID_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    }\n  | {\n      code?: 'COLLECTION_NAME_NOT_SUPPORTED';\n      description?: string;\n      data?: Record<string, any>;\n    };\n\n/**\n * Retrieves the SEO pattern in effect for a page type.\n *\n * The response contains the site's own pattern in `pattern`, and the pattern Wix\n * provides in `defaultPattern`. `source` reports which of the two is in effect.\n * `pattern` is empty when the site has no pattern of its own.\n * @param pageType - Page type whose pattern to retrieve. Send a known page type name, such as\n * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n *\n * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n *\n * See the list of [common page\n * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n * @public\n * @documentationMaturity preview\n * @requiredField pageType\n * @permissionId promote:seo:v1:seo_pattern:get_seo_pattern\n * @applicableIdentity APP\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.GetSeoPattern\n */\nexport async function getSeoPattern(\n  pageType: string,\n  options?: GetSeoPatternOptions\n): Promise<\n  NonNullablePaths<\n    GetSeoPatternResponse,\n    | `seoPattern.pageType`\n    | `seoPattern.pattern.tags`\n    | `seoPattern.pattern.tags.${number}.type`\n    | `seoPattern.pattern.tags.${number}.children`\n    | `seoPattern.pattern.tags.${number}.custom`\n    | `seoPattern.pattern.tags.${number}.disabled`\n    | `seoPattern.source`\n    | `seoPattern.origin`,\n    4\n  > & {\n    __applicationErrorsType?: GetSeoPatternApplicationErrors;\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    pageType: pageType,\n    pageId: options?.pageId,\n  });\n\n  const reqOpts = ambassadorWixPromoteSeoV1SeoPattern.getSeoPattern(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: { pageType: '$[0]', pageId: '$[1].pageId' },\n        singleArgumentUnchanged: false,\n      },\n      ['pageType', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface GetSeoPatternOptions {\n  /**\n   * ID of a single page built from a Wix Data collection, to retrieve the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n}\n\n/**\n * Retrieves the patterns stored for a site, one per page type.\n *\n * Only returns page types that have had a pattern of the site's own stored, so a page\n * type that has never had one is absent. A page type that was reset to its default remains in the\n * list, with an empty `pattern` and `source` of `PATTERN_SOURCE_DEFAULT`.\n * @public\n * @documentationMaturity preview\n * @permissionId promote:seo:v1:seo_pattern:list_seo_patterns\n * @applicableIdentity APP\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatterns\n */\nexport async function listSeoPatterns(): Promise<\n  NonNullablePaths<\n    ListSeoPatternsResponse,\n    | `seoPatterns`\n    | `seoPatterns.${number}.pageType`\n    | `seoPatterns.${number}.source`\n    | `seoPatterns.${number}.origin`,\n    2\n  >\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n  const reqOpts = ambassadorWixPromoteSeoV1SeoPattern.listSeoPatterns(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        singleArgumentUnchanged: false,\n      },\n      []\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Retrieves the variables a pattern for a page type may reference.\n *\n * Call this method to retrieve the valid variables for a page type before writing a\n * pattern.\n *\n * Variables for the page's own tags and variables for its structured data are returned\n * in separate fields, and a pattern may use either.\n * @param pageType - Page type whose variables to retrieve. Send a known page type name, such as\n * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n *\n * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n *\n * See the list of [common page\n * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n * @public\n * @documentationMaturity preview\n * @requiredField pageType\n * @permissionId promote:seo:v1:seo_pattern:list_seo_pattern_variables\n * @applicableIdentity APP\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatternVariables\n */\nexport async function listSeoPatternVariables(pageType: string): Promise<\n  NonNullablePaths<\n    ListSeoPatternVariablesResponse,\n    | `variables`\n    | `variables.${number}.key`\n    | `variables.${number}.userVisible`\n    | `structuredDataVariables`\n    | `structuredDataVariables.${number}.key`\n    | `structuredDataVariables.${number}.userVisible`,\n    2\n  > & {\n    __applicationErrorsType?: ListSeoPatternVariablesApplicationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[1] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({ pageType: pageType });\n\n  const reqOpts =\n    ambassadorWixPromoteSeoV1SeoPattern.listSeoPatternVariables(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: { pageType: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['pageType']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Creates a pattern for a page type that's still on its Wix default.\n *\n * The pattern must contain at least one tag. To leave a page type on its Wix default,\n * create nothing for it.\n *\n * To change a pattern that already exists, call [Set SEO\n * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/set-seo-pattern).\n * @param pageType - Page type to create a pattern for. Send a known page type name, such as\n * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n *\n * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`. A known page type whose Wix\n * business solution isn't installed on the site fails with `PAGE_TYPE_NOT_ON_SITE`.\n *\n * See the list of [common page\n * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n * @param seoPattern - Pattern to create for the page type.\n *\n * `pattern` is the only field to send. The page type comes from the request path, and\n * every other field is read-only. To create a pattern for a single page built from a\n * Wix Data collection, set `pageId`.\n * @public\n * @documentationMaturity preview\n * @requiredField pageType\n * @requiredField seoPattern\n * @permissionId promote:seo:v1:seo_pattern:create_seo_pattern\n * @applicableIdentity APP\n * @returns The created pattern, with `source` reporting that the site's own pattern is now in\n * effect.\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.CreateSeoPattern\n */\nexport async function createSeoPattern(\n  pageType: string,\n  seoPattern: SeoPattern\n): Promise<\n  NonNullablePaths<\n    SeoPattern,\n    | `pageType`\n    | `pattern.tags`\n    | `pattern.tags.${number}.type`\n    | `pattern.tags.${number}.children`\n    | `pattern.tags.${number}.custom`\n    | `pattern.tags.${number}.disabled`\n    | `source`\n    | `origin`,\n    3\n  > & {\n    __applicationErrorsType?: CreateSeoPatternApplicationErrors;\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    pageType: pageType,\n    seoPattern: seoPattern,\n  });\n\n  const reqOpts = ambassadorWixPromoteSeoV1SeoPattern.createSeoPattern(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.seoPattern!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { pageType: '$[0]', seoPattern: '$[1]' },\n        singleArgumentUnchanged: false,\n      },\n      ['pageType', 'seoPattern']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Changes the pattern a site has for a page type.\n *\n * Setting `pattern` replaces the page type's tag templates in full, so retrieve the\n * pattern first and send back the complete set you want it to have. Sending an empty\n * pattern clears it, which returns the page type to its Wix default.\n *\n * This method changes a pattern that already exists rather than creating one. For a page\n * type still on its Wix default, call [Create SEO\n * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/create-seo-pattern)\n * instead.\n *\n * A pattern has no revision, and the site's SEO settings in the dashboard write to the\n * same pattern. The last write wins, so retrieve the pattern immediately before writing\n * it.\n * @param pageType - Page type whose pattern to change. Send a known page type name, such as\n * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n *\n * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`.\n *\n * See the list of [common page\n * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n * @param seoPattern - Pattern to set for the page type.\n *\n * `pattern` is the only writable field, and setting it replaces the page type's tag\n * templates in full. Sending an empty pattern clears it, which returns the page type to\n * its Wix default.\n * @public\n * @documentationMaturity preview\n * @requiredField options.fieldMask\n * @requiredField pageType\n * @requiredField seoPattern\n * @permissionId promote:seo:v1:seo_pattern:set_seo_pattern\n * @applicableIdentity APP\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.SetSeoPattern\n */\nexport async function setSeoPattern(\n  pageType: string,\n  seoPattern: SeoPattern,\n  options?: NonNullablePaths<SetSeoPatternOptions, `fieldMask`, 0>\n): Promise<\n  NonNullablePaths<\n    SetSeoPatternResponse,\n    | `seoPattern.pageType`\n    | `seoPattern.pattern.tags`\n    | `seoPattern.pattern.tags.${number}.type`\n    | `seoPattern.pattern.tags.${number}.children`\n    | `seoPattern.pattern.tags.${number}.custom`\n    | `seoPattern.pattern.tags.${number}.disabled`\n    | `seoPattern.source`\n    | `seoPattern.origin`,\n    4\n  > & {\n    __applicationErrorsType?: SetSeoPatternApplicationErrors;\n  }\n> {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[3] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  const payload = renameKeysFromSDKRequestToRESTRequest({\n    pageType: pageType,\n    seoPattern: seoPattern,\n    fieldMask: options?.fieldMask,\n    pageId: options?.pageId,\n  });\n\n  const reqOpts = ambassadorWixPromoteSeoV1SeoPattern.setSeoPattern(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          pageType: '$[0]',\n          seoPattern: '$[1]',\n          fieldMask: '$[2].fieldMask',\n          pageId: '$[2].pageId',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['pageType', 'seoPattern', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface SetSeoPatternOptions {\n  /**\n   * Fields to update.\n   *\n   * Supported properties: `pattern`\n   *\n   * Over REST, send the mask as a comma-separated string, for example\n   * `\"fieldMask\": \"pattern\"`. The JavaScript SDK takes an array of strings\n   * instead, for example `fieldMask: [\"pattern\"]`.\n   */\n  fieldMask: string[];\n  /**\n   * ID of a single page built from a Wix Data collection, to change the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n}\n\n/**\n * Removes the pattern a site has for a page type, so the Wix default applies again.\n *\n * The response reports the page type after the reset, with an empty `pattern` and\n * `source` of `PATTERN_SOURCE_DEFAULT`.\n * @param pageType - Page type whose pattern to reset. Send a known page type name, such as\n * `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.\n *\n * An unknown name fails with `UNSUPPORTED_PAGE_TYPE`.\n *\n * See the list of [common page\n * types](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/introduction#page-types).\n * @public\n * @documentationMaturity preview\n * @requiredField pageType\n * @permissionId promote:seo:v1:seo_pattern:reset_seo_pattern_to_default\n * @applicableIdentity APP\n * @fqn wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ResetSeoPatternToDefault\n */\nexport async function resetSeoPatternToDefault(\n  pageType: string,\n  options?: ResetSeoPatternToDefaultOptions\n): Promise<\n  NonNullablePaths<\n    ResetSeoPatternToDefaultResponse,\n    | `seoPattern.pageType`\n    | `seoPattern.pattern.tags`\n    | `seoPattern.pattern.tags.${number}.type`\n    | `seoPattern.pattern.tags.${number}.children`\n    | `seoPattern.pattern.tags.${number}.custom`\n    | `seoPattern.pattern.tags.${number}.disabled`\n    | `seoPattern.source`\n    | `seoPattern.origin`,\n    4\n  > & {\n    __applicationErrorsType?: ResetSeoPatternToDefaultApplicationErrors;\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    pageType: pageType,\n    pageId: options?.pageId,\n  });\n\n  const reqOpts =\n    ambassadorWixPromoteSeoV1SeoPattern.resetSeoPatternToDefault(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: { pageType: '$[0]', pageId: '$[1].pageId' },\n        singleArgumentUnchanged: false,\n      },\n      ['pageType', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ResetSeoPatternToDefaultOptions {\n  /**\n   * ID of a single page built from a Wix Data collection, to reset the pattern of that\n   * page alone.\n   *\n   * Supported only for the `WIX_DATA_PAGE_ITEM` page type.\n   * @maxLength 200\n   */\n  pageId?: string | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\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\nfunction resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/seo-metatags-server',\n        destPath: '',\n      },\n      {\n        srcPath: '/promote/seo/v1/item-seo-tags',\n        destPath: '/v1/item-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/site-seo-tags',\n        destPath: '/v1/site-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/seo-patterns',\n        destPath: '/v1/seo-patterns',\n      },\n      {\n        srcPath: '/promote/seo/v1/bulk/item-seo-tags',\n        destPath: '/v1/bulk/item-seo-tags',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/seo-metatags-server',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/promote/seo/v1/item-seo-tags',\n        destPath: '/v1/item-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/site-seo-tags',\n        destPath: '/v1/site-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/seo-patterns',\n        destPath: '/v1/seo-patterns',\n      },\n      {\n        srcPath: '/promote/seo/v1/bulk/item-seo-tags',\n        destPath: '/v1/bulk/item-seo-tags',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/promote/seo/v1/item-seo-tags',\n        destPath: '/v1/item-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/site-seo-tags',\n        destPath: '/v1/site-seo-tags',\n      },\n      {\n        srcPath: '/promote/seo/v1/seo-patterns',\n        destPath: '/v1/seo-patterns',\n      },\n      {\n        srcPath: '/promote/seo/v1/bulk/item-seo-tags',\n        destPath: '/v1/bulk/item-seo-tags',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_seo_seo-patterns';\n\n/**\n * Retrieves the SEO pattern in effect for a page type.\n *\n * The response contains the site's own pattern in `pattern`, and the pattern Wix\n * provides in `defaultPattern`. `source` reports which of the two is in effect.\n * `pattern` is empty when the site has no pattern of its own.\n */\nexport function getSeoPattern(payload: object): RequestOptionsFactory<any> {\n  function __getSeoPattern({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.GetSeoPattern',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns/{pageType}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __getSeoPattern;\n}\n\n/**\n * Retrieves the patterns stored for a site, one per page type.\n *\n * Only returns page types that have had a pattern of the site's own stored, so a page\n * type that has never had one is absent. A page type that was reset to its default remains in the\n * list, with an empty `pattern` and `source` of `PATTERN_SOURCE_DEFAULT`.\n */\nexport function listSeoPatterns(payload: object): RequestOptionsFactory<any> {\n  function __listSeoPatterns({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatterns',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __listSeoPatterns;\n}\n\n/**\n * Retrieves the variables a pattern for a page type may reference.\n *\n * Call this method to retrieve the valid variables for a page type before writing a\n * pattern.\n *\n * Variables for the page's own tags and variables for its structured data are returned\n * in separate fields, and a pattern may use either.\n */\nexport function listSeoPatternVariables(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __listSeoPatternVariables({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ListSeoPatternVariables',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns/{pageType}/variables',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __listSeoPatternVariables;\n}\n\n/**\n * Creates a pattern for a page type that's still on its Wix default.\n *\n * The pattern must contain at least one tag. To leave a page type on its Wix default,\n * create nothing for it.\n *\n * To change a pattern that already exists, call [Set SEO\n * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/set-seo-pattern).\n */\nexport function createSeoPattern(payload: object): RequestOptionsFactory<any> {\n  function __createSeoPattern({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.CreateSeoPattern',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns/{pageType}',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __createSeoPattern;\n}\n\n/**\n * Changes the pattern a site has for a page type.\n *\n * Setting `pattern` replaces the page type's tag templates in full, so retrieve the\n * pattern first and send back the complete set you want it to have. Sending an empty\n * pattern clears it, which returns the page type to its Wix default.\n *\n * This method changes a pattern that already exists rather than creating one. For a page\n * type still on its Wix default, call [Create SEO\n * Pattern](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/create-seo-pattern)\n * instead.\n *\n * A pattern has no revision, and the site's SEO settings in the dashboard write to the\n * same pattern. The last write wins, so retrieve the pattern immediately before writing\n * it.\n */\nexport function setSeoPattern(payload: object): RequestOptionsFactory<any> {\n  function __setSeoPattern({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'fieldMask' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.SetSeoPattern',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns/{pageType}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n    };\n\n    return metadata;\n  }\n\n  return __setSeoPattern;\n}\n\n/**\n * Removes the pattern a site has for a page type, so the Wix default applies again.\n *\n * The response reports the page type after the reset, with an empty `pattern` and\n * `source` of `PATTERN_SOURCE_DEFAULT`.\n */\nexport function resetSeoPatternToDefault(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __resetSeoPatternToDefault({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.promote.seo.v1.seo_pattern',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.promote.seo.metatags.v1.PageTypeSeoPatternsService.ResetSeoPatternToDefault',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixPromoteSeoMetatagsV1PageTypeSeoPatternsServiceUrl({\n        protoPath: '/v1/seo-patterns/{pageType}/reset-to-default',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __resetSeoPatternToDefault;\n}\n"],"mappings":"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","names":["PatternSource","Origin","WebhookIdentityType","getSeoPattern","listSeoPatterns","listSeoPatternVariables","createSeoPattern","setSeoPattern","resetSeoPatternToDefault"]}