@unbrained/pm-cli 2026.8.17 → 2026.8.18
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 +2 -2
- package/AGENTS.md +4 -3
- package/CHANGELOG.md +35 -3
- package/README.md +3 -3
- package/dist/cli/error-guidance.js +7 -4
- package/dist/cli/register-list-query.js +132 -51
- package/dist/cli-bundle/bundle-manifest.json +146 -146
- package/dist/cli-bundle/chunks/chunk-5UZZAJKR.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-YM2YAMF7.js → chunk-ALDJGKAK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-HBJAS566.js → chunk-BSK2IN3C.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-DY4DMUMC.js +197 -0
- package/dist/cli-bundle/chunks/{chunk-JOKATURE.js → chunk-GNFAFIJI.js} +9 -9
- package/dist/cli-bundle/chunks/chunk-L5Q2CLPE.js +35 -0
- package/dist/cli-bundle/chunks/{chunk-TPXZIBIV.js → chunk-PVRUN5ZS.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-7IBRGCHX.js → chunk-RZQTVMRQ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-SARFF5H5.js +3 -0
- package/dist/cli-bundle/chunks/chunk-UYCLQVL2.js +13 -0
- package/dist/cli-bundle/chunks/{chunk-3UEGXBMR.js → chunk-YRGOLZA7.js} +58 -54
- package/dist/cli-bundle/chunks/register-list-query-I23LALEE.js +11 -0
- package/dist/cli-bundle/chunks/{register-mutation-4WBRPXLV.js → register-mutation-6YGU3GPH.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-SSENDH5B.js → register-operations-4HTFC6J7.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-DOSFBGKE.js → register-setup-PPPEF3SN.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-2PN4TJXH.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-ZQPGZZWQ.js → chunk-3TKWMNKF.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-5AF3ZBNB.js +155 -0
- package/dist/cli-bundle/focused-chunks/chunk-C5IW2NDA.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-SYZENPIT.js → chunk-EUEGXZ2A.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-XKAMP5OU.js → chunk-EX6MKP2X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CYFK5UPB.js → chunk-K43KKAFS.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ATEY76SX.js → chunk-M62NO7EI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SALH6B6K.js → chunk-ODOVCP45.js} +5 -5
- package/dist/cli-bundle/focused-chunks/chunk-RNDNMARJ.js +16 -0
- package/dist/cli-bundle/focused-chunks/chunk-TN4AE665.js +26 -0
- package/dist/cli-bundle/focused-chunks/chunk-TVV2DONO.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-UI6AJ5TD.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-MHPIL773.js → chunk-V5XTGLK7.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-KP2VQQVQ.js → chunk-WGHQVU6P.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-XYNBXTDQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-Z56ECT7I.js +2 -0
- package/dist/cli-bundle/main.js +7 -7
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +31 -31
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +32 -32
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +4 -4
- package/dist/core/config/nested-settings.js +8 -2
- package/dist/core/extensions/exporter-output-contract.d.ts +12 -0
- package/dist/core/extensions/exporter-output-contract.js +67 -0
- package/dist/core/extensions/extension-types.d.ts +36 -1
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/loader.js +35 -44
- package/dist/core/history/event-index.d.ts +5 -0
- package/dist/core/history/event-index.js +133 -27
- package/dist/core/sentry/helpers.js +3 -3
- package/dist/core/shared/constants.js +5 -2
- package/dist/core/store/settings-validator.d.ts +4 -0
- package/dist/core/store/settings-validator.js +3 -2
- package/dist/core/store/settings.js +8 -2
- package/dist/mcp/tool-definitions.js +12 -7
- package/dist/sdk/agent/refusal-reachability.js +4 -4
- package/dist/sdk/authoring.d.ts +1 -1
- package/dist/sdk/authoring.js +2 -2
- package/dist/sdk/cli-bootstrap.d.ts +2 -2
- package/dist/sdk/cli-bootstrap.js +4 -4
- package/dist/sdk/cli-contracts/command-aliases.d.ts +34 -2
- package/dist/sdk/cli-contracts/command-aliases.js +64 -13
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +4 -0
- package/dist/sdk/cli-contracts/enum-contracts.js +9 -2
- package/dist/sdk/cli-contracts/flag-contracts.js +11 -7
- package/dist/sdk/cli-contracts/grammar-contracts.d.ts +70 -0
- package/dist/sdk/cli-contracts/grammar-contracts.js +345 -0
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +19 -2
- package/dist/sdk/cli-contracts/runtime-contracts.js +61 -14
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +7 -2
- package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
- package/dist/sdk/cli-contracts/tool-schema.js +20 -11
- package/dist/sdk/cli-contracts.d.ts +2 -2
- package/dist/sdk/cli-contracts.js +4 -4
- package/dist/sdk/completion.js +13 -15
- package/dist/sdk/compose.d.ts +3 -3
- package/dist/sdk/compose.js +2 -2
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +3 -2
- package/dist/sdk/core.d.ts +1 -1
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/environment/host-environment-errors.js +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +54 -14
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +50 -14
- package/dist/sdk/guide-topics.js +5 -5
- package/dist/sdk/index.d.ts +4 -3
- package/dist/sdk/index.js +6 -5
- package/dist/sdk/init-agent-guidance.js +3 -3
- package/dist/sdk/mutation-events.d.ts +18 -2
- package/dist/sdk/mutation-events.js +59 -16
- package/dist/sdk/output.d.ts +44 -0
- package/dist/sdk/output.js +28 -2
- package/dist/sdk/query/complete-list.d.ts +94 -0
- package/dist/sdk/query/complete-list.js +173 -0
- package/dist/sdk/query/list.js +5 -2
- package/dist/sdk/query.d.ts +1 -0
- package/dist/sdk/query.js +3 -2
- package/dist/sdk/read-output-contracts.d.ts +2 -2
- package/dist/sdk/read-output-contracts.js +36 -9
- package/dist/sdk/runtime-extended-actions.js +10 -2
- package/dist/sdk/runtime.d.ts +8 -2
- package/dist/sdk/runtime.js +11 -8
- package/dist/types.d.ts +5 -0
- package/dist/types.js +2 -2
- package/docs/AGENT_GUIDE.md +25 -9
- package/docs/CLI_GRAMMAR.md +106 -0
- package/docs/COMMANDS.md +23 -23
- package/docs/ONBOARDING.md +4 -4
- package/docs/QUICKSTART.md +1 -1
- package/docs/README.md +2 -0
- package/docs/RELEASING.md +30 -6
- package/docs/SDK.md +36 -2
- package/docs/SDK_ARTIFACT_OUTPUT.md +72 -0
- package/docs/SDK_CONTEXT_COORDINATION.md +46 -12
- package/docs/agent-task-token-baseline.json +5 -5
- package/marketplace.json +2 -2
- package/package.json +3 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/sdk/public-surface.json +652 -31
- package/dist/cli-bundle/chunks/chunk-2QLOXC3V.js +0 -3
- package/dist/cli-bundle/chunks/chunk-4JPYF536.js +0 -35
- package/dist/cli-bundle/chunks/chunk-6VDLG2FC.js +0 -13
- package/dist/cli-bundle/chunks/chunk-ION3E43Q.js +0 -197
- package/dist/cli-bundle/chunks/chunk-OAC5NIV4.js +0 -3
- package/dist/cli-bundle/chunks/register-list-query-Q7KII4G5.js +0 -10
- package/dist/cli-bundle/focused-chunks/chunk-267MUUS6.js +0 -16
- package/dist/cli-bundle/focused-chunks/chunk-2NNFLLNG.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2QSAKMIH.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-BUCG4ZI2.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-EHXIKD6K.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-KGEXTMPG.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-POEEAD2V.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-XPIC53VA.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-ZT2DJS27.js +0 -155
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* generated public error-code catalog.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
9
|
-
import
|
|
8
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7b488d32-9f92-5a80-965e-e2555cd49315")}catch(e){}}();
|
|
9
|
+
import * as nodeModule from "node:module";
|
|
10
10
|
/** Recovery-reference kinds emitted by structured refusal envelopes. */
|
|
11
11
|
export const PM_RECOVERY_REFERENCE_KINDS = [
|
|
12
12
|
"suggested_retry",
|
|
@@ -237,7 +237,7 @@ function isPatternLikeObjectClosure(tokens, index) {
|
|
|
237
237
|
}
|
|
238
238
|
/** Parse static object-literal members without treating patterns or labels as producers. */
|
|
239
239
|
function scanSourcePropertyTokens(source) {
|
|
240
|
-
const tokens = tokenizeExecutableSource(stripTypeScriptTypes(source, { mode: "strip" }));
|
|
240
|
+
const tokens = tokenizeExecutableSource(nodeModule.stripTypeScriptTypes(source, { mode: "strip" }));
|
|
241
241
|
const properties = [];
|
|
242
242
|
const stack = [];
|
|
243
243
|
for (const [index, token] of tokens.entries()) {
|
|
@@ -567,4 +567,4 @@ export function verifyPmRecoveryReferences(obligations, observations) {
|
|
|
567
567
|
};
|
|
568
568
|
}
|
|
569
569
|
//# sourceMappingURL=refusal-reachability.js.map
|
|
570
|
-
//# debugId=
|
|
570
|
+
//# debugId=7b488d32-9f92-5a80-965e-e2555cd49315
|
package/dist/sdk/authoring.d.ts
CHANGED
|
@@ -15,4 +15,4 @@ export { planProfileApplication, type ProfileApplicationPlan, type ProfileChange
|
|
|
15
15
|
export { EXTENSION_CAPABILITY_REGISTRATION_SURFACES, collectUsedExtensionCapabilities, reconcileExtensionCapabilityUsage, type CollectUsedExtensionCapabilitiesOptions, type ExtensionCapabilityUsageReconciliation, } from "../core/extensions/capability-usage.js";
|
|
16
16
|
export { renderExtensionSurfaceMarkdown, type ExtensionSurfaceMarkdownOptions, } from "../core/extensions/activation-summary-markdown.js";
|
|
17
17
|
export { createExtensionContributionInventory, normalizeExtensionContributionInventory, } from "../core/extensions/contribution-inventory.js";
|
|
18
|
-
export type { AfterCommandAffectedItem, AfterCommandHook, AfterCommandHookContext, BeforeCommandHook, BeforeCommandHookContext, BeforeMutationHook, BeforeMutationHookContext, BeforeMutationHookDecision, CommandDefinition, ExtensionCommandArgumentDefinition, CommandHandler, CommandHandlerContext, CommandHandlerResult, ExtensionCommandSdk, CommandOverride, CommandOverrideContext, ExtensionServiceName, Exporter, ExtensionActivationResult, ExtensionApi, ExtensionCommandRegistry, ExtensionDeactivationFailure, ExtensionDeactivationOptions, ExtensionDeactivationResult, ExtensionDiagnostic, ExtensionContributionInventory, ExtensionDiscoveryResult, ExtensionHookRegistry, ExtensionSelfIdentity, ExtensionLoadResult, ExtensionManifest, ExtensionManifestEngines, ExtensionMutationGuardSdk, ExtensionGovernancePolicy, ExtensionPolicyOverride, ExtensionProvenanceMetadata, ExtensionRuntimePermissionDeclaration, ExtensionSearchMode, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, ExtensionServiceRegistry, FlagValueType, FlagDefinition, ImportExportContext, ImportExportRegistrationOptions, Importer, OnIndexHook, OnIndexHookContext, OnReadHook, OnReadHookContext, OnWriteHook, OnWriteHookContext, OutputRendererFormat, ParserOverride, ParserOverrideContext, ParserOverrideDelta, PreflightOverride, PreflightOverrideContext, PreflightOverrideDelta, PreflightRuntimeDecision, RegisteredExtensionExporter, RegisteredExtensionFlagDefinitions, RegisteredExtensionHook, RegisteredExtensionImporter, RegisteredExtensionProjectProfile, RegisteredExtensionSchemaMigrationDefinition, RegisteredExtensionSearchProvider, RegisteredExtensionServiceOverride, RegisteredExtensionVectorStoreAdapter, RendererOverride, RendererOverrideContext, SchemaFieldDefinition, SchemaItemTypeCommandOptionPolicyDefinition, SchemaItemTypeOptionDefinition, SchemaItemTypeDefinition, SchemaMigrationDefinition, SchemaMigrationRunContext, SchemaMigrationRunner, SearchProviderEmbedBatchContext, SearchProviderEmbedContext, SearchProviderDefinition, SearchProviderHit, SearchProviderQueryContext, SearchProviderQueryResult, ServiceOverride, ServiceOverrideContext, ServiceOverrideDecision, VectorStoreAdapterDefinition, VectorStoreDeleteContext, VectorStoreQueryContext, VectorStoreQueryHit, VectorStoreUpsertContext, VectorStoreUpsertPoint, } from "../core/extensions/loader.js";
|
|
18
|
+
export type { AfterCommandAffectedItem, AfterCommandHook, AfterCommandHookContext, BeforeCommandHook, BeforeCommandHookContext, BeforeMutationHook, BeforeMutationHookContext, BeforeMutationHookDecision, CommandDefinition, ExtensionCommandArgumentDefinition, CommandHandler, CommandHandlerContext, CommandHandlerResult, ExtensionCommandSdk, CommandOverride, CommandOverrideContext, ExtensionServiceName, Exporter, ExporterArtifactOutputContract, ExporterRegistrationOptions, ExtensionActivationResult, ExtensionApi, ExtensionCommandRegistry, ExtensionDeactivationFailure, ExtensionDeactivationOptions, ExtensionDeactivationResult, ExtensionDiagnostic, ExtensionContributionInventory, ExtensionDiscoveryResult, ExtensionHookRegistry, ExtensionSelfIdentity, ExtensionLoadResult, ExtensionManifest, ExtensionManifestEngines, ExtensionMutationGuardSdk, ExtensionGovernancePolicy, ExtensionPolicyOverride, ExtensionProvenanceMetadata, ExtensionRuntimePermissionDeclaration, ExtensionSearchMode, ExtensionParserRegistry, ExtensionPreflightRegistry, ExtensionRegistrationRegistry, ExtensionRendererRegistry, ExtensionServiceRegistry, FlagValueType, FlagDefinition, ImportExportContext, ImportExportRegistrationOptions, Importer, OnIndexHook, OnIndexHookContext, OnReadHook, OnReadHookContext, OnWriteHook, OnWriteHookContext, OutputRendererFormat, ParserOverride, ParserOverrideContext, ParserOverrideDelta, PreflightOverride, PreflightOverrideContext, PreflightOverrideDelta, PreflightRuntimeDecision, RegisteredExtensionExporter, RegisteredExporterArtifactOutputContract, RegisteredExtensionFlagDefinitions, RegisteredExtensionHook, RegisteredExtensionImporter, RegisteredExtensionProjectProfile, RegisteredExtensionSchemaMigrationDefinition, RegisteredExtensionSearchProvider, RegisteredExtensionServiceOverride, RegisteredExtensionVectorStoreAdapter, RendererOverride, RendererOverrideContext, SchemaFieldDefinition, SchemaItemTypeCommandOptionPolicyDefinition, SchemaItemTypeOptionDefinition, SchemaItemTypeDefinition, SchemaMigrationDefinition, SchemaMigrationRunContext, SchemaMigrationRunner, SearchProviderEmbedBatchContext, SearchProviderEmbedContext, SearchProviderDefinition, SearchProviderHit, SearchProviderQueryContext, SearchProviderQueryResult, ServiceOverride, ServiceOverrideContext, ServiceOverrideDecision, VectorStoreAdapterDefinition, VectorStoreDeleteContext, VectorStoreQueryContext, VectorStoreQueryHit, VectorStoreUpsertContext, VectorStoreUpsertPoint, } from "../core/extensions/loader.js";
|
package/dist/sdk/authoring.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides the focused extension and package authoring surface.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6260572c-1496-58ef-9377-0825f4183bc6")}catch(e){}}();
|
|
8
8
|
export * from "./compose.js";
|
|
9
9
|
export * from "./define.js";
|
|
10
10
|
export * from "./extension-contracts.js";
|
|
@@ -18,4 +18,4 @@ export { EXTENSION_CAPABILITY_REGISTRATION_SURFACES, collectUsedExtensionCapabil
|
|
|
18
18
|
export { renderExtensionSurfaceMarkdown, } from "../core/extensions/activation-summary-markdown.js";
|
|
19
19
|
export { createExtensionContributionInventory, normalizeExtensionContributionInventory, } from "../core/extensions/contribution-inventory.js";
|
|
20
20
|
//# sourceMappingURL=authoring.js.map
|
|
21
|
-
//# debugId=
|
|
21
|
+
//# debugId=6260572c-1496-58ef-9377-0825f4183bc6
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides public bootstrap argument normalization for embedded CLI hosts.
|
|
5
5
|
*/
|
|
6
|
-
import { EXECUTABLE_COMMAND_ALIASES, type CliFlagContract } from "./cli-contracts.js";
|
|
7
|
-
export { EXECUTABLE_COMMAND_ALIASES };
|
|
6
|
+
import { EXECUTABLE_COMMAND_ALIASES, PM_COMMAND_ALIAS_CONTRACTS, renderPmCommandAliasMigrationHint, resolvePmCommandAlias, type CliFlagContract, type PmCommandAliasContract, type PmCommandAliasLifecycle, type PmCommandAliasRegistration } from "./cli-contracts.js";
|
|
7
|
+
export { EXECUTABLE_COMMAND_ALIASES, PM_COMMAND_ALIAS_CONTRACTS, renderPmCommandAliasMigrationHint, resolvePmCommandAlias, type PmCommandAliasContract, type PmCommandAliasLifecycle, type PmCommandAliasRegistration, };
|
|
8
8
|
/** Documents the bootstrap global options payload exchanged by command, SDK, and package integrations. */
|
|
9
9
|
export interface BootstrapGlobalOptions {
|
|
10
10
|
/** Filesystem path used for path resolution. */
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Provides public bootstrap argument normalization for embedded CLI hosts.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
8
|
-
import { EXECUTABLE_COMMAND_ALIASES, resolveSubcommandFlagContractsForCommand, } from "./cli-contracts.js";
|
|
9
|
-
export { EXECUTABLE_COMMAND_ALIASES };
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d45455ca-9496-5b8c-906c-d33d3d890e68")}catch(e){}}();
|
|
8
|
+
import { EXECUTABLE_COMMAND_ALIASES, PM_COMMAND_ALIAS_CONTRACTS, renderPmCommandAliasMigrationHint, resolvePmCommandAlias, resolveSubcommandFlagContractsForCommand, } from "./cli-contracts.js";
|
|
9
|
+
export { EXECUTABLE_COMMAND_ALIASES, PM_COMMAND_ALIAS_CONTRACTS, renderPmCommandAliasMigrationHint, resolvePmCommandAlias, };
|
|
10
10
|
import { levenshteinDistanceWithinLimit } from "../core/shared/levenshtein.js";
|
|
11
11
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
12
12
|
import { PmCliError } from "../core/shared/errors.js";
|
|
@@ -895,4 +895,4 @@ export const _testOnly = {
|
|
|
895
895
|
resolveCanonicalFlag,
|
|
896
896
|
};
|
|
897
897
|
//# sourceMappingURL=cli-bootstrap.js.map
|
|
898
|
-
//# debugId=
|
|
898
|
+
//# debugId=d45455ca-9496-5b8c-906c-d33d3d890e68
|
|
@@ -1,7 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module sdk/cli-contracts/command-aliases
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Declares command aliases once so CLI registration, bootstrap parsing,
|
|
5
|
+
* contracts, completions, and package authors can share one compatibility
|
|
6
|
+
* policy instead of maintaining parallel spelling lists.
|
|
5
7
|
*/
|
|
6
|
-
/**
|
|
8
|
+
/** Lifecycle policy applied to a command alias. */
|
|
9
|
+
export type PmCommandAliasLifecycle = "permanent" | "deprecated";
|
|
10
|
+
/** Registration mechanism used to preserve an alias invocation. */
|
|
11
|
+
export type PmCommandAliasRegistration = "bootstrap" | "commander";
|
|
12
|
+
/** Machine-readable compatibility contract for one executable command alias. */
|
|
13
|
+
export interface PmCommandAliasContract {
|
|
14
|
+
/** Legacy or ergonomic spelling accepted at the command root. */
|
|
15
|
+
alias: string;
|
|
16
|
+
/** Canonical command path agents should discover and generate. */
|
|
17
|
+
canonical: string;
|
|
18
|
+
/** Canonical tokens inserted before user-provided options and arguments. */
|
|
19
|
+
canonical_argv: readonly string[];
|
|
20
|
+
/** Whether the alias is permanent ergonomics or migration-only compatibility. */
|
|
21
|
+
lifecycle: PmCommandAliasLifecycle;
|
|
22
|
+
/** Whether default help and completion discovery omit the alias. */
|
|
23
|
+
hidden: boolean;
|
|
24
|
+
/** Runtime layer that keeps the alias executable. */
|
|
25
|
+
registration: PmCommandAliasRegistration;
|
|
26
|
+
/** PM item that owns the compatibility disposition. */
|
|
27
|
+
owner: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Public command-alias table. Deprecated aliases must remain executable but
|
|
31
|
+
* are intentionally absent from default help and completion discovery.
|
|
32
|
+
*/
|
|
33
|
+
export declare const PM_COMMAND_ALIAS_CONTRACTS: readonly PmCommandAliasContract[];
|
|
34
|
+
/** High-frequency executable aliases whose targets accept identical arguments. */
|
|
7
35
|
export declare const EXECUTABLE_COMMAND_ALIASES: Readonly<Record<string, string>>;
|
|
36
|
+
/** Resolve one declared command alias without inferring from its spelling. */
|
|
37
|
+
export declare function resolvePmCommandAlias(alias: string): PmCommandAliasContract | undefined;
|
|
38
|
+
/** Render the stable one-line migration hint emitted for deprecated aliases. */
|
|
39
|
+
export declare function renderPmCommandAliasMigrationHint(contract: PmCommandAliasContract): string;
|
|
@@ -1,19 +1,70 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module sdk/cli-contracts/command-aliases
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Declares command aliases once so CLI registration, bootstrap parsing,
|
|
5
|
+
* contracts, completions, and package authors can share one compatibility
|
|
6
|
+
* policy instead of maintaining parallel spelling lists.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Public command-alias table. Deprecated aliases must remain executable but
|
|
10
|
+
* are intentionally absent from default help and completion discovery.
|
|
5
11
|
*/
|
|
6
|
-
/** High-frequency executable aliases whose targets accept the same positional and flag contracts. */
|
|
7
12
|
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
9
|
-
export const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="cde15ba9-270e-5e05-baba-7dafbe1bd5da")}catch(e){}}();
|
|
14
|
+
export const PM_COMMAND_ALIAS_CONTRACTS = [
|
|
15
|
+
...[
|
|
16
|
+
["fetch", "get"],
|
|
17
|
+
["read", "get"],
|
|
18
|
+
["show", "get"],
|
|
19
|
+
["view", "get"],
|
|
20
|
+
["comment", "comments"],
|
|
21
|
+
["note", "notes"],
|
|
22
|
+
["learning", "learnings"],
|
|
23
|
+
].map(([alias, canonical]) => ({
|
|
24
|
+
alias,
|
|
25
|
+
canonical,
|
|
26
|
+
canonical_argv: [canonical],
|
|
27
|
+
lifecycle: "permanent",
|
|
28
|
+
hidden: false,
|
|
29
|
+
registration: "bootstrap",
|
|
30
|
+
owner: "pm-pbyu",
|
|
31
|
+
})),
|
|
32
|
+
{
|
|
33
|
+
alias: "list-all",
|
|
34
|
+
canonical: "list",
|
|
35
|
+
canonical_argv: ["list", "--all"],
|
|
36
|
+
lifecycle: "deprecated",
|
|
37
|
+
hidden: true,
|
|
38
|
+
registration: "commander",
|
|
39
|
+
owner: "pm-pfqi",
|
|
40
|
+
},
|
|
41
|
+
...[
|
|
42
|
+
["list-draft", "draft"],
|
|
43
|
+
["list-open", "open"],
|
|
44
|
+
["list-in-progress", "in_progress"],
|
|
45
|
+
["list-blocked", "blocked"],
|
|
46
|
+
["list-closed", "closed"],
|
|
47
|
+
["list-canceled", "canceled"],
|
|
48
|
+
].map(([alias, status]) => ({
|
|
49
|
+
alias,
|
|
50
|
+
canonical: "list",
|
|
51
|
+
canonical_argv: ["list", "--status", status],
|
|
52
|
+
lifecycle: "deprecated",
|
|
53
|
+
hidden: true,
|
|
54
|
+
registration: "commander",
|
|
55
|
+
owner: "pm-pfqi",
|
|
56
|
+
})),
|
|
57
|
+
];
|
|
58
|
+
/** High-frequency executable aliases whose targets accept identical arguments. */
|
|
59
|
+
export const EXECUTABLE_COMMAND_ALIASES = Object.fromEntries(PM_COMMAND_ALIAS_CONTRACTS.filter((contract) => contract.registration === "bootstrap").map((contract) => [contract.alias, contract.canonical]));
|
|
60
|
+
/** Resolve one declared command alias without inferring from its spelling. */
|
|
61
|
+
export function resolvePmCommandAlias(alias) {
|
|
62
|
+
const normalized = alias.trim().toLowerCase();
|
|
63
|
+
return PM_COMMAND_ALIAS_CONTRACTS.find((contract) => contract.alias === normalized);
|
|
64
|
+
}
|
|
65
|
+
/** Render the stable one-line migration hint emitted for deprecated aliases. */
|
|
66
|
+
export function renderPmCommandAliasMigrationHint(contract) {
|
|
67
|
+
return `Deprecated command \`${contract.alias}\`; use \`pm ${contract.canonical_argv.join(" ")}\`.`;
|
|
68
|
+
}
|
|
18
69
|
//# sourceMappingURL=command-aliases.js.map
|
|
19
|
-
//# debugId=
|
|
70
|
+
//# debugId=cde15ba9-270e-5e05-baba-7dafbe1bd5da
|
|
@@ -46,6 +46,10 @@ export type PmToolAction = Exclude<PmCoreCommandName, PmCliOnlyToolAction> | PmE
|
|
|
46
46
|
* package verbs are flattened for transports that expose one action string.
|
|
47
47
|
*/
|
|
48
48
|
export declare const PM_TOOL_ACTIONS: readonly PmToolAction[];
|
|
49
|
+
/** Deprecated compatibility actions accepted by the SDK but omitted from canonical MCP discovery. */
|
|
50
|
+
export declare const PM_DEPRECATED_TOOL_ACTIONS: readonly PmToolAction[];
|
|
51
|
+
/** Canonical actions presented to MCP clients and unscoped contract consumers. */
|
|
52
|
+
export declare const PM_DISCOVERABLE_TOOL_ACTIONS: readonly PmToolAction[];
|
|
49
53
|
/** Static CLI-to-tool action parity evidence used by quality gates and tests. */
|
|
50
54
|
export declare function analyzePmToolActionParity(cliCommands?: readonly string[], toolActions?: readonly string[], waivers?: Readonly<Record<string, string>>): {
|
|
51
55
|
missing_cli_actions: string[];
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Defines SDK command-contract metadata for Enum Contracts.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d05ce92b-bee8-5cce-afc2-8c7901306a30")}catch(e){}}();
|
|
8
8
|
import { KNOWN_EXTENSION_CAPABILITIES, KNOWN_EXTENSION_POLICY_MODES, KNOWN_EXTENSION_POLICY_SURFACES, KNOWN_EXTENSION_SANDBOX_PROFILES, KNOWN_EXTENSION_SERVICE_NAMES, KNOWN_EXTENSION_TRUST_MODES, } from "../../core/extensions/extension-types.js";
|
|
9
|
+
import { PM_COMMAND_ALIAS_CONTRACTS } from "./command-aliases.js";
|
|
9
10
|
/** Public contract for pm extension capability contracts, shared by SDK and presentation-layer consumers. */
|
|
10
11
|
export const PM_EXTENSION_CAPABILITY_CONTRACTS = [
|
|
11
12
|
...KNOWN_EXTENSION_CAPABILITIES,
|
|
@@ -160,6 +161,12 @@ export const PM_TOOL_ACTIONS = Object.freeze(PM_CORE_COMMAND_NAMES.flatMap((comm
|
|
|
160
161
|
}
|
|
161
162
|
return [command];
|
|
162
163
|
}));
|
|
164
|
+
/** Deprecated compatibility actions accepted by the SDK but omitted from canonical MCP discovery. */
|
|
165
|
+
export const PM_DEPRECATED_TOOL_ACTIONS = Object.freeze(PM_COMMAND_ALIAS_CONTRACTS.filter((contract) => contract.lifecycle === "deprecated" &&
|
|
166
|
+
contract.registration === "commander" &&
|
|
167
|
+
PM_TOOL_ACTIONS.includes(contract.alias)).map((contract) => contract.alias));
|
|
168
|
+
/** Canonical actions presented to MCP clients and unscoped contract consumers. */
|
|
169
|
+
export const PM_DISCOVERABLE_TOOL_ACTIONS = Object.freeze(PM_TOOL_ACTIONS.filter((action) => !PM_DEPRECATED_TOOL_ACTIONS.includes(action)));
|
|
163
170
|
/** Static CLI-to-tool action parity evidence used by quality gates and tests. */
|
|
164
171
|
export function analyzePmToolActionParity(cliCommands = PM_CORE_COMMAND_NAMES, toolActions = PM_TOOL_ACTIONS, waivers = PM_CLI_ONLY_TOOL_ACTION_WAIVERS) {
|
|
165
172
|
const toolActionSet = new Set(toolActions);
|
|
@@ -191,4 +198,4 @@ export function isPmExtensionPolicySurfaceContract(value) {
|
|
|
191
198
|
return PM_EXTENSION_POLICY_SURFACE_CONTRACTS.includes(value);
|
|
192
199
|
}
|
|
193
200
|
//# sourceMappingURL=enum-contracts.js.map
|
|
194
|
-
//# debugId=
|
|
201
|
+
//# debugId=d05ce92b-bee8-5cce-afc2-8c7901306a30
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* flag surface stays single-sourced across the CLI, SDK, and MCP boundaries.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
10
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1d9df714-a6dc-5dc3-b2ff-c9325f91a443")}catch(e){}}();
|
|
11
11
|
import { normalizeUniqueStringList } from "./string-lists.js";
|
|
12
12
|
import { RESERVED_EXTENSION_HOST_FLAGS } from "../../core/extensions/reserved-host-flags.js";
|
|
13
13
|
function normalizeFlagAliasKey(flag) {
|
|
@@ -136,6 +136,7 @@ export const LIST_FILTER_FLAG_CONTRACTS = withCursorSemantics([
|
|
|
136
136
|
{ flag: "--for", value_name: "intent" },
|
|
137
137
|
{ flag: "--token-budget", aliases: ["--token_budget"] },
|
|
138
138
|
{ flag: "--status", list: true },
|
|
139
|
+
{ flag: "--all", value_type: "boolean" },
|
|
139
140
|
{ flag: "--type", list: true },
|
|
140
141
|
{ flag: "--tag", aliases: ["--tags"], list: true },
|
|
141
142
|
{ flag: "--priority", list: true },
|
|
@@ -1416,6 +1417,7 @@ export const EVENTS_FLAG_CONTRACTS = [
|
|
|
1416
1417
|
{ flag: "--author", repeatable: true },
|
|
1417
1418
|
{ flag: "--item", repeatable: true },
|
|
1418
1419
|
{ flag: "--limit", value_type: "number" },
|
|
1420
|
+
{ flag: "--cursor-mode", value_name: "batch|row" },
|
|
1419
1421
|
{ flag: "--full" },
|
|
1420
1422
|
{ flag: "--provenance" },
|
|
1421
1423
|
{ flag: "--provenance-summary" },
|
|
@@ -1636,9 +1638,7 @@ export function toUniqueFlagContracts(contracts) {
|
|
|
1636
1638
|
function withSubcommandGlobalFlags(contracts) {
|
|
1637
1639
|
return withFlagAliasMetadata(toUniqueFlagContracts([...SUBCOMMAND_GLOBAL_FLAG_CONTRACTS, ...contracts]));
|
|
1638
1640
|
}
|
|
1639
|
-
const
|
|
1640
|
-
"list",
|
|
1641
|
-
"list-all",
|
|
1641
|
+
const FIXED_STATUS_LIST_COMMAND_ALIASES = [
|
|
1642
1642
|
"list-draft",
|
|
1643
1643
|
"list-open",
|
|
1644
1644
|
"list-in-progress",
|
|
@@ -1646,6 +1646,8 @@ const LIST_COMMAND_FLAG_ALIASES = [
|
|
|
1646
1646
|
"list-closed",
|
|
1647
1647
|
"list-canceled",
|
|
1648
1648
|
];
|
|
1649
|
+
const FIXED_STATUS_LIST_FLAG_CONTRACTS = LIST_FILTER_FLAG_CONTRACTS.filter((contract) => contract.flag !== "--status" && contract.flag !== "--all");
|
|
1650
|
+
const ALL_STATUS_LIST_FLAG_CONTRACTS = LIST_FILTER_FLAG_CONTRACTS.filter((contract) => contract.flag !== "--status");
|
|
1649
1651
|
// Single-token command (plus the `list`/`cal`/`ctx`/`templates` aliases) → its
|
|
1650
1652
|
// dedicated flag-contract table. Lookups fall back to the subcommand-global set,
|
|
1651
1653
|
// so tokens absent here (`reindex`, `help`, or any unknown command) degrade to
|
|
@@ -1653,9 +1655,11 @@ const LIST_COMMAND_FLAG_ALIASES = [
|
|
|
1653
1655
|
// plain object) keeps an untrusted command token from ever resolving an inherited
|
|
1654
1656
|
// member such as `constructor` or `toString`.
|
|
1655
1657
|
const SUBCOMMAND_FLAG_CONTRACTS_BY_COMMAND = new Map([
|
|
1656
|
-
|
|
1658
|
+
["list", LIST_FILTER_FLAG_CONTRACTS],
|
|
1659
|
+
["list-all", ALL_STATUS_LIST_FLAG_CONTRACTS],
|
|
1660
|
+
...FIXED_STATUS_LIST_COMMAND_ALIASES.map((command) => [
|
|
1657
1661
|
command,
|
|
1658
|
-
|
|
1662
|
+
FIXED_STATUS_LIST_FLAG_CONTRACTS,
|
|
1659
1663
|
]),
|
|
1660
1664
|
["templates", CREATE_FLAG_CONTRACTS],
|
|
1661
1665
|
["cal", CALENDAR_FLAG_CONTRACTS],
|
|
@@ -1821,4 +1825,4 @@ export function toCompletionFlagString(flagContracts, includeGlobal = true) {
|
|
|
1821
1825
|
return normalizeUniqueStringList(all).join(" ");
|
|
1822
1826
|
}
|
|
1823
1827
|
//# sourceMappingURL=flag-contracts.js.map
|
|
1824
|
-
//# debugId=
|
|
1828
|
+
//# debugId=1d9df714-a6dc-5dc3-b2ff-c9325f91a443
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sdk/cli-contracts/grammar-contracts
|
|
3
|
+
*
|
|
4
|
+
* Declares and verifies the agent-facing noun–verb grammar. The destination
|
|
5
|
+
* census is intentionally exact: live command contracts are compared with
|
|
6
|
+
* this checked-in table in both directions so adding or removing a command
|
|
7
|
+
* cannot silently bypass the architecture decision.
|
|
8
|
+
*/
|
|
9
|
+
import type { PmCommandAliasContract } from "./command-aliases.js";
|
|
10
|
+
/** Canonical top-level domains an agent must retain to route pm operations. */
|
|
11
|
+
export declare const PM_CLI_GRAMMAR_NOUNS: readonly ["item", "list", "context", "search", "graph", "history", "workspace", "package", "ops", "plan", "contracts", "help"];
|
|
12
|
+
/** Shared verbs whose meaning transfers across domain nouns. */
|
|
13
|
+
export declare const PM_CLI_SHARED_VERBS: readonly ["activate", "add", "adopt", "adopt-all", "catalog", "compact", "complete", "create", "deactivate", "delete", "describe", "doctor", "edit", "explore", "import", "init", "inspect", "install", "list", "manage", "migrate", "mutate", "read", "redact", "reload", "remove", "repair", "restore", "run", "show", "uninstall", "verify"];
|
|
14
|
+
/** Why a current command is permitted while the grammar migration proceeds. */
|
|
15
|
+
export type PmCommandDestinationDisposition = "target_noun" | "consolidation" | "package_owned" | "keep_as_is";
|
|
16
|
+
/** Exact destination decision for one command emitted by runtime contracts. */
|
|
17
|
+
export interface PmCommandDestinationContract {
|
|
18
|
+
/** Current executable command path. */
|
|
19
|
+
command: string;
|
|
20
|
+
/** Canonical noun that owns the capability. */
|
|
21
|
+
noun: (typeof PM_CLI_GRAMMAR_NOUNS)[number];
|
|
22
|
+
/** Canonical noun-first invocation or family destination. */
|
|
23
|
+
target: string;
|
|
24
|
+
/** Why the current spelling remains in the executable surface. */
|
|
25
|
+
disposition: PmCommandDestinationDisposition;
|
|
26
|
+
/** PM item or package identifier owning the disposition. */
|
|
27
|
+
owner: string;
|
|
28
|
+
/** Reason required only for a deliberate keep-as-is exception. */
|
|
29
|
+
reason?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Checked-in exhaustive destination census for core and known package commands. */
|
|
32
|
+
export declare const PM_COMMAND_DESTINATION_CONTRACTS: readonly PmCommandDestinationContract[];
|
|
33
|
+
/** Immutable grammar policy used by contracts and the CI gate. */
|
|
34
|
+
export declare const PM_CLI_GRAMMAR_CONTRACT: {
|
|
35
|
+
readonly nouns: readonly ["item", "list", "context", "search", "graph", "history", "workspace", "package", "ops", "plan", "contracts", "help"];
|
|
36
|
+
readonly shared_verbs: readonly ["activate", "add", "adopt", "adopt-all", "catalog", "compact", "complete", "create", "deactivate", "delete", "describe", "doctor", "edit", "explore", "import", "init", "inspect", "install", "list", "manage", "migrate", "mutate", "read", "redact", "reload", "remove", "repair", "restore", "run", "show", "uninstall", "verify"];
|
|
37
|
+
readonly scope_before_verb: true;
|
|
38
|
+
readonly visible_top_level_ceiling: 69;
|
|
39
|
+
readonly ceiling_raise_requires_pm_item: true;
|
|
40
|
+
};
|
|
41
|
+
/** One self-correcting grammar-gate finding. */
|
|
42
|
+
export interface PmCliGrammarFinding {
|
|
43
|
+
/** Stable diagnostic category suitable for automated remediation. */
|
|
44
|
+
code: "alias_target_missing" | "duplicate_destination" | "missing_destination" | "stale_destination" | "unknown_noun" | "visible_surface_ceiling_exceeded";
|
|
45
|
+
/** Exact command or alias spelling that violated the contract. */
|
|
46
|
+
spelling: string;
|
|
47
|
+
/** Human-readable explanation of the violated invariant. */
|
|
48
|
+
message: string;
|
|
49
|
+
/** Closest canonical invocation or corrective policy action. */
|
|
50
|
+
nearest_target: string;
|
|
51
|
+
}
|
|
52
|
+
/** Deterministic conformance report for the live command and alias surfaces. */
|
|
53
|
+
export interface PmCliGrammarReport {
|
|
54
|
+
/** Whether every checked grammar invariant passed. */
|
|
55
|
+
ok: boolean;
|
|
56
|
+
/** Number of normalized live command paths evaluated. */
|
|
57
|
+
command_count: number;
|
|
58
|
+
/** Number of checked-in destination-census rows. */
|
|
59
|
+
destination_count: number;
|
|
60
|
+
/** Number of declared aliases omitted from default discovery. */
|
|
61
|
+
hidden_alias_count: number;
|
|
62
|
+
/** Number of distinct visible non-package single-token command paths. */
|
|
63
|
+
visible_top_level_count: number;
|
|
64
|
+
/** Maximum visible single-token command paths permitted by the ADR. */
|
|
65
|
+
visible_top_level_ceiling: number;
|
|
66
|
+
/** Self-correcting conformance diagnostics, empty when `ok` is true. */
|
|
67
|
+
findings: PmCliGrammarFinding[];
|
|
68
|
+
}
|
|
69
|
+
/** Verify exhaustive census parity, noun ownership, alias targets, and growth. */
|
|
70
|
+
export declare function verifyPmCliGrammar(commands: readonly string[], aliases?: readonly PmCommandAliasContract[]): PmCliGrammarReport;
|