@unbrained/pm-cli 2026.5.12 → 2026.5.14

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 (128) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/PRD.md +7 -28
  3. package/README.md +2 -9
  4. package/dist/cli/commander-usage.js +27 -0
  5. package/dist/cli/commander-usage.js.map +1 -1
  6. package/dist/cli/commands/activity.js +19 -4
  7. package/dist/cli/commands/activity.js.map +1 -1
  8. package/dist/cli/commands/calendar.js +5 -2
  9. package/dist/cli/commands/calendar.js.map +1 -1
  10. package/dist/cli/commands/contracts.js +56 -18
  11. package/dist/cli/commands/contracts.js.map +1 -1
  12. package/dist/cli/commands/create.js +58 -3
  13. package/dist/cli/commands/create.js.map +1 -1
  14. package/dist/cli/commands/extension.d.ts +5 -1
  15. package/dist/cli/commands/extension.js +245 -39
  16. package/dist/cli/commands/extension.js.map +1 -1
  17. package/dist/cli/commands/index.d.ts +0 -8
  18. package/dist/cli/commands/index.js +0 -8
  19. package/dist/cli/commands/index.js.map +1 -1
  20. package/dist/cli/commands/reindex.d.ts +8 -0
  21. package/dist/cli/commands/reindex.js +96 -23
  22. package/dist/cli/commands/reindex.js.map +1 -1
  23. package/dist/cli/commands/search.js +51 -25
  24. package/dist/cli/commands/search.js.map +1 -1
  25. package/dist/cli/help-content.js +17 -18
  26. package/dist/cli/help-content.js.map +1 -1
  27. package/dist/cli/main.js +73 -7
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/cli/register-list-query.js +24 -142
  30. package/dist/cli/register-list-query.js.map +1 -1
  31. package/dist/cli/register-mutation.js +49 -257
  32. package/dist/cli/register-mutation.js.map +1 -1
  33. package/dist/cli/register-operations.js +29 -198
  34. package/dist/cli/register-operations.js.map +1 -1
  35. package/dist/cli/register-setup.js +32 -133
  36. package/dist/cli/register-setup.js.map +1 -1
  37. package/dist/cli/registration-helpers.d.ts +2 -2
  38. package/dist/cli/registration-helpers.js +1 -19
  39. package/dist/cli/registration-helpers.js.map +1 -1
  40. package/dist/core/extensions/loader.js +7 -1
  41. package/dist/core/extensions/loader.js.map +1 -1
  42. package/dist/core/packages/manifest.d.ts +26 -1
  43. package/dist/core/packages/manifest.js +82 -0
  44. package/dist/core/packages/manifest.js.map +1 -1
  45. package/dist/core/search/embedding-batches.d.ts +13 -1
  46. package/dist/core/search/embedding-batches.js +19 -1
  47. package/dist/core/search/embedding-batches.js.map +1 -1
  48. package/dist/core/store/front-matter-cache.d.ts +8 -1
  49. package/dist/core/store/front-matter-cache.js +20 -11
  50. package/dist/core/store/front-matter-cache.js.map +1 -1
  51. package/dist/mcp/server.d.ts +8 -0
  52. package/dist/mcp/server.js +93 -43
  53. package/dist/mcp/server.js.map +1 -1
  54. package/dist/sdk/cli-contracts/commander-mutation-options.d.ts +7 -0
  55. package/dist/sdk/cli-contracts/commander-mutation-options.js +477 -0
  56. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -0
  57. package/dist/sdk/cli-contracts/commander-types.d.ts +21 -0
  58. package/dist/sdk/cli-contracts/commander-types.js +92 -0
  59. package/dist/sdk/cli-contracts/commander-types.js.map +1 -0
  60. package/dist/sdk/cli-contracts.d.ts +6 -17
  61. package/dist/sdk/cli-contracts.js +19 -262
  62. package/dist/sdk/cli-contracts.js.map +1 -1
  63. package/dist/sdk/index.d.ts +2 -1
  64. package/dist/sdk/index.js +1 -0
  65. package/dist/sdk/index.js.map +1 -1
  66. package/dist/sdk/runtime.d.ts +29 -0
  67. package/dist/sdk/runtime.js +28 -0
  68. package/dist/sdk/runtime.js.map +1 -0
  69. package/docs/COMMANDS.md +3 -0
  70. package/docs/EXTENSIONS.md +60 -35
  71. package/docs/QUICKSTART.md +1 -0
  72. package/docs/RELEASING.md +4 -2
  73. package/docs/SDK.md +78 -441
  74. package/package.json +4 -3
  75. package/packages/pm-beads/extensions/beads/index.js +90 -101
  76. package/packages/pm-beads/extensions/beads/index.ts +2 -2
  77. package/packages/pm-beads/extensions/beads/runtime.js +2 -17
  78. package/packages/pm-beads/extensions/beads/runtime.ts +41 -18
  79. package/packages/pm-beads/package.json +33 -0
  80. package/packages/pm-calendar/README.md +13 -0
  81. package/packages/pm-calendar/extensions/calendar/index.js +56 -0
  82. package/packages/pm-calendar/extensions/calendar/index.ts +62 -0
  83. package/packages/pm-calendar/extensions/calendar/manifest.json +7 -0
  84. package/packages/pm-calendar/extensions/calendar/runtime.js +95 -0
  85. package/packages/pm-calendar/extensions/calendar/runtime.ts +104 -0
  86. package/packages/pm-calendar/package.json +51 -0
  87. package/packages/pm-governance-audit/README.md +23 -0
  88. package/packages/pm-governance-audit/extensions/governance-audit/index.js +117 -0
  89. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +118 -0
  90. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +7 -0
  91. package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +159 -0
  92. package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +176 -0
  93. package/packages/pm-governance-audit/package.json +52 -0
  94. package/packages/pm-guide-shell/README.md +23 -0
  95. package/packages/pm-guide-shell/extensions/guide-shell/index.js +76 -0
  96. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +81 -0
  97. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +7 -0
  98. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +263 -0
  99. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +327 -0
  100. package/packages/pm-guide-shell/package.json +52 -0
  101. package/packages/pm-linked-test-adapters/README.md +24 -0
  102. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.js +101 -0
  103. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +102 -0
  104. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +7 -0
  105. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +142 -0
  106. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +173 -0
  107. package/packages/pm-linked-test-adapters/package.json +53 -0
  108. package/packages/pm-search-advanced/README.md +27 -0
  109. package/packages/pm-search-advanced/extensions/search-advanced/index.js +93 -0
  110. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +94 -0
  111. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +7 -0
  112. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +120 -0
  113. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +144 -0
  114. package/packages/pm-search-advanced/package.json +54 -0
  115. package/packages/pm-templates/README.md +20 -0
  116. package/packages/pm-templates/extensions/templates/index.js +101 -0
  117. package/packages/pm-templates/extensions/templates/index.ts +109 -0
  118. package/packages/pm-templates/extensions/templates/manifest.json +7 -0
  119. package/packages/pm-templates/extensions/templates/runtime.js +226 -0
  120. package/packages/pm-templates/extensions/templates/runtime.ts +283 -0
  121. package/packages/pm-templates/package.json +50 -0
  122. package/packages/pm-todos/extensions/todos/index.js +105 -116
  123. package/packages/pm-todos/extensions/todos/index.ts +3 -2
  124. package/packages/pm-todos/extensions/todos/runtime.js +2 -17
  125. package/packages/pm-todos/extensions/todos/runtime.ts +40 -18
  126. package/packages/pm-todos/package.json +34 -0
  127. package/plugins/pm-cli-claude/scripts/pm-mcp-server.mjs +4 -2
  128. package/plugins/pm-cli-codex/scripts/pm-mcp-server.mjs +4 -2
@@ -1,9 +1,13 @@
1
1
  import fs from "node:fs/promises";
2
2
  import { EXIT_CODE } from "../core/shared/constants.js";
3
3
  import { PmCliError } from "../core/shared/errors.js";
4
- import { runConfig, runExtension, runInit, runTemplatesList, runTemplatesSave, runTemplatesShow, runUpgrade, } from "./commands/index.js";
5
- import { collect, getGlobalOptions, normalizeCreateOptions, printError, printResult, } from "./registration-helpers.js";
6
- function normalizeExtensionOptions(options, forcedAction) {
4
+ import { collect, getGlobalOptions, printError, printResult, } from "./registration-helpers.js";
5
+ let setupCommandsModulePromise = null;
6
+ async function loadSetupCommandsModule() {
7
+ setupCommandsModulePromise ??= import("./commands/index.js");
8
+ return setupCommandsModulePromise;
9
+ }
10
+ function normalizeExtensionOptions(options, forcedAction, vocabulary = "extension") {
7
11
  const isForcedAction = (action) => forcedAction === action;
8
12
  const readBoolean = (...keys) => keys.some((key) => options[key] === true);
9
13
  const readString = (...keys) => {
@@ -23,6 +27,7 @@ function normalizeExtensionOptions(options, forcedAction) {
23
27
  manage: isForcedAction("manage") || readBoolean("manage"),
24
28
  reload: isForcedAction("reload") || readBoolean("reload"),
25
29
  doctor: isForcedAction("doctor") || readBoolean("doctor"),
30
+ catalog: isForcedAction("catalog") || readBoolean("catalog"),
26
31
  adopt: isForcedAction("adopt") || readBoolean("adopt"),
27
32
  adoptAll: isForcedAction("adopt-all") || readBoolean("adoptAll", "adopt_all", "adopt-all"),
28
33
  activate: isForcedAction("activate") || readBoolean("activate"),
@@ -40,6 +45,7 @@ function normalizeExtensionOptions(options, forcedAction) {
40
45
  fixManagedState: readBoolean("fixManagedState", "fix_managed_state", "fix-managed-state"),
41
46
  strictExit: readBoolean("strictExit", "strict_exit", "strict-exit"),
42
47
  failOnWarn: readBoolean("failOnWarn", "fail_on_warn", "fail-on-warn"),
48
+ vocabulary,
43
49
  };
44
50
  }
45
51
  async function looksLikeShellExpandedWildcard(targets) {
@@ -65,10 +71,11 @@ async function normalizeInstallTargets(targets) {
65
71
  }
66
72
  throw new PmCliError(`Install accepts one package source at a time. To install bundled first-party packages, quote the wildcard: pm install '*'`, EXIT_CODE.USAGE);
67
73
  }
68
- async function executeExtensionCommand(target, options, command, forcedAction) {
74
+ async function executeExtensionCommand(target, options, command, forcedAction, vocabulary = "extension") {
69
75
  const globalOptions = getGlobalOptions(command);
70
76
  const startedAt = Date.now();
71
- const normalizedOptions = normalizeExtensionOptions(options, forcedAction);
77
+ const normalizedOptions = normalizeExtensionOptions(options, forcedAction, vocabulary);
78
+ const { runExtension } = await loadSetupCommandsModule();
72
79
  const result = await runExtension(target, normalizedOptions, globalOptions);
73
80
  printResult(result, globalOptions);
74
81
  const strictExit = Boolean(normalizedOptions.strictExit) || Boolean(normalizedOptions.failOnWarn);
@@ -116,6 +123,7 @@ function registerLifecycleCommand(program, vocabulary) {
116
123
  .option("--reload", `Reload ${plural} with cache-busted module imports`)
117
124
  .option("--watch", "Use watch mode with --reload")
118
125
  .option("--doctor", `Run consolidated ${noun} diagnostics (summary/deep modes)`)
126
+ .option("--catalog", `List bundled first-party ${noun} catalog metadata`)
119
127
  .option("--adopt", `Adopt an existing unmanaged ${noun} into managed metadata`)
120
128
  .option("--adopt-all", `Adopt all unmanaged ${plural} into managed metadata`)
121
129
  .option("--activate", `Activate a ${noun} in selected scope settings`)
@@ -136,7 +144,7 @@ function registerLifecycleCommand(program, vocabulary) {
136
144
  ? "Manage package lifecycle operations for project or global scope. Backward-compatible with extension packages."
137
145
  : "Manage extension lifecycle operations for project or global scope.")
138
146
  .action(async (target, _options, command) => {
139
- await executeExtensionCommand(target, command.opts(), command);
147
+ await executeExtensionCommand(target, command.opts(), command, undefined, vocabulary);
140
148
  });
141
149
  if (vocabulary === "package") {
142
150
  lifecycleCommand.alias("packages");
@@ -146,7 +154,7 @@ function registerLifecycleCommand(program, vocabulary) {
146
154
  .alias("scaffold")
147
155
  .argument("<target>", `Scaffold target directory path`)
148
156
  .description(`Generate a starter ${noun} scaffold with manifest and entrypoint.`), vocabulary).action(async (target, _options, command) => {
149
- await executeExtensionCommand(target, command.opts(), command, "init");
157
+ await executeExtensionCommand(target, command.opts(), command, "init", vocabulary);
150
158
  });
151
159
  addLifecycleScopeOptions(lifecycleCommand
152
160
  .command("install")
@@ -156,26 +164,26 @@ function registerLifecycleCommand(program, vocabulary) {
156
164
  .option("--ref <ref>", "Git ref/branch/tag for GitHub install sources")
157
165
  .description(`Install ${noun} from local path or GitHub source.`), vocabulary).action(async (targets, _options, command) => {
158
166
  const target = await normalizeInstallTargets(targets);
159
- await executeExtensionCommand(target, command.opts(), command, "install");
167
+ await executeExtensionCommand(target, command.opts(), command, "install", vocabulary);
160
168
  });
161
169
  addLifecycleScopeOptions(lifecycleCommand.command("uninstall").argument("<target>", `${noun[0].toUpperCase()}${noun.slice(1)} name`).description(`Uninstall an installed ${noun}.`), vocabulary).action(async (target, _options, command) => {
162
- await executeExtensionCommand(target, command.opts(), command, "uninstall");
170
+ await executeExtensionCommand(target, command.opts(), command, "uninstall", vocabulary);
163
171
  });
164
172
  addLifecycleScopeOptions(lifecycleCommand.command("explore").description(`List discovered ${plural} in selected scope.`), vocabulary).action(async (_options, command) => {
165
- await executeExtensionCommand(undefined, command.opts(), command, "explore");
173
+ await executeExtensionCommand(undefined, command.opts(), command, "explore", vocabulary);
166
174
  });
167
175
  addLifecycleScopeOptions(lifecycleCommand
168
176
  .command("manage")
169
177
  .option("--runtime-probe", "Opt-in runtime activation probe for manage output parity")
170
178
  .option("--fix-managed-state", `Adopt unmanaged ${plural} before diagnostics/update checks`)
171
179
  .description(`List managed ${plural} with update-check metadata.`), vocabulary).action(async (_options, command) => {
172
- await executeExtensionCommand(undefined, command.opts(), command, "manage");
180
+ await executeExtensionCommand(undefined, command.opts(), command, "manage", vocabulary);
173
181
  });
174
182
  addLifecycleScopeOptions(lifecycleCommand
175
183
  .command("reload")
176
184
  .option("--watch", "Use watch mode for repeated reload checks")
177
185
  .description(`Reload ${plural} with cache-busted module imports.`), vocabulary).action(async (_options, command) => {
178
- await executeExtensionCommand(undefined, command.opts(), command, "reload");
186
+ await executeExtensionCommand(undefined, command.opts(), command, "reload", vocabulary);
179
187
  });
180
188
  addLifecycleScopeOptions(lifecycleCommand
181
189
  .command("doctor")
@@ -185,7 +193,10 @@ function registerLifecycleCommand(program, vocabulary) {
185
193
  .option("--strict-exit", "Return non-zero exit when doctor warnings are present (ok=false)")
186
194
  .option("--fail-on-warn", "Alias for --strict-exit (doctor)")
187
195
  .description(`Run consolidated ${noun} diagnostics (summary/deep modes).`), vocabulary).action(async (_options, command) => {
188
- await executeExtensionCommand(undefined, command.opts(), command, "doctor");
196
+ await executeExtensionCommand(undefined, command.opts(), command, "doctor", vocabulary);
197
+ });
198
+ addLifecycleScopeOptions(lifecycleCommand.command("catalog").alias("list").description(`List bundled first-party ${noun} catalog metadata.`), vocabulary).action(async (_options, command) => {
199
+ await executeExtensionCommand(undefined, command.opts(), command, "catalog", vocabulary);
189
200
  });
190
201
  addLifecycleScopeOptions(lifecycleCommand
191
202
  .command("adopt")
@@ -194,16 +205,16 @@ function registerLifecycleCommand(program, vocabulary) {
194
205
  .option("--github <owner/repo[/path]>", "Alias for --gh")
195
206
  .option("--ref <ref>", "Git ref/branch/tag for GitHub shorthand source")
196
207
  .description(`Adopt an existing unmanaged ${noun} into managed metadata.`), vocabulary).action(async (target, _options, command) => {
197
- await executeExtensionCommand(target, command.opts(), command, "adopt");
208
+ await executeExtensionCommand(target, command.opts(), command, "adopt", vocabulary);
198
209
  });
199
210
  addLifecycleScopeOptions(lifecycleCommand.command("adopt-all").description(`Adopt all unmanaged ${plural} into managed metadata.`), vocabulary).action(async (_options, command) => {
200
- await executeExtensionCommand(undefined, command.opts(), command, "adopt-all");
211
+ await executeExtensionCommand(undefined, command.opts(), command, "adopt-all", vocabulary);
201
212
  });
202
213
  addLifecycleScopeOptions(lifecycleCommand.command("activate").argument("<target>", `${noun[0].toUpperCase()}${noun.slice(1)} name`).description(`Activate a ${noun} in selected scope settings.`), vocabulary).action(async (target, _options, command) => {
203
- await executeExtensionCommand(target, command.opts(), command, "activate");
214
+ await executeExtensionCommand(target, command.opts(), command, "activate", vocabulary);
204
215
  });
205
216
  addLifecycleScopeOptions(lifecycleCommand.command("deactivate").argument("<target>", `${noun[0].toUpperCase()}${noun.slice(1)} name`).description(`Deactivate a ${noun} in selected scope settings.`), vocabulary).action(async (target, _options, command) => {
206
- await executeExtensionCommand(target, command.opts(), command, "deactivate");
217
+ await executeExtensionCommand(target, command.opts(), command, "deactivate", vocabulary);
207
218
  });
208
219
  }
209
220
  export function registerSetupCommands(program) {
@@ -217,6 +228,7 @@ export function registerSetupCommands(program) {
217
228
  .action(async (prefix, options, command) => {
218
229
  const globalOptions = getGlobalOptions(command);
219
230
  const startedAt = Date.now();
231
+ const { runInit } = await loadSetupCommandsModule();
220
232
  const result = await runInit(prefix, globalOptions, {
221
233
  preset: typeof options.preset === "string" ? options.preset : undefined,
222
234
  defaults: options.defaults === true,
@@ -252,6 +264,7 @@ export function registerSetupCommands(program) {
252
264
  const globalOptions = getGlobalOptions(command);
253
265
  const startedAt = Date.now();
254
266
  const criteria = Array.isArray(options.criterion) ? options.criterion : [];
267
+ const { runConfig } = await loadSetupCommandsModule();
255
268
  const result = await runConfig(scope, action, key, {
256
269
  criterion: criteria,
257
270
  format: typeof options.format === "string" ? options.format : undefined,
@@ -284,7 +297,7 @@ export function registerSetupCommands(program) {
284
297
  .option("--ref <ref>", "Git ref/branch/tag for GitHub install sources")
285
298
  .description("Install a pm package into the project package scope by default.")).action(async (targets, _options, command) => {
286
299
  const target = await normalizeInstallTargets(targets);
287
- await executeExtensionCommand(target, command.opts(), command, "install");
300
+ await executeExtensionCommand(target, command.opts(), command, "install", "package");
288
301
  });
289
302
  addPackageScopeOptions(program
290
303
  .command("upgrade")
@@ -298,6 +311,7 @@ export function registerSetupCommands(program) {
298
311
  .description("Upgrade the pm CLI/SDK and refresh managed installable pm packages.")).action(async (target, _options, command) => {
299
312
  const globalOptions = getGlobalOptions(command);
300
313
  const startedAt = Date.now();
314
+ const { runUpgrade } = await loadSetupCommandsModule();
301
315
  const result = await runUpgrade(target, command.opts(), globalOptions);
302
316
  printResult(result, globalOptions);
303
317
  if (!result.ok) {
@@ -307,120 +321,5 @@ export function registerSetupCommands(program) {
307
321
  printError(`profile:command=upgrade took_ms=${Date.now() - startedAt}`);
308
322
  }
309
323
  });
310
- const templatesCommand = program
311
- .command("templates")
312
- .description("Manage reusable create templates.")
313
- .action(async () => {
314
- const globalOptions = program.opts();
315
- const result = await runTemplatesList(globalOptions);
316
- printResult(result, globalOptions);
317
- });
318
- templatesCommand
319
- .command("save")
320
- .argument("<name>", "Template name")
321
- .option("--title, -t <value>", "Template default item title")
322
- .option("--description, -d <value>", "Template default item description")
323
- .option("--type <value>", "Template default item type")
324
- .option("--status, -s <value>", "Template default item status")
325
- .option("--priority, -p <value>", "Template default priority 0..4")
326
- .option("--tags <value>", "Template default comma-separated tags")
327
- .option("--body, -b <value>", "Template default item markdown body")
328
- .option("--deadline <value>", "Template default deadline")
329
- .option("--estimate, --estimated-minutes <value>", "Template default estimated minutes")
330
- .option("--estimated_minutes <value>", "Alias for --estimated-minutes")
331
- .option("--acceptance-criteria <value>", "Template default acceptance criteria")
332
- .option("--acceptance_criteria <value>", "Alias for --acceptance-criteria")
333
- .option("--ac <value>", "Alias for --acceptance-criteria")
334
- .option("--definition-of-ready <value>", "Template default definition of ready")
335
- .option("--definition_of_ready <value>", "Alias for --definition-of-ready")
336
- .option("--order <value>", "Template default planning order/rank integer")
337
- .option("--rank <value>", "Alias for --order")
338
- .option("--goal <value>", "Template default goal identifier")
339
- .option("--objective <value>", "Template default objective identifier")
340
- .option("--value <value>", "Template default business value summary")
341
- .option("--impact <value>", "Template default business impact summary")
342
- .option("--outcome <value>", "Template default expected outcome summary")
343
- .option("--why-now <value>", "Template default why-now rationale")
344
- .option("--why_now <value>", "Alias for --why-now")
345
- .option("--author <value>", "Template default mutation author")
346
- .option("--message <value>", "Template default history message")
347
- .option("--assignee <value>", "Template default assignee")
348
- .option("--parent <value>", "Template default parent item ID")
349
- .option("--reviewer <value>", "Template default reviewer")
350
- .option("--risk <value>", "Template default risk level")
351
- .option("--confidence <value>", "Template default confidence")
352
- .option("--sprint <value>", "Template default sprint identifier")
353
- .option("--release <value>", "Template default release identifier")
354
- .option("--blocked-by <value>", "Template default blocked-by item ID or reason")
355
- .option("--blocked_by <value>", "Alias for --blocked-by")
356
- .option("--blocked-reason <value>", "Template default blocked reason")
357
- .option("--blocked_reason <value>", "Alias for --blocked-reason")
358
- .option("--unblock-note <value>", "Template default unblock rationale note")
359
- .option("--unblock_note <value>", "Alias for --unblock-note")
360
- .option("--reporter <value>", "Template default issue reporter")
361
- .option("--severity <value>", "Template default issue severity")
362
- .option("--environment <value>", "Template default issue environment context")
363
- .option("--repro-steps <value>", "Template default issue reproduction steps")
364
- .option("--repro_steps <value>", "Alias for --repro-steps")
365
- .option("--resolution <value>", "Template default issue resolution summary")
366
- .option("--expected-result <value>", "Template default issue expected behavior")
367
- .option("--expected_result <value>", "Alias for --expected-result")
368
- .option("--actual-result <value>", "Template default issue observed behavior")
369
- .option("--actual_result <value>", "Alias for --actual-result")
370
- .option("--affected-version <value>", "Template default affected version identifier")
371
- .option("--affected_version <value>", "Alias for --affected-version")
372
- .option("--fixed-version <value>", "Template default fixed version identifier")
373
- .option("--fixed_version <value>", "Alias for --fixed-version")
374
- .option("--component <value>", "Template default issue component ownership")
375
- .option("--regression <value>", "Template default regression marker")
376
- .option("--customer-impact <value>", "Template default customer impact summary")
377
- .option("--customer_impact <value>", "Alias for --customer-impact")
378
- .option("--dep <value>", "Template default dependency entry (repeatable; CSV/markdown pairs or - for stdin)", collect)
379
- .option("--type-option <value>", "Template default type option entry (repeatable; key=value or markdown pairs; use - for stdin)", collect)
380
- .option("--type_option <value>", "Alias for --type-option", collect)
381
- .option("--reminder <value>", "Template default reminder entry (repeatable; at=<iso|relative>,text=<text>)", collect)
382
- .option("--event <value>", "Template default event entry (repeatable; start/end/title/recur_* fields)", collect)
383
- .option("--comment <value>", "Template default comment seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)", collect)
384
- .option("--note <value>", "Template default note seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)", collect)
385
- .option("--learning <value>", "Template default learning seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)", collect)
386
- .option("--file <value>", "Template default linked file entry (repeatable; CSV/markdown pairs or - for stdin)", collect)
387
- .option("--test <value>", "Template default linked test entry (repeatable; CSV/markdown pairs or - for stdin)", collect)
388
- .option("--doc <value>", "Template default linked doc entry (repeatable; CSV/markdown pairs or - for stdin)", collect)
389
- .description("Save or update a named create template.")
390
- .action(async (name, options, command) => {
391
- const globalOptions = getGlobalOptions(command);
392
- const startedAt = Date.now();
393
- const normalized = normalizeCreateOptions(options, { requireType: false });
394
- const result = await runTemplatesSave(name, normalized, globalOptions);
395
- printResult(result, globalOptions);
396
- if (globalOptions.profile) {
397
- printError(`profile:command=templates save took_ms=${Date.now() - startedAt}`);
398
- }
399
- });
400
- templatesCommand
401
- .command("list")
402
- .description("List saved create templates.")
403
- .action(async (_options, command) => {
404
- const globalOptions = getGlobalOptions(command);
405
- const startedAt = Date.now();
406
- const result = await runTemplatesList(globalOptions);
407
- printResult(result, globalOptions);
408
- if (globalOptions.profile) {
409
- printError(`profile:command=templates list took_ms=${Date.now() - startedAt}`);
410
- }
411
- });
412
- templatesCommand
413
- .command("show")
414
- .argument("<name>", "Template name")
415
- .description("Show saved create template details.")
416
- .action(async (name, _options, command) => {
417
- const globalOptions = getGlobalOptions(command);
418
- const startedAt = Date.now();
419
- const result = await runTemplatesShow(name, globalOptions);
420
- printResult(result, globalOptions);
421
- if (globalOptions.profile) {
422
- printError(`profile:command=templates show took_ms=${Date.now() - startedAt}`);
423
- }
424
- });
425
324
  }
426
325
  //# sourceMappingURL=register-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-setup.js","sourceRoot":"/","sources":["cli/register-setup.ts"],"names":[],"mappings":"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","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 runConfig,\n runExtension,\n runInit,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runUpgrade,\n} from \"./commands/index.js\";\nimport {\n collect,\n getGlobalOptions,\n normalizeCreateOptions,\n printError,\n printResult,\n} from \"./registration-helpers.js\";\n\ntype ExtensionSubcommandAction =\n | \"init\"\n | \"install\"\n | \"uninstall\"\n | \"explore\"\n | \"manage\"\n | \"reload\"\n | \"doctor\"\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): 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\"),\n manage: isForcedAction(\"manage\") || readBoolean(\"manage\"),\n reload: isForcedAction(\"reload\") || readBoolean(\"reload\"),\n doctor: isForcedAction(\"doctor\") || readBoolean(\"doctor\"),\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 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 };\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): Promise<void> {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const normalizedOptions = normalizeExtensionOptions(options, forcedAction);\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 or GitHub source`)\n .option(\"--uninstall\", `Uninstall an installed ${noun}`)\n .option(\"--explore\", `List discovered ${plural} in selected scope`)\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(\"--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 <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"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);\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(`Generate a starter ${noun} scaffold with manifest and entrypoint.`),\n vocabulary,\n ).action(async (target: string, _options: Record<string, unknown>, command) => {\n await executeExtensionCommand(target, command.opts() as Record<string, unknown>, command, \"init\");\n });\n\n addLifecycleScopeOptions(\n lifecycleCommand\n .command(\"install\")\n .argument(\"[targets...]\", `${noun[0]!.toUpperCase()}${noun.slice(1)} source (local path, bundled alias, wildcard, or GitHub source)`)\n .option(\"--gh <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(`Install ${noun} from local path 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\");\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\");\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\");\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\");\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\");\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\");\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\");\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\");\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\");\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\");\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(\"--author <value>\", \"Set the default mutation author for this project\")\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 result = await runInit(\n prefix,\n globalOptions,\n {\n preset: typeof options.preset === \"string\" ? options.preset : undefined,\n defaults: options.defaults === true,\n author: typeof options.author === \"string\" ? options.author : undefined,\n },\n );\n printResult(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\")\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 .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(\"--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, action: string, key: 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 result = await runConfig(\n scope,\n action,\n key,\n {\n criterion: criteria,\n format: typeof options.format === \"string\" ? options.format : undefined,\n policy: typeof options.policy === \"string\" ? options.policy : 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 );\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, wildcard, or GitHub source)\")\n .option(\"--gh <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"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\");\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 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 const templatesCommand = program\n .command(\"templates\")\n .description(\"Manage reusable create templates.\")\n .action(async () => {\n const globalOptions = program.opts<GlobalOptions>();\n const result = await runTemplatesList(globalOptions);\n printResult(result, globalOptions);\n });\n\n templatesCommand\n .command(\"save\")\n .argument(\"<name>\", \"Template name\")\n .option(\"--title, -t <value>\", \"Template default item title\")\n .option(\"--description, -d <value>\", \"Template default item description\")\n .option(\"--type <value>\", \"Template default item type\")\n .option(\"--status, -s <value>\", \"Template default item status\")\n .option(\"--priority, -p <value>\", \"Template default priority 0..4\")\n .option(\"--tags <value>\", \"Template default comma-separated tags\")\n .option(\"--body, -b <value>\", \"Template default item markdown body\")\n .option(\"--deadline <value>\", \"Template default deadline\")\n .option(\"--estimate, --estimated-minutes <value>\", \"Template default estimated minutes\")\n .option(\"--estimated_minutes <value>\", \"Alias for --estimated-minutes\")\n .option(\"--acceptance-criteria <value>\", \"Template default acceptance criteria\")\n .option(\"--acceptance_criteria <value>\", \"Alias for --acceptance-criteria\")\n .option(\"--ac <value>\", \"Alias for --acceptance-criteria\")\n .option(\"--definition-of-ready <value>\", \"Template default definition of ready\")\n .option(\"--definition_of_ready <value>\", \"Alias for --definition-of-ready\")\n .option(\"--order <value>\", \"Template default planning order/rank integer\")\n .option(\"--rank <value>\", \"Alias for --order\")\n .option(\"--goal <value>\", \"Template default goal identifier\")\n .option(\"--objective <value>\", \"Template default objective identifier\")\n .option(\"--value <value>\", \"Template default business value summary\")\n .option(\"--impact <value>\", \"Template default business impact summary\")\n .option(\"--outcome <value>\", \"Template default expected outcome summary\")\n .option(\"--why-now <value>\", \"Template default why-now rationale\")\n .option(\"--why_now <value>\", \"Alias for --why-now\")\n .option(\"--author <value>\", \"Template default mutation author\")\n .option(\"--message <value>\", \"Template default history message\")\n .option(\"--assignee <value>\", \"Template default assignee\")\n .option(\"--parent <value>\", \"Template default parent item ID\")\n .option(\"--reviewer <value>\", \"Template default reviewer\")\n .option(\"--risk <value>\", \"Template default risk level\")\n .option(\"--confidence <value>\", \"Template default confidence\")\n .option(\"--sprint <value>\", \"Template default sprint identifier\")\n .option(\"--release <value>\", \"Template default release identifier\")\n .option(\"--blocked-by <value>\", \"Template default blocked-by item ID or reason\")\n .option(\"--blocked_by <value>\", \"Alias for --blocked-by\")\n .option(\"--blocked-reason <value>\", \"Template default blocked reason\")\n .option(\"--blocked_reason <value>\", \"Alias for --blocked-reason\")\n .option(\"--unblock-note <value>\", \"Template default unblock rationale note\")\n .option(\"--unblock_note <value>\", \"Alias for --unblock-note\")\n .option(\"--reporter <value>\", \"Template default issue reporter\")\n .option(\"--severity <value>\", \"Template default issue severity\")\n .option(\"--environment <value>\", \"Template default issue environment context\")\n .option(\"--repro-steps <value>\", \"Template default issue reproduction steps\")\n .option(\"--repro_steps <value>\", \"Alias for --repro-steps\")\n .option(\"--resolution <value>\", \"Template default issue resolution summary\")\n .option(\"--expected-result <value>\", \"Template default issue expected behavior\")\n .option(\"--expected_result <value>\", \"Alias for --expected-result\")\n .option(\"--actual-result <value>\", \"Template default issue observed behavior\")\n .option(\"--actual_result <value>\", \"Alias for --actual-result\")\n .option(\"--affected-version <value>\", \"Template default affected version identifier\")\n .option(\"--affected_version <value>\", \"Alias for --affected-version\")\n .option(\"--fixed-version <value>\", \"Template default fixed version identifier\")\n .option(\"--fixed_version <value>\", \"Alias for --fixed-version\")\n .option(\"--component <value>\", \"Template default issue component ownership\")\n .option(\"--regression <value>\", \"Template default regression marker\")\n .option(\"--customer-impact <value>\", \"Template default customer impact summary\")\n .option(\"--customer_impact <value>\", \"Alias for --customer-impact\")\n .option(\n \"--dep <value>\",\n \"Template default dependency entry (repeatable; CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--type-option <value>\",\n \"Template default type option entry (repeatable; key=value or markdown pairs; use - for stdin)\",\n collect,\n )\n .option(\"--type_option <value>\", \"Alias for --type-option\", collect)\n .option(\n \"--reminder <value>\",\n \"Template default reminder entry (repeatable; at=<iso|relative>,text=<text>)\",\n collect,\n )\n .option(\n \"--event <value>\",\n \"Template default event entry (repeatable; start/end/title/recur_* fields)\",\n collect,\n )\n .option(\n \"--comment <value>\",\n \"Template default comment seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--note <value>\",\n \"Template default note seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--learning <value>\",\n \"Template default learning seed entry (repeatable; text=<value> CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--file <value>\",\n \"Template default linked file entry (repeatable; CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--test <value>\",\n \"Template default linked test entry (repeatable; CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .option(\n \"--doc <value>\",\n \"Template default linked doc entry (repeatable; CSV/markdown pairs or - for stdin)\",\n collect,\n )\n .description(\"Save or update a named create template.\")\n .action(async (name: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const normalized = normalizeCreateOptions(options, { requireType: false }) as unknown as Record<string, unknown>;\n const result = await runTemplatesSave(name, normalized, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=templates save took_ms=${Date.now() - startedAt}`);\n }\n });\n\n templatesCommand\n .command(\"list\")\n .description(\"List saved create templates.\")\n .action(async (_options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runTemplatesList(globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=templates list took_ms=${Date.now() - startedAt}`);\n }\n });\n\n templatesCommand\n .command(\"show\")\n .argument(\"<name>\", \"Template name\")\n .description(\"Show saved create template details.\")\n .action(async (name: string, _options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const result = await runTemplatesShow(name, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=templates show took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"]}
1
+ {"version":3,"file":"register-setup.js","sourceRoot":"/","sources":["cli/register-setup.ts"],"names":[],"mappings":"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","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\";\n\ntype SetupCommandsModule = typeof import(\"./commands/index.js\");\n\nlet setupCommandsModulePromise: Promise<SetupCommandsModule> | null = null;\n\nasync function loadSetupCommandsModule(): Promise<SetupCommandsModule> {\n setupCommandsModulePromise ??= import(\"./commands/index.js\");\n return setupCommandsModulePromise;\n}\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\"),\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 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 or GitHub source`)\n .option(\"--uninstall\", `Uninstall an installed ${noun}`)\n .option(\"--explore\", `List discovered ${plural} in selected scope`)\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 <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"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(`Generate a starter ${noun} scaffold with manifest and entrypoint.`),\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, wildcard, or GitHub source)`)\n .option(\"--gh <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"Alias for --gh\")\n .option(\"--ref <ref>\", \"Git ref/branch/tag for GitHub install sources\")\n .description(`Install ${noun} from local path 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.command(\"catalog\").alias(\"list\").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(\"--author <value>\", \"Set the default mutation author for this project\")\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 } = 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,\n author: typeof options.author === \"string\" ? options.author : undefined,\n },\n );\n printResult(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\")\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 .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(\"--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, action: string, key: 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 result = await runConfig(\n scope,\n action,\n key,\n {\n criterion: criteria,\n format: typeof options.format === \"string\" ? options.format : undefined,\n policy: typeof options.policy === \"string\" ? options.policy : 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 );\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, wildcard, or GitHub source)\")\n .option(\"--gh <owner/repo[/path]>\", \"Install from GitHub shorthand source\")\n .option(\"--github <owner/repo[/path]>\", \"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"]}
@@ -1,7 +1,8 @@
1
1
  import type { Command } from "commander";
2
2
  import { printError, printResult, writeStdout } from "../core/output/output.js";
3
3
  import type { GlobalOptions } from "../core/shared/command-types.js";
4
- import type { CalendarOptions, ContextOptions, CreateCommandOptions, AggregateOptions, DedupeAuditOptions, ListOptions } from "./commands/index.js";
4
+ import type { ContextOptions, CreateCommandOptions, AggregateOptions, ListOptions } from "./commands/index.js";
5
+ import type { CalendarOptions } from "./commands/calendar.js";
5
6
  import type { runList, runActivity } from "./commands/index.js";
6
7
  export { printError, printResult, writeStdout, };
7
8
  export declare function setResolvedGlobalOptions(command: Command, globalOptions: GlobalOptions): void;
@@ -24,7 +25,6 @@ export declare const UPDATE_MANY_CONTROL_OPTION_KEYS: Set<string>;
24
25
  export declare function extractUpdateManyMutationOptionSource(commandOptions: Record<string, unknown>): Record<string, unknown>;
25
26
  export declare function normalizeListOptions(options: Record<string, unknown>): ListOptions;
26
27
  export declare function normalizeAggregateOptions(options: Record<string, unknown>): AggregateOptions;
27
- export declare function normalizeDedupeAuditOptions(options: Record<string, unknown>): DedupeAuditOptions;
28
28
  export type ListCommandResult = Awaited<ReturnType<typeof runList>>;
29
29
  export declare function printListJsonStream(commandName: string, result: ListCommandResult, globalOptions: GlobalOptions): void;
30
30
  export type ActivityCommandResult = Awaited<ReturnType<typeof runActivity>>;
@@ -142,7 +142,7 @@ export function normalizeCreateOptions(commandOptions, options = {}) {
142
142
  });
143
143
  const type = readCreateString("type");
144
144
  if (options.requireType !== false && type === undefined) {
145
- throw new PmCliError("Missing required option --type <value>", EXIT_CODE.USAGE);
145
+ throw new PmCliError("Missing required option --type <value>. Why required: create resolves runtime schema fields/workflow from item type. Retry: add --type <built-in or configured custom type> (example: --type Task).", EXIT_CODE.USAGE);
146
146
  }
147
147
  const normalized = {
148
148
  title: readCreateString("title"),
@@ -393,24 +393,6 @@ export function normalizeAggregateOptions(options) {
393
393
  release: readListOptionString(options, "release"),
394
394
  };
395
395
  }
396
- export function normalizeDedupeAuditOptions(options) {
397
- return {
398
- mode: typeof options.mode === "string" ? options.mode : undefined,
399
- status: typeof options.status === "string" ? options.status : undefined,
400
- type: readListOptionString(options, "type"),
401
- tag: readListOptionString(options, "tag"),
402
- priority: readListOptionString(options, "priority"),
403
- deadlineBefore: readListOptionString(options, "deadlineBefore"),
404
- deadlineAfter: readListOptionString(options, "deadlineAfter"),
405
- assignee: readListOptionString(options, "assignee"),
406
- assigneeFilter: readListOptionString(options, "assigneeFilter"),
407
- parent: readListOptionString(options, "parent"),
408
- sprint: readListOptionString(options, "sprint"),
409
- release: readListOptionString(options, "release"),
410
- limit: readListOptionString(options, "limit"),
411
- threshold: typeof options.threshold === "string" ? options.threshold : undefined,
412
- };
413
- }
414
396
  export function printListJsonStream(commandName, result, globalOptions) {
415
397
  setActiveCommandResult(result);
416
398
  if (globalOptions.quiet) {