{"version":3,"sources":["../../../src/enterprise-web-five-v1-icon-icons.universal.ts","../../../src/enterprise-web-five-v1-icon-icons.http.ts","../../../src/enterprise-web-five-v1-icon-icons.public.ts","../../../src/enterprise-web-five-v1-icon-icons.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n  renameKeysFromSDKRequestToRESTRequest,\n  renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixEnterpriseWebFiveV1Icon from './enterprise-web-five-v1-icon-icons.http.js';\n\n/**\n * An Icon is a single searchable item in the b2b/web-5 media-manager catalog.\n * Each icon carries metadata (name, keywords, collection, category, type, weight,\n * optional description) and a binary stored in Wix Media. The Wix Media `media_url`\n * is the canonical CDN reference.\n *\n * Icons may be global (no `msid` — visible to all clients) or private to a single\n * metasite (`msid` set — visible only to the owning metasite).\n *\n * Storage: metadata + an auto-computed semantic embedding are kept in Vespa via\n * Vfeeder/Vsearch (schema `web5_icon`). The icon binary is in a single shared icons\n * metasite in Wix Media.\n *\n * Note: the underlying Vespa schema name (`web5_icon`) is independent of the entity\n * fqdn — they're decoupled in this service.\n */\nexport interface Icon {\n  /**\n   * Icon ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the Icon is updated.\n   * To prevent conflicting changes, the current revision must be passed when updating\n   * the Icon.\n   *\n   * Ignored when creating an Icon.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Date and time the Icon was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the Icon was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Human-readable icon name. Searchable (BM25) and contributes to the semantic embedding.\n   * @maxLength 200\n   */\n  name?: string;\n  /**\n   * Free-form search keywords describing the icon. Searchable (BM25) and contributes\n   * to the embedding. Maps to the `tags` field of the underlying Vespa `web5_icon` schema.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  keywords?: string[];\n  /**\n   * Collection the icon belongs to (e.g. \"social\", \"ui\", \"weather\"). Filterable.\n   * @maxLength 100\n   */\n  collection?: string;\n  /**\n   * Sub-grouping within a collection. Filterable.\n   * @maxLength 100\n   */\n  category?: string;\n  /**\n   * Free-form type tag (e.g. \"outline\", \"solid\"). Filterable.\n   * @maxLength 100\n   */\n  type?: string;\n  /**\n   * Optional stylistic weight (e.g. \"thin\", \"light\", \"regular\", \"bold\", \"fill\", \"duotone\").\n   * Validated against a server-side allow-list, normalized to lowercase, then stored. Filterable.\n   * @maxLength 32\n   */\n  weight?: string | null;\n  /**\n   * Optional natural-language description of what the icon depicts.\n   * Contributes to the semantic embedding and is searchable (BM25).\n   * @maxLength 2000\n   */\n  description?: string | null;\n  /**\n   * ID of the metasite that owns this private icon. Empty / unset means the icon is\n   * global (visible to all clients). Always sourced from the caller's signed context\n   * on PUBLIC writes — never honored from the request body.\n   * @format GUID\n   * @readonly\n   */\n  msid?: string | null;\n  /**\n   * ID of the icon binary in Wix Media. Service-assigned during CreateIcon.\n   * @maxLength 200\n   * @readonly\n   */\n  mediaFileId?: string;\n  /**\n   * wixstatic.com CDN URL of the icon binary. Service-assigned during CreateIcon.\n   * @format WEB_URL\n   * @readonly\n   */\n  mediaUrl?: string;\n  /** Data Extensions */\n  extendedFields?: ExtendedFields;\n  /**\n   * Platform Tags (AIP-7025). Distinct from `keywords` above; see entity-level\n   * taggable doc-comment. Managed via the BulkUpdateIconTags / BulkUpdateIconTagsByFilter\n   * RPCs in IconService.\n   */\n  tags?: Tags;\n}\n\nexport interface ExtendedFields {\n  /**\n   * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n   * The value of each key is structured according to the schema defined when the extended fields were configured.\n   *\n   * You can only access fields for which you have the appropriate permissions.\n   *\n   * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n   */\n  namespaces?: Record<string, Record<string, any>>;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.commons.v2.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * public_tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n  /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n  privateTags?: TagList;\n  /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n  publicTags?: TagList;\n}\n\nexport interface TagList {\n  /**\n   * List of tag IDs.\n   * @maxSize 100\n   * @maxLength 5\n   */\n  tagIds?: string[];\n}\n\nexport interface IconTagsModified {\n  /** Updated Icon. */\n  icon?: Icon;\n  /** Tags that were assigned to the Icon. */\n  assignedTags?: Tags;\n  /** Tags that were unassigned from the Icon. */\n  unassignedTags?: Tags;\n}\n\nexport interface CreateIconRequest {\n  /**\n   * Icon metadata to create. Read-only fields on `Icon` (id, revision, created_date,\n   * updated_date, msid, media_file_id, media_url) are ignored.\n   */\n  icon: Icon;\n  /**\n   * MIME type of the binary (e.g. \"image/svg+xml\", \"image/png\").\n   * @maxLength 100\n   */\n  mimeType: string;\n  /**\n   * Display file name shown in Wix Media (extension included).\n   * @maxLength 200\n   */\n  fileName?: string;\n  /** Icon binary. For inline upload via gRPC; capped at 4 MiB (proto default). */\n  content: Uint8Array;\n  /**\n   * INTERNAL ONLY: override the metasite owning this icon. Empty / unset means global.\n   * Ignored on PUBLIC calls (PUBLIC always uses the caller's msid from signed context).\n   * @internal\n   * @format GUID\n   */\n  privateMsid?: string | null;\n}\n\nexport interface CreateIconResponse {\n  /** The created Icon. */\n  icon?: Icon;\n}\n\nexport interface GetIconRequest {\n  /**\n   * ID of the Icon to retrieve.\n   * @format GUID\n   */\n  iconId: string;\n}\n\nexport interface GetIconResponse {\n  /** The requested Icon. */\n  icon?: Icon;\n}\n\nexport interface UpdateIconMetadataRequest {\n  /** Icon with the fields to update. `id` and `revision` are required. */\n  icon: Icon;\n  /**\n   * Set of fields to update. Inferred from JSON body on REST; explicit on gRPC.\n   * @internal\n   */\n  fieldMask?: string[];\n}\n\nexport interface UpdateIconMetadataResponse {\n  /** Updated Icon. */\n  icon?: Icon;\n}\n\nexport interface DeleteIconRequest {\n  /**\n   * ID of the Icon to delete.\n   * @format GUID\n   */\n  iconId: string;\n}\n\nexport interface DeleteIconResponse {}\n\nexport interface SearchIconsRequest {\n  /**\n   * Free-text query. When empty, results are ranked by filter match only (no\n   * BM25 / no vector). When non-empty, ranking uses the hybrid rank profile\n   * (BM25 blended with vector similarity).\n   * @maxLength 1024\n   */\n  query?: string | null;\n  /** Optional filter spec. */\n  filter?: IconFilter;\n  /** Cursor-based paging. */\n  paging?: CursorPaging;\n  /**\n   * Optional per-query overrides for the hybrid rank weights. Recognized keys:\n   * - \"text_match_weight\": BM25 contribution weight (default 1.0)\n   * - \"ann_match_weight\":  vector-similarity contribution weight (default 1.0)\n   */\n  rankOverrides?: Record<string, number>;\n}\n\n/**\n * Filter spec for SearchIcons. All fields are optional; an absent field means\n * \"no constraint on this dimension\".\n */\nexport interface IconFilter {\n  /**\n   * Match any of these collections (OR semantics).\n   * @maxSize 50\n   * @maxLength 100\n   */\n  collections?: string[];\n  /**\n   * Match any of these categories.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  categories?: string[];\n  /**\n   * Match any of these types.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  types?: string[];\n  /**\n   * Match any of these weights (e.g. \"regular\", \"bold\").\n   * @maxSize 10\n   * @maxLength 32\n   */\n  weights?: string[];\n  /**\n   * Match icons whose `keywords` array contains any of these terms.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  keywords?: string[];\n  /**\n   * Match icons whose `name` exactly equals one of these.\n   * @maxSize 50\n   * @maxLength 200\n   */\n  names?: string[];\n  /**\n   * Match icons by Wix Media file ID.\n   * @maxSize 50\n   * @maxLength 200\n   */\n  mediaFileIds?: string[];\n  /**\n   * Substring filter on `description`.\n   * @maxLength 200\n   */\n  descriptionContains?: string | null;\n  /** Which tenancy classes to include. */\n  tenantScope?: TenantScopeWithLiterals;\n  /** Only icons updated on or after this timestamp. */\n  updatedAfter?: Date | null;\n  /** Only icons updated on or before this timestamp. */\n  updatedBefore?: Date | null;\n  /**\n   * Per-request exclusion list — drops these icon IDs from results regardless of\n   * tenancy match. Typical use: hide specific global icons the client doesn't want\n   * to see. Capped at 200 IDs per request.\n   * @maxSize 200\n   * @format GUID\n   */\n  excludeIds?: string[];\n}\n\n/**\n * Scope filter for SearchIcons. Determines whether globals, the caller's privates,\n * or both are returned. Caller-derived msid is always the server-side anchor;\n * this enum only refines which tenancy classes are included.\n */\nexport enum TenantScope {\n  /** Global icons AND the caller's private icons. Default behavior. */\n  GLOBAL_AND_OWN = 'GLOBAL_AND_OWN',\n  /** Global icons only — exclude all private icons. */\n  GLOBAL_ONLY = 'GLOBAL_ONLY',\n  /** Caller's private icons only — exclude globals. */\n  PRIVATE_ONLY = 'PRIVATE_ONLY',\n}\n\n/** @enumType */\nexport type TenantScopeWithLiterals =\n  | TenantScope\n  | 'GLOBAL_AND_OWN'\n  | 'GLOBAL_ONLY'\n  | 'PRIVATE_ONLY';\n\nexport interface CursorPaging {\n  /**\n   * Maximum number of items to return in the results.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   * @maxLength 16000\n   */\n  cursor?: string | null;\n}\n\nexport interface SearchIconsResponse {\n  /** Matched icons, ordered by descending rank score. */\n  icons?: SearchedIcon[];\n  /** Paging metadata. */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface SearchedIcon {\n  /** The icon document. */\n  icon?: Icon;\n  /** Hybrid rank score the document received under the active rank profile. */\n  relevance?: number;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in current page. */\n  count?: number | null;\n  /** Cursor strings that point to the next page, previous page, or both. */\n  cursors?: Cursors;\n  /**\n   * Whether there are more pages to retrieve following the current page.\n   *\n   * + `true`: Another page of results can be retrieved.\n   * + `false`: This is the last page.\n   */\n  hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n  /**\n   * Cursor string pointing to the next page in the list of results.\n   * @maxLength 16000\n   */\n  next?: string | null;\n  /**\n   * Cursor pointing to the previous page in the list of results.\n   * @maxLength 16000\n   */\n  prev?: string | null;\n}\n\nexport interface BulkUpdateIconTagsRequest {\n  /**\n   * Icons to update.\n   * @minSize 1\n   * @maxSize 100\n   * @format GUID\n   */\n  iconIds: string[];\n  /** Tags to assign. */\n  assignTags?: Tags;\n  /** Tags to unassign. */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdateIconTagsResponse {\n  /**\n   * Per-icon result.\n   * @minSize 1\n   * @maxSize 100\n   */\n  results?: BulkUpdateIconTagsResult[];\n  /** Bulk-operation metadata. */\n  bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n  /**\n   * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n   * @format GUID\n   */\n  _id?: string | null;\n  /** Index of the item within the request array. Allows for correlation between request and response items. */\n  originalIndex?: number;\n  /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n  success?: boolean;\n  /** Details about the error in case of failure. */\n  error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n  /** Error code. */\n  code?: string;\n  /** Description of the error. */\n  description?: string;\n  /** Data related to the error. */\n  data?: Record<string, any> | null;\n}\n\nexport interface BulkUpdateIconTagsResult {\n  /** Metadata for the single-icon update. */\n  itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkActionMetadata {\n  /** Number of items that were successfully processed. */\n  totalSuccesses?: number;\n  /** Number of items that couldn't be processed. */\n  totalFailures?: number;\n  /** Number of failures without details because detailed failure threshold was exceeded. */\n  undetailedFailures?: number;\n}\n\nexport interface BulkUpdateIconTagsByFilterRequest {\n  /** Filter selecting which icons to retag. Empty = all icons. */\n  filter: Record<string, any> | null;\n  /** Tags to assign. */\n  assignTags?: Tags;\n  /** Tags to unassign. */\n  unassignTags?: Tags;\n}\n\nexport interface BulkUpdateIconTagsByFilterResponse {\n  /**\n   * Async job id.\n   * @format GUID\n   */\n  jobId?: string;\n}\n\nexport interface BulkSeedIconsRequest {\n  /**\n   * Items to seed. Each item must carry either inline content or a source URL.\n   * @minSize 1\n   * @maxSize 100\n   */\n  items: SeedItem[];\n}\n\nexport interface SeedItem extends SeedItemSourceOneOf {\n  /** Inline bytes. */\n  content?: Uint8Array;\n  /**\n   * Externally-hosted URL; service uses Wix Media's files/import.\n   * @format WEB_URL\n   */\n  sourceUrl?: string;\n  /**\n   * Icon name.\n   * @maxLength 200\n   */\n  name?: string;\n  /**\n   * Search keywords.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  keywords?: string[];\n  /**\n   * Collection.\n   * @maxLength 100\n   */\n  collection?: string;\n  /**\n   * Category.\n   * @maxLength 100\n   */\n  category?: string;\n  /**\n   * Free-form type.\n   * @maxLength 100\n   */\n  type?: string;\n  /**\n   * Stylistic weight, optional.\n   * @maxLength 32\n   */\n  weight?: string | null;\n  /**\n   * Natural-language description, optional.\n   * @maxLength 2000\n   */\n  description?: string | null;\n  /**\n   * MIME type of the binary.\n   * @maxLength 100\n   */\n  mimeType?: string;\n  /**\n   * Display file name in Wix Media.\n   * @maxLength 200\n   */\n  fileName?: string;\n  /**\n   * Optional metasite owner. Empty / unset = global.\n   * @format GUID\n   */\n  privateMsid?: string | null;\n}\n\n/** @oneof */\nexport interface SeedItemSourceOneOf {\n  /** Inline bytes. */\n  content?: Uint8Array;\n  /**\n   * Externally-hosted URL; service uses Wix Media's files/import.\n   * @format WEB_URL\n   */\n  sourceUrl?: string;\n}\n\nexport interface BulkSeedIconsResponse {\n  /** Per-item result. Aligned by index with the request's `items`. */\n  results?: SeedResult[];\n}\n\nexport interface SeedResult {\n  /** Created icon, or unset if creation failed. */\n  icon?: Icon;\n  /**\n   * If creation failed, the error message; empty on success.\n   * @maxLength 1024\n   */\n  error?: string;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n  /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n  _id?: string;\n  /**\n   * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n   * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n   */\n  entityFqdn?: string;\n  /**\n   * Event action name, placed at the top level to make it easier for users to dispatch messages.\n   * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n   */\n  slug?: string;\n  /** ID of the entity associated with the event. */\n  entityId?: string;\n  /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n  eventTime?: Date | null;\n  /**\n   * Whether the event was triggered as a result of a privacy regulation application\n   * (for example, GDPR).\n   */\n  triggeredByAnonymizeRequest?: boolean | null;\n  /** If present, indicates the action that triggered the event. */\n  originatedFrom?: string | null;\n  /**\n   * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n   * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n   */\n  entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n  createdEvent?: EntityCreatedEvent;\n  updatedEvent?: EntityUpdatedEvent;\n  deletedEvent?: EntityDeletedEvent;\n  actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n  entity?: string;\n}\n\nexport interface RestoreInfo {\n  deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n  /**\n   * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n   * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n   * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n   */\n  currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n  /** Entity that was deleted. */\n  deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n  body?: string;\n}\n\nexport interface MessageEnvelope {\n  /**\n   * App instance ID.\n   * @format GUID\n   */\n  instanceId?: string | null;\n  /**\n   * Event type.\n   * @maxLength 150\n   */\n  eventType?: string;\n  /** The identification type and identity data. */\n  identity?: IdentificationData;\n  /** Stringify payload. */\n  data?: string;\n  /** Details related to the account */\n  accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n  /** @readonly */\n  identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n  /**\n   * ID of a site visitor that has not logged in to the site.\n   * @format GUID\n   */\n  anonymousVisitorId?: string;\n  /**\n   * ID of a site visitor that has logged in to the site.\n   * @format GUID\n   */\n  memberId?: string;\n  /**\n   * ID of a Wix user (site owner, contributor, etc.).\n   * @format GUID\n   */\n  wixUserId?: string;\n  /**\n   * ID of an app.\n   * @format GUID\n   */\n  appId?: string;\n}\n\nexport enum WebhookIdentityType {\n  UNKNOWN = 'UNKNOWN',\n  ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n  MEMBER = 'MEMBER',\n  WIX_USER = 'WIX_USER',\n  APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n  | WebhookIdentityType\n  | 'UNKNOWN'\n  | 'ANONYMOUS_VISITOR'\n  | 'MEMBER'\n  | 'WIX_USER'\n  | 'APP';\n\nexport interface AccountInfo {\n  /**\n   * ID of the Wix account associated with the event.\n   * @format GUID\n   */\n  accountId?: string | null;\n  /**\n   * ID of the parent Wix account. Only included when accountId belongs to a child account.\n   * @format GUID\n   */\n  parentAccountId?: string | null;\n  /**\n   * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n   * @format GUID\n   */\n  siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type BulkUpdateIconTagsApplicationErrors = {\n  code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n  description?: string;\n  data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateIconTagsByFilterApplicationErrors = {\n  code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n  description?: string;\n  data?: Record<string, any>;\n};\n\n/**\n * Creates an Icon. On PUBLIC calls the icon's `msid` is set from the caller's\n * signed context; the request body's msid (if any) is ignored. On INTERNAL calls\n * the request may pass `private_msid` to scope the icon to a metasite, otherwise\n * the icon is created as global.\n * @param icon - Icon metadata to create. Read-only fields on `Icon` (id, revision, created_date,\n * updated_date, msid, media_file_id, media_url) are ignored.\n * @internal\n * @documentationMaturity preview\n * @requiredField icon\n * @requiredField options.content\n * @requiredField options.mimeType\n * @permissionId enterprise:web_five:v1:icon:create_icon\n * @returns The created Icon.\n * @fqn wix.enterprise.web_five.v1.IconService.CreateIcon\n */\nexport async function createIcon(\n  icon: Icon,\n  options?: NonNullablePaths<CreateIconOptions, `content` | `mimeType`, 2>\n): Promise<\n  NonNullablePaths<\n    Icon,\n    | `name`\n    | `keywords`\n    | `collection`\n    | `category`\n    | `type`\n    | `mediaFileId`\n    | `mediaUrl`\n    | `tags.privateTags.tagIds`,\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    icon: icon,\n    mimeType: options?.mimeType,\n    fileName: options?.fileName,\n    content: options?.content,\n  });\n\n  const reqOpts = ambassadorWixEnterpriseWebFiveV1Icon.createIcon(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.icon!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: {\n          icon: '$[0]',\n          mimeType: '$[1].mimeType',\n          fileName: '$[1].fileName',\n          content: '$[1].content',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['icon', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface CreateIconOptions {\n  /**\n   * MIME type of the binary (e.g. \"image/svg+xml\", \"image/png\").\n   * @maxLength 100\n   */\n  mimeType: string;\n  /**\n   * Display file name shown in Wix Media (extension included).\n   * @maxLength 200\n   */\n  fileName?: string;\n  /** Icon binary. For inline upload via gRPC; capped at 4 MiB (proto default). */\n  content: Uint8Array;\n}\n\n/**\n * Retrieves an Icon by ID. Enforces tenancy: returns the icon only if it is\n * global or owned by the caller's metasite. Returns NOT_FOUND otherwise.\n * @param iconId - ID of the Icon to retrieve.\n * @internal\n * @documentationMaturity preview\n * @requiredField iconId\n * @permissionId enterprise:web_five:v1:icon:get_icon\n * @returns The requested Icon.\n * @fqn wix.enterprise.web_five.v1.IconService.GetIcon\n */\nexport async function getIcon(\n  iconId: string\n): Promise<\n  NonNullablePaths<\n    Icon,\n    | `name`\n    | `keywords`\n    | `collection`\n    | `category`\n    | `type`\n    | `mediaFileId`\n    | `mediaUrl`\n    | `tags.privateTags.tagIds`,\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({ iconId: iconId });\n\n  const reqOpts = ambassadorWixEnterpriseWebFiveV1Icon.getIcon(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.icon!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { iconId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['iconId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Updates metadata fields of an Icon (name, keywords, collection, category, type,\n * weight, description). The binary is immutable post-create; to replace bytes,\n * delete + create. Enforces tenancy on writes (PUBLIC: only on caller-owned\n * private icons; INTERNAL: any).\n * @param _id - Icon ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField icon\n * @requiredField icon.revision\n * @permissionId enterprise:web_five:v1:icon:update_icon_metadata\n * @returns Updated Icon.\n * @fqn wix.enterprise.web_five.v1.IconService.UpdateIconMetadata\n */\nexport async function updateIconMetadata(\n  _id: string,\n  icon: NonNullablePaths<UpdateIconMetadataIcon, `revision`, 2>\n): Promise<\n  NonNullablePaths<\n    Icon,\n    | `name`\n    | `keywords`\n    | `collection`\n    | `category`\n    | `type`\n    | `mediaFileId`\n    | `mediaUrl`\n    | `tags.privateTags.tagIds`,\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    icon: { ...icon, id: _id },\n  });\n\n  const reqOpts =\n    ambassadorWixEnterpriseWebFiveV1Icon.updateIconMetadata(payload);\n\n  sideEffects?.onSiteCall?.();\n  try {\n    const result = await httpClient.request(reqOpts);\n    sideEffects?.onSuccess?.(result);\n\n    return renameKeysFromRESTResponseToSDKResponse(result.data)?.icon!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { icon: '$[1]' },\n        explicitPathsToArguments: { 'icon.id': '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'icon']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateIconMetadataIcon {\n  /**\n   * Icon ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Revision number, which increments by 1 each time the Icon is updated.\n   * To prevent conflicting changes, the current revision must be passed when updating\n   * the Icon.\n   *\n   * Ignored when creating an Icon.\n   * @readonly\n   */\n  revision?: string | null;\n  /**\n   * Date and time the Icon was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * Date and time the Icon was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Human-readable icon name. Searchable (BM25) and contributes to the semantic embedding.\n   * @maxLength 200\n   */\n  name?: string;\n  /**\n   * Free-form search keywords describing the icon. Searchable (BM25) and contributes\n   * to the embedding. Maps to the `tags` field of the underlying Vespa `web5_icon` schema.\n   * @maxSize 50\n   * @maxLength 100\n   */\n  keywords?: string[];\n  /**\n   * Collection the icon belongs to (e.g. \"social\", \"ui\", \"weather\"). Filterable.\n   * @maxLength 100\n   */\n  collection?: string;\n  /**\n   * Sub-grouping within a collection. Filterable.\n   * @maxLength 100\n   */\n  category?: string;\n  /**\n   * Free-form type tag (e.g. \"outline\", \"solid\"). Filterable.\n   * @maxLength 100\n   */\n  type?: string;\n  /**\n   * Optional stylistic weight (e.g. \"thin\", \"light\", \"regular\", \"bold\", \"fill\", \"duotone\").\n   * Validated against a server-side allow-list, normalized to lowercase, then stored. Filterable.\n   * @maxLength 32\n   */\n  weight?: string | null;\n  /**\n   * Optional natural-language description of what the icon depicts.\n   * Contributes to the semantic embedding and is searchable (BM25).\n   * @maxLength 2000\n   */\n  description?: string | null;\n  /**\n   * ID of the metasite that owns this private icon. Empty / unset means the icon is\n   * global (visible to all clients). Always sourced from the caller's signed context\n   * on PUBLIC writes — never honored from the request body.\n   * @format GUID\n   * @readonly\n   */\n  msid?: string | null;\n  /**\n   * ID of the icon binary in Wix Media. Service-assigned during CreateIcon.\n   * @maxLength 200\n   * @readonly\n   */\n  mediaFileId?: string;\n  /**\n   * wixstatic.com CDN URL of the icon binary. Service-assigned during CreateIcon.\n   * @format WEB_URL\n   * @readonly\n   */\n  mediaUrl?: string;\n  /** Data Extensions */\n  extendedFields?: ExtendedFields;\n  /**\n   * Platform Tags (AIP-7025). Distinct from `keywords` above; see entity-level\n   * taggable doc-comment. Managed via the BulkUpdateIconTags / BulkUpdateIconTagsByFilter\n   * RPCs in IconService.\n   */\n  tags?: Tags;\n}\n\n/**\n * Deletes an Icon by ID. Removes the Vespa document immediately; the Wix Media\n * binary is left in place and cleaned up by a periodic orphan-collector job.\n * Tenancy enforced (PUBLIC cannot delete globals or other clients' private icons).\n * @param iconId - ID of the Icon to delete.\n * @internal\n * @documentationMaturity preview\n * @requiredField iconId\n * @permissionId enterprise:web_five:v1:icon:delete_icon\n * @fqn wix.enterprise.web_five.v1.IconService.DeleteIcon\n */\nexport async function deleteIcon(iconId: 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({ iconId: iconId });\n\n  const reqOpts = ambassadorWixEnterpriseWebFiveV1Icon.deleteIcon(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: { iconId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['iconId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Hybrid (BM25 + vector) search over icons. Always applies a tenancy filter:\n * returns global icons and the caller's own private icons by default, narrowable\n * via `filter.tenant_scope`. `filter.exclude_ids` drops specific icons from\n * results (useful for clients who don't want certain global icons to appear).\n * @internal\n * @documentationMaturity preview\n * @permissionId enterprise:web_five:v1:icon:search_icons\n * @fqn wix.enterprise.web_five.v1.IconService.SearchIcons\n */\nexport async function searchIcons(\n  options?: SearchIconsOptions\n): Promise<\n  NonNullablePaths<\n    SearchIconsResponse,\n    | `icons`\n    | `icons.${number}.icon.name`\n    | `icons.${number}.icon.collection`\n    | `icons.${number}.icon.category`\n    | `icons.${number}.icon.type`\n    | `icons.${number}.icon.mediaFileId`\n    | `icons.${number}.icon.mediaUrl`\n    | `icons.${number}.relevance`,\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    query: options?.query,\n    filter: options?.filter,\n    paging: options?.paging,\n    rankOverrides: options?.rankOverrides,\n  });\n\n  const reqOpts = ambassadorWixEnterpriseWebFiveV1Icon.searchIcons(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          query: '$[0].query',\n          filter: '$[0].filter',\n          paging: '$[0].paging',\n          rankOverrides: '$[0].rankOverrides',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface SearchIconsOptions {\n  /**\n   * Free-text query. When empty, results are ranked by filter match only (no\n   * BM25 / no vector). When non-empty, ranking uses the hybrid rank profile\n   * (BM25 blended with vector similarity).\n   * @maxLength 1024\n   */\n  query?: string | null;\n  /** Optional filter spec. */\n  filter?: IconFilter;\n  /** Cursor-based paging. */\n  paging?: CursorPaging;\n  /**\n   * Optional per-query overrides for the hybrid rank weights. Recognized keys:\n   * - \"text_match_weight\": BM25 contribution weight (default 1.0)\n   * - \"ann_match_weight\":  vector-similarity contribution weight (default 1.0)\n   */\n  rankOverrides?: Record<string, number>;\n}\n\n/**\n * Bulk-assign / unassign platform Tags on a list of icons (AIP-7025).\n * A tag that appears in both `assign_tags` and `unassign_tags` is assigned.\n * @param iconIds - Icons to update.\n * @internal\n * @documentationMaturity preview\n * @requiredField iconIds\n * @permissionId enterprise:web_five:v1:icon:bulk_update_icon_tags\n * @fqn wix.enterprise.web_five.v1.IconService.BulkUpdateIconTags\n */\nexport async function bulkUpdateIconTags(\n  iconIds: string[],\n  options?: BulkUpdateIconTagsOptions\n): Promise<\n  NonNullablePaths<\n    BulkUpdateIconTagsResponse,\n    | `results`\n    | `results.${number}.itemMetadata.originalIndex`\n    | `results.${number}.itemMetadata.success`\n    | `results.${number}.itemMetadata.error.code`\n    | `results.${number}.itemMetadata.error.description`\n    | `bulkActionMetadata.totalSuccesses`\n    | `bulkActionMetadata.totalFailures`\n    | `bulkActionMetadata.undetailedFailures`,\n    6\n  > & {\n    __applicationErrorsType?: BulkUpdateIconTagsApplicationErrors;\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    iconIds: iconIds,\n    assignTags: options?.assignTags,\n    unassignTags: options?.unassignTags,\n  });\n\n  const reqOpts =\n    ambassadorWixEnterpriseWebFiveV1Icon.bulkUpdateIconTags(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          iconIds: '$[0]',\n          assignTags: '$[1].assignTags',\n          unassignTags: '$[1].unassignTags',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['iconIds', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateIconTagsOptions {\n  /** Tags to assign. */\n  assignTags?: Tags;\n  /** Tags to unassign. */\n  unassignTags?: Tags;\n}\n\n/**\n * Bulk-assign / unassign platform Tags on icons matching a filter. Async — returns\n * a job id. An empty filter targets all icons.\n * @param filter - Filter selecting which icons to retag. Empty = all icons.\n * @internal\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId enterprise:web_five:v1:icon:bulk_update_icon_tags_by_filter\n * @fqn wix.enterprise.web_five.v1.IconService.BulkUpdateIconTagsByFilter\n */\nexport async function bulkUpdateIconTagsByFilter(\n  filter: Record<string, any>,\n  options?: BulkUpdateIconTagsByFilterOptions\n): Promise<\n  NonNullablePaths<BulkUpdateIconTagsByFilterResponse, `jobId`, 2> & {\n    __applicationErrorsType?: BulkUpdateIconTagsByFilterApplicationErrors;\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    filter: filter,\n    assignTags: options?.assignTags,\n    unassignTags: options?.unassignTags,\n  });\n\n  const reqOpts =\n    ambassadorWixEnterpriseWebFiveV1Icon.bulkUpdateIconTagsByFilter(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          filter: '$[0]',\n          assignTags: '$[1].assignTags',\n          unassignTags: '$[1].unassignTags',\n        },\n        singleArgumentUnchanged: false,\n      },\n      ['filter', 'options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface BulkUpdateIconTagsByFilterOptions {\n  /** Tags to assign. */\n  assignTags?: Tags;\n  /** Tags to unassign. */\n  unassignTags?: Tags;\n}\n\n/**\n * INTERNAL one-off bulk seed for the initial 10k global catalog. Each item carries\n * either inline bytes or an external URL (which the service imports via Wix Media's\n * files/import). Capped at 100 items per request to stay under proto size limits;\n * callers paginate.\n * @param items - Items to seed. Each item must carry either inline content or a source URL.\n * @internal\n * @documentationMaturity preview\n * @requiredField items\n * @permissionId enterprise:web_five:v1:icon:bulk_seed_icons\n * @fqn wix.enterprise.web_five.v1.IconService.BulkSeedIcons\n */\nexport async function bulkSeedIcons(\n  items: SeedItem[]\n): Promise<\n  NonNullablePaths<\n    BulkSeedIconsResponse,\n    | `results`\n    | `results.${number}.icon.name`\n    | `results.${number}.icon.collection`\n    | `results.${number}.icon.category`\n    | `results.${number}.icon.type`\n    | `results.${number}.icon.mediaFileId`\n    | `results.${number}.icon.mediaUrl`\n    | `results.${number}.error`,\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({ items: items });\n\n  const reqOpts = ambassadorWixEnterpriseWebFiveV1Icon.bulkSeedIcons(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: { items: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['items']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKBytesToRESTBytes } from '@wix/sdk-runtime/transformations/bytes';\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\nfunction resolveWixEnterpriseWebFiveV1IconServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'api._api_base_domain_': [\n      {\n        srcPath: '/media-manager',\n        destPath: '',\n      },\n    ],\n    'www.wixapis.com': [\n      {\n        srcPath: '/_api/web5-media-manager',\n        destPath: '',\n      },\n    ],\n    'bo._base_domain_': [\n      {\n        srcPath: '/_api/media-manager',\n        destPath: '',\n      },\n    ],\n    'wixbo.ai': [\n      {\n        srcPath: '/_api/media-manager',\n        destPath: '',\n      },\n    ],\n    'wix-bo.com': [\n      {\n        srcPath: '/_api/media-manager',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_media-manager_icons';\n\n/**\n * Creates an Icon. On PUBLIC calls the icon's `msid` is set from the caller's\n * signed context; the request body's msid (if any) is ignored. On INTERNAL calls\n * the request may pass `private_msid` to scope the icon to a metasite, otherwise\n * the icon is created as global.\n */\nexport function createIcon(payload: object): RequestOptionsFactory<any> {\n  function __createIcon({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKBytesToRESTBytes,\n        paths: [{ path: 'content' }],\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [{ path: 'icon.createdDate' }, { path: 'icon.updatedDate' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'POST' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.CreateIcon',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/icons',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'icon.createdDate' }, { path: 'icon.updatedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __createIcon;\n}\n\n/**\n * Retrieves an Icon by ID. Enforces tenancy: returns the icon only if it is\n * global or owned by the caller's metasite. Returns NOT_FOUND otherwise.\n */\nexport function getIcon(payload: object): RequestOptionsFactory<any> {\n  function __getIcon({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'GET' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.GetIcon',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/icons/{iconId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'icon.createdDate' }, { path: 'icon.updatedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getIcon;\n}\n\n/**\n * Updates metadata fields of an Icon (name, keywords, collection, category, type,\n * weight, description). The binary is immutable post-create; to replace bytes,\n * delete + create. Enforces tenancy on writes (PUBLIC: only on caller-owned\n * private icons; INTERNAL: any).\n */\nexport function updateIconMetadata(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __updateIconMetadata({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'fieldMask' }],\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [{ path: 'icon.createdDate' }, { path: 'icon.updatedDate' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'PATCH' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.UpdateIconMetadata',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/icons/{icon.id}',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [{ path: 'icon.createdDate' }, { path: 'icon.updatedDate' }],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updateIconMetadata;\n}\n\n/**\n * Deletes an Icon by ID. Removes the Vespa document immediately; the Wix Media\n * binary is left in place and cleaned up by a periodic orphan-collector job.\n * Tenancy enforced (PUBLIC cannot delete globals or other clients' private icons).\n */\nexport function deleteIcon(payload: object): RequestOptionsFactory<any> {\n  function __deleteIcon({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'DELETE' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.DeleteIcon',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/icons/{iconId}',\n        data: payload,\n        host,\n      }),\n      params: toURLSearchParams(payload),\n    };\n\n    return metadata;\n  }\n\n  return __deleteIcon;\n}\n\n/**\n * Hybrid (BM25 + vector) search over icons. Always applies a tenancy filter:\n * returns global icons and the caller's own private icons by default, narrowable\n * via `filter.tenant_scope`. `filter.exclude_ids` drops specific icons from\n * results (useful for clients who don't want certain global icons to appear).\n */\nexport function searchIcons(payload: object): RequestOptionsFactory<any> {\n  function __searchIcons({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'filter.updatedAfter' },\n          { path: 'filter.updatedBefore' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'POST' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.SearchIcons',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/icons/search',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [{ path: 'icons.relevance' }],\n          },\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'icons.icon.createdDate' },\n              { path: 'icons.icon.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __searchIcons;\n}\n\n/**\n * Bulk-assign / unassign platform Tags on a list of icons (AIP-7025).\n * A tag that appears in both `assign_tags` and `unassign_tags` is assigned.\n */\nexport function bulkUpdateIconTags(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateIconTags({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'POST' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.BulkUpdateIconTags',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/bulk/icons/update-tags',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateIconTags;\n}\n\n/**\n * Bulk-assign / unassign platform Tags on icons matching a filter. Async — returns\n * a job id. An empty filter targets all icons.\n */\nexport function bulkUpdateIconTagsByFilter(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __bulkUpdateIconTagsByFilter({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.enterprise.web_five.v1.IconService.BulkUpdateIconTagsByFilter',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/bulk/icons/update-tags-by-filter',\n        data: payload,\n        host,\n      }),\n      data: payload,\n    };\n\n    return metadata;\n  }\n\n  return __bulkUpdateIconTagsByFilter;\n}\n\n/**\n * INTERNAL one-off bulk seed for the initial 10k global catalog. Each item carries\n * either inline bytes or an external URL (which the service imports via Wix Media's\n * files/import). Capped at 100 items per request to stay under proto size limits;\n * callers paginate.\n */\nexport function bulkSeedIcons(payload: object): RequestOptionsFactory<any> {\n  function __bulkSeedIcons({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKBytesToRESTBytes,\n        paths: [{ path: 'items.content' }],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.enterprise.web_five.v1.icon',\n      method: 'POST' as any,\n      methodFqn: 'wix.enterprise.web_five.v1.IconService.BulkSeedIcons',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixEnterpriseWebFiveV1IconServiceUrl({\n        protoPath: '/v1/internal/icons/bulk-seed',\n        data: serializedData,\n        host,\n      }),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'results.icon.createdDate' },\n              { path: 'results.icon.updatedDate' },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __bulkSeedIcons;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n  BulkSeedIconsResponse,\n  BulkUpdateIconTagsApplicationErrors,\n  BulkUpdateIconTagsByFilterApplicationErrors,\n  BulkUpdateIconTagsByFilterOptions,\n  BulkUpdateIconTagsByFilterResponse,\n  BulkUpdateIconTagsOptions,\n  BulkUpdateIconTagsResponse,\n  CreateIconOptions,\n  Icon,\n  SearchIconsOptions,\n  SearchIconsResponse,\n  SeedItem,\n  UpdateIconMetadataIcon,\n  bulkSeedIcons as universalBulkSeedIcons,\n  bulkUpdateIconTags as universalBulkUpdateIconTags,\n  bulkUpdateIconTagsByFilter as universalBulkUpdateIconTagsByFilter,\n  createIcon as universalCreateIcon,\n  deleteIcon as universalDeleteIcon,\n  getIcon as universalGetIcon,\n  searchIcons as universalSearchIcons,\n  updateIconMetadata as universalUpdateIconMetadata,\n} from './enterprise-web-five-v1-icon-icons.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/media-manager' };\n\n/** @internal */\nexport function createIcon(httpClient: HttpClient): CreateIconSignature {\n  return (\n    icon: Icon,\n    options?: NonNullablePaths<CreateIconOptions, `content` | `mimeType`, 2>\n  ) =>\n    universalCreateIcon(\n      icon,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface CreateIconSignature {\n  /**\n   * Creates an Icon. On PUBLIC calls the icon's `msid` is set from the caller's\n   * signed context; the request body's msid (if any) is ignored. On INTERNAL calls\n   * the request may pass `private_msid` to scope the icon to a metasite, otherwise\n   * the icon is created as global.\n   * @param - Icon metadata to create. Read-only fields on `Icon` (id, revision, created_date,\n   * updated_date, msid, media_file_id, media_url) are ignored.\n   * @returns The created Icon.\n   */\n  (\n    icon: Icon,\n    options?: NonNullablePaths<CreateIconOptions, `content` | `mimeType`, 2>\n  ): Promise<\n    NonNullablePaths<\n      Icon,\n      | `name`\n      | `keywords`\n      | `collection`\n      | `category`\n      | `type`\n      | `mediaFileId`\n      | `mediaUrl`\n      | `tags.privateTags.tagIds`,\n      4\n    >\n  >;\n}\n\n/** @internal */\nexport function getIcon(httpClient: HttpClient): GetIconSignature {\n  return (iconId: string) =>\n    universalGetIcon(\n      iconId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetIconSignature {\n  /**\n   * Retrieves an Icon by ID. Enforces tenancy: returns the icon only if it is\n   * global or owned by the caller's metasite. Returns NOT_FOUND otherwise.\n   * @param - ID of the Icon to retrieve.\n   * @returns The requested Icon.\n   */\n  (iconId: string): Promise<\n    NonNullablePaths<\n      Icon,\n      | `name`\n      | `keywords`\n      | `collection`\n      | `category`\n      | `type`\n      | `mediaFileId`\n      | `mediaUrl`\n      | `tags.privateTags.tagIds`,\n      4\n    >\n  >;\n}\n\n/** @internal */\nexport function updateIconMetadata(\n  httpClient: HttpClient\n): UpdateIconMetadataSignature {\n  return (\n    _id: string,\n    icon: NonNullablePaths<UpdateIconMetadataIcon, `revision`, 2>\n  ) =>\n    universalUpdateIconMetadata(\n      _id,\n      icon,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateIconMetadataSignature {\n  /**\n   * Updates metadata fields of an Icon (name, keywords, collection, category, type,\n   * weight, description). The binary is immutable post-create; to replace bytes,\n   * delete + create. Enforces tenancy on writes (PUBLIC: only on caller-owned\n   * private icons; INTERNAL: any).\n   * @param - Icon ID.\n   * @returns Updated Icon.\n   */\n  (\n    _id: string,\n    icon: NonNullablePaths<UpdateIconMetadataIcon, `revision`, 2>\n  ): Promise<\n    NonNullablePaths<\n      Icon,\n      | `name`\n      | `keywords`\n      | `collection`\n      | `category`\n      | `type`\n      | `mediaFileId`\n      | `mediaUrl`\n      | `tags.privateTags.tagIds`,\n      4\n    >\n  >;\n}\n\n/** @internal */\nexport function deleteIcon(httpClient: HttpClient): DeleteIconSignature {\n  return (iconId: string) =>\n    universalDeleteIcon(\n      iconId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface DeleteIconSignature {\n  /**\n   * Deletes an Icon by ID. Removes the Vespa document immediately; the Wix Media\n   * binary is left in place and cleaned up by a periodic orphan-collector job.\n   * Tenancy enforced (PUBLIC cannot delete globals or other clients' private icons).\n   * @param - ID of the Icon to delete.\n   */\n  (iconId: string): Promise<void>;\n}\n\n/** @internal */\nexport function searchIcons(httpClient: HttpClient): SearchIconsSignature {\n  return (options?: SearchIconsOptions) =>\n    universalSearchIcons(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface SearchIconsSignature {\n  /**\n   * Hybrid (BM25 + vector) search over icons. Always applies a tenancy filter:\n   * returns global icons and the caller's own private icons by default, narrowable\n   * via `filter.tenant_scope`. `filter.exclude_ids` drops specific icons from\n   * results (useful for clients who don't want certain global icons to appear).\n   */\n  (options?: SearchIconsOptions): Promise<\n    NonNullablePaths<\n      SearchIconsResponse,\n      | `icons`\n      | `icons.${number}.icon.name`\n      | `icons.${number}.icon.collection`\n      | `icons.${number}.icon.category`\n      | `icons.${number}.icon.type`\n      | `icons.${number}.icon.mediaFileId`\n      | `icons.${number}.icon.mediaUrl`\n      | `icons.${number}.relevance`,\n      5\n    >\n  >;\n}\n\n/** @internal */\nexport function bulkUpdateIconTags(\n  httpClient: HttpClient\n): BulkUpdateIconTagsSignature {\n  return (iconIds: string[], options?: BulkUpdateIconTagsOptions) =>\n    universalBulkUpdateIconTags(\n      iconIds,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateIconTagsSignature {\n  /**\n   * Bulk-assign / unassign platform Tags on a list of icons (AIP-7025).\n   * A tag that appears in both `assign_tags` and `unassign_tags` is assigned.\n   * @param - Icons to update.\n   */\n  (iconIds: string[], options?: BulkUpdateIconTagsOptions): Promise<\n    NonNullablePaths<\n      BulkUpdateIconTagsResponse,\n      | `results`\n      | `results.${number}.itemMetadata.originalIndex`\n      | `results.${number}.itemMetadata.success`\n      | `results.${number}.itemMetadata.error.code`\n      | `results.${number}.itemMetadata.error.description`\n      | `bulkActionMetadata.totalSuccesses`\n      | `bulkActionMetadata.totalFailures`\n      | `bulkActionMetadata.undetailedFailures`,\n      6\n    > & {\n      __applicationErrorsType?: BulkUpdateIconTagsApplicationErrors;\n    }\n  >;\n}\n\n/** @internal */\nexport function bulkUpdateIconTagsByFilter(\n  httpClient: HttpClient\n): BulkUpdateIconTagsByFilterSignature {\n  return (\n    filter: Record<string, any>,\n    options?: BulkUpdateIconTagsByFilterOptions\n  ) =>\n    universalBulkUpdateIconTagsByFilter(\n      filter,\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkUpdateIconTagsByFilterSignature {\n  /**\n   * Bulk-assign / unassign platform Tags on icons matching a filter. Async — returns\n   * a job id. An empty filter targets all icons.\n   * @param - Filter selecting which icons to retag. Empty = all icons.\n   */\n  (\n    filter: Record<string, any>,\n    options?: BulkUpdateIconTagsByFilterOptions\n  ): Promise<\n    NonNullablePaths<BulkUpdateIconTagsByFilterResponse, `jobId`, 2> & {\n      __applicationErrorsType?: BulkUpdateIconTagsByFilterApplicationErrors;\n    }\n  >;\n}\n\n/** @internal */\nexport function bulkSeedIcons(httpClient: HttpClient): BulkSeedIconsSignature {\n  return (items: SeedItem[]) =>\n    universalBulkSeedIcons(\n      items,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface BulkSeedIconsSignature {\n  /**\n   * INTERNAL one-off bulk seed for the initial 10k global catalog. Each item carries\n   * either inline bytes or an external URL (which the service imports via Wix Media's\n   * files/import). Capped at 100 items per request to stay under proto size limits;\n   * callers paginate.\n   * @param - Items to seed. Each item must carry either inline content or a source URL.\n   */\n  (items: SeedItem[]): Promise<\n    NonNullablePaths<\n      BulkSeedIconsResponse,\n      | `results`\n      | `results.${number}.icon.name`\n      | `results.${number}.icon.collection`\n      | `results.${number}.icon.category`\n      | `results.${number}.icon.type`\n      | `results.${number}.icon.mediaFileId`\n      | `results.${number}.icon.mediaUrl`\n      | `results.${number}.error`,\n      5\n    >\n  >;\n}\n\nexport {\n  AccountInfo,\n  ActionEvent,\n  ApplicationError,\n  BulkActionMetadata,\n  BulkSeedIconsRequest,\n  BulkSeedIconsResponse,\n  BulkUpdateIconTagsByFilterOptions,\n  BulkUpdateIconTagsByFilterRequest,\n  BulkUpdateIconTagsByFilterResponse,\n  BulkUpdateIconTagsOptions,\n  BulkUpdateIconTagsRequest,\n  BulkUpdateIconTagsResponse,\n  BulkUpdateIconTagsResult,\n  CreateIconOptions,\n  CreateIconRequest,\n  CreateIconResponse,\n  CursorPaging,\n  CursorPagingMetadata,\n  Cursors,\n  DeleteIconRequest,\n  DeleteIconResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  ExtendedFields,\n  GetIconRequest,\n  GetIconResponse,\n  Icon,\n  IconFilter,\n  IconTagsModified,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  ItemMetadata,\n  MessageEnvelope,\n  RestoreInfo,\n  SearchIconsOptions,\n  SearchIconsRequest,\n  SearchIconsResponse,\n  SearchedIcon,\n  SeedItem,\n  SeedItemSourceOneOf,\n  SeedResult,\n  TagList,\n  Tags,\n  TenantScope,\n  UpdateIconMetadataIcon,\n  UpdateIconMetadataRequest,\n  UpdateIconMetadataResponse,\n  WebhookIdentityType,\n} from './enterprise-web-five-v1-icon-icons.universal.js';\n","import {\n  createIcon as publicCreateIcon,\n  getIcon as publicGetIcon,\n  updateIconMetadata as publicUpdateIconMetadata,\n  deleteIcon as publicDeleteIcon,\n  searchIcons as publicSearchIcons,\n  bulkUpdateIconTags as publicBulkUpdateIconTags,\n  bulkUpdateIconTagsByFilter as publicBulkUpdateIconTagsByFilter,\n  bulkSeedIcons as publicBulkSeedIcons,\n} from './enterprise-web-five-v1-icon-icons.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\n/** @internal */\nexport const createIcon: MaybeContext<\n  BuildRESTFunction<typeof publicCreateIcon> & typeof publicCreateIcon\n> = /*#__PURE__*/ createRESTModule(publicCreateIcon);\n/** @internal */\nexport const getIcon: MaybeContext<\n  BuildRESTFunction<typeof publicGetIcon> & typeof publicGetIcon\n> = /*#__PURE__*/ createRESTModule(publicGetIcon);\n/** @internal */\nexport const updateIconMetadata: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateIconMetadata> &\n    typeof publicUpdateIconMetadata\n> = /*#__PURE__*/ createRESTModule(publicUpdateIconMetadata);\n/** @internal */\nexport const deleteIcon: MaybeContext<\n  BuildRESTFunction<typeof publicDeleteIcon> & typeof publicDeleteIcon\n> = /*#__PURE__*/ createRESTModule(publicDeleteIcon);\n/** @internal */\nexport const searchIcons: MaybeContext<\n  BuildRESTFunction<typeof publicSearchIcons> & typeof publicSearchIcons\n> = /*#__PURE__*/ createRESTModule(publicSearchIcons);\n/** @internal */\nexport const bulkUpdateIconTags: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateIconTags> &\n    typeof publicBulkUpdateIconTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateIconTags);\n/** @internal */\nexport const bulkUpdateIconTagsByFilter: MaybeContext<\n  BuildRESTFunction<typeof publicBulkUpdateIconTagsByFilter> &\n    typeof publicBulkUpdateIconTagsByFilter\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateIconTagsByFilter);\n/** @internal */\nexport const bulkSeedIcons: MaybeContext<\n  BuildRESTFunction<typeof publicBulkSeedIcons> & typeof publicBulkSeedIcons\n> = /*#__PURE__*/ createRESTModule(publicBulkSeedIcons);\n\nexport {\n  TenantScope,\n  WebhookIdentityType,\n} from './enterprise-web-five-v1-icon-icons.universal.js';\nexport {\n  Icon,\n  ExtendedFields,\n  Tags,\n  TagList,\n  IconTagsModified,\n  CreateIconRequest,\n  CreateIconResponse,\n  GetIconRequest,\n  GetIconResponse,\n  UpdateIconMetadataRequest,\n  UpdateIconMetadataResponse,\n  DeleteIconRequest,\n  DeleteIconResponse,\n  SearchIconsRequest,\n  IconFilter,\n  CursorPaging,\n  SearchIconsResponse,\n  SearchedIcon,\n  CursorPagingMetadata,\n  Cursors,\n  BulkUpdateIconTagsRequest,\n  BulkUpdateIconTagsResponse,\n  ItemMetadata,\n  ApplicationError,\n  BulkUpdateIconTagsResult,\n  BulkActionMetadata,\n  BulkUpdateIconTagsByFilterRequest,\n  BulkUpdateIconTagsByFilterResponse,\n  BulkSeedIconsRequest,\n  SeedItem,\n  SeedItemSourceOneOf,\n  BulkSeedIconsResponse,\n  SeedResult,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  CreateIconOptions,\n  UpdateIconMetadataIcon,\n  SearchIconsOptions,\n  BulkUpdateIconTagsOptions,\n  BulkUpdateIconTagsByFilterOptions,\n} from './enterprise-web-five-v1-icon-icons.universal.js';\nexport {\n  TenantScopeWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  BulkUpdateIconTagsApplicationErrors,\n  BulkUpdateIconTagsByFilterApplicationErrors,\n} from './enterprise-web-five-v1-icon-icons.universal.js';\n"],"mappings":"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","names":["payload","TenantScope","WebhookIdentityType","createIcon","getIcon","updateIconMetadata","deleteIcon","searchIcons","bulkUpdateIconTags","bulkUpdateIconTagsByFilter","bulkSeedIcons","createIcon","getIcon","updateIconMetadata","deleteIcon","searchIcons","bulkUpdateIconTags","bulkUpdateIconTagsByFilter","bulkSeedIcons","createIcon","getIcon","updateIconMetadata","deleteIcon","searchIcons","bulkUpdateIconTags","bulkUpdateIconTagsByFilter","bulkSeedIcons"]}