@unbrained/pm-cli 2026.5.29 → 2026.5.30

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +29 -12
  2. package/dist/cli/bootstrap-args.d.ts +1 -1
  3. package/dist/cli/bootstrap-args.js +59 -9
  4. package/dist/cli/bootstrap-args.js.map +1 -1
  5. package/dist/cli/commands/activity.js +4 -4
  6. package/dist/cli/commands/activity.js.map +1 -1
  7. package/dist/cli/commands/calendar.js +4 -4
  8. package/dist/cli/commands/calendar.js.map +1 -1
  9. package/dist/cli/commands/close.js +4 -4
  10. package/dist/cli/commands/close.js.map +1 -1
  11. package/dist/cli/commands/completion.js +4 -4
  12. package/dist/cli/commands/completion.js.map +1 -1
  13. package/dist/cli/commands/create.js +18 -5
  14. package/dist/cli/commands/create.js.map +1 -1
  15. package/dist/cli/commands/deps.js +4 -4
  16. package/dist/cli/commands/deps.js.map +1 -1
  17. package/dist/cli/commands/extension/install-sources.d.ts +1 -0
  18. package/dist/cli/commands/extension/install-sources.js +20 -2
  19. package/dist/cli/commands/extension/install-sources.js.map +1 -1
  20. package/dist/cli/commands/extension.js +26 -5
  21. package/dist/cli/commands/extension.js.map +1 -1
  22. package/dist/cli/commands/get.js +6 -3
  23. package/dist/cli/commands/get.js.map +1 -1
  24. package/dist/cli/commands/list.js +25 -6
  25. package/dist/cli/commands/list.js.map +1 -1
  26. package/dist/cli/commands/search.js +3 -3
  27. package/dist/cli/commands/search.js.map +1 -1
  28. package/dist/cli/commands/stats.js +4 -4
  29. package/dist/cli/commands/stats.js.map +1 -1
  30. package/dist/cli/commands/test-all.js +4 -4
  31. package/dist/cli/commands/test-all.js.map +1 -1
  32. package/dist/cli/main.d.ts +2 -0
  33. package/dist/cli/main.js +39 -11
  34. package/dist/cli/main.js.map +1 -1
  35. package/dist/cli/register-list-query.js +3 -3
  36. package/dist/cli/register-list-query.js.map +1 -1
  37. package/dist/cli/register-setup.js +3 -3
  38. package/dist/cli/register-setup.js.map +1 -1
  39. package/dist/cli-bundle/chunks/chunk-PB2YU2E3.js +164 -0
  40. package/dist/cli-bundle/chunks/chunk-PB2YU2E3.js.map +7 -0
  41. package/dist/cli-bundle/chunks/chunk-RJONRNXN.js +682 -0
  42. package/dist/cli-bundle/chunks/chunk-RJONRNXN.js.map +7 -0
  43. package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js +13864 -0
  44. package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js.map +7 -0
  45. package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js +24225 -0
  46. package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js.map +7 -0
  47. package/dist/cli-bundle/chunks/register-list-query-EIVQ5FMR.js +223 -0
  48. package/dist/cli-bundle/chunks/register-list-query-EIVQ5FMR.js.map +7 -0
  49. package/dist/cli-bundle/chunks/register-mutation-RSZNPSGI.js +702 -0
  50. package/dist/cli-bundle/chunks/register-mutation-RSZNPSGI.js.map +7 -0
  51. package/dist/cli-bundle/chunks/register-operations-APUSYDMR.js +355 -0
  52. package/dist/cli-bundle/chunks/register-operations-APUSYDMR.js.map +7 -0
  53. package/dist/cli-bundle/chunks/register-setup-OZOKSMPJ.js +237 -0
  54. package/dist/cli-bundle/chunks/register-setup-OZOKSMPJ.js.map +7 -0
  55. package/dist/cli-bundle/main.js +6896 -0
  56. package/dist/cli-bundle/main.js.map +7 -0
  57. package/dist/cli.js +1 -1
  58. package/dist/core/config/nested-settings.d.ts +2 -0
  59. package/dist/core/config/nested-settings.js +17 -2
  60. package/dist/core/config/nested-settings.js.map +1 -1
  61. package/dist/core/item/type-synonyms.d.ts +20 -0
  62. package/dist/core/item/type-synonyms.js +42 -0
  63. package/dist/core/item/type-synonyms.js.map +1 -0
  64. package/dist/core/search/cache.js +46 -4
  65. package/dist/core/search/cache.js.map +1 -1
  66. package/dist/core/search/semantic-defaults.js +73 -32
  67. package/dist/core/search/semantic-defaults.js.map +1 -1
  68. package/dist/core/sentry/helpers.d.ts +1 -1
  69. package/dist/core/sentry/helpers.js +4 -4
  70. package/dist/core/sentry/helpers.js.map +1 -1
  71. package/dist/core/shared/constants.js +3 -2
  72. package/dist/core/shared/constants.js.map +1 -1
  73. package/dist/core/shared/html-entity-decode.d.ts +2 -1
  74. package/dist/core/shared/html-entity-decode.js +14 -9
  75. package/dist/core/shared/html-entity-decode.js.map +1 -1
  76. package/dist/core/shared/time.js +52 -2
  77. package/dist/core/shared/time.js.map +1 -1
  78. package/dist/core/store/front-matter-cache.d.ts +24 -0
  79. package/dist/core/store/front-matter-cache.js +119 -8
  80. package/dist/core/store/front-matter-cache.js.map +1 -1
  81. package/dist/core/store/item-store.d.ts +7 -0
  82. package/dist/core/store/item-store.js +13 -3
  83. package/dist/core/store/item-store.js.map +1 -1
  84. package/dist/core/store/settings-validator.d.ts +1 -0
  85. package/dist/core/store/settings-validator.js +3 -2
  86. package/dist/core/store/settings-validator.js.map +1 -1
  87. package/dist/core/store/settings.js +19 -3
  88. package/dist/core/store/settings.js.map +1 -1
  89. package/dist/mcp/server.js +3 -3
  90. package/dist/mcp/server.js.map +1 -1
  91. package/dist/sdk/cli-contracts.js +5 -5
  92. package/dist/sdk/cli-contracts.js.map +1 -1
  93. package/dist/types.d.ts +2 -0
  94. package/dist/types.js +2 -2
  95. package/dist/types.js.map +1 -1
  96. package/docs/CONFIGURATION.md +11 -0
  97. package/package.json +7 -4
  98. package/packages/pm-calendar/extensions/calendar/index.js +27 -2
  99. package/packages/pm-calendar/extensions/calendar/index.ts +28 -2
  100. package/scripts/bundle-cli.mjs +39 -0
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="79117409-1ffd-53b1-948a-0ac6ac8d878a")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2bf175c5-e4a0-59d7-a9ac-41b6dd354d6d")}catch(e){}}();
3
3
  import { Option } from "commander";
4
4
  import { EXIT_CODE } from "../core/shared/constants.js";
5
5
  import { PmCliError } from "../core/shared/errors.js";
@@ -231,7 +231,7 @@ export function registerListQueryCommands(program, options) {
231
231
  program
232
232
  .command("get")
233
233
  .argument("<id>", "Item id")
234
- .option("--depth <value>", "Detail depth: brief|standard|deep (default: deep)")
234
+ .option("--depth <value>", "Detail depth: brief|standard|deep|full (full aliases deep; default: deep)")
235
235
  .option("--full", "Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)")
236
236
  .option("--fields <value>", "Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)")
237
237
  .description("Show item details by ID.")
@@ -318,4 +318,4 @@ export function registerListQueryCommands(program, options) {
318
318
  }
319
319
  }
320
320
  //# sourceMappingURL=register-list-query.js.map
321
- //# debugId=79117409-1ffd-53b1-948a-0ac6ac8d878a
321
+ //# debugId=2bf175c5-e4a0-59d7-a9ac-41b6dd354d6d
@@ -1 +1 @@
1
- {"version":3,"file":"register-list-query.js","sources":["cli/register-list-query.ts"],"sourceRoot":"/","sourcesContent":["import { Option, type Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n getGlobalOptions,\n normalizeAggregateOptions,\n normalizeActivityOptions,\n normalizeContextOptions,\n normalizeListOptions,\n normalizeSearchKeywordsInput,\n normalizeSearchOptions,\n printActivityJsonStream,\n printError,\n printListJsonStream,\n printResult,\n resolveActivityStreamMode,\n writeStdout,\n} from \"./registration-helpers.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\n\ntype ListQueryCommandsModule = typeof import(\"./commands/index.js\");\n\nconst loadListQueryCommandsModule = createLazyModule<ListQueryCommandsModule>(() => import(\"./commands/index.js\"));\n\nexport interface RegisterListQueryCommandsOptions {\n commandFilter?: Set<string>;\n}\n\nfunction shouldRegisterListQueryCommand(commandName: string, commandFilter?: Set<string>): boolean {\n if (!commandFilter || commandFilter.size === 0) {\n return true;\n }\n if (commandName === \"context\") {\n return commandFilter.has(\"context\") || commandFilter.has(\"ctx\");\n }\n return commandFilter.has(commandName);\n}\n\nexport function registerListQueryCommands(program: Command, options?: RegisterListQueryCommandsOptions): void {\n const commandFilter = options?.commandFilter;\n const shouldRegister = (commandName: string): boolean => shouldRegisterListQueryCommand(commandName, commandFilter);\n // Register a flag and hide it from --help text while keeping it functional as\n // a parse-time alias. Used for pure snake_case underscore-duplicate aliases\n // (e.g. --assignee_filter for --assignee-filter) so they no longer bloat\n // --help output. The option still appears in command.options, so JSON help\n // and completion are unchanged.\n function addHiddenOption(command: Command, flags: string, description: string): void {\n command.addOption(new Option(flags, description).hideHelp());\n }\n\n function registerListCommand(\n name: string,\n description: string,\n status?: ItemStatus,\n excludeTerminal?: boolean,\n allowStatusFilter?: boolean,\n defaultBrief?: boolean,\n ): void {\n const command = program.command(name).description(description);\n if (allowStatusFilter) {\n command.option(\"--status <value>\", \"Filter by status\");\n }\n command\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\"--offset <n>\", \"Skip the first n matching rows before limit is applied\")\n .option(\"--include-body\", \"Include item body in each returned list row\")\n .option(\"--compact\", \"Render compact list projection fields (mutually exclusive with --brief/--full/--fields)\")\n .option(\"--brief\", \"Ultra-compact output: id, status, type, title only (agent-optimized, mutually exclusive with --compact/--full/--fields)\")\n .option(\"--full\", \"Render full list projection fields (mutually exclusive with --compact/--brief/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated list fields (mutually exclusive with --compact/--brief/--full; valid: --fields id,title)\",\n )\n .option(\"--sort <value>\", \"Sort field: priority|deadline|updated_at|created_at|title|parent (aliases: updated, created)\")\n .option(\"--order <value>\", \"Sort order: asc|desc (requires --sort)\")\n .option(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\")\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const listOptions = normalizeListOptions(options);\n if (\n defaultBrief === true &&\n listOptions.includeBody !== true &&\n listOptions.compact !== true &&\n listOptions.brief !== true &&\n listOptions.full !== true &&\n listOptions.fields === undefined\n ) {\n listOptions.brief = true;\n }\n if (excludeTerminal) listOptions.excludeTerminal = true;\n const { runList } = await loadListQueryCommandsModule();\n const result = await runList(status, listOptions, globalOptions);\n const streamMode = options.stream === true;\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printListJsonStream(name, result, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=${name} took_ms=${Date.now() - startedAt}`);\n }\n });\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(command, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n }\n\n if (shouldRegister(\"list\")) {\n registerListCommand(\"list\", \"List active items with optional filters.\", undefined, true, true, true);\n }\n if (shouldRegister(\"list-all\")) {\n registerListCommand(\"list-all\", \"List all items with optional filters.\", undefined, false, true);\n }\n if (shouldRegister(\"list-draft\")) {\n registerListCommand(\"list-draft\", \"List draft items with optional filters.\", \"draft\");\n }\n if (shouldRegister(\"list-open\")) {\n registerListCommand(\"list-open\", \"List open items with optional filters.\", \"open\", false, false, true);\n }\n if (shouldRegister(\"list-in-progress\")) {\n registerListCommand(\"list-in-progress\", \"List in-progress items with optional filters.\", \"in_progress\", false, false, true);\n }\n if (shouldRegister(\"list-blocked\")) {\n registerListCommand(\"list-blocked\", \"List blocked items with optional filters.\", \"blocked\");\n }\n if (shouldRegister(\"list-closed\")) {\n registerListCommand(\"list-closed\", \"List closed items with optional filters.\", \"closed\");\n }\n if (shouldRegister(\"list-canceled\")) {\n registerListCommand(\"list-canceled\", \"List canceled items with optional filters.\", \"canceled\");\n }\n\n if (shouldRegister(\"aggregate\")) {\n const aggregateCommand = program\n .command(\"aggregate\")\n .description(\"Aggregate grouped item counts for governance queries.\")\n .option(\n \"--group-by <value>\",\n \"Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)\",\n )\n .option(\"--count\", \"Return grouped counts (default behavior)\")\n .option(\"--include-unparented\", \"Include unparented rows when grouping by parent\")\n .option(\"--status <value>\", \"Filter by item status\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\");\n // Hidden pure snake_case underscore-duplicate aliases (kept parse-functional).\n addHiddenOption(aggregateCommand, \"--include_unparented\", \"Alias for --include-unparented\");\n addHiddenOption(aggregateCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n aggregateCommand\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runAggregate } = await loadListQueryCommandsModule();\n const result = await runAggregate(normalizeAggregateOptions(options), globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=aggregate took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"context\")) {\n const contextCommand = program\n .command(\"context\")\n .alias(\"ctx\")\n .description(\"Show a token-efficient project context snapshot for next-work decisions.\")\n .option(\"--date <value>\", \"Anchor date/time for agenda window calculations (ISO/date string or relative)\")\n .option(\"--from <value>\", \"Agenda lower bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Agenda upper bound (ISO/date string or relative)\")\n .option(\"--past\", \"Include past agenda entries in bounded windows\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--limit <n>\", \"Limit focus and agenda rows per section\")\n .option(\"--format <value>\", \"Context output format override: markdown|toon|json\")\n .option(\"--depth <value>\", \"Context depth: brief|standard|deep (default: settings or brief)\")\n .option(\"--section <value...>\", \"Include specific sections (repeatable; overrides --depth)\")\n .option(\"--activity-limit <n>\", \"Limit recent activity entries (default: settings or 10)\")\n .option(\"--stale-threshold <value>\", \"Staleness cutoff in days (e.g. 7 or 7d; default: settings or 7)\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(contextCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n contextCommand\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const normalized = normalizeContextOptions(options);\n const commands = await loadListQueryCommandsModule();\n const result = await commands.runContext(normalized, globalOptions);\n const outputFormat = commands.resolveContextOutputFormat(normalized, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${commands.renderContextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, {\n ...globalOptions,\n json: outputFormat === \"json\",\n });\n }\n if (globalOptions.profile) {\n printError(`profile:command=context took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"search\")) {\n program\n .command(\"search\")\n .argument(\"<keywords...>\", \"Keyword query tokens\")\n .description(\"Search items with keyword, semantic, or hybrid retrieval.\")\n .option(\"--mode <value>\", \"Search mode: keyword|semantic|hybrid (default: keyword)\")\n .option(\"--semantic\", \"Shorthand for --mode semantic\")\n .option(\"--hybrid\", \"Shorthand for --mode hybrid\")\n .option(\"--include-linked\", \"Include linked files, docs, and tests in the searchable corpus\")\n .option(\"--title-exact\", \"Require exact normalized title match for the full query string\")\n .option(\"--phrase-exact\", \"Require exact normalized phrase match in searchable text\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--compact\", \"Render compact search hits (default; mutually exclusive with --full/--fields)\")\n .option(\"--full\", \"Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)\",\n )\n .option(\"--limit <n>\", \"Limit returned item count\")\n .action(async (keywords: string[], options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runSearch } = await loadListQueryCommandsModule();\n const searchOptions = normalizeSearchOptions(options);\n const result = await runSearch(\n normalizeSearchKeywordsInput(keywords),\n {\n ...searchOptions,\n mode:\n typeof searchOptions.mode === \"string\" && searchOptions.mode.trim().length > 0\n ? searchOptions.mode\n : \"keyword\",\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=search took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"get\")) {\n program\n .command(\"get\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--depth <value>\", \"Detail depth: brief|standard|deep (default: deep)\")\n .option(\"--full\", \"Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)\")\n .option(\"--fields <value>\", \"Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)\")\n .description(\"Show item details by ID.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runGet } = await loadListQueryCommandsModule();\n const result = await runGet(\n id,\n globalOptions,\n {\n depth: typeof options.depth === \"string\" ? options.depth : undefined,\n fields: typeof options.fields === \"string\" ? options.fields : undefined,\n full: Boolean(options.full),\n },\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=get took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"history\")) {\n program\n .command(\"history\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--limit <n>\", \"Return only the latest n history entries\")\n .option(\"--compact\", \"Condensed output: show entry index, timestamp, op, author, patch count, and changed fields\")\n .option(\"--full\", \"Show full history entries with JSON Patch payloads\")\n .option(\"--diff\", \"Include per-entry changed field summaries from history patches\")\n .option(\"--verify\", \"Verify hash chain and replay integrity for the full history stream\")\n .description(\"Show item history entries.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"History projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const { runHistory } = await loadListQueryCommandsModule();\n const result = await runHistory(\n id,\n {\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n compact: options.full === true ? false : true,\n diff: Boolean(options.diff),\n verify: Boolean(options.verify),\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=history took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"activity\")) {\n program\n .command(\"activity\")\n .option(\"--id <value>\", \"Filter by item ID\")\n .option(\"--op <value>\", \"Filter by history operation\")\n .option(\"--author <value>\", \"Filter by history author\")\n .option(\"--from <value>\", \"Lower timestamp bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Upper timestamp bound (ISO/date string or relative)\")\n .option(\"--limit <n>\", \"Return only the latest n activity entries\")\n .option(\"--compact\", \"Condensed output: show only id, op, ts, author, msg per entry\")\n .option(\"--full\", \"Show full activity entries with JSON Patch payloads\")\n .option(\"--stream [mode]\", \"Emit line-delimited JSON rows (requires --json). Optional mode: rows|ndjson|jsonl\")\n .description(\"Show recent activity across items.\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"Activity projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const normalized = normalizeActivityOptions(options);\n const { runActivity } = await loadListQueryCommandsModule();\n const result = await runActivity(normalized, globalOptions);\n const streamMode = resolveActivityStreamMode(options.stream);\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printActivityJsonStream(result, normalized, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=activity took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n}\n"],"names":[],"mappings":"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","debugId":"79117409-1ffd-53b1-948a-0ac6ac8d878a"}
1
+ {"version":3,"file":"register-list-query.js","sources":["cli/register-list-query.ts"],"sourceRoot":"/","sourcesContent":["import { Option, type Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport type { ItemStatus } from \"../types/index.js\";\nimport {\n getGlobalOptions,\n normalizeAggregateOptions,\n normalizeActivityOptions,\n normalizeContextOptions,\n normalizeListOptions,\n normalizeSearchKeywordsInput,\n normalizeSearchOptions,\n printActivityJsonStream,\n printError,\n printListJsonStream,\n printResult,\n resolveActivityStreamMode,\n writeStdout,\n} from \"./registration-helpers.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\n\ntype ListQueryCommandsModule = typeof import(\"./commands/index.js\");\n\nconst loadListQueryCommandsModule = createLazyModule<ListQueryCommandsModule>(() => import(\"./commands/index.js\"));\n\nexport interface RegisterListQueryCommandsOptions {\n commandFilter?: Set<string>;\n}\n\nfunction shouldRegisterListQueryCommand(commandName: string, commandFilter?: Set<string>): boolean {\n if (!commandFilter || commandFilter.size === 0) {\n return true;\n }\n if (commandName === \"context\") {\n return commandFilter.has(\"context\") || commandFilter.has(\"ctx\");\n }\n return commandFilter.has(commandName);\n}\n\nexport function registerListQueryCommands(program: Command, options?: RegisterListQueryCommandsOptions): void {\n const commandFilter = options?.commandFilter;\n const shouldRegister = (commandName: string): boolean => shouldRegisterListQueryCommand(commandName, commandFilter);\n // Register a flag and hide it from --help text while keeping it functional as\n // a parse-time alias. Used for pure snake_case underscore-duplicate aliases\n // (e.g. --assignee_filter for --assignee-filter) so they no longer bloat\n // --help output. The option still appears in command.options, so JSON help\n // and completion are unchanged.\n function addHiddenOption(command: Command, flags: string, description: string): void {\n command.addOption(new Option(flags, description).hideHelp());\n }\n\n function registerListCommand(\n name: string,\n description: string,\n status?: ItemStatus,\n excludeTerminal?: boolean,\n allowStatusFilter?: boolean,\n defaultBrief?: boolean,\n ): void {\n const command = program.command(name).description(description);\n if (allowStatusFilter) {\n command.option(\"--status <value>\", \"Filter by status\");\n }\n command\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--limit <n>\", \"Limit returned item count\")\n .option(\"--offset <n>\", \"Skip the first n matching rows before limit is applied\")\n .option(\"--include-body\", \"Include item body in each returned list row\")\n .option(\"--compact\", \"Render compact list projection fields (mutually exclusive with --brief/--full/--fields)\")\n .option(\"--brief\", \"Ultra-compact output: id, status, type, title only (agent-optimized, mutually exclusive with --compact/--full/--fields)\")\n .option(\"--full\", \"Render full list projection fields (mutually exclusive with --compact/--brief/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated list fields (mutually exclusive with --compact/--brief/--full; valid: --fields id,title)\",\n )\n .option(\"--sort <value>\", \"Sort field: priority|deadline|updated_at|created_at|title|parent (aliases: updated, created)\")\n .option(\"--order <value>\", \"Sort order: asc|desc (requires --sort)\")\n .option(\"--stream\", \"Emit line-delimited JSON rows (requires --json)\")\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const listOptions = normalizeListOptions(options);\n if (\n defaultBrief === true &&\n listOptions.includeBody !== true &&\n listOptions.compact !== true &&\n listOptions.brief !== true &&\n listOptions.full !== true &&\n listOptions.fields === undefined\n ) {\n listOptions.brief = true;\n }\n if (excludeTerminal) listOptions.excludeTerminal = true;\n const { runList } = await loadListQueryCommandsModule();\n const result = await runList(status, listOptions, globalOptions);\n const streamMode = options.stream === true;\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printListJsonStream(name, result, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=${name} took_ms=${Date.now() - startedAt}`);\n }\n });\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(command, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n }\n\n if (shouldRegister(\"list\")) {\n registerListCommand(\"list\", \"List active items with optional filters.\", undefined, true, true, true);\n }\n if (shouldRegister(\"list-all\")) {\n registerListCommand(\"list-all\", \"List all items with optional filters.\", undefined, false, true);\n }\n if (shouldRegister(\"list-draft\")) {\n registerListCommand(\"list-draft\", \"List draft items with optional filters.\", \"draft\");\n }\n if (shouldRegister(\"list-open\")) {\n registerListCommand(\"list-open\", \"List open items with optional filters.\", \"open\", false, false, true);\n }\n if (shouldRegister(\"list-in-progress\")) {\n registerListCommand(\"list-in-progress\", \"List in-progress items with optional filters.\", \"in_progress\", false, false, true);\n }\n if (shouldRegister(\"list-blocked\")) {\n registerListCommand(\"list-blocked\", \"List blocked items with optional filters.\", \"blocked\");\n }\n if (shouldRegister(\"list-closed\")) {\n registerListCommand(\"list-closed\", \"List closed items with optional filters.\", \"closed\");\n }\n if (shouldRegister(\"list-canceled\")) {\n registerListCommand(\"list-canceled\", \"List canceled items with optional filters.\", \"canceled\");\n }\n\n if (shouldRegister(\"aggregate\")) {\n const aggregateCommand = program\n .command(\"aggregate\")\n .description(\"Aggregate grouped item counts for governance queries.\")\n .option(\n \"--group-by <value>\",\n \"Comma-separated group-by fields (supported: parent,type,priority,status,assignee,tags,sprint,release)\",\n )\n .option(\"--count\", \"Return grouped counts (default behavior)\")\n .option(\"--include-unparented\", \"Include unparented rows when grouping by parent\")\n .option(\"--status <value>\", \"Filter by item status\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--parent <value>\", \"Filter by parent item ID\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\");\n // Hidden pure snake_case underscore-duplicate aliases (kept parse-functional).\n addHiddenOption(aggregateCommand, \"--include_unparented\", \"Alias for --include-unparented\");\n addHiddenOption(aggregateCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n aggregateCommand\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runAggregate } = await loadListQueryCommandsModule();\n const result = await runAggregate(normalizeAggregateOptions(options), globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=aggregate took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"context\")) {\n const contextCommand = program\n .command(\"context\")\n .alias(\"ctx\")\n .description(\"Show a token-efficient project context snapshot for next-work decisions.\")\n .option(\"--date <value>\", \"Anchor date/time for agenda window calculations (ISO/date string or relative)\")\n .option(\"--from <value>\", \"Agenda lower bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Agenda upper bound (ISO/date string or relative)\")\n .option(\"--past\", \"Include past agenda entries in bounded windows\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--assignee <value>\", \"Filter by assignee\")\n .option(\"--assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned\")\n .option(\"--sprint <value>\", \"Filter by sprint\")\n .option(\"--release <value>\", \"Filter by release\")\n .option(\"--limit <n>\", \"Limit focus and agenda rows per section\")\n .option(\"--format <value>\", \"Context output format override: markdown|toon|json\")\n .option(\"--depth <value>\", \"Context depth: brief|standard|deep (default: settings or brief)\")\n .option(\"--section <value...>\", \"Include specific sections (repeatable; overrides --depth)\")\n .option(\"--activity-limit <n>\", \"Limit recent activity entries (default: settings or 10)\")\n .option(\"--stale-threshold <value>\", \"Staleness cutoff in days (e.g. 7 or 7d; default: settings or 7)\");\n // Hidden pure snake_case underscore-duplicate alias (kept parse-functional).\n addHiddenOption(contextCommand, \"--assignee_filter <value>\", \"Alias for --assignee-filter\");\n contextCommand\n .action(async (options: Record<string, unknown>, actionCommand) => {\n const globalOptions = getGlobalOptions(actionCommand);\n const startedAt = Date.now();\n const normalized = normalizeContextOptions(options);\n const commands = await loadListQueryCommandsModule();\n const result = await commands.runContext(normalized, globalOptions);\n const outputFormat = commands.resolveContextOutputFormat(normalized, globalOptions);\n if (outputFormat === \"markdown\") {\n if (!globalOptions.quiet) {\n writeStdout(`${commands.renderContextMarkdown(result)}\\n`);\n }\n } else {\n printResult(result, {\n ...globalOptions,\n json: outputFormat === \"json\",\n });\n }\n if (globalOptions.profile) {\n printError(`profile:command=context took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"search\")) {\n program\n .command(\"search\")\n .argument(\"<keywords...>\", \"Keyword query tokens\")\n .description(\"Search items with keyword, semantic, or hybrid retrieval.\")\n .option(\"--mode <value>\", \"Search mode: keyword|semantic|hybrid (default: keyword)\")\n .option(\"--semantic\", \"Shorthand for --mode semantic\")\n .option(\"--hybrid\", \"Shorthand for --mode hybrid\")\n .option(\"--include-linked\", \"Include linked files, docs, and tests in the searchable corpus\")\n .option(\"--title-exact\", \"Require exact normalized title match for the full query string\")\n .option(\"--phrase-exact\", \"Require exact normalized phrase match in searchable text\")\n .option(\"--type <value>\", \"Filter by item type\")\n .option(\"--tag <value>\", \"Filter by tag\")\n .option(\"--priority <value>\", \"Filter by priority\")\n .option(\"--deadline-before <value>\", \"Filter by deadline upper bound (ISO/date string or relative)\")\n .option(\"--deadline-after <value>\", \"Filter by deadline lower bound (ISO/date string or relative)\")\n .option(\"--compact\", \"Render compact search hits (default; mutually exclusive with --full/--fields)\")\n .option(\"--full\", \"Render full search hits with nested item payloads (mutually exclusive with --compact/--fields)\")\n .option(\n \"--fields <value>\",\n \"Render custom comma-separated search hit fields (mutually exclusive with --compact/--full; valid: --fields id,title,score; invalid: --full --fields id,title)\",\n )\n .option(\"--limit <n>\", \"Limit returned item count\")\n .action(async (keywords: string[], options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runSearch } = await loadListQueryCommandsModule();\n const searchOptions = normalizeSearchOptions(options);\n const result = await runSearch(\n normalizeSearchKeywordsInput(keywords),\n {\n ...searchOptions,\n mode:\n typeof searchOptions.mode === \"string\" && searchOptions.mode.trim().length > 0\n ? searchOptions.mode\n : \"keyword\",\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=search took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"get\")) {\n program\n .command(\"get\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--depth <value>\", \"Detail depth: brief|standard|deep|full (full aliases deep; default: deep)\")\n .option(\"--full\", \"Explicit full item read; equivalent to --depth deep (mutually exclusive with --depth/--fields)\")\n .option(\"--fields <value>\", \"Render custom comma-separated item metadata fields (for example: --fields id,title,status,parent,type)\")\n .description(\"Show item details by ID.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runGet } = await loadListQueryCommandsModule();\n const result = await runGet(\n id,\n globalOptions,\n {\n depth: typeof options.depth === \"string\" ? options.depth : undefined,\n fields: typeof options.fields === \"string\" ? options.fields : undefined,\n full: Boolean(options.full),\n },\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=get took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"history\")) {\n program\n .command(\"history\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--limit <n>\", \"Return only the latest n history entries\")\n .option(\"--compact\", \"Condensed output: show entry index, timestamp, op, author, patch count, and changed fields\")\n .option(\"--full\", \"Show full history entries with JSON Patch payloads\")\n .option(\"--diff\", \"Include per-entry changed field summaries from history patches\")\n .option(\"--verify\", \"Verify hash chain and replay integrity for the full history stream\")\n .description(\"Show item history entries.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"History projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const { runHistory } = await loadListQueryCommandsModule();\n const result = await runHistory(\n id,\n {\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n compact: options.full === true ? false : true,\n diff: Boolean(options.diff),\n verify: Boolean(options.verify),\n },\n globalOptions,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=history took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n\n if (shouldRegister(\"activity\")) {\n program\n .command(\"activity\")\n .option(\"--id <value>\", \"Filter by item ID\")\n .option(\"--op <value>\", \"Filter by history operation\")\n .option(\"--author <value>\", \"Filter by history author\")\n .option(\"--from <value>\", \"Lower timestamp bound (ISO/date string or relative)\")\n .option(\"--to <value>\", \"Upper timestamp bound (ISO/date string or relative)\")\n .option(\"--limit <n>\", \"Return only the latest n activity entries\")\n .option(\"--compact\", \"Condensed output: show only id, op, ts, author, msg per entry\")\n .option(\"--full\", \"Show full activity entries with JSON Patch payloads\")\n .option(\"--stream [mode]\", \"Emit line-delimited JSON rows (requires --json). Optional mode: rows|ndjson|jsonl\")\n .description(\"Show recent activity across items.\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (options.compact === true && options.full === true) {\n throw new PmCliError(\"Activity projection options are mutually exclusive. Use either --compact or --full.\", EXIT_CODE.USAGE);\n }\n const normalized = normalizeActivityOptions(options);\n const { runActivity } = await loadListQueryCommandsModule();\n const result = await runActivity(normalized, globalOptions);\n const streamMode = resolveActivityStreamMode(options.stream);\n if (streamMode && !globalOptions.json) {\n throw new PmCliError(\"--stream requires --json output mode.\", EXIT_CODE.USAGE);\n }\n if (streamMode) {\n printActivityJsonStream(result, normalized, globalOptions);\n } else {\n printResult(result, globalOptions);\n }\n if (globalOptions.profile) {\n printError(`profile:command=activity took_ms=${Date.now() - startedAt}`);\n }\n });\n }\n}\n"],"names":[],"mappings":"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","debugId":"2bf175c5-e4a0-59d7-a9ac-41b6dd354d6d"}
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="794906ac-59ff-581f-9711-7901a1535b78")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ce11edcb-136f-5f29-b871-3b775d9b7a74")}catch(e){}}();
3
3
  import fs from "node:fs/promises";
4
4
  import { EXIT_CODE } from "../core/shared/constants.js";
5
5
  import { PmCliError } from "../core/shared/errors.js";
@@ -266,7 +266,7 @@ export function registerSetupCommands(program) {
266
266
  .option("--clear-criteria", "Clear criteria-list keys for config set operations")
267
267
  .option("--format <value>", "Item format for item-format key: toon")
268
268
  .option("--policy <value>", "Policy key values: history-missing-stream-policy=auto_create|strict_error; sprint-release-format-policy=warn|strict_error; parent-reference-policy=warn|strict_error; governance-preset=minimal|default|strict|custom; governance-ownership-enforcement=none|warn|strict; governance-create-mode-default=progressive|strict; governance-close-validation-default=off|warn|strict; governance-parent-reference-policy=warn|strict_error; governance-metadata-validation-profile=core|strict|custom; governance-force-required-for-stale-lock=enabled|disabled; test-result-tracking=enabled|disabled; telemetry-tracking=enabled|disabled")
269
- .option("--value <value>", "Value for nested leaf settings keys (search_provider, openai_base_url, ollama_model, vector_store_adapter, qdrant_url, lancedb_path, etc.). Equivalent to the positional value.")
269
+ .option("--value <value>", "Value for nested leaf settings keys (search_provider, search_mutation_refresh_policy, openai_base_url, ollama_model, vector_store_adapter, qdrant_url, lancedb_path, etc.). Equivalent to the positional value.")
270
270
  .option("--default-depth <value>", "Context default depth: brief|standard|deep")
271
271
  .option("--activity-limit <n>", "Context default activity limit")
272
272
  .option("--stale-threshold-days <n>", "Context staleness cutoff in days")
@@ -351,4 +351,4 @@ export function registerSetupCommands(program) {
351
351
  });
352
352
  }
353
353
  //# sourceMappingURL=register-setup.js.map
354
- //# debugId=794906ac-59ff-581f-9711-7901a1535b78
354
+ //# debugId=ce11edcb-136f-5f29-b871-3b775d9b7a74
@@ -1 +1 @@
1
- {"version":3,"file":"register-setup.js","sources":["cli/register-setup.ts"],"sourceRoot":"/","sourcesContent":["import type { Command } from \"commander\";\nimport fs from \"node:fs/promises\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n collect,\n getGlobalOptions,\n printError,\n printResult,\n} from \"./registration-helpers.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\n\ntype SetupCommandsModule = typeof import(\"./commands/index.js\");\n\nconst loadSetupCommandsModule = createLazyModule<SetupCommandsModule>(() => import(\"./commands/index.js\"));\n\ntype ExtensionSubcommandAction =\n | \"init\"\n | \"install\"\n | \"uninstall\"\n | \"explore\"\n | \"manage\"\n | \"reload\"\n | \"doctor\"\n | \"catalog\"\n | \"adopt\"\n | \"adopt-all\"\n | \"activate\"\n | \"deactivate\";\n\ntype LifecycleCommandVocabulary = \"extension\" | \"package\";\n\nfunction normalizeExtensionOptions(\n options: Record<string, unknown>,\n forcedAction?: ExtensionSubcommandAction,\n vocabulary: LifecycleCommandVocabulary = \"extension\",\n): Record<string, unknown> {\n const isForcedAction = (action: ExtensionSubcommandAction): boolean => forcedAction === action;\n const readBoolean = (...keys: string[]): boolean => keys.some((key) => options[key] === true);\n const readString = (...keys: string[]): string | undefined => {\n for (const key of keys) {\n if (typeof options[key] === \"string\") {\n return options[key] as string;\n }\n }\n return undefined;\n };\n return {\n init: isForcedAction(\"init\") || readBoolean(\"init\"),\n scaffold: readBoolean(\"scaffold\"),\n install: isForcedAction(\"install\") || readBoolean(\"install\"),\n uninstall: isForcedAction(\"uninstall\") || readBoolean(\"uninstall\"),\n explore: isForcedAction(\"explore\") || readBoolean(\"explore\", \"list\"),\n manage: isForcedAction(\"manage\") || readBoolean(\"manage\"),\n reload: isForcedAction(\"reload\") || readBoolean(\"reload\"),\n doctor: isForcedAction(\"doctor\") || readBoolean(\"doctor\"),\n catalog: isForcedAction(\"catalog\") || readBoolean(\"catalog\"),\n adopt: isForcedAction(\"adopt\") || readBoolean(\"adopt\"),\n adoptAll: isForcedAction(\"adopt-all\") || readBoolean(\"adoptAll\", \"adopt_all\", \"adopt-all\"),\n activate: isForcedAction(\"activate\") || readBoolean(\"activate\"),\n deactivate: isForcedAction(\"deactivate\") || readBoolean(\"deactivate\"),\n project: readBoolean(\"project\"),\n local: readBoolean(\"local\"),\n global: readBoolean(\"global\"),\n gh: readString(\"gh\"),\n github: readString(\"github\"),\n ref: readString(\"ref\"),\n fields: readString(\"fields\"),\n detail: readString(\"detail\"),\n trace: readBoolean(\"trace\"),\n watch: readBoolean(\"watch\"),\n runtimeProbe: readBoolean(\"runtimeProbe\", \"runtime_probe\", \"runtime-probe\"),\n fixManagedState: readBoolean(\"fixManagedState\", \"fix_managed_state\", \"fix-managed-state\"),\n strictExit: readBoolean(\"strictExit\", \"strict_exit\", \"strict-exit\"),\n failOnWarn: readBoolean(\"failOnWarn\", \"fail_on_warn\", \"fail-on-warn\"),\n vocabulary,\n };\n}\n\nasync function looksLikeShellExpandedWildcard(targets: string[]): Promise<boolean> {\n if (targets.length <= 1) {\n return false;\n }\n const visibleEntries = (await fs.readdir(process.cwd()))\n .filter((entry) => !entry.startsWith(\".\"))\n .sort((left, right) => left.localeCompare(right));\n const normalizedTargets = [...targets].sort((left, right) => left.localeCompare(right));\n return (\n visibleEntries.length === normalizedTargets.length &&\n visibleEntries.every((entry, index) => entry === normalizedTargets[index])\n );\n}\n\nasync function normalizeInstallTargets(targets: string[] | string | undefined): Promise<string | undefined> {\n const normalizedTargets = (Array.isArray(targets) ? targets : typeof targets === \"string\" ? [targets] : [])\n .map((target) => target.trim())\n .filter((target) => target.length > 0);\n if (normalizedTargets.length <= 1) {\n return normalizedTargets[0];\n }\n if (await looksLikeShellExpandedWildcard(normalizedTargets)) {\n return \"*\";\n }\n throw new PmCliError(\n `Install accepts one package source at a time. To install bundled first-party packages, quote the wildcard: pm install '*'`,\n EXIT_CODE.USAGE,\n );\n}\n\nasync function executeExtensionCommand(\n target: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n forcedAction?: ExtensionSubcommandAction,\n vocabulary: LifecycleCommandVocabulary = \"extension\",\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const normalizedOptions = normalizeExtensionOptions(options, forcedAction, vocabulary);\n const { runExtension } = await loadSetupCommandsModule();\n const result = await runExtension(target, normalizedOptions, globalOptions);\n printResult(result, globalOptions);\n const strictExit = Boolean(normalizedOptions.strictExit) || Boolean(normalizedOptions.failOnWarn);\n if (result.action === \"doctor\" && strictExit) {\n const detailsRecord = result.details as Record<string, unknown>;\n const summary = (detailsRecord.summary ?? null) as Record<string, unknown> | null;\n const summaryStatus = summary && typeof summary.status === \"string\" ? summary.status : undefined;\n const shouldFail = summaryStatus ? summaryStatus !== \"ok\" : result.warnings.length > 0;\n if (shouldFail) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n }\n if (globalOptions.profile) {\n printError(`profile:command=extension took_ms=${Date.now() - startedAt}`);\n }\n}\n\nfunction addExtensionScopeOptions<T extends Command>(command: T): T {\n return command\n .option(\"--project\", \"Use project extension scope (default)\")\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", \"Use global extension scope\");\n}\n\nfunction addPackageScopeOptions<T extends Command>(command: T): T {\n return command\n .option(\"--project\", \"Use project package scope (default)\")\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", \"Use global package scope\");\n}\n\nfunction addLifecycleScopeOptions<T extends Command>(command: T, vocabulary: LifecycleCommandVocabulary): T {\n return vocabulary === \"package\" ? addPackageScopeOptions(command) : addExtensionScopeOptions(command);\n}\n\nfunction registerLifecycleCommand(\n program: Command,\n vocabulary: LifecycleCommandVocabulary,\n): void {\n const noun = vocabulary === \"package\" ? \"package\" : \"extension\";\n const plural = vocabulary === \"package\" ? \"packages\" : \"extensions\";\n const commandName = vocabulary;\n const lifecycleCommand = program\n .command(commandName)\n .argument(\"[target]\", `${noun[0]!.toUpperCase()}${noun.slice(1)} source/name or scaffold target path (for --init/--scaffold)`)\n .option(\"--init\", `Generate a starter ${noun} scaffold at target path`)\n .option(\"--scaffold\", \"Alias for --init\")\n .option(\"--install\", `Install ${noun} from local path, bundled alias, npm: source, wildcard, or GitHub source`)\n .option(\"--uninstall\", `Uninstall an installed ${noun}`)\n .option(\"--explore\", `List discovered ${plural} in selected scope`)\n .option(\"--list\", \"Alias for --explore\")\n .option(\"--manage\", `List managed ${plural} with update-check metadata`)\n .option(\"--reload\", `Reload ${plural} with cache-busted module imports`)\n .option(\"--watch\", \"Use watch mode with --reload\")\n .option(\"--doctor\", `Run consolidated ${noun} diagnostics (summary/deep modes)`)\n .option(\"--catalog\", `List bundled first-party ${noun} catalog metadata`)\n .option(\"--adopt\", `Adopt an existing unmanaged ${noun} into managed metadata`)\n .option(\"--adopt-all\", `Adopt all unmanaged ${plural} into managed metadata`)\n .option(\"--activate\", `Activate a ${noun} in selected scope settings`)\n .option(\"--deactivate\", `Deactivate a ${noun} in selected scope settings`)\n .option(\"--project\", `Use project ${noun} scope (default)`)\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", `Use global ${noun} scope`)\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .option(\"--detail <mode>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} diagnostics detail mode (summary|deep)`)\n .option(\"--trace\", \"Include actionable registration traces in doctor deep diagnostics\")\n .option(\"--runtime-probe\", \"Opt-in runtime activation probe for manage output parity\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .option(\"--strict-exit\", \"Return non-zero exit when doctor warnings are present (ok=false)\")\n .option(\"--fail-on-warn\", \"Alias for --strict-exit (doctor)\")\n .description(\n vocabulary === \"package\"\n ? \"Manage package lifecycle operations for project or global scope. Backward-compatible with extension packages.\"\n : \"Manage extension lifecycle operations for project or global scope.\",\n )\n .action(async (target: string | undefined, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, undefined, vocabulary);\n });\n\n if (vocabulary === \"package\") {\n lifecycleCommand.alias(\"packages\");\n }\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"init\")\n .alias(\"scaffold\")\n .argument(\"<target>\", `Scaffold target directory path`)\n .description(\n vocabulary === \"package\"\n ? \"Generate a starter package scaffold with package metadata, manifest, and entrypoint.\"\n : \"Generate a starter extension scaffold with manifest and entrypoint.\",\n ),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"init\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"install\")\n .argument(\"[targets...]\", `${noun[0]!.toUpperCase()}${noun.slice(1)} source (local path, bundled alias, npm: source, wildcard, or GitHub source)`)\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(`Install ${noun} from local path, bundled alias, npm: source, wildcard, or GitHub source.`),\n vocabulary,\n ).action(async (targets: string[] | undefined, _options: Record<string, unknown>, command) => {\n const target = await normalizeInstallTargets(targets);\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"install\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"uninstall\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Uninstall an installed ${noun}.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"uninstall\", vocabulary);\n });\n\n addLifecycleScopeOptions(lifecycleCommand.command(\"explore\").description(`List discovered ${plural} in selected scope.`), vocabulary).action(\n async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"explore\", vocabulary);\n },\n );\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"manage\")\n .option(\"--runtime-probe\", \"Opt-in runtime activation probe for manage output parity\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .description(`List managed ${plural} with update-check metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"manage\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"reload\")\n .option(\"--watch\", \"Use watch mode for repeated reload checks\")\n .description(`Reload ${plural} with cache-busted module imports.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"reload\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"doctor\")\n .option(\"--detail <mode>\", `Detail mode for ${noun} diagnostics (summary|deep)`)\n .option(\"--trace\", \"Include actionable registration traces in doctor deep diagnostics\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .option(\"--strict-exit\", \"Return non-zero exit when doctor warnings are present (ok=false)\")\n .option(\"--fail-on-warn\", \"Alias for --strict-exit (doctor)\")\n .description(`Run consolidated ${noun} diagnostics (summary/deep modes).`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"doctor\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"catalog\")\n .alias(\"list\")\n .option(\"--fields <value>\", \"Render compact comma-separated catalog fields, for example: alias,installed,install_command\")\n .description(`List bundled first-party ${noun} catalog metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"catalog\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"adopt\")\n .argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`)\n .option(\"--gh <owner/repo[/path]>\", `GitHub provenance shorthand for adopted ${noun}`)\n .option(\"--github <owner/repo[/path]>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub shorthand source\")\n .description(`Adopt an existing unmanaged ${noun} into managed metadata.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"adopt\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"adopt-all\").description(`Adopt all unmanaged ${plural} into managed metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"adopt-all\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"activate\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Activate a ${noun} in selected scope settings.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"activate\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"deactivate\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Deactivate a ${noun} in selected scope settings.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"deactivate\", vocabulary);\n });\n}\n\nexport function registerSetupCommands(program: Command): void {\n program\n .command(\"init\")\n .argument(\"[prefix]\", \"Optional id prefix\")\n .option(\"--preset <value>\", \"Governance preset for new setups: minimal|default|strict\")\n .option(\"--defaults\", \"Use non-interactive setup defaults without opening the wizard\")\n .option(\"-y, --yes\", \"Alias for --defaults (non-interactive setup)\")\n .option(\"--author <value>\", \"Set the default mutation author for this project\")\n .option(\"--agent-guidance <mode>\", \"Agent guidance mode: ask|add|skip|status\")\n .option(\"--with-packages\", \"Install all bundled first-party packages during initialization\")\n .option(\"--verbose\", \"Include the full resolved settings tree in the output (default output is a concise summary)\")\n .description(\"Initialize pm storage and defaults for the current workspace.\")\n .action(async (prefix: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runInit, summarizeInitResult } = await loadSetupCommandsModule();\n const result = await runInit(\n prefix,\n globalOptions,\n {\n preset: typeof options.preset === \"string\" ? options.preset : undefined,\n defaults: options.defaults === true || options.yes === true,\n author: typeof options.author === \"string\" ? options.author : undefined,\n agentGuidance: typeof options.agentGuidance === \"string\" ? options.agentGuidance : undefined,\n withPackages: options.withPackages === true,\n },\n );\n // Default (toon) output is a concise summary to minimize agent token cost.\n // --json consumers and --verbose both receive the full settings tree.\n const verbose = options.verbose === true;\n const emitFullTree = verbose || globalOptions.json === true;\n printResult(emitFullTree ? result : summarizeInitResult(result), globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=init took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"config\")\n .argument(\"[scope]\", \"Config scope: project|global, or action shorthand list|export|get|set for project scope\")\n .argument(\"[action]\", \"Config action: get|set|list|export\")\n .argument(\n \"[key]\",\n \"Config key for get|set: definition-of-done|item-format|history-missing-stream-policy|sprint-release-format-policy|parent-reference-policy|metadata-validation-profile|metadata-required-fields|lifecycle-stale-blocker-reason-patterns|lifecycle-closure-like-blocked-reason-patterns|lifecycle-closure-like-resolution-patterns|lifecycle-closure-like-actual-result-patterns|governance-preset|governance-ownership-enforcement|governance-create-mode-default|governance-close-validation-default|governance-parent-reference-policy|governance-metadata-validation-profile|governance-force-required-for-stale-lock|test-result-tracking|telemetry-tracking|context\",\n )\n .argument(\n \"[value]\",\n \"Optional value for set: routed to the right typed flag by key (e.g. config set telemetry-tracking off, config set item-format toon, config set definition-of-done \\\"Tests pass\\\"). Equivalent to --policy/--format/--criterion. context keys still require --default-depth/--section-* flags.\",\n )\n .option(\n \"--criterion <text>\",\n \"Criteria value for definition-of-done, metadata-required-fields, or lifecycle pattern keys (repeatable for set)\",\n collect,\n )\n .option(\"--clear-criteria\", \"Clear criteria-list keys for config set operations\")\n .option(\"--format <value>\", \"Item format for item-format key: toon\")\n .option(\n \"--policy <value>\",\n \"Policy key values: history-missing-stream-policy=auto_create|strict_error; sprint-release-format-policy=warn|strict_error; parent-reference-policy=warn|strict_error; governance-preset=minimal|default|strict|custom; governance-ownership-enforcement=none|warn|strict; governance-create-mode-default=progressive|strict; governance-close-validation-default=off|warn|strict; governance-parent-reference-policy=warn|strict_error; governance-metadata-validation-profile=core|strict|custom; governance-force-required-for-stale-lock=enabled|disabled; test-result-tracking=enabled|disabled; telemetry-tracking=enabled|disabled\",\n )\n .option(\n \"--value <value>\",\n \"Value for nested leaf settings keys (search_provider, openai_base_url, ollama_model, vector_store_adapter, qdrant_url, lancedb_path, etc.). Equivalent to the positional value.\",\n )\n .option(\"--default-depth <value>\", \"Context default depth: brief|standard|deep\")\n .option(\"--activity-limit <n>\", \"Context default activity limit\")\n .option(\"--stale-threshold-days <n>\", \"Context staleness cutoff in days\")\n .option(\"--section-hierarchy <value>\", \"Enable/disable context hierarchy section (true|false)\")\n .option(\"--section-activity <value>\", \"Enable/disable context activity section (true|false)\")\n .option(\"--section-progress <value>\", \"Enable/disable context progress section (true|false)\")\n .option(\"--section-blockers <value>\", \"Enable/disable context blockers section (true|false)\")\n .option(\"--section-files <value>\", \"Enable/disable context files section (true|false)\")\n .option(\"--section-workload <value>\", \"Enable/disable context workload section (true|false)\")\n .option(\"--section-staleness <value>\", \"Enable/disable context staleness section (true|false)\")\n .option(\"--section-tests <value>\", \"Enable/disable context tests section (true|false)\")\n .description(\"Read or update pm settings for the current workspace or global profile.\")\n .action(async (scope: string | undefined, action: string | undefined, key: string | undefined, value: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const criteria = Array.isArray(options.criterion) ? (options.criterion as string[]) : [];\n const { runConfig } = await loadSetupCommandsModule();\n const actionShorthands = new Set([\"get\", \"set\", \"list\", \"export\"]);\n const scopeShorthand = scope !== undefined && actionShorthands.has(scope);\n const resolvedScope = scopeShorthand ? \"project\" : (scope ?? \"project\");\n const resolvedAction = scopeShorthand ? scope : (action ?? \"list\");\n // When scope is an action shorthand, positionals shift left by one:\n // [set] [key] [value] -> action=set, key=key, value=value.\n const resolvedKey = scopeShorthand ? action : key;\n const resolvedValue = scopeShorthand ? key : value;\n const result = await runConfig(\n resolvedScope,\n resolvedAction,\n resolvedKey,\n {\n criterion: criteria,\n format: typeof options.format === \"string\" ? options.format : undefined,\n policy: typeof options.policy === \"string\" ? options.policy : undefined,\n value: typeof options.value === \"string\" ? options.value : undefined,\n clearCriteria: options.clearCriteria === true,\n defaultDepth: typeof options.defaultDepth === \"string\" ? options.defaultDepth : undefined,\n activityLimit: typeof options.activityLimit === \"string\" ? options.activityLimit : undefined,\n staleThresholdDays: typeof options.staleThresholdDays === \"string\" ? options.staleThresholdDays : undefined,\n sectionHierarchy: typeof options.sectionHierarchy === \"string\" ? options.sectionHierarchy : undefined,\n sectionActivity: typeof options.sectionActivity === \"string\" ? options.sectionActivity : undefined,\n sectionProgress: typeof options.sectionProgress === \"string\" ? options.sectionProgress : undefined,\n sectionBlockers: typeof options.sectionBlockers === \"string\" ? options.sectionBlockers : undefined,\n sectionFiles: typeof options.sectionFiles === \"string\" ? options.sectionFiles : undefined,\n sectionWorkload: typeof options.sectionWorkload === \"string\" ? options.sectionWorkload : undefined,\n sectionStaleness: typeof options.sectionStaleness === \"string\" ? options.sectionStaleness : undefined,\n sectionTests: typeof options.sectionTests === \"string\" ? options.sectionTests : undefined,\n },\n globalOptions,\n typeof resolvedValue === \"string\" ? resolvedValue : undefined,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=config took_ms=${Date.now() - startedAt}`);\n }\n });\n\n registerLifecycleCommand(program, \"extension\");\n registerLifecycleCommand(program, \"package\");\n\n addPackageScopeOptions(\n program\n .command(\"install\")\n .argument(\"[targets...]\", \"Package source (local path, bundled alias, npm: source, wildcard, or GitHub source)\")\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(\"Install a pm package into the project package scope by default.\"),\n ).action(async (targets: string[] | undefined, _options: Record<string, unknown>, command) => {\n const target = await normalizeInstallTargets(targets);\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"install\", \"package\");\n });\n\n addPackageScopeOptions(\n program\n .command(\"upgrade\")\n .argument(\"[target]\", \"Optional managed package name/source to upgrade; omit to upgrade pm CLI and all managed packages\")\n .option(\"--dry-run\", \"Plan CLI/package upgrades without running npm or reinstalling packages\")\n .option(\"--cli-only\", \"Upgrade only the pm CLI/SDK npm package\")\n .option(\"--packages-only\", \"Upgrade only managed pm packages\")\n .option(\"--repair\", \"Force npm global reinstall when upgrading the pm CLI/SDK\")\n .option(\"--tag <value>\", \"npm dist-tag/version for CLI and registry package upgrades\")\n .option(\"--package-name <value>\", \"Override the CLI package name for self-upgrade testing\")\n .description(\"Upgrade the pm CLI/SDK and refresh managed installable pm packages.\"),\n ).action(async (target: string | undefined, _options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpgrade } = await loadSetupCommandsModule();\n const result = await runUpgrade(target, command.opts() as Record<string, unknown>, globalOptions);\n printResult(result, globalOptions);\n if (!result.ok) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=upgrade took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"],"names":[],"mappings":"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","debugId":"794906ac-59ff-581f-9711-7901a1535b78"}
1
+ {"version":3,"file":"register-setup.js","sources":["cli/register-setup.ts"],"sourceRoot":"/","sourcesContent":["import type { Command } from \"commander\";\nimport fs from \"node:fs/promises\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n collect,\n getGlobalOptions,\n printError,\n printResult,\n} from \"./registration-helpers.js\";\nimport { createLazyModule } from \"../core/shared/lazy-module.js\";\n\ntype SetupCommandsModule = typeof import(\"./commands/index.js\");\n\nconst loadSetupCommandsModule = createLazyModule<SetupCommandsModule>(() => import(\"./commands/index.js\"));\n\ntype ExtensionSubcommandAction =\n | \"init\"\n | \"install\"\n | \"uninstall\"\n | \"explore\"\n | \"manage\"\n | \"reload\"\n | \"doctor\"\n | \"catalog\"\n | \"adopt\"\n | \"adopt-all\"\n | \"activate\"\n | \"deactivate\";\n\ntype LifecycleCommandVocabulary = \"extension\" | \"package\";\n\nfunction normalizeExtensionOptions(\n options: Record<string, unknown>,\n forcedAction?: ExtensionSubcommandAction,\n vocabulary: LifecycleCommandVocabulary = \"extension\",\n): Record<string, unknown> {\n const isForcedAction = (action: ExtensionSubcommandAction): boolean => forcedAction === action;\n const readBoolean = (...keys: string[]): boolean => keys.some((key) => options[key] === true);\n const readString = (...keys: string[]): string | undefined => {\n for (const key of keys) {\n if (typeof options[key] === \"string\") {\n return options[key] as string;\n }\n }\n return undefined;\n };\n return {\n init: isForcedAction(\"init\") || readBoolean(\"init\"),\n scaffold: readBoolean(\"scaffold\"),\n install: isForcedAction(\"install\") || readBoolean(\"install\"),\n uninstall: isForcedAction(\"uninstall\") || readBoolean(\"uninstall\"),\n explore: isForcedAction(\"explore\") || readBoolean(\"explore\", \"list\"),\n manage: isForcedAction(\"manage\") || readBoolean(\"manage\"),\n reload: isForcedAction(\"reload\") || readBoolean(\"reload\"),\n doctor: isForcedAction(\"doctor\") || readBoolean(\"doctor\"),\n catalog: isForcedAction(\"catalog\") || readBoolean(\"catalog\"),\n adopt: isForcedAction(\"adopt\") || readBoolean(\"adopt\"),\n adoptAll: isForcedAction(\"adopt-all\") || readBoolean(\"adoptAll\", \"adopt_all\", \"adopt-all\"),\n activate: isForcedAction(\"activate\") || readBoolean(\"activate\"),\n deactivate: isForcedAction(\"deactivate\") || readBoolean(\"deactivate\"),\n project: readBoolean(\"project\"),\n local: readBoolean(\"local\"),\n global: readBoolean(\"global\"),\n gh: readString(\"gh\"),\n github: readString(\"github\"),\n ref: readString(\"ref\"),\n fields: readString(\"fields\"),\n detail: readString(\"detail\"),\n trace: readBoolean(\"trace\"),\n watch: readBoolean(\"watch\"),\n runtimeProbe: readBoolean(\"runtimeProbe\", \"runtime_probe\", \"runtime-probe\"),\n fixManagedState: readBoolean(\"fixManagedState\", \"fix_managed_state\", \"fix-managed-state\"),\n strictExit: readBoolean(\"strictExit\", \"strict_exit\", \"strict-exit\"),\n failOnWarn: readBoolean(\"failOnWarn\", \"fail_on_warn\", \"fail-on-warn\"),\n vocabulary,\n };\n}\n\nasync function looksLikeShellExpandedWildcard(targets: string[]): Promise<boolean> {\n if (targets.length <= 1) {\n return false;\n }\n const visibleEntries = (await fs.readdir(process.cwd()))\n .filter((entry) => !entry.startsWith(\".\"))\n .sort((left, right) => left.localeCompare(right));\n const normalizedTargets = [...targets].sort((left, right) => left.localeCompare(right));\n return (\n visibleEntries.length === normalizedTargets.length &&\n visibleEntries.every((entry, index) => entry === normalizedTargets[index])\n );\n}\n\nasync function normalizeInstallTargets(targets: string[] | string | undefined): Promise<string | undefined> {\n const normalizedTargets = (Array.isArray(targets) ? targets : typeof targets === \"string\" ? [targets] : [])\n .map((target) => target.trim())\n .filter((target) => target.length > 0);\n if (normalizedTargets.length <= 1) {\n return normalizedTargets[0];\n }\n if (await looksLikeShellExpandedWildcard(normalizedTargets)) {\n return \"*\";\n }\n throw new PmCliError(\n `Install accepts one package source at a time. To install bundled first-party packages, quote the wildcard: pm install '*'`,\n EXIT_CODE.USAGE,\n );\n}\n\nasync function executeExtensionCommand(\n target: string | undefined,\n options: Record<string, unknown>,\n command: Command,\n forcedAction?: ExtensionSubcommandAction,\n vocabulary: LifecycleCommandVocabulary = \"extension\",\n): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const normalizedOptions = normalizeExtensionOptions(options, forcedAction, vocabulary);\n const { runExtension } = await loadSetupCommandsModule();\n const result = await runExtension(target, normalizedOptions, globalOptions);\n printResult(result, globalOptions);\n const strictExit = Boolean(normalizedOptions.strictExit) || Boolean(normalizedOptions.failOnWarn);\n if (result.action === \"doctor\" && strictExit) {\n const detailsRecord = result.details as Record<string, unknown>;\n const summary = (detailsRecord.summary ?? null) as Record<string, unknown> | null;\n const summaryStatus = summary && typeof summary.status === \"string\" ? summary.status : undefined;\n const shouldFail = summaryStatus ? summaryStatus !== \"ok\" : result.warnings.length > 0;\n if (shouldFail) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n }\n if (globalOptions.profile) {\n printError(`profile:command=extension took_ms=${Date.now() - startedAt}`);\n }\n}\n\nfunction addExtensionScopeOptions<T extends Command>(command: T): T {\n return command\n .option(\"--project\", \"Use project extension scope (default)\")\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", \"Use global extension scope\");\n}\n\nfunction addPackageScopeOptions<T extends Command>(command: T): T {\n return command\n .option(\"--project\", \"Use project package scope (default)\")\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", \"Use global package scope\");\n}\n\nfunction addLifecycleScopeOptions<T extends Command>(command: T, vocabulary: LifecycleCommandVocabulary): T {\n return vocabulary === \"package\" ? addPackageScopeOptions(command) : addExtensionScopeOptions(command);\n}\n\nfunction registerLifecycleCommand(\n program: Command,\n vocabulary: LifecycleCommandVocabulary,\n): void {\n const noun = vocabulary === \"package\" ? \"package\" : \"extension\";\n const plural = vocabulary === \"package\" ? \"packages\" : \"extensions\";\n const commandName = vocabulary;\n const lifecycleCommand = program\n .command(commandName)\n .argument(\"[target]\", `${noun[0]!.toUpperCase()}${noun.slice(1)} source/name or scaffold target path (for --init/--scaffold)`)\n .option(\"--init\", `Generate a starter ${noun} scaffold at target path`)\n .option(\"--scaffold\", \"Alias for --init\")\n .option(\"--install\", `Install ${noun} from local path, bundled alias, npm: source, wildcard, or GitHub source`)\n .option(\"--uninstall\", `Uninstall an installed ${noun}`)\n .option(\"--explore\", `List discovered ${plural} in selected scope`)\n .option(\"--list\", \"Alias for --explore\")\n .option(\"--manage\", `List managed ${plural} with update-check metadata`)\n .option(\"--reload\", `Reload ${plural} with cache-busted module imports`)\n .option(\"--watch\", \"Use watch mode with --reload\")\n .option(\"--doctor\", `Run consolidated ${noun} diagnostics (summary/deep modes)`)\n .option(\"--catalog\", `List bundled first-party ${noun} catalog metadata`)\n .option(\"--adopt\", `Adopt an existing unmanaged ${noun} into managed metadata`)\n .option(\"--adopt-all\", `Adopt all unmanaged ${plural} into managed metadata`)\n .option(\"--activate\", `Activate a ${noun} in selected scope settings`)\n .option(\"--deactivate\", `Deactivate a ${noun} in selected scope settings`)\n .option(\"--project\", `Use project ${noun} scope (default)`)\n .option(\"--local\", \"Alias for --project\")\n .option(\"--global\", `Use global ${noun} scope`)\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .option(\"--detail <mode>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} diagnostics detail mode (summary|deep)`)\n .option(\"--trace\", \"Include actionable registration traces in doctor deep diagnostics\")\n .option(\"--runtime-probe\", \"Opt-in runtime activation probe for manage output parity\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .option(\"--strict-exit\", \"Return non-zero exit when doctor warnings are present (ok=false)\")\n .option(\"--fail-on-warn\", \"Alias for --strict-exit (doctor)\")\n .description(\n vocabulary === \"package\"\n ? \"Manage package lifecycle operations for project or global scope. Backward-compatible with extension packages.\"\n : \"Manage extension lifecycle operations for project or global scope.\",\n )\n .action(async (target: string | undefined, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, undefined, vocabulary);\n });\n\n if (vocabulary === \"package\") {\n lifecycleCommand.alias(\"packages\");\n }\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"init\")\n .alias(\"scaffold\")\n .argument(\"<target>\", `Scaffold target directory path`)\n .description(\n vocabulary === \"package\"\n ? \"Generate a starter package scaffold with package metadata, manifest, and entrypoint.\"\n : \"Generate a starter extension scaffold with manifest and entrypoint.\",\n ),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"init\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"install\")\n .argument(\"[targets...]\", `${noun[0]!.toUpperCase()}${noun.slice(1)} source (local path, bundled alias, npm: source, wildcard, or GitHub source)`)\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(`Install ${noun} from local path, bundled alias, npm: source, wildcard, or GitHub source.`),\n vocabulary,\n ).action(async (targets: string[] | undefined, _options: Record<string, unknown>, command) => {\n const target = await normalizeInstallTargets(targets);\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"install\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"uninstall\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Uninstall an installed ${noun}.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"uninstall\", vocabulary);\n });\n\n addLifecycleScopeOptions(lifecycleCommand.command(\"explore\").description(`List discovered ${plural} in selected scope.`), vocabulary).action(\n async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"explore\", vocabulary);\n },\n );\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"manage\")\n .option(\"--runtime-probe\", \"Opt-in runtime activation probe for manage output parity\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .description(`List managed ${plural} with update-check metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"manage\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"reload\")\n .option(\"--watch\", \"Use watch mode for repeated reload checks\")\n .description(`Reload ${plural} with cache-busted module imports.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"reload\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"doctor\")\n .option(\"--detail <mode>\", `Detail mode for ${noun} diagnostics (summary|deep)`)\n .option(\"--trace\", \"Include actionable registration traces in doctor deep diagnostics\")\n .option(\"--fix-managed-state\", `Adopt unmanaged ${plural} before diagnostics/update checks`)\n .option(\"--strict-exit\", \"Return non-zero exit when doctor warnings are present (ok=false)\")\n .option(\"--fail-on-warn\", \"Alias for --strict-exit (doctor)\")\n .description(`Run consolidated ${noun} diagnostics (summary/deep modes).`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"doctor\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"catalog\")\n .alias(\"list\")\n .option(\"--fields <value>\", \"Render compact comma-separated catalog fields, for example: alias,installed,install_command\")\n .description(`List bundled first-party ${noun} catalog metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"catalog\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"adopt\")\n .argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`)\n .option(\"--gh <owner/repo[/path]>\", `GitHub provenance shorthand for adopted ${noun}`)\n .option(\"--github <owner/repo[/path]>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub shorthand source\")\n .description(`Adopt an existing unmanaged ${noun} into managed metadata.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"adopt\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"adopt-all\").description(`Adopt all unmanaged ${plural} into managed metadata.`),\n vocabulary,\n ).action(async (_options: Record<string, unknown>, command) => {\n await executeExtensionCommand(undefined, command.opts() as Record<string, unknown>, command, \"adopt-all\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"activate\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Activate a ${noun} in selected scope settings.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"activate\", vocabulary);\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand.command(\"deactivate\").argument(\"<target>\", `${noun[0]!.toUpperCase()}${noun.slice(1)} name`).description(`Deactivate a ${noun} in selected scope settings.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"deactivate\", vocabulary);\n });\n}\n\nexport function registerSetupCommands(program: Command): void {\n program\n .command(\"init\")\n .argument(\"[prefix]\", \"Optional id prefix\")\n .option(\"--preset <value>\", \"Governance preset for new setups: minimal|default|strict\")\n .option(\"--defaults\", \"Use non-interactive setup defaults without opening the wizard\")\n .option(\"-y, --yes\", \"Alias for --defaults (non-interactive setup)\")\n .option(\"--author <value>\", \"Set the default mutation author for this project\")\n .option(\"--agent-guidance <mode>\", \"Agent guidance mode: ask|add|skip|status\")\n .option(\"--with-packages\", \"Install all bundled first-party packages during initialization\")\n .option(\"--verbose\", \"Include the full resolved settings tree in the output (default output is a concise summary)\")\n .description(\"Initialize pm storage and defaults for the current workspace.\")\n .action(async (prefix: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runInit, summarizeInitResult } = await loadSetupCommandsModule();\n const result = await runInit(\n prefix,\n globalOptions,\n {\n preset: typeof options.preset === \"string\" ? options.preset : undefined,\n defaults: options.defaults === true || options.yes === true,\n author: typeof options.author === \"string\" ? options.author : undefined,\n agentGuidance: typeof options.agentGuidance === \"string\" ? options.agentGuidance : undefined,\n withPackages: options.withPackages === true,\n },\n );\n // Default (toon) output is a concise summary to minimize agent token cost.\n // --json consumers and --verbose both receive the full settings tree.\n const verbose = options.verbose === true;\n const emitFullTree = verbose || globalOptions.json === true;\n printResult(emitFullTree ? result : summarizeInitResult(result), globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=init took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"config\")\n .argument(\"[scope]\", \"Config scope: project|global, or action shorthand list|export|get|set for project scope\")\n .argument(\"[action]\", \"Config action: get|set|list|export\")\n .argument(\n \"[key]\",\n \"Config key for get|set: definition-of-done|item-format|history-missing-stream-policy|sprint-release-format-policy|parent-reference-policy|metadata-validation-profile|metadata-required-fields|lifecycle-stale-blocker-reason-patterns|lifecycle-closure-like-blocked-reason-patterns|lifecycle-closure-like-resolution-patterns|lifecycle-closure-like-actual-result-patterns|governance-preset|governance-ownership-enforcement|governance-create-mode-default|governance-close-validation-default|governance-parent-reference-policy|governance-metadata-validation-profile|governance-force-required-for-stale-lock|test-result-tracking|telemetry-tracking|context\",\n )\n .argument(\n \"[value]\",\n \"Optional value for set: routed to the right typed flag by key (e.g. config set telemetry-tracking off, config set item-format toon, config set definition-of-done \\\"Tests pass\\\"). Equivalent to --policy/--format/--criterion. context keys still require --default-depth/--section-* flags.\",\n )\n .option(\n \"--criterion <text>\",\n \"Criteria value for definition-of-done, metadata-required-fields, or lifecycle pattern keys (repeatable for set)\",\n collect,\n )\n .option(\"--clear-criteria\", \"Clear criteria-list keys for config set operations\")\n .option(\"--format <value>\", \"Item format for item-format key: toon\")\n .option(\n \"--policy <value>\",\n \"Policy key values: history-missing-stream-policy=auto_create|strict_error; sprint-release-format-policy=warn|strict_error; parent-reference-policy=warn|strict_error; governance-preset=minimal|default|strict|custom; governance-ownership-enforcement=none|warn|strict; governance-create-mode-default=progressive|strict; governance-close-validation-default=off|warn|strict; governance-parent-reference-policy=warn|strict_error; governance-metadata-validation-profile=core|strict|custom; governance-force-required-for-stale-lock=enabled|disabled; test-result-tracking=enabled|disabled; telemetry-tracking=enabled|disabled\",\n )\n .option(\n \"--value <value>\",\n \"Value for nested leaf settings keys (search_provider, search_mutation_refresh_policy, openai_base_url, ollama_model, vector_store_adapter, qdrant_url, lancedb_path, etc.). Equivalent to the positional value.\",\n )\n .option(\"--default-depth <value>\", \"Context default depth: brief|standard|deep\")\n .option(\"--activity-limit <n>\", \"Context default activity limit\")\n .option(\"--stale-threshold-days <n>\", \"Context staleness cutoff in days\")\n .option(\"--section-hierarchy <value>\", \"Enable/disable context hierarchy section (true|false)\")\n .option(\"--section-activity <value>\", \"Enable/disable context activity section (true|false)\")\n .option(\"--section-progress <value>\", \"Enable/disable context progress section (true|false)\")\n .option(\"--section-blockers <value>\", \"Enable/disable context blockers section (true|false)\")\n .option(\"--section-files <value>\", \"Enable/disable context files section (true|false)\")\n .option(\"--section-workload <value>\", \"Enable/disable context workload section (true|false)\")\n .option(\"--section-staleness <value>\", \"Enable/disable context staleness section (true|false)\")\n .option(\"--section-tests <value>\", \"Enable/disable context tests section (true|false)\")\n .description(\"Read or update pm settings for the current workspace or global profile.\")\n .action(async (scope: string | undefined, action: string | undefined, key: string | undefined, value: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const criteria = Array.isArray(options.criterion) ? (options.criterion as string[]) : [];\n const { runConfig } = await loadSetupCommandsModule();\n const actionShorthands = new Set([\"get\", \"set\", \"list\", \"export\"]);\n const scopeShorthand = scope !== undefined && actionShorthands.has(scope);\n const resolvedScope = scopeShorthand ? \"project\" : (scope ?? \"project\");\n const resolvedAction = scopeShorthand ? scope : (action ?? \"list\");\n // When scope is an action shorthand, positionals shift left by one:\n // [set] [key] [value] -> action=set, key=key, value=value.\n const resolvedKey = scopeShorthand ? action : key;\n const resolvedValue = scopeShorthand ? key : value;\n const result = await runConfig(\n resolvedScope,\n resolvedAction,\n resolvedKey,\n {\n criterion: criteria,\n format: typeof options.format === \"string\" ? options.format : undefined,\n policy: typeof options.policy === \"string\" ? options.policy : undefined,\n value: typeof options.value === \"string\" ? options.value : undefined,\n clearCriteria: options.clearCriteria === true,\n defaultDepth: typeof options.defaultDepth === \"string\" ? options.defaultDepth : undefined,\n activityLimit: typeof options.activityLimit === \"string\" ? options.activityLimit : undefined,\n staleThresholdDays: typeof options.staleThresholdDays === \"string\" ? options.staleThresholdDays : undefined,\n sectionHierarchy: typeof options.sectionHierarchy === \"string\" ? options.sectionHierarchy : undefined,\n sectionActivity: typeof options.sectionActivity === \"string\" ? options.sectionActivity : undefined,\n sectionProgress: typeof options.sectionProgress === \"string\" ? options.sectionProgress : undefined,\n sectionBlockers: typeof options.sectionBlockers === \"string\" ? options.sectionBlockers : undefined,\n sectionFiles: typeof options.sectionFiles === \"string\" ? options.sectionFiles : undefined,\n sectionWorkload: typeof options.sectionWorkload === \"string\" ? options.sectionWorkload : undefined,\n sectionStaleness: typeof options.sectionStaleness === \"string\" ? options.sectionStaleness : undefined,\n sectionTests: typeof options.sectionTests === \"string\" ? options.sectionTests : undefined,\n },\n globalOptions,\n typeof resolvedValue === \"string\" ? resolvedValue : undefined,\n );\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=config took_ms=${Date.now() - startedAt}`);\n }\n });\n\n registerLifecycleCommand(program, \"extension\");\n registerLifecycleCommand(program, \"package\");\n\n addPackageScopeOptions(\n program\n .command(\"install\")\n .argument(\"[targets...]\", \"Package source (local path, bundled alias, npm: source, wildcard, or GitHub source)\")\n .option(\"--gh <github-source>\", \"Install from GitHub shorthand source (owner/repo[/path])\")\n .option(\"--github <github-source>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(\"Install a pm package into the project package scope by default.\"),\n ).action(async (targets: string[] | undefined, _options: Record<string, unknown>, command) => {\n const target = await normalizeInstallTargets(targets);\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"install\", \"package\");\n });\n\n addPackageScopeOptions(\n program\n .command(\"upgrade\")\n .argument(\"[target]\", \"Optional managed package name/source to upgrade; omit to upgrade pm CLI and all managed packages\")\n .option(\"--dry-run\", \"Plan CLI/package upgrades without running npm or reinstalling packages\")\n .option(\"--cli-only\", \"Upgrade only the pm CLI/SDK npm package\")\n .option(\"--packages-only\", \"Upgrade only managed pm packages\")\n .option(\"--repair\", \"Force npm global reinstall when upgrading the pm CLI/SDK\")\n .option(\"--tag <value>\", \"npm dist-tag/version for CLI and registry package upgrades\")\n .option(\"--package-name <value>\", \"Override the CLI package name for self-upgrade testing\")\n .description(\"Upgrade the pm CLI/SDK and refresh managed installable pm packages.\"),\n ).action(async (target: string | undefined, _options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpgrade } = await loadSetupCommandsModule();\n const result = await runUpgrade(target, command.opts() as Record<string, unknown>, globalOptions);\n printResult(result, globalOptions);\n if (!result.ok) {\n process.exitCode = EXIT_CODE.GENERIC_FAILURE;\n }\n if (globalOptions.profile) {\n printError(`profile:command=upgrade took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"],"names":[],"mappings":"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","debugId":"ce11edcb-136f-5f29-b871-3b775d9b7a74"}
@@ -0,0 +1,164 @@
1
+ import {
2
+ TYPE_TO_FOLDER,
3
+ getItemFormatFromPath,
4
+ getItemPath,
5
+ parseItemDocument,
6
+ pathExists,
7
+ readFileIfExists,
8
+ removeFileIfExists,
9
+ runActiveOnWriteHooks,
10
+ serializeItemDocument,
11
+ writeFileAtomic
12
+ } from "./chunk-SW5BMMCU.js";
13
+
14
+ // dist/core/packages/root.js
15
+ import fs from "node:fs";
16
+ import path from "node:path";
17
+ import { fileURLToPath } from "node:url";
18
+ !(function() {
19
+ try {
20
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
21
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "20b7827b-6f96-518c-8df3-b699d41dec88");
22
+ } catch (e2) {
23
+ }
24
+ })();
25
+ var PM_CLI_PACKAGE_NAME = "@unbrained/pm-cli";
26
+ function packageJsonNamesPmCli(packageJsonPath) {
27
+ try {
28
+ const parsed = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
29
+ return parsed.name === PM_CLI_PACKAGE_NAME;
30
+ } catch {
31
+ return false;
32
+ }
33
+ }
34
+ function findPmPackageRootFromPath(startPath) {
35
+ let current = fs.existsSync(startPath) && fs.statSync(startPath).isDirectory() ? path.resolve(startPath) : path.dirname(path.resolve(startPath));
36
+ while (true) {
37
+ const packageJsonPath = path.join(current, "package.json");
38
+ if (fs.existsSync(packageJsonPath) && packageJsonNamesPmCli(packageJsonPath)) {
39
+ return current;
40
+ }
41
+ const parent = path.dirname(current);
42
+ if (parent === current) {
43
+ return void 0;
44
+ }
45
+ current = parent;
46
+ }
47
+ }
48
+ function resolvePmPackageRootFromModule(metaUrl, fallbackRelativeSegments = []) {
49
+ const modulePath = fileURLToPath(metaUrl);
50
+ const discovered = findPmPackageRootFromPath(modulePath);
51
+ if (discovered) {
52
+ return discovered;
53
+ }
54
+ return path.resolve(path.dirname(modulePath), ...fallbackRelativeSegments);
55
+ }
56
+
57
+ // dist/core/store/item-format-migration.js
58
+ import fs2 from "node:fs/promises";
59
+ import path2 from "node:path";
60
+ !(function() {
61
+ try {
62
+ var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
63
+ n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "930ae1b6-e1d4-53f6-844b-8e79ce44a235");
64
+ } catch (e2) {
65
+ }
66
+ })();
67
+ function alternateItemFormat(_targetFormat) {
68
+ return "json_markdown";
69
+ }
70
+ function normalizeRelativePath(pmRoot, absolutePath) {
71
+ return path2.relative(pmRoot, absolutePath).replaceAll("\\", "/");
72
+ }
73
+ function errorSummary(error) {
74
+ return String(error).replaceAll(/[^a-zA-Z0-9._-]+/g, "_").slice(0, 120);
75
+ }
76
+ async function migrateItemFilesToFormat(pmRoot, targetFormat, op = "item_format:migrate", typeToFolder = TYPE_TO_FOLDER, schema) {
77
+ if (targetFormat !== "toon") {
78
+ throw new Error("Only toon item-format migration targets are supported. Markdown item files are legacy read-only input.");
79
+ }
80
+ const migratedIds = /* @__PURE__ */ new Set();
81
+ const removedPaths = /* @__PURE__ */ new Set();
82
+ const warnings = [];
83
+ let scanned = 0;
84
+ const alternateFormat = alternateItemFormat(targetFormat);
85
+ const typeEntries = Object.entries(typeToFolder);
86
+ for (const [itemType, folder] of typeEntries) {
87
+ const directoryPath = path2.join(pmRoot, folder);
88
+ let files = [];
89
+ try {
90
+ files = await fs2.readdir(directoryPath);
91
+ } catch {
92
+ continue;
93
+ }
94
+ const variantsById = /* @__PURE__ */ new Map();
95
+ for (const file of files) {
96
+ const absolutePath = path2.join(directoryPath, file);
97
+ const itemFormat = getItemFormatFromPath(absolutePath);
98
+ if (!itemFormat) {
99
+ continue;
100
+ }
101
+ const extension = path2.extname(file);
102
+ const itemId = file.slice(0, file.length - extension.length).trim();
103
+ if (itemId.length === 0) {
104
+ continue;
105
+ }
106
+ const entry = variantsById.get(itemId) ?? {};
107
+ entry[itemFormat] = absolutePath;
108
+ variantsById.set(itemId, entry);
109
+ }
110
+ const itemIds = [...variantsById.keys()].sort((left, right) => left.localeCompare(right));
111
+ for (const itemId of itemIds) {
112
+ const variants = variantsById.get(itemId);
113
+ scanned += 1;
114
+ const sourcePath = variants[targetFormat] ?? variants[alternateFormat];
115
+ const sourceFormat = sourcePath === variants[targetFormat] ? targetFormat : alternateFormat;
116
+ try {
117
+ const sourceRaw = await fs2.readFile(sourcePath, "utf8");
118
+ const parsedDocument = parseItemDocument(sourceRaw, {
119
+ format: sourceFormat,
120
+ schema,
121
+ onWarning: (warning) => warnings.push(`item_format_migration_parse_warning:${itemId}:${warning}`)
122
+ });
123
+ const targetPath = getItemPath(pmRoot, itemType, itemId, targetFormat, typeToFolder);
124
+ const serializedTarget = serializeItemDocument(parsedDocument, { format: targetFormat, schema });
125
+ const existingTargetRaw = await readFileIfExists(targetPath);
126
+ if (existingTargetRaw !== serializedTarget) {
127
+ await writeFileAtomic(targetPath, serializedTarget);
128
+ warnings.push(...await runActiveOnWriteHooks({
129
+ path: targetPath,
130
+ scope: "project",
131
+ op
132
+ }));
133
+ migratedIds.add(itemId);
134
+ }
135
+ const alternatePath = variants[alternateFormat];
136
+ if (alternatePath && alternatePath !== targetPath && await pathExists(alternatePath)) {
137
+ await removeFileIfExists(alternatePath);
138
+ removedPaths.add(normalizeRelativePath(pmRoot, alternatePath));
139
+ warnings.push(...await runActiveOnWriteHooks({
140
+ path: alternatePath,
141
+ scope: "project",
142
+ op: `${op}:remove`
143
+ }));
144
+ migratedIds.add(itemId);
145
+ }
146
+ } catch (error) {
147
+ warnings.push(`item_format_migration_skipped:${normalizeRelativePath(pmRoot, sourcePath)}:${errorSummary(error)}`);
148
+ }
149
+ }
150
+ }
151
+ return {
152
+ target_format: targetFormat,
153
+ scanned,
154
+ migrated: [...migratedIds].sort((left, right) => left.localeCompare(right)),
155
+ removed: [...removedPaths].sort((left, right) => left.localeCompare(right)),
156
+ warnings
157
+ };
158
+ }
159
+
160
+ export {
161
+ resolvePmPackageRootFromModule,
162
+ migrateItemFilesToFormat
163
+ };
164
+ //# sourceMappingURL=chunk-PB2YU2E3.js.map