@unbrained/pm-cli 2026.5.12 → 2026.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/PRD.md +7 -28
  3. package/README.md +2 -9
  4. package/dist/cli/commander-usage.js +27 -0
  5. package/dist/cli/commander-usage.js.map +1 -1
  6. package/dist/cli/commands/activity.js +19 -4
  7. package/dist/cli/commands/activity.js.map +1 -1
  8. package/dist/cli/commands/calendar.js +5 -2
  9. package/dist/cli/commands/calendar.js.map +1 -1
  10. package/dist/cli/commands/contracts.js +56 -18
  11. package/dist/cli/commands/contracts.js.map +1 -1
  12. package/dist/cli/commands/create.js +58 -3
  13. package/dist/cli/commands/create.js.map +1 -1
  14. package/dist/cli/commands/extension.d.ts +5 -1
  15. package/dist/cli/commands/extension.js +245 -39
  16. package/dist/cli/commands/extension.js.map +1 -1
  17. package/dist/cli/commands/index.d.ts +0 -8
  18. package/dist/cli/commands/index.js +0 -8
  19. package/dist/cli/commands/index.js.map +1 -1
  20. package/dist/cli/commands/reindex.d.ts +8 -0
  21. package/dist/cli/commands/reindex.js +96 -23
  22. package/dist/cli/commands/reindex.js.map +1 -1
  23. package/dist/cli/commands/search.js +51 -25
  24. package/dist/cli/commands/search.js.map +1 -1
  25. package/dist/cli/help-content.js +17 -18
  26. package/dist/cli/help-content.js.map +1 -1
  27. package/dist/cli/main.js +73 -7
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/cli/register-list-query.js +24 -142
  30. package/dist/cli/register-list-query.js.map +1 -1
  31. package/dist/cli/register-mutation.js +49 -257
  32. package/dist/cli/register-mutation.js.map +1 -1
  33. package/dist/cli/register-operations.js +29 -198
  34. package/dist/cli/register-operations.js.map +1 -1
  35. package/dist/cli/register-setup.js +32 -133
  36. package/dist/cli/register-setup.js.map +1 -1
  37. package/dist/cli/registration-helpers.d.ts +2 -2
  38. package/dist/cli/registration-helpers.js +1 -19
  39. package/dist/cli/registration-helpers.js.map +1 -1
  40. package/dist/core/extensions/loader.js +7 -1
  41. package/dist/core/extensions/loader.js.map +1 -1
  42. package/dist/core/packages/manifest.d.ts +26 -1
  43. package/dist/core/packages/manifest.js +82 -0
  44. package/dist/core/packages/manifest.js.map +1 -1
  45. package/dist/core/search/embedding-batches.d.ts +13 -1
  46. package/dist/core/search/embedding-batches.js +19 -1
  47. package/dist/core/search/embedding-batches.js.map +1 -1
  48. package/dist/core/store/front-matter-cache.d.ts +8 -1
  49. package/dist/core/store/front-matter-cache.js +20 -11
  50. package/dist/core/store/front-matter-cache.js.map +1 -1
  51. package/dist/mcp/server.d.ts +8 -0
  52. package/dist/mcp/server.js +93 -43
  53. package/dist/mcp/server.js.map +1 -1
  54. package/dist/sdk/cli-contracts/commander-mutation-options.d.ts +7 -0
  55. package/dist/sdk/cli-contracts/commander-mutation-options.js +477 -0
  56. package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -0
  57. package/dist/sdk/cli-contracts/commander-types.d.ts +21 -0
  58. package/dist/sdk/cli-contracts/commander-types.js +92 -0
  59. package/dist/sdk/cli-contracts/commander-types.js.map +1 -0
  60. package/dist/sdk/cli-contracts.d.ts +6 -17
  61. package/dist/sdk/cli-contracts.js +19 -262
  62. package/dist/sdk/cli-contracts.js.map +1 -1
  63. package/dist/sdk/index.d.ts +2 -1
  64. package/dist/sdk/index.js +1 -0
  65. package/dist/sdk/index.js.map +1 -1
  66. package/dist/sdk/runtime.d.ts +29 -0
  67. package/dist/sdk/runtime.js +28 -0
  68. package/dist/sdk/runtime.js.map +1 -0
  69. package/docs/COMMANDS.md +3 -0
  70. package/docs/EXTENSIONS.md +60 -35
  71. package/docs/QUICKSTART.md +1 -0
  72. package/docs/RELEASING.md +4 -2
  73. package/docs/SDK.md +78 -441
  74. package/package.json +4 -3
  75. package/packages/pm-beads/extensions/beads/index.js +90 -101
  76. package/packages/pm-beads/extensions/beads/index.ts +2 -2
  77. package/packages/pm-beads/extensions/beads/runtime.js +2 -17
  78. package/packages/pm-beads/extensions/beads/runtime.ts +41 -18
  79. package/packages/pm-beads/package.json +33 -0
  80. package/packages/pm-calendar/README.md +13 -0
  81. package/packages/pm-calendar/extensions/calendar/index.js +56 -0
  82. package/packages/pm-calendar/extensions/calendar/index.ts +62 -0
  83. package/packages/pm-calendar/extensions/calendar/manifest.json +7 -0
  84. package/packages/pm-calendar/extensions/calendar/runtime.js +95 -0
  85. package/packages/pm-calendar/extensions/calendar/runtime.ts +104 -0
  86. package/packages/pm-calendar/package.json +51 -0
  87. package/packages/pm-governance-audit/README.md +23 -0
  88. package/packages/pm-governance-audit/extensions/governance-audit/index.js +117 -0
  89. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +118 -0
  90. package/packages/pm-governance-audit/extensions/governance-audit/manifest.json +7 -0
  91. package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +159 -0
  92. package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +176 -0
  93. package/packages/pm-governance-audit/package.json +52 -0
  94. package/packages/pm-guide-shell/README.md +23 -0
  95. package/packages/pm-guide-shell/extensions/guide-shell/index.js +76 -0
  96. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +81 -0
  97. package/packages/pm-guide-shell/extensions/guide-shell/manifest.json +7 -0
  98. package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +263 -0
  99. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +327 -0
  100. package/packages/pm-guide-shell/package.json +52 -0
  101. package/packages/pm-linked-test-adapters/README.md +24 -0
  102. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.js +101 -0
  103. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +102 -0
  104. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/manifest.json +7 -0
  105. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +142 -0
  106. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +173 -0
  107. package/packages/pm-linked-test-adapters/package.json +53 -0
  108. package/packages/pm-search-advanced/README.md +27 -0
  109. package/packages/pm-search-advanced/extensions/search-advanced/index.js +93 -0
  110. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +94 -0
  111. package/packages/pm-search-advanced/extensions/search-advanced/manifest.json +7 -0
  112. package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +120 -0
  113. package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +144 -0
  114. package/packages/pm-search-advanced/package.json +54 -0
  115. package/packages/pm-templates/README.md +20 -0
  116. package/packages/pm-templates/extensions/templates/index.js +101 -0
  117. package/packages/pm-templates/extensions/templates/index.ts +109 -0
  118. package/packages/pm-templates/extensions/templates/manifest.json +7 -0
  119. package/packages/pm-templates/extensions/templates/runtime.js +226 -0
  120. package/packages/pm-templates/extensions/templates/runtime.ts +283 -0
  121. package/packages/pm-templates/package.json +50 -0
  122. package/packages/pm-todos/extensions/todos/index.js +105 -116
  123. package/packages/pm-todos/extensions/todos/index.ts +3 -2
  124. package/packages/pm-todos/extensions/todos/runtime.js +2 -17
  125. package/packages/pm-todos/extensions/todos/runtime.ts +40 -18
  126. package/packages/pm-todos/package.json +34 -0
  127. package/plugins/pm-cli-claude/scripts/pm-mcp-server.mjs +4 -2
  128. package/plugins/pm-cli-codex/scripts/pm-mcp-server.mjs +4 -2
@@ -0,0 +1,92 @@
1
+ export const LIST_COMMANDER_STRING_OPTION_CONTRACTS = [
2
+ { target: "status", keys: ["status"] },
3
+ { target: "type", keys: ["type"] },
4
+ { target: "tag", keys: ["tag"] },
5
+ { target: "priority", keys: ["priority"] },
6
+ { target: "deadlineBefore", keys: ["deadlineBefore"] },
7
+ { target: "deadlineAfter", keys: ["deadlineAfter"] },
8
+ { target: "assignee", keys: ["assignee"] },
9
+ { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
10
+ { target: "parent", keys: ["parent"] },
11
+ { target: "sprint", keys: ["sprint"] },
12
+ { target: "release", keys: ["release"] },
13
+ { target: "limit", keys: ["limit"] },
14
+ { target: "offset", keys: ["offset"] },
15
+ { target: "fields", keys: ["fields"] },
16
+ { target: "sort", keys: ["sort"] },
17
+ { target: "order", keys: ["order"] },
18
+ ];
19
+ export const SEARCH_COMMANDER_STRING_OPTION_CONTRACTS = [
20
+ { target: "mode", keys: ["mode"] },
21
+ { target: "type", keys: ["type"] },
22
+ { target: "tag", keys: ["tag"] },
23
+ { target: "priority", keys: ["priority"] },
24
+ { target: "deadlineBefore", keys: ["deadlineBefore"] },
25
+ { target: "deadlineAfter", keys: ["deadlineAfter"] },
26
+ { target: "fields", keys: ["fields"] },
27
+ { target: "limit", keys: ["limit"] },
28
+ ];
29
+ export const CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS = [
30
+ { target: "view", keys: ["view"] },
31
+ { target: "date", keys: ["date"] },
32
+ { target: "from", keys: ["from"] },
33
+ { target: "to", keys: ["to"] },
34
+ { target: "limit", keys: ["limit"] },
35
+ { target: "type", keys: ["type"] },
36
+ { target: "tag", keys: ["tag"] },
37
+ { target: "priority", keys: ["priority"] },
38
+ { target: "status", keys: ["status"] },
39
+ { target: "assignee", keys: ["assignee"] },
40
+ { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
41
+ { target: "sprint", keys: ["sprint"] },
42
+ { target: "release", keys: ["release"] },
43
+ { target: "include", keys: ["include"] },
44
+ { target: "recurrenceLookaheadDays", keys: ["recurrenceLookaheadDays", "recurrence_lookahead_days"] },
45
+ { target: "recurrenceLookbackDays", keys: ["recurrenceLookbackDays", "recurrence_lookback_days"] },
46
+ { target: "occurrenceLimit", keys: ["occurrenceLimit", "occurrence_limit"] },
47
+ { target: "format", keys: ["format"] },
48
+ ];
49
+ export const CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS = [
50
+ { target: "date", keys: ["date"] },
51
+ { target: "from", keys: ["from"] },
52
+ { target: "to", keys: ["to"] },
53
+ { target: "type", keys: ["type"] },
54
+ { target: "tag", keys: ["tag"] },
55
+ { target: "priority", keys: ["priority"] },
56
+ { target: "assignee", keys: ["assignee"] },
57
+ { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
58
+ { target: "sprint", keys: ["sprint"] },
59
+ { target: "release", keys: ["release"] },
60
+ { target: "limit", keys: ["limit"] },
61
+ { target: "format", keys: ["format"] },
62
+ { target: "depth", keys: ["depth"] },
63
+ { target: "activityLimit", keys: ["activityLimit", "activity_limit"] },
64
+ { target: "staleThreshold", keys: ["staleThreshold", "stale_threshold"] },
65
+ ];
66
+ export const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS = [
67
+ { target: "id", keys: ["id"] },
68
+ { target: "op", keys: ["op"] },
69
+ { target: "author", keys: ["author"] },
70
+ { target: "from", keys: ["from"] },
71
+ { target: "to", keys: ["to"] },
72
+ { target: "limit", keys: ["limit"] },
73
+ ];
74
+ export function readFirstStringFromCommanderOptions(options, contract) {
75
+ for (const key of contract.keys) {
76
+ const candidate = options[key];
77
+ if (typeof candidate === "string") {
78
+ return candidate;
79
+ }
80
+ }
81
+ return undefined;
82
+ }
83
+ export function readStringArrayFromCommanderOptions(options, contract) {
84
+ for (const key of contract.keys) {
85
+ const candidate = options[key];
86
+ if (Array.isArray(candidate)) {
87
+ return candidate;
88
+ }
89
+ }
90
+ return undefined;
91
+ }
92
+ //# sourceMappingURL=commander-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commander-types.js","sourceRoot":"/","sources":["sdk/cli-contracts/commander-types.ts"],"names":[],"mappings":"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","sourcesContent":["export interface CommanderOptionAliasContract {\n target: string;\n keys: readonly string[];\n}\n\nexport interface CommanderOptionRegistrationContract extends CommanderOptionAliasContract {\n option: string;\n description: string;\n required?: boolean;\n repeatable?: boolean;\n aliasOptions?: Array<{\n option: string;\n description: string;\n }>;\n}\n\nexport const LIST_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[] = [\n { target: \"status\", keys: [\"status\"] },\n { target: \"type\", keys: [\"type\"] },\n { target: \"tag\", keys: [\"tag\"] },\n { target: \"priority\", keys: [\"priority\"] },\n { target: \"deadlineBefore\", keys: [\"deadlineBefore\"] },\n { target: \"deadlineAfter\", keys: [\"deadlineAfter\"] },\n { target: \"assignee\", keys: [\"assignee\"] },\n { target: \"assigneeFilter\", keys: [\"assigneeFilter\", \"assignee_filter\"] },\n { target: \"parent\", keys: [\"parent\"] },\n { target: \"sprint\", keys: [\"sprint\"] },\n { target: \"release\", keys: [\"release\"] },\n { target: \"limit\", keys: [\"limit\"] },\n { target: \"offset\", keys: [\"offset\"] },\n { target: \"fields\", keys: [\"fields\"] },\n { target: \"sort\", keys: [\"sort\"] },\n { target: \"order\", keys: [\"order\"] },\n];\n\nexport const SEARCH_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[] = [\n { target: \"mode\", keys: [\"mode\"] },\n { target: \"type\", keys: [\"type\"] },\n { target: \"tag\", keys: [\"tag\"] },\n { target: \"priority\", keys: [\"priority\"] },\n { target: \"deadlineBefore\", keys: [\"deadlineBefore\"] },\n { target: \"deadlineAfter\", keys: [\"deadlineAfter\"] },\n { target: \"fields\", keys: [\"fields\"] },\n { target: \"limit\", keys: [\"limit\"] },\n];\n\nexport const CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[] = [\n { target: \"view\", keys: [\"view\"] },\n { target: \"date\", keys: [\"date\"] },\n { target: \"from\", keys: [\"from\"] },\n { target: \"to\", keys: [\"to\"] },\n { target: \"limit\", keys: [\"limit\"] },\n { target: \"type\", keys: [\"type\"] },\n { target: \"tag\", keys: [\"tag\"] },\n { target: \"priority\", keys: [\"priority\"] },\n { target: \"status\", keys: [\"status\"] },\n { target: \"assignee\", keys: [\"assignee\"] },\n { target: \"assigneeFilter\", keys: [\"assigneeFilter\", \"assignee_filter\"] },\n { target: \"sprint\", keys: [\"sprint\"] },\n { target: \"release\", keys: [\"release\"] },\n { target: \"include\", keys: [\"include\"] },\n { target: \"recurrenceLookaheadDays\", keys: [\"recurrenceLookaheadDays\", \"recurrence_lookahead_days\"] },\n { target: \"recurrenceLookbackDays\", keys: [\"recurrenceLookbackDays\", \"recurrence_lookback_days\"] },\n { target: \"occurrenceLimit\", keys: [\"occurrenceLimit\", \"occurrence_limit\"] },\n { target: \"format\", keys: [\"format\"] },\n];\n\nexport const CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[] = [\n { target: \"date\", keys: [\"date\"] },\n { target: \"from\", keys: [\"from\"] },\n { target: \"to\", keys: [\"to\"] },\n { target: \"type\", keys: [\"type\"] },\n { target: \"tag\", keys: [\"tag\"] },\n { target: \"priority\", keys: [\"priority\"] },\n { target: \"assignee\", keys: [\"assignee\"] },\n { target: \"assigneeFilter\", keys: [\"assigneeFilter\", \"assignee_filter\"] },\n { target: \"sprint\", keys: [\"sprint\"] },\n { target: \"release\", keys: [\"release\"] },\n { target: \"limit\", keys: [\"limit\"] },\n { target: \"format\", keys: [\"format\"] },\n { target: \"depth\", keys: [\"depth\"] },\n { target: \"activityLimit\", keys: [\"activityLimit\", \"activity_limit\"] },\n { target: \"staleThreshold\", keys: [\"staleThreshold\", \"stale_threshold\"] },\n];\n\nexport const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[] = [\n { target: \"id\", keys: [\"id\"] },\n { target: \"op\", keys: [\"op\"] },\n { target: \"author\", keys: [\"author\"] },\n { target: \"from\", keys: [\"from\"] },\n { target: \"to\", keys: [\"to\"] },\n { target: \"limit\", keys: [\"limit\"] },\n];\n\nexport function readFirstStringFromCommanderOptions(\n options: Record<string, unknown>,\n contract: CommanderOptionAliasContract,\n): string | undefined {\n for (const key of contract.keys) {\n const candidate = options[key];\n if (typeof candidate === \"string\") {\n return candidate;\n }\n }\n return undefined;\n}\n\nexport function readStringArrayFromCommanderOptions(\n options: Record<string, unknown>,\n contract: CommanderOptionAliasContract,\n): string[] | undefined {\n for (const key of contract.keys) {\n const candidate = options[key];\n if (Array.isArray(candidate)) {\n return candidate as string[];\n }\n }\n return undefined;\n}\n"]}
@@ -1,7 +1,6 @@
1
- export interface CommanderOptionAliasContract {
2
- target: string;
3
- keys: string[];
4
- }
1
+ export type { CommanderOptionAliasContract, CommanderOptionRegistrationContract } from "./cli-contracts/commander-types.js";
2
+ 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";
3
+ 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
4
  export interface CliFlagContract {
6
5
  flag: string;
7
6
  short?: string;
@@ -27,8 +26,9 @@ export type PmExtensionSandboxProfileContract = (typeof PM_EXTENSION_SANDBOX_PRO
27
26
  export declare const PM_EXTENSION_POLICY_SURFACE_CONTRACTS: readonly ["commands.override", "commands.handler", "hooks.beforecommand", "hooks.aftercommand", "hooks.onwrite", "hooks.onread", "hooks.onindex", "schema.flags", "schema.itemfields", "schema.itemtypes", "schema.migrations", "parser.override", "preflight.override", "services.override", "renderers.override", "importers.importer", "importers.exporter", "search.provider", "search.vectorstore"];
28
27
  export type PmExtensionPolicySurfaceContract = (typeof PM_EXTENSION_POLICY_SURFACE_CONTRACTS)[number];
29
28
  export declare function withFlagAliasMetadata(flagContracts: CliFlagContract[]): CliFlagContract[];
30
- export declare const PM_CORE_COMMAND_NAMES: readonly ["init", "config", "extension", "package", "packages", "install", "upgrade", "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"];
31
- export declare const PM_TOOL_ACTIONS: readonly ["init", "config", "extension-init", "extension-install", "extension-uninstall", "extension-explore", "extension-manage", "extension-reload", "extension-doctor", "extension-adopt", "extension-adopt-all", "extension-activate", "extension-deactivate", "extension", "package-init", "package-install", "package-uninstall", "package-explore", "package-manage", "package-reload", "package-doctor", "package-adopt", "package-adopt-all", "package-activate", "package-deactivate", "package", "install", "upgrade", "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-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"];
29
+ export declare function compactFlagAliasContracts(flagContracts: CliFlagContract[]): CliFlagContract[];
30
+ export declare const PM_CORE_COMMAND_NAMES: readonly ["init", "config", "extension", "package", "packages", "install", "upgrade", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "guide", "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", "completion", "help"];
31
+ export declare const PM_TOOL_ACTIONS: readonly ["init", "config", "extension-init", "extension-install", "extension-uninstall", "extension-explore", "extension-manage", "extension-reload", "extension-doctor", "extension-catalog", "extension-adopt", "extension-adopt-all", "extension-activate", "extension-deactivate", "extension", "package-init", "package-install", "package-uninstall", "package-explore", "package-manage", "package-reload", "package-doctor", "package-catalog", "package-adopt", "package-adopt-all", "package-activate", "package-deactivate", "package", "install", "upgrade", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "guide", "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-list", "test-runs-status", "test-runs-logs", "test-runs-stop", "test-runs-resume", "stats", "health", "validate", "gc", "contracts", "completion", "claim", "release", "start-task", "pause-task", "close-task"];
32
32
  export type PmToolAction = (typeof PM_TOOL_ACTIONS)[number];
33
33
  export declare function isPmToolAction(value: string): value is PmToolAction;
34
34
  export declare function isPmExtensionCapabilityContract(value: string): value is PmExtensionCapabilityContract;
@@ -94,17 +94,6 @@ export declare const CONTRACTS_FLAG_CONTRACTS: CliFlagContract[];
94
94
  export declare const COMPLETION_FLAG_CONTRACTS: CliFlagContract[];
95
95
  export declare function resolveSubcommandFlagContractsForCommand(commandName: string | undefined): CliFlagContract[];
96
96
  export declare function toCompletionFlagString(flagContracts: CliFlagContract[], includeGlobal?: boolean): string;
97
- export declare const CREATE_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
98
- export declare const CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS: CommanderOptionAliasContract[];
99
- export declare const UPDATE_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
100
- export declare const UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS: CommanderOptionAliasContract[];
101
- export declare const LIST_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
102
- export declare const SEARCH_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
103
- export declare const CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
104
- export declare const CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
105
- export declare const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
106
- export declare function readFirstStringFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string | undefined;
107
- export declare function readStringArrayFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string[] | undefined;
108
97
  export interface PmActionSchemaContract {
109
98
  required?: string[];
110
99
  optional?: string[];
@@ -1,3 +1,5 @@
1
+ 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
+ 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";
1
3
  export const PM_EXTENSION_CAPABILITY_CONTRACTS = [
2
4
  "commands",
3
5
  "renderers",
@@ -82,6 +84,14 @@ export function withFlagAliasMetadata(flagContracts) {
82
84
  };
83
85
  });
84
86
  }
87
+ export function compactFlagAliasContracts(flagContracts) {
88
+ const withAliases = withFlagAliasMetadata(flagContracts);
89
+ const canonicalFlags = new Set(withAliases.map((contract) => contract.flag));
90
+ return withAliases.filter((contract) => {
91
+ const canonical = normalizeFlagAliasKey(contract.flag);
92
+ return contract.flag === canonical || !canonicalFlags.has(canonical);
93
+ });
94
+ }
85
95
  export const PM_CORE_COMMAND_NAMES = [
86
96
  "init",
87
97
  "config",
@@ -102,8 +112,6 @@ export const PM_CORE_COMMAND_NAMES = [
102
112
  "aggregate",
103
113
  "dedupe-audit",
104
114
  "guide",
105
- "calendar",
106
- "cal",
107
115
  "context",
108
116
  "ctx",
109
117
  "get",
@@ -138,7 +146,6 @@ export const PM_CORE_COMMAND_NAMES = [
138
146
  "start-task",
139
147
  "pause-task",
140
148
  "close-task",
141
- "templates",
142
149
  "completion",
143
150
  "help",
144
151
  ];
@@ -152,6 +159,7 @@ export const PM_TOOL_ACTIONS = [
152
159
  "extension-manage",
153
160
  "extension-reload",
154
161
  "extension-doctor",
162
+ "extension-catalog",
155
163
  "extension-adopt",
156
164
  "extension-adopt-all",
157
165
  "extension-activate",
@@ -164,6 +172,7 @@ export const PM_TOOL_ACTIONS = [
164
172
  "package-manage",
165
173
  "package-reload",
166
174
  "package-doctor",
175
+ "package-catalog",
167
176
  "package-adopt",
168
177
  "package-adopt-all",
169
178
  "package-activate",
@@ -183,8 +192,6 @@ export const PM_TOOL_ACTIONS = [
183
192
  "aggregate",
184
193
  "dedupe-audit",
185
194
  "guide",
186
- "calendar",
187
- "cal",
188
195
  "context",
189
196
  "ctx",
190
197
  "get",
@@ -219,14 +226,8 @@ export const PM_TOOL_ACTIONS = [
219
226
  "gc",
220
227
  "contracts",
221
228
  "completion",
222
- "templates-save",
223
- "templates-list",
224
- "templates-show",
225
229
  "claim",
226
230
  "release",
227
- "beads-import",
228
- "todos-import",
229
- "todos-export",
230
231
  "start-task",
231
232
  "pause-task",
232
233
  "close-task",
@@ -656,6 +657,7 @@ export const EXTENSION_FLAG_CONTRACTS = [
656
657
  { flag: "--reload" },
657
658
  { flag: "--watch" },
658
659
  { flag: "--doctor" },
660
+ { flag: "--catalog" },
659
661
  { flag: "--adopt" },
660
662
  { flag: "--adopt-all" },
661
663
  { flag: "--activate" },
@@ -1240,11 +1242,6 @@ const NO_SURFACE_COMMAND_NAME_CONTRACTS = new Set([
1240
1242
  "get",
1241
1243
  "stats",
1242
1244
  "reindex",
1243
- "beads",
1244
- "todos",
1245
- "beads-import",
1246
- "todos-import",
1247
- "todos-export",
1248
1245
  "help",
1249
1246
  ]);
1250
1247
  function normalizeCommandNameForContracts(commandName) {
@@ -1377,218 +1374,6 @@ export function toCompletionFlagString(flagContracts, includeGlobal = true) {
1377
1374
  : scoped;
1378
1375
  return normalizeUniqueStringList(all).join(" ");
1379
1376
  }
1380
- export const CREATE_COMMANDER_STRING_OPTION_CONTRACTS = [
1381
- { target: "title", keys: ["title"] },
1382
- { target: "description", keys: ["description"] },
1383
- { target: "type", keys: ["type"] },
1384
- { target: "template", keys: ["template"] },
1385
- { target: "createMode", keys: ["createMode", "create_mode"] },
1386
- { target: "schedulePreset", keys: ["schedulePreset", "schedule_preset"] },
1387
- { target: "status", keys: ["status"] },
1388
- { target: "priority", keys: ["priority"] },
1389
- { target: "tags", keys: ["tags"] },
1390
- { target: "body", keys: ["body"] },
1391
- { target: "deadline", keys: ["deadline"] },
1392
- { target: "estimatedMinutes", keys: ["estimate", "estimatedMinutes", "estimated_minutes"] },
1393
- { target: "acceptanceCriteria", keys: ["acceptanceCriteria", "acceptance_criteria", "ac"] },
1394
- { target: "definitionOfReady", keys: ["definitionOfReady", "definition_of_ready"] },
1395
- { target: "order", keys: ["order"] },
1396
- { target: "rank", keys: ["rank"] },
1397
- { target: "goal", keys: ["goal"] },
1398
- { target: "objective", keys: ["objective"] },
1399
- { target: "value", keys: ["value"] },
1400
- { target: "impact", keys: ["impact"] },
1401
- { target: "outcome", keys: ["outcome"] },
1402
- { target: "whyNow", keys: ["whyNow", "why_now"] },
1403
- { target: "author", keys: ["author"] },
1404
- { target: "message", keys: ["message"] },
1405
- { target: "assignee", keys: ["assignee"] },
1406
- { target: "parent", keys: ["parent"] },
1407
- { target: "reviewer", keys: ["reviewer"] },
1408
- { target: "risk", keys: ["risk"] },
1409
- { target: "confidence", keys: ["confidence"] },
1410
- { target: "sprint", keys: ["sprint"] },
1411
- { target: "release", keys: ["release"] },
1412
- { target: "blockedBy", keys: ["blockedBy", "blocked_by"] },
1413
- { target: "blockedReason", keys: ["blockedReason", "blocked_reason"] },
1414
- { target: "unblockNote", keys: ["unblockNote", "unblock_note"] },
1415
- { target: "reporter", keys: ["reporter"] },
1416
- { target: "severity", keys: ["severity"] },
1417
- { target: "environment", keys: ["environment"] },
1418
- { target: "reproSteps", keys: ["reproSteps", "repro_steps"] },
1419
- { target: "resolution", keys: ["resolution"] },
1420
- { target: "expectedResult", keys: ["expectedResult", "expected_result"] },
1421
- { target: "actualResult", keys: ["actualResult", "actual_result"] },
1422
- { target: "affectedVersion", keys: ["affectedVersion", "affected_version"] },
1423
- { target: "fixedVersion", keys: ["fixedVersion", "fixed_version"] },
1424
- { target: "component", keys: ["component"] },
1425
- { target: "regression", keys: ["regression"] },
1426
- { target: "customerImpact", keys: ["customerImpact", "customer_impact"] },
1427
- ];
1428
- export const CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS = [
1429
- { target: "dep", keys: ["dep"] },
1430
- { target: "comment", keys: ["comment"] },
1431
- { target: "note", keys: ["note"] },
1432
- { target: "learning", keys: ["learning"] },
1433
- { target: "file", keys: ["file"] },
1434
- { target: "test", keys: ["test"] },
1435
- { target: "doc", keys: ["doc"] },
1436
- { target: "reminder", keys: ["reminder"] },
1437
- { target: "event", keys: ["event"] },
1438
- { target: "typeOption", keys: ["typeOption", "type_option"] },
1439
- { target: "unset", keys: ["unset"] },
1440
- ];
1441
- export const UPDATE_COMMANDER_STRING_OPTION_CONTRACTS = [
1442
- { target: "title", keys: ["title"] },
1443
- { target: "description", keys: ["description"] },
1444
- { target: "body", keys: ["body"] },
1445
- { target: "status", keys: ["status"] },
1446
- { target: "closeReason", keys: ["closeReason", "close_reason"] },
1447
- { target: "priority", keys: ["priority"] },
1448
- { target: "type", keys: ["type"] },
1449
- { target: "tags", keys: ["tags"] },
1450
- { target: "deadline", keys: ["deadline"] },
1451
- { target: "estimatedMinutes", keys: ["estimate", "estimatedMinutes", "estimated_minutes"] },
1452
- { target: "acceptanceCriteria", keys: ["acceptanceCriteria", "acceptance_criteria", "ac"] },
1453
- { target: "definitionOfReady", keys: ["definitionOfReady", "definition_of_ready"] },
1454
- { target: "order", keys: ["order"] },
1455
- { target: "rank", keys: ["rank"] },
1456
- { target: "goal", keys: ["goal"] },
1457
- { target: "objective", keys: ["objective"] },
1458
- { target: "value", keys: ["value"] },
1459
- { target: "impact", keys: ["impact"] },
1460
- { target: "outcome", keys: ["outcome"] },
1461
- { target: "whyNow", keys: ["whyNow", "why_now"] },
1462
- { target: "author", keys: ["author"] },
1463
- { target: "message", keys: ["message"] },
1464
- { target: "assignee", keys: ["assignee"] },
1465
- { target: "parent", keys: ["parent"] },
1466
- { target: "reviewer", keys: ["reviewer"] },
1467
- { target: "risk", keys: ["risk"] },
1468
- { target: "confidence", keys: ["confidence"] },
1469
- { target: "sprint", keys: ["sprint"] },
1470
- { target: "release", keys: ["release"] },
1471
- { target: "blockedBy", keys: ["blockedBy", "blocked_by"] },
1472
- { target: "blockedReason", keys: ["blockedReason", "blocked_reason"] },
1473
- { target: "unblockNote", keys: ["unblockNote", "unblock_note"] },
1474
- { target: "reporter", keys: ["reporter"] },
1475
- { target: "severity", keys: ["severity"] },
1476
- { target: "environment", keys: ["environment"] },
1477
- { target: "reproSteps", keys: ["reproSteps", "repro_steps"] },
1478
- { target: "resolution", keys: ["resolution"] },
1479
- { target: "expectedResult", keys: ["expectedResult", "expected_result"] },
1480
- { target: "actualResult", keys: ["actualResult", "actual_result"] },
1481
- { target: "affectedVersion", keys: ["affectedVersion", "affected_version"] },
1482
- { target: "fixedVersion", keys: ["fixedVersion", "fixed_version"] },
1483
- { target: "component", keys: ["component"] },
1484
- { target: "regression", keys: ["regression"] },
1485
- { target: "customerImpact", keys: ["customerImpact", "customer_impact"] },
1486
- ];
1487
- export const UPDATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS = [
1488
- { target: "dep", keys: ["dep"] },
1489
- { target: "depRemove", keys: ["depRemove", "dep_remove"] },
1490
- { target: "comment", keys: ["comment"] },
1491
- { target: "note", keys: ["note"] },
1492
- { target: "learning", keys: ["learning"] },
1493
- { target: "file", keys: ["file"] },
1494
- { target: "test", keys: ["test"] },
1495
- { target: "doc", keys: ["doc"] },
1496
- { target: "reminder", keys: ["reminder"] },
1497
- { target: "event", keys: ["event"] },
1498
- { target: "typeOption", keys: ["typeOption", "type_option"] },
1499
- { target: "unset", keys: ["unset"] },
1500
- ];
1501
- export const LIST_COMMANDER_STRING_OPTION_CONTRACTS = [
1502
- { target: "status", keys: ["status"] },
1503
- { target: "type", keys: ["type"] },
1504
- { target: "tag", keys: ["tag"] },
1505
- { target: "priority", keys: ["priority"] },
1506
- { target: "deadlineBefore", keys: ["deadlineBefore"] },
1507
- { target: "deadlineAfter", keys: ["deadlineAfter"] },
1508
- { target: "assignee", keys: ["assignee"] },
1509
- { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
1510
- { target: "parent", keys: ["parent"] },
1511
- { target: "sprint", keys: ["sprint"] },
1512
- { target: "release", keys: ["release"] },
1513
- { target: "limit", keys: ["limit"] },
1514
- { target: "offset", keys: ["offset"] },
1515
- { target: "fields", keys: ["fields"] },
1516
- { target: "sort", keys: ["sort"] },
1517
- { target: "order", keys: ["order"] },
1518
- ];
1519
- export const SEARCH_COMMANDER_STRING_OPTION_CONTRACTS = [
1520
- { target: "mode", keys: ["mode"] },
1521
- { target: "type", keys: ["type"] },
1522
- { target: "tag", keys: ["tag"] },
1523
- { target: "priority", keys: ["priority"] },
1524
- { target: "deadlineBefore", keys: ["deadlineBefore"] },
1525
- { target: "deadlineAfter", keys: ["deadlineAfter"] },
1526
- { target: "fields", keys: ["fields"] },
1527
- { target: "limit", keys: ["limit"] },
1528
- ];
1529
- export const CALENDAR_COMMANDER_STRING_OPTION_CONTRACTS = [
1530
- { target: "view", keys: ["view"] },
1531
- { target: "date", keys: ["date"] },
1532
- { target: "from", keys: ["from"] },
1533
- { target: "to", keys: ["to"] },
1534
- { target: "limit", keys: ["limit"] },
1535
- { target: "type", keys: ["type"] },
1536
- { target: "tag", keys: ["tag"] },
1537
- { target: "priority", keys: ["priority"] },
1538
- { target: "status", keys: ["status"] },
1539
- { target: "assignee", keys: ["assignee"] },
1540
- { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
1541
- { target: "sprint", keys: ["sprint"] },
1542
- { target: "release", keys: ["release"] },
1543
- { target: "include", keys: ["include"] },
1544
- { target: "recurrenceLookaheadDays", keys: ["recurrenceLookaheadDays", "recurrence_lookahead_days"] },
1545
- { target: "recurrenceLookbackDays", keys: ["recurrenceLookbackDays", "recurrence_lookback_days"] },
1546
- { target: "occurrenceLimit", keys: ["occurrenceLimit", "occurrence_limit"] },
1547
- { target: "format", keys: ["format"] },
1548
- ];
1549
- export const CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS = [
1550
- { target: "date", keys: ["date"] },
1551
- { target: "from", keys: ["from"] },
1552
- { target: "to", keys: ["to"] },
1553
- { target: "type", keys: ["type"] },
1554
- { target: "tag", keys: ["tag"] },
1555
- { target: "priority", keys: ["priority"] },
1556
- { target: "assignee", keys: ["assignee"] },
1557
- { target: "assigneeFilter", keys: ["assigneeFilter", "assignee_filter"] },
1558
- { target: "sprint", keys: ["sprint"] },
1559
- { target: "release", keys: ["release"] },
1560
- { target: "limit", keys: ["limit"] },
1561
- { target: "format", keys: ["format"] },
1562
- { target: "depth", keys: ["depth"] },
1563
- { target: "activityLimit", keys: ["activityLimit", "activity_limit"] },
1564
- { target: "staleThreshold", keys: ["staleThreshold", "stale_threshold"] },
1565
- ];
1566
- export const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS = [
1567
- { target: "id", keys: ["id"] },
1568
- { target: "op", keys: ["op"] },
1569
- { target: "author", keys: ["author"] },
1570
- { target: "from", keys: ["from"] },
1571
- { target: "to", keys: ["to"] },
1572
- { target: "limit", keys: ["limit"] },
1573
- ];
1574
- export function readFirstStringFromCommanderOptions(options, contract) {
1575
- for (const key of contract.keys) {
1576
- const candidate = options[key];
1577
- if (typeof candidate === "string") {
1578
- return candidate;
1579
- }
1580
- }
1581
- return undefined;
1582
- }
1583
- export function readStringArrayFromCommanderOptions(options, contract) {
1584
- for (const key of contract.keys) {
1585
- const candidate = options[key];
1586
- if (Array.isArray(candidate)) {
1587
- return candidate;
1588
- }
1589
- }
1590
- return undefined;
1591
- }
1592
1377
  const PM_TOOL_PARAMETER_PROPERTIES = {
1593
1378
  json: { type: "boolean", default: true },
1594
1379
  quiet: { type: "boolean" },
@@ -1838,22 +1623,6 @@ const CREATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1838
1623
  ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),
1839
1624
  "assignee",
1840
1625
  ]);
1841
- const TEMPLATE_SAVE_UNSUPPORTED_PARAMETER_KEYS = new Set([
1842
- "createMode",
1843
- "schedulePreset",
1844
- "unset",
1845
- "clearDeps",
1846
- "clearComments",
1847
- "clearNotes",
1848
- "clearLearnings",
1849
- "clearFiles",
1850
- "clearTests",
1851
- "clearDocs",
1852
- "clearReminders",
1853
- "clearEvents",
1854
- "clearTypeOptions",
1855
- ]);
1856
- const TEMPLATE_SAVE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList(CREATE_CONTRACT_PARAMETER_KEYS.filter((key) => !TEMPLATE_SAVE_UNSUPPORTED_PARAMETER_KEYS.has(key)));
1857
1626
  const UPDATE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1858
1627
  ...TOOL_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),
1859
1628
  ...TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS.map((entry) => entry.param),
@@ -1875,11 +1644,6 @@ const NORMALIZE_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1875
1644
  "allowAuditUpdate",
1876
1645
  "force",
1877
1646
  ]);
1878
- const CALENDAR_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1879
- ...TOOL_CALENDAR_OPTION_CONTRACTS.map((entry) => entry.param),
1880
- "past",
1881
- "fullPeriod",
1882
- ]);
1883
1647
  const CONTEXT_CONTRACT_PARAMETER_KEYS = toSchemaKeyList([
1884
1648
  ...TOOL_CONTEXT_OPTION_CONTRACTS.map((entry) => entry.param),
1885
1649
  "past",
@@ -1928,6 +1692,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1928
1692
  "extension-manage": { optional: ["scope", "runtimeProbe", "fixManagedState"] },
1929
1693
  "extension-reload": { optional: ["scope", "watch"] },
1930
1694
  "extension-doctor": { optional: ["scope", "detail", "trace", "fixManagedState", "strictExit", "failOnWarn"] },
1695
+ "extension-catalog": { optional: ["scope"] },
1931
1696
  "extension-adopt": { required: ["target"], optional: ["scope", "github", "ref"] },
1932
1697
  "extension-adopt-all": { optional: ["scope"] },
1933
1698
  "extension-activate": { required: ["target"], optional: ["scope"] },
@@ -1945,6 +1710,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1945
1710
  "manage",
1946
1711
  "reload",
1947
1712
  "doctor",
1713
+ "catalog",
1948
1714
  "adopt",
1949
1715
  "adoptAll",
1950
1716
  "activate",
@@ -1968,6 +1734,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1968
1734
  "package-manage": { optional: ["scope", "runtimeProbe", "fixManagedState"] },
1969
1735
  "package-reload": { optional: ["scope", "watch"] },
1970
1736
  "package-doctor": { optional: ["scope", "detail", "trace", "fixManagedState", "strictExit", "failOnWarn"] },
1737
+ "package-catalog": { optional: ["scope"] },
1971
1738
  "package-adopt": { required: ["target"], optional: ["scope", "github", "ref"] },
1972
1739
  "package-adopt-all": { optional: ["scope"] },
1973
1740
  "package-activate": { required: ["target"], optional: ["scope"] },
@@ -1985,6 +1752,7 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
1985
1752
  "manage",
1986
1753
  "reload",
1987
1754
  "doctor",
1755
+ "catalog",
1988
1756
  "adopt",
1989
1757
  "adoptAll",
1990
1758
  "activate",
@@ -2020,8 +1788,6 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
2020
1788
  aggregate: { optional: AGGREGATE_CONTRACT_PARAMETER_KEYS },
2021
1789
  "dedupe-audit": { optional: DEDUPE_AUDIT_CONTRACT_PARAMETER_KEYS },
2022
1790
  guide: { optional: ["format", "depth"] },
2023
- calendar: { optional: CALENDAR_CONTRACT_PARAMETER_KEYS },
2024
- cal: { optional: CALENDAR_CONTRACT_PARAMETER_KEYS },
2025
1791
  context: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
2026
1792
  ctx: { optional: CONTEXT_CONTRACT_PARAMETER_KEYS },
2027
1793
  get: { required: ["id"] },
@@ -2185,17 +1951,8 @@ const PM_TOOL_ACTION_SCHEMA_CONTRACTS = {
2185
1951
  gc: { optional: ["dryRun", "gcScope"] },
2186
1952
  contracts: { optional: ["contractAction", "command", "schemaOnly", "flagsOnly", "availabilityOnly", "runtimeOnly", "activeOnly"] },
2187
1953
  completion: { required: ["shell"], optional: ["eagerTags"] },
2188
- "templates-save": {
2189
- required: ["template"],
2190
- optional: TEMPLATE_SAVE_CONTRACT_PARAMETER_KEYS,
2191
- },
2192
- "templates-list": {},
2193
- "templates-show": { required: ["template"] },
2194
1954
  claim: { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
2195
1955
  release: { required: ["id"], optional: ["allowAuditRelease", ...AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS] },
2196
- "beads-import": { optional: ["file", "author", "message", "preserveSourceIds"] },
2197
- "todos-import": { optional: ["folder", "author", "message"] },
2198
- "todos-export": { optional: ["folder"] },
2199
1956
  "start-task": { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
2200
1957
  "pause-task": { required: ["id"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
2201
1958
  "close-task": { required: ["id", "text"], optional: AUTHOR_MESSAGE_FORCE_PARAMETER_KEYS },
@@ -2558,8 +2315,8 @@ const PM_TOOL_PARAMETER_METADATA = {
2558
2315
  description: "When true for comments action, read comment text from piped stdin (supports multiline markdown).",
2559
2316
  },
2560
2317
  file: {
2561
- description: "Path to input file for actions that read payload text (for example comments --file or beads-import --file).",
2562
- examples: ["notes/comment.md", "import.json"],
2318
+ description: "Path to input file for actions that read payload text, such as comments --file.",
2319
+ examples: ["notes/comment.md"],
2563
2320
  },
2564
2321
  allowAuditUpdate: {
2565
2322
  description: "Allow non-owner metadata-only update audits without requiring --force.",