@omni-commerce/cli 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -1
- package/dist/index.js +2647 -131
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/run.ts","../src/argv.ts","../src/config.ts","../src/execute.ts","../src/format.ts","../src/generated/commands.ts","../src/help.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["import { stdin as input } from \"node:process\";\nimport { OmniClient, OmniError, type FetchLike } from \"@omni-commerce/sdk\";\n\nimport { flagString, parseArgv } from \"./argv\";\nimport {\n clearConfig,\n maskSecret,\n readConfig,\n resolveCredentials,\n writeConfig,\n} from \"./config\";\nimport { executeCommand } from \"./execute\";\nimport { formatOutput, resolveFormat } from \"./format\";\nimport { COMMANDS, type CliCommand } from \"./generated/commands\";\nimport { matchCommands, printCommandHelp, printRootHelp } from \"./help\";\nimport { CLI_VERSION } from \"./version\";\n\nasync function readStdin(): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n }\n return Buffer.concat(chunks).toString(\"utf8\");\n}\n\nasync function parseJsonBody(\n raw: string | undefined,\n): Promise<Record<string, unknown> | undefined> {\n if (!raw) return undefined;\n const text = raw === \"-\" ? await readStdin() : raw;\n const parsed: unknown = JSON.parse(text);\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n throw new Error(\"--json must be a JSON object\");\n }\n return parsed as Record<string, unknown>;\n}\n\nfunction buildRequest(\n command: CliCommand,\n flags: Record<string, string | boolean>,\n body: Record<string, unknown> | undefined,\n): Record<string, unknown> {\n const request: Record<string, unknown> = { ...body };\n for (const flag of command.flags) {\n const value = flagString(flags, flag.flag);\n if (value === undefined) {\n if (flag.required) {\n throw new Error(`Missing required flag --${flag.flag}`);\n }\n continue;\n }\n request[flag.name] = value;\n }\n return request;\n}\n\nasync function handleAuth(\n trail: string[],\n flags: Record<string, string | boolean>,\n): Promise<number> {\n const action = trail[1] ?? \"status\";\n if (action === \"login\") {\n const apiKey = flagString(flags, \"api-key\");\n if (!apiKey) {\n throw new Error(\"omni auth login requires --api-key\");\n }\n const existing = await readConfig();\n await writeConfig({\n ...existing,\n apiKey,\n baseUrl: flagString(flags, \"base-url\") ?? existing.baseUrl,\n });\n process.stdout.write(\n `Saved credentials to config (${maskSecret(apiKey)})\\n`,\n );\n return 0;\n }\n if (action === \"logout\") {\n await clearConfig();\n process.stdout.write(\"Removed saved credentials\\n\");\n return 0;\n }\n const resolved = await resolveCredentials({\n apiKey: flagString(flags, \"api-key\"),\n baseUrl: flagString(flags, \"base-url\"),\n });\n process.stdout.write(\n `source\\t${resolved.source}\\nbaseUrl\\t${resolved.baseUrl}\\napiKey\\t${\n resolved.apiKey ? maskSecret(resolved.apiKey) : \"(missing)\"\n }\\n`,\n );\n return resolved.apiKey ? 0 : 1;\n}\n\nexport async function runCli(\n argv: string[],\n options?: { stdoutIsTty?: boolean; fetch?: FetchLike },\n): Promise<number> {\n const parsed = parseArgv(argv);\n if (parsed.flags.version === true) {\n process.stdout.write(`${CLI_VERSION}\\n`);\n return 0;\n }\n\n if (parsed.trail[0] === \"auth\") {\n return handleAuth(parsed.trail, parsed.flags);\n }\n\n if (parsed.trail.length === 0) {\n process.stdout.write(printRootHelp(COMMANDS));\n return parsed.help ? 0 : 1;\n }\n\n const matched = matchCommands(COMMANDS, parsed.trail);\n if (parsed.help && !matched.exact) {\n if (matched.prefix.length === 0) {\n process.stderr.write(`Unknown command: ${parsed.trail.join(\" \")}\\n`);\n process.stdout.write(printRootHelp(COMMANDS));\n return 1;\n }\n const unique = [\n ...new Set(matched.prefix.map((command) => command.trail.join(\" \"))),\n ];\n process.stdout.write(\n `omni ${parsed.trail.join(\" \")}\\n\\nCommands:\\n${unique\n .map((line) => ` omni ${line}`)\n .join(\"\\n\")}\\n`,\n );\n return 0;\n }\n\n const command = matched.exact;\n if (!command) {\n process.stderr.write(`Unknown command: ${parsed.trail.join(\" \")}\\n`);\n process.stdout.write(printRootHelp(COMMANDS));\n return 1;\n }\n\n if (parsed.help) {\n process.stdout.write(printCommandHelp(command));\n return 0;\n }\n\n if (parsed.schema) {\n process.stdout.write(`${JSON.stringify(command, null, 2)}\\n`);\n return 0;\n }\n\n const body = await parseJsonBody(flagString(parsed.flags, \"json\"));\n const filePath = command.acceptsFile\n ? flagString(parsed.flags, \"file\")\n : undefined;\n if (command.acceptsFile && !filePath) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --file <path>`);\n }\n if (command.bodyRequired && !body && !filePath) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --json`);\n }\n const request = buildRequest(command, parsed.flags, body);\n if (filePath) request.file = filePath;\n\n if (parsed.dryRun) {\n process.stdout.write(\n `${JSON.stringify(\n {\n method: command.httpMethod,\n path: command.path,\n request,\n },\n null,\n 2,\n )}\\n`,\n );\n return 0;\n }\n\n const credentials = await resolveCredentials({\n apiKey: flagString(parsed.flags, \"api-key\"),\n baseUrl: flagString(parsed.flags, \"base-url\"),\n });\n if (!credentials.apiKey) {\n process.stderr.write(\n \"Missing API key. Pass --api-key, set OMNI_API_KEY, or run omni auth login.\\n\",\n );\n return 1;\n }\n\n const timeoutRaw = flagString(parsed.flags, \"timeout\");\n const timeoutInSeconds = timeoutRaw\n ? Number(timeoutRaw)\n : command.path === \"/api/v1/agents/general/invoke\"\n ? 780\n : undefined;\n const client = new OmniClient({\n apiKey: credentials.apiKey,\n baseUrl: credentials.baseUrl,\n timeoutInSeconds:\n timeoutInSeconds && Number.isFinite(timeoutInSeconds)\n ? timeoutInSeconds\n : undefined,\n fetch: options?.fetch,\n });\n\n try {\n const result = await executeCommand(client, command, request);\n const format = resolveFormat(\n flagString(parsed.flags, \"format\"),\n options?.stdoutIsTty ?? Boolean(process.stdout.isTTY),\n );\n process.stdout.write(formatOutput(result, format));\n return 0;\n } catch (error) {\n if (error instanceof OmniError) {\n process.stderr.write(\n `${error.name}: ${error.message}${\n error.statusCode ? ` (${error.statusCode})` : \"\"\n }\\n`,\n );\n if (error.body) {\n process.stderr.write(`${JSON.stringify(error.body, null, 2)}\\n`);\n }\n return 1;\n }\n throw error;\n }\n}\n","export type ParsedArgs = {\n trail: string[];\n flags: Record<string, string | boolean>;\n help: boolean;\n schema: boolean;\n dryRun: boolean;\n};\n\nconst GLOBAL_TRUE_FLAGS = new Set([\n \"help\",\n \"h\",\n \"schema\",\n \"dry-run\",\n \"version\",\n \"v\",\n]);\n\nexport function parseArgv(argv: string[]): ParsedArgs {\n const trail: string[] = [];\n const flags: Record<string, string | boolean> = {};\n let help = false;\n let schema = false;\n let dryRun = false;\n\n for (let index = 0; index < argv.length; index += 1) {\n const token = argv[index];\n if (token === \"--\") {\n trail.push(...argv.slice(index + 1));\n break;\n }\n if (token === \"-h\" || token === \"--help\") {\n help = true;\n continue;\n }\n if (token === \"--schema\") {\n schema = true;\n continue;\n }\n if (token === \"--dry-run\") {\n dryRun = true;\n continue;\n }\n if (token === \"-v\" || token === \"--version\") {\n flags.version = true;\n continue;\n }\n if (token.startsWith(\"--\")) {\n const stripped = token.slice(2);\n const eq = stripped.indexOf(\"=\");\n if (eq >= 0) {\n flags[stripped.slice(0, eq)] = stripped.slice(eq + 1);\n continue;\n }\n const next = argv[index + 1];\n if (\n !next ||\n (next.startsWith(\"-\") && next !== \"-\") ||\n GLOBAL_TRUE_FLAGS.has(stripped)\n ) {\n flags[stripped] = true;\n continue;\n }\n flags[stripped] = next;\n index += 1;\n continue;\n }\n if (token.startsWith(\"-\") && token.length === 2) {\n continue;\n }\n trail.push(token);\n }\n\n return { trail, flags, help, schema, dryRun };\n}\n\nexport function flagString(\n flags: Record<string, string | boolean>,\n name: string,\n): string | undefined {\n const value = flags[name];\n return typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n","import { chmod, mkdir, readFile, rm, writeFile } from \"node:fs/promises\";\nimport { homedir } from \"node:os\";\nimport path from \"node:path\";\n\nexport type OmniCliConfig = {\n apiKey?: string;\n baseUrl?: string;\n};\n\nexport function configPath(): string {\n return path.join(homedir(), \".omni\", \"config.json\");\n}\n\nexport async function readConfig(): Promise<OmniCliConfig> {\n try {\n const raw = await readFile(configPath(), \"utf8\");\n const parsed = JSON.parse(raw) as OmniCliConfig;\n return parsed && typeof parsed === \"object\" ? parsed : {};\n } catch {\n return {};\n }\n}\n\nexport async function writeConfig(config: OmniCliConfig): Promise<void> {\n const directory = path.dirname(configPath());\n await mkdir(directory, { recursive: true });\n await writeFile(configPath(), `${JSON.stringify(config, null, 2)}\\n`, \"utf8\");\n await chmod(configPath(), 0o600);\n}\n\nexport async function clearConfig(): Promise<void> {\n await rm(configPath(), { force: true });\n}\n\nexport async function resolveCredentials(input: {\n apiKey?: string;\n baseUrl?: string;\n}): Promise<{ apiKey?: string; baseUrl: string; source: string }> {\n const file = await readConfig();\n const apiKey =\n input.apiKey || process.env.OMNI_API_KEY || file.apiKey || undefined;\n const source = input.apiKey\n ? \"flag\"\n : process.env.OMNI_API_KEY\n ? \"env\"\n : file.apiKey\n ? \"config\"\n : \"none\";\n const baseUrl =\n input.baseUrl ||\n process.env.OMNI_BASE_URL ||\n file.baseUrl ||\n \"https://omnicommerce.sg\";\n return { apiKey, baseUrl, source };\n}\n\nexport function maskSecret(value: string): string {\n if (value.length <= 8) return \"********\";\n return `${value.slice(0, 7)}…${value.slice(-4)}`;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"node:path\";\n\nimport { OmniClient } from \"@omni-commerce/sdk\";\n\nimport type { CliCommand } from \"./generated/commands\";\n\nfunction interpolatePath(\n template: string,\n values: Record<string, string>,\n): string {\n return template.replace(/\\{([^}]+)\\}/g, (_, name: string) => {\n const value = values[name];\n if (!value) {\n throw new Error(`Missing required path parameter: ${name}`);\n }\n return encodeURIComponent(value);\n });\n}\n\nconst UPLOAD_CONTENT_TYPES: Record<string, string> = {\n \".pdf\": \"application/pdf\",\n \".csv\": \"text/csv\",\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \".xlsm\": \"application/vnd.ms-excel.sheet.macroEnabled.12\",\n \".md\": \"text/markdown\",\n \".markdown\": \"text/markdown\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".webp\": \"image/webp\",\n \".avif\": \"image/avif\",\n \".heic\": \"image/heic\",\n \".heif\": \"image/heif\",\n};\n\n/** Multipart body: `--file <path>` as the file part, other fields as text. */\nasync function uploadBody(\n filePath: string,\n fields: Record<string, unknown>,\n): Promise<FormData> {\n const form = new FormData();\n const type =\n UPLOAD_CONTENT_TYPES[extname(filePath).toLowerCase()] ??\n \"application/octet-stream\";\n form.append(\n \"file\",\n new File([await readFile(filePath)], basename(filePath), { type }),\n );\n for (const [key, value] of Object.entries(fields)) {\n if (value === undefined || value === null) continue;\n form.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : String(value),\n );\n }\n return form;\n}\n\nfunction stringValue(value: unknown, flag: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw new Error(`Missing required flag --${flag}`);\n }\n return value;\n}\n\nexport async function executeCommand(\n client: OmniClient,\n command: CliCommand,\n request: Record<string, unknown>,\n): Promise<unknown> {\n if (command.resourcePath[0] === \"jobs\" && command.methodName === \"wait\") {\n const jobId = stringValue(request.jobId, \"job-id\");\n const organizationId =\n typeof request.organizationId === \"string\"\n ? request.organizationId\n : undefined;\n return client.jobs.wait({ jobId, organizationId });\n }\n\n const pathValues: Record<string, string> = {};\n const query: Record<string, unknown> = {};\n const consumed = new Set<string>();\n for (const flag of command.flags) {\n const value = request[flag.name];\n if (value === undefined) continue;\n consumed.add(flag.name);\n if (flag.source === \"path\") {\n pathValues[flag.name] = stringValue(value, flag.flag);\n } else {\n query[flag.name] = value;\n }\n }\n\n const body: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(request)) {\n if (!consumed.has(key)) body[key] = value;\n }\n\n if (command.acceptsFile) {\n const { file, ...fields } = body;\n return client.request({\n method: command.httpMethod,\n path: interpolatePath(command.path, pathValues),\n query: Object.keys(query).length > 0 ? query : undefined,\n body: await uploadBody(stringValue(file, \"file\"), fields),\n });\n }\n\n return client.request({\n method: command.httpMethod,\n path: interpolatePath(command.path, pathValues),\n query: Object.keys(query).length > 0 ? query : undefined,\n body:\n command.acceptsJsonBody && Object.keys(body).length > 0\n ? body\n : undefined,\n });\n}\n","export type OutputFormat = \"json\" | \"table\";\n\nexport function resolveFormat(\n flag: string | undefined,\n stdoutIsTty: boolean,\n): OutputFormat {\n if (flag === \"table\" || flag === \"json\") return flag;\n return stdoutIsTty ? \"table\" : \"json\";\n}\n\nfunction cell(value: unknown): string {\n if (value === null || value === undefined) return \"\";\n if (typeof value === \"string\") return value;\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return String(value);\n }\n return JSON.stringify(value);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function formatOutput(value: unknown, format: OutputFormat): string {\n if (format === \"json\") return `${JSON.stringify(value, null, 2)}\\n`;\n if (Array.isArray(value) && value.every(isRecord)) {\n if (value.length === 0) return \"\";\n const keys = [...new Set(value.flatMap((row) => Object.keys(row)))].slice(\n 0,\n 8,\n );\n const header = keys.join(\"\\t\");\n const body = value\n .map((row) => keys.map((key) => cell(row[key])).join(\"\\t\"))\n .join(\"\\n\");\n return `${header}\\n${body}\\n`;\n }\n if (isRecord(value)) {\n return `${Object.entries(value)\n .map(([key, entry]) => `${key}\\t${cell(entry)}`)\n .join(\"\\n\")}\\n`;\n }\n return `${cell(value)}\\n`;\n}\n","/**\n * Auto-generated from docs/openapi.json. Do not edit.\n */\nexport type CliFlag = {\n name: string;\n flag: string;\n required: boolean;\n source: \"path\" | \"query\";\n};\n\nexport type CliCommand = {\n trail: string[];\n resourcePath: string[];\n methodName: string;\n httpMethod: string;\n path: string;\n summary: string;\n flags: CliFlag[];\n acceptsJsonBody: boolean;\n acceptsFile: boolean;\n bodyRequired: boolean;\n};\n\nexport const COMMANDS: CliCommand[] = [\n {\n trail: [\"agents\", \"general\", \"invoke\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"invoke\",\n httpMethod: \"POST\",\n path: \"/api/v1/agents/general/invoke\",\n summary: \"Invoke the Omni agent\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"agents\", \"general\", \"start\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"start\",\n httpMethod: \"POST\",\n path: \"/api/v1/agents/general/runs\",\n summary: \"Start an Omni agent run\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"agents\", \"general\", \"get-run\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"getRun\",\n httpMethod: \"GET\",\n path: \"/api/v1/agents/general/runs/{runId}\",\n summary: \"Get an Omni agent run\",\n flags: [\n {\n name: \"runId\",\n flag: \"run-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-ads\"],\n resourcePath: [\"analytics\"],\n methodName: \"getAds\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/ads\",\n summary: \"Get Ads Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-ai-traffic\"],\n resourcePath: [\"analytics\"],\n methodName: \"getAiTraffic\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/ai-traffic\",\n summary: \"Get AI Traffic Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"source\",\n flag: \"source\",\n required: false,\n source: \"query\",\n },\n {\n name: \"trafficType\",\n flag: \"traffic-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"route\",\n flag: \"route\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-content\"],\n resourcePath: [\"analytics\"],\n methodName: \"getContent\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/content\",\n summary: \"Get Video and LIVE Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-orders\"],\n resourcePath: [\"analytics\"],\n methodName: \"getOrders\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/orders\",\n summary: \"Get Order Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-overview\"],\n resourcePath: [\"analytics\"],\n methodName: \"getOverview\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/overview\",\n summary: \"Get Growth Overview\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-pricing\"],\n resourcePath: [\"analytics\"],\n methodName: \"getPricing\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/pricing\",\n summary: \"Get Pricing Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-products\"],\n resourcePath: [\"analytics\"],\n methodName: \"getProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/products\",\n summary: \"Get Product Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"productId\",\n flag: \"product-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-profit\"],\n resourcePath: [\"analytics\"],\n methodName: \"getProfit\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/profit\",\n summary: \"Get Profit Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sku\",\n flag: \"sku\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-reports\"],\n resourcePath: [\"analytics\"],\n methodName: \"getReports\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/reports\",\n summary: \"Get Business Report\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-stores\"],\n resourcePath: [\"analytics\"],\n methodName: \"getStores\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/stores\",\n summary: \"Get Store Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-traffic\"],\n resourcePath: [\"analytics\"],\n methodName: \"getTraffic\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/traffic\",\n summary: \"Get Traffic Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"get-config\"],\n resourcePath: [\"aop\"],\n methodName: \"getConfig\",\n httpMethod: \"GET\",\n path: \"/api/v1/aop/{aopId}/config\",\n summary: \"Get AOP configuration\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"update-config\"],\n resourcePath: [\"aop\"],\n methodName: \"updateConfig\",\n httpMethod: \"PUT\",\n path: \"/api/v1/aop/{aopId}/config\",\n summary: \"Overwrite AOP configuration\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"aop\", \"execute\"],\n resourcePath: [\"aop\"],\n methodName: \"execute\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/{aopId}/execute\",\n summary: \"Execute an AOP\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"create\"],\n resourcePath: [\"aop\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/create\",\n summary: \"Create AOP\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"aop\", \"retry\"],\n resourcePath: [\"aop\"],\n methodName: \"retry\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/retry\",\n summary: \"Retry a failed AOP execution\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"brandsgateway\", \"import-products\"],\n resourcePath: [\"brandsgateway\"],\n methodName: \"importProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/brandsgateway/import\",\n summary: \"Import BrandsGateway Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"list\"],\n resourcePath: [\"campaigns\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns\",\n summary: \"List Campaigns\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"stage\",\n flag: \"stage\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortDir\",\n flag: \"sort-dir\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"create\"],\n resourcePath: [\"campaigns\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns\",\n summary: \"Create Campaign\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"get\"],\n resourcePath: [\"campaigns\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/{campaignId}\",\n summary: \"Get Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"replace\"],\n resourcePath: [\"campaigns\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/api/v1/campaigns/{campaignId}\",\n summary: \"Update Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"actions\"],\n resourcePath: [\"campaigns\"],\n methodName: \"actions\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/{campaignId}/actions\",\n summary: \"Act on Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"archive\"],\n resourcePath: [\"campaigns\"],\n methodName: \"archive\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/archive\",\n summary: \"Archive Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"delete\"],\n resourcePath: [\"campaigns\"],\n methodName: \"delete\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/delete\",\n summary: \"Delete Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"get-options\"],\n resourcePath: [\"campaigns\"],\n methodName: \"getOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/options\",\n summary: \"Get Campaign Options\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"catalog\", \"list-items\"],\n resourcePath: [\"catalog\"],\n methodName: \"listItems\",\n httpMethod: \"GET\",\n path: \"/api/v1/catalog/items\",\n summary: \"Export Catalog Items\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"format\",\n flag: \"format\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"create\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions\",\n summary: \"Create Agentic Checkout Session\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"get\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Get Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"update\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Update Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"replace\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Replace Agentic Checkout Session Fields\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"cancel\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions/{sessionId}/cancel\",\n summary: \"Cancel Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"complete\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"complete\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions/{sessionId}/complete\",\n summary: \"Complete Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"compare\", \"get\"],\n resourcePath: [\"compare\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/compare\",\n summary: \"Compare Public Products\",\n flags: [\n {\n name: \"products\",\n flag: \"products\",\n required: true,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"directory\", \"list\"],\n resourcePath: [\"directory\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/directory\",\n summary: \"List Public Merchants\",\n flags: [],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"documents\", \"upload\"],\n resourcePath: [\"documents\"],\n methodName: \"upload\",\n httpMethod: \"POST\",\n path: \"/api/v1/documents\",\n summary: \"Upload Document\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: true,\n bodyRequired: true,\n },\n {\n trail: [\"documents\", \"get\"],\n resourcePath: [\"documents\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/documents/{documentId}\",\n summary: \"Get Document\",\n flags: [\n {\n name: \"documentId\",\n flag: \"document-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"evaluate\", \"run\"],\n resourcePath: [\"evaluate\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/evaluate\",\n summary: \"Evaluate SKU Readiness\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"feed\", \"get-llms-txt\"],\n resourcePath: [\"feed\"],\n methodName: \"getLlmsTxt\",\n httpMethod: \"GET\",\n path: \"/api/v1/feed/{domain}/llms.txt\",\n summary: \"Get Merchant LLM Feed\",\n flags: [\n {\n name: \"domain\",\n flag: \"domain\",\n required: true,\n source: \"path\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"images\", \"ghost-mannequin\"],\n resourcePath: [\"images\"],\n methodName: \"ghostMannequin\",\n httpMethod: \"POST\",\n path: \"/api/v1/images/ghost-mannequin\",\n summary: \"Generate Ghost Mannequin Image\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"jobs\", \"get\"],\n resourcePath: [\"jobs\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/jobs/{jobId}\",\n summary: \"Get Developer Job Status\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"jobs\", \"cancel\"],\n resourcePath: [\"jobs\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/api/v1/jobs/{jobId}/cancel\",\n summary: \"Cancel Developer Job\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"looks\", \"list\"],\n resourcePath: [\"looks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/looks\",\n summary: \"List Looks\",\n flags: [\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"looks\", \"create\"],\n resourcePath: [\"looks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/looks\",\n summary: \"Create Look\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"looks\", \"get\"],\n resourcePath: [\"looks\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/looks/{lookId}\",\n summary: \"Get Look\",\n flags: [\n {\n name: \"lookId\",\n flag: \"look-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"product-categories\", \"recommend\"],\n resourcePath: [\"productCategories\"],\n methodName: \"recommend\",\n httpMethod: \"POST\",\n path: \"/api/v1/manage-product-category/recommend\",\n summary: \"Recommend Marketplace Product Categories\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"marketplaces\", \"list-connected\"],\n resourcePath: [\"marketplaces\"],\n methodName: \"listConnected\",\n httpMethod: \"GET\",\n path: \"/api/v1/marketplaces/connected\",\n summary: \"List Connected Marketplaces\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"get-manifest\"],\n resourcePath: [\"merchants\"],\n methodName: \"getManifest\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/manifest\",\n summary: \"Get Public Merchant Manifest\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"list-products\"],\n resourcePath: [\"merchants\"],\n methodName: \"listProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/products\",\n summary: \"List Public Merchant Products\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"search\"],\n resourcePath: [\"merchants\"],\n methodName: \"search\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/search\",\n summary: \"Search Within Public Merchant Catalog\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"monitor\", \"run\"],\n resourcePath: [\"monitor\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/monitor\",\n summary: \"Run AI Shelf Share Monitor\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"oauth\", \"revoke\"],\n resourcePath: [\"oauth\"],\n methodName: \"revoke\",\n httpMethod: \"POST\",\n path: \"/api/v1/oauth/revoke\",\n summary: \"Revoke Access Token\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"oauth\", \"token\"],\n resourcePath: [\"oauth\"],\n methodName: \"token\",\n httpMethod: \"POST\",\n path: \"/api/v1/oauth/token\",\n summary: \"Get Access Token\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"list\"],\n resourcePath: [\"orders\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders\",\n summary: \"List Orders\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"bundleType\",\n flag: \"bundle-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"dateFrom\",\n flag: \"date-from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"dateTo\",\n flag: \"date-to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"create\"],\n resourcePath: [\"orders\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders\",\n summary: \"Create Order\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"get\"],\n resourcePath: [\"orders\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}\",\n summary: \"Get Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"update\"],\n resourcePath: [\"orders\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/orders/{orderId}\",\n summary: \"Update Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"get-action-options\"],\n resourcePath: [\"orders\"],\n methodName: \"getActionOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}/action-options\",\n summary: \"Get Order Action Options\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"action\",\n flag: \"action\",\n required: true,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"list-actions\"],\n resourcePath: [\"orders\"],\n methodName: \"listActions\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}/actions\",\n summary: \"List Order Actions\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"queue-action\"],\n resourcePath: [\"orders\"],\n methodName: \"queueAction\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders/{orderId}/actions\",\n summary: \"Queue Order Action\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"organizations\", \"create\"],\n resourcePath: [\"organizations\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/organizations\",\n summary: \"Create Organization\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"list\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/price-books\",\n summary: \"List Price Book Rules\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"enabledOnly\",\n flag: \"enabled-only\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"create\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/price-books\",\n summary: \"Create Price Book Rule\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"delete\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Delete Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"get\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Get Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"update\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Update Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"preview\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"preview\",\n httpMethod: \"POST\",\n path: \"/api/v1/price-books/preview\",\n summary: \"Preview Channel List Price\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"list\"],\n resourcePath: [\"products\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/products\",\n summary: \"List Products\",\n flags: [\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sku\",\n flag: \"sku\",\n required: false,\n source: \"query\",\n },\n {\n name: \"minPrice\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"maxPrice\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"create\"],\n resourcePath: [\"products\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/products\",\n summary: \"Create Product\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"delete\"],\n resourcePath: [\"products\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Delete Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"get\"],\n resourcePath: [\"products\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Get Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update\"],\n resourcePath: [\"products\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Update Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"update-cost\"],\n resourcePath: [\"products\"],\n methodName: \"updateCost\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/cost\",\n summary: \"Update Product Cost\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"delist\"],\n resourcePath: [\"products\"],\n methodName: \"delist\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/delist\",\n summary: \"Delist Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"upload-image\"],\n resourcePath: [\"products\"],\n methodName: \"uploadImage\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/images\",\n summary: \"Upload Product Image\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: true,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"update-inventory\"],\n resourcePath: [\"products\"],\n methodName: \"updateInventory\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/inventory\",\n summary: \"Update Product Inventory\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"get-listings\"],\n resourcePath: [\"products\"],\n methodName: \"getListings\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/{productId}/listings\",\n summary: \"Get Product Listings\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update-price\"],\n resourcePath: [\"products\"],\n methodName: \"updatePrice\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/price\",\n summary: \"Update Product Price\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"publish\"],\n resourcePath: [\"products\"],\n methodName: \"publish\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/publish\",\n summary: \"Publish Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"bulk-import\"],\n resourcePath: [\"products\"],\n methodName: \"bulkImport\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/bulk-import\",\n summary: \"Bulk Import Products from JSON or CSV\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"compare-prices\"],\n resourcePath: [\"products\"],\n methodName: \"comparePrices\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/compare-prices\",\n summary: \"Compare Product Market Prices\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"get-price-comparison\"],\n resourcePath: [\"products\"],\n methodName: \"getPriceComparison\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/compare-prices/jobs/{jobId}\",\n summary: \"Get Product Price Comparison\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update-costs\"],\n resourcePath: [\"products\"],\n methodName: \"updateCosts\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/cost\",\n summary: \"Batch Update Product Cost\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"enrich\"],\n resourcePath: [\"products\"],\n methodName: \"enrich\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/enrich\",\n summary: \"Queue Product Enrichment\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"list\"],\n resourcePath: [\"promotions\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions\",\n summary: \"List Promotions\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortDir\",\n flag: \"sort-dir\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"create\"],\n resourcePath: [\"promotions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions\",\n summary: \"Create Promotion\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"delete\"],\n resourcePath: [\"promotions\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Delete Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"get\"],\n resourcePath: [\"promotions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Get Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"update\"],\n resourcePath: [\"promotions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Update Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"remove-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"removeProducts\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"Unassign Products from Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"list-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"listProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"List Promotion Assignments\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"add-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"addProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"Assign Products to Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"retry\"],\n resourcePath: [\"promotions\"],\n methodName: \"retry\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/retry\",\n summary: \"Retry Marketplace Delivery\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"returns\", \"list\"],\n resourcePath: [\"returns\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns\",\n summary: \"List Returns\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"accountId\",\n flag: \"account-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"externalOrderId\",\n flag: \"external-order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"returns\", \"get\"],\n resourcePath: [\"returns\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns/{returnId}\",\n summary: \"Get Return\",\n flags: [\n {\n name: \"returnId\",\n flag: \"return-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"list\"],\n resourcePath: [\"reviews\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/reviews\",\n summary: \"List Reviews\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"priority\",\n flag: \"priority\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"productId\",\n flag: \"product-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"get\"],\n resourcePath: [\"reviews\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/reviews/{reviewId}\",\n summary: \"Get Review\",\n flags: [\n {\n name: \"reviewId\",\n flag: \"review-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"reply\"],\n resourcePath: [\"reviews\"],\n methodName: \"reply\",\n httpMethod: \"POST\",\n path: \"/api/v1/reviews/{reviewId}/reply\",\n summary: \"Reply to Review\",\n flags: [\n {\n name: \"reviewId\",\n flag: \"review-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"search\", \"list\"],\n resourcePath: [\"search\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/search\",\n summary: \"Search Public Merchant Products\",\n flags: [\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"merchant_ids\",\n flag: \"merchant-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"search\", \"query\"],\n resourcePath: [\"search\"],\n methodName: \"query\",\n httpMethod: \"POST\",\n path: \"/api/v1/search\",\n summary: \"Search Public Merchant Products\",\n flags: [\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"merchant_ids\",\n flag: \"merchant-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"settlements\", \"list\"],\n resourcePath: [\"settlements\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/settlements\",\n summary: \"List Settlements\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"accountId\",\n flag: \"account-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"externalOrderId\",\n flag: \"external-order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"settlements\", \"create\"],\n resourcePath: [\"settlements\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/settlements\",\n summary: \"Apply Settlements\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"settlements\", \"get\"],\n resourcePath: [\"settlements\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/settlements/{settlementId}\",\n summary: \"Get Settlement\",\n flags: [\n {\n name: \"settlementId\",\n flag: \"settlement-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"sync\", \"run\"],\n resourcePath: [\"sync\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/sync\",\n summary: \"Sync Product Commercial Fields\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"threads\", \"get-status\"],\n resourcePath: [\"threads\"],\n methodName: \"getStatus\",\n httpMethod: \"GET\",\n path: \"/api/v1/threads/{thread_id}/status\",\n summary: \"Get Thread Status\",\n flags: [\n {\n name: \"thread_id\",\n flag: \"thread-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"include_messages\",\n flag: \"include-messages\",\n required: false,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhook-events\", \"list\"],\n resourcePath: [\"webhookEvents\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/webhook-events\",\n summary: \"List Webhook Events\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"eventType\",\n flag: \"event-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"occurredSince\",\n flag: \"occurred-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhooks\", \"list\"],\n resourcePath: [\"webhooks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/webhooks\",\n summary: \"List Developer Webhooks\",\n flags: [],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhooks\", \"create\"],\n resourcePath: [\"webhooks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/webhooks\",\n summary: \"Create Developer Webhook\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"zalora\", \"get-import\"],\n resourcePath: [\"zalora\"],\n methodName: \"getImport\",\n httpMethod: \"GET\",\n path: \"/api/v1/zalora/import\",\n summary: \"Get Selected Zalora Import Status\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"query\",\n },\n {\n name: \"storeId\",\n flag: \"store-id\",\n required: true,\n source: \"query\",\n },\n {\n name: \"productSetIds\",\n flag: \"product-set-ids\",\n required: true,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"zalora\", \"import-products\"],\n resourcePath: [\"zalora\"],\n methodName: \"importProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/zalora/import\",\n summary: \"Import Selected Zalora Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"create\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions\",\n summary: \"Create UCP Checkout Session\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"get\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Get UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"update\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Update UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"replace\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Replace UCP Checkout Session Fields\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"cancel\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}/cancel\",\n summary: \"Cancel UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"complete\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"complete\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}/complete\",\n summary: \"Complete UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"orders\", \"get\"],\n resourcePath: [\"ucp\", \"orders\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/ucp/v1/orders/{orderId}\",\n summary: \"Get UCP Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"jobs\", \"wait\"],\n resourcePath: [\"jobs\"],\n methodName: \"wait\",\n httpMethod: \"GET\",\n path: \"/api/v1/jobs/{jobId}\",\n summary: \"Poll a developer job until the nested status is terminal\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n];\n","import type { CliCommand } from \"./generated/commands\";\n\nexport function printRootHelp(commands: CliCommand[]): string {\n const groups = [\n ...new Set(commands.map((command) => command.trail[0])),\n ].sort();\n return `OmniCommerce CLI\n\nUsage:\n omni <resource> <command> [flags]\n omni auth login --api-key omni_sk_...\n omni auth status\n omni auth logout\n\nResources:\n${groups.map((group) => ` ${group}`).join(\"\\n\")}\n\nGlobal flags:\n --api-key <key> API key (or OMNI_API_KEY / omni auth login)\n --base-url <url> API origin (default https://omnicommerce.sg)\n --json <object|-> JSON body, or - to read stdin\n --format json|table Output format (table on TTY, json when piped)\n --dry-run Print the request without sending it\n --schema Print flags for this command\n --timeout <seconds> Request timeout\n --help Show help\n\nExamples:\n omni products list --q lamp\n omni products get --product-id prod_123\n omni products create --json '{\"product\":{\"sku\":\"SKU-1\",\"title\":\"Lamp\"}}'\n omni jobs wait --job-id prod_123\n`;\n}\n\nexport function printCommandHelp(command: CliCommand): string {\n const flags = command.flags\n .map((flag) => {\n const req = flag.required ? \"required\" : \"optional\";\n return ` --${flag.flag} <${flag.name}> ${req} ${flag.source}`;\n })\n .join(\"\\n\");\n const jsonLine = `${\n command.acceptsFile ? \" --file <path> required file to upload\\n\" : \"\"\n }${\n command.acceptsJsonBody\n ? ` --json <object|-> ${command.bodyRequired && !command.acceptsFile ? \"required\" : \"optional\"} body\\n`\n : \"\"\n }`;\n return `omni ${command.trail.join(\" \")}\n\n${command.summary}\n\n${command.httpMethod} ${command.path}\n\nFlags:\n${flags || \" (none)\"}${jsonLine ? `\\n${jsonLine}` : \"\"}\n`;\n}\n\nexport function matchCommands(\n commands: CliCommand[],\n trail: string[],\n): { exact?: CliCommand; prefix: CliCommand[] } {\n const prefix = commands.filter((command) =>\n trail.every((token, index) => command.trail[index] === token),\n );\n const exact = prefix.find((command) => command.trail.length === trail.length);\n return { exact, prefix };\n}\n","export const CLI_VERSION = \"0.9.0\";\n","import { runCli } from \"./run\";\n\nconst main = async () => {\n try {\n const code = await runCli(process.argv.slice(2), {\n stdoutIsTty: Boolean(process.stdout.isTTY),\n });\n process.exitCode = code;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`${message}\\n`);\n process.exitCode = 1;\n }\n};\n\nvoid main();\n"],"mappings":"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AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;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","names":["input","readFile","command"]}
|
|
1
|
+
{"version":3,"sources":["../src/run.ts","../src/argv.ts","../src/browser-login.ts","../src/open-browser.ts","../src/version.ts","../src/config.ts","../src/execute.ts","../src/format.ts","../src/generated/commands.ts","../src/generated/campaign-inputs.ts","../src/body-flags.ts","../src/campaign-commands.ts","../src/help.ts","../src/index.ts"],"sourcesContent":["import { stdin as input } from \"node:process\";\nimport { OmniClient, OmniError, type FetchLike } from \"@omni-commerce/sdk\";\n\nimport { flagString, parseArgv } from \"./argv\";\nimport { browserLogin, type BrowserLoginOptions } from \"./browser-login\";\nimport {\n clearConfig,\n maskSecret,\n readConfig,\n resolveCredentials,\n writeConfig,\n} from \"./config\";\nimport { executeCommand } from \"./execute\";\nimport { formatOutput, resolveFormat } from \"./format\";\nimport { COMMANDS, type CliCommand } from \"./generated/commands\";\nimport {\n matchCommands,\n printAuthHelp,\n printCommandHelp,\n printRootHelp,\n} from \"./help\";\nimport { CLI_VERSION } from \"./version\";\nimport {\n CAMPAIGN_COMMANDS,\n campaignRequest,\n isCampaignCommand,\n} from \"./campaign-commands\";\n\nconst CLI_COMMANDS = [\n ...COMMANDS.filter(\n (command) =>\n !CAMPAIGN_COMMANDS.some(\n (custom) => custom.trail.join(\" \") === command.trail.join(\" \"),\n ),\n ),\n ...CAMPAIGN_COMMANDS,\n];\n\nasync function readStdin(): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of input) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n }\n return Buffer.concat(chunks).toString(\"utf8\");\n}\n\nasync function parseJsonBody(\n raw: string | undefined,\n): Promise<Record<string, unknown> | undefined> {\n if (!raw) return undefined;\n const text = raw === \"-\" ? await readStdin() : raw;\n const parsed: unknown = JSON.parse(text);\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n throw new Error(\"--json must be a JSON object\");\n }\n return parsed as Record<string, unknown>;\n}\n\nfunction buildRequest(\n command: CliCommand,\n flags: Record<string, string | boolean>,\n body: Record<string, unknown> | undefined,\n): Record<string, unknown> {\n const request: Record<string, unknown> = { ...body };\n for (const flag of command.flags) {\n const value = flagString(flags, flag.flag);\n if (value === undefined) {\n if (flag.required) {\n throw new Error(`Missing required flag --${flag.flag}`);\n }\n continue;\n }\n request[flag.name] = value;\n }\n return request;\n}\n\nasync function handleAuth(\n trail: string[],\n flags: Record<string, string | boolean>,\n options?: BrowserLoginOptions,\n): Promise<number> {\n const action = trail[1] ?? \"status\";\n if (action === \"login\") {\n const existing = await readConfig();\n const apiKey = flagString(flags, \"api-key\");\n const credentials = apiKey\n ? {\n apiKey,\n baseUrl: flagString(flags, \"base-url\") ?? existing.baseUrl,\n }\n : await browserLogin(\n (\n await resolveCredentials({\n baseUrl: flagString(flags, \"base-url\"),\n })\n ).baseUrl,\n { ...options, noBrowser: flags[\"no-browser\"] === true },\n );\n await writeConfig({\n ...existing,\n ...credentials,\n });\n process.stdout.write(\n `Saved credentials to config (${maskSecret(credentials.apiKey)})\\n`,\n );\n return 0;\n }\n if (action === \"logout\") {\n await clearConfig();\n process.stdout.write(\"Removed saved credentials\\n\");\n return 0;\n }\n if (action !== \"status\") throw new Error(`Unknown auth command: ${action}`);\n const resolved = await resolveCredentials({\n apiKey: flagString(flags, \"api-key\"),\n baseUrl: flagString(flags, \"base-url\"),\n });\n process.stdout.write(\n `source\\t${resolved.source}\\nbaseUrl\\t${resolved.baseUrl}\\napiKey\\t${\n resolved.apiKey ? maskSecret(resolved.apiKey) : \"(missing)\"\n }\\n`,\n );\n return resolved.apiKey ? 0 : 1;\n}\n\nexport async function runCli(\n argv: string[],\n options?: {\n stdoutIsTty?: boolean;\n fetch?: FetchLike;\n openBrowser?: BrowserLoginOptions[\"openBrowser\"];\n },\n): Promise<number> {\n const parsed = parseArgv(argv);\n if (parsed.flags.version === true) {\n process.stdout.write(`${CLI_VERSION}\\n`);\n return 0;\n }\n\n if (parsed.trail[0] === \"auth\") {\n if (parsed.help) {\n process.stdout.write(printAuthHelp());\n return 0;\n }\n return handleAuth(parsed.trail, parsed.flags, options);\n }\n\n if (parsed.trail.length === 0) {\n process.stdout.write(printRootHelp(CLI_COMMANDS));\n return parsed.help ? 0 : 1;\n }\n\n const matched = matchCommands(CLI_COMMANDS, parsed.trail);\n if (parsed.help && !matched.exact) {\n if (matched.prefix.length === 0) {\n process.stderr.write(`Unknown command: ${parsed.trail.join(\" \")}\\n`);\n process.stdout.write(printRootHelp(CLI_COMMANDS));\n return 1;\n }\n const unique = [\n ...new Set(matched.prefix.map((command) => command.trail.join(\" \"))),\n ];\n process.stdout.write(\n `omni ${parsed.trail.join(\" \")}\\n\\nCommands:\\n${unique\n .map((line) => ` omni ${line}`)\n .join(\"\\n\")}\\n`,\n );\n return 0;\n }\n\n const command = matched.exact;\n if (!command) {\n process.stderr.write(`Unknown command: ${parsed.trail.join(\" \")}\\n`);\n process.stdout.write(printRootHelp(CLI_COMMANDS));\n return 1;\n }\n\n if (parsed.help) {\n process.stdout.write(printCommandHelp(command));\n return 0;\n }\n\n if (parsed.schema) {\n process.stdout.write(`${JSON.stringify(command, null, 2)}\\n`);\n return 0;\n }\n\n const body = await parseJsonBody(flagString(parsed.flags, \"json\"));\n const filePath = command.acceptsFile\n ? flagString(parsed.flags, \"file\")\n : undefined;\n if (command.acceptsFile && !filePath) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --file <path>`);\n }\n if (command.bodyRequired && !body && !filePath) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --json`);\n }\n if (isCampaignCommand(command) && body)\n throw new Error(\n \"Use campaign field flags for this command; --json is available on campaigns replace and actions.\",\n );\n const request = isCampaignCommand(command)\n ? campaignRequest(command, parsed.flags)\n : buildRequest(command, parsed.flags, body);\n if (filePath) request.file = filePath;\n\n if (parsed.dryRun) {\n process.stdout.write(\n `${JSON.stringify(\n {\n method: command.httpMethod,\n path: command.path,\n request,\n },\n null,\n 2,\n )}\\n`,\n );\n return 0;\n }\n\n const credentials = await resolveCredentials({\n apiKey: flagString(parsed.flags, \"api-key\"),\n baseUrl: flagString(parsed.flags, \"base-url\"),\n });\n if (!credentials.apiKey) {\n process.stderr.write(\n \"Missing API key. Pass --api-key, set OMNI_API_KEY, or run omni auth login.\\n\",\n );\n return 1;\n }\n\n const timeoutRaw = flagString(parsed.flags, \"timeout\");\n const timeoutInSeconds = timeoutRaw\n ? Number(timeoutRaw)\n : command.path === \"/api/v1/agents/general/invoke\"\n ? 780\n : undefined;\n const client = new OmniClient({\n apiKey: credentials.apiKey,\n baseUrl: credentials.baseUrl,\n timeoutInSeconds:\n timeoutInSeconds && Number.isFinite(timeoutInSeconds)\n ? timeoutInSeconds\n : undefined,\n fetch: options?.fetch,\n });\n\n try {\n const result = await executeCommand(client, command, request);\n const format = resolveFormat(\n flagString(parsed.flags, \"format\"),\n options?.stdoutIsTty ?? Boolean(process.stdout.isTTY),\n );\n process.stdout.write(formatOutput(result, format));\n return 0;\n } catch (error) {\n if (error instanceof OmniError) {\n process.stderr.write(\n `${error.name}: ${error.message}${\n error.statusCode ? ` (${error.statusCode})` : \"\"\n }\\n`,\n );\n if (error.body) {\n process.stderr.write(`${JSON.stringify(error.body, null, 2)}\\n`);\n }\n return 1;\n }\n throw error;\n }\n}\n","export type ParsedArgs = {\n trail: string[];\n flags: Record<string, string | boolean>;\n help: boolean;\n schema: boolean;\n dryRun: boolean;\n};\n\nconst GLOBAL_TRUE_FLAGS = new Set([\n \"help\",\n \"h\",\n \"schema\",\n \"dry-run\",\n \"version\",\n \"v\",\n \"no-browser\",\n]);\n\nexport function parseArgv(argv: string[]): ParsedArgs {\n const trail: string[] = [];\n const flags: Record<string, string | boolean> = {};\n let help = false;\n let schema = false;\n let dryRun = false;\n\n for (let index = 0; index < argv.length; index += 1) {\n const token = argv[index];\n if (token === \"--\") {\n trail.push(...argv.slice(index + 1));\n break;\n }\n if (token === \"-h\" || token === \"--help\") {\n help = true;\n continue;\n }\n if (token === \"--schema\") {\n schema = true;\n continue;\n }\n if (token === \"--dry-run\") {\n dryRun = true;\n continue;\n }\n if (token === \"-v\" || token === \"--version\") {\n flags.version = true;\n continue;\n }\n if (token.startsWith(\"--\")) {\n const stripped = token.slice(2);\n const eq = stripped.indexOf(\"=\");\n if (eq >= 0) {\n flags[stripped.slice(0, eq)] = stripped.slice(eq + 1);\n continue;\n }\n const next = argv[index + 1];\n if (\n next === undefined ||\n (next.startsWith(\"-\") && next !== \"-\") ||\n GLOBAL_TRUE_FLAGS.has(stripped)\n ) {\n flags[stripped] = true;\n continue;\n }\n flags[stripped] = next;\n index += 1;\n continue;\n }\n if (token.startsWith(\"-\") && token.length === 2) {\n continue;\n }\n trail.push(token);\n }\n\n return { trail, flags, help, schema, dryRun };\n}\n\nexport function flagString(\n flags: Record<string, string | boolean>,\n name: string,\n): string | undefined {\n const value = flags[name];\n return typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n","import { setTimeout as sleep } from \"node:timers/promises\";\nimport type { FetchLike } from \"@omni-commerce/sdk\";\nimport { openBrowser } from \"./open-browser\";\nimport { CLI_VERSION } from \"./version\";\n\nexport type BrowserLoginOptions = {\n fetch?: FetchLike;\n openBrowser?: (url: string) => Promise<void>;\n noBrowser?: boolean;\n};\n\nfunction loginOrigin(baseUrl: string): string {\n const url = new URL(baseUrl);\n const loopback = [\"localhost\", \"127.0.0.1\", \"[::1]\"].includes(url.hostname);\n if (\n (url.protocol !== \"https:\" && !(url.protocol === \"http:\" && loopback)) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash ||\n url.pathname !== \"/\"\n ) {\n throw new Error(\n \"Login requires an HTTPS API origin (HTTP is allowed on localhost).\",\n );\n }\n return url.origin;\n}\n\nasync function readResponse(\n response: Response,\n): Promise<Record<string, unknown>> {\n const body: unknown = await response.json().catch(() => null);\n if (!body || typeof body !== \"object\" || Array.isArray(body)) {\n throw new Error(\"Invalid login response. Check --base-url and try again.\");\n }\n return body as Record<string, unknown>;\n}\n\nexport async function browserLogin(\n baseUrl: string,\n options: BrowserLoginOptions = {},\n) {\n const origin = loginOrigin(baseUrl);\n const fetchImpl = options.fetch ?? fetch;\n const post = (path: string, body: unknown, timeoutMs = 30_000) =>\n fetchImpl(new URL(path, origin), {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(body),\n redirect: \"error\",\n signal: AbortSignal.timeout(Math.max(1, timeoutMs)),\n });\n const started = await post(\"/api/cli/device/code\", {\n client_version: CLI_VERSION,\n });\n if (!started.ok)\n throw new Error(\n `Could not start browser login (${started.status}). Try again shortly.`,\n );\n const issued = await readResponse(started);\n if (\n typeof issued.device_code !== \"string\" ||\n !/^[a-f0-9]{64}$/.test(issued.device_code) ||\n typeof issued.user_code !== \"string\" ||\n !/^[A-Z]{4}-[A-Z]{4}$/.test(issued.user_code) ||\n typeof issued.verification_uri_complete !== \"string\" ||\n typeof issued.expires_in !== \"number\" ||\n !Number.isFinite(issued.expires_in) ||\n issued.expires_in <= 0 ||\n issued.expires_in > 900 ||\n typeof issued.interval !== \"number\" ||\n !Number.isFinite(issued.interval) ||\n issued.interval < 5 ||\n issued.interval > 900\n ) {\n throw new Error(\n \"Invalid browser login response. Check --base-url and try again.\",\n );\n }\n const verificationUrl = new URL(issued.verification_uri_complete);\n if (\n verificationUrl.origin !== origin ||\n verificationUrl.username ||\n verificationUrl.password ||\n verificationUrl.pathname !== \"/cli/authorize\" ||\n verificationUrl.searchParams.get(\"code\") !== issued.user_code ||\n [...verificationUrl.searchParams.keys()].some((key) => key !== \"code\") ||\n verificationUrl.hash\n ) {\n throw new Error(\"The login page does not match the requested API origin.\");\n }\n const deadline = Date.now() + issued.expires_in * 1000;\n let intervalMs = issued.interval * 1000;\n process.stdout.write(\n `Confirm code ${issued.user_code} in your browser.\\n${verificationUrl.toString()}\\n`,\n );\n if (!options.noBrowser) {\n try {\n await (options.openBrowser ?? openBrowser)(verificationUrl.toString());\n } catch {\n process.stderr.write(\n \"Could not open your browser. Open the URL above to continue.\\n\",\n );\n }\n }\n while (Date.now() < deadline) {\n await sleep(Math.min(intervalMs, deadline - Date.now()));\n if (Date.now() >= deadline) break;\n let response: Response;\n try {\n response = await post(\n \"/api/cli/device/token\",\n { device_code: issued.device_code },\n Math.min(30_000, deadline - Date.now()),\n );\n } catch {\n intervalMs = Math.min(Math.max(intervalMs * 2, 10_000), 60_000);\n continue;\n }\n if (response.status === 429 || response.status >= 500) {\n const retryAfter = Number(response.headers.get(\"Retry-After\"));\n intervalMs = Math.max(\n intervalMs + 5000,\n Number.isFinite(retryAfter) ? retryAfter * 1000 : 0,\n );\n continue;\n }\n const result = await readResponse(response);\n if (response.ok) {\n if (\n typeof result.api_key !== \"string\" ||\n !result.api_key.startsWith(\"omni_sk_\") ||\n result.token_type !== \"api_key\"\n ) {\n throw new Error(\"The login server did not return valid credentials.\");\n }\n return { apiKey: result.api_key, baseUrl: origin };\n }\n if (result.error === \"authorization_pending\") continue;\n if (result.error === \"slow_down\") {\n intervalMs += 5000;\n continue;\n }\n if (result.error === \"access_denied\")\n throw new Error(\n \"Browser login was denied. Run omni auth login to try again.\",\n );\n if (result.error === \"expired_token\") break;\n throw new Error(\n `Browser login failed (${response.status}). Run omni auth login to try again.`,\n );\n }\n throw new Error(\"Browser login expired. Run omni auth login to try again.\");\n}\n","import { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n\nconst executeFile = promisify(execFile);\n\nexport async function openBrowser(url: string): Promise<void> {\n const command =\n process.platform === \"darwin\"\n ? \"open\"\n : process.platform === \"win32\"\n ? \"rundll32.exe\"\n : \"xdg-open\";\n const args =\n process.platform === \"win32\" ? [\"url.dll,FileProtocolHandler\", url] : [url];\n await executeFile(command, args, { timeout: 10_000 });\n}\n","export const CLI_VERSION = \"0.11.0\";\n","import { chmod, mkdir, readFile, rm, writeFile } from \"node:fs/promises\";\nimport { homedir } from \"node:os\";\nimport path from \"node:path\";\n\nexport type OmniCliConfig = {\n apiKey?: string;\n baseUrl?: string;\n};\n\nexport function configPath(): string {\n return path.join(homedir(), \".omni\", \"config.json\");\n}\n\nexport async function readConfig(): Promise<OmniCliConfig> {\n try {\n const raw = await readFile(configPath(), \"utf8\");\n const parsed = JSON.parse(raw) as OmniCliConfig;\n return parsed && typeof parsed === \"object\" ? parsed : {};\n } catch {\n return {};\n }\n}\n\nexport async function writeConfig(config: OmniCliConfig): Promise<void> {\n const directory = path.dirname(configPath());\n await mkdir(directory, { recursive: true, mode: 0o700 });\n await writeFile(configPath(), `${JSON.stringify(config, null, 2)}\\n`, {\n encoding: \"utf8\",\n mode: 0o600,\n });\n await chmod(configPath(), 0o600);\n}\n\nexport async function clearConfig(): Promise<void> {\n await rm(configPath(), { force: true });\n}\n\nexport async function resolveCredentials(input: {\n apiKey?: string;\n baseUrl?: string;\n}): Promise<{ apiKey?: string; baseUrl: string; source: string }> {\n const file = await readConfig();\n const apiKey =\n input.apiKey || process.env.OMNI_API_KEY || file.apiKey || undefined;\n const source = input.apiKey\n ? \"flag\"\n : process.env.OMNI_API_KEY\n ? \"env\"\n : file.apiKey\n ? \"config\"\n : \"none\";\n const baseUrl =\n input.baseUrl ||\n process.env.OMNI_BASE_URL ||\n file.baseUrl ||\n \"https://omnicommerce.ai\";\n return { apiKey, baseUrl, source };\n}\n\nexport function maskSecret(value: string): string {\n if (value.length <= 8) return \"********\";\n return `${value.slice(0, 7)}…${value.slice(-4)}`;\n}\n","import { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"node:path\";\n\nimport { OmniClient } from \"@omni-commerce/sdk\";\n\nimport type { CliCommand } from \"./generated/commands\";\n\nfunction interpolatePath(\n template: string,\n values: Record<string, string>,\n): string {\n return template.replace(/\\{([^}]+)\\}/g, (_, name: string) => {\n const value = values[name];\n if (!value) {\n throw new Error(`Missing required path parameter: ${name}`);\n }\n return encodeURIComponent(value);\n });\n}\n\nconst UPLOAD_CONTENT_TYPES: Record<string, string> = {\n \".pdf\": \"application/pdf\",\n \".csv\": \"text/csv\",\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \".xlsm\": \"application/vnd.ms-excel.sheet.macroEnabled.12\",\n \".md\": \"text/markdown\",\n \".markdown\": \"text/markdown\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".png\": \"image/png\",\n \".webp\": \"image/webp\",\n \".avif\": \"image/avif\",\n \".heic\": \"image/heic\",\n \".heif\": \"image/heif\",\n};\n\n/** Multipart body: `--file <path>` as the file part, other fields as text. */\nasync function uploadBody(\n filePath: string,\n fields: Record<string, unknown>,\n): Promise<FormData> {\n const form = new FormData();\n const type =\n UPLOAD_CONTENT_TYPES[extname(filePath).toLowerCase()] ??\n \"application/octet-stream\";\n form.append(\n \"file\",\n new File([await readFile(filePath)], basename(filePath), { type }),\n );\n for (const [key, value] of Object.entries(fields)) {\n if (value === undefined || value === null) continue;\n form.append(\n key,\n typeof value === \"object\" ? JSON.stringify(value) : String(value),\n );\n }\n return form;\n}\n\nfunction stringValue(value: unknown, flag: string): string {\n if (typeof value !== \"string\" || value.trim() === \"\") {\n throw new Error(`Missing required flag --${flag}`);\n }\n return value;\n}\n\nexport async function executeCommand(\n client: OmniClient,\n command: CliCommand,\n request: Record<string, unknown>,\n): Promise<unknown> {\n if (command.resourcePath[0] === \"jobs\" && command.methodName === \"wait\") {\n const jobId = stringValue(request.jobId, \"job-id\");\n const organizationId =\n typeof request.organizationId === \"string\"\n ? request.organizationId\n : undefined;\n return client.jobs.wait({ jobId, organizationId });\n }\n\n const pathValues: Record<string, string> = {};\n const query: Record<string, unknown> = {};\n const consumed = new Set<string>();\n for (const flag of command.flags) {\n if (flag.source === \"body\") continue;\n const value = request[flag.name];\n if (value === undefined) continue;\n consumed.add(flag.name);\n if (flag.source === \"path\") {\n pathValues[flag.name] = stringValue(value, flag.flag);\n } else {\n query[flag.name] = value;\n }\n }\n\n const body: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(request)) {\n if (!consumed.has(key)) body[key] = value;\n }\n\n if (command.acceptsFile) {\n const { file, ...fields } = body;\n return client.request({\n method: command.httpMethod,\n path: interpolatePath(command.path, pathValues),\n query: Object.keys(query).length > 0 ? query : undefined,\n body: await uploadBody(stringValue(file, \"file\"), fields),\n });\n }\n\n return client.request({\n method: command.httpMethod,\n path: interpolatePath(command.path, pathValues),\n query: Object.keys(query).length > 0 ? query : undefined,\n body:\n command.acceptsJsonBody && Object.keys(body).length > 0\n ? body\n : undefined,\n });\n}\n","export type OutputFormat = \"json\" | \"table\";\n\nexport function resolveFormat(\n flag: string | undefined,\n stdoutIsTty: boolean,\n): OutputFormat {\n if (flag === \"table\" || flag === \"json\") return flag;\n return stdoutIsTty ? \"table\" : \"json\";\n}\n\nfunction cell(value: unknown): string {\n if (value === null || value === undefined) return \"\";\n if (typeof value === \"string\") return value;\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return String(value);\n }\n return JSON.stringify(value);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function formatOutput(value: unknown, format: OutputFormat): string {\n if (format === \"json\") return `${JSON.stringify(value, null, 2)}\\n`;\n if (Array.isArray(value) && value.every(isRecord)) {\n if (value.length === 0) return \"\";\n const keys = [...new Set(value.flatMap((row) => Object.keys(row)))].slice(\n 0,\n 8,\n );\n const header = keys.join(\"\\t\");\n const body = value\n .map((row) => keys.map((key) => cell(row[key])).join(\"\\t\"))\n .join(\"\\n\");\n return `${header}\\n${body}\\n`;\n }\n if (isRecord(value)) {\n return `${Object.entries(value)\n .map(([key, entry]) => `${key}\\t${cell(entry)}`)\n .join(\"\\n\")}\\n`;\n }\n return `${cell(value)}\\n`;\n}\n","/**\n * Auto-generated from docs/openapi.json. Do not edit.\n */\nexport type CliFlag = {\n name: string;\n flag: string;\n required: boolean;\n source: \"path\" | \"query\" | \"body\";\n};\n\nexport type CliCommand = {\n trail: string[];\n resourcePath: string[];\n methodName: string;\n httpMethod: string;\n path: string;\n summary: string;\n flags: CliFlag[];\n acceptsJsonBody: boolean;\n acceptsFile: boolean;\n bodyRequired: boolean;\n};\n\nexport const COMMANDS: CliCommand[] = [\n {\n trail: [\"api\", \"get-embedwell-knownagent-card-json\"],\n resourcePath: [\"api\"],\n methodName: \"getEmbedwellKnownagentCardJson\",\n httpMethod: \"GET\",\n path: \"/api/embed/{deploymentId}/.well-known/agent-card.json\",\n summary: \"Discover a published merchant agent\",\n flags: [\n {\n name: \"deploymentId\",\n flag: \"deployment-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"api\", \"embeda2a\"],\n resourcePath: [\"api\"],\n methodName: \"embeda2a\",\n httpMethod: \"POST\",\n path: \"/api/embed/{deploymentId}/a2a\",\n summary: \"Call a merchant agent using A2A\",\n flags: [\n {\n name: \"deploymentId\",\n flag: \"deployment-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"api\", \"embedcheckout-sessions\"],\n resourcePath: [\"api\"],\n methodName: \"embedcheckoutSessions\",\n httpMethod: \"POST\",\n path: \"/api/embed/{deploymentId}/checkout-sessions/{operation}\",\n summary: \"Manage customer-owned purchase offers\",\n flags: [\n {\n name: \"deploymentId\",\n flag: \"deployment-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"operation\",\n flag: \"operation\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"agents\", \"general\", \"invoke\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"invoke\",\n httpMethod: \"POST\",\n path: \"/api/v1/agents/general/invoke\",\n summary: \"Invoke the Omni agent\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"agents\", \"general\", \"start\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"start\",\n httpMethod: \"POST\",\n path: \"/api/v1/agents/general/runs\",\n summary: \"Start an Omni agent run\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"agents\", \"general\", \"get-run\"],\n resourcePath: [\"agents\", \"general\"],\n methodName: \"getRun\",\n httpMethod: \"GET\",\n path: \"/api/v1/agents/general/runs/{runId}\",\n summary: \"Get an Omni agent run\",\n flags: [\n {\n name: \"runId\",\n flag: \"run-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-ads\"],\n resourcePath: [\"analytics\"],\n methodName: \"getAds\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/ads\",\n summary: \"Get Ads Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-ai-traffic\"],\n resourcePath: [\"analytics\"],\n methodName: \"getAiTraffic\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/ai-traffic\",\n summary: \"Get AI Traffic Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"source\",\n flag: \"source\",\n required: false,\n source: \"query\",\n },\n {\n name: \"trafficType\",\n flag: \"traffic-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"route\",\n flag: \"route\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-content\"],\n resourcePath: [\"analytics\"],\n methodName: \"getContent\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/content\",\n summary: \"Get Video and LIVE Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-orders\"],\n resourcePath: [\"analytics\"],\n methodName: \"getOrders\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/orders\",\n summary: \"Get Order Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-overview\"],\n resourcePath: [\"analytics\"],\n methodName: \"getOverview\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/overview\",\n summary: \"Get Growth Overview\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-pricing\"],\n resourcePath: [\"analytics\"],\n methodName: \"getPricing\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/pricing\",\n summary: \"Get Pricing Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-products\"],\n resourcePath: [\"analytics\"],\n methodName: \"getProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/products\",\n summary: \"Get Product Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"productId\",\n flag: \"product-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-profit\"],\n resourcePath: [\"analytics\"],\n methodName: \"getProfit\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/profit\",\n summary: \"Get Profit Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sku\",\n flag: \"sku\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-reports\"],\n resourcePath: [\"analytics\"],\n methodName: \"getReports\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/reports\",\n summary: \"Get Business Report\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-stores\"],\n resourcePath: [\"analytics\"],\n methodName: \"getStores\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/stores\",\n summary: \"Get Store Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"analytics\", \"get-traffic\"],\n resourcePath: [\"analytics\"],\n methodName: \"getTraffic\",\n httpMethod: \"GET\",\n path: \"/api/v1/analytics/traffic\",\n summary: \"Get Traffic Analytics\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"from\",\n flag: \"from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"to\",\n flag: \"to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"timeZone\",\n flag: \"time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"get-config\"],\n resourcePath: [\"aop\"],\n methodName: \"getConfig\",\n httpMethod: \"GET\",\n path: \"/api/v1/aop/{aopId}/config\",\n summary: \"Get AOP configuration\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"update-config\"],\n resourcePath: [\"aop\"],\n methodName: \"updateConfig\",\n httpMethod: \"PUT\",\n path: \"/api/v1/aop/{aopId}/config\",\n summary: \"Overwrite AOP configuration\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"aop\", \"execute\"],\n resourcePath: [\"aop\"],\n methodName: \"execute\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/{aopId}/execute\",\n summary: \"Execute an AOP\",\n flags: [\n {\n name: \"aopId\",\n flag: \"aop-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"aop\", \"create\"],\n resourcePath: [\"aop\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/create\",\n summary: \"Create AOP\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"aop\", \"retry\"],\n resourcePath: [\"aop\"],\n methodName: \"retry\",\n httpMethod: \"POST\",\n path: \"/api/v1/aop/retry\",\n summary: \"Retry a failed AOP execution\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"brand-kits\", \"list\"],\n resourcePath: [\"brandKits\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/brand-kits\",\n summary: \"List Brand Kits\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"brand-kits\", \"create\"],\n resourcePath: [\"brandKits\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/brand-kits\",\n summary: \"Create Brand Kit\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"brand-kits\", \"delete\"],\n resourcePath: [\"brandKits\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/brand-kits/{brandKitId}\",\n summary: \"Delete Brand Kit\",\n flags: [\n {\n name: \"brandKitId\",\n flag: \"brand-kit-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"brand-kits\", \"get\"],\n resourcePath: [\"brandKits\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/brand-kits/{brandKitId}\",\n summary: \"Get Brand Kit\",\n flags: [\n {\n name: \"brandKitId\",\n flag: \"brand-kit-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"brand-kits\", \"update\"],\n resourcePath: [\"brandKits\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/brand-kits/{brandKitId}\",\n summary: \"Update Brand Kit\",\n flags: [\n {\n name: \"brandKitId\",\n flag: \"brand-kit-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"brandsgateway\", \"import-products\"],\n resourcePath: [\"brandsgateway\"],\n methodName: \"importProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/brandsgateway/import\",\n summary: \"Import BrandsGateway Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"list\"],\n resourcePath: [\"campaigns\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns\",\n summary: \"List Campaigns\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"stage\",\n flag: \"stage\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortDir\",\n flag: \"sort-dir\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"create\"],\n resourcePath: [\"campaigns\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns\",\n summary: \"Create Campaign\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"get\"],\n resourcePath: [\"campaigns\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/{campaignId}\",\n summary: \"Get Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"update\"],\n resourcePath: [\"campaigns\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/campaigns/{campaignId}\",\n summary: \"Change Campaign Details\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"replace\"],\n resourcePath: [\"campaigns\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/api/v1/campaigns/{campaignId}\",\n summary: \"Update Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"actions\"],\n resourcePath: [\"campaigns\"],\n methodName: \"actions\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/{campaignId}/actions\",\n summary: \"Act on Campaign\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"get-analytics\"],\n resourcePath: [\"campaigns\"],\n methodName: \"getAnalytics\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/{campaignId}/analytics\",\n summary: \"Get Campaign Analytics\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"analyticsWindow\",\n flag: \"analytics-window\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"get-notifications\"],\n resourcePath: [\"campaigns\"],\n methodName: \"getNotifications\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/{campaignId}/notifications\",\n summary: \"Get Campaign Notifications\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"set-notifications\"],\n resourcePath: [\"campaigns\"],\n methodName: \"setNotifications\",\n httpMethod: \"PUT\",\n path: \"/api/v1/campaigns/{campaignId}/notifications\",\n summary: \"Set Campaign Notifications\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"list-offers\"],\n resourcePath: [\"campaigns\"],\n methodName: \"listOffers\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/{campaignId}/offers\",\n summary: \"List Campaign Offers\",\n flags: [\n {\n name: \"campaignId\",\n flag: \"campaign-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"kind\",\n flag: \"kind\",\n required: false,\n source: \"query\",\n },\n {\n name: \"window\",\n flag: \"window\",\n required: false,\n source: \"query\",\n },\n {\n name: \"review\",\n flag: \"review\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"act-batch\"],\n resourcePath: [\"campaigns\"],\n methodName: \"actBatch\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/actions\",\n summary: \"Act on Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"archive\"],\n resourcePath: [\"campaigns\"],\n methodName: \"archive\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/archive\",\n summary: \"Archive Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"delete\"],\n resourcePath: [\"campaigns\"],\n methodName: \"delete\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/delete\",\n summary: \"Delete Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"import-briefs\"],\n resourcePath: [\"campaigns\"],\n methodName: \"importBriefs\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/import\",\n summary: \"Import Campaign Workbooks\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"get-options\"],\n resourcePath: [\"campaigns\"],\n methodName: \"getOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/campaigns/options\",\n summary: \"Get Campaign Options\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"campaigns\", \"resolve-promotion-options\"],\n resourcePath: [\"campaigns\"],\n methodName: \"resolvePromotionOptions\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/promotion-options\",\n summary: \"Resolve Campaign Promotion Selection\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"campaigns\", \"validate\"],\n resourcePath: [\"campaigns\"],\n methodName: \"validate\",\n httpMethod: \"POST\",\n path: \"/api/v1/campaigns/validate\",\n summary: \"Validate Campaigns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"catalog\", \"list-items\"],\n resourcePath: [\"catalog\"],\n methodName: \"listItems\",\n httpMethod: \"GET\",\n path: \"/api/v1/catalog/items\",\n summary: \"Export Catalog Items\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"format\",\n flag: \"format\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"create\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions\",\n summary: \"Create Agentic Checkout Session\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"get\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Get Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"update\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Update Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"replace\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/api/v1/checkout-sessions/{sessionId}\",\n summary: \"Replace Agentic Checkout Session Fields\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"checkout-sessions\", \"cancel\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions/{sessionId}/cancel\",\n summary: \"Cancel Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"checkout-sessions\", \"complete\"],\n resourcePath: [\"checkoutSessions\"],\n methodName: \"complete\",\n httpMethod: \"POST\",\n path: \"/api/v1/checkout-sessions/{sessionId}/complete\",\n summary: \"Complete Agentic Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"commerce\", \"await-jobs\"],\n resourcePath: [\"commerce\"],\n methodName: \"awaitJobs\",\n httpMethod: \"POST\",\n path: \"/api/v1/commerce/jobs/await\",\n summary: \"Await Commerce Jobs\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"commerce\", \"verify-state\"],\n resourcePath: [\"commerce\"],\n methodName: \"verifyState\",\n httpMethod: \"POST\",\n path: \"/api/v1/commerce/state/verify\",\n summary: \"Verify Commerce State\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"compare\", \"get\"],\n resourcePath: [\"compare\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/compare\",\n summary: \"Compare Public Products\",\n flags: [\n {\n name: \"products\",\n flag: \"products\",\n required: true,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"directory\", \"list\"],\n resourcePath: [\"directory\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/directory\",\n summary: \"List Public Merchants\",\n flags: [],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"documents\", \"upload\"],\n resourcePath: [\"documents\"],\n methodName: \"upload\",\n httpMethod: \"POST\",\n path: \"/api/v1/documents\",\n summary: \"Upload Document\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: true,\n bodyRequired: true,\n },\n {\n trail: [\"documents\", \"get\"],\n resourcePath: [\"documents\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/documents/{documentId}\",\n summary: \"Get Document\",\n flags: [\n {\n name: \"documentId\",\n flag: \"document-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"includeDownloadUrl\",\n flag: \"include-download-url\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"evaluate\", \"run\"],\n resourcePath: [\"evaluate\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/evaluate\",\n summary: \"Evaluate SKU Readiness\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"feed\", \"get-llms-txt\"],\n resourcePath: [\"feed\"],\n methodName: \"getLlmsTxt\",\n httpMethod: \"GET\",\n path: \"/api/v1/feed/{domain}/llms.txt\",\n summary: \"Get Merchant LLM Feed\",\n flags: [\n {\n name: \"domain\",\n flag: \"domain\",\n required: true,\n source: \"path\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"images\", \"ghost-mannequin\"],\n resourcePath: [\"images\"],\n methodName: \"ghostMannequin\",\n httpMethod: \"POST\",\n path: \"/api/v1/images/ghost-mannequin\",\n summary: \"Generate Ghost Mannequin Image\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"inventory\", \"list\"],\n resourcePath: [\"inventory\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/inventory\",\n summary: \"List Inventory Groups\",\n flags: [\n {\n name: \"productIds\",\n flag: \"product-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"query\",\n flag: \"query\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"storeIds\",\n flag: \"store-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"unlistedMarketplaces\",\n flag: \"unlisted-marketplaces\",\n required: false,\n source: \"query\",\n },\n {\n name: \"groupBy\",\n flag: \"group-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"jobs\", \"get\"],\n resourcePath: [\"jobs\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/jobs/{jobId}\",\n summary: \"Get Developer Job Status\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"jobs\", \"cancel\"],\n resourcePath: [\"jobs\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/api/v1/jobs/{jobId}/cancel\",\n summary: \"Cancel Developer Job\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"looks\", \"list\"],\n resourcePath: [\"looks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/looks\",\n summary: \"List Looks\",\n flags: [\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"looks\", \"create\"],\n resourcePath: [\"looks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/looks\",\n summary: \"Create Look\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"looks\", \"get\"],\n resourcePath: [\"looks\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/looks/{lookId}\",\n summary: \"Get Look\",\n flags: [\n {\n name: \"lookId\",\n flag: \"look-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"product-categories\", \"recommend\"],\n resourcePath: [\"productCategories\"],\n methodName: \"recommend\",\n httpMethod: \"POST\",\n path: \"/api/v1/manage-product-category/recommend\",\n summary: \"Recommend Marketplace Product Categories\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"marketplaces\", \"list-connected\"],\n resourcePath: [\"marketplaces\"],\n methodName: \"listConnected\",\n httpMethod: \"GET\",\n path: \"/api/v1/marketplaces/connected\",\n summary: \"List Connected Marketplaces\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"get-manifest\"],\n resourcePath: [\"merchants\"],\n methodName: \"getManifest\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/manifest\",\n summary: \"Get Public Merchant Manifest\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"list-products\"],\n resourcePath: [\"merchants\"],\n methodName: \"listProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/products\",\n summary: \"List Public Merchant Products\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"merchants\", \"search\"],\n resourcePath: [\"merchants\"],\n methodName: \"search\",\n httpMethod: \"GET\",\n path: \"/api/v1/merchants/{merchantId}/search\",\n summary: \"Search Within Public Merchant Catalog\",\n flags: [\n {\n name: \"merchantId\",\n flag: \"merchant-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"monitor\", \"run\"],\n resourcePath: [\"monitor\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/monitor\",\n summary: \"Run AI Shelf Share Monitor\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"oauth\", \"revoke\"],\n resourcePath: [\"oauth\"],\n methodName: \"revoke\",\n httpMethod: \"POST\",\n path: \"/api/v1/oauth/revoke\",\n summary: \"Revoke Access Token\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"oauth\", \"token\"],\n resourcePath: [\"oauth\"],\n methodName: \"token\",\n httpMethod: \"POST\",\n path: \"/api/v1/oauth/token\",\n summary: \"Get Access Token\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"list\"],\n resourcePath: [\"orders\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders\",\n summary: \"List Orders\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"bundleType\",\n flag: \"bundle-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"dateFrom\",\n flag: \"date-from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"dateTo\",\n flag: \"date-to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"create\"],\n resourcePath: [\"orders\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders\",\n summary: \"Create Order\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"get\"],\n resourcePath: [\"orders\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}\",\n summary: \"Get Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"update\"],\n resourcePath: [\"orders\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/orders/{orderId}\",\n summary: \"Update Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"get-action-options\"],\n resourcePath: [\"orders\"],\n methodName: \"getActionOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}/action-options\",\n summary: \"Get Order Action Options\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"action\",\n flag: \"action\",\n required: true,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"list-actions\"],\n resourcePath: [\"orders\"],\n methodName: \"listActions\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/{orderId}/actions\",\n summary: \"List Order Actions\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"queue-action\"],\n resourcePath: [\"orders\"],\n methodName: \"queueAction\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders/{orderId}/actions\",\n summary: \"Queue Order Action\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"list-batch-action-options\"],\n resourcePath: [\"orders\"],\n methodName: \"listBatchActionOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/actions\",\n summary: \"Check Order Action Options\",\n flags: [\n {\n name: \"orderIds\",\n flag: \"order-ids\",\n required: true,\n source: \"query\",\n },\n {\n name: \"action\",\n flag: \"action\",\n required: true,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"process-actions\"],\n resourcePath: [\"orders\"],\n methodName: \"processActions\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders/actions\",\n summary: \"Process Order Actions\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"orders\", \"get-action-jobs\"],\n resourcePath: [\"orders\"],\n methodName: \"getActionJobs\",\n httpMethod: \"GET\",\n path: \"/api/v1/orders/actions/jobs\",\n summary: \"Get Order Action Jobs\",\n flags: [\n {\n name: \"jobIds\",\n flag: \"job-ids\",\n required: true,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"orders\", \"create-picking-list\"],\n resourcePath: [\"orders\"],\n methodName: \"createPickingList\",\n httpMethod: \"POST\",\n path: \"/api/v1/orders/picking-list\",\n summary: \"Create Picking List\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"organizations\", \"create\"],\n resourcePath: [\"organizations\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/organizations\",\n summary: \"Create Organization\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"list\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/price-books\",\n summary: \"List Price Book Rules\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"enabledOnly\",\n flag: \"enabled-only\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"create\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/price-books\",\n summary: \"Create Price Book Rule\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"delete\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Delete Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"get\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Get Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"price-books\", \"update\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/price-books/{ruleId}\",\n summary: \"Update Price Book Rule\",\n flags: [\n {\n name: \"ruleId\",\n flag: \"rule-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"price-books\", \"preview\"],\n resourcePath: [\"priceBooks\"],\n methodName: \"preview\",\n httpMethod: \"POST\",\n path: \"/api/v1/price-books/preview\",\n summary: \"Preview Channel List Price\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"list\"],\n resourcePath: [\"products\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/products\",\n summary: \"List Products\",\n flags: [\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sku\",\n flag: \"sku\",\n required: false,\n source: \"query\",\n },\n {\n name: \"minPrice\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"maxPrice\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"storeKeys\",\n flag: \"store-keys\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brands\",\n flag: \"brands\",\n required: false,\n source: \"query\",\n },\n {\n name: \"bundleType\",\n flag: \"bundle-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"hasImage\",\n flag: \"has-image\",\n required: false,\n source: \"query\",\n },\n {\n name: \"stock\",\n flag: \"stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"duplicateStatus\",\n flag: \"duplicate-status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"duplicateType\",\n flag: \"duplicate-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedFrom\",\n flag: \"published-from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedTo\",\n flag: \"published-to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedTimeZone\",\n flag: \"published-time-zone\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"includeSummary\",\n flag: \"include-summary\",\n required: false,\n source: \"query\",\n },\n {\n name: \"detail\",\n flag: \"detail\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"create\"],\n resourcePath: [\"products\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/products\",\n summary: \"Create Product\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"delete\"],\n resourcePath: [\"products\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Delete Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"get\"],\n resourcePath: [\"products\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Get Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update\"],\n resourcePath: [\"products\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}\",\n summary: \"Update Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"update-cost\"],\n resourcePath: [\"products\"],\n methodName: \"updateCost\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/cost\",\n summary: \"Update Product Cost\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"delist\"],\n resourcePath: [\"products\"],\n methodName: \"delist\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/delist\",\n summary: \"Delist Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"upload-image\"],\n resourcePath: [\"products\"],\n methodName: \"uploadImage\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/images\",\n summary: \"Upload Product Image\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: true,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"update-inventory\"],\n resourcePath: [\"products\"],\n methodName: \"updateInventory\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/inventory\",\n summary: \"Update Product Inventory\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"get-listings\"],\n resourcePath: [\"products\"],\n methodName: \"getListings\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/{productId}/listings\",\n summary: \"Get Product Listings\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update-price\"],\n resourcePath: [\"products\"],\n methodName: \"updatePrice\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/products/{productId}/price\",\n summary: \"Update Product Price\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"publish\"],\n resourcePath: [\"products\"],\n methodName: \"publish\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/{productId}/publish\",\n summary: \"Publish Product\",\n flags: [\n {\n name: \"productId\",\n flag: \"product-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"bulk-import\"],\n resourcePath: [\"products\"],\n methodName: \"bulkImport\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/bulk-import\",\n summary: \"Bulk Import Products from JSON or CSV\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"get-bulk-import-retry\"],\n resourcePath: [\"products\"],\n methodName: \"getBulkImportRetry\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/bulk-import/retries/{retryJobId}\",\n summary: \"Get Import Retry Progress\",\n flags: [\n {\n name: \"retryJobId\",\n flag: \"retry-job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"retry-bulk-import\"],\n resourcePath: [\"products\"],\n methodName: \"retryBulkImport\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/bulk-import/retry\",\n summary: \"Retry Failed Import or Review Jobs\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"compare-prices\"],\n resourcePath: [\"products\"],\n methodName: \"comparePrices\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/compare-prices\",\n summary: \"Compare Product Market Prices\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"get-price-comparison\"],\n resourcePath: [\"products\"],\n methodName: \"getPriceComparison\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/compare-prices/jobs/{jobId}\",\n summary: \"Get Product Price Comparison\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"update-costs\"],\n resourcePath: [\"products\"],\n methodName: \"updateCosts\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/cost\",\n summary: \"Batch Update Product Cost\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"products\", \"count\"],\n resourcePath: [\"products\"],\n methodName: \"count\",\n httpMethod: \"GET\",\n path: \"/api/v1/products/count\",\n summary: \"Count Products\",\n flags: [\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sku\",\n flag: \"sku\",\n required: false,\n source: \"query\",\n },\n {\n name: \"minPrice\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"maxPrice\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"storeKeys\",\n flag: \"store-keys\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brands\",\n flag: \"brands\",\n required: false,\n source: \"query\",\n },\n {\n name: \"bundleType\",\n flag: \"bundle-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"hasImage\",\n flag: \"has-image\",\n required: false,\n source: \"query\",\n },\n {\n name: \"stock\",\n flag: \"stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"duplicateStatus\",\n flag: \"duplicate-status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"duplicateType\",\n flag: \"duplicate-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedFrom\",\n flag: \"published-from\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedTo\",\n flag: \"published-to\",\n required: false,\n source: \"query\",\n },\n {\n name: \"publishedTimeZone\",\n flag: \"published-time-zone\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"products\", \"enrich\"],\n resourcePath: [\"products\"],\n methodName: \"enrich\",\n httpMethod: \"POST\",\n path: \"/api/v1/products/enrich\",\n summary: \"Queue Product Enrichment\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"list\"],\n resourcePath: [\"promotions\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions\",\n summary: \"List Promotions\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"campaign\",\n flag: \"campaign\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortDir\",\n flag: \"sort-dir\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"create\"],\n resourcePath: [\"promotions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions\",\n summary: \"Create Promotion\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"delete\"],\n resourcePath: [\"promotions\"],\n methodName: \"delete\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Delete Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"get\"],\n resourcePath: [\"promotions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Get Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"update\"],\n resourcePath: [\"promotions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/promotions/{promotionId}\",\n summary: \"Update Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"preview\"],\n resourcePath: [\"promotions\"],\n methodName: \"preview\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/preview\",\n summary: \"Preview Promotion Prices\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"remove-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"removeProducts\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"Unassign Products from Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"list-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"listProducts\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"List Promotion Assignments\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"add-products\"],\n resourcePath: [\"promotions\"],\n methodName: \"addProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/products\",\n summary: \"Assign Products to Promotion\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"retry\"],\n resourcePath: [\"promotions\"],\n methodName: \"retry\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/retry\",\n summary: \"Retry Marketplace Delivery\",\n flags: [\n {\n name: \"promotionId\",\n flag: \"promotion-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"create-batch\"],\n resourcePath: [\"promotions\"],\n methodName: \"createBatch\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/batch\",\n summary: \"Create Promotions with Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"get-campaign-options\"],\n resourcePath: [\"promotions\"],\n methodName: \"getCampaignOptions\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/campaign-options\",\n summary: \"Find Promotion Campaigns\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"get-capabilities\"],\n resourcePath: [\"promotions\"],\n methodName: \"getCapabilities\",\n httpMethod: \"GET\",\n path: \"/api/v1/promotions/capabilities\",\n summary: \"Get Promotion Marketplace Capabilities\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"promotions\", \"delete-batch\"],\n resourcePath: [\"promotions\"],\n methodName: \"deleteBatch\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/delete\",\n summary: \"Delete Promotions\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"get-delivery\"],\n resourcePath: [\"promotions\"],\n methodName: \"getDelivery\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/delivery\",\n summary: \"Read Promotion Delivery\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"get-product-options\"],\n resourcePath: [\"promotions\"],\n methodName: \"getProductOptions\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/product-options\",\n summary: \"Find Eligible Promotion Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"set-statuses\"],\n resourcePath: [\"promotions\"],\n methodName: \"setStatuses\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/status\",\n summary: \"Set Promotion Statuses\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"validate\"],\n resourcePath: [\"promotions\"],\n methodName: \"validate\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/validate\",\n summary: \"Validate Promotions\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"returns\", \"list\"],\n resourcePath: [\"returns\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns\",\n summary: \"List Returns\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"accountId\",\n flag: \"account-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"externalOrderId\",\n flag: \"external-order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"returns\", \"get\"],\n resourcePath: [\"returns\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns/{returnId}\",\n summary: \"Get Return\",\n flags: [\n {\n name: \"returnId\",\n flag: \"return-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"returns\", \"list-actions\"],\n resourcePath: [\"returns\"],\n methodName: \"listActions\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns/actions\",\n summary: \"Check Return Actions\",\n flags: [\n {\n name: \"returnIds\",\n flag: \"return-ids\",\n required: true,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"returns\", \"process\"],\n resourcePath: [\"returns\"],\n methodName: \"process\",\n httpMethod: \"POST\",\n path: \"/api/v1/returns/actions\",\n summary: \"Process Returns\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"returns\", \"get-action-jobs\"],\n resourcePath: [\"returns\"],\n methodName: \"getActionJobs\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns/actions/jobs\",\n summary: \"Get Return Action Jobs\",\n flags: [\n {\n name: \"jobIds\",\n flag: \"job-ids\",\n required: true,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"returns\", \"list-for-orders\"],\n resourcePath: [\"returns\"],\n methodName: \"listForOrders\",\n httpMethod: \"GET\",\n path: \"/api/v1/returns/orders\",\n summary: \"Get Order Returns\",\n flags: [\n {\n name: \"orderIds\",\n flag: \"order-ids\",\n required: true,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"list\"],\n resourcePath: [\"reviews\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/reviews\",\n summary: \"List Reviews\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n {\n name: \"priority\",\n flag: \"priority\",\n required: false,\n source: \"query\",\n },\n {\n name: \"store\",\n flag: \"store\",\n required: false,\n source: \"query\",\n },\n {\n name: \"productId\",\n flag: \"product-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sortBy\",\n flag: \"sort-by\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"get\"],\n resourcePath: [\"reviews\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/reviews/{reviewId}\",\n summary: \"Get Review\",\n flags: [\n {\n name: \"reviewId\",\n flag: \"review-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"reviews\", \"reply\"],\n resourcePath: [\"reviews\"],\n methodName: \"reply\",\n httpMethod: \"POST\",\n path: \"/api/v1/reviews/{reviewId}/reply\",\n summary: \"Reply to Review\",\n flags: [\n {\n name: \"reviewId\",\n flag: \"review-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"list\"],\n resourcePath: [\"scripts\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/scripts\",\n summary: \"List Organization Scripts\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"status\",\n flag: \"status\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"scripts\", \"create\"],\n resourcePath: [\"scripts\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts\",\n summary: \"Create Script\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"archive\"],\n resourcePath: [\"scripts\"],\n methodName: \"archive\",\n httpMethod: \"DELETE\",\n path: \"/api/v1/scripts/{scriptId}\",\n summary: \"Archive Script\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"scripts\", \"get\"],\n resourcePath: [\"scripts\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/scripts/{scriptId}\",\n summary: \"Get Script\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"scripts\", \"update\"],\n resourcePath: [\"scripts\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/api/v1/scripts/{scriptId}\",\n summary: \"Update Script\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"activate\"],\n resourcePath: [\"scripts\"],\n methodName: \"activate\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts/{scriptId}/activate\",\n summary: \"Activate Script Version\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"deploy\"],\n resourcePath: [\"scripts\"],\n methodName: \"deploy\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts/{scriptId}/deploy\",\n summary: \"Deploy Script\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"list-runs\"],\n resourcePath: [\"scripts\"],\n methodName: \"listRuns\",\n httpMethod: \"GET\",\n path: \"/api/v1/scripts/{scriptId}/runs\",\n summary: \"List Script Runs\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"scripts\", \"execute\"],\n resourcePath: [\"scripts\"],\n methodName: \"execute\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts/{scriptId}/runs\",\n summary: \"Execute Script\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"get-source\"],\n resourcePath: [\"scripts\"],\n methodName: \"getSource\",\n httpMethod: \"GET\",\n path: \"/api/v1/scripts/{scriptId}/source\",\n summary: \"Get Script Source\",\n flags: [\n {\n name: \"scriptId\",\n flag: \"script-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"scripts\", \"await-runs\"],\n resourcePath: [\"scripts\"],\n methodName: \"awaitRuns\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts/jobs/await\",\n summary: \"Read Script Run Results\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"scripts\", \"cancel-runs\"],\n resourcePath: [\"scripts\"],\n methodName: \"cancelRuns\",\n httpMethod: \"POST\",\n path: \"/api/v1/scripts/jobs/cancel\",\n summary: \"Cancel Script Runs\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"search\", \"list\"],\n resourcePath: [\"search\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/search\",\n summary: \"Search Public Merchant Products\",\n flags: [\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"merchant_ids\",\n flag: \"merchant-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"search\", \"query\"],\n resourcePath: [\"search\"],\n methodName: \"query\",\n httpMethod: \"POST\",\n path: \"/api/v1/search\",\n summary: \"Search Public Merchant Products\",\n flags: [\n {\n name: \"currency\",\n flag: \"currency\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_rating\",\n flag: \"min-rating\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_review_count\",\n flag: \"min-review-count\",\n required: false,\n source: \"query\",\n },\n {\n name: \"added_after\",\n flag: \"added-after\",\n required: false,\n source: \"query\",\n },\n {\n name: \"variant_options\",\n flag: \"variant-options\",\n required: false,\n source: \"query\",\n },\n {\n name: \"q\",\n flag: \"q\",\n required: false,\n source: \"query\",\n },\n {\n name: \"category\",\n flag: \"category\",\n required: false,\n source: \"query\",\n },\n {\n name: \"brand\",\n flag: \"brand\",\n required: false,\n source: \"query\",\n },\n {\n name: \"min_price\",\n flag: \"min-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"max_price\",\n flag: \"max-price\",\n required: false,\n source: \"query\",\n },\n {\n name: \"in_stock\",\n flag: \"in-stock\",\n required: false,\n source: \"query\",\n },\n {\n name: \"merchant_ids\",\n flag: \"merchant-ids\",\n required: false,\n source: \"query\",\n },\n {\n name: \"sort\",\n flag: \"sort\",\n required: false,\n source: \"query\",\n },\n {\n name: \"platform\",\n flag: \"platform\",\n required: false,\n source: \"query\",\n },\n {\n name: \"country\",\n flag: \"country\",\n required: false,\n source: \"query\",\n },\n {\n name: \"language\",\n flag: \"language\",\n required: false,\n source: \"query\",\n },\n {\n name: \"include_intent\",\n flag: \"include-intent\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n {\n name: \"offset\",\n flag: \"offset\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"settlements\", \"list\"],\n resourcePath: [\"settlements\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/settlements\",\n summary: \"List Settlements\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"marketplace\",\n flag: \"marketplace\",\n required: false,\n source: \"query\",\n },\n {\n name: \"accountId\",\n flag: \"account-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"externalOrderId\",\n flag: \"external-order-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"updatedSince\",\n flag: \"updated-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"settlements\", \"create\"],\n resourcePath: [\"settlements\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/settlements\",\n summary: \"Apply Settlements\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"settlements\", \"get\"],\n resourcePath: [\"settlements\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/api/v1/settlements/{settlementId}\",\n summary: \"Get Settlement\",\n flags: [\n {\n name: \"settlementId\",\n flag: \"settlement-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"sync\", \"run\"],\n resourcePath: [\"sync\"],\n methodName: \"run\",\n httpMethod: \"POST\",\n path: \"/api/v1/sync\",\n summary: \"Sync Product Commercial Fields\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"threads\", \"get-status\"],\n resourcePath: [\"threads\"],\n methodName: \"getStatus\",\n httpMethod: \"GET\",\n path: \"/api/v1/threads/{thread_id}/status\",\n summary: \"Get Thread Status\",\n flags: [\n {\n name: \"thread_id\",\n flag: \"thread-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"include_messages\",\n flag: \"include-messages\",\n required: false,\n source: \"query\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhook-events\", \"list\"],\n resourcePath: [\"webhookEvents\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/webhook-events\",\n summary: \"List Webhook Events\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"eventType\",\n flag: \"event-type\",\n required: false,\n source: \"query\",\n },\n {\n name: \"occurredSince\",\n flag: \"occurred-since\",\n required: false,\n source: \"query\",\n },\n {\n name: \"cursor\",\n flag: \"cursor\",\n required: false,\n source: \"query\",\n },\n {\n name: \"limit\",\n flag: \"limit\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhooks\", \"list\"],\n resourcePath: [\"webhooks\"],\n methodName: \"list\",\n httpMethod: \"GET\",\n path: \"/api/v1/webhooks\",\n summary: \"List Developer Webhooks\",\n flags: [],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"webhooks\", \"create\"],\n resourcePath: [\"webhooks\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/api/v1/webhooks\",\n summary: \"Create Developer Webhook\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"zalora\", \"get-import\"],\n resourcePath: [\"zalora\"],\n methodName: \"getImport\",\n httpMethod: \"GET\",\n path: \"/api/v1/zalora/import\",\n summary: \"Get Selected Zalora Import Status\",\n flags: [\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"query\",\n },\n {\n name: \"storeId\",\n flag: \"store-id\",\n required: true,\n source: \"query\",\n },\n {\n name: \"productSetIds\",\n flag: \"product-set-ids\",\n required: true,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"zalora\", \"import-products\"],\n resourcePath: [\"zalora\"],\n methodName: \"importProducts\",\n httpMethod: \"POST\",\n path: \"/api/v1/zalora/import\",\n summary: \"Import Selected Zalora Products\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"create\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"create\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions\",\n summary: \"Create UCP Checkout Session\",\n flags: [],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"get\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Get UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"update\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"update\",\n httpMethod: \"PATCH\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Update UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"replace\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"replace\",\n httpMethod: \"PUT\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}\",\n summary: \"Replace UCP Checkout Session Fields\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"cancel\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"cancel\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}/cancel\",\n summary: \"Cancel UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"ucp\", \"checkout-sessions\", \"complete\"],\n resourcePath: [\"ucp\", \"checkoutSessions\"],\n methodName: \"complete\",\n httpMethod: \"POST\",\n path: \"/ucp/v1/checkout-sessions/{sessionId}/complete\",\n summary: \"Complete UCP Checkout Session\",\n flags: [\n {\n name: \"sessionId\",\n flag: \"session-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: true,\n },\n {\n trail: [\"ucp\", \"orders\", \"get\"],\n resourcePath: [\"ucp\", \"orders\"],\n methodName: \"get\",\n httpMethod: \"GET\",\n path: \"/ucp/v1/orders/{orderId}\",\n summary: \"Get UCP Order\",\n flags: [\n {\n name: \"orderId\",\n flag: \"order-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n {\n trail: [\"jobs\", \"wait\"],\n resourcePath: [\"jobs\"],\n methodName: \"wait\",\n httpMethod: \"GET\",\n path: \"/api/v1/jobs/{jobId}\",\n summary: \"Poll a developer job until the nested status is terminal\",\n flags: [\n {\n name: \"jobId\",\n flag: \"job-id\",\n required: true,\n source: \"path\",\n },\n {\n name: \"organizationId\",\n flag: \"organization-id\",\n required: false,\n source: \"query\",\n },\n ],\n acceptsJsonBody: false,\n acceptsFile: false,\n bodyRequired: false,\n },\n];\n","/** Auto-generated from docs/openapi.json. Do not edit. */\nimport type { BodySchema } from \"../body-flags\";\nexport const CAMPAIGN_INPUTS: Record<string, BodySchema> = {\n patch: {\n type: \"object\",\n properties: {\n expectedRevision: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n name: {\n type: \"string\",\n minLength: 2,\n maxLength: 160,\n },\n objective: {\n type: \"string\",\n maxLength: 8000,\n },\n brand: {\n type: \"string\",\n maxLength: 160,\n },\n ownerId: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n description:\n \"Organization member ID or eligible oauth:<clientId> actor from campaign options.\",\n },\n approverId: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n description:\n \"Explicit named approver: organization member ID or eligible oauth:<clientId> actor from campaign options. Other users and API clients cannot approve on this actor's behalf.\",\n },\n timezone: {\n type: \"string\",\n },\n stores: {\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n marketplace: {\n type: \"string\",\n enum: [\n \"shopee\",\n \"lazada\",\n \"tiktok\",\n \"shopify\",\n \"whatsapp\",\n \"zalora\",\n \"amazon\",\n \"ebay\",\n ],\n },\n country: {\n type: \"string\",\n minLength: 1,\n maxLength: 80,\n },\n storeId: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n },\n required: [\"marketplace\", \"country\", \"storeId\"],\n additionalProperties: false,\n },\n },\n serviceRequest: {\n type: \"string\",\n maxLength: 300,\n },\n priority: {\n type: \"string\",\n enum: [\"standard\", \"priority\", \"super_priority\"],\n },\n documentIds: {\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n },\n reviewDueAt: {\n anyOf: [\n {\n type: \"string\",\n format: \"date-time\",\n pattern:\n \"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n sourceCurrency: {\n type: \"string\",\n pattern: \"^[A-Z]{3}$\",\n },\n sourceMarketplace: {\n type: \"string\",\n enum: [\n \"shopee\",\n \"lazada\",\n \"tiktok\",\n \"shopify\",\n \"whatsapp\",\n \"zalora\",\n \"amazon\",\n \"ebay\",\n ],\n },\n sourceCountry: {\n type: \"string\",\n maxLength: 80,\n },\n syncMode: {\n type: \"string\",\n enum: [\"offer_windows\", \"campaign_start\"],\n },\n cleanupNotes: {\n type: \"string\",\n maxLength: 8000,\n },\n offers: {\n description:\n \"Add or update promotions by stable offer id. Existing IDs patch only supplied fields; new IDs require windowId and promotion terms. Omitted offers stay unchanged.\",\n maxItems: 500,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n windowId: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n promotionId: {\n description:\n \"Existing draft promotion attached to this window; the campaign controls its live dates.\",\n type: \"string\",\n format: \"uuid\",\n pattern:\n \"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\",\n },\n productIds: {\n maxItems: 200,\n type: \"array\",\n items: {\n type: \"string\",\n format: \"uuid\",\n pattern:\n \"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\",\n },\n },\n reviewNotes: {\n type: \"string\",\n maxLength: 8000,\n },\n excludedReason: {\n type: \"string\",\n maxLength: 2000,\n },\n name: {\n type: \"string\",\n minLength: 1,\n maxLength: 200,\n },\n description: {\n anyOf: [\n {\n type: \"string\",\n maxLength: 2000,\n },\n {\n type: \"null\",\n },\n ],\n },\n kind: {\n description:\n \"Canonical OmniCommerce promotion mechanic: product discount, flash sale, voucher, gift with purchase, Buy-X-Get-Y, bundle deal, or Lazada-only free shipping and early bird price.\",\n type: \"string\",\n enum: [\n \"product_discount\",\n \"flash_sale\",\n \"voucher\",\n \"gift_with_purchase\",\n \"buy_x_get_y\",\n \"bundle_deal\",\n \"free_shipping\",\n \"early_bird_price\",\n ],\n },\n salesChannels: {\n minItems: 1,\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\"pdp\", \"live\"],\n },\n },\n discountType: {\n type: \"string\",\n enum: [\"percentage\", \"fixed_amount\"],\n },\n discountValue: {\n type: \"number\",\n minimum: 0,\n },\n storeDiscounts: {\n description:\n \"Patch discount terms for exact target store keys; unnamed stores remain unchanged. Null discountValue restores shared campaign terms for that store.\",\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n storeKey: {\n type: \"string\",\n minLength: 1,\n maxLength: 255,\n },\n discountType: {\n type: \"string\",\n enum: [\"percentage\", \"fixed_amount\"],\n },\n discountValue: {\n anyOf: [\n {\n type: \"number\",\n minimum: 0,\n },\n {\n type: \"null\",\n },\n ],\n },\n },\n required: [\"storeKey\", \"discountType\", \"discountValue\"],\n additionalProperties: false,\n },\n },\n targetStores: {\n description:\n \"Up to 100 connected stores for create (required) or update. Copy marketplace, country, and storeId from get_promotions targetStores or find_products marketplaceDetails. Do not concatenate a storeKeys string.\",\n minItems: 1,\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n marketplace: {\n type: \"string\",\n enum: [\n \"lazada\",\n \"shopee\",\n \"tiktok\",\n \"shopify\",\n \"amazon\",\n \"zalora\",\n \"ebay\",\n ],\n },\n country: {\n type: \"string\",\n minLength: 1,\n maxLength: 80,\n },\n storeId: {\n type: \"string\",\n minLength: 1,\n maxLength: 120,\n },\n },\n required: [\"marketplace\", \"country\", \"storeId\"],\n additionalProperties: false,\n },\n },\n minSalePrice: {\n anyOf: [\n {\n type: \"number\",\n minimum: 0,\n },\n {\n type: \"null\",\n },\n ],\n },\n maxDiscountAmount: {\n anyOf: [\n {\n type: \"number\",\n minimum: 0,\n },\n {\n type: \"null\",\n },\n ],\n },\n minSpend: {\n anyOf: [\n {\n type: \"number\",\n minimum: 0,\n },\n {\n type: \"null\",\n },\n ],\n },\n voucherCode: {\n anyOf: [\n {\n type: \"string\",\n minLength: 1,\n maxLength: 100,\n },\n {\n type: \"null\",\n },\n ],\n },\n claimStartsAt: {\n anyOf: [\n {\n type: \"string\",\n format: \"date-time\",\n pattern:\n \"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n totalUsageLimit: {\n anyOf: [\n {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n {\n type: \"null\",\n },\n ],\n },\n perBuyerLimit: {\n anyOf: [\n {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n {\n type: \"null\",\n },\n ],\n },\n voucherType: {\n description:\n \"Voucher subtype from get_promotions capabilities.voucherTypes. Browser AOP types (delivery=browser_aop) are writable Seller Center vouchers. Omit browserAutomation.aopId to use the built-in marketplace AOP.\",\n anyOf: [\n {\n type: \"string\",\n enum: [\n \"shopee_shop\",\n \"shopee_product\",\n \"shopee_private\",\n \"shopee_live\",\n \"shopee_video\",\n \"shopee_new_buyer\",\n \"shopee_repeat_buyer\",\n \"shopee_campaign\",\n \"shopee_follow_prize\",\n \"shopee_exclusive_streamer\",\n \"shopee_welcome\",\n \"shopee_member_repeat_buyer\",\n \"shopee_exclusive\",\n \"shopee_redemption\",\n \"shopee_exclusive_creator\",\n \"lazada_store_follower\",\n \"lazada_regular\",\n \"lazada_store_new_buyer\",\n \"lazada_live\",\n \"lazada_offline\",\n \"lazada_co_funded\",\n \"lazada_welcome\",\n \"lazada_linked_member\",\n \"lazada_new_member\",\n \"lazada_member_exclusive\",\n \"lazada_points_redeemable\",\n \"tiktok_seller_coupon\",\n \"shopify_discount_code\",\n \"amazon_promotion_code\",\n \"zalora_seller_voucher\",\n \"ebay_coded_coupon\",\n ],\n },\n {\n type: \"null\",\n },\n ],\n },\n voucherCampaign: {\n description:\n \"Campaign voucher targeting: exact campaignId/sessionId from Seller Center and termsAccepted only after the seller reviewed participation obligations. Required for shopee_campaign; nomination creates a draft awaiting marketplace review.\",\n type: \"object\",\n properties: {\n campaignId: {\n type: \"string\",\n pattern: \"^[1-9]\\\\d{0,39}$\",\n },\n sessionId: {\n type: \"string\",\n pattern: \"^[1-9]\\\\d{0,39}$\",\n },\n termsAccepted: {\n type: \"boolean\",\n },\n },\n required: [\"campaignId\", \"sessionId\", \"termsAccepted\"],\n additionalProperties: false,\n },\n browserAutomation: {\n anyOf: [\n {\n type: \"object\",\n properties: {\n aopId: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n variableValues: {\n type: \"object\",\n propertyNames: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n additionalProperties: {\n type: \"string\",\n maxLength: 8000,\n },\n },\n instructions: {\n type: \"string\",\n maxLength: 8000,\n },\n },\n additionalProperties: false,\n },\n {\n type: \"null\",\n },\n ],\n },\n voucherScope: {\n description:\n \"shop = all products, products = selected assigned products. Repeat Buyer defaults to shop.\",\n type: \"string\",\n enum: [\"products\", \"shop\"],\n },\n voucherReward: {\n description:\n \"Seller Center reward type. coins_cashback is a percentage greater than 3 and does not reduce salePrice.\",\n type: \"string\",\n enum: [\"discount\", \"coins_cashback\"],\n },\n voucherAudience: {\n type: \"string\",\n enum: [\"general\", \"shop_follow\"],\n },\n repeatPurchaseMinCount: {\n description:\n \"Shopee Repeat Buyer: minimum completed shop orders, 1 or 2. Required for shopee_repeat_buyer.\",\n type: \"integer\",\n minimum: 1,\n maximum: 999,\n },\n repeatPurchaseLookbackDays: {\n description:\n \"Shopee Repeat Buyer: lookback window in days, one of 30, 90, 180 or 365. Required for shopee_repeat_buyer.\",\n type: \"integer\",\n minimum: 1,\n maximum: 365,\n },\n smartVoucher: {\n description:\n \"Shopee Smart Voucher toggle. Used by New Buyer and similar portal types.\",\n type: \"boolean\",\n },\n followPrizeExpiryDays: {\n description:\n \"Shopee Follow Prize: days after claim until expiry. Seller Center is 7.\",\n type: \"integer\",\n minimum: 1,\n maximum: 30,\n },\n videoDisplayMode: {\n description:\n \"Shopee Video display: shopee_video = all Shopee Video; creator_video = targeted creator videos only.\",\n type: \"string\",\n enum: [\"shopee_video\", \"creator_video\"],\n },\n exclusiveCreatorUsernames: {\n description:\n \"Exclusive Creator Voucher: up to 15 Shopee usernames.\",\n maxItems: 15,\n type: \"array\",\n items: {\n type: \"string\",\n minLength: 1,\n maxLength: 64,\n },\n },\n exclusiveStreamerUsernames: {\n description:\n \"Exclusive Streamer Voucher: up to 15 Shopee usernames.\",\n maxItems: 15,\n type: \"array\",\n items: {\n type: \"string\",\n minLength: 1,\n maxLength: 64,\n },\n },\n voucherDisplayChannels: {\n description:\n 'Shopee display setting. [\"all\"] = display on all pages; [] = hidden/share by code.',\n maxItems: 4,\n type: \"array\",\n items: {\n type: \"string\",\n enum: [\n \"all\",\n \"feed\",\n \"live\",\n \"order_page\",\n \"followers\",\n \"offline\",\n ],\n },\n },\n bundlePriceType: {\n type: \"string\",\n enum: [\"discount\", \"fixed_price\"],\n },\n bundleTiers: {\n maxItems: 2,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n minimumQuantity: {\n type: \"integer\",\n minimum: 2,\n maximum: 3000,\n },\n discountValue: {\n type: \"number\",\n exclusiveMinimum: 0,\n },\n },\n required: [\"minimumQuantity\", \"discountValue\"],\n },\n },\n thresholdType: {\n type: \"string\",\n enum: [\"item_quantity\", \"order_amount\"],\n },\n thresholdValue: {\n type: \"number\",\n exclusiveMinimum: 0,\n },\n giftType: {\n type: \"string\",\n enum: [\"gift\", \"sample\"],\n },\n giftQuantity: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 999,\n },\n gifts: {\n minItems: 1,\n maxItems: 20,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n productId: {\n type: \"string\",\n format: \"uuid\",\n pattern:\n \"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\",\n },\n variantId: {\n anyOf: [\n {\n type: \"string\",\n format: \"uuid\",\n pattern:\n \"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n totalClaimLimit: {\n type: \"integer\",\n minimum: 1,\n maximum: 99999,\n },\n },\n required: [\"productId\", \"totalClaimLimit\"],\n additionalProperties: false,\n },\n },\n buyQuantity: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 999,\n },\n getQuantity: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 999,\n },\n benefitProductIds: {\n minItems: 1,\n maxItems: 200,\n type: \"array\",\n items: {\n type: \"string\",\n format: \"uuid\",\n pattern:\n \"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$\",\n },\n },\n benefitType: {\n type: \"string\",\n enum: [\"free\", \"percentage\", \"fixed_amount\"],\n },\n benefitValue: {\n type: \"number\",\n minimum: 0,\n },\n maxApplicationsPerOrder: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 999,\n },\n bundleMinimumQuantity: {\n type: \"integer\",\n minimum: 2,\n maximum: 3000,\n },\n shippingDeliveryOption: {\n description:\n \"Free shipping delivery option. Lazada: STANDARD (default), ECONOMY, EXPRESS, SELLER_OWN_FLEET or P2P, as offered by the store.\",\n type: \"string\",\n pattern: \"^[A-Z0-9_]{1,40}$\",\n },\n shippingBudget: {\n description:\n \"Free shipping: total shipping subsidy budget in the store currency. Omit for an unlimited budget.\",\n type: \"number\",\n exclusiveMinimum: 0,\n },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n },\n windows: {\n description:\n \"Add or update windows by stable id. Existing IDs patch only supplied fields; new IDs require name, startsAt and endsAt. Omitted windows stay unchanged.\",\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n name: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n startsAt: {\n anyOf: [\n {\n type: \"string\",\n format: \"date-time\",\n pattern:\n \"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n endsAt: {\n anyOf: [\n {\n type: \"string\",\n format: \"date-time\",\n pattern:\n \"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n preparesAt: {\n anyOf: [\n {\n type: \"string\",\n format: \"date-time\",\n pattern:\n \"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$\",\n },\n {\n type: \"null\",\n },\n ],\n },\n reviewNotes: {\n type: \"string\",\n maxLength: 8000,\n },\n },\n required: [\"id\"],\n additionalProperties: false,\n },\n },\n removeWindowIds: {\n description:\n \"Delete these windows. Move or remove their promotions in the same call. Maximum 100 IDs.\",\n maxItems: 100,\n type: \"array\",\n items: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n },\n removeOfferIds: {\n description: \"Delete these draft promotion offers. Maximum 500 IDs.\",\n maxItems: 500,\n type: \"array\",\n items: {\n type: \"string\",\n minLength: 1,\n maxLength: 160,\n },\n },\n organizationId: {\n description:\n \"Required for session auth. Optional for an API key, which already identifies the organization.\",\n type: \"string\",\n minLength: 1,\n maxLength: 120,\n },\n expectedPendingVersion: {\n anyOf: [\n {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n {\n type: \"null\",\n },\n ],\n },\n },\n required: [\"expectedRevision\"],\n additionalProperties: false,\n },\n action: {\n type: \"object\",\n properties: {\n action: {\n type: \"string\",\n enum: [\n \"approve\",\n \"run\",\n \"approve_and_run\",\n \"end\",\n \"resume\",\n \"retry\",\n \"approve_change\",\n \"discard_change\",\n ],\n },\n expectedRevision: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n expectedPendingVersion: {\n type: \"integer\",\n exclusiveMinimum: 0,\n maximum: 9007199254740991,\n },\n organizationId: {\n description:\n \"Required for session auth. Optional for an API key, which already identifies the organization.\",\n type: \"string\",\n minLength: 1,\n maxLength: 120,\n },\n },\n required: [\"action\", \"expectedRevision\"],\n additionalProperties: false,\n },\n};\n","/** The JSON Schema input subset emitted by the public campaign contracts. */\nexport type BodySchema = {\n type?: string | string[];\n properties?: Record<string, BodySchema>;\n additionalProperties?: boolean | BodySchema;\n items?: BodySchema;\n anyOf?: BodySchema[];\n enum?: unknown[];\n required?: string[];\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n minItems?: number;\n maxItems?: number;\n description?: string;\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n format?: string;\n default?: unknown;\n propertyNames?: BodySchema;\n};\n\nexport const kebab = (name: string) =>\n name.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n\nfunction nonNull(schema: BodySchema): BodySchema {\n return schema.anyOf?.find((item) => item.type !== \"null\") ?? schema;\n}\n\nfunction nullable(schema: BodySchema): boolean {\n return (\n schema.type === \"null\" ||\n (Array.isArray(schema.type) && schema.type.includes(\"null\")) ||\n Boolean(schema.anyOf?.some(nullable))\n );\n}\n\nexport function bodyFlagNames(schema: BodySchema, prefix = \"\"): string[] {\n schema = nonNull(schema);\n if (schema.properties)\n return Object.entries(schema.properties).flatMap(([name, child]) =>\n bodyFlagNames(child, `${prefix ? `${prefix}.` : \"\"}${kebab(name)}`),\n );\n if (schema.items && nonNull(schema.items).properties)\n return bodyFlagNames(schema.items, `${prefix}.<index>`);\n if (typeof schema.additionalProperties === \"object\")\n return bodyFlagNames(schema.additionalProperties, `${prefix}.<key>`);\n return [prefix];\n}\n\nfunction scalar(\n value: string | boolean,\n schema: BodySchema,\n flag: string,\n): unknown {\n if (value === \"null\" && nullable(schema)) return null;\n schema = nonNull(schema);\n const type = Array.isArray(schema.type)\n ? schema.type.find((item) => item !== \"null\")\n : schema.type;\n let result: unknown = value;\n if (type === \"array\" && schema.items) {\n if (typeof value !== \"string\")\n throw new Error(`--${flag} requires comma-separated values`);\n result =\n value === \"\"\n ? []\n : value\n .split(\",\")\n .map((item) => scalar(item.trim(), schema.items!, flag));\n const count = (result as unknown[]).length;\n if (count < (schema.minItems ?? 0) || count > (schema.maxItems ?? Infinity))\n throw new Error(`--${flag} has an invalid number of values`);\n } else if (type === \"boolean\") {\n if (![true, false, \"true\", \"false\"].includes(value))\n throw new Error(`--${flag} requires true or false`);\n result = value === true || value === \"true\";\n } else if (type === \"integer\" || type === \"number\") {\n const number =\n typeof value === \"string\" && value.trim() ? Number(value) : NaN;\n if (\n !Number.isFinite(number) ||\n (type === \"integer\" && !Number.isSafeInteger(number)) ||\n number < (schema.minimum ?? -Infinity) ||\n number > (schema.maximum ?? Infinity) ||\n (schema.exclusiveMinimum !== undefined &&\n number <= schema.exclusiveMinimum)\n )\n throw new Error(`--${flag} requires a valid ${type}`);\n result = number;\n } else if (typeof value !== \"string\" || type === \"object\") {\n throw new Error(\n `--${flag} requires a value; use dotted fields for objects`,\n );\n }\n if (schema.enum && !schema.enum.includes(result))\n throw new Error(\n `--${flag}${flag.endsWith(\".marketplace\") ? `: ${String(result)} is not supported for this store target; value` : \"\"} must be one of: ${schema.enum.join(\", \")}`,\n );\n if (\n typeof result === \"string\" &&\n (result.length < (schema.minLength ?? 0) ||\n result.length > (schema.maxLength ?? Infinity) ||\n (schema.pattern && !new RegExp(schema.pattern).test(result)) ||\n (schema.format === \"date-time\" &&\n (!/T.*(?:Z|[+-]\\d{2}:\\d{2})$/.test(result) ||\n !Number.isFinite(Date.parse(result)))))\n )\n throw new Error(\n `--${flag} has an invalid value${schema.format ? ` (${schema.format})` : \"\"}`,\n );\n return result;\n}\n\n/** Resolve names through the schema; never treat user paths as object keys. */\nfunction assignFlag(\n target: Record<string, unknown> | unknown[],\n schema: BodySchema,\n parts: string[],\n value: string | boolean,\n flag: string,\n) {\n schema = nonNull(schema);\n const [part, ...rest] = parts;\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(part))\n throw new Error(`Unknown flag --${flag}`);\n const key = schema.items\n ? /^(0|[1-9][0-9]*)$/.test(part)\n ? Number(part)\n : undefined\n : (Object.keys(schema.properties ?? {}).find(\n (name) => kebab(name) === part,\n ) ??\n (typeof schema.additionalProperties === \"object\" ? part : undefined));\n const child =\n schema.items ??\n (typeof key === \"string\"\n ? (schema.properties?.[key] ?? schema.additionalProperties)\n : undefined);\n if (\n key === undefined ||\n !child ||\n typeof child !== \"object\" ||\n (typeof key === \"number\" && key >= (schema.maxItems ?? 500))\n )\n throw new Error(`Unknown or out-of-bounds flag --${flag}`);\n const object = target as Record<string | number, unknown>;\n if (!rest.length) {\n object[key] = scalar(value, child, flag);\n return;\n }\n const shape = nonNull(child);\n if (\n !shape.properties &&\n !shape.items &&\n typeof shape.additionalProperties !== \"object\"\n )\n throw new Error(`Unknown flag --${flag}`);\n object[key] ??= shape.items ? [] : {};\n if (typeof object[key] !== \"object\" || object[key] === null)\n throw new Error(`Conflicting flag --${flag}`);\n assignFlag(object[key] as Record<string, unknown>, child, rest, value, flag);\n}\n\nfunction validateRequired(value: unknown, schema: BodySchema, prefix = \"\") {\n if (value === null) return;\n schema = nonNull(schema);\n if (Array.isArray(value) && schema.items) {\n for (let index = 0; index < value.length; index++) {\n if (!(index in value))\n throw new Error(`--${prefix} indices must be consecutive from 0`);\n validateRequired(value[index], schema.items, `${prefix}.${index}`);\n }\n } else if (value && typeof value === \"object\") {\n const object = value as Record<string, unknown>;\n for (const key of schema.required ?? [])\n if (object[key] === undefined)\n throw new Error(\n `Missing required flag --${prefix ? `${prefix}.` : \"\"}${kebab(key)}`,\n );\n for (const [key, child] of Object.entries(schema.properties ?? {}))\n if (object[key] !== undefined)\n validateRequired(\n object[key],\n child,\n `${prefix ? `${prefix}.` : \"\"}${kebab(key)}`,\n );\n }\n}\n\nconst GLOBAL_FLAGS = new Set([\n \"api-key\",\n \"base-url\",\n \"timeout\",\n \"format\",\n \"version\",\n \"v\",\n]);\n\nexport function parseBodyFlags(\n flags: Record<string, string | boolean>,\n schema: BodySchema,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [flag, value] of Object.entries(flags)) {\n if (GLOBAL_FLAGS.has(flag)) continue;\n assignFlag(result, schema, flag.split(\".\"), value, flag);\n }\n validateRequired(result, schema);\n return result;\n}\n","import type { CliCommand } from \"./generated/commands\";\nimport { CAMPAIGN_INPUTS } from \"./generated/campaign-inputs\";\nimport {\n bodyFlagNames,\n kebab,\n parseBodyFlags,\n type BodySchema,\n} from \"./body-flags\";\n\ntype CampaignCommand = CliCommand & {\n inputSchema: BodySchema;\n target?: \"offers\" | \"windows\" | \"removeOfferIds\" | \"removeWindowIds\";\n action?: \"approve_change\" | \"discard_change\";\n};\n\nconst patch = CAMPAIGN_INPUTS.patch;\nconst fields = patch.properties!;\nconst guards = Object.fromEntries(\n [\"organizationId\", \"expectedRevision\", \"expectedPendingVersion\"].map(\n (key) => [key, fields[key]],\n ),\n);\nconst scope = { campaignId: { type: \"string\" } };\n\nfunction command(\n name: string,\n summary: string,\n schema: BodySchema,\n options: Pick<CampaignCommand, \"target\" | \"action\"> = {},\n): CampaignCommand {\n const inputSchema = {\n ...schema,\n properties: { ...scope, ...schema.properties },\n required: [\"campaignId\", ...(schema.required ?? [])],\n };\n return {\n trail: [\"campaigns\", name],\n resourcePath: [\"campaigns\"],\n methodName: name,\n httpMethod: options.action ? \"POST\" : \"PATCH\",\n path: `/api/v1/campaigns/{campaignId}${options.action ? \"/actions\" : \"\"}`,\n summary,\n flags: bodyFlagNames(inputSchema).map((flag) => ({\n name: flag === \"campaign-id\" ? \"campaignId\" : flag,\n flag,\n required: inputSchema.required.some((key) => kebab(key) === flag),\n source: flag === \"campaign-id\" ? \"path\" : \"body\",\n })),\n acceptsJsonBody: true,\n acceptsFile: false,\n bodyRequired: false,\n inputSchema,\n ...options,\n };\n}\n\nexport const CAMPAIGN_COMMANDS: CampaignCommand[] = [\n command(\n \"update\",\n \"Edit campaign fields, windows and offers. Omitted values stay unchanged; running edits are proposals.\",\n patch,\n ),\n ...([\"offers\", \"windows\"] as const).flatMap((target) => {\n const { id, ...properties } = fields[target].items!.properties!;\n const ids = target === \"offers\" ? \"offerIds\" : \"windowIds\";\n const selection = {\n type: \"array\",\n items: id,\n minItems: 1,\n maxItems: fields[target].maxItems,\n };\n return [\n command(\n `update-${target}`,\n `Add or update ${target} by stable IDs with shared changes. Running edits are proposals.`,\n {\n type: \"object\",\n properties: { ...guards, [ids]: selection, ...properties },\n required: [\"expectedRevision\", ids],\n },\n { target },\n ),\n command(\n `remove-${target}`,\n `Remove selected ${target}. Move or remove offers before removing their window. Running edits are proposals.`,\n {\n type: \"object\",\n properties: { ...guards, [ids]: selection },\n required: [\"expectedRevision\", ids],\n },\n { target: target === \"offers\" ? \"removeOfferIds\" : \"removeWindowIds\" },\n ),\n ];\n }),\n ...([\"approve_change\", \"discard_change\"] as const).map((action) =>\n command(\n action.replaceAll(\"_\", \"-\"),\n action === \"approve_change\"\n ? \"Approve the reviewed live proposal as its named approver and queue delivery.\"\n : \"Discard the reviewed live proposal.\",\n {\n type: \"object\",\n properties: {\n ...guards,\n expectedPendingVersion:\n CAMPAIGN_INPUTS.action.properties!.expectedPendingVersion,\n },\n required: [\"expectedRevision\", \"expectedPendingVersion\"],\n },\n { action },\n ),\n ),\n];\n\nexport function isCampaignCommand(\n command: CliCommand,\n): command is CampaignCommand {\n return \"inputSchema\" in command;\n}\n\nexport function campaignRequest(\n command: CampaignCommand,\n flags: Record<string, string | boolean>,\n): Record<string, unknown> {\n const input = parseBodyFlags(flags, command.inputSchema);\n if (command.action) return { ...input, action: command.action };\n if (!command.target) {\n if (\n !Object.keys(input).some(\n (key) => key !== \"campaignId\" && !(key in guards),\n )\n )\n throw new Error(\"Supply at least one field to change.\");\n return input;\n }\n const {\n campaignId,\n organizationId,\n expectedRevision,\n expectedPendingVersion,\n offerIds,\n windowIds,\n ...changes\n } = input;\n const ids = [...new Set((offerIds ?? windowIds) as string[])];\n const removing =\n command.target === \"removeOfferIds\" || command.target === \"removeWindowIds\";\n if (!removing && !Object.keys(changes).length)\n throw new Error(\"Supply at least one field to change.\");\n return {\n campaignId,\n organizationId,\n expectedRevision,\n expectedPendingVersion,\n [command.target]: removing ? ids : ids.map((id) => ({ id, ...changes })),\n };\n}\n","import type { CliCommand } from \"./generated/commands\";\nimport { isCampaignCommand } from \"./campaign-commands\";\n\nexport function printRootHelp(commands: CliCommand[]): string {\n const groups = [\n ...new Set(commands.map((command) => command.trail[0])),\n ].sort();\n return `OmniCommerce CLI\n\nUsage:\n omni <resource> <command> [flags]\n omni auth login\n omni auth status\n omni auth logout\n\nResources:\n${groups.map((group) => ` ${group}`).join(\"\\n\")}\n\nGlobal flags:\n --api-key <key> API key (or OMNI_API_KEY / omni auth login)\n --base-url <url> API origin (default https://omnicommerce.ai)\n --json <object|-> JSON body, or - to read stdin\n --format json|table Output format (table on TTY, json when piped)\n --dry-run Print the request without sending it\n --schema Print flags for this command\n --timeout <seconds> Request timeout\n --help Show help\n\nExamples:\n omni products list --q lamp\n omni products get --product-id prod_123\n omni products create --json '{\"product\":{\"sku\":\"SKU-1\",\"title\":\"Lamp\"}}'\n omni jobs wait --job-id prod_123\n`;\n}\n\nexport function printAuthHelp(): string {\n return `Usage:\n omni auth login Sign in using your browser\n omni auth login --no-browser Print the login URL without opening it\n omni auth login --api-key <key> Save an existing API key\n omni auth login --base-url <origin> Sign in to another API origin\n omni auth status Show saved credential status\n omni auth logout Remove saved credentials\n`;\n}\n\nexport function printCommandHelp(command: CliCommand): string {\n const flags = command.flags\n .map((flag) => {\n const req = flag.required ? \"required\" : \"optional\";\n return ` --${flag.flag} <${flag.name}> ${req} ${flag.source}`;\n })\n .join(\"\\n\");\n const jsonLine = `${\n command.acceptsFile ? \" --file <path> required file to upload\\n\" : \"\"\n }${\n command.acceptsJsonBody && !isCampaignCommand(command)\n ? ` --json <object|-> ${command.bodyRequired && !command.acceptsFile ? \"required\" : \"optional\"} body\\n`\n : \"\"\n }`;\n return `omni ${command.trail.join(\" \")}\n\n${command.summary}\n\n${command.httpMethod} ${command.path}\n\nFlags:\n${flags || \" (none)\"}${jsonLine ? `\\n${jsonLine}` : \"\"}\n${isCampaignCommand(command) ? \"\\nArrays use comma-separated values (empty string clears). Object arrays use .0., .1., ... in flag names. Nullable fields accept null. Times require ISO 8601 with an explicit offset. Use --schema for types and allowed values.\\n\" : \"\"}\n`;\n}\n\nexport function matchCommands(\n commands: CliCommand[],\n trail: string[],\n): { exact?: CliCommand; prefix: CliCommand[] } {\n const prefix = commands.filter((command) =>\n trail.every((token, index) => command.trail[index] === token),\n );\n const exact = prefix.find((command) => command.trail.length === trail.length);\n return { exact, prefix };\n}\n","import { runCli } from \"./run\";\n\nconst main = async () => {\n try {\n const code = await runCli(process.argv.slice(2), {\n stdoutIsTty: Boolean(process.stdout.isTTY),\n });\n process.exitCode = code;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n process.stderr.write(`${message}\\n`);\n process.exitCode = 1;\n }\n};\n\nvoid main();\n"],"mappings":"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AQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QA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,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA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","names":["command","path","input","readFile","fields","command","command","input","command","command"]}
|