lokalise-mcp
Version:
The Lokalise MCP Server brings Lokalise's localization power to Claude and AI assistants—manage projects, keys, and translations by chat.
98 lines (97 loc) • 3.72 kB
JavaScript
import { handleCliError } from "../../shared/utils/error.util.js";
import { Logger } from "../../shared/utils/logger.util.js";
import queuedprocessesController from "./queuedprocesses.controller.js";
/**
* Queuedprocesses CLI commands implementation.
* Generated on 2025-08-11 for Monitor async operations in Lokalise.
*/
const logger = Logger.forContext("queuedprocesses.cli.ts");
/**
* Register Queuedprocesses CLI commands
* @param program The Commander program instance
*/
function register(program) {
const methodLogger = logger.forMethod("register");
methodLogger.debug("Registering Queuedprocesses CLI commands...");
// List Queuedprocessess Command
program
.command("list-queuedprocessess")
.description("Lists all queuedprocesses in a Lokalise project")
.argument("<projectId>", "Project ID to list queuedprocesses for")
.option("-l, --limit <number>", "Number of queuedprocesses to return (1-100, default: 100)", (value) => {
const parsed = Number.parseInt(value, 10);
if (Number.isNaN(parsed) || parsed < 1 || parsed > 100) {
throw new Error("Limit must be a number between 1 and 100");
}
return parsed;
})
.option("-p, --page <number>", "Page number for pagination (default: 1)", (value) => {
const parsed = Number.parseInt(value, 10);
if (Number.isNaN(parsed) || parsed < 1) {
throw new Error("Page must be a number greater than 0");
}
return parsed;
})
.action(async (projectId, options) => {
const actionLogger = logger.forMethod("action:list-queuedprocessess");
try {
actionLogger.debug("CLI list-queuedprocessess called", {
projectId,
limit: options.limit,
page: options.page,
});
// Build arguments
const args = {
projectId: projectId.trim(),
limit: options.limit,
page: options.page,
};
// Call controller
const result = await queuedprocessesController.listQueuedprocesses(args);
console.log(result.content);
}
catch (error) {
handleCliError(error);
}
});
// Get Queuedprocesses Command
program
.command("get-queuedprocesses")
.description("Gets details of a specific queuedprocesses")
.argument("<projectId>", "Project ID containing the queuedprocesses")
.argument("<queuedprocessesId>", "Queuedprocesses ID to get details for")
.action(async (projectId, queuedprocessesId) => {
const actionLogger = logger.forMethod("action:get-queuedprocesses");
try {
actionLogger.debug("CLI get-queuedprocesses called", {
projectId,
queuedprocessesId,
});
// Build arguments
const args = {
projectId: projectId.trim(),
processId: queuedprocessesId.trim(),
};
// Call controller
const result = await queuedprocessesController.getQueuedprocesses(args);
console.log(result.content);
}
catch (error) {
handleCliError(error);
}
});
methodLogger.debug("Queuedprocesses CLI commands registered successfully");
}
// Export the domain CLI implementation
const queuedprocessesCli = {
register,
getMeta() {
return {
name: "queuedprocesses",
description: "Queuedprocesses CLI commands",
version: "1.0.0",
cliCommandsCount: 2,
};
},
};
export default queuedprocessesCli;