@unbrained/pm-cli 2026.5.14 → 2026.5.24

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 (436) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/AGENTS.md +78 -457
  3. package/CHANGELOG.md +71 -0
  4. package/CONTRIBUTING.md +1 -0
  5. package/README.md +8 -6
  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 +19 -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/annotation-command.d.ts +49 -0
  17. package/dist/cli/commands/annotation-command.js +135 -0
  18. package/dist/cli/commands/annotation-command.js.map +1 -0
  19. package/dist/cli/commands/append.js +5 -6
  20. package/dist/cli/commands/append.js.map +1 -1
  21. package/dist/cli/commands/calendar.js +5 -5
  22. package/dist/cli/commands/calendar.js.map +1 -1
  23. package/dist/cli/commands/claim.d.ts +3 -0
  24. package/dist/cli/commands/claim.js +29 -23
  25. package/dist/cli/commands/claim.js.map +1 -1
  26. package/dist/cli/commands/close.js +63 -8
  27. package/dist/cli/commands/close.js.map +1 -1
  28. package/dist/cli/commands/comments-audit.js +4 -1
  29. package/dist/cli/commands/comments-audit.js.map +1 -1
  30. package/dist/cli/commands/comments.d.ts +5 -0
  31. package/dist/cli/commands/comments.js +29 -116
  32. package/dist/cli/commands/comments.js.map +1 -1
  33. package/dist/cli/commands/completion.js +198 -15
  34. package/dist/cli/commands/completion.js.map +1 -1
  35. package/dist/cli/commands/config.js +4 -1
  36. package/dist/cli/commands/config.js.map +1 -1
  37. package/dist/cli/commands/context.js +21 -13
  38. package/dist/cli/commands/context.js.map +1 -1
  39. package/dist/cli/commands/contracts.d.ts +9 -0
  40. package/dist/cli/commands/contracts.js +314 -64
  41. package/dist/cli/commands/contracts.js.map +1 -1
  42. package/dist/cli/commands/create.js +77 -48
  43. package/dist/cli/commands/create.js.map +1 -1
  44. package/dist/cli/commands/dedupe-audit.js +9 -3
  45. package/dist/cli/commands/dedupe-audit.js.map +1 -1
  46. package/dist/cli/commands/delete.d.ts +3 -0
  47. package/dist/cli/commands/delete.js +11 -7
  48. package/dist/cli/commands/delete.js.map +1 -1
  49. package/dist/cli/commands/deps.js +4 -1
  50. package/dist/cli/commands/deps.js.map +1 -1
  51. package/dist/cli/commands/docs.d.ts +1 -0
  52. package/dist/cli/commands/docs.js +6 -7
  53. package/dist/cli/commands/docs.js.map +1 -1
  54. package/dist/cli/commands/event-validation-messages.d.ts +3 -0
  55. package/dist/cli/commands/event-validation-messages.js +44 -0
  56. package/dist/cli/commands/event-validation-messages.js.map +1 -0
  57. package/dist/cli/commands/extension.d.ts +3 -1
  58. package/dist/cli/commands/extension.js +259 -52
  59. package/dist/cli/commands/extension.js.map +1 -1
  60. package/dist/cli/commands/files.js +8 -12
  61. package/dist/cli/commands/files.js.map +1 -1
  62. package/dist/cli/commands/gc.js +19 -3
  63. package/dist/cli/commands/gc.js.map +1 -1
  64. package/dist/cli/commands/get.d.ts +10 -5
  65. package/dist/cli/commands/get.js +135 -20
  66. package/dist/cli/commands/get.js.map +1 -1
  67. package/dist/cli/commands/guide.js +6 -8
  68. package/dist/cli/commands/guide.js.map +1 -1
  69. package/dist/cli/commands/health.d.ts +14 -0
  70. package/dist/cli/commands/health.js +269 -67
  71. package/dist/cli/commands/health.js.map +1 -1
  72. package/dist/cli/commands/history-redact.d.ts +50 -0
  73. package/dist/cli/commands/history-redact.js +476 -0
  74. package/dist/cli/commands/history-redact.js.map +1 -0
  75. package/dist/cli/commands/history-repair.d.ts +33 -0
  76. package/dist/cli/commands/history-repair.js +166 -0
  77. package/dist/cli/commands/history-repair.js.map +1 -0
  78. package/dist/cli/commands/history.d.ts +4 -0
  79. package/dist/cli/commands/history.js +12 -79
  80. package/dist/cli/commands/history.js.map +1 -1
  81. package/dist/cli/commands/index.d.ts +5 -1
  82. package/dist/cli/commands/index.js +9 -2
  83. package/dist/cli/commands/index.js.map +1 -1
  84. package/dist/cli/commands/init-agent-guidance.d.ts +31 -0
  85. package/dist/cli/commands/init-agent-guidance.js +336 -0
  86. package/dist/cli/commands/init-agent-guidance.js.map +1 -0
  87. package/dist/cli/commands/init.d.ts +42 -0
  88. package/dist/cli/commands/init.js +96 -1
  89. package/dist/cli/commands/init.js.map +1 -1
  90. package/dist/cli/commands/learnings.js +22 -118
  91. package/dist/cli/commands/learnings.js.map +1 -1
  92. package/dist/cli/commands/linked-test-entry.d.ts +3 -0
  93. package/dist/cli/commands/linked-test-entry.js +62 -0
  94. package/dist/cli/commands/linked-test-entry.js.map +1 -0
  95. package/dist/cli/commands/list.d.ts +1 -0
  96. package/dist/cli/commands/list.js +72 -38
  97. package/dist/cli/commands/list.js.map +1 -1
  98. package/dist/cli/commands/metadata-normalizers.js +4 -1
  99. package/dist/cli/commands/metadata-normalizers.js.map +1 -1
  100. package/dist/cli/commands/normalize.js +4 -1
  101. package/dist/cli/commands/normalize.js.map +1 -1
  102. package/dist/cli/commands/notes.js +22 -118
  103. package/dist/cli/commands/notes.js.map +1 -1
  104. package/dist/cli/commands/plan.d.ts +121 -0
  105. package/dist/cli/commands/plan.js +1137 -0
  106. package/dist/cli/commands/plan.js.map +1 -0
  107. package/dist/cli/commands/reindex.js +4 -1
  108. package/dist/cli/commands/reindex.js.map +1 -1
  109. package/dist/cli/commands/restore.js +9 -49
  110. package/dist/cli/commands/restore.js.map +1 -1
  111. package/dist/cli/commands/schema.d.ts +31 -0
  112. package/dist/cli/commands/schema.js +98 -0
  113. package/dist/cli/commands/schema.js.map +1 -0
  114. package/dist/cli/commands/search.js +156 -40
  115. package/dist/cli/commands/search.js.map +1 -1
  116. package/dist/cli/commands/stats.js +4 -1
  117. package/dist/cli/commands/stats.js.map +1 -1
  118. package/dist/cli/commands/templates.d.ts +4 -0
  119. package/dist/cli/commands/templates.js +91 -16
  120. package/dist/cli/commands/templates.js.map +1 -1
  121. package/dist/cli/commands/test-all.js +6 -7
  122. package/dist/cli/commands/test-all.js.map +1 -1
  123. package/dist/cli/commands/test-runs.js +4 -1
  124. package/dist/cli/commands/test-runs.js.map +1 -1
  125. package/dist/cli/commands/test.d.ts +1 -0
  126. package/dist/cli/commands/test.js +9 -9
  127. package/dist/cli/commands/test.js.map +1 -1
  128. package/dist/cli/commands/update-many.js +6 -7
  129. package/dist/cli/commands/update-many.js.map +1 -1
  130. package/dist/cli/commands/update.js +204 -103
  131. package/dist/cli/commands/update.js.map +1 -1
  132. package/dist/cli/commands/upgrade.js +6 -3
  133. package/dist/cli/commands/upgrade.js.map +1 -1
  134. package/dist/cli/commands/validate.d.ts +3 -1
  135. package/dist/cli/commands/validate.js +44 -64
  136. package/dist/cli/commands/validate.js.map +1 -1
  137. package/dist/cli/error-guidance.js +99 -6
  138. package/dist/cli/error-guidance.js.map +1 -1
  139. package/dist/cli/extension-command-help.d.ts +0 -1
  140. package/dist/cli/extension-command-help.js +4 -12
  141. package/dist/cli/extension-command-help.js.map +1 -1
  142. package/dist/cli/extension-command-options.d.ts +1 -0
  143. package/dist/cli/extension-command-options.js +108 -6
  144. package/dist/cli/extension-command-options.js.map +1 -1
  145. package/dist/cli/guide-topics.js +4 -1
  146. package/dist/cli/guide-topics.js.map +1 -1
  147. package/dist/cli/help-content.d.ts +0 -1
  148. package/dist/cli/help-content.js +46 -22
  149. package/dist/cli/help-content.js.map +1 -1
  150. package/dist/cli/help-json-payload.d.ts +1 -0
  151. package/dist/cli/help-json-payload.js +35 -2
  152. package/dist/cli/help-json-payload.js.map +1 -1
  153. package/dist/cli/main.js +214 -30
  154. package/dist/cli/main.js.map +1 -1
  155. package/dist/cli/migration-gates.js +4 -1
  156. package/dist/cli/migration-gates.js.map +1 -1
  157. package/dist/cli/register-list-query.d.ts +1 -1
  158. package/dist/cli/register-list-query.js +75 -29
  159. package/dist/cli/register-list-query.js.map +1 -1
  160. package/dist/cli/register-mutation.d.ts +1 -1
  161. package/dist/cli/register-mutation.js +430 -38
  162. package/dist/cli/register-mutation.js.map +1 -1
  163. package/dist/cli/register-operations.js +47 -10
  164. package/dist/cli/register-operations.js.map +1 -1
  165. package/dist/cli/register-setup.js +47 -25
  166. package/dist/cli/register-setup.js.map +1 -1
  167. package/dist/cli/registration-helpers.d.ts +0 -2
  168. package/dist/cli/registration-helpers.js +21 -40
  169. package/dist/cli/registration-helpers.js.map +1 -1
  170. package/dist/cli/shared-parsers.js +4 -1
  171. package/dist/cli/shared-parsers.js.map +1 -1
  172. package/dist/cli/telemetry-flush.js +4 -1
  173. package/dist/cli/telemetry-flush.js.map +1 -1
  174. package/dist/cli.js +65 -3
  175. package/dist/cli.js.map +1 -1
  176. package/dist/core/extensions/extension-types.js +4 -1
  177. package/dist/core/extensions/extension-types.js.map +1 -1
  178. package/dist/core/extensions/index.d.ts +0 -1
  179. package/dist/core/extensions/index.js +4 -13
  180. package/dist/core/extensions/index.js.map +1 -1
  181. package/dist/core/extensions/item-fields.js +4 -1
  182. package/dist/core/extensions/item-fields.js.map +1 -1
  183. package/dist/core/extensions/loader.js +78 -60
  184. package/dist/core/extensions/loader.js.map +1 -1
  185. package/dist/core/extensions/runtime-registrations.js +4 -1
  186. package/dist/core/extensions/runtime-registrations.js.map +1 -1
  187. package/dist/core/fs/fs-utils.js +4 -1
  188. package/dist/core/fs/fs-utils.js.map +1 -1
  189. package/dist/core/fs/index.js +4 -1
  190. package/dist/core/fs/index.js.map +1 -1
  191. package/dist/core/fs/path-utils.d.ts +1 -0
  192. package/dist/core/fs/path-utils.js +12 -0
  193. package/dist/core/fs/path-utils.js.map +1 -0
  194. package/dist/core/history/drift-scan.d.ts +11 -0
  195. package/dist/core/history/drift-scan.js +67 -0
  196. package/dist/core/history/drift-scan.js.map +1 -0
  197. package/dist/core/history/history-stream-policy.js +4 -1
  198. package/dist/core/history/history-stream-policy.js.map +1 -1
  199. package/dist/core/history/history.js +4 -1
  200. package/dist/core/history/history.js.map +1 -1
  201. package/dist/core/history/index.js +4 -1
  202. package/dist/core/history/index.js.map +1 -1
  203. package/dist/core/history/replay.d.ts +82 -0
  204. package/dist/core/history/replay.js +249 -0
  205. package/dist/core/history/replay.js.map +1 -0
  206. package/dist/core/item/id.js +4 -1
  207. package/dist/core/item/id.js.map +1 -1
  208. package/dist/core/item/index.js +4 -1
  209. package/dist/core/item/index.js.map +1 -1
  210. package/dist/core/item/item-format.js +250 -8
  211. package/dist/core/item/item-format.js.map +1 -1
  212. package/dist/core/item/item-type-definition.d.ts +52 -0
  213. package/dist/core/item/item-type-definition.js +123 -0
  214. package/dist/core/item/item-type-definition.js.map +1 -0
  215. package/dist/core/item/parent-reference-policy.js +4 -1
  216. package/dist/core/item/parent-reference-policy.js.map +1 -1
  217. package/dist/core/item/parse.js +34 -3
  218. package/dist/core/item/parse.js.map +1 -1
  219. package/dist/core/item/priority.d.ts +23 -0
  220. package/dist/core/item/priority.js +55 -0
  221. package/dist/core/item/priority.js.map +1 -0
  222. package/dist/core/item/sprint-release-format.js +4 -1
  223. package/dist/core/item/sprint-release-format.js.map +1 -1
  224. package/dist/core/item/status.d.ts +14 -1
  225. package/dist/core/item/status.js +24 -1
  226. package/dist/core/item/status.js.map +1 -1
  227. package/dist/core/item/toon-decode.d.ts +19 -0
  228. package/dist/core/item/toon-decode.js +69 -0
  229. package/dist/core/item/toon-decode.js.map +1 -0
  230. package/dist/core/item/type-registry.js +15 -83
  231. package/dist/core/item/type-registry.js.map +1 -1
  232. package/dist/core/lock/index.js +4 -1
  233. package/dist/core/lock/index.js.map +1 -1
  234. package/dist/core/lock/lock.js +4 -1
  235. package/dist/core/lock/lock.js.map +1 -1
  236. package/dist/core/output/output.d.ts +4 -0
  237. package/dist/core/output/output.js +47 -6
  238. package/dist/core/output/output.js.map +1 -1
  239. package/dist/core/packages/manifest.d.ts +1 -0
  240. package/dist/core/packages/manifest.js +6 -8
  241. package/dist/core/packages/manifest.js.map +1 -1
  242. package/dist/core/packages/root.d.ts +3 -0
  243. package/dist/core/packages/root.js +51 -0
  244. package/dist/core/packages/root.js.map +1 -0
  245. package/dist/core/schema/item-types-file.d.ts +85 -0
  246. package/dist/core/schema/item-types-file.js +243 -0
  247. package/dist/core/schema/item-types-file.js.map +1 -0
  248. package/dist/core/schema/runtime-field-filters.js +4 -1
  249. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  250. package/dist/core/schema/runtime-field-values.js +4 -1
  251. package/dist/core/schema/runtime-field-values.js.map +1 -1
  252. package/dist/core/schema/runtime-schema.d.ts +2 -1
  253. package/dist/core/schema/runtime-schema.js +13 -8
  254. package/dist/core/schema/runtime-schema.js.map +1 -1
  255. package/dist/core/search/cache.js +7 -2
  256. package/dist/core/search/cache.js.map +1 -1
  257. package/dist/core/search/corpus.d.ts +2 -0
  258. package/dist/core/search/corpus.js +77 -2
  259. package/dist/core/search/corpus.js.map +1 -1
  260. package/dist/core/search/embedding-batches.js +21 -7
  261. package/dist/core/search/embedding-batches.js.map +1 -1
  262. package/dist/core/search/http-client.js +4 -1
  263. package/dist/core/search/http-client.js.map +1 -1
  264. package/dist/core/search/providers.js +4 -1
  265. package/dist/core/search/providers.js.map +1 -1
  266. package/dist/core/search/semantic-defaults.js +12 -3
  267. package/dist/core/search/semantic-defaults.js.map +1 -1
  268. package/dist/core/search/vector-stores.js +4 -1
  269. package/dist/core/search/vector-stores.js.map +1 -1
  270. package/dist/core/sentry/helpers.js +4 -1
  271. package/dist/core/sentry/helpers.js.map +1 -1
  272. package/dist/core/sentry/instrument.js +10 -13
  273. package/dist/core/sentry/instrument.js.map +1 -1
  274. package/dist/core/shared/author.d.ts +1 -0
  275. package/dist/core/shared/author.js +9 -0
  276. package/dist/core/shared/author.js.map +1 -0
  277. package/dist/core/shared/command-types.js +4 -1
  278. package/dist/core/shared/command-types.js.map +1 -1
  279. package/dist/core/shared/conflict-markers.js +4 -1
  280. package/dist/core/shared/conflict-markers.js.map +1 -1
  281. package/dist/core/shared/constants.d.ts +2 -2
  282. package/dist/core/shared/constants.js +24 -1
  283. package/dist/core/shared/constants.js.map +1 -1
  284. package/dist/core/shared/errors.js +4 -1
  285. package/dist/core/shared/errors.js.map +1 -1
  286. package/dist/core/shared/index.js +4 -1
  287. package/dist/core/shared/index.js.map +1 -1
  288. package/dist/core/shared/lazy-module.d.ts +1 -0
  289. package/dist/core/shared/lazy-module.js +11 -0
  290. package/dist/core/shared/lazy-module.js.map +1 -0
  291. package/dist/core/shared/levenshtein.js +4 -1
  292. package/dist/core/shared/levenshtein.js.map +1 -1
  293. package/dist/core/shared/option-alias-visibility.d.ts +44 -0
  294. package/dist/core/shared/option-alias-visibility.js +76 -0
  295. package/dist/core/shared/option-alias-visibility.js.map +1 -0
  296. package/dist/core/shared/primitives.js +4 -1
  297. package/dist/core/shared/primitives.js.map +1 -1
  298. package/dist/core/shared/serialization.js +4 -1
  299. package/dist/core/shared/serialization.js.map +1 -1
  300. package/dist/core/shared/text-normalization.d.ts +0 -1
  301. package/dist/core/shared/text-normalization.js +4 -4
  302. package/dist/core/shared/text-normalization.js.map +1 -1
  303. package/dist/core/shared/time.js +4 -1
  304. package/dist/core/shared/time.js.map +1 -1
  305. package/dist/core/store/front-matter-cache.js +8 -3
  306. package/dist/core/store/front-matter-cache.js.map +1 -1
  307. package/dist/core/store/index.js +4 -1
  308. package/dist/core/store/index.js.map +1 -1
  309. package/dist/core/store/item-format-migration.js +4 -1
  310. package/dist/core/store/item-format-migration.js.map +1 -1
  311. package/dist/core/store/item-store.d.ts +4 -0
  312. package/dist/core/store/item-store.js +133 -39
  313. package/dist/core/store/item-store.js.map +1 -1
  314. package/dist/core/store/paths.js +4 -1
  315. package/dist/core/store/paths.js.map +1 -1
  316. package/dist/core/store/settings-validator.d.ts +106 -0
  317. package/dist/core/store/settings-validator.js +279 -0
  318. package/dist/core/store/settings-validator.js.map +1 -0
  319. package/dist/core/store/settings.js +32 -331
  320. package/dist/core/store/settings.js.map +1 -1
  321. package/dist/core/telemetry/consent.js +4 -1
  322. package/dist/core/telemetry/consent.js.map +1 -1
  323. package/dist/core/telemetry/observability.d.ts +1 -1
  324. package/dist/core/telemetry/observability.js +11 -2
  325. package/dist/core/telemetry/observability.js.map +1 -1
  326. package/dist/core/telemetry/runtime.js +34 -6
  327. package/dist/core/telemetry/runtime.js.map +1 -1
  328. package/dist/core/test/background-runs.js +4 -1
  329. package/dist/core/test/background-runs.js.map +1 -1
  330. package/dist/core/test/item-test-run-tracking.js +4 -1
  331. package/dist/core/test/item-test-run-tracking.js.map +1 -1
  332. package/dist/mcp/server.js +182 -22
  333. package/dist/mcp/server.js.map +1 -1
  334. package/dist/sdk/cli-contracts/commander-mutation-options.js +10 -3
  335. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
  336. package/dist/sdk/cli-contracts/commander-types.js +4 -1
  337. package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
  338. package/dist/sdk/cli-contracts.d.ts +13 -2
  339. package/dist/sdk/cli-contracts.js +410 -26
  340. package/dist/sdk/cli-contracts.js.map +1 -1
  341. package/dist/sdk/index.js +4 -1
  342. package/dist/sdk/index.js.map +1 -1
  343. package/dist/sdk/runtime.d.ts +25 -1
  344. package/dist/sdk/runtime.js +48 -2
  345. package/dist/sdk/runtime.js.map +1 -1
  346. package/dist/types/index.js +4 -1
  347. package/dist/types/index.js.map +1 -1
  348. package/dist/types.d.ts +92 -2
  349. package/dist/types.js +42 -1
  350. package/dist/types.js.map +1 -1
  351. package/docs/AGENT_GUIDE.md +23 -7
  352. package/docs/ARCHITECTURE.md +1 -1
  353. package/docs/CLAUDE_CODE_PLUGIN.md +10 -10
  354. package/docs/CODEX_PLUGIN.md +2 -2
  355. package/docs/COMMANDS.md +117 -12
  356. package/docs/CONFIGURATION.md +5 -2
  357. package/docs/EXTENSIONS.md +158 -814
  358. package/docs/QUICKSTART.md +11 -5
  359. package/docs/README.md +7 -6
  360. package/docs/RELEASING.md +13 -9
  361. package/docs/SDK.md +11 -2
  362. package/docs/TESTING.md +2 -2
  363. package/marketplace.json +3 -3
  364. package/package.json +15 -12
  365. package/packages/pm-beads/package.json +1 -1
  366. package/packages/pm-calendar/README.md +4 -2
  367. package/packages/pm-calendar/extensions/calendar/index.js +22 -3
  368. package/packages/pm-calendar/extensions/calendar/index.ts +22 -3
  369. package/packages/pm-calendar/extensions/calendar/runtime.js +26 -7
  370. package/packages/pm-calendar/extensions/calendar/runtime.ts +26 -7
  371. package/packages/pm-calendar/package.json +1 -1
  372. package/packages/pm-governance-audit/package.json +1 -1
  373. package/packages/pm-guide-shell/extensions/guide-shell/index.js +1 -1
  374. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +1 -1
  375. package/packages/pm-guide-shell/package.json +1 -1
  376. package/packages/pm-linked-test-adapters/package.json +1 -1
  377. package/packages/pm-search-advanced/README.md +8 -0
  378. package/packages/pm-search-advanced/extensions/search-advanced/index.js +74 -0
  379. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +75 -1
  380. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +67 -9
  381. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +67 -9
  382. package/packages/pm-search-advanced/package.json +1 -1
  383. package/packages/pm-templates/README.md +1 -1
  384. package/packages/pm-templates/extensions/templates/runtime.js +11 -202
  385. package/packages/pm-templates/extensions/templates/runtime.ts +38 -230
  386. package/packages/pm-templates/package.json +1 -1
  387. package/packages/pm-todos/package.json +1 -1
  388. package/plugins/{pm-cli-claude → pm-claude}/.claude-plugin/plugin.json +2 -2
  389. package/plugins/{pm-cli-claude → pm-claude}/.mcp.json +1 -1
  390. package/plugins/{pm-cli-claude → pm-claude}/README.md +4 -4
  391. package/plugins/{pm-cli-claude → pm-claude}/agents/pm-coordinator.md +1 -1
  392. package/plugins/{pm-cli-claude → pm-claude}/commands/pm-init.md +10 -1
  393. package/plugins/{pm-cli-claude → pm-claude}/commands/pm-planner.md +18 -0
  394. package/plugins/{pm-cli-claude → pm-claude}/skills/pm-planner/SKILL.md +46 -1
  395. package/plugins/{pm-cli-codex → pm-codex}/.codex-plugin/plugin.json +3 -3
  396. package/plugins/{pm-cli-codex → pm-codex}/.mcp.json +1 -1
  397. package/plugins/{pm-cli-codex → pm-codex}/README.md +7 -4
  398. package/plugins/pm-codex/skills/pm-native/SKILL.md +81 -0
  399. package/scripts/finalize-build.mjs +28 -0
  400. package/scripts/prepare-build-cache.mjs +37 -0
  401. package/dist/core/output/command-aware.d.ts +0 -1
  402. package/dist/core/output/command-aware.js +0 -394
  403. package/dist/core/output/command-aware.js.map +0 -1
  404. package/plugins/pm-cli-codex/skills/pm-native/SKILL.md +0 -57
  405. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-delivery-chain.md +0 -0
  406. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-triage-agent.md +0 -0
  407. /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-verification-agent.md +0 -0
  408. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-audit.md +0 -0
  409. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-calendar.md +0 -0
  410. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-close-task.md +0 -0
  411. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-developer.md +0 -0
  412. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-list.md +0 -0
  413. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-new.md +0 -0
  414. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-release.md +0 -0
  415. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-search.md +0 -0
  416. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-start-task.md +0 -0
  417. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-status.md +0 -0
  418. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-triage.md +0 -0
  419. /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-workflow.md +0 -0
  420. /package/plugins/{pm-cli-claude → pm-claude}/hooks/hooks.json +0 -0
  421. /package/plugins/{pm-cli-claude → pm-claude}/hooks/session-start.mjs +0 -0
  422. /package/plugins/{pm-cli-claude → pm-claude}/scripts/pm-mcp-server.mjs +0 -0
  423. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-audit/SKILL.md +0 -0
  424. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-developer/SKILL.md +0 -0
  425. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-release/SKILL.md +0 -0
  426. /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-workflow/SKILL.md +0 -0
  427. /package/plugins/{pm-cli-codex → pm-codex}/assets/pm-cli-small.svg +0 -0
  428. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-audit.md +0 -0
  429. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-close-task.md +0 -0
  430. /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-start-task.md +0 -0
  431. /package/plugins/{pm-cli-codex → pm-codex}/scripts/pm-mcp-server.mjs +0 -0
  432. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/SKILL.md +0 -0
  433. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/agents/openai.yaml +0 -0
  434. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-native/agents/openai.yaml +0 -0
  435. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/SKILL.md +0 -0
  436. /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/agents/openai.yaml +0 -0
@@ -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]="b7c80b7e-7951-5ab0-ab77-8e309cf59f0d")}catch(e){}}();
1
3
  export { ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS, CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS, CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS, LIST_COMMANDER_STRING_OPTION_CONTRACTS, SEARCH_COMMANDER_STRING_OPTION_CONTRACTS, readFirstStringFromCommanderOptions, readStringArrayFromCommanderOptions, } from "./cli-contracts/commander-types.js";
2
4
  export { CREATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, CREATE_COMMANDER_STRING_OPTION_CONTRACTS, UPDATE_COMMANDER_OPTION_REGISTRATION_CONTRACTS, UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS, UPDATE_COMMANDER_STRING_OPTION_CONTRACTS, } from "./cli-contracts/commander-mutation-options.js";
5
+ import { PLAN_HARNESS_VALUES, PLAN_MODE_VALUES, PLAN_STEP_LINK_KIND_VALUES, PLAN_STEP_STATUS_VALUES, } from "../types/index.js";
3
6
  export const PM_EXTENSION_CAPABILITY_CONTRACTS = [
4
7
  "commands",
5
8
  "renderers",
@@ -118,6 +121,9 @@ export const PM_CORE_COMMAND_NAMES = [
118
121
  "search",
119
122
  "reindex",
120
123
  "history",
124
+ "history-redact",
125
+ "history-repair",
126
+ "schema",
121
127
  "activity",
122
128
  "restore",
123
129
  "update",
@@ -133,6 +139,7 @@ export const PM_CORE_COMMAND_NAMES = [
133
139
  "files",
134
140
  "docs",
135
141
  "deps",
142
+ "plan",
136
143
  "test",
137
144
  "test-all",
138
145
  "test-runs",
@@ -190,24 +197,23 @@ export const PM_TOOL_ACTIONS = [
190
197
  "list-closed",
191
198
  "list-canceled",
192
199
  "aggregate",
193
- "dedupe-audit",
194
- "guide",
195
200
  "context",
196
201
  "ctx",
197
202
  "get",
198
203
  "search",
199
- "reindex",
200
204
  "history",
205
+ "history-redact",
206
+ "history-repair",
207
+ "schema",
201
208
  "activity",
202
209
  "restore",
203
210
  "update",
204
211
  "update-many",
205
- "normalize",
206
212
  "close",
207
213
  "delete",
208
214
  "append",
209
215
  "comments",
210
- "comments-audit",
216
+ "plan",
211
217
  "notes",
212
218
  "learnings",
213
219
  "files",
@@ -215,17 +221,11 @@ export const PM_TOOL_ACTIONS = [
215
221
  "deps",
216
222
  "test",
217
223
  "test-all",
218
- "test-runs-list",
219
- "test-runs-status",
220
- "test-runs-logs",
221
- "test-runs-stop",
222
- "test-runs-resume",
223
224
  "stats",
224
225
  "health",
225
226
  "validate",
226
227
  "gc",
227
228
  "contracts",
228
- "completion",
229
229
  "claim",
230
230
  "release",
231
231
  "start-task",
@@ -248,6 +248,7 @@ export function isPmExtensionPolicySurfaceContract(value) {
248
248
  return PM_EXTENSION_POLICY_SURFACE_CONTRACTS.includes(value);
249
249
  }
250
250
  export const TOOL_LIST_FILTER_OPTION_CONTRACTS = [
251
+ { param: "status", flag: "--status" },
251
252
  { param: "type", flag: "--type" },
252
253
  { param: "tag", flag: "--tag" },
253
254
  { param: "priority", flag: "--priority" },
@@ -458,6 +459,8 @@ export const TOOL_ACTIVITY_OPTION_CONTRACTS = [
458
459
  { param: "from", flag: "--from" },
459
460
  { param: "to", flag: "--to" },
460
461
  { param: "limit", flag: "--limit" },
462
+ { param: "compact", flag: "--compact" },
463
+ { param: "full", flag: "--full" },
461
464
  ];
462
465
  export const TOOL_CONTEXT_OPTION_CONTRACTS = [
463
466
  { param: "date", flag: "--date" },
@@ -497,6 +500,7 @@ export const GLOBAL_FLAG_CONTRACTS = [
497
500
  { flag: "--version" },
498
501
  ];
499
502
  export const LIST_FILTER_FLAG_CONTRACTS = [
503
+ { flag: "--status" },
500
504
  { flag: "--type" },
501
505
  { flag: "--tag" },
502
506
  { flag: "--priority" },
@@ -511,6 +515,8 @@ export const LIST_FILTER_FLAG_CONTRACTS = [
511
515
  { flag: "--limit" },
512
516
  { flag: "--offset" },
513
517
  { flag: "--compact" },
518
+ { flag: "--brief" },
519
+ { flag: "--full" },
514
520
  { flag: "--fields" },
515
521
  { flag: "--sort" },
516
522
  { flag: "--order" },
@@ -624,11 +630,90 @@ export const DOCS_FLAG_CONTRACTS = [
624
630
  ];
625
631
  export const HISTORY_FLAG_CONTRACTS = [
626
632
  { flag: "--limit" },
633
+ { flag: "--compact" },
634
+ { flag: "--full" },
627
635
  { flag: "--diff" },
628
636
  { flag: "--verify" },
629
637
  ];
638
+ export const HISTORY_REDACT_FLAG_CONTRACTS = [
639
+ { flag: "--literal" },
640
+ { flag: "--regex" },
641
+ { flag: "--replacement" },
642
+ { flag: "--dry-run" },
643
+ { flag: "--author" },
644
+ { flag: "--message" },
645
+ { flag: "--force" },
646
+ ];
647
+ export const HISTORY_REPAIR_FLAG_CONTRACTS = [
648
+ { flag: "--dry-run" },
649
+ { flag: "--author" },
650
+ { flag: "--message" },
651
+ { flag: "--force" },
652
+ ];
653
+ export const SCHEMA_FLAG_CONTRACTS = [
654
+ { flag: "--description" },
655
+ { flag: "--default-status", aliases: ["--default_status"] },
656
+ { flag: "--folder" },
657
+ { flag: "--alias" },
658
+ { flag: "--author" },
659
+ { flag: "--force" },
660
+ ];
661
+ export const PLAN_FLAG_CONTRACTS = [
662
+ { flag: "--title" },
663
+ { flag: "--description" },
664
+ { flag: "--scope" },
665
+ { flag: "--parent" },
666
+ { flag: "--related" },
667
+ { flag: "--blocks" },
668
+ { flag: "--blocked-by", aliases: ["--blocked_by"] },
669
+ { flag: "--harness" },
670
+ { flag: "--mode" },
671
+ { flag: "--resume-context", aliases: ["--resume_context"] },
672
+ { flag: "--tags" },
673
+ { flag: "--priority" },
674
+ { flag: "--body" },
675
+ { flag: "--claim" },
676
+ { flag: "--from-search", aliases: ["--from_search"] },
677
+ { flag: "--step-title", aliases: ["--step", "--step_title"] },
678
+ { flag: "--step-body", aliases: ["--step_body"] },
679
+ { flag: "--step-owner", aliases: ["--step_owner"] },
680
+ { flag: "--step-status", aliases: ["--step_status"] },
681
+ { flag: "--step-evidence", aliases: ["--step_evidence"] },
682
+ { flag: "--step-blocked-reason", aliases: ["--step_blocked_reason"] },
683
+ { flag: "--step-replacement", aliases: ["--step_replacement"] },
684
+ { flag: "--depends-on", aliases: ["--depends_on"] },
685
+ { flag: "--link" },
686
+ { flag: "--link-kind", aliases: ["--link_kind"] },
687
+ { flag: "--link-note", aliases: ["--link_note"] },
688
+ { flag: "--promote-to-item-dep", aliases: ["--promote_to_item_dep"] },
689
+ { flag: "--allow-multiple-active", aliases: ["--allow_multiple_active"] },
690
+ { flag: "--file" },
691
+ { flag: "--test" },
692
+ { flag: "--doc" },
693
+ { flag: "--decision-text", aliases: ["--decision_text", "--decision"] },
694
+ { flag: "--decision-rationale", aliases: ["--decision_rationale"] },
695
+ { flag: "--decision-evidence", aliases: ["--decision_evidence"] },
696
+ { flag: "--discovery-text", aliases: ["--discovery_text", "--discovery"] },
697
+ { flag: "--validation-text", aliases: ["--validation_text", "--validation"] },
698
+ { flag: "--validation-command", aliases: ["--validation_command"] },
699
+ { flag: "--validation-expected", aliases: ["--validation_expected"] },
700
+ { flag: "--depth" },
701
+ { flag: "--fields" },
702
+ { flag: "--steps" },
703
+ { flag: "--materialize-type", aliases: ["--materialize_type"] },
704
+ { flag: "--materialize-parent", aliases: ["--materialize_parent"] },
705
+ { flag: "--materialize-tags", aliases: ["--materialize_tags"] },
706
+ { flag: "--author" },
707
+ { flag: "--message" },
708
+ { flag: "--force" },
709
+ ];
630
710
  export const INIT_FLAG_CONTRACTS = [
631
711
  { flag: "--preset" },
712
+ { flag: "--defaults", short: "-y", aliases: ["--yes"] },
713
+ { flag: "--author" },
714
+ { flag: "--agent-guidance" },
715
+ { flag: "--with-packages" },
716
+ { flag: "--verbose" },
632
717
  ];
633
718
  export const CONFIG_FLAG_CONTRACTS = [
634
719
  { flag: "--criterion" },
@@ -653,6 +738,7 @@ export const EXTENSION_FLAG_CONTRACTS = [
653
738
  { flag: "--install" },
654
739
  { flag: "--uninstall" },
655
740
  { flag: "--explore" },
741
+ { flag: "--list" },
656
742
  { flag: "--manage" },
657
743
  { flag: "--reload" },
658
744
  { flag: "--watch" },
@@ -675,6 +761,14 @@ export const EXTENSION_FLAG_CONTRACTS = [
675
761
  { flag: "--strict-exit" },
676
762
  { flag: "--fail-on-warn" },
677
763
  ];
764
+ export const INSTALL_FLAG_CONTRACTS = [
765
+ { flag: "--project" },
766
+ { flag: "--local" },
767
+ { flag: "--global" },
768
+ { flag: "--gh" },
769
+ { flag: "--github" },
770
+ { flag: "--ref" },
771
+ ];
678
772
  export const UPGRADE_FLAG_CONTRACTS = [
679
773
  { flag: "--dry-run" },
680
774
  { flag: "--cli-only" },
@@ -691,6 +785,8 @@ export const REINDEX_FLAG_CONTRACTS = [
691
785
  { flag: "--progress" },
692
786
  ];
693
787
  export const CLOSE_FLAG_CONTRACTS = [
788
+ { flag: "--reason" },
789
+ { flag: "--close-reason" },
694
790
  { flag: "--author" },
695
791
  { flag: "--message" },
696
792
  { flag: "--validate-close" },
@@ -713,6 +809,7 @@ export const RESTORE_FLAG_CONTRACTS = [
713
809
  { flag: "--force" },
714
810
  ];
715
811
  export const DELETE_FLAG_CONTRACTS = [
812
+ { flag: "--dry-run" },
716
813
  { flag: "--author" },
717
814
  { flag: "--message" },
718
815
  { flag: "--force" },
@@ -801,6 +898,12 @@ export const HEALTH_FLAG_CONTRACTS = [
801
898
  { flag: "--no-refresh" },
802
899
  { flag: "--refresh-vectors" },
803
900
  { flag: "--verbose-stale-items" },
901
+ { flag: "--brief" },
902
+ { flag: "--summary" },
903
+ { flag: "--skip-vectors" },
904
+ { flag: "--skip-integrity" },
905
+ { flag: "--skip-drift" },
906
+ { flag: "--full" },
804
907
  ];
805
908
  export const VALIDATE_FLAG_CONTRACTS = [
806
909
  { flag: "--check-metadata" },
@@ -813,6 +916,7 @@ export const VALIDATE_FLAG_CONTRACTS = [
813
916
  { flag: "--scan-mode" },
814
917
  { flag: "--include-pm-internals" },
815
918
  { flag: "--verbose-file-lists" },
919
+ { flag: "--verbose-diagnostics" },
816
920
  { flag: "--strict-exit" },
817
921
  { flag: "--fail-on-warn" },
818
922
  { flag: "--check-history-drift" },
@@ -1151,6 +1255,8 @@ export const ACTIVITY_FLAG_CONTRACTS = [
1151
1255
  { flag: "--from" },
1152
1256
  { flag: "--to" },
1153
1257
  { flag: "--limit" },
1258
+ { flag: "--compact" },
1259
+ { flag: "--full" },
1154
1260
  { flag: "--stream" },
1155
1261
  ];
1156
1262
  export const CONTEXT_FLAG_CONTRACTS = [
@@ -1173,6 +1279,11 @@ export const CONTEXT_FLAG_CONTRACTS = [
1173
1279
  { flag: "--activity-limit" },
1174
1280
  { flag: "--stale-threshold" },
1175
1281
  ];
1282
+ export const GET_FLAG_CONTRACTS = [
1283
+ { flag: "--depth" },
1284
+ { flag: "--full" },
1285
+ { flag: "--fields" },
1286
+ ];
1176
1287
  export const GUIDE_FLAG_CONTRACTS = [
1177
1288
  { flag: "--list" },
1178
1289
  { flag: "--format" },
@@ -1186,6 +1297,8 @@ export const DEPS_FLAG_CONTRACTS = [
1186
1297
  ];
1187
1298
  export const SEARCH_FLAG_CONTRACTS = [
1188
1299
  { flag: "--mode" },
1300
+ { flag: "--semantic" },
1301
+ { flag: "--hybrid" },
1189
1302
  { flag: "--include-linked" },
1190
1303
  { flag: "--title-exact" },
1191
1304
  { flag: "--phrase-exact" },
@@ -1207,6 +1320,7 @@ export const CONTRACTS_FLAG_CONTRACTS = [
1207
1320
  { flag: "--availability-only" },
1208
1321
  { flag: "--runtime-only" },
1209
1322
  { flag: "--active-only" },
1323
+ { flag: "--full" },
1210
1324
  ];
1211
1325
  export const COMPLETION_FLAG_CONTRACTS = [
1212
1326
  { flag: "--eager-tags" },
@@ -1239,7 +1353,6 @@ const LIST_COMMAND_NAME_CONTRACTS = new Set([
1239
1353
  "list-canceled",
1240
1354
  ]);
1241
1355
  const NO_SURFACE_COMMAND_NAME_CONTRACTS = new Set([
1242
- "get",
1243
1356
  "stats",
1244
1357
  "reindex",
1245
1358
  "help",
@@ -1281,8 +1394,9 @@ export function resolveSubcommandFlagContractsForCommand(commandName) {
1281
1394
  case "extension":
1282
1395
  case "package":
1283
1396
  case "packages":
1284
- case "install":
1285
1397
  return withSubcommandGlobalFlags(EXTENSION_FLAG_CONTRACTS);
1398
+ case "install":
1399
+ return withSubcommandGlobalFlags(INSTALL_FLAG_CONTRACTS);
1286
1400
  case "upgrade":
1287
1401
  return withSubcommandGlobalFlags(UPGRADE_FLAG_CONTRACTS);
1288
1402
  case "create":
@@ -1297,10 +1411,20 @@ export function resolveSubcommandFlagContractsForCommand(commandName) {
1297
1411
  return withSubcommandGlobalFlags(CALENDAR_FLAG_CONTRACTS);
1298
1412
  case "context":
1299
1413
  return withSubcommandGlobalFlags(CONTEXT_FLAG_CONTRACTS);
1414
+ case "get":
1415
+ return withSubcommandGlobalFlags(GET_FLAG_CONTRACTS);
1300
1416
  case "search":
1301
1417
  return withSubcommandGlobalFlags(SEARCH_FLAG_CONTRACTS);
1302
1418
  case "history":
1303
1419
  return withSubcommandGlobalFlags(HISTORY_FLAG_CONTRACTS);
1420
+ case "history-redact":
1421
+ return withSubcommandGlobalFlags(HISTORY_REDACT_FLAG_CONTRACTS);
1422
+ case "history-repair":
1423
+ return withSubcommandGlobalFlags(HISTORY_REPAIR_FLAG_CONTRACTS);
1424
+ case "schema":
1425
+ return withSubcommandGlobalFlags(SCHEMA_FLAG_CONTRACTS);
1426
+ case "plan":
1427
+ return withSubcommandGlobalFlags(PLAN_FLAG_CONTRACTS);
1304
1428
  case "activity":
1305
1429
  return withSubcommandGlobalFlags(ACTIVITY_FLAG_CONTRACTS);
1306
1430
  case "restore":
@@ -1393,6 +1517,9 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1393
1517
  sort: { type: "string", enum: ["priority", "deadline", "updated_at", "created_at", "title", "parent"] },
1394
1518
  prefix: { type: "string" },
1395
1519
  preset: { type: "string", enum: ["minimal", "default", "strict", "custom"] },
1520
+ defaults: { type: "boolean" },
1521
+ agentGuidance: { type: "string", enum: ["ask", "add", "skip", "status"] },
1522
+ withPackages: { type: "boolean" },
1396
1523
  scope: { type: "string", enum: ["project", "global"] },
1397
1524
  contractAction: { type: "string" },
1398
1525
  command: { type: "string" },
@@ -1468,6 +1595,7 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1468
1595
  },
1469
1596
  op: { type: "string" },
1470
1597
  compact: { type: "boolean" },
1598
+ brief: { type: "boolean" },
1471
1599
  full: { type: "boolean" },
1472
1600
  view: { type: "string", enum: ["agenda", "day", "week", "month"] },
1473
1601
  date: { type: "string" },
@@ -1480,6 +1608,8 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1480
1608
  recurrenceLookbackDays: { anyOf: [{ type: "string" }, { type: "number" }] },
1481
1609
  occurrenceLimit: { anyOf: [{ type: "string" }, { type: "number" }] },
1482
1610
  includeLinked: { type: "boolean" },
1611
+ semantic: { type: "boolean" },
1612
+ hybrid: { type: "boolean" },
1483
1613
  titleExact: { type: "boolean" },
1484
1614
  phraseExact: { type: "boolean" },
1485
1615
  includeBody: { type: "boolean" },
@@ -1517,6 +1647,9 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1517
1647
  autoPmContext: { type: "boolean" },
1518
1648
  diff: { type: "boolean" },
1519
1649
  verify: { type: "boolean" },
1650
+ literal: { type: "array", items: { type: "string" } },
1651
+ regex: { type: "array", items: { type: "string" } },
1652
+ replacement: { type: "string" },
1520
1653
  timeout: { anyOf: [{ type: "string" }, { type: "number" }] },
1521
1654
  validateClose: { type: "string", enum: ["off", "warn", "strict"] },
1522
1655
  checkMetadata: { type: "boolean" },
@@ -1568,6 +1701,10 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1568
1701
  file: { type: "string" },
1569
1702
  preserveSourceIds: { type: "boolean" },
1570
1703
  folder: { type: "string" },
1704
+ subcommand: { type: "string" },
1705
+ name: { type: "string" },
1706
+ defaultStatus: { type: "string" },
1707
+ alias: { type: "array", items: { type: "string" } },
1571
1708
  text: { type: "string" },
1572
1709
  add: { type: "array", items: { type: "string" } },
1573
1710
  addGlob: { type: "array", items: { type: "string" } },
@@ -1614,6 +1751,101 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1614
1751
  staleThreshold: { type: "string" },
1615
1752
  policy: { type: "string" },
1616
1753
  };
1754
+ const PLAN_SUBCOMMAND_VALUES = [
1755
+ "create",
1756
+ "show",
1757
+ "add-step",
1758
+ "update-step",
1759
+ "complete-step",
1760
+ "block-step",
1761
+ "reorder-step",
1762
+ "remove-step",
1763
+ "link",
1764
+ "unlink",
1765
+ "decision",
1766
+ "discovery",
1767
+ "validation",
1768
+ "resume",
1769
+ "approve",
1770
+ "materialize",
1771
+ ];
1772
+ const PLAN_ACTION_PARAMETER_PROPERTIES = {
1773
+ subcommand: { type: "string", enum: [...PLAN_SUBCOMMAND_VALUES] },
1774
+ stepRef: { type: "string" },
1775
+ reorderTo: { anyOf: [{ type: "string" }, { type: "number" }] },
1776
+ scope: { type: "string" },
1777
+ harness: { type: "string", enum: [...PLAN_HARNESS_VALUES] },
1778
+ mode: { type: "string", enum: [...PLAN_MODE_VALUES] },
1779
+ resumeContext: { type: "string" },
1780
+ related: { type: "string" },
1781
+ blocks: { type: "string" },
1782
+ claim: { type: "boolean" },
1783
+ fromSearch: { type: "string" },
1784
+ stepTitle: { type: "string" },
1785
+ stepBody: { type: "string" },
1786
+ stepOwner: { type: "string" },
1787
+ stepStatus: { type: "string", enum: [...PLAN_STEP_STATUS_VALUES] },
1788
+ stepEvidence: { type: "string" },
1789
+ stepBlockedReason: { type: "string" },
1790
+ stepReplacement: { type: "string" },
1791
+ dependsOn: { type: "string" },
1792
+ link: { type: "string" },
1793
+ linkKind: { type: "string", enum: [...PLAN_STEP_LINK_KIND_VALUES] },
1794
+ linkNote: { type: "string" },
1795
+ promoteToItemDep: { type: "boolean" },
1796
+ allowMultipleActive: { type: "boolean" },
1797
+ file: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1798
+ test: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1799
+ doc: { anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }] },
1800
+ decisionText: { type: "string" },
1801
+ decision: { type: "string" },
1802
+ decisionRationale: { type: "string" },
1803
+ decisionEvidence: { type: "string" },
1804
+ discoveryText: { type: "string" },
1805
+ discovery: { type: "string" },
1806
+ validationText: { type: "string" },
1807
+ validation: { type: "string" },
1808
+ validationCommand: { type: "string" },
1809
+ validationExpected: { type: "string" },
1810
+ steps: { type: "array", items: { type: "string" } },
1811
+ materializeType: { type: "string" },
1812
+ materializeParent: { type: "string" },
1813
+ materializeTags: { type: "string" },
1814
+ };
1815
+ const PLAN_ACTION_PARAMETER_METADATA = {
1816
+ subcommand: {
1817
+ description: "Plan workflow operation to run.",
1818
+ examples: ["create", "show", "add-step", "approve"],
1819
+ },
1820
+ stepRef: {
1821
+ description: "Plan step id or order for step lifecycle subcommands.",
1822
+ examples: ["plan-step-001", "1"],
1823
+ },
1824
+ reorderTo: {
1825
+ description: "New integer order for reorder-step.",
1826
+ examples: [1, "2"],
1827
+ },
1828
+ scope: {
1829
+ description: "Short free-text scope statement describing what the Plan covers.",
1830
+ examples: ["Release readiness audit", "Search package migration"],
1831
+ },
1832
+ mode: {
1833
+ description: "Plan lifecycle mode.",
1834
+ examples: ["draft", "research", "approved"],
1835
+ },
1836
+ file: {
1837
+ description: "File link to attach while creating or materializing a Plan.",
1838
+ examples: ["path=src/cli.ts,note=implementation surface"],
1839
+ },
1840
+ test: {
1841
+ description: "Test command link to attach while creating or materializing a Plan.",
1842
+ examples: ["command=pnpm build,timeout_seconds=300"],
1843
+ },
1844
+ doc: {
1845
+ description: "Documentation link to attach while creating or materializing a Plan.",
1846
+ examples: ["path=docs/SDK.md,note=public API reference"],
1847
+ },
1848
+ };
1617
1849
  const PM_TOOL_GLOBAL_PARAMETER_KEYS = ["json", "quiet", "profile", "noExtensions", "noPager", "path", "pmExecutable", "timeoutMs"];
1618
1850
  function toSchemaKeyList(values) {
1619
1851
  return normalizeUniqueStringList(values);
@@ -1657,6 +1889,8 @@ const LIST_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1657
1889
  ...TOOL_LIST_FILTER_OPTION_CONTRACTS.map((entry) => entry.param),
1658
1890
  "includeBody",
1659
1891
  "compact",
1892
+ "brief",
1893
+ "full",
1660
1894
  ]);
1661
1895
  const AGGREGATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1662
1896
  ...TOOL_AGGREGATE_OPTION_CONTRACTS.map((entry) => entry.param),
@@ -1668,6 +1902,8 @@ const SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1668
1902
  "query",
1669
1903
  "keywords",
1670
1904
  "mode",
1905
+ "semantic",
1906
+ "hybrid",
1671
1907
  "includeLinked",
1672
1908
  "titleExact",
1673
1909
  "phraseExact",
@@ -1677,7 +1913,7 @@ const SEARCH_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1677
1913
  ]);
1678
1914
  const AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS = ["author", "message", "force"];
1679
1915
  const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1680
- init: { optional: ["prefix", "preset"] },
1916
+ init: { optional: ["prefix", "preset", "defaults", "author", "agentGuidance", "withPackages"] },
1681
1917
  config: {
1682
1918
  required: ["scope", "configAction"],
1683
1919
  optional: ["key", "criterion", "clearCriteria", "format", "policy"],
@@ -1790,20 +2026,90 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1790
2026
  guide: { optional: ["format", "depth"] },
1791
2027
  context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
1792
2028
  ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
1793
- get: { required: ["id"] },
2029
+ get: { required: ["id"], optional: ["depth", "full", "fields"] },
1794
2030
  search: {
1795
2031
  optional: SEARCH_CONTRACT_PARAMETER_KEYS,
1796
2032
  anyOfRequired: [["query"], ["keywords"]],
1797
2033
  },
1798
2034
  reindex: { optional: ["mode", "progress"] },
1799
- history: { required: ["id"], optional: ["limit", "diff", "verify"] },
2035
+ history: { required: ["id"], optional: ["limit", "compact", "full", "diff", "verify"] },
2036
+ "history-redact": {
2037
+ required: ["id"],
2038
+ optional: ["literal", "regex", "replacement", "dryRun", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],
2039
+ anyOfRequired: [["literal"], ["regex"]],
2040
+ },
2041
+ "history-repair": {
2042
+ required: ["id"],
2043
+ optional: ["dryRun", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],
2044
+ },
2045
+ schema: {
2046
+ required: ["subcommand", "name"],
2047
+ // No --message: schema add-type writes a config file, not item history.
2048
+ optional: ["description", "defaultStatus", "folder", "alias", "author", "force"],
2049
+ },
2050
+ plan: {
2051
+ required: ["subcommand"],
2052
+ optional: [
2053
+ "id",
2054
+ "stepRef",
2055
+ "reorderTo",
2056
+ "title",
2057
+ "description",
2058
+ "scope",
2059
+ "parent",
2060
+ "related",
2061
+ "blocks",
2062
+ "blockedBy",
2063
+ "harness",
2064
+ "mode",
2065
+ "resumeContext",
2066
+ "tags",
2067
+ "priority",
2068
+ "body",
2069
+ "claim",
2070
+ "fromSearch",
2071
+ "stepTitle",
2072
+ "stepBody",
2073
+ "stepOwner",
2074
+ "stepStatus",
2075
+ "stepEvidence",
2076
+ "stepBlockedReason",
2077
+ "stepReplacement",
2078
+ "dependsOn",
2079
+ "link",
2080
+ "linkKind",
2081
+ "linkNote",
2082
+ "promoteToItemDep",
2083
+ "allowMultipleActive",
2084
+ "file",
2085
+ "test",
2086
+ "doc",
2087
+ "decisionText",
2088
+ "decision",
2089
+ "decisionRationale",
2090
+ "decisionEvidence",
2091
+ "discoveryText",
2092
+ "discovery",
2093
+ "validationText",
2094
+ "validation",
2095
+ "validationCommand",
2096
+ "validationExpected",
2097
+ "depth",
2098
+ "fields",
2099
+ "steps",
2100
+ "materializeType",
2101
+ "materializeParent",
2102
+ "materializeTags",
2103
+ ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS,
2104
+ ],
2105
+ },
1800
2106
  activity: { optional: ACTIVITY_CONTRACT_PARAMETER_KEYS },
1801
2107
  restore: { required: ["id", "target"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1802
2108
  update: { required: ["id"], optional: UPDATE_CONTRACT_PARAMETER_KEYS },
1803
2109
  "update-many": { optional: UPDATE_MANY_CONTRACT_PARAMETER_KEYS },
1804
2110
  normalize: { optional: NORMALIZE_CONTRACT_PARAMETER_KEYS },
1805
2111
  close: { required: ["id", "text"], optional: ["validateClose", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
1806
- delete: { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
2112
+ delete: { required: ["id"], optional: ["dryRun", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
1807
2113
  append: { required: ["id", "body"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1808
2114
  comments: {
1809
2115
  required: ["id"],
@@ -1928,6 +2234,11 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1928
2234
  "noRefresh",
1929
2235
  "refreshVectors",
1930
2236
  "verboseStaleItems",
2237
+ "summary",
2238
+ "skipVectors",
2239
+ "skipIntegrity",
2240
+ "skipDrift",
2241
+ "full",
1931
2242
  ],
1932
2243
  },
1933
2244
  validate: {
@@ -1942,6 +2253,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1942
2253
  "scanMode",
1943
2254
  "includePmInternals",
1944
2255
  "verboseFileLists",
2256
+ "verboseDiagnostics",
1945
2257
  "strictExit",
1946
2258
  "failOnWarn",
1947
2259
  "checkHistoryDrift",
@@ -1957,7 +2269,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1957
2269
  "pause-task": { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1958
2270
  "close-task": { required: ["id", "text"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1959
2271
  };
1960
- export const PM_TOOL_ACTION_PARAMETER_CONTRACTS = PM_TOOL_ACTION_SCHEMA_CONTRACTS;
2272
+ export const PM_TOOL_ACTION_PARAMETER_CONTRACTS = Object.freeze(Object.fromEntries(PM_TOOL_ACTIONS.map((action) => [action, PM_TOOL_ACTION_SCHEMA_CONTRACTS[action]])));
1961
2273
  const PM_TOOL_PARAMETER_METADATA = {
1962
2274
  action: {
1963
2275
  description: "Tool action to execute.",
@@ -1967,7 +2279,7 @@ const PM_TOOL_PARAMETER_METADATA = {
1967
2279
  examples: [".agents/pm"],
1968
2280
  },
1969
2281
  scope: {
1970
- description: "Scope selector for commands that operate on project or global state.",
2282
+ description: "Scope selector for commands that operate on project or global state. Linked files, docs, and tests default to project scope when omitted.",
1971
2283
  examples: ["project", "global"],
1972
2284
  },
1973
2285
  detail: {
@@ -2055,10 +2367,36 @@ const PM_TOOL_PARAMETER_METADATA = {
2055
2367
  description: "Item type name from the active runtime type registry.",
2056
2368
  examples: ["Task", "Feature"],
2057
2369
  },
2370
+ subcommand: {
2371
+ description: "Subcommand for the schema action.",
2372
+ examples: ["add-type"],
2373
+ },
2374
+ name: {
2375
+ description: "Custom item type name to register (for schema add-type).",
2376
+ examples: ["Spike"],
2377
+ },
2378
+ defaultStatus: {
2379
+ description: "Default status hint recorded for a custom item type.",
2380
+ examples: ["open"],
2381
+ },
2382
+ alias: {
2383
+ description: "Aliases for the custom item type (repeatable).",
2384
+ examples: [["spike", "research"]],
2385
+ },
2058
2386
  preset: {
2059
2387
  description: "Governance preset for initialization flows.",
2060
2388
  examples: ["minimal", "default", "strict"],
2061
2389
  },
2390
+ defaults: {
2391
+ description: "Use non-interactive setup defaults during initialization.",
2392
+ },
2393
+ agentGuidance: {
2394
+ description: "Control AGENTS.md/CLAUDE.md guidance behavior during init: ask, add, skip, or status.",
2395
+ examples: ["ask", "add", "skip", "status"],
2396
+ },
2397
+ withPackages: {
2398
+ description: "Install all bundled first-party pm packages during initialization.",
2399
+ },
2062
2400
  createMode: {
2063
2401
  description: "Create required-option policy mode.",
2064
2402
  examples: ["strict", "progressive"],
@@ -2235,6 +2573,18 @@ const PM_TOOL_PARAMETER_METADATA = {
2235
2573
  description: "Number of most recent comments to include per item in comments-audit output (use 0 for summary-only item rows).",
2236
2574
  examples: [0, 1, "3"],
2237
2575
  },
2576
+ literal: {
2577
+ description: "Repeatable literal matcher used by history-redact to scrub exact string values.",
2578
+ examples: ["[redacted_path_prefix]/private/path"],
2579
+ },
2580
+ regex: {
2581
+ description: "Repeatable regex matcher used by history-redact. Accepts either /pattern/flags or a raw pattern (global mode is auto-enabled).",
2582
+ examples: ["/192\\\\.168\\\\.[0-9.]+/g", "token=[A-Za-z0-9_-]+"],
2583
+ },
2584
+ replacement: {
2585
+ description: 'Replacement text used by history-redact (defaults to "[redacted]").',
2586
+ examples: ["[scrubbed_path]"],
2587
+ },
2238
2588
  validateClose: {
2239
2589
  description: 'Close-time metadata validation mode ("off", "warn", or "strict").',
2240
2590
  examples: ["off", "warn", "strict"],
@@ -2280,6 +2630,15 @@ const PM_TOOL_PARAMETER_METADATA = {
2280
2630
  verboseStaleItems: {
2281
2631
  description: "For health action, include full stale-item arrays in vectorization details.",
2282
2632
  },
2633
+ skipVectors: {
2634
+ description: "For health action, skip vectorization checks for a faster diagnostic run.",
2635
+ },
2636
+ skipIntegrity: {
2637
+ description: "For health action, skip item/history file integrity checks for a faster diagnostic run.",
2638
+ },
2639
+ skipDrift: {
2640
+ description: "For health action, skip history drift hash checks for a faster diagnostic run.",
2641
+ },
2283
2642
  scanMode: {
2284
2643
  description: "Select file candidate scan mode for --check-files.",
2285
2644
  examples: ["default", "tracked-all", "tracked-all-strict"],
@@ -2290,8 +2649,11 @@ const PM_TOOL_PARAMETER_METADATA = {
2290
2649
  verboseFileLists: {
2291
2650
  description: "For validate action, include full file-path lists for --check-files details.",
2292
2651
  },
2652
+ verboseDiagnostics: {
2653
+ description: "For validate action, include full diagnostic ID lists instead of compact summaries.",
2654
+ },
2293
2655
  strictExit: {
2294
- description: "Return non-zero exit when health/validate/extension-doctor warnings are present (ok=false).",
2656
+ description: "Return non-zero exit when health/validate/extension-doctor warnings are present.",
2295
2657
  },
2296
2658
  failOnWarn: {
2297
2659
  description: "Alias for strictExit in health/validate/extension-doctor action payloads.",
@@ -2374,11 +2736,11 @@ const PM_TOOL_PARAMETER_METADATA = {
2374
2736
  description: "Render compact projection output for search and list-family actions.",
2375
2737
  },
2376
2738
  full: {
2377
- description: "Render full nested search hit payload output.",
2739
+ description: "Enable command-specific full/detail output mode when supported, such as deep item reads for get or full payload mode for search/history.",
2378
2740
  },
2379
2741
  fields: {
2380
- description: "Comma-separated projection fields for search or list-family outputs.",
2381
- examples: ["id,title,score,matched_fields", "id,title,parent,type"],
2742
+ description: "Comma-separated projection fields for get, search, or list-family outputs.",
2743
+ examples: ["id,title,status,parent,type", "id,title,score,matched_fields"],
2382
2744
  },
2383
2745
  groupBy: {
2384
2746
  description: "Comma-separated aggregate grouping fields (supported: parent,type,priority,status,assignee,tags,sprint,release).",
@@ -2469,6 +2831,27 @@ function decorateToolParameterDefinition(key, definition) {
2469
2831
  ...(metadata?.examples ? { examples: metadata.examples } : {}),
2470
2832
  };
2471
2833
  }
2834
+ function actionScopedToolParameterMetadata(action, key) {
2835
+ if (action === "plan" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_METADATA, key)) {
2836
+ return PLAN_ACTION_PARAMETER_METADATA[key];
2837
+ }
2838
+ return PM_TOOL_PARAMETER_METADATA[key];
2839
+ }
2840
+ function decorateActionScopedToolParameterDefinition(action, key, definition) {
2841
+ const baseDefinition = typeof definition === "object" && definition !== null ? { ...definition } : {};
2842
+ const metadata = actionScopedToolParameterMetadata(action, key);
2843
+ return {
2844
+ ...baseDefinition,
2845
+ description: metadata?.description ?? fallbackToolParameterDescription(key),
2846
+ ...(metadata?.examples ? { examples: metadata.examples } : {}),
2847
+ };
2848
+ }
2849
+ function actionScopedToolParameterDefinition(action, key) {
2850
+ if (action === "plan" && Object.prototype.hasOwnProperty.call(PLAN_ACTION_PARAMETER_PROPERTIES, key)) {
2851
+ return PLAN_ACTION_PARAMETER_PROPERTIES[key];
2852
+ }
2853
+ return PM_TOOL_PARAMETER_PROPERTIES[key];
2854
+ }
2472
2855
  function buildActionScopedToolSchema(action) {
2473
2856
  const contract = PM_TOOL_ACTION_SCHEMA_CONTRACTS[action];
2474
2857
  const required = toSchemaKeyList(contract.required ?? []);
@@ -2484,9 +2867,9 @@ function buildActionScopedToolSchema(action) {
2484
2867
  if (key === "action") {
2485
2868
  continue;
2486
2869
  }
2487
- const definition = PM_TOOL_PARAMETER_PROPERTIES[key];
2870
+ const definition = actionScopedToolParameterDefinition(action, key);
2488
2871
  if (definition) {
2489
- properties[key] = decorateToolParameterDefinition(key, definition);
2872
+ properties[key] = decorateActionScopedToolParameterDefinition(action, key, definition);
2490
2873
  }
2491
2874
  }
2492
2875
  const schema = {
@@ -2556,4 +2939,5 @@ function buildProviderCompatibleToolSchema() {
2556
2939
  };
2557
2940
  }
2558
2941
  export const PM_PROVIDER_TOOL_PARAMETERS_SCHEMA = buildProviderCompatibleToolSchema();
2559
- //# sourceMappingURL=cli-contracts.js.map
2942
+ //# sourceMappingURL=cli-contracts.js.map
2943
+ //# debugId=b7c80b7e-7951-5ab0-ab77-8e309cf59f0d