@unbrained/pm-cli 2026.5.6 → 2026.5.10

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 (197) hide show
  1. package/.agents/pm/extensions/.managed-extensions.json +2 -2
  2. package/.agents/pm/extensions/beads/runtime.js +4 -4
  3. package/.agents/pm/extensions/beads/runtime.ts +5 -5
  4. package/.agents/pm/extensions/todos/runtime.js +7 -7
  5. package/.agents/pm/extensions/todos/runtime.ts +10 -10
  6. package/.agents/skills/HARNESS_COMPATIBILITY.md +45 -0
  7. package/.agents/skills/README.md +21 -0
  8. package/.agents/skills/pm-developer/SKILL.md +73 -0
  9. package/.agents/skills/pm-developer/references/COMMAND_PLAYBOOK.md +48 -0
  10. package/.agents/skills/pm-developer/references/PROMPTS.md +17 -0
  11. package/.agents/skills/pm-extensions/SKILL.md +57 -0
  12. package/.agents/skills/pm-extensions/references/LIFECYCLE.md +40 -0
  13. package/.agents/skills/pm-extensions/references/TROUBLESHOOTING.md +25 -0
  14. package/.agents/skills/pm-sdk/SKILL.md +50 -0
  15. package/.agents/skills/pm-sdk/references/INTEGRATION_CHECKLIST.md +31 -0
  16. package/.agents/skills/pm-sdk/references/PROMPTS.md +13 -0
  17. package/.agents/skills/pm-user/SKILL.md +59 -0
  18. package/.agents/skills/pm-user/references/PROMPTS.md +17 -0
  19. package/.agents/skills/pm-user/references/WORKFLOWS.md +35 -0
  20. package/.claude-plugin/marketplace.json +38 -0
  21. package/.pi/README.md +26 -0
  22. package/.pi/extensions/pm-cli/index.js +147 -0
  23. package/.pi/prompts/pm-workflow.md +5 -0
  24. package/.pi/skills/pm-native/SKILL.md +40 -0
  25. package/.pi/skills/pm-release/SKILL.md +35 -0
  26. package/AGENTS.md +1 -1
  27. package/CHANGELOG.md +6 -0
  28. package/PRD.md +16 -16
  29. package/README.md +22 -4
  30. package/dist/cli/commands/claim.js +6 -6
  31. package/dist/cli/commands/claim.js.map +1 -1
  32. package/dist/cli/commands/close.js +9 -9
  33. package/dist/cli/commands/close.js.map +1 -1
  34. package/dist/cli/commands/comments.d.ts +2 -0
  35. package/dist/cli/commands/comments.js +57 -8
  36. package/dist/cli/commands/comments.js.map +1 -1
  37. package/dist/cli/commands/completion.js +33 -4
  38. package/dist/cli/commands/completion.js.map +1 -1
  39. package/dist/cli/commands/config.js +6 -3
  40. package/dist/cli/commands/config.js.map +1 -1
  41. package/dist/cli/commands/contracts.js +4 -1
  42. package/dist/cli/commands/contracts.js.map +1 -1
  43. package/dist/cli/commands/create.d.ts +2 -2
  44. package/dist/cli/commands/create.js +4 -4
  45. package/dist/cli/commands/create.js.map +1 -1
  46. package/dist/cli/commands/docs.js +4 -4
  47. package/dist/cli/commands/docs.js.map +1 -1
  48. package/dist/cli/commands/files.js +10 -10
  49. package/dist/cli/commands/files.js.map +1 -1
  50. package/dist/cli/commands/get.js +5 -5
  51. package/dist/cli/commands/get.js.map +1 -1
  52. package/dist/cli/commands/guide.d.ts +55 -0
  53. package/dist/cli/commands/guide.js +260 -0
  54. package/dist/cli/commands/guide.js.map +1 -0
  55. package/dist/cli/commands/health.js +1 -1
  56. package/dist/cli/commands/health.js.map +1 -1
  57. package/dist/cli/commands/history.js +30 -10
  58. package/dist/cli/commands/history.js.map +1 -1
  59. package/dist/cli/commands/index.d.ts +1 -0
  60. package/dist/cli/commands/index.js +1 -0
  61. package/dist/cli/commands/index.js.map +1 -1
  62. package/dist/cli/commands/learnings.js +3 -3
  63. package/dist/cli/commands/learnings.js.map +1 -1
  64. package/dist/cli/commands/notes.js +3 -3
  65. package/dist/cli/commands/notes.js.map +1 -1
  66. package/dist/cli/commands/reindex.js +18 -32
  67. package/dist/cli/commands/reindex.js.map +1 -1
  68. package/dist/cli/commands/restore.d.ts +2 -2
  69. package/dist/cli/commands/restore.js +44 -24
  70. package/dist/cli/commands/restore.js.map +1 -1
  71. package/dist/cli/commands/search.d.ts +2 -0
  72. package/dist/cli/commands/search.js +30 -21
  73. package/dist/cli/commands/search.js.map +1 -1
  74. package/dist/cli/commands/test-all.d.ts +2 -0
  75. package/dist/cli/commands/test-all.js +2 -0
  76. package/dist/cli/commands/test-all.js.map +1 -1
  77. package/dist/cli/commands/test.d.ts +1 -0
  78. package/dist/cli/commands/test.js +4 -3
  79. package/dist/cli/commands/test.js.map +1 -1
  80. package/dist/cli/commands/update.js +118 -118
  81. package/dist/cli/commands/update.js.map +1 -1
  82. package/dist/cli/commands/validate.js +1 -1
  83. package/dist/cli/commands/validate.js.map +1 -1
  84. package/dist/cli/guide-topics.d.ts +25 -0
  85. package/dist/cli/guide-topics.js +283 -0
  86. package/dist/cli/guide-topics.js.map +1 -0
  87. package/dist/cli/help-content.js +25 -1
  88. package/dist/cli/help-content.js.map +1 -1
  89. package/dist/cli/register-list-query.js +38 -1
  90. package/dist/cli/register-list-query.js.map +1 -1
  91. package/dist/cli/register-mutation.js +17 -4
  92. package/dist/cli/register-mutation.js.map +1 -1
  93. package/dist/cli/register-setup.js +1 -1
  94. package/dist/cli/register-setup.js.map +1 -1
  95. package/dist/core/history/history.js +32 -11
  96. package/dist/core/history/history.js.map +1 -1
  97. package/dist/core/item/item-format.d.ts +2 -2
  98. package/dist/core/item/item-format.js +16 -16
  99. package/dist/core/item/item-format.js.map +1 -1
  100. package/dist/core/schema/runtime-field-filters.js +1 -1
  101. package/dist/core/schema/runtime-field-filters.js.map +1 -1
  102. package/dist/core/schema/runtime-field-values.js +2 -2
  103. package/dist/core/schema/runtime-field-values.js.map +1 -1
  104. package/dist/core/schema/runtime-schema.d.ts +1 -1
  105. package/dist/core/schema/runtime-schema.js +3 -3
  106. package/dist/core/schema/runtime-schema.js.map +1 -1
  107. package/dist/core/search/cache.js +7 -21
  108. package/dist/core/search/cache.js.map +1 -1
  109. package/dist/core/search/corpus.d.ts +13 -0
  110. package/dist/core/search/corpus.js +74 -0
  111. package/dist/core/search/corpus.js.map +1 -0
  112. package/dist/core/search/embedding-batches.js +90 -30
  113. package/dist/core/search/embedding-batches.js.map +1 -1
  114. package/dist/core/sentry/instrument.d.ts +3 -1
  115. package/dist/core/sentry/instrument.js +93 -9
  116. package/dist/core/sentry/instrument.js.map +1 -1
  117. package/dist/core/shared/constants.d.ts +1 -1
  118. package/dist/core/shared/constants.js +1 -1
  119. package/dist/core/shared/constants.js.map +1 -1
  120. package/dist/core/store/front-matter-cache.d.ts +1 -1
  121. package/dist/core/store/front-matter-cache.js +13 -13
  122. package/dist/core/store/front-matter-cache.js.map +1 -1
  123. package/dist/core/store/item-format-migration.js +5 -2
  124. package/dist/core/store/item-format-migration.js.map +1 -1
  125. package/dist/core/store/item-store.js +16 -15
  126. package/dist/core/store/item-store.js.map +1 -1
  127. package/dist/core/store/paths.js +1 -1
  128. package/dist/core/store/paths.js.map +1 -1
  129. package/dist/core/store/settings.js +6 -1
  130. package/dist/core/store/settings.js.map +1 -1
  131. package/dist/core/test/item-test-run-tracking.js +2 -2
  132. package/dist/core/test/item-test-run-tracking.js.map +1 -1
  133. package/dist/mcp/server.d.ts +2 -0
  134. package/dist/mcp/server.js +405 -0
  135. package/dist/mcp/server.js.map +1 -0
  136. package/dist/pi/native.d.ts +5 -0
  137. package/dist/pi/native.js +183 -0
  138. package/dist/pi/native.js.map +1 -0
  139. package/dist/sdk/cli-contracts.d.ts +3 -1
  140. package/dist/sdk/cli-contracts.js +67 -2
  141. package/dist/sdk/cli-contracts.js.map +1 -1
  142. package/dist/types.d.ts +10 -2
  143. package/dist/types.js.map +1 -1
  144. package/docs/AGENT_GUIDE.md +15 -0
  145. package/docs/ARCHITECTURE.md +2 -2
  146. package/docs/CLAUDE_CODE_PLUGIN.md +186 -0
  147. package/docs/CODEX_PLUGIN.md +33 -0
  148. package/docs/COMMANDS.md +6 -2
  149. package/docs/CONFIGURATION.md +2 -8
  150. package/docs/EXTENSIONS.md +1 -0
  151. package/docs/PI_PACKAGE.md +56 -0
  152. package/docs/QUICKSTART.md +1 -0
  153. package/docs/README.md +30 -1
  154. package/docs/RELEASING.md +4 -2
  155. package/docs/SDK.md +3 -2
  156. package/marketplace.json +34 -0
  157. package/package.json +38 -4
  158. package/plugins/pm-cli-claude/.claude-plugin/plugin.json +23 -0
  159. package/plugins/pm-cli-claude/.mcp.json +12 -0
  160. package/plugins/pm-cli-claude/README.md +184 -0
  161. package/plugins/pm-cli-claude/agents/pm-coordinator.md +48 -0
  162. package/plugins/pm-cli-claude/commands/pm-audit.md +39 -0
  163. package/plugins/pm-cli-claude/commands/pm-calendar.md +41 -0
  164. package/plugins/pm-cli-claude/commands/pm-close-task.md +20 -0
  165. package/plugins/pm-cli-claude/commands/pm-developer.md +38 -0
  166. package/plugins/pm-cli-claude/commands/pm-init.md +44 -0
  167. package/plugins/pm-cli-claude/commands/pm-list.md +39 -0
  168. package/plugins/pm-cli-claude/commands/pm-new.md +36 -0
  169. package/plugins/pm-cli-claude/commands/pm-planner.md +51 -0
  170. package/plugins/pm-cli-claude/commands/pm-release.md +41 -0
  171. package/plugins/pm-cli-claude/commands/pm-search.md +21 -0
  172. package/plugins/pm-cli-claude/commands/pm-start-task.md +27 -0
  173. package/plugins/pm-cli-claude/commands/pm-status.md +15 -0
  174. package/plugins/pm-cli-claude/commands/pm-triage.md +35 -0
  175. package/plugins/pm-cli-claude/commands/pm-workflow.md +49 -0
  176. package/plugins/pm-cli-claude/hooks/hooks.json +17 -0
  177. package/plugins/pm-cli-claude/hooks/session-start.mjs +55 -0
  178. package/plugins/pm-cli-claude/scripts/pm-mcp-server.mjs +60 -0
  179. package/plugins/pm-cli-claude/skills/pm-audit/SKILL.md +88 -0
  180. package/plugins/pm-cli-claude/skills/pm-developer/SKILL.md +116 -0
  181. package/plugins/pm-cli-claude/skills/pm-planner/SKILL.md +118 -0
  182. package/plugins/pm-cli-claude/skills/pm-release/SKILL.md +83 -0
  183. package/plugins/pm-cli-claude/skills/pm-workflow/SKILL.md +148 -0
  184. package/plugins/pm-cli-codex/.codex-plugin/plugin.json +45 -0
  185. package/plugins/pm-cli-codex/.mcp.json +14 -0
  186. package/plugins/pm-cli-codex/README.md +30 -0
  187. package/plugins/pm-cli-codex/assets/pm-cli-small.svg +4 -0
  188. package/plugins/pm-cli-codex/commands/pm-audit.md +8 -0
  189. package/plugins/pm-cli-codex/commands/pm-close-task.md +9 -0
  190. package/plugins/pm-cli-codex/commands/pm-start-task.md +9 -0
  191. package/plugins/pm-cli-codex/scripts/pm-mcp-server.mjs +54 -0
  192. package/plugins/pm-cli-codex/skills/pm-auditor/SKILL.md +21 -0
  193. package/plugins/pm-cli-codex/skills/pm-auditor/agents/openai.yaml +6 -0
  194. package/plugins/pm-cli-codex/skills/pm-native/SKILL.md +57 -0
  195. package/plugins/pm-cli-codex/skills/pm-native/agents/openai.yaml +6 -0
  196. package/plugins/pm-cli-codex/skills/pm-release/SKILL.md +19 -0
  197. package/plugins/pm-cli-codex/skills/pm-release/agents/openai.yaml +6 -0
@@ -0,0 +1,183 @@
1
+ import { PmCliError } from "../core/shared/errors.js";
2
+ import { readSettings } from "../core/store/settings.js";
3
+ import { resolvePmRoot } from "../core/store/paths.js";
4
+ import { normalizeStatusInput } from "../core/item/status.js";
5
+ import { resolveRuntimeStatusRegistry } from "../core/schema/runtime-schema.js";
6
+ import { runActivity, runAggregate, runAppend, runCalendar, runClaim, runClose, runComments, runCommentsAudit, runCompletion, runConfig, runContext, runContracts, runCreate, runDedupeAudit, runDelete, runDeps, runDocs, runExtension, runFiles, runFilesDiscover, runGc, runGet, runGuide, runHealth, runHistory, runInit, runLearnings, runList, runNormalize, runNotes, runReindex, runRelease, runRestore, runSearch, runStats, runTemplatesList, runTemplatesSave, runTemplatesShow, runTest, runTestAll, runTestRunsList, runTestRunsLogs, runTestRunsResume, runTestRunsStatus, runTestRunsStop, runUpdate, runUpdateMany, runValidate, } from "../cli/commands/index.js";
7
+ const GLOBAL_KEYS = new Set([
8
+ "action",
9
+ "cwd",
10
+ "path",
11
+ "json",
12
+ "quiet",
13
+ "profile",
14
+ "noExtensions",
15
+ "noPager",
16
+ "pmExecutable",
17
+ "timeoutMs",
18
+ "options",
19
+ ]);
20
+ function asRecord(value) {
21
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? { ...value } : {};
22
+ }
23
+ function readString(args, key) {
24
+ const value = args[key];
25
+ return typeof value === "string" && value.trim().length > 0 ? value : undefined;
26
+ }
27
+ function mutationOptions(options) {
28
+ return {
29
+ author: readString(options, "author"),
30
+ message: typeof options.message === "string" ? options.message : undefined,
31
+ };
32
+ }
33
+ function requiredString(args, key, action) {
34
+ const value = readString(args, key);
35
+ if (!value) {
36
+ throw new PmCliError(`Action "${action}" requires "${key}".`, 64);
37
+ }
38
+ return value;
39
+ }
40
+ export function nativeGlobalOptions(args) {
41
+ return {
42
+ json: args.json !== false,
43
+ quiet: args.quiet === true,
44
+ profile: args.profile === true,
45
+ noExtensions: args.noExtensions === true,
46
+ noPager: args.noPager !== false,
47
+ path: readString(args, "path"),
48
+ };
49
+ }
50
+ export function nativeCommandOptions(args) {
51
+ const options = asRecord(args.options);
52
+ for (const [key, value] of Object.entries(args)) {
53
+ if (GLOBAL_KEYS.has(key) || value === undefined)
54
+ continue;
55
+ if (options[key] === undefined)
56
+ options[key] = value;
57
+ }
58
+ const author = readString(args, "author");
59
+ if (author && options.author === undefined)
60
+ options.author = author;
61
+ return options;
62
+ }
63
+ async function withCwd(cwd, run) {
64
+ if (typeof cwd !== "string" || cwd.trim().length === 0)
65
+ return run();
66
+ const previous = process.cwd();
67
+ process.chdir(cwd);
68
+ try {
69
+ return await run();
70
+ }
71
+ finally {
72
+ process.chdir(previous);
73
+ }
74
+ }
75
+ async function runStartTask(id, options, global) {
76
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
77
+ const settings = await readSettings(pmRoot);
78
+ const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
79
+ const status = normalizeStatusInput("in_progress", statusRegistry) ?? statusRegistry.open_status;
80
+ const force = options.force === true;
81
+ const baseOptions = mutationOptions(options);
82
+ const claim = await runClaim(id, force, global, baseOptions);
83
+ const update = await runUpdate(id, { ...baseOptions, status, force }, global);
84
+ return { id, action: "start_task", claim, update };
85
+ }
86
+ async function runPauseTask(id, options, global) {
87
+ const pmRoot = resolvePmRoot(process.cwd(), global.path);
88
+ const settings = await readSettings(pmRoot);
89
+ const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);
90
+ const force = options.force === true;
91
+ const baseOptions = mutationOptions(options);
92
+ const update = await runUpdate(id, { ...baseOptions, status: statusRegistry.open_status, force }, global);
93
+ const release = await runRelease(id, force, global, baseOptions);
94
+ return { id, action: "pause_task", update, release };
95
+ }
96
+ async function runCloseTask(id, reason, options, global) {
97
+ const force = options.force === true;
98
+ const baseOptions = mutationOptions(options);
99
+ const close = await runClose(id, reason, { ...baseOptions, validateClose: readString(options, "validateClose"), force }, global);
100
+ const release = await runRelease(id, force, global, baseOptions);
101
+ return { id, action: "close_task", close, release };
102
+ }
103
+ export async function runNativePmAction(args) {
104
+ return withCwd(args.cwd, async () => {
105
+ const action = requiredString(args, "action", "pm").trim().toLowerCase();
106
+ const global = nativeGlobalOptions(args);
107
+ const options = nativeCommandOptions(args);
108
+ const id = readString(args, "id") ?? readString(options, "id");
109
+ const force = args.force === true || options.force === true;
110
+ switch (action) {
111
+ case "init": return runInit(readString(args, "prefix") ?? readString(options, "prefix"), global, options);
112
+ case "config": return runConfig(readString(args, "scope") ?? readString(options, "scope") ?? "project", readString(args, "configAction") ?? readString(options, "configAction") ?? requiredString(options, "action", action), readString(args, "key") ?? readString(options, "key"), options, global);
113
+ case "extension-init": return runExtension(requiredString(args, "target", action), { ...options, init: true }, global);
114
+ case "extension-install": return runExtension(readString(args, "target") ?? readString(options, "target"), { ...options, install: true }, global);
115
+ case "extension-uninstall": return runExtension(requiredString(args, "target", action), { ...options, uninstall: true }, global);
116
+ case "extension-explore": return runExtension(undefined, { ...options, explore: true }, global);
117
+ case "extension-manage": return runExtension(undefined, { ...options, manage: true }, global);
118
+ case "extension-doctor": return runExtension(undefined, { ...options, doctor: true }, global);
119
+ case "extension-adopt": return runExtension(requiredString(args, "target", action), { ...options, adopt: true }, global);
120
+ case "extension-adopt-all": return runExtension(undefined, { ...options, adoptAll: true }, global);
121
+ case "extension-activate": return runExtension(requiredString(args, "target", action), { ...options, activate: true }, global);
122
+ case "extension-deactivate": return runExtension(requiredString(args, "target", action), { ...options, deactivate: true }, global);
123
+ case "extension": return runExtension(readString(args, "target") ?? readString(options, "target"), options, global);
124
+ case "create": return runCreate(options, global);
125
+ case "list":
126
+ case "list-all":
127
+ case "list-draft":
128
+ case "list-open":
129
+ case "list-in-progress":
130
+ case "list-blocked":
131
+ case "list-closed":
132
+ case "list-canceled": return runList(action === "list" ? readString(args, "status") : action === "list-all" ? undefined : action.replace("list-", "").replaceAll("-", "_"), options, global);
133
+ case "aggregate": return runAggregate(options, global);
134
+ case "dedupe-audit": return runDedupeAudit(options, global);
135
+ case "calendar": return runCalendar(options, global);
136
+ case "context": return runContext(options, global);
137
+ case "get": return runGet(id ?? requiredString(options, "id", action), global);
138
+ case "search": return runSearch(readString(args, "query") ?? readString(args, "keywords") ?? requiredString(options, "query", action), options, global);
139
+ case "reindex": return runReindex(options, global);
140
+ case "history": return runHistory(id ?? requiredString(options, "id", action), options, global);
141
+ case "activity": return runActivity(options, global);
142
+ case "restore": return runRestore(id ?? requiredString(options, "id", action), readString(args, "target") ?? requiredString(options, "target", action), options, global);
143
+ case "update": return runUpdate(id ?? requiredString(options, "id", action), options, global);
144
+ case "update-many": return runUpdateMany(options, global);
145
+ case "normalize": return runNormalize(options, global);
146
+ case "close": return runClose(id ?? requiredString(options, "id", action), readString(args, "text") ?? readString(args, "reason") ?? requiredString(options, "text", action), options, global);
147
+ case "delete": return runDelete(id ?? requiredString(options, "id", action), options, global);
148
+ case "append": return runAppend(id ?? requiredString(options, "id", action), options, global);
149
+ case "comments": return runComments(id ?? requiredString(options, "id", action), options, global);
150
+ case "comments-audit": return runCommentsAudit(options, global);
151
+ case "notes": return runNotes(id ?? requiredString(options, "id", action), options, global);
152
+ case "learnings": return runLearnings(id ?? requiredString(options, "id", action), options, global);
153
+ case "files": return runFiles(id ?? requiredString(options, "id", action), options, global);
154
+ case "files-discover": return runFilesDiscover(id ?? requiredString(options, "id", action), options, global);
155
+ case "docs": return runDocs(id ?? requiredString(options, "id", action), options, global);
156
+ case "deps": return runDeps(id ?? requiredString(options, "id", action), options, global);
157
+ case "test": return runTest(id ?? requiredString(options, "id", action), options, global);
158
+ case "test-all": return runTestAll(options, global);
159
+ case "test-runs-list": return runTestRunsList(options, global);
160
+ case "test-runs-status": return runTestRunsStatus(requiredString(args, "runId", action), global);
161
+ case "test-runs-logs": return runTestRunsLogs(requiredString(args, "runId", action), options, global);
162
+ case "test-runs-stop": return runTestRunsStop(requiredString(args, "runId", action), options, global);
163
+ case "test-runs-resume": return runTestRunsResume(requiredString(args, "runId", action), options, global);
164
+ case "stats": return runStats(global);
165
+ case "health": return runHealth(global, options);
166
+ case "validate": return runValidate(options, global);
167
+ case "gc": return runGc(global, options);
168
+ case "contracts": return runContracts(options, global);
169
+ case "completion": return runCompletion(requiredString(args, "shell", action), undefined, undefined, options.eagerTags === true, options.runtime);
170
+ case "templates-save": return runTemplatesSave(readString(args, "template") ?? requiredString(options, "name", action), options, global);
171
+ case "templates-list": return runTemplatesList(global);
172
+ case "templates-show": return runTemplatesShow(readString(args, "template") ?? requiredString(options, "name", action), global);
173
+ case "claim": return runClaim(id ?? requiredString(options, "id", action), force, global, options);
174
+ case "release": return runRelease(id ?? requiredString(options, "id", action), force, global, options);
175
+ case "start-task": return runStartTask(id ?? requiredString(options, "id", action), options, global);
176
+ case "pause-task": return runPauseTask(id ?? requiredString(options, "id", action), options, global);
177
+ case "close-task": return runCloseTask(id ?? requiredString(options, "id", action), readString(args, "text") ?? readString(args, "reason") ?? requiredString(options, "text", action), options, global);
178
+ case "guide": return runGuide(options, global);
179
+ default: throw new PmCliError(`Unsupported native pm action: ${action}`, 64);
180
+ }
181
+ });
182
+ }
183
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"/","sources":["pi/native.ts"],"names":[],"mappings":"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","sourcesContent":["import type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport { resolvePmRoot } from \"../core/store/paths.js\";\nimport { normalizeStatusInput } from \"../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runCalendar,\n runClaim,\n runClose,\n runComments,\n runCommentsAudit,\n runCompletion,\n runConfig,\n runContext,\n runContracts,\n runCreate,\n runDedupeAudit,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runGuide,\n runHealth,\n runHistory,\n runInit,\n runLearnings,\n runList,\n runNormalize,\n runNotes,\n runReindex,\n runRelease,\n runRestore,\n runSearch,\n runStats,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runTest,\n runTestAll,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runUpdate,\n runUpdateMany,\n runValidate,\n} from \"../cli/commands/index.js\";\n\nexport type NativePmArgs = Record<string, unknown>;\n\nconst GLOBAL_KEYS = new Set([\n \"action\",\n \"cwd\",\n \"path\",\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"pmExecutable\",\n \"timeoutMs\",\n \"options\",\n]);\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value) ? { ...(value as Record<string, unknown>) } : {};\n}\n\nfunction readString(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n return typeof value === \"string\" && value.trim().length > 0 ? value : undefined;\n}\n\nfunction mutationOptions(options: Record<string, unknown>): { author?: string; message?: string } {\n return {\n author: readString(options, \"author\"),\n message: typeof options.message === \"string\" ? options.message : undefined,\n };\n}\n\nfunction requiredString(args: Record<string, unknown>, key: string, action: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Action \"${action}\" requires \"${key}\".`, 64);\n }\n return value;\n}\n\nexport function nativeGlobalOptions(args: NativePmArgs): GlobalOptions {\n return {\n json: args.json !== false,\n quiet: args.quiet === true,\n profile: args.profile === true,\n noExtensions: args.noExtensions === true,\n noPager: args.noPager !== false,\n path: readString(args, \"path\"),\n };\n}\n\nexport function nativeCommandOptions(args: NativePmArgs): Record<string, unknown> {\n const options = asRecord(args.options);\n for (const [key, value] of Object.entries(args)) {\n if (GLOBAL_KEYS.has(key) || value === undefined) continue;\n if (options[key] === undefined) options[key] = value;\n }\n const author = readString(args, \"author\");\n if (author && options.author === undefined) options.author = author;\n return options;\n}\n\nasync function withCwd<T>(cwd: unknown, run: () => Promise<T>): Promise<T> {\n if (typeof cwd !== \"string\" || cwd.trim().length === 0) return run();\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n return await run();\n } finally {\n process.chdir(previous);\n }\n}\n\nasync function runStartTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const status = normalizeStatusInput(\"in_progress\", statusRegistry) ?? statusRegistry.open_status;\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const claim = await runClaim(id, force, global, baseOptions);\n const update = await runUpdate(id, { ...baseOptions, status, force }, global);\n return { id, action: \"start_task\", claim, update };\n}\n\nasync function runPauseTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const update = await runUpdate(id, { ...baseOptions, status: statusRegistry.open_status, force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"pause_task\", update, release };\n}\n\nasync function runCloseTask(id: string, reason: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const close = await runClose(id, reason, { ...baseOptions, validateClose: readString(options, \"validateClose\"), force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"close_task\", close, release };\n}\n\nexport async function runNativePmAction(args: NativePmArgs): Promise<unknown> {\n return withCwd(args.cwd, async () => {\n const action = requiredString(args, \"action\", \"pm\").trim().toLowerCase();\n const global = nativeGlobalOptions(args);\n const options = nativeCommandOptions(args);\n const id = readString(args, \"id\") ?? readString(options, \"id\");\n const force = args.force === true || options.force === true;\n\n switch (action) {\n case \"init\": return runInit(readString(args, \"prefix\") ?? readString(options, \"prefix\"), global, options);\n case \"config\": return runConfig(readString(args, \"scope\") ?? readString(options, \"scope\") ?? \"project\", readString(args, \"configAction\") ?? readString(options, \"configAction\") ?? requiredString(options, \"action\", action), readString(args, \"key\") ?? readString(options, \"key\"), options, global);\n case \"extension-init\": return runExtension(requiredString(args, \"target\", action), { ...options, init: true }, global);\n case \"extension-install\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), { ...options, install: true }, global);\n case \"extension-uninstall\": return runExtension(requiredString(args, \"target\", action), { ...options, uninstall: true }, global);\n case \"extension-explore\": return runExtension(undefined, { ...options, explore: true }, global);\n case \"extension-manage\": return runExtension(undefined, { ...options, manage: true }, global);\n case \"extension-doctor\": return runExtension(undefined, { ...options, doctor: true }, global);\n case \"extension-adopt\": return runExtension(requiredString(args, \"target\", action), { ...options, adopt: true }, global);\n case \"extension-adopt-all\": return runExtension(undefined, { ...options, adoptAll: true }, global);\n case \"extension-activate\": return runExtension(requiredString(args, \"target\", action), { ...options, activate: true }, global);\n case \"extension-deactivate\": return runExtension(requiredString(args, \"target\", action), { ...options, deactivate: true }, global);\n case \"extension\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"create\": return runCreate(options, global);\n case \"list\": case \"list-all\": case \"list-draft\": case \"list-open\": case \"list-in-progress\": case \"list-blocked\": case \"list-closed\": case \"list-canceled\": return runList(action === \"list\" ? readString(args, \"status\") : action === \"list-all\" ? undefined : action.replace(\"list-\", \"\").replaceAll(\"-\", \"_\"), options, global);\n case \"aggregate\": return runAggregate(options, global);\n case \"dedupe-audit\": return runDedupeAudit(options, global);\n case \"calendar\": return runCalendar(options, global);\n case \"context\": return runContext(options, global);\n case \"get\": return runGet(id ?? requiredString(options, \"id\", action), global);\n case \"search\": return runSearch(readString(args, \"query\") ?? readString(args, \"keywords\") ?? requiredString(options, \"query\", action), options, global);\n case \"reindex\": return runReindex(options, global);\n case \"history\": return runHistory(id ?? requiredString(options, \"id\", action), options, global);\n case \"activity\": return runActivity(options, global);\n case \"restore\": return runRestore(id ?? requiredString(options, \"id\", action), readString(args, \"target\") ?? requiredString(options, \"target\", action), options, global);\n case \"update\": return runUpdate(id ?? requiredString(options, \"id\", action), options, global);\n case \"update-many\": return runUpdateMany(options as never, global);\n case \"normalize\": return runNormalize(options as never, global);\n case \"close\": return runClose(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"delete\": return runDelete(id ?? requiredString(options, \"id\", action), options, global);\n case \"append\": return runAppend(id ?? requiredString(options, \"id\", action), options as never, global);\n case \"comments\": return runComments(id ?? requiredString(options, \"id\", action), options, global);\n case \"comments-audit\": return runCommentsAudit(options, global);\n case \"notes\": return runNotes(id ?? requiredString(options, \"id\", action), options, global);\n case \"learnings\": return runLearnings(id ?? requiredString(options, \"id\", action), options, global);\n case \"files\": return runFiles(id ?? requiredString(options, \"id\", action), options, global);\n case \"files-discover\": return runFilesDiscover(id ?? requiredString(options, \"id\", action), options, global);\n case \"docs\": return runDocs(id ?? requiredString(options, \"id\", action), options, global);\n case \"deps\": return runDeps(id ?? requiredString(options, \"id\", action), options, global);\n case \"test\": return runTest(id ?? requiredString(options, \"id\", action), options, global);\n case \"test-all\": return runTestAll(options, global);\n case \"test-runs-list\": return runTestRunsList(options, global);\n case \"test-runs-status\": return runTestRunsStatus(requiredString(args, \"runId\", action), global);\n case \"test-runs-logs\": return runTestRunsLogs(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-stop\": return runTestRunsStop(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-resume\": return runTestRunsResume(requiredString(args, \"runId\", action), options, global);\n case \"stats\": return runStats(global);\n case \"health\": return runHealth(global, options);\n case \"validate\": return runValidate(options, global);\n case \"gc\": return runGc(global, options);\n case \"contracts\": return runContracts(options, global);\n case \"completion\": return runCompletion(requiredString(args, \"shell\", action), undefined, undefined, options.eagerTags === true, options.runtime as never);\n case \"templates-save\": return runTemplatesSave(readString(args, \"template\") ?? requiredString(options, \"name\", action), options, global);\n case \"templates-list\": return runTemplatesList(global);\n case \"templates-show\": return runTemplatesShow(readString(args, \"template\") ?? requiredString(options, \"name\", action), global);\n case \"claim\": return runClaim(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"release\": return runRelease(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"start-task\": return runStartTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"pause-task\": return runPauseTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"close-task\": return runCloseTask(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"guide\": return runGuide(options, global);\n default: throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n });\n}\n"]}
@@ -19,7 +19,7 @@ export type PmExtensionCapabilityContract = (typeof PM_EXTENSION_CAPABILITY_CONT
19
19
  export declare const PM_EXTENSION_SERVICE_NAME_CONTRACTS: readonly ["output_format", "error_format", "help_format", "lock_acquire", "lock_release", "history_append", "item_store_write", "item_store_delete"];
20
20
  export type PmExtensionServiceNameContract = (typeof PM_EXTENSION_SERVICE_NAME_CONTRACTS)[number];
21
21
  export declare function withFlagAliasMetadata(flagContracts: CliFlagContract[]): CliFlagContract[];
22
- export declare const PM_CORE_COMMAND_NAMES: readonly ["init", "config", "extension", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "calendar", "cal", "context", "ctx", "get", "search", "reindex", "history", "activity", "restore", "update", "update-many", "normalize", "close", "delete", "append", "comments", "comments-audit", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "test-runs", "stats", "health", "validate", "gc", "contracts", "claim", "release", "start-task", "pause-task", "close-task", "templates", "completion", "help"];
22
+ export declare const PM_CORE_COMMAND_NAMES: readonly ["init", "config", "extension", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "guide", "calendar", "cal", "context", "ctx", "get", "search", "reindex", "history", "activity", "restore", "update", "update-many", "normalize", "close", "delete", "append", "comments", "comments-audit", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "test-runs", "stats", "health", "validate", "gc", "contracts", "claim", "release", "start-task", "pause-task", "close-task", "templates", "completion", "help"];
23
23
  export declare const PM_TOOL_ACTIONS: readonly ["init", "config", "extension-init", "extension-install", "extension-uninstall", "extension-explore", "extension-manage", "extension-doctor", "extension-adopt", "extension-adopt-all", "extension-activate", "extension-deactivate", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "calendar", "context", "get", "search", "reindex", "history", "activity", "restore", "update", "update-many", "normalize", "close", "delete", "append", "comments", "comments-audit", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "test-runs-list", "test-runs-status", "test-runs-logs", "test-runs-stop", "test-runs-resume", "stats", "health", "validate", "gc", "contracts", "completion", "templates-save", "templates-list", "templates-show", "claim", "release", "beads-import", "todos-import", "todos-export", "start-task", "pause-task", "close-task"];
24
24
  export type PmToolAction = (typeof PM_TOOL_ACTIONS)[number];
25
25
  export declare const PI_LIST_FILTER_OPTION_CONTRACTS: PiOptionFlagContract[];
@@ -73,6 +73,7 @@ export declare const NORMALIZE_FLAG_CONTRACTS: CliFlagContract[];
73
73
  export declare const CALENDAR_FLAG_CONTRACTS: CliFlagContract[];
74
74
  export declare const ACTIVITY_FLAG_CONTRACTS: CliFlagContract[];
75
75
  export declare const CONTEXT_FLAG_CONTRACTS: CliFlagContract[];
76
+ export declare const GUIDE_FLAG_CONTRACTS: CliFlagContract[];
76
77
  export declare const DEPS_FLAG_CONTRACTS: CliFlagContract[];
77
78
  export declare const SEARCH_FLAG_CONTRACTS: CliFlagContract[];
78
79
  export declare const CONTRACTS_FLAG_CONTRACTS: CliFlagContract[];
@@ -90,3 +91,4 @@ export declare const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOption
90
91
  export declare function readFirstStringFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string | undefined;
91
92
  export declare function readStringArrayFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string[] | undefined;
92
93
  export declare const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown>;
94
+ export declare const PM_PI_TOOL_PARAMETERS_SCHEMA: Record<string, unknown>;
@@ -73,6 +73,7 @@ export const PM_CORE_COMMAND_NAMES = [
73
73
  "list-canceled",
74
74
  "aggregate",
75
75
  "dedupe-audit",
76
+ "guide",
76
77
  "calendar",
77
78
  "cal",
78
79
  "context",
@@ -506,6 +507,8 @@ export const COMMENTS_AUDIT_FLAG_CONTRACTS = [
506
507
  ];
507
508
  export const COMMENTS_FLAG_CONTRACTS = [
508
509
  { flag: "--add" },
510
+ { flag: "--stdin" },
511
+ { flag: "--file" },
509
512
  { flag: "--limit" },
510
513
  { flag: "--author" },
511
514
  { flag: "--message" },
@@ -1078,6 +1081,11 @@ export const CONTEXT_FLAG_CONTRACTS = [
1078
1081
  { flag: "--limit" },
1079
1082
  { flag: "--format" },
1080
1083
  ];
1084
+ export const GUIDE_FLAG_CONTRACTS = [
1085
+ { flag: "--list" },
1086
+ { flag: "--format" },
1087
+ { flag: "--depth" },
1088
+ ];
1081
1089
  export const DEPS_FLAG_CONTRACTS = [
1082
1090
  { flag: "--format" },
1083
1091
  { flag: "--max-depth" },
@@ -1520,6 +1528,7 @@ const PM_TOOL_PARAMETER_PROPERTIES = {
1520
1528
  collapse: { type: "string", enum: ["none", "repeated"] },
1521
1529
  summary: { type: "boolean" },
1522
1530
  shell: { type: "string", enum: ["bash", "zsh", "fish"] },
1531
+ stdin: { type: "boolean" },
1523
1532
  file: { type: "string" },
1524
1533
  preserveSourceIds: { type: "boolean" },
1525
1534
  folder: { type: "string" },
@@ -1702,7 +1711,10 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1702
1711
  close: { required: ["id", "text"], optional: ["validateClose", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
1703
1712
  delete: { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1704
1713
  append: { required: ["id", "body"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
1705
- comments: { required: ["id"], optional: ["text", "add", "limit", "allowAuditComment", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
1714
+ comments: {
1715
+ required: ["id"],
1716
+ optional: ["text", "add", "stdin", "file", "limit", "allowAuditComment", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS],
1717
+ },
1706
1718
  "comments-audit": {
1707
1719
  optional: [
1708
1720
  "status",
@@ -2190,6 +2202,13 @@ const PM_TOOL_PARAMETER_METADATA = {
2190
2202
  allowAuditComment: {
2191
2203
  description: "For comments action, allow non-owner append-only comment audits without requiring --force.",
2192
2204
  },
2205
+ stdin: {
2206
+ description: "When true for comments action, read comment text from piped stdin (supports multiline markdown).",
2207
+ },
2208
+ file: {
2209
+ description: "Path to input file for actions that read payload text (for example comments --file or beads-import --file).",
2210
+ examples: ["notes/comment.md", "import.json"],
2211
+ },
2193
2212
  allowAuditUpdate: {
2194
2213
  description: "Allow non-owner metadata-only update audits without requiring --force.",
2195
2214
  },
@@ -2379,7 +2398,53 @@ export const PM_TOOL_PARAMETERS_SCHEMA = {
2379
2398
  $schema: "https://json-schema.org/draft/2020-12/schema",
2380
2399
  $id: "https://unbrained.dev/schemas/pm-cli/tool-parameters-v4.schema.json",
2381
2400
  title: "pm-cli Pi wrapper parameters (action-scoped strict schema)",
2382
- "x-schema-version": "4.0.0",
2401
+ "x-schema-version": "4.0.1",
2402
+ type: "object",
2383
2403
  oneOf: PM_TOOL_ACTIONS.map((action) => buildActionScopedToolSchema(action)),
2384
2404
  };
2405
+ function toProviderCompatibleParameterDefinition(key, definition) {
2406
+ const decorated = decorateToolParameterDefinition(key, definition);
2407
+ if (typeof decorated.type === "string") {
2408
+ return decorated;
2409
+ }
2410
+ const anyOf = Array.isArray(decorated.anyOf) ? decorated.anyOf : [];
2411
+ const firstTypedVariant = anyOf.find((variant) => typeof variant.type === "string");
2412
+ if (firstTypedVariant) {
2413
+ const { anyOf: _anyOf, ...rest } = decorated;
2414
+ return {
2415
+ ...rest,
2416
+ type: firstTypedVariant.type,
2417
+ };
2418
+ }
2419
+ const { anyOf: _anyOf, ...rest } = decorated;
2420
+ return {
2421
+ ...rest,
2422
+ type: "string",
2423
+ };
2424
+ }
2425
+ function buildProviderCompatiblePiToolSchema() {
2426
+ const properties = {
2427
+ action: {
2428
+ type: "string",
2429
+ description: PM_TOOL_PARAMETER_METADATA.action?.description ?? "Tool action to execute.",
2430
+ },
2431
+ options: {
2432
+ type: "object",
2433
+ additionalProperties: true,
2434
+ description: "Advanced command options object forwarded to the selected pm action.",
2435
+ },
2436
+ };
2437
+ for (const key of Object.keys(PM_TOOL_PARAMETER_PROPERTIES).sort()) {
2438
+ properties[key] = toProviderCompatibleParameterDefinition(key, PM_TOOL_PARAMETER_PROPERTIES[key]);
2439
+ }
2440
+ return {
2441
+ title: "pm-cli Pi tool parameters (provider-compatible flat schema)",
2442
+ "x-schema-version": "1.0.0",
2443
+ type: "object",
2444
+ additionalProperties: false,
2445
+ required: ["action"],
2446
+ properties,
2447
+ };
2448
+ }
2449
+ export const PM_PI_TOOL_PARAMETERS_SCHEMA = buildProviderCompatiblePiToolSchema();
2385
2450
  //# sourceMappingURL=cli-contracts.js.map