@getpilfer/cli 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -2
- package/SKILL.md +18 -2
- package/dist/build-program.js +2 -2
- package/dist/{chunk-HJFKOMTC.js → chunk-AQXEFAD4.js} +174 -73
- package/dist/chunk-AQXEFAD4.js.map +1 -0
- package/dist/chunk-W2HZLBPI.js +1038 -0
- package/dist/chunk-W2HZLBPI.js.map +1 -0
- package/dist/{generated-D7S53VGE.js → generated-UG3O6FVC.js} +628 -62
- package/dist/generated-UG3O6FVC.js.map +1 -0
- package/dist/index.js +2 -2
- package/package.json +2 -2
- package/dist/chunk-GWWE2AMO.js +0 -407
- package/dist/chunk-GWWE2AMO.js.map +0 -1
- package/dist/chunk-HJFKOMTC.js.map +0 -1
- package/dist/generated-D7S53VGE.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/bulk.ts","../src/commands/generated/index.ts"],"sourcesContent":["const MAX_IDS = 25;\nconst CONCURRENCY = 5;\nconst MAX_RETRIES = 3;\n\nexport function parseIds(idsFlag: string | undefined): string[] {\n if (!idsFlag?.trim()) return [];\n return idsFlag.split(\",\").map((s) => s.trim()).filter(Boolean);\n}\n\nexport function parseDates(datesFlag: string | undefined): string[] {\n return parseIds(datesFlag);\n}\n\nexport function validateBulkIds(ids: string[], resourceLabel: string): void {\n if (ids.length > MAX_IDS) {\n throw new Error(\n `${resourceLabel}: max ${MAX_IDS} IDs per invocation (got ${ids.length}). Use multiple invocations for more.`,\n );\n }\n}\n\nexport interface BulkTaskResult {\n _id?: string;\n status?: \"updated\" | \"deleted\";\n error?: boolean;\n statusCode?: number;\n message?: string;\n}\n\nexport interface BulkRunOptions<T> {\n items: string[];\n concurrency?: number;\n runOne: (id: string) => Promise<{ ok: boolean; status: number; data?: T; error?: string }>;\n toResult: (id: string, ok: boolean, status: number, data?: T, error?: string) => BulkTaskResult;\n}\n\n/**\n * Run up to CONCURRENCY operations in parallel, with 429 retry (Retry-After or exponential backoff).\n */\nexport async function runBulk<T>(options: BulkRunOptions<T>): Promise<{\n data: BulkTaskResult[];\n summary: { total: number; succeeded: number; failed: number };\n}> {\n const { items, runOne, toResult } = options;\n const concurrency = Math.min(options.concurrency ?? CONCURRENCY, items.length);\n const results: BulkTaskResult[] = [];\n let succeeded = 0;\n let failed = 0;\n\n async function runWithRetry(id: string): Promise<BulkTaskResult> {\n let lastRes: { ok: boolean; status: number; data?: T; error?: string } | null = null;\n for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {\n const res = await runOne(id);\n lastRes = res;\n if (res.status !== 429) break;\n const retryAfter = 2 ** attempt;\n await new Promise((r) => setTimeout(r, retryAfter * 1000));\n }\n const r = lastRes!;\n const result = toResult(id, r.ok, r.status, r.data, r.error);\n if (r.ok) succeeded++;\n else failed++;\n return result;\n }\n\n const queue = [...items];\n const workers = Array.from({ length: concurrency }, async () => {\n while (queue.length > 0) {\n const id = queue.shift()!;\n const result = await runWithRetry(id);\n results.push(result);\n }\n });\n await Promise.all(workers);\n\n return {\n data: results,\n summary: { total: items.length, succeeded, failed },\n };\n}\n","/** Generated by scripts/generate-from-openapi.ts - do not edit by hand */\nimport type { Command } from \"commander\";\nimport { apiRequest } from \"../../lib/client.js\";\nimport { printOutput } from \"../../lib/output.js\";\nimport { mergeBody } from \"../../lib/merge-body.js\";\nimport { coerceBodyFlag, coerceQueryFlag } from \"../../lib/flag-coercion.js\";\nimport { parseIds, validateBulkIds, runBulk } from \"../../lib/bulk.js\";\n\nexport interface CommandHelpers {\n getOutputFormat: () => \"json\" | \"table\" | \"csv\";\n requireToken: () => string | null;\n exitWithError: (status: number, message: string) => never;\n getBaseUrl: () => string;\n syncRootOptsFromCommand: (cmd: Command) => void;\n}\n\nexport function register(program: Command, helpers: CommandHelpers): void {\n const { getOutputFormat, requireToken, exitWithError, getBaseUrl, syncRootOptsFromCommand } = helpers;\n\n // --- organizations ---\n const organizationsCmd = program.command(\"organizations\").description(\"organizations resource\");\n organizationsCmd.command(\"list\").description(\"List organizations\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n const res = await apiRequest({ method: \"GET\", path: \"organizations\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n organizationsCmd.command(\"get <id>\").description(\"Get one organizations by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"organizations/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n\n // --- projects ---\n const projectsCmd = program.command(\"projects\").description(\"projects resource\");\n projectsCmd.command(\"list\").description(\"List projects\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"projects\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n projectsCmd.command(\"get <id>\").description(\"Get one projects by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"projects/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n projectsCmd.command(\"create\").description(\"Create projects\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--priority <value>\", \"priority\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"projects\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n projectsCmd.command(\"update <id>\").description(\"Update projects\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--priority <value>\", \"priority\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"projects\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"projects/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"projects/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n projectsCmd.command(\"delete <id>\").description(\"Delete projects\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"projects\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"projects/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"projects/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- spaces ---\n const spacesCmd = program.command(\"spaces\").description(\"spaces resource\");\n spacesCmd.command(\"list\").description(\"List spaces\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .option(\"--project-id <value>\", \"Filter by projectId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n if (opts.projectId != null) {\n query.projectId = coerceQueryFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"spaces\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n spacesCmd.command(\"get <id>\").description(\"Get one spaces by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"spaces/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n spacesCmd.command(\"create\").description(\"Create spaces\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--project-id <value>\", \"projectId\")\n .option(\"--status <value>\", \"status\")\n .option(\"--priority <value>\", \"priority\")\n .option(\"--current-strength <value>\", \"currentStrength\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedCurrentStrength = coerceBodyFlag(opts.currentStrength, { field: \"currentStrength\", flag: \"--current-strength\", kind: \"number\" }, exitWithError);\n if (parsedCurrentStrength !== undefined) bodyFromFlags.currentStrength = parsedCurrentStrength;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"spaces\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n spacesCmd.command(\"update <id>\").description(\"Update spaces\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--project-id <value>\", \"projectId\")\n .option(\"--status <value>\", \"status\")\n .option(\"--priority <value>\", \"priority\")\n .option(\"--current-strength <value>\", \"currentStrength\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"spaces\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedCurrentStrength = coerceBodyFlag(opts.currentStrength, { field: \"currentStrength\", flag: \"--current-strength\", kind: \"number\" }, exitWithError);\n if (parsedCurrentStrength !== undefined) bodyFromFlags.currentStrength = parsedCurrentStrength;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"spaces/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedCurrentStrength = coerceBodyFlag(opts.currentStrength, { field: \"currentStrength\", flag: \"--current-strength\", kind: \"number\" }, exitWithError);\n if (parsedCurrentStrength !== undefined) bodyFromFlags.currentStrength = parsedCurrentStrength;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"spaces/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n spacesCmd.command(\"delete <id>\").description(\"Delete spaces\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"spaces\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"spaces/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"spaces/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- scouts ---\n const scoutsCmd = program.command(\"scouts\").description(\"scouts resource\");\n scoutsCmd.command(\"list\").description(\"List scouts\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .option(\"--category-id <value>\", \"Filter by categoryId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n if (opts.categoryId != null) {\n query.categoryId = coerceQueryFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"scouts\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n scoutsCmd.command(\"get <id>\").description(\"Get one scouts by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"scouts/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n scoutsCmd.command(\"create\").description(\"Create scouts\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--category-id <value>\", \"categoryId\")\n .option(\"--metadata <value>\", \"metadata\")\n .option(\"--url <value>\", \"url\")\n .option(\"--hero-image <value>\", \"heroImage\")\n .option(\"--priority <value>\", \"priority\")\n .option(\"--status <value>\", \"status\")\n .option(\"--estimated-cost <value>\", \"estimatedCost\")\n .option(\"--potential-cost <value>\", \"potentialCost\")\n .option(\"--need <value>\", \"need\")\n .option(\"--urgency <value>\", \"urgency\")\n .option(\"--use <value>\", \"use\")\n .option(\"--longevity <value>\", \"longevity\")\n .option(\"--roi <value>\", \"roi\")\n .option(\"--system-fit <value>\", \"systemFit\")\n .option(\"--emotional-pull <value>\", \"emotionalPull\")\n .option(\"--infrastructure-fit <value>\", \"infrastructureFit\")\n .option(\"--activation-potential <value>\", \"activationPotential\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\" }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedMetadata = coerceBodyFlag(opts.metadata, { field: \"metadata\", flag: \"--metadata\", kind: \"string\" }, exitWithError);\n if (parsedMetadata !== undefined) bodyFromFlags.metadata = parsedMetadata;\n const parsedUrl = coerceBodyFlag(opts.url, { field: \"url\", flag: \"--url\", kind: \"string\" }, exitWithError);\n if (parsedUrl !== undefined) bodyFromFlags.url = parsedUrl;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedEstimatedCost = coerceBodyFlag(opts.estimatedCost, { field: \"estimatedCost\", flag: \"--estimated-cost\", kind: \"number\" }, exitWithError);\n if (parsedEstimatedCost !== undefined) bodyFromFlags.estimatedCost = parsedEstimatedCost;\n const parsedPotentialCost = coerceBodyFlag(opts.potentialCost, { field: \"potentialCost\", flag: \"--potential-cost\", kind: \"number\" }, exitWithError);\n if (parsedPotentialCost !== undefined) bodyFromFlags.potentialCost = parsedPotentialCost;\n const parsedNeed = coerceBodyFlag(opts.need, { field: \"need\", flag: \"--need\", kind: \"number\" }, exitWithError);\n if (parsedNeed !== undefined) bodyFromFlags.need = parsedNeed;\n const parsedUrgency = coerceBodyFlag(opts.urgency, { field: \"urgency\", flag: \"--urgency\", kind: \"number\" }, exitWithError);\n if (parsedUrgency !== undefined) bodyFromFlags.urgency = parsedUrgency;\n const parsedUse = coerceBodyFlag(opts.use, { field: \"use\", flag: \"--use\", kind: \"number\" }, exitWithError);\n if (parsedUse !== undefined) bodyFromFlags.use = parsedUse;\n const parsedLongevity = coerceBodyFlag(opts.longevity, { field: \"longevity\", flag: \"--longevity\", kind: \"number\" }, exitWithError);\n if (parsedLongevity !== undefined) bodyFromFlags.longevity = parsedLongevity;\n const parsedRoi = coerceBodyFlag(opts.roi, { field: \"roi\", flag: \"--roi\", kind: \"number\" }, exitWithError);\n if (parsedRoi !== undefined) bodyFromFlags.roi = parsedRoi;\n const parsedSystemFit = coerceBodyFlag(opts.systemFit, { field: \"systemFit\", flag: \"--system-fit\", kind: \"number\" }, exitWithError);\n if (parsedSystemFit !== undefined) bodyFromFlags.systemFit = parsedSystemFit;\n const parsedEmotionalPull = coerceBodyFlag(opts.emotionalPull, { field: \"emotionalPull\", flag: \"--emotional-pull\", kind: \"number\" }, exitWithError);\n if (parsedEmotionalPull !== undefined) bodyFromFlags.emotionalPull = parsedEmotionalPull;\n const parsedInfrastructureFit = coerceBodyFlag(opts.infrastructureFit, { field: \"infrastructureFit\", flag: \"--infrastructure-fit\", kind: \"number\" }, exitWithError);\n if (parsedInfrastructureFit !== undefined) bodyFromFlags.infrastructureFit = parsedInfrastructureFit;\n const parsedActivationPotential = coerceBodyFlag(opts.activationPotential, { field: \"activationPotential\", flag: \"--activation-potential\", kind: \"number\" }, exitWithError);\n if (parsedActivationPotential !== undefined) bodyFromFlags.activationPotential = parsedActivationPotential;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"scouts\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n scoutsCmd.command(\"update <id>\").description(\"Update scouts\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--category-id <value>\", \"categoryId\")\n .option(\"--url <value>\", \"url\")\n .option(\"--hero-image <value>\", \"heroImage\")\n .option(\"--priority <value>\", \"priority\")\n .option(\"--status <value>\", \"status\")\n .option(\"--estimated-cost <value>\", \"estimatedCost\")\n .option(\"--potential-cost <value>\", \"potentialCost\")\n .option(\"--need <value>\", \"need\")\n .option(\"--urgency <value>\", \"urgency\")\n .option(\"--use <value>\", \"use\")\n .option(\"--longevity <value>\", \"longevity\")\n .option(\"--roi <value>\", \"roi\")\n .option(\"--system-fit <value>\", \"systemFit\")\n .option(\"--emotional-pull <value>\", \"emotionalPull\")\n .option(\"--infrastructure-fit <value>\", \"infrastructureFit\")\n .option(\"--activation-potential <value>\", \"activationPotential\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"scouts\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedUrl = coerceBodyFlag(opts.url, { field: \"url\", flag: \"--url\", kind: \"string\" }, exitWithError);\n if (parsedUrl !== undefined) bodyFromFlags.url = parsedUrl;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedEstimatedCost = coerceBodyFlag(opts.estimatedCost, { field: \"estimatedCost\", flag: \"--estimated-cost\", kind: \"number\" }, exitWithError);\n if (parsedEstimatedCost !== undefined) bodyFromFlags.estimatedCost = parsedEstimatedCost;\n const parsedPotentialCost = coerceBodyFlag(opts.potentialCost, { field: \"potentialCost\", flag: \"--potential-cost\", kind: \"number\" }, exitWithError);\n if (parsedPotentialCost !== undefined) bodyFromFlags.potentialCost = parsedPotentialCost;\n const parsedNeed = coerceBodyFlag(opts.need, { field: \"need\", flag: \"--need\", kind: \"number\" }, exitWithError);\n if (parsedNeed !== undefined) bodyFromFlags.need = parsedNeed;\n const parsedUrgency = coerceBodyFlag(opts.urgency, { field: \"urgency\", flag: \"--urgency\", kind: \"number\" }, exitWithError);\n if (parsedUrgency !== undefined) bodyFromFlags.urgency = parsedUrgency;\n const parsedUse = coerceBodyFlag(opts.use, { field: \"use\", flag: \"--use\", kind: \"number\" }, exitWithError);\n if (parsedUse !== undefined) bodyFromFlags.use = parsedUse;\n const parsedLongevity = coerceBodyFlag(opts.longevity, { field: \"longevity\", flag: \"--longevity\", kind: \"number\" }, exitWithError);\n if (parsedLongevity !== undefined) bodyFromFlags.longevity = parsedLongevity;\n const parsedRoi = coerceBodyFlag(opts.roi, { field: \"roi\", flag: \"--roi\", kind: \"number\" }, exitWithError);\n if (parsedRoi !== undefined) bodyFromFlags.roi = parsedRoi;\n const parsedSystemFit = coerceBodyFlag(opts.systemFit, { field: \"systemFit\", flag: \"--system-fit\", kind: \"number\" }, exitWithError);\n if (parsedSystemFit !== undefined) bodyFromFlags.systemFit = parsedSystemFit;\n const parsedEmotionalPull = coerceBodyFlag(opts.emotionalPull, { field: \"emotionalPull\", flag: \"--emotional-pull\", kind: \"number\" }, exitWithError);\n if (parsedEmotionalPull !== undefined) bodyFromFlags.emotionalPull = parsedEmotionalPull;\n const parsedInfrastructureFit = coerceBodyFlag(opts.infrastructureFit, { field: \"infrastructureFit\", flag: \"--infrastructure-fit\", kind: \"number\" }, exitWithError);\n if (parsedInfrastructureFit !== undefined) bodyFromFlags.infrastructureFit = parsedInfrastructureFit;\n const parsedActivationPotential = coerceBodyFlag(opts.activationPotential, { field: \"activationPotential\", flag: \"--activation-potential\", kind: \"number\" }, exitWithError);\n if (parsedActivationPotential !== undefined) bodyFromFlags.activationPotential = parsedActivationPotential;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"scouts/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedUrl = coerceBodyFlag(opts.url, { field: \"url\", flag: \"--url\", kind: \"string\" }, exitWithError);\n if (parsedUrl !== undefined) bodyFromFlags.url = parsedUrl;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedPriority = coerceBodyFlag(opts.priority, { field: \"priority\", flag: \"--priority\", kind: \"string\" }, exitWithError);\n if (parsedPriority !== undefined) bodyFromFlags.priority = parsedPriority;\n const parsedStatus = coerceBodyFlag(opts.status, { field: \"status\", flag: \"--status\", kind: \"string\" }, exitWithError);\n if (parsedStatus !== undefined) bodyFromFlags.status = parsedStatus;\n const parsedEstimatedCost = coerceBodyFlag(opts.estimatedCost, { field: \"estimatedCost\", flag: \"--estimated-cost\", kind: \"number\" }, exitWithError);\n if (parsedEstimatedCost !== undefined) bodyFromFlags.estimatedCost = parsedEstimatedCost;\n const parsedPotentialCost = coerceBodyFlag(opts.potentialCost, { field: \"potentialCost\", flag: \"--potential-cost\", kind: \"number\" }, exitWithError);\n if (parsedPotentialCost !== undefined) bodyFromFlags.potentialCost = parsedPotentialCost;\n const parsedNeed = coerceBodyFlag(opts.need, { field: \"need\", flag: \"--need\", kind: \"number\" }, exitWithError);\n if (parsedNeed !== undefined) bodyFromFlags.need = parsedNeed;\n const parsedUrgency = coerceBodyFlag(opts.urgency, { field: \"urgency\", flag: \"--urgency\", kind: \"number\" }, exitWithError);\n if (parsedUrgency !== undefined) bodyFromFlags.urgency = parsedUrgency;\n const parsedUse = coerceBodyFlag(opts.use, { field: \"use\", flag: \"--use\", kind: \"number\" }, exitWithError);\n if (parsedUse !== undefined) bodyFromFlags.use = parsedUse;\n const parsedLongevity = coerceBodyFlag(opts.longevity, { field: \"longevity\", flag: \"--longevity\", kind: \"number\" }, exitWithError);\n if (parsedLongevity !== undefined) bodyFromFlags.longevity = parsedLongevity;\n const parsedRoi = coerceBodyFlag(opts.roi, { field: \"roi\", flag: \"--roi\", kind: \"number\" }, exitWithError);\n if (parsedRoi !== undefined) bodyFromFlags.roi = parsedRoi;\n const parsedSystemFit = coerceBodyFlag(opts.systemFit, { field: \"systemFit\", flag: \"--system-fit\", kind: \"number\" }, exitWithError);\n if (parsedSystemFit !== undefined) bodyFromFlags.systemFit = parsedSystemFit;\n const parsedEmotionalPull = coerceBodyFlag(opts.emotionalPull, { field: \"emotionalPull\", flag: \"--emotional-pull\", kind: \"number\" }, exitWithError);\n if (parsedEmotionalPull !== undefined) bodyFromFlags.emotionalPull = parsedEmotionalPull;\n const parsedInfrastructureFit = coerceBodyFlag(opts.infrastructureFit, { field: \"infrastructureFit\", flag: \"--infrastructure-fit\", kind: \"number\" }, exitWithError);\n if (parsedInfrastructureFit !== undefined) bodyFromFlags.infrastructureFit = parsedInfrastructureFit;\n const parsedActivationPotential = coerceBodyFlag(opts.activationPotential, { field: \"activationPotential\", flag: \"--activation-potential\", kind: \"number\" }, exitWithError);\n if (parsedActivationPotential !== undefined) bodyFromFlags.activationPotential = parsedActivationPotential;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"scouts/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n scoutsCmd.command(\"delete <id>\").description(\"Delete scouts\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"scouts\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"scouts/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"scouts/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- assets ---\n const assetsCmd = program.command(\"assets\").description(\"assets resource\");\n assetsCmd.command(\"list\").description(\"List assets\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .option(\"--scout-id <value>\", \"Filter by scoutId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n if (opts.scoutId != null) {\n query.scoutId = coerceQueryFlag(opts.scoutId, { field: \"scoutId\", flag: \"--scout-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"assets\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n assetsCmd.command(\"get <id>\").description(\"Get one assets by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"assets/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n assetsCmd.command(\"create\").description(\"Create assets\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--scout-id <value>\", \"scoutId\")\n .option(\"--category-id <value>\", \"categoryId\")\n .option(\"--hero-image <value>\", \"heroImage\")\n .option(\"--condition <value>\", \"condition\")\n .option(\"--satisfaction <value>\", \"satisfaction\")\n .option(\"--usage <value>\", \"usage\")\n .option(\"--friction <value>\", \"friction\")\n .option(\"--lifetime-value <value>\", \"lifetimeValue\")\n .option(\"--acquisition-date <value>\", \"acquisitionDate\")\n .option(\"--cost <value>\", \"cost\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedScoutId = coerceBodyFlag(opts.scoutId, { field: \"scoutId\", flag: \"--scout-id\", kind: \"string\" }, exitWithError);\n if (parsedScoutId !== undefined) bodyFromFlags.scoutId = parsedScoutId;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\" }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedCondition = coerceBodyFlag(opts.condition, { field: \"condition\", flag: \"--condition\", kind: \"number\" }, exitWithError);\n if (parsedCondition !== undefined) bodyFromFlags.condition = parsedCondition;\n const parsedSatisfaction = coerceBodyFlag(opts.satisfaction, { field: \"satisfaction\", flag: \"--satisfaction\", kind: \"number\" }, exitWithError);\n if (parsedSatisfaction !== undefined) bodyFromFlags.satisfaction = parsedSatisfaction;\n const parsedUsage = coerceBodyFlag(opts.usage, { field: \"usage\", flag: \"--usage\", kind: \"number\" }, exitWithError);\n if (parsedUsage !== undefined) bodyFromFlags.usage = parsedUsage;\n const parsedFriction = coerceBodyFlag(opts.friction, { field: \"friction\", flag: \"--friction\", kind: \"number\" }, exitWithError);\n if (parsedFriction !== undefined) bodyFromFlags.friction = parsedFriction;\n const parsedLifetimeValue = coerceBodyFlag(opts.lifetimeValue, { field: \"lifetimeValue\", flag: \"--lifetime-value\", kind: \"number\" }, exitWithError);\n if (parsedLifetimeValue !== undefined) bodyFromFlags.lifetimeValue = parsedLifetimeValue;\n const parsedAcquisitionDate = coerceBodyFlag(opts.acquisitionDate, { field: \"acquisitionDate\", flag: \"--acquisition-date\", kind: \"number\" }, exitWithError);\n if (parsedAcquisitionDate !== undefined) bodyFromFlags.acquisitionDate = parsedAcquisitionDate;\n const parsedCost = coerceBodyFlag(opts.cost, { field: \"cost\", flag: \"--cost\", kind: \"number\" }, exitWithError);\n if (parsedCost !== undefined) bodyFromFlags.cost = parsedCost;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"assets\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n assetsCmd.command(\"update <id>\").description(\"Update assets\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--description <value>\", \"description\")\n .option(\"--scout-id <value>\", \"scoutId\")\n .option(\"--category-id <value>\", \"categoryId\")\n .option(\"--hero-image <value>\", \"heroImage\")\n .option(\"--condition <value>\", \"condition\")\n .option(\"--satisfaction <value>\", \"satisfaction\")\n .option(\"--usage <value>\", \"usage\")\n .option(\"--friction <value>\", \"friction\")\n .option(\"--lifetime-value <value>\", \"lifetimeValue\")\n .option(\"--acquisition-date <value>\", \"acquisitionDate\")\n .option(\"--cost <value>\", \"cost\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"assets\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedScoutId = coerceBodyFlag(opts.scoutId, { field: \"scoutId\", flag: \"--scout-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedScoutId !== undefined) bodyFromFlags.scoutId = parsedScoutId;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedCondition = coerceBodyFlag(opts.condition, { field: \"condition\", flag: \"--condition\", kind: \"number\" }, exitWithError);\n if (parsedCondition !== undefined) bodyFromFlags.condition = parsedCondition;\n const parsedSatisfaction = coerceBodyFlag(opts.satisfaction, { field: \"satisfaction\", flag: \"--satisfaction\", kind: \"number\" }, exitWithError);\n if (parsedSatisfaction !== undefined) bodyFromFlags.satisfaction = parsedSatisfaction;\n const parsedUsage = coerceBodyFlag(opts.usage, { field: \"usage\", flag: \"--usage\", kind: \"number\" }, exitWithError);\n if (parsedUsage !== undefined) bodyFromFlags.usage = parsedUsage;\n const parsedFriction = coerceBodyFlag(opts.friction, { field: \"friction\", flag: \"--friction\", kind: \"number\" }, exitWithError);\n if (parsedFriction !== undefined) bodyFromFlags.friction = parsedFriction;\n const parsedLifetimeValue = coerceBodyFlag(opts.lifetimeValue, { field: \"lifetimeValue\", flag: \"--lifetime-value\", kind: \"number\" }, exitWithError);\n if (parsedLifetimeValue !== undefined) bodyFromFlags.lifetimeValue = parsedLifetimeValue;\n const parsedAcquisitionDate = coerceBodyFlag(opts.acquisitionDate, { field: \"acquisitionDate\", flag: \"--acquisition-date\", kind: \"number\" }, exitWithError);\n if (parsedAcquisitionDate !== undefined) bodyFromFlags.acquisitionDate = parsedAcquisitionDate;\n const parsedCost = coerceBodyFlag(opts.cost, { field: \"cost\", flag: \"--cost\", kind: \"number\" }, exitWithError);\n if (parsedCost !== undefined) bodyFromFlags.cost = parsedCost;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"assets/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDescription = coerceBodyFlag(opts.description, { field: \"description\", flag: \"--description\", kind: \"string\" }, exitWithError);\n if (parsedDescription !== undefined) bodyFromFlags.description = parsedDescription;\n const parsedScoutId = coerceBodyFlag(opts.scoutId, { field: \"scoutId\", flag: \"--scout-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedScoutId !== undefined) bodyFromFlags.scoutId = parsedScoutId;\n const parsedCategoryId = coerceBodyFlag(opts.categoryId, { field: \"categoryId\", flag: \"--category-id\", kind: \"string\", allowNull: true }, exitWithError);\n if (parsedCategoryId !== undefined) bodyFromFlags.categoryId = parsedCategoryId;\n const parsedHeroImage = coerceBodyFlag(opts.heroImage, { field: \"heroImage\", flag: \"--hero-image\", kind: \"string\" }, exitWithError);\n if (parsedHeroImage !== undefined) bodyFromFlags.heroImage = parsedHeroImage;\n const parsedCondition = coerceBodyFlag(opts.condition, { field: \"condition\", flag: \"--condition\", kind: \"number\" }, exitWithError);\n if (parsedCondition !== undefined) bodyFromFlags.condition = parsedCondition;\n const parsedSatisfaction = coerceBodyFlag(opts.satisfaction, { field: \"satisfaction\", flag: \"--satisfaction\", kind: \"number\" }, exitWithError);\n if (parsedSatisfaction !== undefined) bodyFromFlags.satisfaction = parsedSatisfaction;\n const parsedUsage = coerceBodyFlag(opts.usage, { field: \"usage\", flag: \"--usage\", kind: \"number\" }, exitWithError);\n if (parsedUsage !== undefined) bodyFromFlags.usage = parsedUsage;\n const parsedFriction = coerceBodyFlag(opts.friction, { field: \"friction\", flag: \"--friction\", kind: \"number\" }, exitWithError);\n if (parsedFriction !== undefined) bodyFromFlags.friction = parsedFriction;\n const parsedLifetimeValue = coerceBodyFlag(opts.lifetimeValue, { field: \"lifetimeValue\", flag: \"--lifetime-value\", kind: \"number\" }, exitWithError);\n if (parsedLifetimeValue !== undefined) bodyFromFlags.lifetimeValue = parsedLifetimeValue;\n const parsedAcquisitionDate = coerceBodyFlag(opts.acquisitionDate, { field: \"acquisitionDate\", flag: \"--acquisition-date\", kind: \"number\" }, exitWithError);\n if (parsedAcquisitionDate !== undefined) bodyFromFlags.acquisitionDate = parsedAcquisitionDate;\n const parsedCost = coerceBodyFlag(opts.cost, { field: \"cost\", flag: \"--cost\", kind: \"number\" }, exitWithError);\n if (parsedCost !== undefined) bodyFromFlags.cost = parsedCost;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"assets/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n assetsCmd.command(\"delete <id>\").description(\"Delete assets\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"assets\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"assets/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"assets/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- categories ---\n const categoriesCmd = program.command(\"categories\").description(\"categories resource\");\n categoriesCmd.command(\"list\").description(\"List categories\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"categories\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n categoriesCmd.command(\"get <id>\").description(\"Get one categories by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"categories/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n categoriesCmd.command(\"create\").description(\"Create categories\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--default-bucket <value>\", \"defaultBucket\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedDefaultBucket = coerceBodyFlag(opts.defaultBucket, { field: \"defaultBucket\", flag: \"--default-bucket\", kind: \"string\" }, exitWithError);\n if (parsedDefaultBucket !== undefined) bodyFromFlags.defaultBucket = parsedDefaultBucket;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"categories\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n categoriesCmd.command(\"update <id>\").description(\"Update categories\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--default-bucket <value>\", \"defaultBucket\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"categories\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDefaultBucket = coerceBodyFlag(opts.defaultBucket, { field: \"defaultBucket\", flag: \"--default-bucket\", kind: \"string\" }, exitWithError);\n if (parsedDefaultBucket !== undefined) bodyFromFlags.defaultBucket = parsedDefaultBucket;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"categories/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedDefaultBucket = coerceBodyFlag(opts.defaultBucket, { field: \"defaultBucket\", flag: \"--default-bucket\", kind: \"string\" }, exitWithError);\n if (parsedDefaultBucket !== undefined) bodyFromFlags.defaultBucket = parsedDefaultBucket;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"categories/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n categoriesCmd.command(\"delete <id>\").description(\"Delete categories\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"categories\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"categories/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"categories/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- labels ---\n const labelsCmd = program.command(\"labels\").description(\"labels resource\");\n labelsCmd.command(\"list\").description(\"List labels\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"labels\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n labelsCmd.command(\"get <id>\").description(\"Get one labels by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"labels/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n labelsCmd.command(\"create\").description(\"Create labels\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--colour <value>\", \"colour\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedColour = coerceBodyFlag(opts.colour, { field: \"colour\", flag: \"--colour\", kind: \"string\" }, exitWithError);\n if (parsedColour !== undefined) bodyFromFlags.colour = parsedColour;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"labels\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n labelsCmd.command(\"update <id>\").description(\"Update labels\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--colour <value>\", \"colour\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"labels\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedColour = coerceBodyFlag(opts.colour, { field: \"colour\", flag: \"--colour\", kind: \"string\" }, exitWithError);\n if (parsedColour !== undefined) bodyFromFlags.colour = parsedColour;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"labels/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedColour = coerceBodyFlag(opts.colour, { field: \"colour\", flag: \"--colour\", kind: \"string\" }, exitWithError);\n if (parsedColour !== undefined) bodyFromFlags.colour = parsedColour;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"labels/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n labelsCmd.command(\"delete <id>\").description(\"Delete labels\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"labels\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"labels/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"labels/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- views ---\n const viewsCmd = program.command(\"views\").description(\"views resource\");\n viewsCmd.command(\"list\").description(\"List views\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--organization-id <value>\", \"Filter by organizationId\")\n .option(\"--project-id <value>\", \"Filter by projectId\")\n .option(\"--entity-type <value>\", \"Filter by entityType\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.organizationId != null) {\n query.organizationId = coerceQueryFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n }\n if (opts.projectId != null) {\n query.projectId = coerceQueryFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n }\n if (opts.entityType != null) {\n query.entityType = coerceQueryFlag(opts.entityType, { field: \"entityType\", flag: \"--entity-type\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"views\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n viewsCmd.command(\"get <id>\").description(\"Get one views by id\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n const res = await apiRequest({ method: \"GET\", path: \"views/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n viewsCmd.command(\"create\").description(\"Create views\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--organization-id <value>\", \"organizationId\")\n .option(\"--project-id <value>\", \"projectId\")\n .option(\"--entity-type <value>\", \"entityType\")\n .option(\"--config <value>\", \"config\")\n .option(\"--is-default <value>\", \"isDefault\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedOrganizationId = coerceBodyFlag(opts.organizationId, { field: \"organizationId\", flag: \"--organization-id\", kind: \"string\" }, exitWithError);\n if (parsedOrganizationId !== undefined) bodyFromFlags.organizationId = parsedOrganizationId;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedEntityType = coerceBodyFlag(opts.entityType, { field: \"entityType\", flag: \"--entity-type\", kind: \"string\" }, exitWithError);\n if (parsedEntityType !== undefined) bodyFromFlags.entityType = parsedEntityType;\n const parsedConfig = coerceBodyFlag(opts.config, { field: \"config\", flag: \"--config\", kind: \"string\" }, exitWithError);\n if (parsedConfig !== undefined) bodyFromFlags.config = parsedConfig;\n const parsedIsDefault = coerceBodyFlag(opts.isDefault, { field: \"isDefault\", flag: \"--is-default\", kind: \"boolean\" }, exitWithError);\n if (parsedIsDefault !== undefined) bodyFromFlags.isDefault = parsedIsDefault;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"views\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n viewsCmd.command(\"update <id>\").description(\"Update views\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk update (max 25)\")\n .option(\"--name <value>\", \"name\")\n .option(\"--project-id <value>\", \"projectId\")\n .option(\"--config <value>\", \"config\")\n .option(\"--is-default <value>\", \"isDefault\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"views\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedConfig = coerceBodyFlag(opts.config, { field: \"config\", flag: \"--config\", kind: \"string\" }, exitWithError);\n if (parsedConfig !== undefined) bodyFromFlags.config = parsedConfig;\n const parsedIsDefault = coerceBodyFlag(opts.isDefault, { field: \"isDefault\", flag: \"--is-default\", kind: \"boolean\" }, exitWithError);\n if (parsedIsDefault !== undefined) bodyFromFlags.isDefault = parsedIsDefault;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"views/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl(), body });\n return { ok: res.ok, status: res.status || 0, data: res.data, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"updated\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedName = coerceBodyFlag(opts.name, { field: \"name\", flag: \"--name\", kind: \"string\" }, exitWithError);\n if (parsedName !== undefined) bodyFromFlags.name = parsedName;\n const parsedProjectId = coerceBodyFlag(opts.projectId, { field: \"projectId\", flag: \"--project-id\", kind: \"string\" }, exitWithError);\n if (parsedProjectId !== undefined) bodyFromFlags.projectId = parsedProjectId;\n const parsedConfig = coerceBodyFlag(opts.config, { field: \"config\", flag: \"--config\", kind: \"string\" }, exitWithError);\n if (parsedConfig !== undefined) bodyFromFlags.config = parsedConfig;\n const parsedIsDefault = coerceBodyFlag(opts.isDefault, { field: \"isDefault\", flag: \"--is-default\", kind: \"boolean\" }, exitWithError);\n if (parsedIsDefault !== undefined) bodyFromFlags.isDefault = parsedIsDefault;\n const body = mergeBody(bodyFromFlags, opts.body);\n const res = await apiRequest({ method: \"PATCH\", path: \"views/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n viewsCmd.command(\"delete <id>\").description(\"Delete views\")\n .option(\"--ids <ids>\", \"Comma-separated IDs for bulk delete (max 25)\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (id, opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const ids = parseIds(opts.ids);\n if (ids.length > 0) {\n validateBulkIds(ids, \"views\");\n const { data, summary } = await runBulk({\n items: ids,\n runOne: async (itemId) => {\n const res = await apiRequest({ method: \"DELETE\", path: \"views/\" + encodeURIComponent(itemId), token, baseUrl: getBaseUrl() });\n return { ok: res.ok, status: res.status || 0, error: res.error };\n },\n toResult: (itemId, ok, status, _data, err) => ok ? { _id: itemId, status: \"deleted\" } : { error: true, statusCode: status, message: err ?? \"Failed\" },\n });\n printOutput(getOutputFormat(), { data, summary }, false);\n return;\n }\n const res = await apiRequest({ method: \"DELETE\", path: \"views/\" + encodeURIComponent(id), token, baseUrl: getBaseUrl() });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n if (getOutputFormat() === \"json\") console.log(JSON.stringify({ data: null, deleted: true }));\n });\n\n // --- comments ---\n const commentsCmd = program.command(\"comments\").description(\"comments resource\");\n commentsCmd.command(\"list\").description(\"List comments\")\n .option(\"--limit <n>\", \"Max results\")\n .option(\"--offset <n>\", \"Skip n results\")\n .option(\"--entity-type <value>\", \"Filter by entityType\")\n .option(\"--entity-id <value>\", \"Filter by entityId\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const query: Record<string, string | number | undefined> = {};\n if (opts.limit != null) query.limit = opts.limit;\n if (opts.offset != null) query.offset = opts.offset;\n if (opts.entityType != null) {\n query.entityType = coerceQueryFlag(opts.entityType, { field: \"entityType\", flag: \"--entity-type\", kind: \"string\" }, exitWithError);\n }\n if (opts.entityId != null) {\n query.entityId = coerceQueryFlag(opts.entityId, { field: \"entityId\", flag: \"--entity-id\", kind: \"string\" }, exitWithError);\n }\n const res = await apiRequest({ method: \"GET\", path: \"comments\", token, baseUrl: getBaseUrl(), query });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown[] })?.data ?? [];\n printOutput(getOutputFormat(), data, false);\n });\n commentsCmd.command(\"create\").description(\"Create comments\")\n .option(\"--body <json>\", \"Request body JSON (merged with flags)\")\n .option(\"--entity-type <value>\", \"entityType\")\n .option(\"--entity-id <value>\", \"entityId\")\n .option(\"--text <value>\", \"body\")\n .option(\"--parent-comment-id <value>\", \"parentCommentId\")\n .option(\"--if-not-exists\", \"Return existing if match found\")\n .hook(\"preAction\", (thisCommand: Command) => {\n syncRootOptsFromCommand(thisCommand);\n })\n .action(async (opts) => {\n const token = requireToken();\n if (!token) exitWithError(401, \"Missing or invalid token\");\n const bodyFromFlags: Record<string, unknown> = {};\n const parsedEntityType = coerceBodyFlag(opts.entityType, { field: \"entityType\", flag: \"--entity-type\", kind: \"string\" }, exitWithError);\n if (parsedEntityType !== undefined) bodyFromFlags.entityType = parsedEntityType;\n const parsedEntityId = coerceBodyFlag(opts.entityId, { field: \"entityId\", flag: \"--entity-id\", kind: \"string\" }, exitWithError);\n if (parsedEntityId !== undefined) bodyFromFlags.entityId = parsedEntityId;\n const parsedBody = coerceBodyFlag(opts.text, { field: \"body\", flag: \"--text\", kind: \"string\" }, exitWithError);\n if (parsedBody !== undefined) bodyFromFlags.body = parsedBody;\n const parsedParentCommentId = coerceBodyFlag(opts.parentCommentId, { field: \"parentCommentId\", flag: \"--parent-comment-id\", kind: \"string\" }, exitWithError);\n if (parsedParentCommentId !== undefined) bodyFromFlags.parentCommentId = parsedParentCommentId;\n const body = mergeBody(bodyFromFlags, opts.body);\n if (opts.ifNotExists) { /* TODO: find existing then return or create */ }\n const res = await apiRequest({ method: \"POST\", path: \"comments\", token, baseUrl: getBaseUrl(), body });\n if (!res.ok) exitWithError(res.status || 500, res.error ?? \"Request failed\");\n const data = (res.data as { data?: unknown })?.data ?? res.data;\n printOutput(getOutputFormat(), data ?? {}, false);\n });\n\n}"],"mappings":"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","names":["r","data","bodyFromFlags","parsedName","parsedDescription","parsedPriority","body","res","parsedProjectId","parsedStatus","parsedCurrentStrength","parsedCategoryId","parsedUrl","parsedHeroImage","parsedEstimatedCost","parsedPotentialCost","parsedNeed","parsedUrgency","parsedUse","parsedLongevity","parsedRoi","parsedSystemFit","parsedEmotionalPull","parsedInfrastructureFit","parsedActivationPotential","parsedScoutId","parsedCondition","parsedSatisfaction","parsedUsage","parsedFriction","parsedLifetimeValue","parsedAcquisitionDate","parsedCost","parsedDefaultBucket","parsedColour","parsedConfig","parsedIsDefault"]}
|