@unbrained/pm-cli 2026.5.10 → 2026.5.11
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/.claude-plugin/marketplace.json +4 -4
- package/.pi/README.md +10 -1
- package/.pi/agents/pm-triage-agent.md +19 -0
- package/.pi/agents/pm-verification-agent.md +21 -0
- package/.pi/chains/pm-native-delivery.chain.md +11 -0
- package/.pi/extensions/pm-cli/index.js +276 -36
- package/.pi/skills/pm-native/SKILL.md +6 -2
- package/CHANGELOG.md +7 -0
- package/README.md +9 -1
- package/dist/cli/argv-utils.d.ts +5 -0
- package/dist/cli/argv-utils.js +34 -0
- package/dist/cli/argv-utils.js.map +1 -0
- package/dist/cli/bootstrap-args.d.ts +15 -0
- package/dist/cli/bootstrap-args.js +211 -0
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.js +109 -3
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/completion.js +7 -3
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +19 -0
- package/dist/cli/commands/contracts.js +33 -1
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +112 -51
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/docs.js +9 -2
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension.d.ts +3 -1
- package/dist/cli/commands/extension.js +174 -2
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +9 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.js +21 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/metadata-normalizers.d.ts +4 -0
- package/dist/cli/commands/metadata-normalizers.js +37 -0
- package/dist/cli/commands/metadata-normalizers.js.map +1 -0
- package/dist/cli/commands/reindex.js +173 -135
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.js +16 -6
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/test.js +9 -2
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update.js +70 -39
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +9 -1
- package/dist/cli/error-guidance.js +147 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/help-json-payload.js +11 -1
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.js +69 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-setup.js +14 -0
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/telemetry-flush.d.ts +2 -0
- package/dist/cli/telemetry-flush.js +4 -0
- package/dist/cli/telemetry-flush.js.map +1 -0
- package/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +72 -0
- package/dist/core/extensions/extension-types.js +24 -0
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -0
- package/dist/core/extensions/loader.js +766 -7
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/lock/lock.js +2 -0
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/sentry/instrument.d.ts +15 -0
- package/dist/core/sentry/instrument.js +35 -3
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/shared/constants.js +20 -0
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.d.ts +8 -0
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/levenshtein.d.ts +1 -0
- package/dist/core/shared/levenshtein.js +37 -0
- package/dist/core/shared/levenshtein.js.map +1 -0
- package/dist/core/store/paths.js +34 -1
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js +210 -1
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +102 -3
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/mcp/server.js +3 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/pi/native.js +57 -4
- package/dist/pi/native.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +21 -1
- package/dist/sdk/cli-contracts.js +250 -0
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +12 -1
- package/dist/sdk/index.js +8 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/types.d.ts +41 -0
- package/dist/types.js.map +1 -1
- package/docs/CLAUDE_CODE_PLUGIN.md +39 -0
- package/docs/EXTENSIONS.md +687 -0
- package/docs/MIGRATION_CLI_SIMPLIFICATION.md +64 -0
- package/docs/PI_PACKAGE.md +95 -10
- package/docs/SDK.md +441 -0
- package/docs/examples/ci/github-actions-pm-extension-gate.yml +53 -0
- package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +41 -0
- package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +45 -0
- package/docs/examples/policy-restricted-extension/README.md +74 -0
- package/docs/examples/policy-restricted-extension/index.js +21 -0
- package/docs/examples/policy-restricted-extension/manifest.json +21 -0
- package/docs/examples/policy-restricted-extension/package.json +8 -0
- package/docs/examples/sdk-app-embedding/README.md +39 -0
- package/docs/examples/sdk-app-embedding/package.json +9 -0
- package/docs/examples/sdk-app-embedding/run-embedded-pm.mjs +61 -0
- package/docs/examples/sdk-contract-consumer/README.md +57 -0
- package/docs/examples/sdk-contract-consumer/inspect-contracts.mjs +47 -0
- package/docs/examples/sdk-contract-consumer/package.json +10 -0
- package/docs/examples/starter-extension/README.md +57 -42
- package/docs/examples/starter-extension/manifest.json +15 -0
- package/marketplace.json +3 -3
- package/package.json +1 -1
- package/plugins/pm-cli-claude/.claude-plugin/plugin.json +2 -2
- package/plugins/pm-cli-claude/README.md +55 -14
- package/plugins/pm-cli-claude/agents/pm-delivery-chain.md +88 -0
- package/plugins/pm-cli-claude/agents/pm-triage-agent.md +83 -0
- package/plugins/pm-cli-claude/agents/pm-verification-agent.md +88 -0
- package/plugins/pm-cli-claude/hooks/session-start.mjs +87 -22
package/dist/mcp/server.js
CHANGED
|
@@ -41,7 +41,7 @@ const TOOLS = [
|
|
|
41
41
|
inputSchema: objectSchema({
|
|
42
42
|
action: {
|
|
43
43
|
type: "string",
|
|
44
|
-
description: "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, completion, config, calendar, activity, aggregate, dedupe-audit, normalize, reindex, extension, history, stats, append, update-many, comments-audit, gc, templates-list, templates-save, templates-show, test-runs-list, test-runs-status, test-runs-logs, test-runs-stop, test-runs-resume.",
|
|
44
|
+
description: "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, completion, config, calendar, activity, aggregate, dedupe-audit, normalize, reindex, extension, extension-reload, history, stats, append, update-many, comments-audit, gc, templates-list, templates-save, templates-show, test-runs-list, test-runs-status, test-runs-logs, test-runs-stop, test-runs-resume.",
|
|
45
45
|
},
|
|
46
46
|
id: idSchema,
|
|
47
47
|
query: { type: "string", description: "Search query for action=search." },
|
|
@@ -243,6 +243,8 @@ async function runAction(args) {
|
|
|
243
243
|
return runReindex(options, global);
|
|
244
244
|
case "extension":
|
|
245
245
|
return runExtension(readString(args, "target") ?? readString(options, "target"), options, global);
|
|
246
|
+
case "extension-reload":
|
|
247
|
+
return runExtension(undefined, { ...options, reload: true }, global);
|
|
246
248
|
case "delete":
|
|
247
249
|
return runDelete(id ?? readRequiredString(options, "id"), options, global);
|
|
248
250
|
case "deps":
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"/","sources":["mcp/server.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport readline from \"node:readline\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runCalendar,\n runClaim,\n runClose,\n runComments,\n runCommentsAudit,\n runContracts,\n runContext,\n runCreate,\n runCompletion,\n runConfig,\n runDelete,\n runDedupeAudit,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runGuide,\n runHealth,\n runHistory,\n runInit,\n runLearnings,\n runList,\n runNormalize,\n runNotes,\n runReindex,\n runRelease,\n runSearch,\n runStats,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runTest,\n runTestAll,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runUpdate,\n runUpdateMany,\n runValidate,\n} from \"../cli/commands/index.js\";\n\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 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, completion, config, calendar, activity, aggregate, dedupe-audit, normalize, reindex, extension, history, stats, append, update-many, comments-audit, gc, templates-list, templates-save, templates-show, test-runs-list, test-runs-status, test-runs-logs, test-runs-stop, test-runs-resume.\",\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: \"Search pm items with keyword, semantic, or hybrid search.\",\n inputSchema: objectSchema({ query: { type: \"string\" }, options: { type: \"object\" } }, [\"query\"]),\n },\n {\n name: \"pm_list\",\n description: \"List pm items with status/type/tag/priority filters.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_get\",\n description: \"Read one pm item with body, linked files/tests/docs, and claim state.\",\n inputSchema: objectSchema({ id: idSchema }, [\"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: \"List or add comments on a pm item. Use options.add to append.\",\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.\",\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_guide\",\n description: \"Read progressive-disclosure pm guide topics.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\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\nfunction optionsWithAuthor(args: Record<string, unknown>): Record<string, unknown> {\n const options = asRecord(args.options);\n const author = readString(args, \"author\");\n return author && options.author === undefined ? { ...options, author } : options;\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);\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 return runList(readString(args, \"status\"), options, global);\n case \"get\":\n return runGet(id ?? readRequiredString(options, \"id\"), global);\n case \"search\":\n return runSearch(readRequiredString(args, \"query\"), options, global);\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 return runComments(id ?? readRequiredString(options, \"id\"), options, global);\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 \"completion\":\n return runCompletion(\n readRequiredString(args, \"shell\"),\n Array.isArray(options.itemTypes) ? options.itemTypes.map(String) : undefined,\n Array.isArray(options.tags) ? options.tags.map(String) : undefined,\n options.eagerTags === true,\n asRecord(options.runtime) as never,\n );\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 \"calendar\":\n return runCalendar(options, global);\n case \"activity\":\n return runActivity(options, global);\n case \"aggregate\":\n return runAggregate(options, global);\n case \"dedupe-audit\":\n return runDedupeAudit(options, global);\n case \"normalize\":\n return runNormalize(options as never, global);\n case \"reindex\":\n return runReindex(options, global);\n case \"extension\":\n return runExtension(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 \"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 \"comments-audit\":\n return runCommentsAudit(options, global);\n case \"gc\":\n return runGc(global, options);\n case \"templates-list\":\n return runTemplatesList(global);\n case \"templates-save\":\n return runTemplatesSave(readRequiredString(options, \"name\"), options, global);\n case \"templates-show\":\n return runTemplatesShow(readRequiredString(options, \"name\"), global);\n case \"test-runs-list\":\n return runTestRunsList(options, global);\n case \"test-runs-status\":\n return runTestRunsStatus(readRequiredString(args, \"runId\"), global);\n case \"test-runs-logs\":\n return runTestRunsLogs(readRequiredString(args, \"runId\"), options, global);\n case \"test-runs-stop\":\n return runTestRunsStop(readRequiredString(args, \"runId\"), options, global);\n case \"test-runs-resume\":\n return runTestRunsResume(readRequiredString(args, \"runId\"), options, global);\n case \"guide\":\n return runGuide(options, global);\n default:\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\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_guide: (args) => runAction({ ...args, action: \"guide\" }),\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\nasync 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-cli-native\", 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_guide) over pm_run when they cover the operation. \" +\n \"Use pm_run with an explicit action for calendar, activity, aggregate, dedupe-audit, normalize, reindex, history, stats, append, notes, learnings, test-all, gc, and template operations. \" +\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\nstartMcpServer();\n"]}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"/","sources":["mcp/server.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport readline from \"node:readline\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runCalendar,\n runClaim,\n runClose,\n runComments,\n runCommentsAudit,\n runContracts,\n runContext,\n runCreate,\n runCompletion,\n runConfig,\n runDelete,\n runDedupeAudit,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runGuide,\n runHealth,\n runHistory,\n runInit,\n runLearnings,\n runList,\n runNormalize,\n runNotes,\n runReindex,\n runRelease,\n runSearch,\n runStats,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runTest,\n runTestAll,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runUpdate,\n runUpdateMany,\n runValidate,\n} from \"../cli/commands/index.js\";\n\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 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, completion, config, calendar, activity, aggregate, dedupe-audit, normalize, reindex, extension, extension-reload, history, stats, append, update-many, comments-audit, gc, templates-list, templates-save, templates-show, test-runs-list, test-runs-status, test-runs-logs, test-runs-stop, test-runs-resume.\",\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: \"Search pm items with keyword, semantic, or hybrid search.\",\n inputSchema: objectSchema({ query: { type: \"string\" }, options: { type: \"object\" } }, [\"query\"]),\n },\n {\n name: \"pm_list\",\n description: \"List pm items with status/type/tag/priority filters.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\n },\n {\n name: \"pm_get\",\n description: \"Read one pm item with body, linked files/tests/docs, and claim state.\",\n inputSchema: objectSchema({ id: idSchema }, [\"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: \"List or add comments on a pm item. Use options.add to append.\",\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.\",\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_guide\",\n description: \"Read progressive-disclosure pm guide topics.\",\n inputSchema: objectSchema({ options: { type: \"object\" } }),\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\nfunction optionsWithAuthor(args: Record<string, unknown>): Record<string, unknown> {\n const options = asRecord(args.options);\n const author = readString(args, \"author\");\n return author && options.author === undefined ? { ...options, author } : options;\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);\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 return runList(readString(args, \"status\"), options, global);\n case \"get\":\n return runGet(id ?? readRequiredString(options, \"id\"), global);\n case \"search\":\n return runSearch(readRequiredString(args, \"query\"), options, global);\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 return runComments(id ?? readRequiredString(options, \"id\"), options, global);\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 \"completion\":\n return runCompletion(\n readRequiredString(args, \"shell\"),\n Array.isArray(options.itemTypes) ? options.itemTypes.map(String) : undefined,\n Array.isArray(options.tags) ? options.tags.map(String) : undefined,\n options.eagerTags === true,\n asRecord(options.runtime) as never,\n );\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 \"calendar\":\n return runCalendar(options, global);\n case \"activity\":\n return runActivity(options, global);\n case \"aggregate\":\n return runAggregate(options, global);\n case \"dedupe-audit\":\n return runDedupeAudit(options, global);\n case \"normalize\":\n return runNormalize(options as never, global);\n case \"reindex\":\n return runReindex(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 \"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 \"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 \"comments-audit\":\n return runCommentsAudit(options, global);\n case \"gc\":\n return runGc(global, options);\n case \"templates-list\":\n return runTemplatesList(global);\n case \"templates-save\":\n return runTemplatesSave(readRequiredString(options, \"name\"), options, global);\n case \"templates-show\":\n return runTemplatesShow(readRequiredString(options, \"name\"), global);\n case \"test-runs-list\":\n return runTestRunsList(options, global);\n case \"test-runs-status\":\n return runTestRunsStatus(readRequiredString(args, \"runId\"), global);\n case \"test-runs-logs\":\n return runTestRunsLogs(readRequiredString(args, \"runId\"), options, global);\n case \"test-runs-stop\":\n return runTestRunsStop(readRequiredString(args, \"runId\"), options, global);\n case \"test-runs-resume\":\n return runTestRunsResume(readRequiredString(args, \"runId\"), options, global);\n case \"guide\":\n return runGuide(options, global);\n default:\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\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_guide: (args) => runAction({ ...args, action: \"guide\" }),\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\nasync 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-cli-native\", 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_guide) over pm_run when they cover the operation. \" +\n \"Use pm_run with an explicit action for calendar, activity, aggregate, dedupe-audit, normalize, reindex, history, stats, append, notes, learnings, test-all, gc, and template operations. \" +\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\nstartMcpServer();\n"]}
|
package/dist/pi/native.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
1
3
|
import { PmCliError } from "../core/shared/errors.js";
|
|
2
4
|
import { readSettings } from "../core/store/settings.js";
|
|
3
5
|
import { resolvePmRoot } from "../core/store/paths.js";
|
|
4
6
|
import { normalizeStatusInput } from "../core/item/status.js";
|
|
5
7
|
import { resolveRuntimeStatusRegistry } from "../core/schema/runtime-schema.js";
|
|
8
|
+
import { PM_TOOL_ACTIONS, isPmToolAction } from "../sdk/cli-contracts.js";
|
|
6
9
|
import { runActivity, runAggregate, runAppend, runCalendar, runClaim, runClose, runComments, runCommentsAudit, runCompletion, runConfig, runContext, runContracts, runCreate, runDedupeAudit, runDelete, runDeps, runDocs, runExtension, runFiles, runFilesDiscover, runGc, runGet, runGuide, runHealth, runHistory, runInit, runLearnings, runList, runNormalize, runNotes, runReindex, runRelease, runRestore, runSearch, runStats, runTemplatesList, runTemplatesSave, runTemplatesShow, runTest, runTestAll, runTestRunsList, runTestRunsLogs, runTestRunsResume, runTestRunsStatus, runTestRunsStop, runUpdate, runUpdateMany, runValidate, } from "../cli/commands/index.js";
|
|
7
10
|
const GLOBAL_KEYS = new Set([
|
|
8
11
|
"action",
|
|
@@ -17,6 +20,8 @@ const GLOBAL_KEYS = new Set([
|
|
|
17
20
|
"timeoutMs",
|
|
18
21
|
"options",
|
|
19
22
|
]);
|
|
23
|
+
const NATIVE_PM_ACTION_ALIASES = ["files-discover"];
|
|
24
|
+
const NATIVE_PM_ACTIONS = new Set([...PM_TOOL_ACTIONS, ...NATIVE_PM_ACTION_ALIASES]);
|
|
20
25
|
function asRecord(value) {
|
|
21
26
|
return typeof value === "object" && value !== null && !Array.isArray(value) ? { ...value } : {};
|
|
22
27
|
}
|
|
@@ -100,9 +105,49 @@ async function runCloseTask(id, reason, options, global) {
|
|
|
100
105
|
const release = await runRelease(id, force, global, baseOptions);
|
|
101
106
|
return { id, action: "close_task", close, release };
|
|
102
107
|
}
|
|
108
|
+
function resolvePackageRoot() {
|
|
109
|
+
return path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
|
110
|
+
}
|
|
111
|
+
let bundledExtensionRuntimeReloadEpoch = 0;
|
|
112
|
+
async function loadBundledExtensionRuntime(name, options) {
|
|
113
|
+
const runtimePath = path.join(resolvePackageRoot(), ".agents", "pm", "extensions", name, "runtime.js");
|
|
114
|
+
const runtimeUrl = new URL(pathToFileURL(runtimePath).href);
|
|
115
|
+
if (options?.cacheBust === true) {
|
|
116
|
+
bundledExtensionRuntimeReloadEpoch += 1;
|
|
117
|
+
runtimeUrl.searchParams.set("pm_ext_reload", `${name}-${bundledExtensionRuntimeReloadEpoch}-${Date.now()}`);
|
|
118
|
+
}
|
|
119
|
+
return import(runtimeUrl.href);
|
|
120
|
+
}
|
|
121
|
+
async function runBeadsImport(options, global) {
|
|
122
|
+
const runtime = await loadBundledExtensionRuntime("beads", { cacheBust: options.reload === true });
|
|
123
|
+
const runner = runtime.runBeadsImport;
|
|
124
|
+
if (typeof runner !== "function") {
|
|
125
|
+
throw new PmCliError("Bundled beads runtime is missing runBeadsImport().", 1);
|
|
126
|
+
}
|
|
127
|
+
return runner(options, global);
|
|
128
|
+
}
|
|
129
|
+
async function runTodosImport(options, global) {
|
|
130
|
+
const runtime = await loadBundledExtensionRuntime("todos", { cacheBust: options.reload === true });
|
|
131
|
+
const runner = runtime.runTodosImport;
|
|
132
|
+
if (typeof runner !== "function") {
|
|
133
|
+
throw new PmCliError("Bundled todos runtime is missing runTodosImport().", 1);
|
|
134
|
+
}
|
|
135
|
+
return runner(options, global);
|
|
136
|
+
}
|
|
137
|
+
async function runTodosExport(options, global) {
|
|
138
|
+
const runtime = await loadBundledExtensionRuntime("todos", { cacheBust: options.reload === true });
|
|
139
|
+
const runner = runtime.runTodosExport;
|
|
140
|
+
if (typeof runner !== "function") {
|
|
141
|
+
throw new PmCliError("Bundled todos runtime is missing runTodosExport().", 1);
|
|
142
|
+
}
|
|
143
|
+
return runner(options, global);
|
|
144
|
+
}
|
|
103
145
|
export async function runNativePmAction(args) {
|
|
104
146
|
return withCwd(args.cwd, async () => {
|
|
105
147
|
const action = requiredString(args, "action", "pm").trim().toLowerCase();
|
|
148
|
+
if (!NATIVE_PM_ACTIONS.has(action) && !isPmToolAction(action)) {
|
|
149
|
+
throw new PmCliError(`Unsupported native pm action: ${action}`, 64);
|
|
150
|
+
}
|
|
106
151
|
const global = nativeGlobalOptions(args);
|
|
107
152
|
const options = nativeCommandOptions(args);
|
|
108
153
|
const id = readString(args, "id") ?? readString(options, "id");
|
|
@@ -115,12 +160,16 @@ export async function runNativePmAction(args) {
|
|
|
115
160
|
case "extension-uninstall": return runExtension(requiredString(args, "target", action), { ...options, uninstall: true }, global);
|
|
116
161
|
case "extension-explore": return runExtension(undefined, { ...options, explore: true }, global);
|
|
117
162
|
case "extension-manage": return runExtension(undefined, { ...options, manage: true }, global);
|
|
163
|
+
case "extension-reload": return runExtension(undefined, { ...options, reload: true }, global);
|
|
118
164
|
case "extension-doctor": return runExtension(undefined, { ...options, doctor: true }, global);
|
|
119
165
|
case "extension-adopt": return runExtension(requiredString(args, "target", action), { ...options, adopt: true }, global);
|
|
120
166
|
case "extension-adopt-all": return runExtension(undefined, { ...options, adoptAll: true }, global);
|
|
121
167
|
case "extension-activate": return runExtension(requiredString(args, "target", action), { ...options, activate: true }, global);
|
|
122
168
|
case "extension-deactivate": return runExtension(requiredString(args, "target", action), { ...options, deactivate: true }, global);
|
|
123
169
|
case "extension": return runExtension(readString(args, "target") ?? readString(options, "target"), options, global);
|
|
170
|
+
case "beads-import": return runBeadsImport(options, global);
|
|
171
|
+
case "todos-import": return runTodosImport(options, global);
|
|
172
|
+
case "todos-export": return runTodosExport(options, global);
|
|
124
173
|
case "create": return runCreate(options, global);
|
|
125
174
|
case "list":
|
|
126
175
|
case "list-all":
|
|
@@ -132,8 +181,10 @@ export async function runNativePmAction(args) {
|
|
|
132
181
|
case "list-canceled": return runList(action === "list" ? readString(args, "status") : action === "list-all" ? undefined : action.replace("list-", "").replaceAll("-", "_"), options, global);
|
|
133
182
|
case "aggregate": return runAggregate(options, global);
|
|
134
183
|
case "dedupe-audit": return runDedupeAudit(options, global);
|
|
135
|
-
case "calendar":
|
|
136
|
-
case "
|
|
184
|
+
case "calendar":
|
|
185
|
+
case "cal": return runCalendar(options, global);
|
|
186
|
+
case "context":
|
|
187
|
+
case "ctx": return runContext(options, global);
|
|
137
188
|
case "get": return runGet(id ?? requiredString(options, "id", action), global);
|
|
138
189
|
case "search": return runSearch(readString(args, "query") ?? readString(args, "keywords") ?? requiredString(options, "query", action), options, global);
|
|
139
190
|
case "reindex": return runReindex(options, global);
|
|
@@ -167,9 +218,11 @@ export async function runNativePmAction(args) {
|
|
|
167
218
|
case "gc": return runGc(global, options);
|
|
168
219
|
case "contracts": return runContracts(options, global);
|
|
169
220
|
case "completion": return runCompletion(requiredString(args, "shell", action), undefined, undefined, options.eagerTags === true, options.runtime);
|
|
170
|
-
case "templates-save":
|
|
221
|
+
case "templates-save":
|
|
222
|
+
return runTemplatesSave(readString(args, "template") ?? readString(options, "template") ?? requiredString(options, "name", action), options, global);
|
|
171
223
|
case "templates-list": return runTemplatesList(global);
|
|
172
|
-
case "templates-show":
|
|
224
|
+
case "templates-show":
|
|
225
|
+
return runTemplatesShow(readString(args, "template") ?? readString(options, "template") ?? requiredString(options, "name", action), global);
|
|
173
226
|
case "claim": return runClaim(id ?? requiredString(options, "id", action), force, global, options);
|
|
174
227
|
case "release": return runRelease(id ?? requiredString(options, "id", action), force, global, options);
|
|
175
228
|
case "start-task": return runStartTask(id ?? requiredString(options, "id", action), options, global);
|
package/dist/pi/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"/","sources":["pi/native.ts"],"names":[],"mappings":"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","sourcesContent":["import type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport { resolvePmRoot } from \"../core/store/paths.js\";\nimport { normalizeStatusInput } from \"../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runCalendar,\n runClaim,\n runClose,\n runComments,\n runCommentsAudit,\n runCompletion,\n runConfig,\n runContext,\n runContracts,\n runCreate,\n runDedupeAudit,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runGuide,\n runHealth,\n runHistory,\n runInit,\n runLearnings,\n runList,\n runNormalize,\n runNotes,\n runReindex,\n runRelease,\n runRestore,\n runSearch,\n runStats,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runTest,\n runTestAll,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runUpdate,\n runUpdateMany,\n runValidate,\n} from \"../cli/commands/index.js\";\n\nexport type NativePmArgs = Record<string, unknown>;\n\nconst GLOBAL_KEYS = new Set([\n \"action\",\n \"cwd\",\n \"path\",\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"pmExecutable\",\n \"timeoutMs\",\n \"options\",\n]);\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value) ? { ...(value as Record<string, unknown>) } : {};\n}\n\nfunction readString(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n return typeof value === \"string\" && value.trim().length > 0 ? value : undefined;\n}\n\nfunction mutationOptions(options: Record<string, unknown>): { author?: string; message?: string } {\n return {\n author: readString(options, \"author\"),\n message: typeof options.message === \"string\" ? options.message : undefined,\n };\n}\n\nfunction requiredString(args: Record<string, unknown>, key: string, action: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Action \"${action}\" requires \"${key}\".`, 64);\n }\n return value;\n}\n\nexport function nativeGlobalOptions(args: NativePmArgs): GlobalOptions {\n return {\n json: args.json !== false,\n quiet: args.quiet === true,\n profile: args.profile === true,\n noExtensions: args.noExtensions === true,\n noPager: args.noPager !== false,\n path: readString(args, \"path\"),\n };\n}\n\nexport function nativeCommandOptions(args: NativePmArgs): Record<string, unknown> {\n const options = asRecord(args.options);\n for (const [key, value] of Object.entries(args)) {\n if (GLOBAL_KEYS.has(key) || value === undefined) continue;\n if (options[key] === undefined) options[key] = value;\n }\n const author = readString(args, \"author\");\n if (author && options.author === undefined) options.author = author;\n return options;\n}\n\nasync function withCwd<T>(cwd: unknown, run: () => Promise<T>): Promise<T> {\n if (typeof cwd !== \"string\" || cwd.trim().length === 0) return run();\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n return await run();\n } finally {\n process.chdir(previous);\n }\n}\n\nasync function runStartTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const status = normalizeStatusInput(\"in_progress\", statusRegistry) ?? statusRegistry.open_status;\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const claim = await runClaim(id, force, global, baseOptions);\n const update = await runUpdate(id, { ...baseOptions, status, force }, global);\n return { id, action: \"start_task\", claim, update };\n}\n\nasync function runPauseTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const update = await runUpdate(id, { ...baseOptions, status: statusRegistry.open_status, force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"pause_task\", update, release };\n}\n\nasync function runCloseTask(id: string, reason: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const close = await runClose(id, reason, { ...baseOptions, validateClose: readString(options, \"validateClose\"), force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"close_task\", close, release };\n}\n\nexport async function runNativePmAction(args: NativePmArgs): Promise<unknown> {\n return withCwd(args.cwd, async () => {\n const action = requiredString(args, \"action\", \"pm\").trim().toLowerCase();\n const global = nativeGlobalOptions(args);\n const options = nativeCommandOptions(args);\n const id = readString(args, \"id\") ?? readString(options, \"id\");\n const force = args.force === true || options.force === true;\n\n switch (action) {\n case \"init\": return runInit(readString(args, \"prefix\") ?? readString(options, \"prefix\"), global, options);\n case \"config\": return runConfig(readString(args, \"scope\") ?? readString(options, \"scope\") ?? \"project\", readString(args, \"configAction\") ?? readString(options, \"configAction\") ?? requiredString(options, \"action\", action), readString(args, \"key\") ?? readString(options, \"key\"), options, global);\n case \"extension-init\": return runExtension(requiredString(args, \"target\", action), { ...options, init: true }, global);\n case \"extension-install\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), { ...options, install: true }, global);\n case \"extension-uninstall\": return runExtension(requiredString(args, \"target\", action), { ...options, uninstall: true }, global);\n case \"extension-explore\": return runExtension(undefined, { ...options, explore: true }, global);\n case \"extension-manage\": return runExtension(undefined, { ...options, manage: true }, global);\n case \"extension-doctor\": return runExtension(undefined, { ...options, doctor: true }, global);\n case \"extension-adopt\": return runExtension(requiredString(args, \"target\", action), { ...options, adopt: true }, global);\n case \"extension-adopt-all\": return runExtension(undefined, { ...options, adoptAll: true }, global);\n case \"extension-activate\": return runExtension(requiredString(args, \"target\", action), { ...options, activate: true }, global);\n case \"extension-deactivate\": return runExtension(requiredString(args, \"target\", action), { ...options, deactivate: true }, global);\n case \"extension\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"create\": return runCreate(options, global);\n case \"list\": case \"list-all\": case \"list-draft\": case \"list-open\": case \"list-in-progress\": case \"list-blocked\": case \"list-closed\": case \"list-canceled\": return runList(action === \"list\" ? readString(args, \"status\") : action === \"list-all\" ? undefined : action.replace(\"list-\", \"\").replaceAll(\"-\", \"_\"), options, global);\n case \"aggregate\": return runAggregate(options, global);\n case \"dedupe-audit\": return runDedupeAudit(options, global);\n case \"calendar\": return runCalendar(options, global);\n case \"context\": return runContext(options, global);\n case \"get\": return runGet(id ?? requiredString(options, \"id\", action), global);\n case \"search\": return runSearch(readString(args, \"query\") ?? readString(args, \"keywords\") ?? requiredString(options, \"query\", action), options, global);\n case \"reindex\": return runReindex(options, global);\n case \"history\": return runHistory(id ?? requiredString(options, \"id\", action), options, global);\n case \"activity\": return runActivity(options, global);\n case \"restore\": return runRestore(id ?? requiredString(options, \"id\", action), readString(args, \"target\") ?? requiredString(options, \"target\", action), options, global);\n case \"update\": return runUpdate(id ?? requiredString(options, \"id\", action), options, global);\n case \"update-many\": return runUpdateMany(options as never, global);\n case \"normalize\": return runNormalize(options as never, global);\n case \"close\": return runClose(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"delete\": return runDelete(id ?? requiredString(options, \"id\", action), options, global);\n case \"append\": return runAppend(id ?? requiredString(options, \"id\", action), options as never, global);\n case \"comments\": return runComments(id ?? requiredString(options, \"id\", action), options, global);\n case \"comments-audit\": return runCommentsAudit(options, global);\n case \"notes\": return runNotes(id ?? requiredString(options, \"id\", action), options, global);\n case \"learnings\": return runLearnings(id ?? requiredString(options, \"id\", action), options, global);\n case \"files\": return runFiles(id ?? requiredString(options, \"id\", action), options, global);\n case \"files-discover\": return runFilesDiscover(id ?? requiredString(options, \"id\", action), options, global);\n case \"docs\": return runDocs(id ?? requiredString(options, \"id\", action), options, global);\n case \"deps\": return runDeps(id ?? requiredString(options, \"id\", action), options, global);\n case \"test\": return runTest(id ?? requiredString(options, \"id\", action), options, global);\n case \"test-all\": return runTestAll(options, global);\n case \"test-runs-list\": return runTestRunsList(options, global);\n case \"test-runs-status\": return runTestRunsStatus(requiredString(args, \"runId\", action), global);\n case \"test-runs-logs\": return runTestRunsLogs(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-stop\": return runTestRunsStop(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-resume\": return runTestRunsResume(requiredString(args, \"runId\", action), options, global);\n case \"stats\": return runStats(global);\n case \"health\": return runHealth(global, options);\n case \"validate\": return runValidate(options, global);\n case \"gc\": return runGc(global, options);\n case \"contracts\": return runContracts(options, global);\n case \"completion\": return runCompletion(requiredString(args, \"shell\", action), undefined, undefined, options.eagerTags === true, options.runtime as never);\n case \"templates-save\": return runTemplatesSave(readString(args, \"template\") ?? requiredString(options, \"name\", action), options, global);\n case \"templates-list\": return runTemplatesList(global);\n case \"templates-show\": return runTemplatesShow(readString(args, \"template\") ?? requiredString(options, \"name\", action), global);\n case \"claim\": return runClaim(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"release\": return runRelease(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"start-task\": return runStartTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"pause-task\": return runPauseTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"close-task\": return runCloseTask(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"guide\": return runGuide(options, global);\n default: throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"/","sources":["pi/native.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,cAAc;IACd,SAAS;IACT,cAAc;IACd,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,gBAAgB,CAAU,CAAC;AAC7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,eAAe,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAC;AAE7F,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAI,KAAiC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/H,CAAC;AAED,SAAS,UAAU,CAAC,IAA6B,EAAE,GAAW;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,SAAS,eAAe,CAAC,OAAgC;IACvD,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAA6B,EAAE,GAAW,EAAE,MAAc;IAChF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,UAAU,CAAC,WAAW,MAAM,eAAe,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAkB;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;QAC9B,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,IAAI;QACxC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK;QAC/B,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACpE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,OAAO,CAAI,GAAY,EAAE,GAAqB;IAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAU,EAAE,OAAgC,EAAE,MAAqB;IAC7F,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;IACjG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IACrC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAU,EAAE,OAAgC,EAAE,MAAqB;IAC7F,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IACrC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1G,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAAU,EAAE,MAAc,EAAE,OAAgC,EAAE,MAAqB;IAC7G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IACrC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACjI,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,IAAI,kCAAkC,GAAG,CAAC,CAAC;AAE3C,KAAK,UAAU,2BAA2B,CACxC,IAAuB,EACvB,OAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACvG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;QAChC,kCAAkC,IAAI,CAAC,CAAC;QACxC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,IAAI,IAAI,kCAAkC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAqC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAgC,EAAE,MAAqB;IACnF,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAqB,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAgC,EAAE,MAAqB;IACnF,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAqB,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAgC,EAAE,MAAqB;IACnF,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAqB,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAkB;IACxD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,UAAU,CAAC,iCAAiC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;QAE5D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1G,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtS,KAAK,gBAAgB,CAAC,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACvH,KAAK,mBAAmB,CAAC,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAClJ,KAAK,qBAAqB,CAAC,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACjI,KAAK,mBAAmB,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAChG,KAAK,kBAAkB,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9F,KAAK,kBAAkB,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9F,KAAK,kBAAkB,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9F,KAAK,iBAAiB,CAAC,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACzH,KAAK,qBAAqB,CAAC,CAAC,OAAO,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACnG,KAAK,oBAAoB,CAAC,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/H,KAAK,sBAAsB,CAAC,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YACnI,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpH,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,KAAK,MAAM,CAAC;YAAC,KAAK,UAAU,CAAC;YAAC,KAAK,YAAY,CAAC;YAAC,KAAK,WAAW,CAAC;YAAC,KAAK,kBAAkB,CAAC;YAAC,KAAK,cAAc,CAAC;YAAC,KAAK,aAAa,CAAC;YAAC,KAAK,eAAe,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAClU,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5D,KAAK,UAAU,CAAC;YAAC,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjE,KAAK,SAAS,CAAC;YAAC,KAAK,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/D,KAAK,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/E,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACxJ,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnD,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAChG,KAAK,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACzK,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9F,KAAK,aAAa,CAAC,CAAC,OAAO,aAAa,CAAC,OAAgB,EAAE,MAAM,CAAC,CAAC;YACnE,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,OAAgB,EAAE,MAAM,CAAC,CAAC;YAChE,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/L,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9F,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAgB,EAAE,MAAM,CAAC,CAAC;YACvG,KAAK,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAClG,KAAK,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5F,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpG,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5F,KAAK,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7G,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1F,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,KAAK,gBAAgB,CAAC,CAAC,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/D,KAAK,kBAAkB,CAAC,CAAC,OAAO,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YACjG,KAAK,gBAAgB,CAAC,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtG,KAAK,gBAAgB,CAAC,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtG,KAAK,kBAAkB,CAAC,CAAC,OAAO,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1G,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,KAAK,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,KAAK,YAAY,CAAC,CAAC,OAAO,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,OAAO,CAAC,OAAgB,CAAC,CAAC;YAC3J,KAAK,gBAAgB;gBACnB,OAAO,gBAAgB,CACrB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1G,OAAO,EACP,MAAM,CACP,CAAC;YACJ,KAAK,gBAAgB,CAAC,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvD,KAAK,gBAAgB;gBACnB,OAAO,gBAAgB,CACrB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1G,MAAM,CACP,CAAC;YACJ,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACnG,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACvG,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrG,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACrG,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACxM,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,iCAAiC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport type { GlobalOptions } from \"../core/shared/command-types.js\";\nimport { PmCliError } from \"../core/shared/errors.js\";\nimport { readSettings } from \"../core/store/settings.js\";\nimport { resolvePmRoot } from \"../core/store/paths.js\";\nimport { normalizeStatusInput } from \"../core/item/status.js\";\nimport { resolveRuntimeStatusRegistry } from \"../core/schema/runtime-schema.js\";\nimport { PM_TOOL_ACTIONS, isPmToolAction } from \"../sdk/cli-contracts.js\";\nimport {\n runActivity,\n runAggregate,\n runAppend,\n runCalendar,\n runClaim,\n runClose,\n runComments,\n runCommentsAudit,\n runCompletion,\n runConfig,\n runContext,\n runContracts,\n runCreate,\n runDedupeAudit,\n runDelete,\n runDeps,\n runDocs,\n runExtension,\n runFiles,\n runFilesDiscover,\n runGc,\n runGet,\n runGuide,\n runHealth,\n runHistory,\n runInit,\n runLearnings,\n runList,\n runNormalize,\n runNotes,\n runReindex,\n runRelease,\n runRestore,\n runSearch,\n runStats,\n runTemplatesList,\n runTemplatesSave,\n runTemplatesShow,\n runTest,\n runTestAll,\n runTestRunsList,\n runTestRunsLogs,\n runTestRunsResume,\n runTestRunsStatus,\n runTestRunsStop,\n runUpdate,\n runUpdateMany,\n runValidate,\n} from \"../cli/commands/index.js\";\n\nexport type NativePmArgs = Record<string, unknown>;\n\nconst GLOBAL_KEYS = new Set([\n \"action\",\n \"cwd\",\n \"path\",\n \"json\",\n \"quiet\",\n \"profile\",\n \"noExtensions\",\n \"noPager\",\n \"pmExecutable\",\n \"timeoutMs\",\n \"options\",\n]);\n\nconst NATIVE_PM_ACTION_ALIASES = [\"files-discover\"] as const;\nconst NATIVE_PM_ACTIONS = new Set<string>([...PM_TOOL_ACTIONS, ...NATIVE_PM_ACTION_ALIASES]);\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value) ? { ...(value as Record<string, unknown>) } : {};\n}\n\nfunction readString(args: Record<string, unknown>, key: string): string | undefined {\n const value = args[key];\n return typeof value === \"string\" && value.trim().length > 0 ? value : undefined;\n}\n\nfunction mutationOptions(options: Record<string, unknown>): { author?: string; message?: string } {\n return {\n author: readString(options, \"author\"),\n message: typeof options.message === \"string\" ? options.message : undefined,\n };\n}\n\nfunction requiredString(args: Record<string, unknown>, key: string, action: string): string {\n const value = readString(args, key);\n if (!value) {\n throw new PmCliError(`Action \"${action}\" requires \"${key}\".`, 64);\n }\n return value;\n}\n\nexport function nativeGlobalOptions(args: NativePmArgs): GlobalOptions {\n return {\n json: args.json !== false,\n quiet: args.quiet === true,\n profile: args.profile === true,\n noExtensions: args.noExtensions === true,\n noPager: args.noPager !== false,\n path: readString(args, \"path\"),\n };\n}\n\nexport function nativeCommandOptions(args: NativePmArgs): Record<string, unknown> {\n const options = asRecord(args.options);\n for (const [key, value] of Object.entries(args)) {\n if (GLOBAL_KEYS.has(key) || value === undefined) continue;\n if (options[key] === undefined) options[key] = value;\n }\n const author = readString(args, \"author\");\n if (author && options.author === undefined) options.author = author;\n return options;\n}\n\nasync function withCwd<T>(cwd: unknown, run: () => Promise<T>): Promise<T> {\n if (typeof cwd !== \"string\" || cwd.trim().length === 0) return run();\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n return await run();\n } finally {\n process.chdir(previous);\n }\n}\n\nasync function runStartTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const status = normalizeStatusInput(\"in_progress\", statusRegistry) ?? statusRegistry.open_status;\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const claim = await runClaim(id, force, global, baseOptions);\n const update = await runUpdate(id, { ...baseOptions, status, force }, global);\n return { id, action: \"start_task\", claim, update };\n}\n\nasync function runPauseTask(id: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const update = await runUpdate(id, { ...baseOptions, status: statusRegistry.open_status, force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"pause_task\", update, release };\n}\n\nasync function runCloseTask(id: string, reason: string, options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const force = options.force === true;\n const baseOptions = mutationOptions(options);\n const close = await runClose(id, reason, { ...baseOptions, validateClose: readString(options, \"validateClose\"), force }, global);\n const release = await runRelease(id, force, global, baseOptions);\n return { id, action: \"close_task\", close, release };\n}\n\nfunction resolvePackageRoot(): string {\n return path.resolve(path.dirname(fileURLToPath(import.meta.url)), \"../..\");\n}\n\nlet bundledExtensionRuntimeReloadEpoch = 0;\n\nasync function loadBundledExtensionRuntime(\n name: \"beads\" | \"todos\",\n options?: { cacheBust?: boolean },\n): Promise<Record<string, unknown>> {\n const runtimePath = path.join(resolvePackageRoot(), \".agents\", \"pm\", \"extensions\", name, \"runtime.js\");\n const runtimeUrl = new URL(pathToFileURL(runtimePath).href);\n if (options?.cacheBust === true) {\n bundledExtensionRuntimeReloadEpoch += 1;\n runtimeUrl.searchParams.set(\"pm_ext_reload\", `${name}-${bundledExtensionRuntimeReloadEpoch}-${Date.now()}`);\n }\n return import(runtimeUrl.href) as Promise<Record<string, unknown>>;\n}\n\nasync function runBeadsImport(options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const runtime = await loadBundledExtensionRuntime(\"beads\", { cacheBust: options.reload === true });\n const runner = runtime.runBeadsImport;\n if (typeof runner !== \"function\") {\n throw new PmCliError(\"Bundled beads runtime is missing runBeadsImport().\", 1);\n }\n return runner(options, global) as Promise<unknown>;\n}\n\nasync function runTodosImport(options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const runtime = await loadBundledExtensionRuntime(\"todos\", { cacheBust: options.reload === true });\n const runner = runtime.runTodosImport;\n if (typeof runner !== \"function\") {\n throw new PmCliError(\"Bundled todos runtime is missing runTodosImport().\", 1);\n }\n return runner(options, global) as Promise<unknown>;\n}\n\nasync function runTodosExport(options: Record<string, unknown>, global: GlobalOptions): Promise<unknown> {\n const runtime = await loadBundledExtensionRuntime(\"todos\", { cacheBust: options.reload === true });\n const runner = runtime.runTodosExport;\n if (typeof runner !== \"function\") {\n throw new PmCliError(\"Bundled todos runtime is missing runTodosExport().\", 1);\n }\n return runner(options, global) as Promise<unknown>;\n}\n\nexport async function runNativePmAction(args: NativePmArgs): Promise<unknown> {\n return withCwd(args.cwd, async () => {\n const action = requiredString(args, \"action\", \"pm\").trim().toLowerCase();\n if (!NATIVE_PM_ACTIONS.has(action) && !isPmToolAction(action)) {\n throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n const global = nativeGlobalOptions(args);\n const options = nativeCommandOptions(args);\n const id = readString(args, \"id\") ?? readString(options, \"id\");\n const force = args.force === true || options.force === true;\n\n switch (action) {\n case \"init\": return runInit(readString(args, \"prefix\") ?? readString(options, \"prefix\"), global, options);\n case \"config\": return runConfig(readString(args, \"scope\") ?? readString(options, \"scope\") ?? \"project\", readString(args, \"configAction\") ?? readString(options, \"configAction\") ?? requiredString(options, \"action\", action), readString(args, \"key\") ?? readString(options, \"key\"), options, global);\n case \"extension-init\": return runExtension(requiredString(args, \"target\", action), { ...options, init: true }, global);\n case \"extension-install\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), { ...options, install: true }, global);\n case \"extension-uninstall\": return runExtension(requiredString(args, \"target\", action), { ...options, uninstall: true }, global);\n case \"extension-explore\": return runExtension(undefined, { ...options, explore: true }, global);\n case \"extension-manage\": return runExtension(undefined, { ...options, manage: true }, global);\n case \"extension-reload\": return runExtension(undefined, { ...options, reload: true }, global);\n case \"extension-doctor\": return runExtension(undefined, { ...options, doctor: true }, global);\n case \"extension-adopt\": return runExtension(requiredString(args, \"target\", action), { ...options, adopt: true }, global);\n case \"extension-adopt-all\": return runExtension(undefined, { ...options, adoptAll: true }, global);\n case \"extension-activate\": return runExtension(requiredString(args, \"target\", action), { ...options, activate: true }, global);\n case \"extension-deactivate\": return runExtension(requiredString(args, \"target\", action), { ...options, deactivate: true }, global);\n case \"extension\": return runExtension(readString(args, \"target\") ?? readString(options, \"target\"), options, global);\n case \"beads-import\": return runBeadsImport(options, global);\n case \"todos-import\": return runTodosImport(options, global);\n case \"todos-export\": return runTodosExport(options, global);\n case \"create\": return runCreate(options, global);\n case \"list\": case \"list-all\": case \"list-draft\": case \"list-open\": case \"list-in-progress\": case \"list-blocked\": case \"list-closed\": case \"list-canceled\": return runList(action === \"list\" ? readString(args, \"status\") : action === \"list-all\" ? undefined : action.replace(\"list-\", \"\").replaceAll(\"-\", \"_\"), options, global);\n case \"aggregate\": return runAggregate(options, global);\n case \"dedupe-audit\": return runDedupeAudit(options, global);\n case \"calendar\": case \"cal\": return runCalendar(options, global);\n case \"context\": case \"ctx\": return runContext(options, global);\n case \"get\": return runGet(id ?? requiredString(options, \"id\", action), global);\n case \"search\": return runSearch(readString(args, \"query\") ?? readString(args, \"keywords\") ?? requiredString(options, \"query\", action), options, global);\n case \"reindex\": return runReindex(options, global);\n case \"history\": return runHistory(id ?? requiredString(options, \"id\", action), options, global);\n case \"activity\": return runActivity(options, global);\n case \"restore\": return runRestore(id ?? requiredString(options, \"id\", action), readString(args, \"target\") ?? requiredString(options, \"target\", action), options, global);\n case \"update\": return runUpdate(id ?? requiredString(options, \"id\", action), options, global);\n case \"update-many\": return runUpdateMany(options as never, global);\n case \"normalize\": return runNormalize(options as never, global);\n case \"close\": return runClose(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"delete\": return runDelete(id ?? requiredString(options, \"id\", action), options, global);\n case \"append\": return runAppend(id ?? requiredString(options, \"id\", action), options as never, global);\n case \"comments\": return runComments(id ?? requiredString(options, \"id\", action), options, global);\n case \"comments-audit\": return runCommentsAudit(options, global);\n case \"notes\": return runNotes(id ?? requiredString(options, \"id\", action), options, global);\n case \"learnings\": return runLearnings(id ?? requiredString(options, \"id\", action), options, global);\n case \"files\": return runFiles(id ?? requiredString(options, \"id\", action), options, global);\n case \"files-discover\": return runFilesDiscover(id ?? requiredString(options, \"id\", action), options, global);\n case \"docs\": return runDocs(id ?? requiredString(options, \"id\", action), options, global);\n case \"deps\": return runDeps(id ?? requiredString(options, \"id\", action), options, global);\n case \"test\": return runTest(id ?? requiredString(options, \"id\", action), options, global);\n case \"test-all\": return runTestAll(options, global);\n case \"test-runs-list\": return runTestRunsList(options, global);\n case \"test-runs-status\": return runTestRunsStatus(requiredString(args, \"runId\", action), global);\n case \"test-runs-logs\": return runTestRunsLogs(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-stop\": return runTestRunsStop(requiredString(args, \"runId\", action), options, global);\n case \"test-runs-resume\": return runTestRunsResume(requiredString(args, \"runId\", action), options, global);\n case \"stats\": return runStats(global);\n case \"health\": return runHealth(global, options);\n case \"validate\": return runValidate(options, global);\n case \"gc\": return runGc(global, options);\n case \"contracts\": return runContracts(options, global);\n case \"completion\": return runCompletion(requiredString(args, \"shell\", action), undefined, undefined, options.eagerTags === true, options.runtime as never);\n case \"templates-save\":\n return runTemplatesSave(\n readString(args, \"template\") ?? readString(options, \"template\") ?? requiredString(options, \"name\", action),\n options,\n global,\n );\n case \"templates-list\": return runTemplatesList(global);\n case \"templates-show\":\n return runTemplatesShow(\n readString(args, \"template\") ?? readString(options, \"template\") ?? requiredString(options, \"name\", action),\n global,\n );\n case \"claim\": return runClaim(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"release\": return runRelease(id ?? requiredString(options, \"id\", action), force, global, options);\n case \"start-task\": return runStartTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"pause-task\": return runPauseTask(id ?? requiredString(options, \"id\", action), options, global);\n case \"close-task\": return runCloseTask(id ?? requiredString(options, \"id\", action), readString(args, \"text\") ?? readString(args, \"reason\") ?? requiredString(options, \"text\", action), options, global);\n case \"guide\": return runGuide(options, global);\n default: throw new PmCliError(`Unsupported native pm action: ${action}`, 64);\n }\n });\n}\n"]}
|
|
@@ -18,10 +18,23 @@ export declare const PM_EXTENSION_CAPABILITY_CONTRACTS: readonly ["commands", "r
|
|
|
18
18
|
export type PmExtensionCapabilityContract = (typeof PM_EXTENSION_CAPABILITY_CONTRACTS)[number];
|
|
19
19
|
export declare const PM_EXTENSION_SERVICE_NAME_CONTRACTS: readonly ["output_format", "error_format", "help_format", "lock_acquire", "lock_release", "history_append", "item_store_write", "item_store_delete"];
|
|
20
20
|
export type PmExtensionServiceNameContract = (typeof PM_EXTENSION_SERVICE_NAME_CONTRACTS)[number];
|
|
21
|
+
export declare const PM_EXTENSION_POLICY_MODE_CONTRACTS: readonly ["off", "warn", "enforce"];
|
|
22
|
+
export type PmExtensionPolicyModeContract = (typeof PM_EXTENSION_POLICY_MODE_CONTRACTS)[number];
|
|
23
|
+
export declare const PM_EXTENSION_TRUST_MODE_CONTRACTS: readonly ["off", "warn", "enforce"];
|
|
24
|
+
export type PmExtensionTrustModeContract = (typeof PM_EXTENSION_TRUST_MODE_CONTRACTS)[number];
|
|
25
|
+
export declare const PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS: readonly ["none", "restricted", "strict"];
|
|
26
|
+
export type PmExtensionSandboxProfileContract = (typeof PM_EXTENSION_SANDBOX_PROFILE_CONTRACTS)[number];
|
|
27
|
+
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
|
+
export type PmExtensionPolicySurfaceContract = (typeof PM_EXTENSION_POLICY_SURFACE_CONTRACTS)[number];
|
|
21
29
|
export declare function withFlagAliasMetadata(flagContracts: CliFlagContract[]): CliFlagContract[];
|
|
22
30
|
export declare const PM_CORE_COMMAND_NAMES: readonly ["init", "config", "extension", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "guide", "calendar", "cal", "context", "ctx", "get", "search", "reindex", "history", "activity", "restore", "update", "update-many", "normalize", "close", "delete", "append", "comments", "comments-audit", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "test-runs", "stats", "health", "validate", "gc", "contracts", "claim", "release", "start-task", "pause-task", "close-task", "templates", "completion", "help"];
|
|
23
|
-
export declare const PM_TOOL_ACTIONS: readonly ["init", "config", "extension-init", "extension-install", "extension-uninstall", "extension-explore", "extension-manage", "extension-doctor", "extension-adopt", "extension-adopt-all", "extension-activate", "extension-deactivate", "create", "list", "list-all", "list-draft", "list-open", "list-in-progress", "list-blocked", "list-closed", "list-canceled", "aggregate", "dedupe-audit", "calendar", "context", "get", "search", "reindex", "history", "activity", "restore", "update", "update-many", "normalize", "close", "delete", "append", "comments", "comments-audit", "notes", "learnings", "files", "docs", "deps", "test", "test-all", "test-runs-list", "test-runs-status", "test-runs-logs", "test-runs-stop", "test-runs-resume", "stats", "health", "validate", "gc", "contracts", "completion", "templates-save", "templates-list", "templates-show", "claim", "release", "beads-import", "todos-import", "todos-export", "start-task", "pause-task", "close-task"];
|
|
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", "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"];
|
|
24
32
|
export type PmToolAction = (typeof PM_TOOL_ACTIONS)[number];
|
|
33
|
+
export declare function isPmToolAction(value: string): value is PmToolAction;
|
|
34
|
+
export declare function isPmExtensionCapabilityContract(value: string): value is PmExtensionCapabilityContract;
|
|
35
|
+
export declare function isPmExtensionServiceNameContract(value: string): value is PmExtensionServiceNameContract;
|
|
36
|
+
export declare function isPmExtensionPolicyModeContract(value: string): value is PmExtensionPolicyModeContract;
|
|
37
|
+
export declare function isPmExtensionPolicySurfaceContract(value: string): value is PmExtensionPolicySurfaceContract;
|
|
25
38
|
export declare const PI_LIST_FILTER_OPTION_CONTRACTS: PiOptionFlagContract[];
|
|
26
39
|
export declare const PI_AGGREGATE_OPTION_CONTRACTS: PiOptionFlagContract[];
|
|
27
40
|
export declare const PI_DEDUPE_AUDIT_OPTION_CONTRACTS: PiOptionFlagContract[];
|
|
@@ -78,6 +91,7 @@ export declare const DEPS_FLAG_CONTRACTS: CliFlagContract[];
|
|
|
78
91
|
export declare const SEARCH_FLAG_CONTRACTS: CliFlagContract[];
|
|
79
92
|
export declare const CONTRACTS_FLAG_CONTRACTS: CliFlagContract[];
|
|
80
93
|
export declare const COMPLETION_FLAG_CONTRACTS: CliFlagContract[];
|
|
94
|
+
export declare function resolveSubcommandFlagContractsForCommand(commandName: string | undefined): CliFlagContract[];
|
|
81
95
|
export declare function toCompletionFlagString(flagContracts: CliFlagContract[], includeGlobal?: boolean): string;
|
|
82
96
|
export declare const CREATE_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
|
|
83
97
|
export declare const CREATE_COMMANDER_REPEATABLE_OPTION_CONTRACTS: CommanderOptionAliasContract[];
|
|
@@ -90,5 +104,11 @@ export declare const CONTEXT_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionA
|
|
|
90
104
|
export declare const ACTIVITY_COMMANDER_STRING_OPTION_CONTRACTS: CommanderOptionAliasContract[];
|
|
91
105
|
export declare function readFirstStringFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string | undefined;
|
|
92
106
|
export declare function readStringArrayFromCommanderOptions(options: Record<string, unknown>, contract: CommanderOptionAliasContract): string[] | undefined;
|
|
107
|
+
export interface PmActionSchemaContract {
|
|
108
|
+
required?: string[];
|
|
109
|
+
optional?: string[];
|
|
110
|
+
anyOfRequired?: Array<string[]>;
|
|
111
|
+
}
|
|
112
|
+
export declare const PM_TOOL_ACTION_PARAMETER_CONTRACTS: Readonly<Record<PmToolAction, PmActionSchemaContract>>;
|
|
93
113
|
export declare const PM_TOOL_PARAMETERS_SCHEMA: Record<string, unknown>;
|
|
94
114
|
export declare const PM_PI_TOOL_PARAMETERS_SCHEMA: Record<string, unknown>;
|