@omni-commerce/cli 0.1.0 → 0.1.1
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/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
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 if (command.bodyRequired && !body) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --json`);\n }\n const request = buildRequest(command, parsed.flags, body);\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 ? Number(timeoutRaw) : 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 { 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\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 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 bodyRequired: boolean;\n};\n\nexport const COMMANDS: CliCommand[] = [\n {\n trail: [\"api\", \"root\"],\n resourcePath: [\"api\"],\n methodName: \"root\",\n httpMethod: \"GET\",\n path: \"/api\",\n summary: \"API Root\",\n flags: [],\n acceptsJsonBody: false,\n bodyRequired: false,\n },\n {\n trail: [\"api\", \"v1\"],\n resourcePath: [\"api\"],\n methodName: \"v1\",\n httpMethod: \"GET\",\n path: \"/api/v1\",\n summary: \"API v1 Root\",\n flags: [],\n acceptsJsonBody: 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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: \"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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 bodyRequired: false,\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 bodyRequired: true,\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 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 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 bodyRequired: true,\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 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 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 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 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 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 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 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 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 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 bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"sync\"],\n resourcePath: [\"promotions\"],\n methodName: \"sync\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/sync\",\n summary: \"Sync Promotion to Marketplaces\",\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 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 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 bodyRequired: false,\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: \"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 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: \"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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = command.acceptsJsonBody\n ? ` --json <object|-> ${command.bodyRequired ? \"required\" : \"optional\"} body\\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.1.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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","names":["input","command"]}
|
|
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 if (command.bodyRequired && !body) {\n throw new Error(`omni ${command.trail.join(\" \")} requires --json`);\n }\n const request = buildRequest(command, parsed.flags, body);\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 ? Number(timeoutRaw) : 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 { 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\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 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 bodyRequired: boolean;\n};\n\nexport const COMMANDS: CliCommand[] = [\n {\n trail: [\"api\", \"root\"],\n resourcePath: [\"api\"],\n methodName: \"root\",\n httpMethod: \"GET\",\n path: \"/api\",\n summary: \"API Root\",\n flags: [],\n acceptsJsonBody: false,\n bodyRequired: false,\n },\n {\n trail: [\"api\", \"v1\"],\n resourcePath: [\"api\"],\n methodName: \"v1\",\n httpMethod: \"GET\",\n path: \"/api/v1\",\n summary: \"API v1 Root\",\n flags: [],\n acceptsJsonBody: 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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: \"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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 bodyRequired: false,\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 bodyRequired: true,\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 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 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 bodyRequired: true,\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 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 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 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 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 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 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 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 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 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 bodyRequired: true,\n },\n {\n trail: [\"promotions\", \"sync\"],\n resourcePath: [\"promotions\"],\n methodName: \"sync\",\n httpMethod: \"POST\",\n path: \"/api/v1/promotions/{promotionId}/sync\",\n summary: \"Sync Promotion to Marketplaces\",\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 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 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 bodyRequired: false,\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: \"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 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: \"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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = command.acceptsJsonBody\n ? ` --json <object|-> ${command.bodyRequired ? \"required\" : \"optional\"} body\\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.1.1\";\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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","names":["input","command"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omni-commerce/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "OmniCommerce CLI generated from the public OpenAPI spec.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"prepublishOnly": "yarn build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@omni-commerce/sdk": "0.1.
|
|
29
|
+
"@omni-commerce/sdk": "0.1.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^20",
|