@unbrained/pm-cli 2026.5.14 → 2026.5.18

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 (361) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/AGENTS.md +78 -457
  3. package/CHANGELOG.md +11 -0
  4. package/CONTRIBUTING.md +1 -0
  5. package/README.md +6 -5
  6. package/dist/cli/argv-utils.js +4 -1
  7. package/dist/cli/argv-utils.js.map +1 -1
  8. package/dist/cli/bootstrap-args.js +4 -1
  9. package/dist/cli/bootstrap-args.js.map +1 -1
  10. package/dist/cli/commander-usage.js +5 -1
  11. package/dist/cli/commander-usage.js.map +1 -1
  12. package/dist/cli/commands/activity.js +4 -1
  13. package/dist/cli/commands/activity.js.map +1 -1
  14. package/dist/cli/commands/aggregate.js +5 -2
  15. package/dist/cli/commands/aggregate.js.map +1 -1
  16. package/dist/cli/commands/append.js +4 -1
  17. package/dist/cli/commands/append.js.map +1 -1
  18. package/dist/cli/commands/calendar.js +4 -1
  19. package/dist/cli/commands/calendar.js.map +1 -1
  20. package/dist/cli/commands/claim.d.ts +3 -0
  21. package/dist/cli/commands/claim.js +19 -3
  22. package/dist/cli/commands/claim.js.map +1 -1
  23. package/dist/cli/commands/close.js +4 -1
  24. package/dist/cli/commands/close.js.map +1 -1
  25. package/dist/cli/commands/comments-audit.js +4 -1
  26. package/dist/cli/commands/comments-audit.js.map +1 -1
  27. package/dist/cli/commands/comments.js +4 -1
  28. package/dist/cli/commands/comments.js.map +1 -1
  29. package/dist/cli/commands/completion.js +98 -2
  30. package/dist/cli/commands/completion.js.map +1 -1
  31. package/dist/cli/commands/config.js +4 -1
  32. package/dist/cli/commands/config.js.map +1 -1
  33. package/dist/cli/commands/context.js +19 -5
  34. package/dist/cli/commands/context.js.map +1 -1
  35. package/dist/cli/commands/contracts.d.ts +9 -0
  36. package/dist/cli/commands/contracts.js +152 -34
  37. package/dist/cli/commands/contracts.js.map +1 -1
  38. package/dist/cli/commands/create.js +30 -6
  39. package/dist/cli/commands/create.js.map +1 -1
  40. package/dist/cli/commands/dedupe-audit.js +4 -1
  41. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  42. package/dist/cli/commands/delete.js +4 -1
  43. package/dist/cli/commands/delete.js.map +1 -1
  44. package/dist/cli/commands/deps.js +4 -1
  45. package/dist/cli/commands/deps.js.map +1 -1
  46. package/dist/cli/commands/docs.js +4 -1
  47. package/dist/cli/commands/docs.js.map +1 -1
  48. package/dist/cli/commands/extension.d.ts +2 -1
  49. package/dist/cli/commands/extension.js +123 -33
  50. package/dist/cli/commands/extension.js.map +1 -1
  51. package/dist/cli/commands/files.js +4 -1
  52. package/dist/cli/commands/files.js.map +1 -1
  53. package/dist/cli/commands/gc.js +4 -1
  54. package/dist/cli/commands/gc.js.map +1 -1
  55. package/dist/cli/commands/get.d.ts +7 -3
  56. package/dist/cli/commands/get.js +91 -18
  57. package/dist/cli/commands/get.js.map +1 -1
  58. package/dist/cli/commands/guide.js +6 -8
  59. package/dist/cli/commands/guide.js.map +1 -1
  60. package/dist/cli/commands/health.d.ts +4 -0
  61. package/dist/cli/commands/health.js +31 -8
  62. package/dist/cli/commands/health.js.map +1 -1
  63. package/dist/cli/commands/history-redact.d.ts +42 -0
  64. package/dist/cli/commands/history-redact.js +559 -0
  65. package/dist/cli/commands/history-redact.js.map +1 -0
  66. package/dist/cli/commands/history.d.ts +4 -0
  67. package/dist/cli/commands/history.js +14 -3
  68. package/dist/cli/commands/history.js.map +1 -1
  69. package/dist/cli/commands/index.d.ts +2 -0
  70. package/dist/cli/commands/index.js +6 -1
  71. package/dist/cli/commands/index.js.map +1 -1
  72. package/dist/cli/commands/init-agent-guidance.d.ts +31 -0
  73. package/dist/cli/commands/init-agent-guidance.js +336 -0
  74. package/dist/cli/commands/init-agent-guidance.js.map +1 -0
  75. package/dist/cli/commands/init.d.ts +14 -0
  76. package/dist/cli/commands/init.js +75 -1
  77. package/dist/cli/commands/init.js.map +1 -1
  78. package/dist/cli/commands/learnings.js +4 -1
  79. package/dist/cli/commands/learnings.js.map +1 -1
  80. package/dist/cli/commands/list.d.ts +1 -0
  81. package/dist/cli/commands/list.js +42 -18
  82. package/dist/cli/commands/list.js.map +1 -1
  83. package/dist/cli/commands/metadata-normalizers.js +4 -1
  84. package/dist/cli/commands/metadata-normalizers.js.map +1 -1
  85. package/dist/cli/commands/normalize.js +4 -1
  86. package/dist/cli/commands/normalize.js.map +1 -1
  87. package/dist/cli/commands/notes.js +4 -1
  88. package/dist/cli/commands/notes.js.map +1 -1
  89. package/dist/cli/commands/plan.d.ts +118 -0
  90. package/dist/cli/commands/plan.js +975 -0
  91. package/dist/cli/commands/plan.js.map +1 -0
  92. package/dist/cli/commands/reindex.js +4 -1
  93. package/dist/cli/commands/reindex.js.map +1 -1
  94. package/dist/cli/commands/restore.js +4 -1
  95. package/dist/cli/commands/restore.js.map +1 -1
  96. package/dist/cli/commands/search.js +7 -2
  97. package/dist/cli/commands/search.js.map +1 -1
  98. package/dist/cli/commands/stats.js +4 -1
  99. package/dist/cli/commands/stats.js.map +1 -1
  100. package/dist/cli/commands/templates.js +4 -1
  101. package/dist/cli/commands/templates.js.map +1 -1
  102. package/dist/cli/commands/test-all.js +4 -1
  103. package/dist/cli/commands/test-all.js.map +1 -1
  104. package/dist/cli/commands/test-runs.js +4 -1
  105. package/dist/cli/commands/test-runs.js.map +1 -1
  106. package/dist/cli/commands/test.js +4 -1
  107. package/dist/cli/commands/test.js.map +1 -1
  108. package/dist/cli/commands/update-many.js +4 -1
  109. package/dist/cli/commands/update-many.js.map +1 -1
  110. package/dist/cli/commands/update.js +114 -71
  111. package/dist/cli/commands/update.js.map +1 -1
  112. package/dist/cli/commands/upgrade.js +6 -3
  113. package/dist/cli/commands/upgrade.js.map +1 -1
  114. package/dist/cli/commands/validate.js +32 -4
  115. package/dist/cli/commands/validate.js.map +1 -1
  116. package/dist/cli/error-guidance.js +5 -2
  117. package/dist/cli/error-guidance.js.map +1 -1
  118. package/dist/cli/extension-command-help.js +4 -1
  119. package/dist/cli/extension-command-help.js.map +1 -1
  120. package/dist/cli/extension-command-options.js +4 -1
  121. package/dist/cli/extension-command-options.js.map +1 -1
  122. package/dist/cli/guide-topics.js +4 -1
  123. package/dist/cli/guide-topics.js.map +1 -1
  124. package/dist/cli/help-content.js +35 -15
  125. package/dist/cli/help-content.js.map +1 -1
  126. package/dist/cli/help-json-payload.js +4 -1
  127. package/dist/cli/help-json-payload.js.map +1 -1
  128. package/dist/cli/main.js +203 -25
  129. package/dist/cli/main.js.map +1 -1
  130. package/dist/cli/migration-gates.js +4 -1
  131. package/dist/cli/migration-gates.js.map +1 -1
  132. package/dist/cli/register-list-query.js +37 -14
  133. package/dist/cli/register-list-query.js.map +1 -1
  134. package/dist/cli/register-mutation.js +228 -4
  135. package/dist/cli/register-mutation.js.map +1 -1
  136. package/dist/cli/register-operations.js +33 -1
  137. package/dist/cli/register-operations.js.map +1 -1
  138. package/dist/cli/register-setup.js +23 -13
  139. package/dist/cli/register-setup.js.map +1 -1
  140. package/dist/cli/registration-helpers.js +10 -2
  141. package/dist/cli/registration-helpers.js.map +1 -1
  142. package/dist/cli/shared-parsers.js +4 -1
  143. package/dist/cli/shared-parsers.js.map +1 -1
  144. package/dist/cli/telemetry-flush.js +4 -1
  145. package/dist/cli/telemetry-flush.js.map +1 -1
  146. package/dist/cli.js +45 -3
  147. package/dist/cli.js.map +1 -1
  148. package/dist/core/extensions/extension-types.js +4 -1
  149. package/dist/core/extensions/extension-types.js.map +1 -1
  150. package/dist/core/extensions/index.js +4 -1
  151. package/dist/core/extensions/index.js.map +1 -1
  152. package/dist/core/extensions/item-fields.js +4 -1
  153. package/dist/core/extensions/item-fields.js.map +1 -1
  154. package/dist/core/extensions/loader.js +77 -53
  155. package/dist/core/extensions/loader.js.map +1 -1
  156. package/dist/core/extensions/runtime-registrations.js +4 -1
  157. package/dist/core/extensions/runtime-registrations.js.map +1 -1
  158. package/dist/core/fs/fs-utils.js +4 -1
  159. package/dist/core/fs/fs-utils.js.map +1 -1
  160. package/dist/core/fs/index.js +4 -1
  161. package/dist/core/fs/index.js.map +1 -1
  162. package/dist/core/history/history-stream-policy.js +4 -1
  163. package/dist/core/history/history-stream-policy.js.map +1 -1
  164. package/dist/core/history/history.js +4 -1
  165. package/dist/core/history/history.js.map +1 -1
  166. package/dist/core/history/index.js +4 -1
  167. package/dist/core/history/index.js.map +1 -1
  168. package/dist/core/item/id.js +4 -1
  169. package/dist/core/item/id.js.map +1 -1
  170. package/dist/core/item/index.js +4 -1
  171. package/dist/core/item/index.js.map +1 -1
  172. package/dist/core/item/item-format.js +241 -2
  173. package/dist/core/item/item-format.js.map +1 -1
  174. package/dist/core/item/parent-reference-policy.js +4 -1
  175. package/dist/core/item/parent-reference-policy.js.map +1 -1
  176. package/dist/core/item/parse.js +33 -3
  177. package/dist/core/item/parse.js.map +1 -1
  178. package/dist/core/item/sprint-release-format.js +4 -1
  179. package/dist/core/item/sprint-release-format.js.map +1 -1
  180. package/dist/core/item/status.js +4 -1
  181. package/dist/core/item/status.js.map +1 -1
  182. package/dist/core/item/type-registry.js +4 -1
  183. package/dist/core/item/type-registry.js.map +1 -1
  184. package/dist/core/lock/index.js +4 -1
  185. package/dist/core/lock/index.js.map +1 -1
  186. package/dist/core/lock/lock.js +4 -1
  187. package/dist/core/lock/lock.js.map +1 -1
  188. package/dist/core/output/command-aware.js +4 -1
  189. package/dist/core/output/command-aware.js.map +1 -1
  190. package/dist/core/output/output.d.ts +4 -0
  191. package/dist/core/output/output.js +47 -6
  192. package/dist/core/output/output.js.map +1 -1
  193. package/dist/core/packages/manifest.d.ts +1 -0
  194. package/dist/core/packages/manifest.js +5 -1
  195. package/dist/core/packages/manifest.js.map +1 -1
  196. package/dist/core/packages/root.d.ts +3 -0
  197. package/dist/core/packages/root.js +51 -0
  198. package/dist/core/packages/root.js.map +1 -0
  199. package/dist/core/schema/runtime-field-filters.js +4 -1
  200. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  201. package/dist/core/schema/runtime-field-values.js +4 -1
  202. package/dist/core/schema/runtime-field-values.js.map +1 -1
  203. package/dist/core/schema/runtime-schema.js +4 -1
  204. package/dist/core/schema/runtime-schema.js.map +1 -1
  205. package/dist/core/search/cache.js +7 -2
  206. package/dist/core/search/cache.js.map +1 -1
  207. package/dist/core/search/corpus.d.ts +2 -0
  208. package/dist/core/search/corpus.js +77 -2
  209. package/dist/core/search/corpus.js.map +1 -1
  210. package/dist/core/search/embedding-batches.js +21 -7
  211. package/dist/core/search/embedding-batches.js.map +1 -1
  212. package/dist/core/search/http-client.js +4 -1
  213. package/dist/core/search/http-client.js.map +1 -1
  214. package/dist/core/search/providers.js +4 -1
  215. package/dist/core/search/providers.js.map +1 -1
  216. package/dist/core/search/semantic-defaults.js +11 -2
  217. package/dist/core/search/semantic-defaults.js.map +1 -1
  218. package/dist/core/search/vector-stores.js +4 -1
  219. package/dist/core/search/vector-stores.js.map +1 -1
  220. package/dist/core/sentry/helpers.js +4 -1
  221. package/dist/core/sentry/helpers.js.map +1 -1
  222. package/dist/core/sentry/instrument.js +10 -13
  223. package/dist/core/sentry/instrument.js.map +1 -1
  224. package/dist/core/shared/command-types.js +4 -1
  225. package/dist/core/shared/command-types.js.map +1 -1
  226. package/dist/core/shared/conflict-markers.js +4 -1
  227. package/dist/core/shared/conflict-markers.js.map +1 -1
  228. package/dist/core/shared/constants.d.ts +2 -2
  229. package/dist/core/shared/constants.js +24 -1
  230. package/dist/core/shared/constants.js.map +1 -1
  231. package/dist/core/shared/errors.js +4 -1
  232. package/dist/core/shared/errors.js.map +1 -1
  233. package/dist/core/shared/index.js +4 -1
  234. package/dist/core/shared/index.js.map +1 -1
  235. package/dist/core/shared/levenshtein.js +4 -1
  236. package/dist/core/shared/levenshtein.js.map +1 -1
  237. package/dist/core/shared/primitives.js +4 -1
  238. package/dist/core/shared/primitives.js.map +1 -1
  239. package/dist/core/shared/serialization.js +4 -1
  240. package/dist/core/shared/serialization.js.map +1 -1
  241. package/dist/core/shared/text-normalization.js +4 -1
  242. package/dist/core/shared/text-normalization.js.map +1 -1
  243. package/dist/core/shared/time.js +4 -1
  244. package/dist/core/shared/time.js.map +1 -1
  245. package/dist/core/store/front-matter-cache.js +8 -3
  246. package/dist/core/store/front-matter-cache.js.map +1 -1
  247. package/dist/core/store/index.js +4 -1
  248. package/dist/core/store/index.js.map +1 -1
  249. package/dist/core/store/item-format-migration.js +4 -1
  250. package/dist/core/store/item-format-migration.js.map +1 -1
  251. package/dist/core/store/item-store.d.ts +2 -0
  252. package/dist/core/store/item-store.js +66 -3
  253. package/dist/core/store/item-store.js.map +1 -1
  254. package/dist/core/store/paths.js +4 -1
  255. package/dist/core/store/paths.js.map +1 -1
  256. package/dist/core/store/settings.js +39 -1
  257. package/dist/core/store/settings.js.map +1 -1
  258. package/dist/core/telemetry/consent.js +4 -1
  259. package/dist/core/telemetry/consent.js.map +1 -1
  260. package/dist/core/telemetry/observability.d.ts +1 -1
  261. package/dist/core/telemetry/observability.js +11 -2
  262. package/dist/core/telemetry/observability.js.map +1 -1
  263. package/dist/core/telemetry/runtime.js +31 -5
  264. package/dist/core/telemetry/runtime.js.map +1 -1
  265. package/dist/core/test/background-runs.js +4 -1
  266. package/dist/core/test/background-runs.js.map +1 -1
  267. package/dist/core/test/item-test-run-tracking.js +4 -1
  268. package/dist/core/test/item-test-run-tracking.js.map +1 -1
  269. package/dist/mcp/server.js +123 -14
  270. package/dist/mcp/server.js.map +1 -1
  271. package/dist/sdk/cli-contracts/commander-mutation-options.js +10 -3
  272. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  273. package/dist/sdk/cli-contracts/commander-types.js +4 -1
  274. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  275. package/dist/sdk/cli-contracts.d.ts +6 -2
  276. package/dist/sdk/cli-contracts.js +213 -20
  277. package/dist/sdk/cli-contracts.js.map +1 -1
  278. package/dist/sdk/index.js +4 -1
  279. package/dist/sdk/index.js.map +1 -1
  280. package/dist/sdk/runtime.js +4 -1
  281. package/dist/sdk/runtime.js.map +1 -1
  282. package/dist/types/index.js +4 -1
  283. package/dist/types/index.js.map +1 -1
  284. package/dist/types.d.ts +86 -2
  285. package/dist/types.js +34 -1
  286. package/dist/types.js.map +1 -1
  287. package/docs/AGENT_GUIDE.md +16 -6
  288. package/docs/CLAUDE_CODE_PLUGIN.md +10 -10
  289. package/docs/CODEX_PLUGIN.md +2 -2
  290. package/docs/COMMANDS.md +80 -8
  291. package/docs/CONFIGURATION.md +4 -1
  292. package/docs/EXTENSIONS.md +158 -814
  293. package/docs/QUICKSTART.md +11 -5
  294. package/docs/README.md +7 -6
  295. package/docs/RELEASING.md +2 -2
  296. package/docs/TESTING.md +2 -2
  297. package/marketplace.json +3 -3
  298. package/package.json +4 -2
  299. package/packages/pm-beads/package.json +1 -1
  300. package/packages/pm-calendar/README.md +1 -1
  301. package/packages/pm-calendar/extensions/calendar/index.js +1 -1
  302. package/packages/pm-calendar/extensions/calendar/index.ts +1 -1
  303. package/packages/pm-calendar/extensions/calendar/runtime.js +26 -7
  304. package/packages/pm-calendar/extensions/calendar/runtime.ts +26 -7
  305. package/packages/pm-calendar/package.json +1 -1
  306. package/packages/pm-governance-audit/package.json +1 -1
  307. package/packages/pm-guide-shell/extensions/guide-shell/index.js +1 -1
  308. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +1 -1
  309. package/packages/pm-guide-shell/package.json +1 -1
  310. package/packages/pm-linked-test-adapters/package.json +1 -1
  311. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +1 -1
  312. package/packages/pm-search-advanced/package.json +1 -1
  313. package/packages/pm-templates/README.md +1 -1
  314. package/packages/pm-templates/package.json +1 -1
  315. package/packages/pm-todos/package.json +1 -1
  316. package/plugins/{pm-cli-claude → pm-claude}/.claude-plugin/plugin.json +2 -2
  317. package/plugins/{pm-cli-claude → pm-claude}/.mcp.json +1 -1
  318. package/plugins/{pm-cli-claude → pm-claude}/README.md +4 -4
  319. package/plugins/{pm-cli-claude → pm-claude}/agents/pm-coordinator.md +1 -1
  320. package/plugins/{pm-cli-claude → pm-claude}/commands/pm-init.md +10 -1
  321. package/plugins/{pm-cli-claude → pm-claude}/commands/pm-planner.md +18 -0
  322. package/plugins/{pm-cli-claude → pm-claude}/skills/pm-planner/SKILL.md +46 -1
  323. package/plugins/{pm-cli-codex → pm-codex}/.codex-plugin/plugin.json +3 -3
  324. package/plugins/{pm-cli-codex → pm-codex}/.mcp.json +1 -1
  325. package/plugins/{pm-cli-codex → pm-codex}/README.md +7 -4
  326. package/plugins/pm-codex/skills/pm-native/SKILL.md +81 -0
  327. package/scripts/finalize-build.mjs +28 -0
  328. package/scripts/prepare-build-cache.mjs +37 -0
  329. package/plugins/pm-cli-codex/skills/pm-native/SKILL.md +0 -57
  330. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-delivery-chain.md +0 -0
  331. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-triage-agent.md +0 -0
  332. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-verification-agent.md +0 -0
  333. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-audit.md +0 -0
  334. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-calendar.md +0 -0
  335. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-close-task.md +0 -0
  336. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-developer.md +0 -0
  337. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-list.md +0 -0
  338. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-new.md +0 -0
  339. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-release.md +0 -0
  340. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-search.md +0 -0
  341. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-start-task.md +0 -0
  342. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-status.md +0 -0
  343. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-triage.md +0 -0
  344. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-workflow.md +0 -0
  345. /package/plugins/{pm-cli-claude → pm-claude}/hooks/hooks.json +0 -0
  346. /package/plugins/{pm-cli-claude → pm-claude}/hooks/session-start.mjs +0 -0
  347. /package/plugins/{pm-cli-claude → pm-claude}/scripts/pm-mcp-server.mjs +0 -0
  348. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-audit/SKILL.md +0 -0
  349. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-developer/SKILL.md +0 -0
  350. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-release/SKILL.md +0 -0
  351. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-workflow/SKILL.md +0 -0
  352. /package/plugins/{pm-cli-codex → pm-codex}/assets/pm-cli-small.svg +0 -0
  353. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-audit.md +0 -0
  354. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-close-task.md +0 -0
  355. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-start-task.md +0 -0
  356. /package/plugins/{pm-cli-codex → pm-codex}/scripts/pm-mcp-server.mjs +0 -0
  357. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/SKILL.md +0 -0
  358. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/agents/openai.yaml +0 -0
  359. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-native/agents/openai.yaml +0 -0
  360. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/SKILL.md +0 -0
  361. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/agents/openai.yaml +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"register-mutation.js","sourceRoot":"/","sources":["cli/register-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,\n UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,\n type CommanderOptionRegistrationContract,\n} from \"../sdk/cli-contracts.js\";\nimport {\n collect,\n extractUpdateManyMutationOptionSource,\n getGlobalOptions,\n invalidateSearchCachesForMutation,\n normalizeCreateOptions,\n normalizeUpdateOptions,\n printError,\n printResult,\n} from \"./registration-helpers.js\";\n\ntype MutationCommandsModule = typeof import(\"./commands/index.js\");\n\nlet mutationCommandsModulePromise: Promise<MutationCommandsModule> | null = null;\n\nasync function loadMutationCommandsModule(): Promise<MutationCommandsModule> {\n mutationCommandsModulePromise ??= import(\"./commands/index.js\");\n return mutationCommandsModulePromise;\n}\n\nfunction registerCommanderOptionContracts(command: Command, contracts: CommanderOptionRegistrationContract[]): void {\n for (const contract of contracts) {\n if (contract.required) {\n command.requiredOption(contract.option, contract.description);\n } else if (contract.repeatable) {\n command.option(contract.option, contract.description, collect);\n } else {\n command.option(contract.option, contract.description);\n }\n for (const aliasContract of contract.aliasOptions ?? []) {\n if (contract.repeatable) {\n command.option(aliasContract.option, aliasContract.description, collect);\n } else {\n command.option(aliasContract.option, aliasContract.description);\n }\n }\n }\n}\n\nexport function registerMutationCommands(program: Command): void {\n const createCommand = program\n .command(\"create\")\n .description(\"Create a new project management item.\");\n registerCommanderOptionContracts(createCommand, CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);\n createCommand\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const normalized = normalizeCreateOptions(options, { requireType: false });\n const { runCreate } = await loadMutationCommandsModule();\n const result = await runCreate(normalized, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=create took_ms=${Date.now() - startedAt}`);\n }\n });\n\n const updateCommand = program\n .command(\"update\")\n .argument(\"<id>\", \"Item id\")\n .description(\"Update item fields and metadata.\");\n registerCommanderOptionContracts(updateCommand, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);\n updateCommand\n .option(\"--replace-deps\", \"Atomically replace dependency entries with the provided --dep values\")\n .option(\"--replace-tests\", \"Atomically replace linked test entries with the provided --test values\")\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .option(\"--allow-audit-update\", \"Allow non-owner metadata-only audit updates without requiring --force\")\n .option(\"--allow_audit_update\", \"Alias for --allow-audit-update\")\n .option(\"--allow-audit-dep-update\", \"Allow non-owner append-only dependency updates without requiring --force\")\n .option(\"--allow_audit_dep_update\", \"Alias for --allow-audit-dep-update\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpdate } = await loadMutationCommandsModule();\n const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=update took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"update-many\")\n .description(\"Bulk-update matched items with dry-run plans and rollback checkpoints.\")\n .option(\"--filter-status <value>\", \"Filter by status before applying updates\")\n .option(\"--filter-type <value>\", \"Filter by item type before applying updates\")\n .option(\"--filter-tag <value>\", \"Filter by tag before applying updates\")\n .option(\"--filter-priority <value>\", \"Filter by priority before applying updates\")\n .option(\"--filter-deadline-before <value>\", \"Filter by deadline upper bound before applying updates\")\n .option(\"--filter-deadline-after <value>\", \"Filter by deadline lower bound before applying updates\")\n .option(\"--filter-assignee <value>\", \"Filter by assignee before applying updates\")\n .option(\"--filter-assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned before applying updates\")\n .option(\"--filter-assignee_filter <value>\", \"Alias for --filter-assignee-filter\")\n .option(\"--filter-parent <value>\", \"Filter by parent item ID before applying updates\")\n .option(\"--filter-sprint <value>\", \"Filter by sprint before applying updates\")\n .option(\"--filter-release <value>\", \"Filter by release before applying updates\")\n .option(\"--limit <n>\", \"Limit matched item count before apply/preview\")\n .option(\"--offset <n>\", \"Skip first n matched rows before apply/preview\")\n .option(\"--dry-run\", \"Preview per-item diffs and checkpoint intent without mutating\")\n .option(\"--rollback <value>\", \"Rollback a prior update-many checkpoint ID\")\n .option(\"--no-checkpoint\", \"Disable checkpoint creation during apply mode\")\n .option(\"--title, -t <value>\", \"Set title\")\n .option(\"--description, -d <value>\", \"Set description\")\n .option(\"--body, -b <value>\", \"Set body (allow empty string)\")\n .option(\"--status, -s <value>\", \"Set status (use close command for closed)\")\n .option(\"--priority, -p <value>\", \"Set priority\")\n .option(\"--type <value>\", \"Set type\")\n .option(\"--tags <value>\", \"Set comma-separated tags\")\n .option(\"--deadline <value>\", \"Set deadline (ISO/date string or relative)\")\n .option(\"--estimate, --estimated-minutes <value>\", \"Set estimated minutes\")\n .option(\"--estimated_minutes <value>\", \"Alias for --estimated-minutes\")\n .option(\"--acceptance-criteria <value>\", \"Set 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>\", \"Set definition of ready\")\n .option(\"--definition_of_ready <value>\", \"Alias for --definition-of-ready\")\n .option(\"--order <value>\", \"Set planning order/rank integer\")\n .option(\"--rank <value>\", \"Alias for --order\")\n .option(\"--goal <value>\", \"Set goal identifier\")\n .option(\"--objective <value>\", \"Set objective identifier\")\n .option(\"--value <value>\", \"Set business value summary\")\n .option(\"--impact <value>\", \"Set business impact summary\")\n .option(\"--outcome <value>\", \"Set expected outcome summary\")\n .option(\"--why-now <value>\", \"Set why-now rationale\")\n .option(\"--why_now <value>\", \"Alias for --why-now\")\n .option(\"--assignee <value>\", \"Set assignee\")\n .option(\"--parent <value>\", \"Set parent item ID\")\n .option(\"--reviewer <value>\", \"Set reviewer\")\n .option(\"--risk <value>\", \"Set risk level\")\n .option(\"--confidence <value>\", \"Set confidence level\")\n .option(\"--sprint <value>\", \"Set sprint identifier\")\n .option(\"--release <value>\", \"Set release identifier\")\n .option(\"--blocked-by <value>\", \"Set blocked-by item ID or reason\")\n .option(\"--blocked_by <value>\", \"Alias for --blocked-by\")\n .option(\"--blocked-reason <value>\", \"Set blocked reason\")\n .option(\"--blocked_reason <value>\", \"Alias for --blocked-reason\")\n .option(\"--unblock-note <value>\", \"Set unblock rationale note\")\n .option(\"--unblock_note <value>\", \"Alias for --unblock-note\")\n .option(\"--reporter <value>\", \"Set issue reporter\")\n .option(\"--severity <value>\", \"Set issue severity\")\n .option(\"--environment <value>\", \"Set issue environment context\")\n .option(\"--repro-steps <value>\", \"Set issue reproduction steps\")\n .option(\"--repro_steps <value>\", \"Alias for --repro-steps\")\n .option(\"--resolution <value>\", \"Set issue resolution summary\")\n .option(\"--expected-result <value>\", \"Set issue expected behavior\")\n .option(\"--expected_result <value>\", \"Alias for --expected-result\")\n .option(\"--actual-result <value>\", \"Set issue observed behavior\")\n .option(\"--actual_result <value>\", \"Alias for --actual-result\")\n .option(\"--affected-version <value>\", \"Set affected version identifier\")\n .option(\"--affected_version <value>\", \"Alias for --affected-version\")\n .option(\"--fixed-version <value>\", \"Set fixed version identifier\")\n .option(\"--fixed_version <value>\", \"Alias for --fixed-version\")\n .option(\"--component <value>\", \"Set issue component ownership\")\n .option(\"--regression <value>\", \"Set regression marker: true|false|1|0\")\n .option(\"--customer-impact <value>\", \"Set customer impact summary\")\n .option(\"--customer_impact <value>\", \"Alias for --customer-impact\")\n .option(\"--dep <value>\", \"Add dependency entry id=<id>,kind=<kind>,author=<author>,created_at=<timestamp>\", collect)\n .option(\"--dep-remove <value>\", \"Remove dependency entries by id/kind/author/timestamp signature\", collect)\n .option(\"--dep_remove <value>\", \"Alias for --dep-remove\", collect)\n .option(\"--replace-deps\", \"Atomically replace dependency entries with provided --dep values\")\n .option(\"--replace-tests\", \"Atomically replace linked tests with provided --test values\")\n .option(\"--comment <value>\", \"Add comment seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--note <value>\", \"Add note seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--learning <value>\", \"Add learning seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--file <value>\", \"Add linked file path=<value>,scope=<project|global>,note=<text>\", collect)\n .option(\"--test <value>\", \"Add linked test command=<value>,path=<value>,scope=<project|global>\", collect)\n .option(\"--doc <value>\", \"Add linked doc path=<value>,scope=<project|global>,note=<text>\", collect)\n .option(\"--reminder <value>\", \"Add reminder entry at=<iso|relative>,text=<text>\", collect)\n .option(\"--event <value>\", \"Add event entry start=<iso|relative>,end=<iso|relative>,recur_*\", collect)\n .option(\"--type-option <value>\", \"Set type options key=value (repeatable)\", collect)\n .option(\"--type_option <value>\", \"Alias for --type-option\", collect)\n .option(\"--unset <field>\", \"Clear scalar metadata field by name (repeatable)\", collect)\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .option(\"--allow-audit-update\", \"Allow non-owner metadata-only audit updates without requiring --force\")\n .option(\"--allow_audit_update\", \"Alias for --allow-audit-update\")\n .option(\"--allow-audit-dep-update\", \"Allow non-owner append-only dependency updates without requiring --force\")\n .option(\"--allow_audit_dep_update\", \"Alias for --allow-audit-dep-update\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Mutation message\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpdateMany } = await loadMutationCommandsModule();\n const result = await runUpdateMany(\n {\n status: typeof options.filterStatus === \"string\" ? options.filterStatus : undefined,\n list: {\n type: typeof options.filterType === \"string\" ? options.filterType : undefined,\n tag: typeof options.filterTag === \"string\" ? options.filterTag : undefined,\n priority: typeof options.filterPriority === \"string\" ? options.filterPriority : undefined,\n deadlineBefore: typeof options.filterDeadlineBefore === \"string\" ? options.filterDeadlineBefore : undefined,\n deadlineAfter: typeof options.filterDeadlineAfter === \"string\" ? options.filterDeadlineAfter : undefined,\n assignee: typeof options.filterAssignee === \"string\" ? options.filterAssignee : undefined,\n assigneeFilter:\n typeof options.filterAssigneeFilter === \"string\"\n ? options.filterAssigneeFilter\n : typeof options.filterAssignee_filter === \"string\"\n ? options.filterAssignee_filter\n : undefined,\n parent: typeof options.filterParent === \"string\" ? options.filterParent : undefined,\n sprint: typeof options.filterSprint === \"string\" ? options.filterSprint : undefined,\n release: typeof options.filterRelease === \"string\" ? options.filterRelease : undefined,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n offset: typeof options.offset === \"string\" ? options.offset : undefined,\n includeBody: true,\n },\n update: normalizeUpdateOptions(extractUpdateManyMutationOptionSource(options)),\n dryRun: options.dryRun === true ? true : undefined,\n rollback: typeof options.rollback === \"string\" ? options.rollback : undefined,\n checkpoint: options.checkpoint === false ? false : undefined,\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=update-many took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"close\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"<text>\", \"Close reason text\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--validate-close [mode]\", 'Validate closure metadata before close: \"off\", \"warn\", or \"strict\" (default: settings governance preset)')\n .option(\"--force\", \"Force ownership override\")\n .description(\"Close an item with a required reason.\")\n .action(async (id: string, text: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runClose } = await loadMutationCommandsModule();\n const result = await runClose(\n id,\n text,\n {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n validateClose:\n options.validateClose === true\n ? \"warn\"\n : typeof options.validateClose === \"string\"\n ? options.validateClose\n : undefined,\n force: Boolean(options.force),\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=close took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"delete\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Delete an item and record the change in history.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runDelete } = await loadMutationCommandsModule();\n const result = await runDelete(id, {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=delete took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"append\")\n .argument(\"<id>\", \"Item id\")\n .requiredOption(\"--body <value>\", \"Text to append to body (or - for stdin)\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Mutation message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Append text to an item's body.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runAppend } = await loadMutationCommandsModule();\n const result = await runAppend(id, {\n body: typeof options.body === \"string\" ? options.body : \"\",\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=append took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"restore\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"<target>\", \"Restore target timestamp or version number\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership/lock override\")\n .description(\"Restore an item to an earlier timestamp or version.\")\n .action(async (id: string, target: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runRestore } = await loadMutationCommandsModule();\n const result = await runRestore(id, target, {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=restore took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"comments\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional comment text shorthand (equivalent to --add)\")\n .option(\"--add <text>\", \"Add one comment entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--stdin\", \"Read comment text from stdin (supports multiline markdown)\")\n .option(\"--file <path>\", \"Read comment text from file (supports multiline markdown)\")\n .option(\"--limit <n>\", \"Return only latest n comments\")\n .option(\"--author [value]\", \"Comment author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-comment\", \"Allow non-owner append-only comment audits without requiring --force\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add comments for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n const readFromStdin = options.stdin === true;\n const readFromFile = typeof options.file === \"string\" ? options.file : undefined;\n const sourceCount =\n Number(addFromOption !== undefined) +\n Number(addFromPositional !== undefined) +\n Number(readFromStdin) +\n Number(readFromFile !== undefined);\n if (sourceCount > 1) {\n if (addFromOption !== undefined && addFromPositional !== undefined && !readFromStdin && readFromFile === undefined) {\n throw new PmCliError(\"Specify comment text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n throw new PmCliError(\n \"Specify comment text with exactly one source: positional [text], --add, --stdin, or --file\",\n EXIT_CODE.USAGE,\n );\n }\n const add = addFromOption ?? addFromPositional;\n const { runComments } = await loadMutationCommandsModule();\n const result = await runComments(id, {\n add,\n stdin: readFromStdin,\n file: readFromFile,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\" || readFromStdin || readFromFile !== undefined) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=comments took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"notes\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional note text shorthand (equivalent to --add; use - for stdin)\")\n .option(\"--add <text>\", \"Add one note entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--limit <n>\", \"Return only latest n notes\")\n .option(\"--author [value]\", \"Note author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-note\", \"Allow non-owner append-only note audits without requiring --force\")\n .option(\"--allow-audit-comment\", \"Backward-compatible alias for --allow-audit-note\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add notes for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n if (addFromOption !== undefined && addFromPositional !== undefined) {\n throw new PmCliError(\"Specify note text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n const add = addFromOption ?? addFromPositional;\n const { runNotes } = await loadMutationCommandsModule();\n const result = await runNotes(id, {\n add,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditNote || options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\") {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=notes took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"learnings\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional learning text shorthand (equivalent to --add; use - for stdin)\")\n .option(\"--add <text>\", \"Add one learning entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--limit <n>\", \"Return only latest n learnings\")\n .option(\"--author [value]\", \"Learning author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-learning\", \"Allow non-owner append-only learning audits without requiring --force\")\n .option(\"--allow-audit-comment\", \"Backward-compatible alias for --allow-audit-learning\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add learnings for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n if (addFromOption !== undefined && addFromPositional !== undefined) {\n throw new PmCliError(\"Specify learning text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n const add = addFromOption ?? addFromPositional;\n const { runLearnings } = await loadMutationCommandsModule();\n const result = await runLearnings(id, {\n add,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditLearning || options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\") {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=learnings took_ms=${Date.now() - startedAt}`);\n }\n });\n\n const filesCommand = program\n .command(\"files\")\n .description(\"Manage files linked to an item.\");\n\n filesCommand\n .argument(\"<id>\", \"Item id\")\n .option(\"--add <value>\", \"Add linked file entry (CSV/markdown pairs or - for stdin)\", collect)\n .option(\"--add-glob <value>\", \"Add linked file entries from a glob (plain glob or pattern=<glob>,scope=<scope>,note=<text>; repeatable)\", collect)\n .option(\"--remove <value>\", \"Remove linked file by path (path=<value>, path:<value>, plain path, or - for stdin)\", collect)\n .option(\"--migrate <value>\", \"Migrate linked file paths in-place (from=<prefix>,to=<prefix>; repeatable)\", collect)\n .option(\"--list\", \"List linked files without mutating\")\n .option(\"--append-stable\", \"Preserve existing linked-file order and append new links without full-array resorting\")\n .option(\"--validate-paths\", \"Validate linked file paths for existence and file shape\")\n .option(\"--audit\", \"Audit linked file usage across all items for this item's linked paths\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addValues = Array.isArray(options.add) ? (options.add as string[]) : [];\n const addGlobValues = Array.isArray(options.addGlob) ? (options.addGlob as string[]) : [];\n const removeValues = Array.isArray(options.remove) ? (options.remove as string[]) : [];\n const migrateValues = Array.isArray(options.migrate) ? (options.migrate as string[]) : [];\n const { runFiles } = await loadMutationCommandsModule();\n const result = await runFiles(id, {\n add: addValues,\n addGlob: addGlobValues,\n remove: removeValues,\n migrate: migrateValues,\n list: Boolean(options.list),\n appendStable: Boolean(options.appendStable),\n validatePaths: Boolean(options.validatePaths),\n audit: Boolean(options.audit),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (addValues.length > 0 || addGlobValues.length > 0 || removeValues.length > 0 || migrateValues.length > 0) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=files took_ms=${Date.now() - startedAt}`);\n }\n });\n\n filesCommand\n .command(\"discover\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--apply\", \"Add discovered missing files to the item\")\n .option(\"--note <value>\", \"Note to attach to discovered file links\")\n .option(\"--append-stable\", \"Preserve existing linked-file order and append discovered links without full-array resorting\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Discover existing file paths referenced in item text and optionally link missing files.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runFilesDiscover } = await loadMutationCommandsModule();\n const result = await runFilesDiscover(id, {\n apply: Boolean(options.apply),\n note: typeof options.note === \"string\" ? options.note : undefined,\n appendStable: Boolean(options.appendStable),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (result.changed) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=files.discover took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"docs\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--add <value>\", \"Add linked doc entry (CSV/markdown pairs or - for stdin)\", collect)\n .option(\"--add-glob <value>\", \"Add linked doc entries from a glob (plain glob or pattern=<glob>,scope=<scope>,note=<text>; repeatable)\", collect)\n .option(\"--remove <value>\", \"Remove linked doc by path (path=<value>, path:<value>, plain path, or - for stdin)\", collect)\n .option(\"--migrate <value>\", \"Migrate linked doc paths in-place (from=<prefix>,to=<prefix>; repeatable)\", collect)\n .option(\"--validate-paths\", \"Validate linked doc paths for existence and file shape\")\n .option(\"--audit\", \"Audit linked doc usage across all items for this item's linked paths\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Manage docs linked to an item.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addValues = Array.isArray(options.add) ? (options.add as string[]) : [];\n const addGlobValues = Array.isArray(options.addGlob) ? (options.addGlob as string[]) : [];\n const removeValues = Array.isArray(options.remove) ? (options.remove as string[]) : [];\n const migrateValues = Array.isArray(options.migrate) ? (options.migrate as string[]) : [];\n const { runDocs } = await loadMutationCommandsModule();\n const result = await runDocs(id, {\n add: addValues,\n addGlob: addGlobValues,\n remove: removeValues,\n migrate: migrateValues,\n validatePaths: Boolean(options.validatePaths),\n audit: Boolean(options.audit),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (addValues.length > 0 || addGlobValues.length > 0 || removeValues.length > 0 || migrateValues.length > 0) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=docs took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"deps\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--format <value>\", \"Output format (tree or graph)\", \"tree\")\n .option(\"--max-depth <value>\", \"Maximum dependency traversal depth (0 keeps only the root)\")\n .option(\"--collapse <value>\", \"Collapse mode (none or repeated)\", \"none\")\n .option(\"--summary\", \"Return counts only without full tree/graph payload\")\n .description(\"Show dependency relationships for an item.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runDeps } = await loadMutationCommandsModule();\n const result = await runDeps(id, {\n format: typeof options.format === \"string\" ? options.format : undefined,\n maxDepth: typeof options.maxDepth === \"string\" ? options.maxDepth : undefined,\n collapse: typeof options.collapse === \"string\" ? options.collapse : undefined,\n summary: options.summary === true,\n }, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=deps took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"]}
1
+ {"version":3,"file":"register-mutation.js","sources":["cli/register-mutation.ts"],"sourceRoot":"/","sourcesContent":["import type { Command } from \"commander\";\nimport { EXIT_CODE } from \"../core/shared/constants.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,\n UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS,\n type CommanderOptionRegistrationContract,\n} from \"../sdk/cli-contracts.js\";\nimport {\n collect,\n extractUpdateManyMutationOptionSource,\n getGlobalOptions,\n invalidateSearchCachesForMutation,\n normalizeCreateOptions,\n normalizeUpdateOptions,\n printError,\n printResult,\n} from \"./registration-helpers.js\";\n\ntype MutationCommandsModule = typeof import(\"./commands/index.js\");\n\nlet mutationCommandsModulePromise: Promise<MutationCommandsModule> | null = null;\n\nasync function loadMutationCommandsModule(): Promise<MutationCommandsModule> {\n mutationCommandsModulePromise ??= import(\"./commands/index.js\");\n return mutationCommandsModulePromise;\n}\n\nfunction registerCommanderOptionContracts(command: Command, contracts: CommanderOptionRegistrationContract[]): void {\n for (const contract of contracts) {\n if (contract.required) {\n command.requiredOption(contract.option, contract.description);\n } else if (contract.repeatable) {\n command.option(contract.option, contract.description, collect);\n } else {\n command.option(contract.option, contract.description);\n }\n for (const aliasContract of contract.aliasOptions ?? []) {\n if (contract.repeatable) {\n command.option(aliasContract.option, aliasContract.description, collect);\n } else {\n command.option(aliasContract.option, aliasContract.description);\n }\n }\n }\n}\n\nexport function registerMutationCommands(program: Command): void {\n const createCommand = program\n .command(\"create\")\n .argument(\"[title]\", \"Item title (positional shortcut for --title)\")\n .description(\"Create a new project management item.\");\n registerCommanderOptionContracts(createCommand, CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);\n createCommand\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .action(async (positionalTitle: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n if (typeof positionalTitle === \"string\" && positionalTitle.length > 0 && options.title === undefined) {\n options.title = positionalTitle;\n }\n const normalized = normalizeCreateOptions(options, { requireType: false });\n const { runCreate } = await loadMutationCommandsModule();\n const result = await runCreate(normalized, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=create took_ms=${Date.now() - startedAt}`);\n }\n });\n\n const updateCommand = program\n .command(\"update\")\n .argument(\"<id>\", \"Item id\")\n .description(\"Update item fields and metadata.\");\n registerCommanderOptionContracts(updateCommand, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS);\n updateCommand\n .option(\"--replace-deps\", \"Atomically replace dependency entries with the provided --dep values\")\n .option(\"--replace-tests\", \"Atomically replace linked test entries with the provided --test values\")\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .option(\"--allow-audit-update\", \"Allow non-owner metadata-only audit updates without requiring --force\")\n .option(\"--allow_audit_update\", \"Alias for --allow-audit-update\")\n .option(\"--allow-audit-dep-update\", \"Allow non-owner append-only dependency updates without requiring --force\")\n .option(\"--allow_audit_dep_update\", \"Alias for --allow-audit-dep-update\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpdate } = await loadMutationCommandsModule();\n const result = await runUpdate(id, normalizeUpdateOptions(options), globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=update took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"update-many\")\n .description(\"Bulk-update matched items with dry-run plans and rollback checkpoints.\")\n .option(\"--filter-status <value>\", \"Filter by status before applying updates\")\n .option(\"--filter-type <value>\", \"Filter by item type before applying updates\")\n .option(\"--filter-tag <value>\", \"Filter by tag before applying updates\")\n .option(\"--filter-priority <value>\", \"Filter by priority before applying updates\")\n .option(\"--filter-deadline-before <value>\", \"Filter by deadline upper bound before applying updates\")\n .option(\"--filter-deadline-after <value>\", \"Filter by deadline lower bound before applying updates\")\n .option(\"--filter-assignee <value>\", \"Filter by assignee before applying updates\")\n .option(\"--filter-assignee-filter <value>\", \"Filter assignee presence: assigned|unassigned before applying updates\")\n .option(\"--filter-assignee_filter <value>\", \"Alias for --filter-assignee-filter\")\n .option(\"--filter-parent <value>\", \"Filter by parent item ID before applying updates\")\n .option(\"--filter-sprint <value>\", \"Filter by sprint before applying updates\")\n .option(\"--filter-release <value>\", \"Filter by release before applying updates\")\n .option(\"--limit <n>\", \"Limit matched item count before apply/preview\")\n .option(\"--offset <n>\", \"Skip first n matched rows before apply/preview\")\n .option(\"--dry-run\", \"Preview per-item diffs and checkpoint intent without mutating\")\n .option(\"--rollback <value>\", \"Rollback a prior update-many checkpoint ID\")\n .option(\"--no-checkpoint\", \"Disable checkpoint creation during apply mode\")\n .option(\"--title, -t <value>\", \"Set title\")\n .option(\"--description, -d <value>\", \"Set description\")\n .option(\"--body, -b <value>\", \"Set body (allow empty string)\")\n .option(\"--status, -s <value>\", \"Set status (use close command for closed)\")\n .option(\"--priority, -p <value>\", \"Set priority\")\n .option(\"--type <value>\", \"Set type\")\n .option(\"--tags <value>\", \"Set comma-separated tags\")\n .option(\"--deadline <value>\", \"Set deadline (ISO/date string or relative)\")\n .option(\"--estimate, --estimated-minutes <value>\", \"Set estimated minutes\")\n .option(\"--estimated_minutes <value>\", \"Alias for --estimated-minutes\")\n .option(\"--acceptance-criteria <value>\", \"Set 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>\", \"Set definition of ready\")\n .option(\"--definition_of_ready <value>\", \"Alias for --definition-of-ready\")\n .option(\"--order <value>\", \"Set planning order/rank integer\")\n .option(\"--rank <value>\", \"Alias for --order\")\n .option(\"--goal <value>\", \"Set goal identifier\")\n .option(\"--objective <value>\", \"Set objective identifier\")\n .option(\"--value <value>\", \"Set business value summary\")\n .option(\"--impact <value>\", \"Set business impact summary\")\n .option(\"--outcome <value>\", \"Set expected outcome summary\")\n .option(\"--why-now <value>\", \"Set why-now rationale\")\n .option(\"--why_now <value>\", \"Alias for --why-now\")\n .option(\"--assignee <value>\", \"Set assignee\")\n .option(\"--parent <value>\", \"Set parent item ID\")\n .option(\"--reviewer <value>\", \"Set reviewer\")\n .option(\"--risk <value>\", \"Set risk level\")\n .option(\"--confidence <value>\", \"Set confidence level\")\n .option(\"--sprint <value>\", \"Set sprint identifier\")\n .option(\"--release <value>\", \"Set release identifier\")\n .option(\"--blocked-by <value>\", \"Set blocked-by item ID or reason\")\n .option(\"--blocked_by <value>\", \"Alias for --blocked-by\")\n .option(\"--blocked-reason <value>\", \"Set blocked reason\")\n .option(\"--blocked_reason <value>\", \"Alias for --blocked-reason\")\n .option(\"--unblock-note <value>\", \"Set unblock rationale note\")\n .option(\"--unblock_note <value>\", \"Alias for --unblock-note\")\n .option(\"--reporter <value>\", \"Set issue reporter\")\n .option(\"--severity <value>\", \"Set issue severity\")\n .option(\"--environment <value>\", \"Set issue environment context\")\n .option(\"--repro-steps <value>\", \"Set issue reproduction steps\")\n .option(\"--repro_steps <value>\", \"Alias for --repro-steps\")\n .option(\"--resolution <value>\", \"Set issue resolution summary\")\n .option(\"--expected-result <value>\", \"Set issue expected behavior\")\n .option(\"--expected_result <value>\", \"Alias for --expected-result\")\n .option(\"--actual-result <value>\", \"Set issue observed behavior\")\n .option(\"--actual_result <value>\", \"Alias for --actual-result\")\n .option(\"--affected-version <value>\", \"Set affected version identifier\")\n .option(\"--affected_version <value>\", \"Alias for --affected-version\")\n .option(\"--fixed-version <value>\", \"Set fixed version identifier\")\n .option(\"--fixed_version <value>\", \"Alias for --fixed-version\")\n .option(\"--component <value>\", \"Set issue component ownership\")\n .option(\"--regression <value>\", \"Set regression marker: true|false|1|0\")\n .option(\"--customer-impact <value>\", \"Set customer impact summary\")\n .option(\"--customer_impact <value>\", \"Alias for --customer-impact\")\n .option(\"--dep <value>\", \"Add dependency entry id=<id>,kind=<kind>,author=<author>,created_at=<timestamp>\", collect)\n .option(\"--dep-remove <value>\", \"Remove dependency entries by id/kind/author/timestamp signature\", collect)\n .option(\"--dep_remove <value>\", \"Alias for --dep-remove\", collect)\n .option(\"--replace-deps\", \"Atomically replace dependency entries with provided --dep values\")\n .option(\"--replace-tests\", \"Atomically replace linked tests with provided --test values\")\n .option(\"--comment <value>\", \"Add comment seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--note <value>\", \"Add note seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--learning <value>\", \"Add learning seed author=<value>,created_at=<iso|now>,text=<value>\", collect)\n .option(\"--file <value>\", \"Add linked file path=<value>,scope=<project|global>,note=<text>\", collect)\n .option(\"--test <value>\", \"Add linked test command=<value>,path=<value>,scope=<project|global>\", collect)\n .option(\"--doc <value>\", \"Add linked doc path=<value>,scope=<project|global>,note=<text>\", collect)\n .option(\"--reminder <value>\", \"Add reminder entry at=<iso|relative>,text=<text>\", collect)\n .option(\"--event <value>\", \"Add event entry start=<iso|relative>,end=<iso|relative>,recur_*\", collect)\n .option(\"--type-option <value>\", \"Set type options key=value (repeatable)\", collect)\n .option(\"--type_option <value>\", \"Alias for --type-option\", collect)\n .option(\"--unset <field>\", \"Clear scalar metadata field by name (repeatable)\", collect)\n .option(\"--clear-deps\", \"Clear dependency entries\")\n .option(\"--clear-comments\", \"Clear comments\")\n .option(\"--clear-notes\", \"Clear notes\")\n .option(\"--clear-learnings\", \"Clear learnings\")\n .option(\"--clear-files\", \"Clear linked files\")\n .option(\"--clear-tests\", \"Clear linked tests\")\n .option(\"--clear-docs\", \"Clear linked docs\")\n .option(\"--clear-reminders\", \"Clear reminders\")\n .option(\"--clear-events\", \"Clear events\")\n .option(\"--clear-type-options\", \"Clear type options\")\n .option(\"--allow-audit-update\", \"Allow non-owner metadata-only audit updates without requiring --force\")\n .option(\"--allow_audit_update\", \"Alias for --allow-audit-update\")\n .option(\"--allow-audit-dep-update\", \"Allow non-owner append-only dependency updates without requiring --force\")\n .option(\"--allow_audit_dep_update\", \"Alias for --allow-audit-dep-update\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Mutation message\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runUpdateMany } = await loadMutationCommandsModule();\n const result = await runUpdateMany(\n {\n status: typeof options.filterStatus === \"string\" ? options.filterStatus : undefined,\n list: {\n type: typeof options.filterType === \"string\" ? options.filterType : undefined,\n tag: typeof options.filterTag === \"string\" ? options.filterTag : undefined,\n priority: typeof options.filterPriority === \"string\" ? options.filterPriority : undefined,\n deadlineBefore: typeof options.filterDeadlineBefore === \"string\" ? options.filterDeadlineBefore : undefined,\n deadlineAfter: typeof options.filterDeadlineAfter === \"string\" ? options.filterDeadlineAfter : undefined,\n assignee: typeof options.filterAssignee === \"string\" ? options.filterAssignee : undefined,\n assigneeFilter:\n typeof options.filterAssigneeFilter === \"string\"\n ? options.filterAssigneeFilter\n : typeof options.filterAssignee_filter === \"string\"\n ? options.filterAssignee_filter\n : undefined,\n parent: typeof options.filterParent === \"string\" ? options.filterParent : undefined,\n sprint: typeof options.filterSprint === \"string\" ? options.filterSprint : undefined,\n release: typeof options.filterRelease === \"string\" ? options.filterRelease : undefined,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n offset: typeof options.offset === \"string\" ? options.offset : undefined,\n includeBody: true,\n },\n update: normalizeUpdateOptions(extractUpdateManyMutationOptionSource(options)),\n dryRun: options.dryRun === true ? true : undefined,\n rollback: typeof options.rollback === \"string\" ? options.rollback : undefined,\n checkpoint: options.checkpoint === false ? false : undefined,\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=update-many took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"close\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Close reason text (alias: --reason)\")\n .option(\"--reason <value>\", \"Close reason text (alias for positional <text>)\")\n .option(\"--close-reason <value>\", \"Close reason text (alias for positional <text>)\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--validate-close [mode]\", 'Validate closure metadata before close: \"off\", \"warn\", or \"strict\" (default: settings governance preset)')\n .option(\"--force\", \"Force ownership override\")\n .description(\"Close an item with a required reason.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runClose } = await loadMutationCommandsModule();\n const reasonFromOption =\n (typeof options.reason === \"string\" && options.reason.trim().length > 0 && options.reason) ||\n (typeof options.closeReason === \"string\" && options.closeReason.trim().length > 0 && options.closeReason) ||\n undefined;\n const resolvedText = typeof text === \"string\" && text.length > 0 ? text : reasonFromOption;\n if (typeof resolvedText !== \"string\" || resolvedText.length === 0) {\n throw new PmCliError(\n \"pm close requires a close reason as the second positional argument or via --reason.\",\n EXIT_CODE.USAGE,\n {\n code: \"missing_required_argument\",\n why: \"Close mutations are auditable; a reason is mandatory for the history record.\",\n examples: [\n `pm close ${id} \"All acceptance criteria met\"`,\n `pm close ${id} --reason \"Verified by integration test\"`,\n ],\n nextSteps: [\n \"Re-run with the close reason as the second positional argument, or pass --reason \\\"<text>\\\".\",\n ],\n },\n );\n }\n const result = await runClose(\n id,\n resolvedText,\n {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n validateClose:\n options.validateClose === true\n ? \"warn\"\n : typeof options.validateClose === \"string\"\n ? options.validateClose\n : undefined,\n force: Boolean(options.force),\n },\n globalOptions,\n );\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=close took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"delete\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Delete an item and record the change in history.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runDelete } = await loadMutationCommandsModule();\n const result = await runDelete(id, {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=delete took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"append\")\n .argument(\"<id>\", \"Item id\")\n .requiredOption(\"--body <value>\", \"Text to append to body (or - for stdin)\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Mutation message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Append text to an item's body.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runAppend } = await loadMutationCommandsModule();\n const result = await runAppend(id, {\n body: typeof options.body === \"string\" ? options.body : \"\",\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=append took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"restore\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"<target>\", \"Restore target timestamp or version number\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership/lock override\")\n .description(\"Restore an item to an earlier timestamp or version.\")\n .action(async (id: string, target: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runRestore } = await loadMutationCommandsModule();\n const result = await runRestore(id, target, {\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=restore took_ms=${Date.now() - startedAt}`);\n }\n });\n\n const planCommand = program\n .command(\"plan\")\n .description(\"Agent-optimized Plan item workflow: create, manage steps, link dependencies, approve, and materialize.\")\n .argument(\"[subcommand]\", \"Plan subcommand: create|show|add-step|update-step|complete-step|block-step|reorder-step|remove-step|link|unlink|decision|discovery|validation|resume|approve|materialize\")\n .argument(\"[id]\", \"Plan id (required for non-create subcommands); for create this may be the positional title\")\n .argument(\"[stepRef]\", \"Step reference: stable id (plan-step-001) or order integer\")\n .argument(\"[reorderTo]\", \"New order integer for reorder-step\")\n .option(\"--title <value>\", \"Plan title\")\n .option(\"--description <value>\", \"Plan description\")\n .option(\"--scope <value>\", \"Short scope statement of the target change or investigation\")\n .option(\"--parent <value>\", \"Parent pm item id\")\n .option(\"--related <value>\", \"Related pm item ids (repeatable, csv-friendly)\", collect)\n .option(\"--blocks <value>\", \"Pm item ids this plan blocks (repeatable, csv-friendly)\", collect)\n .option(\"--blocked-by <value>\", \"Pm item ids that block this plan (repeatable, csv-friendly)\", collect)\n .option(\"--blocked_by <value>\", \"Alias for --blocked-by\", collect)\n .option(\"--harness <value>\", \"Plan harness provenance: codex|claude-code|cursor|generic\")\n .option(\"--mode <value>\", \"Plan mode: draft|research|review|approved|executing|paused|completed|superseded\")\n .option(\"--resume-context <value>\", \"Compact context summary for a future stateless agent\")\n .option(\"--resume_context <value>\", \"Alias for --resume-context\")\n .option(\"--tags <value>\", \"Comma-separated tags\")\n .option(\"--priority <value>\", \"Priority 0-4\")\n .option(\"--body <value>\", \"Plan item body\")\n .option(\"--claim\", \"Claim the plan on create for the author\")\n .option(\"--from-search <value>\", \"Record the search query that led to plan creation\")\n .option(\"--from_search <value>\", \"Alias for --from-search\")\n .option(\"--step-title <value>\", \"Step title for add-step / update-step\")\n .option(\"--step_title <value>\", \"Alias for --step-title\")\n .option(\"--step-body <value>\", \"Step body text\")\n .option(\"--step_body <value>\", \"Alias for --step-body\")\n .option(\"--step-owner <value>\", \"Step owner\")\n .option(\"--step_owner <value>\", \"Alias for --step-owner\")\n .option(\"--step-status <value>\", \"Step status: pending|in_progress|completed|blocked|skipped|superseded\")\n .option(\"--step_status <value>\", \"Alias for --step-status\")\n .option(\"--step-evidence <value>\", \"Step evidence text (used by update-step/complete-step)\")\n .option(\"--step_evidence <value>\", \"Alias for --step-evidence\")\n .option(\"--step-blocked-reason <value>\", \"Step blocked reason (required when blocking)\")\n .option(\"--step_blocked_reason <value>\", \"Alias for --step-blocked-reason\")\n .option(\"--step-replacement <value>\", \"Replacement reference for a superseded step\")\n .option(\"--step_replacement <value>\", \"Alias for --step-replacement\")\n .option(\"--depends-on <value>\", \"Pm item ids the step depends on (repeatable, csv-friendly)\", collect)\n .option(\"--depends_on <value>\", \"Alias for --depends-on\", collect)\n .option(\"--link <value>\", \"Pm item id to link (repeatable, csv-friendly)\", collect)\n .option(\"--link-kind <value>\", \"Link kind: related|blocks|blocked_by|depends_on|discovered_from|implements|verifies|supersedes\")\n .option(\"--link_kind <value>\", \"Alias for --link-kind\")\n .option(\"--link-note <value>\", \"Optional note for the link\")\n .option(\"--link_note <value>\", \"Alias for --link-note\")\n .option(\"--promote-to-item-dep\", \"Also add the linked id as a top-level item dependency when linking\")\n .option(\"--promote_to_item_dep\", \"Alias for --promote-to-item-dep\")\n .option(\"--allow-multiple-active\", \"Allow multiple steps to be in_progress at once\")\n .option(\"--allow_multiple_active\", \"Alias for --allow-multiple-active\")\n .option(\"--file <value>\", \"Step linked file path=<value>[,scope=project|global,note=<text>] (repeatable)\", collect)\n .option(\"--test <value>\", \"Step linked test command=<value>[,path=<value>,note=<text>] (repeatable)\", collect)\n .option(\"--doc <value>\", \"Step linked doc path=<value>[,scope=project|global,note=<text>] (repeatable)\", collect)\n .option(\"--decision-text <value>\", \"Decision log entry text\")\n .option(\"--decision_text <value>\", \"Alias for --decision-text\")\n .option(\"--decision-rationale <value>\", \"Decision log entry rationale\")\n .option(\"--decision_rationale <value>\", \"Alias for --decision-rationale\")\n .option(\"--decision-evidence <value>\", \"Decision log entry evidence\")\n .option(\"--decision_evidence <value>\", \"Alias for --decision-evidence\")\n .option(\"--discovery-text <value>\", \"Discovery log entry text\")\n .option(\"--discovery_text <value>\", \"Alias for --discovery-text\")\n .option(\"--validation-text <value>\", \"Validation log entry text\")\n .option(\"--validation_text <value>\", \"Alias for --validation-text\")\n .option(\"--validation-command <value>\", \"Validation log entry command\")\n .option(\"--validation_command <value>\", \"Alias for --validation-command\")\n .option(\"--validation-expected <value>\", \"Validation log entry expected outcome\")\n .option(\"--validation_expected <value>\", \"Alias for --validation-expected\")\n .option(\"--depth <value>\", \"Show depth: brief|standard|deep (default: brief)\")\n .option(\"--fields <value>\", \"Comma-separated field projection for show output\")\n .option(\"--steps <value>\", \"Comma-separated step ids/orders for materialize\")\n .option(\"--materialize-type <value>\", \"Item type for materialized steps (default: Task)\")\n .option(\"--materialize_type <value>\", \"Alias for --materialize-type\")\n .option(\"--materialize-parent <value>\", \"Parent item id for materialized children (default: the plan)\")\n .option(\"--materialize_parent <value>\", \"Alias for --materialize-parent\")\n .option(\"--materialize-tags <value>\", \"Comma-separated tags for materialized children\")\n .option(\"--materialize_tags <value>\", \"Alias for --materialize-tags\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Mutation message\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (subcommand: string | undefined, id: string | undefined, stepRef: string | undefined, reorderToken: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runPlan, PLAN_SUBCOMMANDS } = await loadMutationCommandsModule();\n const normalizedSubcommand = (subcommand ?? \"\").trim().toLowerCase();\n if (!normalizedSubcommand) {\n throw new PmCliError(\n `pm plan requires a subcommand. Allowed: ${PLAN_SUBCOMMANDS.join(\", \")}`,\n EXIT_CODE.USAGE,\n {\n code: \"missing_required_argument\",\n examples: [\n 'pm plan create --title \"Refactor lock retry\"',\n \"pm plan show pm-a1b2 --depth standard\",\n 'pm plan add-step pm-a1b2 --step-title \"Read lock.ts\"',\n ],\n },\n );\n }\n if (!PLAN_SUBCOMMANDS.includes(normalizedSubcommand as typeof PLAN_SUBCOMMANDS[number])) {\n const didYouMean =\n normalizedSubcommand === \"list\" || normalizedSubcommand === \"ls\"\n ? ['pm list --type Plan', 'pm list-all --type Plan']\n : undefined;\n throw new PmCliError(\n `Unknown pm plan subcommand \"${subcommand}\". Allowed: ${PLAN_SUBCOMMANDS.join(\", \")}`,\n EXIT_CODE.USAGE,\n didYouMean ? { code: \"unknown_subcommand\", examples: didYouMean } : undefined,\n );\n }\n const planOptions: Record<string, unknown> = { ...options };\n // Normalize alternate-snake/camel aliases that Commander parses as different keys.\n const aliasPairs: Array<[string, string]> = [\n [\"blocked_by\", \"blockedBy\"],\n [\"resume_context\", \"resumeContext\"],\n [\"from_search\", \"fromSearch\"],\n [\"step_title\", \"stepTitle\"],\n [\"step_body\", \"stepBody\"],\n [\"step_owner\", \"stepOwner\"],\n [\"step_status\", \"stepStatus\"],\n [\"step_evidence\", \"stepEvidence\"],\n [\"step_blocked_reason\", \"stepBlockedReason\"],\n [\"step_replacement\", \"stepReplacement\"],\n [\"depends_on\", \"dependsOn\"],\n [\"link_kind\", \"linkKind\"],\n [\"link_note\", \"linkNote\"],\n [\"promote_to_item_dep\", \"promoteToItemDep\"],\n [\"allow_multiple_active\", \"allowMultipleActive\"],\n [\"decision_text\", \"decisionText\"],\n [\"decision_rationale\", \"decisionRationale\"],\n [\"decision_evidence\", \"decisionEvidence\"],\n [\"discovery_text\", \"discoveryText\"],\n [\"validation_text\", \"validationText\"],\n [\"validation_command\", \"validationCommand\"],\n [\"validation_expected\", \"validationExpected\"],\n [\"materialize_type\", \"materializeType\"],\n [\"materialize_parent\", \"materializeParent\"],\n [\"materialize_tags\", \"materializeTags\"],\n ];\n for (const [snake, camel] of aliasPairs) {\n if (planOptions[snake] !== undefined && planOptions[camel] === undefined) {\n planOptions[camel] = planOptions[snake];\n }\n }\n let reorderTo: number | undefined;\n if (normalizedSubcommand === \"reorder-step\" && typeof reorderToken === \"string\") {\n const parsed = Number.parseInt(reorderToken, 10);\n if (!Number.isFinite(parsed)) {\n throw new PmCliError(`reorder-step requires an integer new order, got \"${reorderToken}\"`, EXIT_CODE.USAGE);\n }\n reorderTo = parsed;\n }\n // Allow positional title for `pm plan create \"Title\"` (mirrors pm create UX).\n // Plan create never takes an id positional; the second token is the title.\n let planId = id;\n if (normalizedSubcommand === \"create\" && typeof id === \"string\" && id.length > 0 && planOptions.title === undefined) {\n planOptions.title = id;\n planId = undefined;\n }\n const result = await runPlan({\n subcommand: normalizedSubcommand as typeof PLAN_SUBCOMMANDS[number],\n id: planId,\n stepRef,\n reorderTo,\n options: planOptions as Record<string, never>,\n global: globalOptions,\n });\n await invalidateSearchCachesForMutation(globalOptions, result);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=plan took_ms=${Date.now() - startedAt}`);\n }\n });\n void planCommand;\n\n program\n .command(\"history-redact\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--literal <value>\", \"Literal string to redact (repeatable)\", collect)\n .option(\"--regex <value>\", \"Regex pattern to redact (repeatable; accepts /pattern/flags or raw pattern)\", collect)\n .option(\"--replacement <value>\", 'Replacement string (default: \"[redacted]\")')\n .option(\"--dry-run\", \"Preview redaction impact without writing item/history files\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"Audit history message for the redaction marker entry\")\n .option(\"--force\", \"Force ownership/lock override\")\n .description(\"Redact sensitive literals/patterns from an item history stream and recompute hashes.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runHistoryRedact } = await loadMutationCommandsModule();\n const literal = Array.isArray(options.literal) ? (options.literal as string[]) : undefined;\n const regex = Array.isArray(options.regex) ? (options.regex as string[]) : undefined;\n const result = await runHistoryRedact(\n id,\n {\n literal,\n regex,\n replacement: typeof options.replacement === \"string\" ? options.replacement : undefined,\n dryRun: options.dryRun === true,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n },\n globalOptions,\n );\n if (result.changed && !result.dry_run) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=history-redact took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"comments\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional comment text shorthand (equivalent to --add)\")\n .option(\"--add <text>\", \"Add one comment entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--stdin\", \"Read comment text from stdin (supports multiline markdown)\")\n .option(\"--file <path>\", \"Read comment text from file (supports multiline markdown)\")\n .option(\"--limit <n>\", \"Return only latest n comments\")\n .option(\"--author [value]\", \"Comment author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-comment\", \"Allow non-owner append-only comment audits without requiring --force\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add comments for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n const readFromStdin = options.stdin === true;\n const readFromFile = typeof options.file === \"string\" ? options.file : undefined;\n const sourceCount =\n Number(addFromOption !== undefined) +\n Number(addFromPositional !== undefined) +\n Number(readFromStdin) +\n Number(readFromFile !== undefined);\n if (sourceCount > 1) {\n if (addFromOption !== undefined && addFromPositional !== undefined && !readFromStdin && readFromFile === undefined) {\n throw new PmCliError(\"Specify comment text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n throw new PmCliError(\n \"Specify comment text with exactly one source: positional [text], --add, --stdin, or --file\",\n EXIT_CODE.USAGE,\n );\n }\n const add = addFromOption ?? addFromPositional;\n const { runComments } = await loadMutationCommandsModule();\n const result = await runComments(id, {\n add,\n stdin: readFromStdin,\n file: readFromFile,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\" || readFromStdin || readFromFile !== undefined) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=comments took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"notes\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional note text shorthand (equivalent to --add; use - for stdin)\")\n .option(\"--add <text>\", \"Add one note entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--limit <n>\", \"Return only latest n notes\")\n .option(\"--author [value]\", \"Note author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-note\", \"Allow non-owner append-only note audits without requiring --force\")\n .option(\"--allow-audit-comment\", \"Backward-compatible alias for --allow-audit-note\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add notes for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n if (addFromOption !== undefined && addFromPositional !== undefined) {\n throw new PmCliError(\"Specify note text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n const add = addFromOption ?? addFromPositional;\n const { runNotes } = await loadMutationCommandsModule();\n const result = await runNotes(id, {\n add,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditNote || options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\") {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=notes took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"learnings\")\n .argument(\"<id>\", \"Item id\")\n .argument(\"[text]\", \"Optional learning text shorthand (equivalent to --add; use - for stdin)\")\n .option(\"--add <text>\", \"Add one learning entry (plain text fallback, text=<value>, markdown pairs, or - for stdin; CSV-like key fragments are preserved as plain text unless text is explicit)\")\n .option(\"--limit <n>\", \"Return only latest n learnings\")\n .option(\"--author [value]\", \"Learning author (optional; falls back to PM_AUTHOR/settings)\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--allow-audit-learning\", \"Allow non-owner append-only learning audits without requiring --force\")\n .option(\"--allow-audit-comment\", \"Backward-compatible alias for --allow-audit-learning\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"List or add learnings for an item.\")\n .action(async (id: string, text: string | undefined, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addFromOption = typeof options.add === \"string\" ? options.add : undefined;\n const addFromPositional = typeof text === \"string\" ? text : undefined;\n if (addFromOption !== undefined && addFromPositional !== undefined) {\n throw new PmCliError(\"Specify learning text either as positional [text] or with --add, not both\", EXIT_CODE.USAGE);\n }\n const add = addFromOption ?? addFromPositional;\n const { runLearnings } = await loadMutationCommandsModule();\n const result = await runLearnings(id, {\n add,\n limit: typeof options.limit === \"string\" ? options.limit : undefined,\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n allowAuditComment: Boolean(options.allowAuditLearning || options.allowAuditComment),\n force: Boolean(options.force),\n }, globalOptions);\n if (typeof add === \"string\") {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=learnings took_ms=${Date.now() - startedAt}`);\n }\n });\n\n const filesCommand = program\n .command(\"files\")\n .description(\"Manage files linked to an item.\");\n\n filesCommand\n .argument(\"<id>\", \"Item id\")\n .option(\"--add <value>\", \"Add linked file entry (CSV/markdown pairs or - for stdin)\", collect)\n .option(\"--add-glob <value>\", \"Add linked file entries from a glob (plain glob or pattern=<glob>,scope=<scope>,note=<text>; repeatable)\", collect)\n .option(\"--remove <value>\", \"Remove linked file by path (path=<value>, path:<value>, plain path, or - for stdin)\", collect)\n .option(\"--migrate <value>\", \"Migrate linked file paths in-place (from=<prefix>,to=<prefix>; repeatable)\", collect)\n .option(\"--list\", \"List linked files without mutating\")\n .option(\"--append-stable\", \"Preserve existing linked-file order and append new links without full-array resorting\")\n .option(\"--validate-paths\", \"Validate linked file paths for existence and file shape\")\n .option(\"--audit\", \"Audit linked file usage across all items for this item's linked paths\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addValues = Array.isArray(options.add) ? (options.add as string[]) : [];\n const addGlobValues = Array.isArray(options.addGlob) ? (options.addGlob as string[]) : [];\n const removeValues = Array.isArray(options.remove) ? (options.remove as string[]) : [];\n const migrateValues = Array.isArray(options.migrate) ? (options.migrate as string[]) : [];\n const { runFiles } = await loadMutationCommandsModule();\n const result = await runFiles(id, {\n add: addValues,\n addGlob: addGlobValues,\n remove: removeValues,\n migrate: migrateValues,\n list: Boolean(options.list),\n appendStable: Boolean(options.appendStable),\n validatePaths: Boolean(options.validatePaths),\n audit: Boolean(options.audit),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (addValues.length > 0 || addGlobValues.length > 0 || removeValues.length > 0 || migrateValues.length > 0) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=files took_ms=${Date.now() - startedAt}`);\n }\n });\n\n filesCommand\n .command(\"discover\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--apply\", \"Add discovered missing files to the item\")\n .option(\"--note <value>\", \"Note to attach to discovered file links\")\n .option(\"--append-stable\", \"Preserve existing linked-file order and append discovered links without full-array resorting\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Discover existing file paths referenced in item text and optionally link missing files.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runFilesDiscover } = await loadMutationCommandsModule();\n const result = await runFilesDiscover(id, {\n apply: Boolean(options.apply),\n note: typeof options.note === \"string\" ? options.note : undefined,\n appendStable: Boolean(options.appendStable),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (result.changed) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=files.discover took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"docs\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--add <value>\", \"Add linked doc entry (CSV/markdown pairs or - for stdin)\", collect)\n .option(\"--add-glob <value>\", \"Add linked doc entries from a glob (plain glob or pattern=<glob>,scope=<scope>,note=<text>; repeatable)\", collect)\n .option(\"--remove <value>\", \"Remove linked doc by path (path=<value>, path:<value>, plain path, or - for stdin)\", collect)\n .option(\"--migrate <value>\", \"Migrate linked doc paths in-place (from=<prefix>,to=<prefix>; repeatable)\", collect)\n .option(\"--validate-paths\", \"Validate linked doc paths for existence and file shape\")\n .option(\"--audit\", \"Audit linked doc usage across all items for this item's linked paths\")\n .option(\"--author <value>\", \"Mutation author\")\n .option(\"--message <value>\", \"History message\")\n .option(\"--force\", \"Force ownership override\")\n .description(\"Manage docs linked to an item.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const addValues = Array.isArray(options.add) ? (options.add as string[]) : [];\n const addGlobValues = Array.isArray(options.addGlob) ? (options.addGlob as string[]) : [];\n const removeValues = Array.isArray(options.remove) ? (options.remove as string[]) : [];\n const migrateValues = Array.isArray(options.migrate) ? (options.migrate as string[]) : [];\n const { runDocs } = await loadMutationCommandsModule();\n const result = await runDocs(id, {\n add: addValues,\n addGlob: addGlobValues,\n remove: removeValues,\n migrate: migrateValues,\n validatePaths: Boolean(options.validatePaths),\n audit: Boolean(options.audit),\n author: typeof options.author === \"string\" ? options.author : undefined,\n message: typeof options.message === \"string\" ? options.message : undefined,\n force: Boolean(options.force),\n }, globalOptions);\n if (addValues.length > 0 || addGlobValues.length > 0 || removeValues.length > 0 || migrateValues.length > 0) {\n await invalidateSearchCachesForMutation(globalOptions, result);\n }\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=docs took_ms=${Date.now() - startedAt}`);\n }\n });\n\n program\n .command(\"deps\")\n .argument(\"<id>\", \"Item id\")\n .option(\"--format <value>\", \"Output format (tree or graph)\", \"tree\")\n .option(\"--max-depth <value>\", \"Maximum dependency traversal depth (0 keeps only the root)\")\n .option(\"--collapse <value>\", \"Collapse mode (none or repeated)\", \"none\")\n .option(\"--summary\", \"Return counts only without full tree/graph payload\")\n .description(\"Show dependency relationships for an item.\")\n .action(async (id: string, options: Record<string, unknown>, command) => {\n const globalOptions = getGlobalOptions(command);\n const startedAt = Date.now();\n const { runDeps } = await loadMutationCommandsModule();\n const result = await runDeps(id, {\n format: typeof options.format === \"string\" ? options.format : undefined,\n maxDepth: typeof options.maxDepth === \"string\" ? options.maxDepth : undefined,\n collapse: typeof options.collapse === \"string\" ? options.collapse : undefined,\n summary: options.summary === true,\n }, globalOptions);\n printResult(result, globalOptions);\n if (globalOptions.profile) {\n printError(`profile:command=deps took_ms=${Date.now() - startedAt}`);\n }\n });\n}\n"],"names":[],"mappings":"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","debugId":"df6717c1-afaf-5933-945b-32b84cacd324"}
@@ -1,5 +1,8 @@
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]="ff7fe568-0a90-519b-8099-b034273a3752")}catch(e){}}();
1
3
  import { normalizeStatusInput } from "../core/item/status.js";
2
4
  import { resolveRuntimeStatusRegistry } from "../core/schema/runtime-schema.js";
5
+ import { setActiveCommandResult } from "../core/extensions/index.js";
3
6
  import { EXIT_CODE } from "../core/shared/constants.js";
4
7
  import { PmCliError } from "../core/shared/errors.js";
5
8
  import { resolvePmRoot } from "../core/store/paths.js";
@@ -192,6 +195,10 @@ export function registerOperationCommands(program) {
192
195
  .option("--no-refresh", "Disable automatic vector refresh attempts during health checks")
193
196
  .option("--refresh-vectors", "Explicitly enable vector refresh attempts during health checks")
194
197
  .option("--verbose-stale-items", "Include full stale vectorization ID lists in health output")
198
+ .option("--skip-vectors", "Skip vectorization check for a faster run")
199
+ .option("--skip-integrity", "Skip item/history file integrity check for a faster run")
200
+ .option("--skip-drift", "Skip history drift hash check for a faster run")
201
+ .option("--full", "Run all checks including slow integrity, drift, and vectorization checks")
195
202
  .option("--strict-exit", "Return non-zero exit when health warnings are present (ok=false)")
196
203
  .option("--fail-on-warn", "Alias for --strict-exit")
197
204
  .action(async (options, command) => {
@@ -205,10 +212,22 @@ export function registerOperationCommands(program) {
205
212
  noRefresh: Boolean(options.noRefresh),
206
213
  refreshVectors: Boolean(options.refreshVectors),
207
214
  verboseStaleItems: Boolean(options.verboseStaleItems),
215
+ skipVectors: Boolean(options.skipVectors),
216
+ skipIntegrity: Boolean(options.skipIntegrity),
217
+ skipDrift: Boolean(options.skipDrift),
218
+ full: Boolean(options.full),
208
219
  });
209
220
  printResult(result, globalOptions);
210
221
  const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
211
222
  if (strictExit && !result.ok) {
223
+ setActiveCommandResult({
224
+ ...result,
225
+ exit_code: EXIT_CODE.GENERIC_FAILURE,
226
+ error_code: "health_findings",
227
+ error_category: "validation",
228
+ command_resolution: "health_findings",
229
+ resolution_stage: "execute",
230
+ });
212
231
  process.exitCode = EXIT_CODE.GENERIC_FAILURE;
213
232
  }
214
233
  if (globalOptions.profile) {
@@ -253,6 +272,14 @@ export function registerOperationCommands(program) {
253
272
  printResult(result, globalOptions);
254
273
  const strictExit = Boolean(options.strictExit) || Boolean(options.failOnWarn);
255
274
  if (strictExit && !result.ok) {
275
+ setActiveCommandResult({
276
+ ...result,
277
+ exit_code: EXIT_CODE.GENERIC_FAILURE,
278
+ error_code: "validation_findings",
279
+ error_category: "validation",
280
+ command_resolution: "validation_findings",
281
+ resolution_stage: "execute",
282
+ });
256
283
  process.exitCode = EXIT_CODE.GENERIC_FAILURE;
257
284
  }
258
285
  if (globalOptions.profile) {
@@ -287,6 +314,7 @@ export function registerOperationCommands(program) {
287
314
  .option("--availability-only", "Return action availability surface only")
288
315
  .option("--runtime-only", "Include only actions invocable in the current runtime")
289
316
  .option("--active-only", "Alias for --runtime-only")
317
+ .option("--full", "Include full schema and command-flag surfaces (large; default brief output omits heavy sections for unfiltered queries)")
290
318
  .action(async (options, command) => {
291
319
  const globalOptions = getGlobalOptions(command);
292
320
  const startedAt = Date.now();
@@ -298,6 +326,7 @@ export function registerOperationCommands(program) {
298
326
  flagsOnly: Boolean(options.flagsOnly),
299
327
  availabilityOnly: Boolean(options.availabilityOnly),
300
328
  runtimeOnly: Boolean(options.runtimeOnly) || Boolean(options.activeOnly),
329
+ full: Boolean(options.full),
301
330
  }, globalOptions);
302
331
  printResult(result, globalOptions);
303
332
  if (globalOptions.profile) {
@@ -310,6 +339,7 @@ export function registerOperationCommands(program) {
310
339
  .option("--author <value>", "Mutation author")
311
340
  .option("--message <value>", "History message")
312
341
  .option("--force", "Force claim override")
342
+ .option("--if-available", "Skip silently when the item is already claimed by another author (returns skipped=true)")
313
343
  .description("Claim an item for active work.")
314
344
  .action(async (id, options, command) => {
315
345
  const globalOptions = getGlobalOptions(command);
@@ -318,6 +348,7 @@ export function registerOperationCommands(program) {
318
348
  const result = await runClaim(id, Boolean(options.force), globalOptions, {
319
349
  author: typeof options.author === "string" ? options.author : undefined,
320
350
  message: typeof options.message === "string" ? options.message : undefined,
351
+ ifAvailable: options.ifAvailable === true,
321
352
  });
322
353
  await invalidateSearchCachesForMutation(globalOptions, result);
323
354
  printResult(result, globalOptions);
@@ -438,4 +469,5 @@ export function registerOperationCommands(program) {
438
469
  }
439
470
  });
440
471
  }
441
- //# sourceMappingURL=register-operations.js.map
472
+ //# sourceMappingURL=register-operations.js.map
473
+ //# debugId=ff7fe568-0a90-519b-8099-b034273a3752