UNPKG

lokalise-mcp

Version:

The Lokalise MCP Server brings Lokalise's localization power to Claude and AI assistants—manage projects, keys, and translations by chat.

142 lines (141 loc) • 5.32 kB
import type { BulkResult, CursorPaginatedResult, Key, KeyDeleted, KeysBulkDeleted, SupportedPlatforms } from "@lokalise/node-api"; import type { ApiRequestOptions } from "../../shared/types/common.types.js"; /** * @namespace VendorLokaliseKeysService * @description Service layer for interacting with Lokalise Keys API endpoints. * Uses the official Lokalise SDK for reliable API communication. */ /** * Parameters for listing keys in a project */ export interface KeyListParams extends ApiRequestOptions { project_id: string; include_translations?: boolean; filter_keys?: string[]; filter_platforms?: string[]; filter_tags?: string[]; pagination?: "offset" | "cursor"; cursor?: string; } /** * Parameters for creating keys in a project */ export interface CreateKeysParams { project_id: string; keys: Array<{ key_name: string; description?: string; platforms: SupportedPlatforms[]; translations?: Array<{ language_iso: string; translation: string; }>; tags?: string[]; }>; } /** * Parameters for getting a single key */ export interface GetKeyParams { project_id: string; key_id: number; } /** * Parameters for updating a key */ export interface UpdateKeyParams { project_id: string; key_id: number; description?: string; platforms?: SupportedPlatforms[]; tags?: string[]; } /** * Parameters for deleting a key */ export interface DeleteKeyParams { project_id: string; key_id: number; } /** * Parameters for bulk updating keys */ export interface BulkUpdateKeysParams { project_id: string; keys: Array<{ key_id: number; description?: string; platforms?: SupportedPlatforms[]; tags?: string[]; }>; } /** * Parameters for bulk deleting keys */ export interface BulkDeleteKeysParams { project_id: string; key_ids: number[]; } /** * @function getKeys * @description Fetches a list of keys from a Lokalise project with optional filtering and pagination. * @memberof VendorLokaliseKeysService * @param {CursorPaginatedResult} options - Parameters including project ID, filters, and pagination options * @returns {Promise<CursorPaginatedResult<Key>>} A promise that resolves to the API response containing the keys list * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function getKeys(options: KeyListParams): Promise<CursorPaginatedResult<Key>>; /** * @function createKeys * @description Creates multiple keys in a Lokalise project * @memberof VendorLokaliseKeysService * @param {CreateKeysParams} options - Parameters including project ID and keys data * @returns {Promise<BulkResult<Key>>} A promise that resolves to the API response containing created keys * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function createKeys(options: CreateKeysParams): Promise<BulkResult<Key>>; /** * @function getKey * @description Fetches a single key from a Lokalise project * @memberof VendorLokaliseKeysService * @param {GetKeyParams} options - Parameters including project ID and key ID * @returns {Promise<LokaliseKey>} A promise that resolves to the key data * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function getKey(options: GetKeyParams): Promise<Key>; /** * @function updateKey * @description Updates a single key in a Lokalise project * @memberof VendorLokaliseKeysService * @param {UpdateKeyParams} options - Parameters including project ID, key ID and update data * @returns {Promise<LokaliseKey>} A promise that resolves to the updated key data * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function updateKey(options: UpdateKeyParams): Promise<Key>; /** * @function deleteKey * @description Deletes a single key from a Lokalise project * @memberof VendorLokaliseKeysService * @param {DeleteKeyParams} options - Parameters including project ID and key ID * @returns {Promise<KeysBulkDeleted>} A promise that resolves to the deletion confirmation * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function deleteKey(options: DeleteKeyParams): Promise<KeyDeleted>; /** * @function bulkUpdateKeys * @description Updates multiple keys in a Lokalise project * @memberof VendorLokaliseKeysService * @param {BulkUpdateKeysParams} options - Parameters including project ID and keys update data * @returns {Promise<any>} A promise that resolves to the bulk update results * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function bulkUpdateKeys(options: BulkUpdateKeysParams): Promise<BulkResult<Key>>; /** * @function bulkDeleteKeys * @description Deletes multiple keys from a Lokalise project * @memberof VendorLokaliseKeysService * @param {BulkDeleteKeysParams} options - Parameters including project ID and key IDs * @returns {Promise<any>} A promise that resolves to the bulk deletion results * @throws {McpError} Throws an McpError with details if the API call fails */ export declare function bulkDeleteKeys(options: BulkDeleteKeysParams): Promise<KeysBulkDeleted>;