@unbrained/pm-cli 2026.5.24 → 2026.5.28
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.
- package/CHANGELOG.md +953 -522
- package/README.md +2 -10
- package/dist/cli/bootstrap-args.d.ts +18 -1
- package/dist/cli/bootstrap-args.js +143 -3
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.js +134 -11
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/append.js +4 -3
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/claim.js +5 -4
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.d.ts +3 -0
- package/dist/cli/commands/close.js +26 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.d.ts +2 -2
- package/dist/cli/commands/completion.js +109 -56
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.js +82 -4
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/create.js +7 -272
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/delete.js +4 -3
- package/dist/cli/commands/delete.js.map +1 -1
- package/dist/cli/commands/docs.d.ts +1 -12
- package/dist/cli/commands/docs.js +8 -312
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension/bundled-catalog.d.ts +14 -0
- package/dist/cli/commands/extension/bundled-catalog.js +268 -0
- package/dist/cli/commands/extension/bundled-catalog.js.map +1 -0
- package/dist/cli/commands/extension/doctor.d.ts +31 -0
- package/dist/cli/commands/extension/doctor.js +345 -0
- package/dist/cli/commands/extension/doctor.js.map +1 -0
- package/dist/cli/commands/extension/install-sources.d.ts +37 -0
- package/dist/cli/commands/extension/install-sources.js +384 -0
- package/dist/cli/commands/extension/install-sources.js.map +1 -0
- package/dist/cli/commands/extension/managed-state.d.ts +48 -0
- package/dist/cli/commands/extension/managed-state.js +172 -0
- package/dist/cli/commands/extension/managed-state.js.map +1 -0
- package/dist/cli/commands/extension/scaffold.d.ts +14 -0
- package/dist/cli/commands/extension/scaffold.js +202 -0
- package/dist/cli/commands/extension/scaffold.js.map +1 -0
- package/dist/cli/commands/extension/shared.d.ts +14 -0
- package/dist/cli/commands/extension/shared.js +106 -0
- package/dist/cli/commands/extension/shared.js.map +1 -0
- package/dist/cli/commands/extension.d.ts +36 -68
- package/dist/cli/commands/extension.js +143 -1422
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.d.ts +1 -12
- package/dist/cli/commands/files.js +11 -308
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/get.js +4 -3
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +17 -3
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history-redact.js +23 -18
- package/dist/cli/commands/history-redact.js.map +1 -1
- package/dist/cli/commands/history-repair.js +24 -18
- package/dist/cli/commands/history-repair.js.map +1 -1
- package/dist/cli/commands/legacy-none-tokens.d.ts +3 -0
- package/dist/cli/commands/legacy-none-tokens.js +39 -0
- package/dist/cli/commands/legacy-none-tokens.js.map +1 -0
- package/dist/cli/commands/linked-artifacts.d.ts +96 -0
- package/dist/cli/commands/linked-artifacts.js +335 -0
- package/dist/cli/commands/linked-artifacts.js.map +1 -0
- package/dist/cli/commands/linked-test-parsers.d.ts +28 -0
- package/dist/cli/commands/linked-test-parsers.js +192 -0
- package/dist/cli/commands/linked-test-parsers.js.map +1 -0
- package/dist/cli/commands/list.js +19 -5
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +4 -3
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/plan.d.ts +5 -0
- package/dist/cli/commands/plan.js +56 -8
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/recurrence-parsers.d.ts +26 -0
- package/dist/cli/commands/recurrence-parsers.js +98 -0
- package/dist/cli/commands/recurrence-parsers.js.map +1 -0
- package/dist/cli/commands/restore.js +19 -8
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/search.js +5 -8
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/test/linked-command-detection.d.ts +37 -0
- package/dist/cli/commands/test/linked-command-detection.js +200 -0
- package/dist/cli/commands/test/linked-command-detection.js.map +1 -0
- package/dist/cli/commands/test.d.ts +1 -2
- package/dist/cli/commands/test.js +8 -350
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +4 -3
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.js +83 -356
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +32 -12
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +1 -0
- package/dist/cli/error-guidance.js +6 -2
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/main.d.ts +11 -0
- package/dist/cli/main.js +76 -28
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.d.ts +4 -1
- package/dist/cli/register-list-query.js +242 -203
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.js +73 -11
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +3 -3
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +12 -7
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.js +3 -2
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/core/config/positional-value.d.ts +44 -0
- package/dist/core/config/positional-value.js +109 -0
- package/dist/core/config/positional-value.js.map +1 -0
- package/dist/core/extensions/extension-capability-aliases.d.ts +14 -0
- package/dist/core/extensions/extension-capability-aliases.js +159 -0
- package/dist/core/extensions/extension-capability-aliases.js.map +1 -0
- package/dist/core/extensions/extension-hook-runtime.d.ts +13 -0
- package/dist/core/extensions/extension-hook-runtime.js +414 -0
- package/dist/core/extensions/extension-hook-runtime.js.map +1 -0
- package/dist/core/extensions/extension-policy.d.ts +69 -0
- package/dist/core/extensions/extension-policy.js +481 -0
- package/dist/core/extensions/extension-policy.js.map +1 -0
- package/dist/core/extensions/extension-registries.d.ts +8 -0
- package/dist/core/extensions/extension-registries.js +52 -0
- package/dist/core/extensions/extension-registries.js.map +1 -0
- package/dist/core/extensions/extension-runtime-helpers.d.ts +6 -0
- package/dist/core/extensions/extension-runtime-helpers.js +29 -0
- package/dist/core/extensions/extension-runtime-helpers.js.map +1 -0
- package/dist/core/extensions/extension-types.d.ts +13 -39
- package/dist/core/extensions/extension-types.js +34 -2
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +7 -0
- package/dist/core/extensions/index.js +11 -2
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +4 -22
- package/dist/core/extensions/loader.js +22 -1139
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/history/drift-scan.d.ts +11 -0
- package/dist/core/history/drift-scan.js +114 -32
- package/dist/core/history/drift-scan.js.map +1 -1
- package/dist/core/history/history-rewrite.d.ts +43 -0
- package/dist/core/history/history-rewrite.js +48 -0
- package/dist/core/history/history-rewrite.js.map +1 -0
- package/dist/core/history/history.js +5 -4
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/history/replay.js +4 -3
- package/dist/core/history/replay.js.map +1 -1
- package/dist/core/item/item-record.d.ts +19 -0
- package/dist/core/item/item-record.js +24 -0
- package/dist/core/item/item-record.js.map +1 -0
- package/dist/core/output/mutation-projection.d.ts +31 -0
- package/dist/core/output/mutation-projection.js +103 -0
- package/dist/core/output/mutation-projection.js.map +1 -0
- package/dist/core/output/output.d.ts +2 -0
- package/dist/core/output/output.js +5 -3
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/runtime-schema.js +8 -38
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/vector-stores.js +46 -9
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +1 -1
- package/dist/core/sentry/helpers.js +20 -3
- package/dist/core/sentry/helpers.js.map +1 -1
- package/dist/core/shared/command-types.d.ts +1 -0
- package/dist/core/shared/command-types.js +2 -2
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/constants.d.ts +10 -1
- package/dist/core/shared/constants.js +56 -58
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/levenshtein.js +23 -7
- package/dist/core/shared/levenshtein.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +23 -0
- package/dist/core/shared/primitives.js +39 -2
- package/dist/core/shared/primitives.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +16 -2
- package/dist/core/store/front-matter-cache.js +99 -33
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/core/store/item-store.js +8 -73
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/mcp/server.js +76 -28
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +20 -0
- package/dist/sdk/cli-contracts/enum-contracts.js +156 -0
- package/dist/sdk/cli-contracts/enum-contracts.js.map +1 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +14 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js +243 -0
- package/dist/sdk/cli-contracts/tool-option-contracts.js.map +1 -0
- package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +11 -0
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +901 -0
- package/dist/sdk/cli-contracts/tool-parameter-tables.js.map +1 -0
- package/dist/sdk/cli-contracts.d.ts +11 -33
- package/dist/sdk/cli-contracts.js +30 -1356
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/package-import-adapters.d.ts +74 -0
- package/dist/sdk/package-import-adapters.js +186 -0
- package/dist/sdk/package-import-adapters.js.map +1 -0
- package/dist/sdk/package-runtime-options.d.ts +26 -0
- package/dist/sdk/package-runtime-options.js +71 -0
- package/dist/sdk/package-runtime-options.js.map +1 -0
- package/dist/sdk/runtime.d.ts +2 -0
- package/dist/sdk/runtime.js +4 -2
- package/dist/sdk/runtime.js.map +1 -1
- package/docs/AGENT_GUIDE.md +6 -10
- package/docs/CLAUDE_CODE_PLUGIN.md +5 -28
- package/docs/CODEX_PLUGIN.md +5 -5
- package/docs/COMMANDS.md +19 -3
- package/docs/CONFIGURATION.md +15 -0
- package/docs/EXTENSIONS.md +4 -63
- package/docs/RELEASING.md +4 -4
- package/marketplace.json +7 -3
- package/package.json +9 -6
- package/packages/pm-beads/extensions/beads/index.js +2 -49
- package/packages/pm-beads/extensions/beads/index.ts +2 -54
- package/packages/pm-beads/extensions/beads/runtime-loader.js +86 -0
- package/packages/pm-beads/extensions/beads/runtime-loader.ts +88 -0
- package/packages/pm-beads/extensions/beads/runtime.js +26 -115
- package/packages/pm-beads/extensions/beads/runtime.ts +33 -132
- package/packages/pm-calendar/extensions/calendar/index.js +47 -2
- package/packages/pm-calendar/extensions/calendar/index.ts +52 -2
- package/packages/pm-calendar/extensions/calendar/runtime.js +1 -0
- package/packages/pm-calendar/extensions/calendar/runtime.ts +1 -0
- package/packages/pm-governance-audit/extensions/governance-audit/runtime.js +14 -41
- package/packages/pm-governance-audit/extensions/governance-audit/runtime.ts +25 -41
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.js +10 -50
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +17 -50
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.js +8 -40
- package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/runtime.ts +10 -40
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +1 -1
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +4 -37
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +6 -37
- package/packages/pm-todos/extensions/todos/index.js +3 -50
- package/packages/pm-todos/extensions/todos/index.ts +3 -55
- package/packages/pm-todos/extensions/todos/runtime-loader.js +86 -0
- package/packages/pm-todos/extensions/todos/runtime-loader.ts +88 -0
- package/packages/pm-todos/extensions/todos/runtime.js +24 -117
- package/packages/pm-todos/extensions/todos/runtime.ts +32 -129
- package/plugins/pm-claude/README.md +2 -2
- package/plugins/pm-claude/commands/pm-planner.md +1 -15
- package/plugins/pm-claude/scripts/pm-mcp-server.mjs +5 -2
- package/plugins/pm-claude/skills/pm-planner/SKILL.md +3 -21
- package/plugins/pm-codex/scripts/pm-mcp-server.mjs +15 -6
- package/plugins/pm-codex/skills/pm-native/SKILL.md +1 -13
- package/PRD.md +0 -1734
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sources":["mcp/server.ts"],"sourceRoot":"/","sourcesContent":["#!/usr/bin/env node\nimport readline from \"node:readline\";\nimport { fileURLToPath } from \"node:url\";\nimport {\n activateExtensions,\n loadExtensions,\n runActiveCommandHandler,\n setActiveExtensionCommands,\n setActiveExtensionHooks,\n setActiveExtensionParsers,\n setActiveExtensionPreflight,\n setActiveExtensionRegistrations,\n setActiveExtensionRenderers,\n setActiveExtensionServices,\n} from \"../core/extensions/index.js\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runClaim,\n runClose,\n runComments,\n runContracts,\n runContext,\n runCreate,\n runConfig,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runHealth,\n runHistory,\n runHistoryRedact,\n runHistoryRepair,\n runInit,\n runLearnings,\n runList,\n runNotes,\n runPlan,\n runRelease,\n runSchemaAddType,\n runSearch,\n runStats,\n runTest,\n runTestAll,\n runUpdate,\n runUpdateMany,\n runUpgrade,\n runValidate,\n} from \"../cli/commands/index.js\";\n\ninterface JsonRpcRequest {\n jsonrpc?: string;\n id?: string | number | null;\n method?: string;\n params?: Record<string, unknown>;\n}\n\ninterface ToolDefinition {\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n}\n\ntype ToolHandler = (args: Record<string, unknown>) => Promise<unknown>;\n\nconst PM_PACKAGE_ROOT_ENV = \"PM_CLI_PACKAGE_ROOT\";\n\nfunction resolvePmPackageRoot(): string {\n return fileURLToPath(new URL(\"../..\", import.meta.url));\n}\n\nif (typeof process.env[PM_PACKAGE_ROOT_ENV] !== \"string\" || process.env[PM_PACKAGE_ROOT_ENV]?.trim().length === 0) {\n process.env[PM_PACKAGE_ROOT_ENV] = resolvePmPackageRoot();\n}\n\nconst TOOL_SCHEMA_BASE = {\n type: \"object\",\n properties: {\n cwd: {\n type: \"string\",\n description: \"Workspace directory to run the native pm operation in. Defaults to the MCP server process cwd.\",\n },\n path: {\n type: \"string\",\n description: \"Optional pm data root, equivalent to PM_PATH/global --path. Leave unset for real repository tracking.\",\n },\n author: {\n type: \"string\",\n description: \"Mutation author. Defaults to PM_AUTHOR or pm settings when supported by the underlying operation.\",\n },\n },\n additionalProperties: true,\n} as const;\n\nconst idSchema = {\n type: \"string\",\n description: \"pm item id, for example pm-abc1.\",\n};\n\nfunction objectSchema(properties: Record<string, unknown>, required: string[] = []): Record<string, unknown> {\n return {\n ...TOOL_SCHEMA_BASE,\n properties: {\n ...TOOL_SCHEMA_BASE.properties,\n ...properties,\n },\n required,\n };\n}\n\nconst TOOLS: ToolDefinition[] = [\n {\n name: \"pm_run\",\n description:\n \"Run any supported pm operation natively through the pm library. Use this for commands not covered by narrower pm_* tools.\",\n inputSchema: objectSchema(\n {\n action: {\n type: \"string\",\n description:\n \"Operation name: init, context, list, get, search, create, update, delete, claim, release, close, comments, notes, learnings, files, files-discover, docs, deps, test, test-all, validate, health, contracts, config, activity, aggregate, extension, extension-reload, package, package-install, package-catalog, install, upgrade, history, stats, append, update-many, gc. Package-owned actions (for example calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume) are available dynamically when installed.\",\n },\n id: idSchema,\n query: { type: \"string\", description: \"Search query for action=search.\" },\n reason: { type: \"string\", description: \"Close reason for action=close.\" },\n force: { type: \"boolean\", description: \"Force ownership/terminal-state override when supported.\" },\n options: { type: \"object\", description: \"Underlying pm command options using camelCase keys.\" },\n },\n [\"action\"],\n ),\n },\n {\n name: \"pm_context\",\n description: \"Return the agent-oriented project context snapshot.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_search\",\n description:\n \"Search pm items with keyword, semantic, or hybrid search. \" +\n \"Defaults to a compact projection for token efficiency. \" +\n \"Pass options.mode=keyword|semantic|hybrid, options.limit=N to cap hits, \" +\n \"options.fields='id,title,score' for a custom projection, or options.full=true for full item bodies (can be large).\",\n inputSchema: objectSchema({ query: { type: \"string\" }, options: { type: \"object\" } }, [\"query\"]),\n },\n {\n name: \"pm_list\",\n description:\n \"List pm items with status/type/tag/priority filters. Defaults to compact projection for token efficiency. \" +\n \"options.status accepts CSV (open,in_progress). \" +\n \"Pass options.compact=false or options.includeBody=true for full bodies/comments. \" +\n \"Pass options.brief=true for ultra-terse (id/status/type/title only). \" +\n \"Pass options.fields='id,title,priority' for custom projection. \" +\n \"Pass options.limit=N to cap row count.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_get\",\n description:\n \"Read one pm item. Pass options.depth='brief' or options.fields='id,title,status' for low-token inspection.\",\n inputSchema: objectSchema({\n id: idSchema,\n options: { type: \"object\", description: \"Get options such as depth=brief|standard|deep or fields=id,title,status.\" },\n }, [\"id\"]),\n },\n {\n name: \"pm_create\",\n description: \"Create a pm item natively and write pm history.\",\n inputSchema: objectSchema({ options: { type: \"object\", description: \"Create options. title and description are required.\" } }, [\n \"options\",\n ]),\n },\n {\n name: \"pm_update\",\n description: \"Update pm item metadata/body/dependencies/log seeds natively.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\", \"options\"]),\n },\n {\n name: \"pm_claim\",\n description: \"Claim a pm item.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_release\",\n description: \"Release a pm item claim.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_close\",\n description: \"Close a pm item with a reason and optional close validation.\",\n inputSchema: objectSchema({ id: idSchema, reason: { type: \"string\" }, options: { type: \"object\" } }, [\"id\", \"reason\"]),\n },\n {\n name: \"pm_comments\",\n description:\n \"List or add comments on a pm item. Use options.add to append. \" +\n \"List calls default to the most recent 20 comments with total_count/has_more metadata for token efficiency. \" +\n \"Pass options.limit=N to choose a page size, options.limit=0 for summary-only metadata, or options.full=true for full history.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_files\",\n description: \"List, add, remove, audit, or validate linked files for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_docs\",\n description: \"List, add, or remove linked docs for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_test\",\n description: \"List, add, remove, or run linked tests for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_validate\",\n description: \"Run pm validation checks.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_health\",\n description: \"Run pm health diagnostics. Pass options.brief=true for compact low-token details, options.skipIntegrity=true, options.skipDrift=true, options.skipVectors=true for a fast status-only check, or options.full=true for the complete deep check.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_contracts\",\n description: \"Inspect pm command, flag, schema, and availability contracts.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_plan\",\n description:\n \"Run agent-optimized Plan workflows. options.subcommand selects: create|show|add-step|update-step|complete-step|block-step|reorder-step|remove-step|link|unlink|decision|discovery|validation|resume|approve|materialize. Provide id for all non-create subcommands; provide stepRef for step lifecycle subcommands. Plans store agent-readable steps with dependencies, decisions, discoveries, validation, and resume context.\",\n inputSchema: objectSchema({\n id: { type: \"string\", description: \"Plan id (required for all subcommands except create).\" },\n stepRef: { type: \"string\", description: \"Step id or order for step lifecycle subcommands.\" },\n reorderTo: { type: \"number\", description: \"New order for reorder-step.\" },\n options: { type: \"object\", description: \"Plan options including subcommand, stepRef, stepStatus, link, depth, etc.\" },\n }),\n },\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 readRequiredString(args: Record<string, unknown>, key: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Missing required argument: ${key}`, 64);\n }\n return value;\n}\n\nfunction globalOptions(args: Record<string, unknown>): GlobalOptions {\n return {\n json: true,\n quiet: true,\n path: readString(args, \"path\"),\n noPager: true,\n };\n}\n\nconst ARRAY_TO_CSV_FIELDS = new Set([\"tags\", \"blockedBy\", \"blocked_by\", \"skills\"]);\n\nconst SCALAR_TO_ARRAY_FIELDS = new Set([\n \"comment\",\n \"note\",\n \"learning\",\n \"reminder\",\n \"event\",\n \"dep\",\n \"depRemove\",\n \"dep_remove\",\n \"file\",\n \"doc\",\n \"test\",\n \"unset\",\n \"addGlob\",\n \"add_glob\",\n \"migrate\",\n \"envSet\",\n \"env_set\",\n \"envClear\",\n \"env_clear\",\n]);\n\n// Actions where the linked-resource fields `add` and `remove` are string[] arrays.\n// For other actions (comments/notes/learnings) `add` and `remove` are scalar strings\n// and must NOT be auto-promoted.\nconst ARRAY_ADD_REMOVE_ACTIONS = new Set([\n \"files\",\n \"files-discover\",\n \"docs\",\n \"test\",\n \"test-all\",\n]);\n\nfunction normalizeOptionsArrays(\n options: Record<string, unknown>,\n action?: string,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n const promoteAddRemove = action !== undefined && ARRAY_ADD_REMOVE_ACTIONS.has(action);\n for (const [key, value] of Object.entries(options)) {\n if (Array.isArray(value) && ARRAY_TO_CSV_FIELDS.has(key)) {\n result[key] = value.join(\",\");\n continue;\n }\n if (typeof value === \"string\" && SCALAR_TO_ARRAY_FIELDS.has(key)) {\n result[key] = [value];\n continue;\n }\n if (typeof value === \"string\" && promoteAddRemove && (key === \"add\" || key === \"remove\")) {\n result[key] = [value];\n continue;\n }\n result[key] = value;\n }\n return result;\n}\n\nfunction optionsWithAuthor(args: Record<string, unknown>, action?: string): Record<string, unknown> {\n const options = normalizeOptionsArrays(asRecord(args.options), action);\n const author = readString(args, \"author\");\n return author && options.author === undefined ? { ...options, author } : options;\n}\n\nfunction normalizeActionName(value: string): string {\n return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value.trim().toLowerCase().split(/\\s+/).filter(Boolean).join(\" \");\n}\n\nfunction readStringArray(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((entry) => String(entry)).filter((entry) => entry.length > 0);\n}\n\nfunction extensionOptionsFromArgs(args: Record<string, unknown>, options: Record<string, unknown>): Record<string, unknown> {\n const reserved = new Set([\"action\", \"args\", \"author\", \"cwd\", \"id\", \"options\", \"path\", \"query\", \"reason\", \"target\"]);\n const passthrough: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(args)) {\n if (!reserved.has(key)) {\n passthrough[key] = value;\n }\n }\n const normalizedOptions = { ...passthrough, ...options };\n delete normalizedOptions.args;\n return normalizedOptions;\n}\n\nasync function runDynamicExtensionAction(\n action: string,\n args: Record<string, unknown>,\n options: Record<string, unknown>,\n global: GlobalOptions,\n): Promise<unknown> {\n if (global.noExtensions) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n\n const normalizedAction = normalizeActionName(action);\n const definition = activationResult.registrations.commands.find((entry) =>\n normalizeActionName(entry.action) === normalizedAction\n );\n const command = definition?.command ??\n activationResult.commands.handlers.find((entry) => normalizeActionName(entry.command) === normalizedAction)?.command;\n if (!command) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n\n setActiveExtensionHooks(activationResult.hooks);\n setActiveExtensionCommands(activationResult.commands);\n setActiveExtensionParsers(activationResult.parsers);\n setActiveExtensionPreflight(activationResult.preflight);\n setActiveExtensionServices(activationResult.services);\n setActiveExtensionRenderers(activationResult.renderers);\n setActiveExtensionRegistrations(activationResult.registrations);\n\n const handlerResult = await runActiveCommandHandler({\n command: normalizeCommandPath(command),\n args: readStringArray(options.args ?? args.args),\n options: extensionOptionsFromArgs(args, options),\n global,\n pm_root: pmRoot,\n });\n if (!handlerResult.handled) {\n const suffix = handlerResult.warnings.length > 0 ? ` (${handlerResult.warnings.join(\", \")})` : \"\";\n throw new PmCliError(`Unsupported native pm action: ${action}${suffix}`, 64);\n }\n return handlerResult.result;\n}\n\nasync function withCwd<T>(cwd: unknown, run: () => Promise<T>): Promise<T> {\n if (typeof cwd !== \"string\" || cwd.trim().length === 0) {\n return run();\n }\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 runAction(args: Record<string, unknown>): Promise<unknown> {\n const action = readRequiredString(args, \"action\");\n const global = globalOptions(args);\n const options = optionsWithAuthor(args, action);\n const id = readString(args, \"id\");\n const force = args.force === true;\n\n switch (action) {\n case \"init\":\n return runInit(readString(args, \"prefix\"), global, options);\n case \"context\":\n return runContext(options, global);\n case \"list\": {\n const listOptions: Record<string, unknown> = { ...options };\n if (\n listOptions.compact === undefined &&\n listOptions.brief === undefined &&\n listOptions.fields === undefined &&\n listOptions.includeBody === undefined\n ) {\n listOptions.compact = true;\n }\n return runList(readString(args, \"status\"), listOptions as never, global);\n }\n case \"get\":\n return runGet(id ?? readRequiredString(options, \"id\"), global, options);\n case \"search\": {\n const searchOptions: Parameters<typeof runSearch>[1] = { ...options };\n if (\n searchOptions.compact === undefined &&\n searchOptions.full === undefined &&\n searchOptions.fields === undefined\n ) {\n searchOptions.compact = true;\n }\n return runSearch(readRequiredString(args, \"query\"), searchOptions, global);\n }\n case \"create\":\n return runCreate(options, global);\n case \"update\":\n return runUpdate(id ?? readRequiredString(options, \"id\"), options, global);\n case \"claim\":\n return runClaim(id ?? readRequiredString(options, \"id\"), force, global, options);\n case \"release\":\n return runRelease(id ?? readRequiredString(options, \"id\"), force, global, options);\n case \"close\":\n return runClose(id ?? readRequiredString(options, \"id\"), readRequiredString(args, \"reason\"), options, global);\n case \"comments\": {\n const commentOptions: Record<string, unknown> = { ...options };\n const isListing =\n commentOptions.add === undefined && commentOptions.stdin === undefined && commentOptions.file === undefined;\n if (isListing) {\n commentOptions.includeMeta = true;\n if (commentOptions.limit === undefined && commentOptions.full !== true) {\n commentOptions.limit = \"20\";\n }\n }\n delete commentOptions.full;\n return runComments(id ?? readRequiredString(options, \"id\"), commentOptions, global);\n }\n case \"notes\":\n return runNotes(id ?? readRequiredString(options, \"id\"), options, global);\n case \"learnings\":\n return runLearnings(id ?? readRequiredString(options, \"id\"), options, global);\n case \"files\":\n return runFiles(id ?? readRequiredString(options, \"id\"), options, global);\n case \"docs\":\n return runDocs(id ?? readRequiredString(options, \"id\"), options, global);\n case \"test\":\n return runTest(id ?? readRequiredString(options, \"id\"), options, global);\n case \"test-all\":\n return runTestAll(options, global);\n case \"validate\":\n return runValidate(options, global);\n case \"health\":\n return runHealth(global, options);\n case \"contracts\":\n return runContracts(options, global);\n case \"config\":\n return runConfig(\n readString(args, \"scope\") ?? readString(options, \"scope\") ?? \"project\",\n readString(args, \"configAction\") ?? readRequiredString(options, \"action\"),\n readString(args, \"key\") ?? readString(options, \"key\"),\n options,\n global,\n );\n case \"activity\": {\n const activityOptions = { ...options } as Parameters<typeof runActivity>[0] & { full?: unknown };\n if (activityOptions.compact === undefined) {\n activityOptions.compact = activityOptions.full === true ? false : true;\n }\n delete activityOptions.full;\n return runActivity(activityOptions, global);\n }\n case \"aggregate\":\n return runAggregate(options, global);\n case \"extension\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"extension-reload\":\n return runExtension(undefined, { ...options, reload: true }, global);\n case \"package\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"package-install\":\n case \"install\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), { ...options, install: true }, global);\n case \"package-catalog\":\n return runExtension(undefined, { ...options, catalog: true, vocabulary: \"package\" }, global);\n case \"upgrade\":\n return runUpgrade(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"delete\":\n return runDelete(id ?? readRequiredString(options, \"id\"), options, global);\n case \"deps\":\n return runDeps(id ?? readRequiredString(options, \"id\"), options, global);\n case \"files-discover\":\n return runFilesDiscover(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history\":\n return runHistory(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history-redact\":\n return runHistoryRedact(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history-repair\":\n return runHistoryRepair(id ?? readRequiredString(options, \"id\"), options, global);\n case \"plan\": {\n const subcommand = readRequiredString(options, \"subcommand\");\n const planRecord = options as Record<string, unknown>;\n const reorderToken = planRecord.reorderTo ?? args.reorderTo;\n const reorderTo =\n typeof reorderToken === \"number\" && Number.isFinite(reorderToken)\n ? reorderToken\n : typeof reorderToken === \"string\" && reorderToken.trim().length > 0\n ? Number.parseInt(reorderToken, 10)\n : undefined;\n const stepRef = typeof planRecord.stepRef === \"string\"\n ? (planRecord.stepRef as string)\n : typeof args.stepRef === \"string\"\n ? (args.stepRef as string)\n : undefined;\n return runPlan({\n subcommand: subcommand as never,\n id: typeof id === \"string\" ? id : typeof planRecord.id === \"string\" ? (planRecord.id as string) : undefined,\n stepRef,\n reorderTo,\n options: options as never,\n global,\n });\n }\n case \"schema\": {\n // subcommand/name are top-level fields in the published action contract,\n // so accept them from args first and fall back to options for parity.\n const subcommand = readString(args, \"subcommand\") ?? readRequiredString(options, \"subcommand\");\n if (subcommand.trim().toLowerCase() !== \"add-type\") {\n throw new PmCliError(`Unknown pm schema subcommand \"${subcommand}\". Allowed: add-type`, 64);\n }\n const aliasSource = args.alias ?? options.alias;\n const aliases = aliasSource === undefined ? undefined : readStringArray(aliasSource);\n return runSchemaAddType(\n readString(args, \"name\") ?? readString(options, \"name\"),\n {\n description: readString(args, \"description\") ?? readString(options, \"description\"),\n defaultStatus:\n readString(args, \"defaultStatus\") ??\n readString(args, \"default_status\") ??\n readString(options, \"defaultStatus\") ??\n readString(options, \"default_status\"),\n folder: readString(args, \"folder\") ?? readString(options, \"folder\"),\n alias: aliases,\n author: readString(args, \"author\") ?? readString(options, \"author\"),\n force: args.force === true || options.force === true,\n },\n global,\n );\n }\n case \"stats\":\n return runStats(global);\n case \"append\":\n return runAppend(id ?? readRequiredString(options, \"id\"), options as never, global);\n case \"update-many\":\n return runUpdateMany(options as never, global);\n case \"gc\":\n return runGc(global, options);\n default:\n return runDynamicExtensionAction(action, args, options, global);\n }\n}\n\nconst HANDLERS: Record<string, ToolHandler> = {\n pm_run: (args) => runAction(args),\n pm_context: (args) => runAction({ ...args, action: \"context\" }),\n pm_search: (args) => runAction({ ...args, action: \"search\" }),\n pm_list: (args) => runAction({ ...args, action: \"list\" }),\n pm_get: (args) => runAction({ ...args, action: \"get\" }),\n pm_create: (args) => runAction({ ...args, action: \"create\" }),\n pm_update: (args) => runAction({ ...args, action: \"update\" }),\n pm_claim: (args) => runAction({ ...args, action: \"claim\" }),\n pm_release: (args) => runAction({ ...args, action: \"release\" }),\n pm_close: (args) => runAction({ ...args, action: \"close\" }),\n pm_comments: (args) => runAction({ ...args, action: \"comments\" }),\n pm_files: (args) => runAction({ ...args, action: \"files\" }),\n pm_docs: (args) => runAction({ ...args, action: \"docs\" }),\n pm_test: (args) => runAction({ ...args, action: \"test\" }),\n pm_validate: (args) => runAction({ ...args, action: \"validate\" }),\n pm_health: (args) => runAction({ ...args, action: \"health\" }),\n pm_contracts: (args) => runAction({ ...args, action: \"contracts\" }),\n pm_plan: (args) => runAction({ ...args, action: \"plan\" }),\n};\n\nfunction resultContent(result: unknown): Record<string, unknown> {\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify(result, null, 2),\n },\n ],\n structuredContent: { result },\n };\n}\n\nfunction errorContent(error: unknown): Record<string, unknown> {\n const code = error instanceof PmCliError ? error.exitCode : 1;\n const message = error instanceof Error ? error.message : String(error);\n return {\n isError: true,\n content: [\n {\n type: \"text\",\n text: JSON.stringify({ error: message, code }, null, 2),\n },\n ],\n structuredContent: { error: message, code },\n };\n}\n\nexport async function handleRequest(request: JsonRpcRequest): Promise<Record<string, unknown> | undefined> {\n if (!request.id && request.method?.startsWith(\"notifications/\")) {\n return undefined;\n }\n if (request.method === \"initialize\") {\n return {\n protocolVersion: \"2025-06-18\",\n capabilities: { tools: {} },\n serverInfo: { name: \"pm-mcp\", version: \"1.0.0\" },\n instructions:\n \"You have access to native pm CLI tools for git-based project management. \" +\n \"Use pm_context or pm_search before creating new work. \" +\n \"Prefer narrow tools (pm_context, pm_list, pm_get, pm_search, pm_create, pm_update, pm_claim, pm_release, pm_close, pm_comments, pm_files, pm_docs, pm_test, pm_validate, pm_health, pm_contracts, pm_plan) over pm_run when they cover the operation. \" +\n \"Use pm_plan for agent harness Plan workflows: it provides Codex/Claude/Cursor-style planning with durable steps, dependencies, decisions, discoveries, validation, and materialization. \" +\n \"Use pm_run with an explicit action for package-owned operations (calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume), plus activity, aggregate, history, stats, append, notes, learnings, test-all, and gc. \" +\n \"Use history-redact for audited history-stream redaction workflows, and history-repair to re-anchor a drifted history chain so pm health/validate report ok. \" +\n \"Set author to 'claude-code-agent' on all mutations. \" +\n \"Do not pass path during real repository tracking — only pass path for sandbox or test runs.\",\n };\n }\n if (request.method === \"tools/list\") {\n return { tools: TOOLS };\n }\n if (request.method === \"tools/call\") {\n const params = asRecord(request.params);\n const name = readRequiredString(params, \"name\");\n const handler = HANDLERS[name];\n if (!handler) {\n throw new PmCliError(`Unknown pm MCP tool: ${name}`, 64);\n }\n const args = asRecord(params.arguments);\n const result = await withCwd(args.cwd, () => handler(args));\n return resultContent(result);\n }\n throw new PmCliError(`Unsupported MCP method: ${request.method ?? \"(missing)\"}`, 64);\n}\n\nfunction writeResponse(id: JsonRpcRequest[\"id\"], payload: Record<string, unknown>): void {\n process.stdout.write(`${JSON.stringify({ jsonrpc: \"2.0\", id, result: payload })}\\n`);\n}\n\nfunction writeError(id: JsonRpcRequest[\"id\"], error: unknown): void {\n const code = error instanceof PmCliError ? error.exitCode : -32603;\n const message = error instanceof Error ? error.message : String(error);\n process.stdout.write(`${JSON.stringify({ jsonrpc: \"2.0\", id, error: { code, message } })}\\n`);\n}\n\nexport function startMcpServer(): void {\n const rl = readline.createInterface({ input: process.stdin, crlfDelay: Infinity });\n rl.on(\"line\", (line) => {\n void (async () => {\n if (line.trim().length === 0) {\n return;\n }\n let request: JsonRpcRequest;\n try {\n request = JSON.parse(line) as JsonRpcRequest;\n } catch (error) {\n writeError(null, error);\n return;\n }\n try {\n const result = await handleRequest(request);\n if (result !== undefined) {\n writeResponse(request.id, result);\n }\n } catch (error) {\n if (request.method === \"tools/call\") {\n writeResponse(request.id, errorContent(error));\n } else {\n writeError(request.id, error);\n }\n }\n })();\n });\n}\n\nif (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {\n startMcpServer();\n}\n"],"names":[],"mappings":"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","debugId":"e1643b39-5600-59ef-9b48-ad64525cb1aa"}
|
|
1
|
+
{"version":3,"file":"server.js","sources":["mcp/server.ts"],"sourceRoot":"/","sourcesContent":["#!/usr/bin/env node\nimport readline from \"node:readline\";\nimport { fileURLToPath } from \"node:url\";\nimport {\n activateExtensions,\n loadExtensions,\n runActiveCommandHandler,\n setActiveExtensionCommands,\n setActiveExtensionHooks,\n setActiveExtensionParsers,\n setActiveExtensionPreflight,\n setActiveExtensionRegistrations,\n setActiveExtensionRenderers,\n setActiveExtensionServices,\n} from \"../core/extensions/index.js\";\nimport { pathExists } from \"../core/fs/fs-utils.js\";\nimport { projectMutationResult } from \"../core/output/mutation-projection.js\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { asRecordClone } from \"../core/shared/primitives.js\";\nimport { getSettingsPath, resolvePmRoot } from \"../core/store/paths.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runClaim,\n runClose,\n runComments,\n runContracts,\n runContext,\n runCreate,\n runConfig,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runHealth,\n runHistory,\n runHistoryRedact,\n runHistoryRepair,\n runInit,\n runLearnings,\n runList,\n runNotes,\n runPlan,\n runRelease,\n runSchemaAddType,\n runSearch,\n runStats,\n runTest,\n runTestAll,\n runUpdate,\n runUpdateMany,\n runUpgrade,\n runValidate,\n} from \"../cli/commands/index.js\";\n\ninterface JsonRpcRequest {\n jsonrpc?: string;\n id?: string | number | null;\n method?: string;\n params?: Record<string, unknown>;\n}\n\ninterface ToolDefinition {\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n}\n\ntype ToolHandler = (args: Record<string, unknown>) => Promise<unknown>;\n\nconst PM_PACKAGE_ROOT_ENV = \"PM_CLI_PACKAGE_ROOT\";\n\nfunction resolvePmPackageRoot(): string {\n return fileURLToPath(new URL(\"../..\", import.meta.url));\n}\n\nif (typeof process.env[PM_PACKAGE_ROOT_ENV] !== \"string\" || process.env[PM_PACKAGE_ROOT_ENV]?.trim().length === 0) {\n process.env[PM_PACKAGE_ROOT_ENV] = resolvePmPackageRoot();\n}\n\nconst TOOL_SCHEMA_BASE = {\n type: \"object\",\n properties: {\n cwd: {\n type: \"string\",\n description: \"Workspace directory to run the native pm operation in. Defaults to the MCP server process cwd.\",\n },\n path: {\n type: \"string\",\n description: \"Optional pm data root, equivalent to PM_PATH/global --path. Leave unset for real repository tracking.\",\n },\n author: {\n type: \"string\",\n description: \"Mutation author. Defaults to PM_AUTHOR or pm settings when supported by the underlying operation.\",\n },\n },\n additionalProperties: true,\n} as const;\n\nconst idSchema = {\n type: \"string\",\n description: \"pm item id, for example pm-abc1.\",\n};\n\nfunction objectSchema(properties: Record<string, unknown>, required: string[] = []): Record<string, unknown> {\n return {\n ...TOOL_SCHEMA_BASE,\n properties: {\n ...TOOL_SCHEMA_BASE.properties,\n ...properties,\n },\n required,\n };\n}\n\nconst TOOLS: ToolDefinition[] = [\n {\n name: \"pm_run\",\n description:\n \"Run any supported pm operation natively through the pm library. Use this for commands not covered by narrower pm_* tools.\",\n inputSchema: objectSchema(\n {\n action: {\n type: \"string\",\n description:\n \"Operation name: init, context, list, get, search, create, update, delete, claim, release, close, comments, notes, learnings, files, files-discover, docs, deps, test, test-all, validate, health, contracts, config, activity, aggregate, extension, extension-reload, package, package-install, package-catalog, install, upgrade, history, stats, append, update-many, gc. Package-owned actions (for example calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume) are available dynamically when installed.\",\n },\n id: idSchema,\n query: { type: \"string\", description: \"Search query for action=search.\" },\n reason: { type: \"string\", description: \"Close reason for action=close.\" },\n force: { type: \"boolean\", description: \"Force ownership/terminal-state override when supported.\" },\n options: { type: \"object\", description: \"Underlying pm command options using camelCase keys.\" },\n fullChangedFields: {\n type: \"boolean\",\n description:\n \"For mutation actions, return the full changed_fields array instead of the default changed_field_count.\",\n },\n },\n [\"action\"],\n ),\n },\n {\n name: \"pm_context\",\n description: \"Return the agent-oriented project context snapshot.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_search\",\n description:\n \"Search pm items with keyword, semantic, or hybrid search. \" +\n \"Defaults to a compact projection for token efficiency. \" +\n \"Pass options.mode=keyword|semantic|hybrid, options.limit=N to cap hits, \" +\n \"options.fields='id,title,score' for a custom projection, or options.full=true for full item bodies (can be large).\",\n inputSchema: objectSchema({ query: { type: \"string\" }, options: { type: \"object\" } }, [\"query\"]),\n },\n {\n name: \"pm_list\",\n description:\n \"List pm items with status/type/tag/priority filters. Defaults to compact projection for token efficiency. \" +\n \"options.status accepts CSV (open,in_progress). \" +\n \"Pass options.compact=false or options.includeBody=true for full bodies/comments. \" +\n \"Pass options.brief=true for ultra-terse (id/status/type/title only). \" +\n \"Pass options.fields='id,title,priority' for custom projection. \" +\n \"Pass options.limit=N to cap row count.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_get\",\n description:\n \"Read one pm item. Pass options.depth='brief' or options.fields='id,title,status' for low-token inspection.\",\n inputSchema: objectSchema({\n id: idSchema,\n options: { type: \"object\", description: \"Get options such as depth=brief|standard|deep or fields=id,title,status.\" },\n }, [\"id\"]),\n },\n {\n name: \"pm_create\",\n description:\n \"Create a pm item natively and write pm history. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count for token efficiency); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\", description: \"Create options. title and description are required.\" },\n },\n [\"options\"],\n ),\n },\n {\n name: \"pm_update\",\n description:\n \"Update pm item metadata/body/dependencies/log seeds natively. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields delta.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\" },\n },\n [\"id\", \"options\"],\n ),\n },\n {\n name: \"pm_claim\",\n description: \"Claim a pm item.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_release\",\n description: \"Release a pm item claim.\",\n inputSchema: objectSchema({ id: idSchema, force: { type: \"boolean\" }, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_close\",\n description:\n \"Close a pm item with a reason and optional close validation. \" +\n \"Output is compact by default (changed_fields replaced with changed_field_count); pass fullChangedFields=true for the full changed_fields array.\",\n inputSchema: objectSchema(\n {\n id: idSchema,\n reason: { type: \"string\" },\n fullChangedFields: { type: \"boolean\", description: \"Return full changed_fields instead of changed_field_count.\" },\n options: { type: \"object\" },\n },\n [\"id\", \"reason\"],\n ),\n },\n {\n name: \"pm_comments\",\n description:\n \"List or add comments on a pm item. Use options.add to append. \" +\n \"List calls default to the most recent 20 comments with total_count/has_more metadata for token efficiency. \" +\n \"Pass options.limit=N to choose a page size, options.limit=0 for summary-only metadata, or options.full=true for full history.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_files\",\n description: \"List, add, remove, audit, or validate linked files for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_docs\",\n description: \"List, add, or remove linked docs for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_test\",\n description: \"List, add, remove, or run linked tests for a pm item.\",\n inputSchema: objectSchema({ id: idSchema, options: { type: \"object\" } }, [\"id\"]),\n },\n {\n name: \"pm_validate\",\n description: \"Run pm validation checks.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_health\",\n description: \"Run pm health diagnostics. Pass options.brief=true for compact low-token details, options.skipIntegrity=true, options.skipDrift=true, options.skipVectors=true for a fast status-only check, or options.full=true for the complete deep check.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_contracts\",\n description: \"Inspect pm command, flag, schema, and availability contracts.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_plan\",\n description:\n \"Run agent-optimized Plan workflows. options.subcommand selects: create|show|add-step|update-step|complete-step|block-step|reorder-step|remove-step|link|unlink|decision|discovery|validation|resume|approve|materialize. Provide id for all non-create subcommands; provide stepRef for step lifecycle subcommands. Plans store agent-readable steps with dependencies, decisions, discoveries, validation, and resume context.\",\n inputSchema: objectSchema({\n id: { type: \"string\", description: \"Plan id (required for all subcommands except create).\" },\n stepRef: { type: \"string\", description: \"Step id or order for step lifecycle subcommands.\" },\n reorderTo: { type: \"number\", description: \"New order for reorder-step.\" },\n options: { type: \"object\", description: \"Plan options including subcommand, stepRef, stepStatus, link, depth, etc.\" },\n }),\n },\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 readRequiredString(args: Record<string, unknown>, key: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Missing required argument: ${key}`, 64);\n }\n return value;\n}\n\nfunction globalOptions(args: Record<string, unknown>): GlobalOptions {\n return {\n json: true,\n quiet: true,\n path: readString(args, \"path\"),\n noPager: true,\n };\n}\n\nconst ARRAY_TO_CSV_FIELDS = new Set([\"tags\", \"blockedBy\", \"blocked_by\", \"skills\"]);\n\nconst SCALAR_TO_ARRAY_FIELDS = new Set([\n \"comment\",\n \"note\",\n \"learning\",\n \"reminder\",\n \"event\",\n \"dep\",\n \"depRemove\",\n \"dep_remove\",\n \"file\",\n \"doc\",\n \"test\",\n \"unset\",\n \"addGlob\",\n \"add_glob\",\n \"migrate\",\n \"envSet\",\n \"env_set\",\n \"envClear\",\n \"env_clear\",\n]);\n\n// Actions where the linked-resource fields `add` and `remove` are string[] arrays.\n// For other actions (comments/notes/learnings) `add` and `remove` are scalar strings\n// and must NOT be auto-promoted.\nconst ARRAY_ADD_REMOVE_ACTIONS = new Set([\n \"files\",\n \"files-discover\",\n \"docs\",\n \"test\",\n \"test-all\",\n]);\n\nfunction normalizeOptionsArrays(\n options: Record<string, unknown>,\n action?: string,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n const promoteAddRemove = action !== undefined && ARRAY_ADD_REMOVE_ACTIONS.has(action);\n for (const [key, value] of Object.entries(options)) {\n if (Array.isArray(value) && ARRAY_TO_CSV_FIELDS.has(key)) {\n result[key] = value.join(\",\");\n continue;\n }\n if (typeof value === \"string\" && SCALAR_TO_ARRAY_FIELDS.has(key)) {\n result[key] = [value];\n continue;\n }\n if (typeof value === \"string\" && promoteAddRemove && (key === \"add\" || key === \"remove\")) {\n result[key] = [value];\n continue;\n }\n result[key] = value;\n }\n return result;\n}\n\nfunction optionsWithAuthor(args: Record<string, unknown>, action?: string): Record<string, unknown> {\n const options = normalizeOptionsArrays(asRecordClone(args.options), action);\n const author = readString(args, \"author\");\n return author && options.author === undefined ? { ...options, author } : options;\n}\n\nfunction normalizeActionName(value: string): string {\n return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\n\nfunction normalizeCommandPath(value: string): string {\n return value.trim().toLowerCase().split(/\\s+/).filter(Boolean).join(\" \");\n}\n\nfunction readStringArray(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((entry) => String(entry)).filter((entry) => entry.length > 0);\n}\n\nfunction extensionOptionsFromArgs(args: Record<string, unknown>, options: Record<string, unknown>): Record<string, unknown> {\n const reserved = new Set([\n \"action\",\n \"args\",\n \"author\",\n \"cwd\",\n \"fullChangedFields\",\n \"id\",\n \"options\",\n \"path\",\n \"query\",\n \"reason\",\n \"target\",\n ]);\n const passthrough: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(args)) {\n if (!reserved.has(key)) {\n passthrough[key] = value;\n }\n }\n const normalizedOptions = { ...passthrough, ...options };\n delete normalizedOptions.args;\n return normalizedOptions;\n}\n\nasync function runDynamicExtensionAction(\n action: string,\n args: Record<string, unknown>,\n options: Record<string, unknown>,\n global: GlobalOptions,\n): Promise<unknown> {\n if (global.noExtensions) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n if (!(await pathExists(getSettingsPath(pmRoot)))) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n\n const settings = await readSettings(pmRoot);\n const loadResult = await loadExtensions({\n pmRoot,\n settings,\n cwd: process.cwd(),\n noExtensions: false,\n });\n const activationResult = await activateExtensions({\n ...loadResult,\n loaded: loadResult.loaded,\n });\n\n const normalizedAction = normalizeActionName(action);\n const definition = activationResult.registrations.commands.find((entry) =>\n normalizeActionName(entry.action) === normalizedAction\n );\n const command = definition?.command ??\n activationResult.commands.handlers.find((entry) => normalizeActionName(entry.command) === normalizedAction)?.command;\n if (!command) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n\n setActiveExtensionHooks(activationResult.hooks);\n setActiveExtensionCommands(activationResult.commands);\n setActiveExtensionParsers(activationResult.parsers);\n setActiveExtensionPreflight(activationResult.preflight);\n setActiveExtensionServices(activationResult.services);\n setActiveExtensionRenderers(activationResult.renderers);\n setActiveExtensionRegistrations(activationResult.registrations);\n\n const handlerResult = await runActiveCommandHandler({\n command: normalizeCommandPath(command),\n args: readStringArray(options.args ?? args.args),\n options: extensionOptionsFromArgs(args, options),\n global,\n pm_root: pmRoot,\n });\n if (!handlerResult.handled) {\n const suffix = handlerResult.warnings.length > 0 ? ` (${handlerResult.warnings.join(\", \")})` : \"\";\n throw new PmCliError(`Unsupported native pm action: ${action}${suffix}`, 64);\n }\n return handlerResult.result;\n}\n\nasync function withCwd<T>(cwd: unknown, run: () => Promise<T>): Promise<T> {\n if (typeof cwd !== \"string\" || cwd.trim().length === 0) {\n return run();\n }\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n return await run();\n } finally {\n process.chdir(previous);\n }\n}\n\n/**\n * Mutation tools (create/update/close/append/update-many) return a verbose\n * `changed_fields` array. On the agent path we drop it to a `changed_field_count`\n * by default for token efficiency, restoring the full array only when the caller\n * explicitly passes the MCP-level fullChangedFields=true control. Mutation options\n * are forwarded unchanged so runtime fields named `full` remain valid user data.\n */\nfunction withMutationCompaction(args: Record<string, unknown>, options?: Record<string, unknown> | null): {\n changedFields: \"full\" | \"compact\";\n runnerOptions: Record<string, unknown>;\n} {\n return { changedFields: args.fullChangedFields === true ? \"full\" : \"compact\", runnerOptions: { ...(options ?? {}) } };\n}\n\nasync function runAction(args: Record<string, unknown>): Promise<unknown> {\n const action = readRequiredString(args, \"action\");\n const global = globalOptions(args);\n const options = optionsWithAuthor(args, action);\n const id = readString(args, \"id\");\n const force = args.force === true;\n\n switch (action) {\n case \"init\":\n return runInit(readString(args, \"prefix\"), global, options);\n case \"context\":\n return runContext(options, global);\n case \"list\": {\n const listOptions: Record<string, unknown> = { ...options };\n if (\n listOptions.compact === undefined &&\n listOptions.brief === undefined &&\n listOptions.fields === undefined &&\n listOptions.includeBody === undefined\n ) {\n listOptions.compact = true;\n }\n return runList(readString(args, \"status\"), listOptions as never, global);\n }\n case \"get\":\n return runGet(id ?? readRequiredString(options, \"id\"), global, options);\n case \"search\": {\n const searchOptions: Parameters<typeof runSearch>[1] = { ...options };\n if (\n searchOptions.compact === undefined &&\n searchOptions.full === undefined &&\n searchOptions.fields === undefined\n ) {\n searchOptions.compact = true;\n }\n return runSearch(readRequiredString(args, \"query\"), searchOptions, global);\n }\n case \"create\": {\n const { changedFields, runnerOptions } = withMutationCompaction(args, options);\n return projectMutationResult(await runCreate(runnerOptions as never, global), { changedFields });\n }\n case \"update\": {\n const { changedFields, runnerOptions } = withMutationCompaction(args, options);\n return projectMutationResult(\n await runUpdate(id ?? readRequiredString(runnerOptions, \"id\"), runnerOptions as never, global),\n { changedFields },\n );\n }\n case \"claim\":\n return runClaim(id ?? readRequiredString(options, \"id\"), force, global, options);\n case \"release\":\n return runRelease(id ?? readRequiredString(options, \"id\"), force, global, options);\n case \"close\": {\n const { changedFields, runnerOptions } = withMutationCompaction(args, options);\n return projectMutationResult(\n await runClose(\n id ?? readRequiredString(runnerOptions, \"id\"),\n readRequiredString(args, \"reason\"),\n runnerOptions as never,\n global,\n ),\n { changedFields },\n );\n }\n case \"comments\": {\n const commentOptions: Record<string, unknown> = { ...options };\n const isListing =\n commentOptions.add === undefined && commentOptions.stdin === undefined && commentOptions.file === undefined;\n if (isListing) {\n commentOptions.includeMeta = true;\n if (commentOptions.limit === undefined && commentOptions.full !== true) {\n commentOptions.limit = \"20\";\n }\n }\n delete commentOptions.full;\n return runComments(id ?? readRequiredString(options, \"id\"), commentOptions, global);\n }\n case \"notes\":\n return runNotes(id ?? readRequiredString(options, \"id\"), options, global);\n case \"learnings\":\n return runLearnings(id ?? readRequiredString(options, \"id\"), options, global);\n case \"files\":\n return runFiles(id ?? readRequiredString(options, \"id\"), options, global);\n case \"docs\":\n return runDocs(id ?? readRequiredString(options, \"id\"), options, global);\n case \"test\":\n return runTest(id ?? readRequiredString(options, \"id\"), options, global);\n case \"test-all\":\n return runTestAll(options, global);\n case \"validate\":\n return runValidate(options, global);\n case \"health\":\n return runHealth(global, options);\n case \"contracts\":\n return runContracts(options, global);\n case \"config\":\n return runConfig(\n readString(args, \"scope\") ?? readString(options, \"scope\") ?? \"project\",\n readString(args, \"configAction\") ?? readRequiredString(options, \"action\"),\n readString(args, \"key\") ?? readString(options, \"key\"),\n options,\n global,\n readString(args, \"value\") ?? readString(options, \"value\"),\n );\n case \"activity\": {\n const activityOptions = { ...options } as Parameters<typeof runActivity>[0] & { full?: unknown };\n if (activityOptions.compact === undefined) {\n activityOptions.compact = activityOptions.full === true ? false : true;\n }\n delete activityOptions.full;\n return runActivity(activityOptions, global);\n }\n case \"aggregate\":\n return runAggregate(options, global);\n case \"extension\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"extension-reload\":\n return runExtension(undefined, { ...options, reload: true }, global);\n case \"package\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"package-install\":\n case \"install\":\n return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), { ...options, install: true }, global);\n case \"package-catalog\":\n return runExtension(undefined, { ...options, catalog: true, vocabulary: \"package\" }, global);\n case \"upgrade\":\n return runUpgrade(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"delete\":\n return runDelete(id ?? readRequiredString(options, \"id\"), options, global);\n case \"deps\":\n return runDeps(id ?? readRequiredString(options, \"id\"), options, global);\n case \"files-discover\":\n return runFilesDiscover(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history\":\n return runHistory(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history-redact\":\n return runHistoryRedact(id ?? readRequiredString(options, \"id\"), options, global);\n case \"history-repair\":\n return runHistoryRepair(id ?? readRequiredString(options, \"id\"), options, global);\n case \"plan\": {\n const subcommand = readRequiredString(options, \"subcommand\");\n const planRecord = options as Record<string, unknown>;\n const reorderToken = planRecord.reorderTo ?? args.reorderTo;\n const reorderTo =\n typeof reorderToken === \"number\" && Number.isFinite(reorderToken)\n ? reorderToken\n : typeof reorderToken === \"string\" && reorderToken.trim().length > 0\n ? Number.parseInt(reorderToken, 10)\n : undefined;\n const stepRef = typeof planRecord.stepRef === \"string\"\n ? (planRecord.stepRef as string)\n : typeof args.stepRef === \"string\"\n ? (args.stepRef as string)\n : undefined;\n return runPlan({\n subcommand: subcommand as never,\n id: typeof id === \"string\" ? id : typeof planRecord.id === \"string\" ? (planRecord.id as string) : undefined,\n stepRef,\n reorderTo,\n options: options as never,\n global,\n });\n }\n case \"schema\": {\n // subcommand/name are top-level fields in the published action contract,\n // so accept them from args first and fall back to options for parity.\n const subcommand = readString(args, \"subcommand\") ?? readRequiredString(options, \"subcommand\");\n if (subcommand.trim().toLowerCase() !== \"add-type\") {\n throw new PmCliError(`Unknown pm schema subcommand \"${subcommand}\". Allowed: add-type`, 64);\n }\n const aliasSource = args.alias ?? options.alias;\n const aliases = aliasSource === undefined ? undefined : readStringArray(aliasSource);\n return runSchemaAddType(\n readString(args, \"name\") ?? readString(options, \"name\"),\n {\n description: readString(args, \"description\") ?? readString(options, \"description\"),\n defaultStatus:\n readString(args, \"defaultStatus\") ??\n readString(args, \"default_status\") ??\n readString(options, \"defaultStatus\") ??\n readString(options, \"default_status\"),\n folder: readString(args, \"folder\") ?? readString(options, \"folder\"),\n alias: aliases,\n author: readString(args, \"author\") ?? readString(options, \"author\"),\n force: args.force === true || options.force === true,\n },\n global,\n );\n }\n case \"stats\":\n return runStats(global);\n case \"append\": {\n const { changedFields, runnerOptions } = withMutationCompaction(args, options);\n return projectMutationResult(\n await runAppend(id ?? readRequiredString(runnerOptions, \"id\"), runnerOptions as never, global),\n { changedFields },\n );\n }\n case \"update-many\": {\n const { changedFields, runnerOptions } = withMutationCompaction(args, options);\n return projectMutationResult(await runUpdateMany(runnerOptions as never, global), { changedFields });\n }\n case \"gc\":\n return runGc(global, options);\n default:\n return runDynamicExtensionAction(action, args, options, global);\n }\n}\n\nconst HANDLERS: Record<string, ToolHandler> = {\n pm_run: (args) => runAction(args),\n pm_context: (args) => runAction({ ...args, action: \"context\" }),\n pm_search: (args) => runAction({ ...args, action: \"search\" }),\n pm_list: (args) => runAction({ ...args, action: \"list\" }),\n pm_get: (args) => runAction({ ...args, action: \"get\" }),\n pm_create: (args) => runAction({ ...args, action: \"create\" }),\n pm_update: (args) => runAction({ ...args, action: \"update\" }),\n pm_claim: (args) => runAction({ ...args, action: \"claim\" }),\n pm_release: (args) => runAction({ ...args, action: \"release\" }),\n pm_close: (args) => runAction({ ...args, action: \"close\" }),\n pm_comments: (args) => runAction({ ...args, action: \"comments\" }),\n pm_files: (args) => runAction({ ...args, action: \"files\" }),\n pm_docs: (args) => runAction({ ...args, action: \"docs\" }),\n pm_test: (args) => runAction({ ...args, action: \"test\" }),\n pm_validate: (args) => runAction({ ...args, action: \"validate\" }),\n pm_health: (args) => runAction({ ...args, action: \"health\" }),\n pm_contracts: (args) => runAction({ ...args, action: \"contracts\" }),\n pm_plan: (args) => runAction({ ...args, action: \"plan\" }),\n};\n\nfunction resultContent(result: unknown): Record<string, unknown> {\n return {\n content: [\n {\n type: \"text\",\n text: JSON.stringify(result, null, 2),\n },\n ],\n structuredContent: { result },\n };\n}\n\nfunction errorContent(error: unknown): Record<string, unknown> {\n const code = error instanceof PmCliError ? error.exitCode : 1;\n const message = error instanceof Error ? error.message : String(error);\n return {\n isError: true,\n content: [\n {\n type: \"text\",\n text: JSON.stringify({ error: message, code }, null, 2),\n },\n ],\n structuredContent: { error: message, code },\n };\n}\n\nexport async function handleRequest(request: JsonRpcRequest): Promise<Record<string, unknown> | undefined> {\n if (!request.id && request.method?.startsWith(\"notifications/\")) {\n return undefined;\n }\n if (request.method === \"initialize\") {\n return {\n protocolVersion: \"2025-06-18\",\n capabilities: { tools: {} },\n serverInfo: { name: \"pm-mcp\", version: \"1.0.0\" },\n instructions:\n \"You have access to native pm CLI tools for git-based project management. \" +\n \"Use pm_context or pm_search before creating new work. \" +\n \"Prefer narrow tools (pm_context, pm_list, pm_get, pm_search, pm_create, pm_update, pm_claim, pm_release, pm_close, pm_comments, pm_files, pm_docs, pm_test, pm_validate, pm_health, pm_contracts, pm_plan) over pm_run when they cover the operation. \" +\n \"Use pm_plan for agent harness Plan workflows: it provides Codex/Claude/Cursor-style planning with durable steps, dependencies, decisions, discoveries, validation, and materialization. \" +\n \"Use pm_run with an explicit action for package-owned operations (calendar/templates/guide/dedupe-audit/normalize/reindex/comments-audit/completion/test-runs-list/test-runs-status/test-runs-logs/test-runs-stop/test-runs-resume), plus activity, aggregate, history, stats, append, notes, learnings, test-all, and gc. \" +\n \"Use history-redact for audited history-stream redaction workflows, and history-repair to re-anchor a drifted history chain so pm health/validate report ok. \" +\n \"Set author to 'claude-code-agent' on all mutations. \" +\n \"Do not pass path during real repository tracking — only pass path for sandbox or test runs.\",\n };\n }\n if (request.method === \"tools/list\") {\n return { tools: TOOLS };\n }\n if (request.method === \"tools/call\") {\n const params = asRecordClone(request.params);\n const name = readRequiredString(params, \"name\");\n const handler = HANDLERS[name];\n if (!handler) {\n throw new PmCliError(`Unknown pm MCP tool: ${name}`, 64);\n }\n const args = asRecordClone(params.arguments);\n const result = await withCwd(args.cwd, () => handler(args));\n return resultContent(result);\n }\n throw new PmCliError(`Unsupported MCP method: ${request.method ?? \"(missing)\"}`, 64);\n}\n\nfunction writeResponse(id: JsonRpcRequest[\"id\"], payload: Record<string, unknown>): void {\n process.stdout.write(`${JSON.stringify({ jsonrpc: \"2.0\", id, result: payload })}\\n`);\n}\n\nfunction writeError(id: JsonRpcRequest[\"id\"], error: unknown): void {\n const code = error instanceof PmCliError ? error.exitCode : -32603;\n const message = error instanceof Error ? error.message : String(error);\n process.stdout.write(`${JSON.stringify({ jsonrpc: \"2.0\", id, error: { code, message } })}\\n`);\n}\n\nexport function startMcpServer(): void {\n const rl = readline.createInterface({ input: process.stdin, crlfDelay: Infinity });\n rl.on(\"line\", (line) => {\n void (async () => {\n if (line.trim().length === 0) {\n return;\n }\n let request: JsonRpcRequest;\n try {\n request = JSON.parse(line) as JsonRpcRequest;\n } catch (error) {\n writeError(null, error);\n return;\n }\n try {\n const result = await handleRequest(request);\n if (result !== undefined) {\n writeResponse(request.id, result);\n }\n } catch (error) {\n if (request.method === \"tools/call\") {\n writeResponse(request.id, errorContent(error));\n } else {\n writeError(request.id, error);\n }\n }\n })();\n });\n}\n\nif (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {\n startMcpServer();\n}\n"],"names":[],"mappings":"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","debugId":"16ab349e-99ce-51eb-85d5-62e1c2c56c10"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const PM_EXTENSION_CAPABILITY_CONTRACTS: readonly ["commands", "renderers", "hooks", "schema", "importers", "search", "parser", "preflight", "services"];
|
|
2
|
+
export type PmExtensionCapabilityContract = (typeof PM_EXTENSION_CAPABILITY_CONTRACTS)[number];
|
|
3
|
+
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"];
|
|
4
|
+
export type PmExtensionServiceNameContract = (typeof PM_EXTENSION_SERVICE_NAME_CONTRACTS)[number];
|
|
5
|
+
export declare const PM_EXTENSION_POLICY_MODE_CONTRACTS: readonly ["off", "warn", "enforce"];
|
|
6
|
+
export type PmExtensionPolicyModeContract = (typeof PM_EXTENSION_POLICY_MODE_CONTRACTS)[number];
|
|
7
|
+
export declare const PM_EXTENSION_TRUST_MODE_CONTRACTS: readonly ["off", "warn", "enforce"];
|
|
8
|
+
export type PmExtensionTrustModeContract = (typeof PM_EXTENSION_TRUST_MODE_CONTRACTS)[number];
|
|
9
|
+
export declare const PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS: readonly ["none", "restricted", "strict"];
|
|
10
|
+
export type PmExtensionSandboxProfileContract = (typeof PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS)[number];
|
|
11
|
+
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"];
|
|
12
|
+
export type PmExtensionPolicySurfaceContract = (typeof PM_EXTENSION_POLICY_SURFACE_CONTRACTS)[number];
|
|
13
|
+
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", "context", "ctx", "get", "search", "history", "history-redact", "history-repair", "schema", "activity", "restore", "update", "update-many", "close", "delete", "append", "comments", "notes", "learnings", "files", "docs", "deps", "plan", "test", "test-all", "stats", "health", "validate", "gc", "contracts", "claim", "release", "start-task", "pause-task", "close-task", "help"];
|
|
14
|
+
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", "context", "ctx", "get", "search", "history", "history-redact", "history-repair", "schema", "activity", "restore", "update", "update-many", "close", "delete", "append", "comments", "plan", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "stats", "health", "validate", "gc", "contracts", "claim", "release", "start-task", "pause-task", "close-task"];
|
|
15
|
+
export type PmToolAction = (typeof PM_TOOL_ACTIONS)[number];
|
|
16
|
+
export declare function isPmToolAction(value: string): value is PmToolAction;
|
|
17
|
+
export declare function isPmExtensionCapabilityContract(value: string): value is PmExtensionCapabilityContract;
|
|
18
|
+
export declare function isPmExtensionServiceNameContract(value: string): value is PmExtensionServiceNameContract;
|
|
19
|
+
export declare function isPmExtensionPolicyModeContract(value: string): value is PmExtensionPolicyModeContract;
|
|
20
|
+
export declare function isPmExtensionPolicySurfaceContract(value: string): value is PmExtensionPolicySurfaceContract;
|
|
@@ -0,0 +1,156 @@
|
|
|
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]="e93f5c1f-0703-5c95-b7b8-84264cf9ed1f")}catch(e){}}();
|
|
3
|
+
import { KNOWN_EXTENSION_CAPABILITIES, KNOWN_EXTENSION_POLICY_MODES, KNOWN_EXTENSION_POLICY_SURFACES, KNOWN_EXTENSION_SANDBOX_PROFILES, KNOWN_EXTENSION_SERVICE_NAMES, KNOWN_EXTENSION_TRUST_MODES, } from "../../core/extensions/extension-types.js";
|
|
4
|
+
export const PM_EXTENSION_CAPABILITY_CONTRACTS = [...KNOWN_EXTENSION_CAPABILITIES];
|
|
5
|
+
export const PM_EXTENSION_SERVICE_NAME_CONTRACTS = [...KNOWN_EXTENSION_SERVICE_NAMES];
|
|
6
|
+
export const PM_EXTENSION_POLICY_MODE_CONTRACTS = [...KNOWN_EXTENSION_POLICY_MODES];
|
|
7
|
+
export const PM_EXTENSION_TRUST_MODE_CONTRACTS = [...KNOWN_EXTENSION_TRUST_MODES];
|
|
8
|
+
export const PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS = [...KNOWN_EXTENSION_SANDBOX_PROFILES];
|
|
9
|
+
export const PM_EXTENSION_POLICY_SURFACE_CONTRACTS = [...KNOWN_EXTENSION_POLICY_SURFACES];
|
|
10
|
+
export const PM_CORE_COMMAND_NAMES = [
|
|
11
|
+
"init",
|
|
12
|
+
"config",
|
|
13
|
+
"extension",
|
|
14
|
+
"package",
|
|
15
|
+
"packages",
|
|
16
|
+
"install",
|
|
17
|
+
"upgrade",
|
|
18
|
+
"create",
|
|
19
|
+
"list",
|
|
20
|
+
"list-all",
|
|
21
|
+
"list-draft",
|
|
22
|
+
"list-open",
|
|
23
|
+
"list-in-progress",
|
|
24
|
+
"list-blocked",
|
|
25
|
+
"list-closed",
|
|
26
|
+
"list-canceled",
|
|
27
|
+
"aggregate",
|
|
28
|
+
"context",
|
|
29
|
+
"ctx",
|
|
30
|
+
"get",
|
|
31
|
+
"search",
|
|
32
|
+
"history",
|
|
33
|
+
"history-redact",
|
|
34
|
+
"history-repair",
|
|
35
|
+
"schema",
|
|
36
|
+
"activity",
|
|
37
|
+
"restore",
|
|
38
|
+
"update",
|
|
39
|
+
"update-many",
|
|
40
|
+
"close",
|
|
41
|
+
"delete",
|
|
42
|
+
"append",
|
|
43
|
+
"comments",
|
|
44
|
+
"notes",
|
|
45
|
+
"learnings",
|
|
46
|
+
"files",
|
|
47
|
+
"docs",
|
|
48
|
+
"deps",
|
|
49
|
+
"plan",
|
|
50
|
+
"test",
|
|
51
|
+
"test-all",
|
|
52
|
+
"stats",
|
|
53
|
+
"health",
|
|
54
|
+
"validate",
|
|
55
|
+
"gc",
|
|
56
|
+
"contracts",
|
|
57
|
+
"claim",
|
|
58
|
+
"release",
|
|
59
|
+
"start-task",
|
|
60
|
+
"pause-task",
|
|
61
|
+
"close-task",
|
|
62
|
+
"help",
|
|
63
|
+
];
|
|
64
|
+
export const PM_TOOL_ACTIONS = [
|
|
65
|
+
"init",
|
|
66
|
+
"config",
|
|
67
|
+
"extension-init",
|
|
68
|
+
"extension-install",
|
|
69
|
+
"extension-uninstall",
|
|
70
|
+
"extension-explore",
|
|
71
|
+
"extension-manage",
|
|
72
|
+
"extension-reload",
|
|
73
|
+
"extension-doctor",
|
|
74
|
+
"extension-catalog",
|
|
75
|
+
"extension-adopt",
|
|
76
|
+
"extension-adopt-all",
|
|
77
|
+
"extension-activate",
|
|
78
|
+
"extension-deactivate",
|
|
79
|
+
"extension",
|
|
80
|
+
"package-init",
|
|
81
|
+
"package-install",
|
|
82
|
+
"package-uninstall",
|
|
83
|
+
"package-explore",
|
|
84
|
+
"package-manage",
|
|
85
|
+
"package-reload",
|
|
86
|
+
"package-doctor",
|
|
87
|
+
"package-catalog",
|
|
88
|
+
"package-adopt",
|
|
89
|
+
"package-adopt-all",
|
|
90
|
+
"package-activate",
|
|
91
|
+
"package-deactivate",
|
|
92
|
+
"package",
|
|
93
|
+
"install",
|
|
94
|
+
"upgrade",
|
|
95
|
+
"create",
|
|
96
|
+
"list",
|
|
97
|
+
"list-all",
|
|
98
|
+
"list-draft",
|
|
99
|
+
"list-open",
|
|
100
|
+
"list-in-progress",
|
|
101
|
+
"list-blocked",
|
|
102
|
+
"list-closed",
|
|
103
|
+
"list-canceled",
|
|
104
|
+
"aggregate",
|
|
105
|
+
"context",
|
|
106
|
+
"ctx",
|
|
107
|
+
"get",
|
|
108
|
+
"search",
|
|
109
|
+
"history",
|
|
110
|
+
"history-redact",
|
|
111
|
+
"history-repair",
|
|
112
|
+
"schema",
|
|
113
|
+
"activity",
|
|
114
|
+
"restore",
|
|
115
|
+
"update",
|
|
116
|
+
"update-many",
|
|
117
|
+
"close",
|
|
118
|
+
"delete",
|
|
119
|
+
"append",
|
|
120
|
+
"comments",
|
|
121
|
+
"plan",
|
|
122
|
+
"notes",
|
|
123
|
+
"learnings",
|
|
124
|
+
"files",
|
|
125
|
+
"docs",
|
|
126
|
+
"deps",
|
|
127
|
+
"test",
|
|
128
|
+
"test-all",
|
|
129
|
+
"stats",
|
|
130
|
+
"health",
|
|
131
|
+
"validate",
|
|
132
|
+
"gc",
|
|
133
|
+
"contracts",
|
|
134
|
+
"claim",
|
|
135
|
+
"release",
|
|
136
|
+
"start-task",
|
|
137
|
+
"pause-task",
|
|
138
|
+
"close-task",
|
|
139
|
+
];
|
|
140
|
+
export function isPmToolAction(value) {
|
|
141
|
+
return PM_TOOL_ACTIONS.includes(value);
|
|
142
|
+
}
|
|
143
|
+
export function isPmExtensionCapabilityContract(value) {
|
|
144
|
+
return PM_EXTENSION_CAPABILITY_CONTRACTS.includes(value);
|
|
145
|
+
}
|
|
146
|
+
export function isPmExtensionServiceNameContract(value) {
|
|
147
|
+
return PM_EXTENSION_SERVICE_NAME_CONTRACTS.includes(value);
|
|
148
|
+
}
|
|
149
|
+
export function isPmExtensionPolicyModeContract(value) {
|
|
150
|
+
return PM_EXTENSION_POLICY_MODE_CONTRACTS.includes(value);
|
|
151
|
+
}
|
|
152
|
+
export function isPmExtensionPolicySurfaceContract(value) {
|
|
153
|
+
return PM_EXTENSION_POLICY_SURFACE_CONTRACTS.includes(value);
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=enum-contracts.js.map
|
|
156
|
+
//# debugId=e93f5c1f-0703-5c95-b7b8-84264cf9ed1f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-contracts.js","sources":["sdk/cli-contracts/enum-contracts.ts"],"sourceRoot":"/","sourcesContent":["import {\n KNOWN_EXTENSION_CAPABILITIES,\n KNOWN_EXTENSION_POLICY_MODES,\n KNOWN_EXTENSION_POLICY_SURFACES,\n KNOWN_EXTENSION_SANDBOX_PROFILES,\n KNOWN_EXTENSION_SERVICE_NAMES,\n KNOWN_EXTENSION_TRUST_MODES,\n} from \"../../core/extensions/extension-types.js\";\n\nexport const PM_EXTENSION_CAPABILITY_CONTRACTS = [...KNOWN_EXTENSION_CAPABILITIES] as const;\n\nexport type PmExtensionCapabilityContract = (typeof PM_EXTENSION_CAPABILITY_CONTRACTS)[number];\n\nexport const PM_EXTENSION_SERVICE_NAME_CONTRACTS = [...KNOWN_EXTENSION_SERVICE_NAMES] as const;\n\nexport type PmExtensionServiceNameContract = (typeof PM_EXTENSION_SERVICE_NAME_CONTRACTS)[number];\n\nexport const PM_EXTENSION_POLICY_MODE_CONTRACTS = [...KNOWN_EXTENSION_POLICY_MODES] as const;\nexport type PmExtensionPolicyModeContract = (typeof PM_EXTENSION_POLICY_MODE_CONTRACTS)[number];\nexport const PM_EXTENSION_TRUST_MODE_CONTRACTS = [...KNOWN_EXTENSION_TRUST_MODES] as const;\nexport type PmExtensionTrustModeContract = (typeof PM_EXTENSION_TRUST_MODE_CONTRACTS)[number];\nexport const PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS = [...KNOWN_EXTENSION_SANDBOX_PROFILES] as const;\nexport type PmExtensionSandboxProfileContract = (typeof PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS)[number];\n\nexport const PM_EXTENSION_POLICY_SURFACE_CONTRACTS = [...KNOWN_EXTENSION_POLICY_SURFACES] as const;\nexport type PmExtensionPolicySurfaceContract = (typeof PM_EXTENSION_POLICY_SURFACE_CONTRACTS)[number];\n\nexport const PM_CORE_COMMAND_NAMES = [\n \"init\",\n \"config\",\n \"extension\",\n \"package\",\n \"packages\",\n \"install\",\n \"upgrade\",\n \"create\",\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n \"aggregate\",\n \"context\",\n \"ctx\",\n \"get\",\n \"search\",\n \"history\",\n \"history-redact\",\n \"history-repair\",\n \"schema\",\n \"activity\",\n \"restore\",\n \"update\",\n \"update-many\",\n \"close\",\n \"delete\",\n \"append\",\n \"comments\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"docs\",\n \"deps\",\n \"plan\",\n \"test\",\n \"test-all\",\n \"stats\",\n \"health\",\n \"validate\",\n \"gc\",\n \"contracts\",\n \"claim\",\n \"release\",\n \"start-task\",\n \"pause-task\",\n \"close-task\",\n \"help\",\n] as const;\n\nexport const PM_TOOL_ACTIONS = [\n \"init\",\n \"config\",\n \"extension-init\",\n \"extension-install\",\n \"extension-uninstall\",\n \"extension-explore\",\n \"extension-manage\",\n \"extension-reload\",\n \"extension-doctor\",\n \"extension-catalog\",\n \"extension-adopt\",\n \"extension-adopt-all\",\n \"extension-activate\",\n \"extension-deactivate\",\n \"extension\",\n \"package-init\",\n \"package-install\",\n \"package-uninstall\",\n \"package-explore\",\n \"package-manage\",\n \"package-reload\",\n \"package-doctor\",\n \"package-catalog\",\n \"package-adopt\",\n \"package-adopt-all\",\n \"package-activate\",\n \"package-deactivate\",\n \"package\",\n \"install\",\n \"upgrade\",\n \"create\",\n \"list\",\n \"list-all\",\n \"list-draft\",\n \"list-open\",\n \"list-in-progress\",\n \"list-blocked\",\n \"list-closed\",\n \"list-canceled\",\n \"aggregate\",\n \"context\",\n \"ctx\",\n \"get\",\n \"search\",\n \"history\",\n \"history-redact\",\n \"history-repair\",\n \"schema\",\n \"activity\",\n \"restore\",\n \"update\",\n \"update-many\",\n \"close\",\n \"delete\",\n \"append\",\n \"comments\",\n \"plan\",\n \"notes\",\n \"learnings\",\n \"files\",\n \"docs\",\n \"deps\",\n \"test\",\n \"test-all\",\n \"stats\",\n \"health\",\n \"validate\",\n \"gc\",\n \"contracts\",\n \"claim\",\n \"release\",\n \"start-task\",\n \"pause-task\",\n \"close-task\",\n] as const;\n\nexport type PmToolAction = (typeof PM_TOOL_ACTIONS)[number];\n\nexport function isPmToolAction(value: string): value is PmToolAction {\n return PM_TOOL_ACTIONS.includes(value as PmToolAction);\n}\n\nexport function isPmExtensionCapabilityContract(value: string): value is PmExtensionCapabilityContract {\n return PM_EXTENSION_CAPABILITY_CONTRACTS.includes(value as PmExtensionCapabilityContract);\n}\n\nexport function isPmExtensionServiceNameContract(value: string): value is PmExtensionServiceNameContract {\n return PM_EXTENSION_SERVICE_NAME_CONTRACTS.includes(value as PmExtensionServiceNameContract);\n}\n\nexport function isPmExtensionPolicyModeContract(value: string): value is PmExtensionPolicyModeContract {\n return PM_EXTENSION_POLICY_MODE_CONTRACTS.includes(value as PmExtensionPolicyModeContract);\n}\n\nexport function isPmExtensionPolicySurfaceContract(value: string): value is PmExtensionPolicySurfaceContract {\n return PM_EXTENSION_POLICY_SURFACE_CONTRACTS.includes(value as PmExtensionPolicySurfaceContract);\n}\n"],"names":[],"mappings":"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","debugId":"e93f5c1f-0703-5c95-b7b8-84264cf9ed1f"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ToolOptionFlagContract } from "../cli-contracts.js";
|
|
2
|
+
export declare const TOOL_LIST_FILTER_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
3
|
+
export declare const TOOL_AGGREGATE_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
4
|
+
export declare const TOOL_DEDUPE_AUDIT_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
5
|
+
export declare const TOOL_SEARCH_FILTER_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
6
|
+
export declare const TOOL_SHARED_CREATE_UPDATE_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
7
|
+
export declare const TOOL_CREATE_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
8
|
+
export declare const TOOL_UPDATE_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
9
|
+
export declare const TOOL_UPDATE_MANY_FILTER_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
10
|
+
export declare const TOOL_NORMALIZE_FILTER_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
11
|
+
export declare const TOOL_CALENDAR_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
12
|
+
export declare const TOOL_ACTIVITY_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
13
|
+
export declare const TOOL_CONTEXT_OPTION_CONTRACTS: ToolOptionFlagContract[];
|
|
14
|
+
export declare const TOOL_DEPS_OPTION_CONTRACTS: ToolOptionFlagContract[];
|