@unbrained/pm-cli 2026.5.2 → 2026.5.3-6
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/AGENTS.md +8 -1
- package/CHANGELOG.md +58 -0
- package/README.md +9 -1
- package/dist/cli/bootstrap-args.d.ts +18 -0
- package/dist/cli/bootstrap-args.js +242 -0
- package/dist/cli/bootstrap-args.js.map +1 -0
- package/dist/cli/commander-usage.d.ts +17 -0
- package/dist/cli/commander-usage.js +178 -0
- package/dist/cli/commander-usage.js.map +1 -0
- package/dist/cli/commands/activity.js +1 -9
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/calendar.js +3 -29
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/comments.js +1 -9
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/config.d.ts +21 -3
- package/dist/cli/commands/config.js +118 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.d.ts +90 -1
- package/dist/cli/commands/context.js +485 -23
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.js +2 -11
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/history.js +1 -9
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/learnings.js +1 -9
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/list.js +3 -29
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +9 -6
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js +1 -9
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js +2 -7
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/search.js +4 -35
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/test-runs.js +1 -11
- package/dist/cli/commands/test-runs.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +13 -0
- package/dist/cli/error-guidance.js +43 -4
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +48 -0
- package/dist/cli/extension-command-help.js +389 -0
- package/dist/cli/extension-command-help.js.map +1 -0
- package/dist/cli/help-content.js +9 -3
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.d.ts +25 -0
- package/dist/cli/help-json-payload.js +265 -0
- package/dist/cli/help-json-payload.js.map +1 -0
- package/dist/cli/main.js +996 -4468
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migration-gates.d.ts +22 -0
- package/dist/cli/migration-gates.js +146 -0
- package/dist/cli/migration-gates.js.map +1 -0
- package/dist/cli/register-list-query.d.ts +2 -0
- package/dist/cli/register-list-query.js +317 -0
- package/dist/cli/register-list-query.js.map +1 -0
- package/dist/cli/register-mutation.d.ts +2 -0
- package/dist/cli/register-mutation.js +795 -0
- package/dist/cli/register-mutation.js.map +1 -0
- package/dist/cli/register-operations.d.ts +2 -0
- package/dist/cli/register-operations.js +610 -0
- package/dist/cli/register-operations.js.map +1 -0
- package/dist/cli/register-setup.d.ts +2 -0
- package/dist/cli/register-setup.js +334 -0
- package/dist/cli/register-setup.js.map +1 -0
- package/dist/cli/registration-helpers.d.ts +53 -0
- package/dist/cli/registration-helpers.js +669 -0
- package/dist/cli/registration-helpers.js.map +1 -0
- package/dist/cli/shared-parsers.d.ts +6 -0
- package/dist/cli/shared-parsers.js +40 -0
- package/dist/cli/shared-parsers.js.map +1 -0
- package/dist/core/search/http-client.d.ts +29 -0
- package/dist/core/search/http-client.js +64 -0
- package/dist/core/search/http-client.js.map +1 -0
- package/dist/core/search/providers.d.ts +3 -13
- package/dist/core/search/providers.js +19 -69
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/search/semantic-defaults.js +2 -7
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/search/vector-stores.d.ts +3 -13
- package/dist/core/search/vector-stores.js +17 -66
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +23 -2
- package/dist/core/sentry/helpers.js +101 -3
- package/dist/core/sentry/helpers.js.map +1 -1
- package/dist/core/sentry/instrument.d.ts +21 -0
- package/dist/core/sentry/instrument.js +34 -3
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/shared/constants.d.ts +3 -0
- package/dist/core/shared/constants.js +58 -1
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +6 -0
- package/dist/core/store/front-matter-cache.js +150 -0
- package/dist/core/store/front-matter-cache.js.map +1 -0
- package/dist/core/store/item-store.js +2 -1
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings.js +36 -0
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/observability.d.ts +24 -0
- package/dist/core/telemetry/observability.js +185 -0
- package/dist/core/telemetry/observability.js.map +1 -0
- package/dist/core/telemetry/runtime.d.ts +27 -3
- package/dist/core/telemetry/runtime.js +298 -13
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/sdk/cli-contracts.js +28 -0
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/docs/ARCHITECTURE.md +7 -1
- package/docs/COMMANDS.md +11 -1
- package/docs/RELEASING.md +56 -29
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"/","sources":["cli/commands/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { normalizeParentReferencePolicy } from \"../../core/item/parent-reference-policy.js\";\nimport { normalizeSprintReleaseFormatPolicy } from \"../../core/item/sprint-release-format.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { migrateItemFilesToFormat } from \"../../core/store/item-format-migration.js\";\nimport {\n getSettingsPath,\n resolveGlobalPmRoot,\n resolvePmRoot,\n} from \"../../core/store/paths.js\";\nimport { readSettingsWithMetadata, writeSettings } from \"../../core/store/settings.js\";\nimport type {\n GovernanceCloseValidationDefault,\n GovernanceCreateModeDefault,\n GovernanceOwnershipEnforcement,\n GovernancePreset,\n ItemFormat,\n ParentReferencePolicy,\n SprintReleaseFormatPolicy,\n ValidateMetadataProfile,\n ValidateMetadataRequiredField,\n} from \"../../types/index.js\";\n\nconst CONFIG_SCOPE_VALUES = [\"project\", \"global\"] as const;\ntype ConfigScope = (typeof CONFIG_SCOPE_VALUES)[number];\n\nconst CONFIG_KEY_VALUES = [\n \"definition-of-done\",\n \"definition_of_done\",\n \"item-format\",\n \"item_format\",\n \"history-missing-stream-policy\",\n \"history_missing_stream_policy\",\n \"sprint-release-format-policy\",\n \"sprint_release_format_policy\",\n \"parent-reference-policy\",\n \"parent_reference_policy\",\n \"metadata-validation-profile\",\n \"metadata_validation_profile\",\n \"metadata-required-fields\",\n \"metadata_required_fields\",\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n \"governance-preset\",\n \"governance_preset\",\n \"governance-ownership-enforcement\",\n \"governance_ownership_enforcement\",\n \"governance-create-mode-default\",\n \"governance_create_mode_default\",\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n \"governance-parent-reference-policy\",\n \"governance_parent_reference_policy\",\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n \"test-result-tracking\",\n \"test_result_tracking\",\n \"telemetry-tracking\",\n \"telemetry_tracking\",\n] as const;\ntype ConfigAction = \"get\" | \"set\" | \"list\" | \"export\";\ntype ConfigKey =\n | \"definition_of_done\"\n | \"item_format\"\n | \"history_missing_stream_policy\"\n | \"sprint_release_format_policy\"\n | \"parent_reference_policy\"\n | \"metadata_validation_profile\"\n | \"metadata_required_fields\"\n | \"lifecycle_stale_blocker_reason_patterns\"\n | \"lifecycle_closure_like_blocked_reason_patterns\"\n | \"lifecycle_closure_like_resolution_patterns\"\n | \"lifecycle_closure_like_actual_result_patterns\"\n | \"governance_preset\"\n | \"governance_ownership_enforcement\"\n | \"governance_create_mode_default\"\n | \"governance_close_validation_default\"\n | \"governance_parent_reference_policy\"\n | \"governance_metadata_validation_profile\"\n | \"governance_force_required_for_stale_lock\"\n | \"test_result_tracking\"\n | \"telemetry_tracking\";\ntype HistoryMissingStreamPolicy = \"auto_create\" | \"strict_error\";\ntype TestResultTrackingPolicy = \"enabled\" | \"disabled\";\ntype TelemetryTrackingPolicy = \"enabled\" | \"disabled\";\ntype GovernanceForceRequiredForStaleLockPolicy = \"enabled\" | \"disabled\";\ntype ConfigValue =\n | string[]\n | ItemFormat\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy;\n\ninterface ConfigKeyDescriptor {\n key: ConfigKey;\n aliases: string[];\n value_kind: \"string_array\" | \"enum\";\n set_flags: string[];\n summary: string;\n value: ConfigValue;\n}\n\nexport interface ConfigCommandOptions {\n criterion?: string[];\n format?: string;\n policy?: string;\n clearCriteria?: boolean;\n}\n\nexport interface ConfigResult {\n scope: ConfigScope;\n key?: ConfigKey;\n criteria?: string[];\n format?: ItemFormat;\n policy?:\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy;\n keys?: ConfigKeyDescriptor[];\n values?: Record<ConfigKey, ConfigValue>;\n count?: number;\n has_explicit_item_format?: boolean;\n migration?: {\n target_format: ItemFormat;\n scanned: number;\n migrated: string[];\n removed: string[];\n warnings: string[];\n };\n settings_path: string;\n changed: boolean;\n warnings?: string[];\n}\n\nconst CONFIG_KEY_ALIASES: Record<ConfigKey, string[]> = {\n definition_of_done: [\"definition-of-done\", \"definition_of_done\"],\n item_format: [\"item-format\", \"item_format\"],\n history_missing_stream_policy: [\"history-missing-stream-policy\", \"history_missing_stream_policy\"],\n sprint_release_format_policy: [\"sprint-release-format-policy\", \"sprint_release_format_policy\"],\n parent_reference_policy: [\"parent-reference-policy\", \"parent_reference_policy\"],\n metadata_validation_profile: [\"metadata-validation-profile\", \"metadata_validation_profile\"],\n metadata_required_fields: [\"metadata-required-fields\", \"metadata_required_fields\"],\n lifecycle_stale_blocker_reason_patterns: [\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n ],\n lifecycle_closure_like_blocked_reason_patterns: [\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n ],\n lifecycle_closure_like_resolution_patterns: [\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n ],\n lifecycle_closure_like_actual_result_patterns: [\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n ],\n governance_preset: [\"governance-preset\", \"governance_preset\"],\n governance_ownership_enforcement: [\"governance-ownership-enforcement\", \"governance_ownership_enforcement\"],\n governance_create_mode_default: [\"governance-create-mode-default\", \"governance_create_mode_default\"],\n governance_close_validation_default: [\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n ],\n governance_parent_reference_policy: [\"governance-parent-reference-policy\", \"governance_parent_reference_policy\"],\n governance_metadata_validation_profile: [\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n ],\n governance_force_required_for_stale_lock: [\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n ],\n test_result_tracking: [\"test-result-tracking\", \"test_result_tracking\"],\n telemetry_tracking: [\"telemetry-tracking\", \"telemetry_tracking\"],\n};\n\nconst CONFIG_KEY_SUMMARIES: Record<ConfigKey, string> = {\n definition_of_done: \"Definition of Done criteria list.\",\n item_format: \"Default item file format.\",\n history_missing_stream_policy: \"Missing history stream handling policy.\",\n sprint_release_format_policy: \"Sprint/release format validation policy.\",\n parent_reference_policy: \"Parent reference validation policy.\",\n metadata_validation_profile: \"Validate metadata profile policy (core|strict|custom).\",\n metadata_required_fields: \"Validate custom metadata required-fields list.\",\n lifecycle_stale_blocker_reason_patterns:\n \"Validate lifecycle stale-blocker reason substring patterns (criteria list).\",\n lifecycle_closure_like_blocked_reason_patterns:\n \"Validate lifecycle closure-like blocked_reason substring patterns (criteria list).\",\n lifecycle_closure_like_resolution_patterns:\n \"Validate lifecycle closure-like resolution substring patterns (criteria list).\",\n lifecycle_closure_like_actual_result_patterns:\n \"Validate lifecycle closure-like actual_result substring patterns (criteria list).\",\n governance_preset: \"Governance preset policy (minimal|default|strict|custom).\",\n governance_ownership_enforcement: \"Governance ownership enforcement policy (none|warn|strict).\",\n governance_create_mode_default: \"Governance default create mode (progressive|strict).\",\n governance_close_validation_default: \"Governance default close validation mode (off|warn|strict).\",\n governance_parent_reference_policy: \"Governance parent reference policy (warn|strict_error).\",\n governance_metadata_validation_profile: \"Governance metadata validation profile (core|strict|custom).\",\n governance_force_required_for_stale_lock: \"Governance stale-lock force policy (enabled|disabled).\",\n test_result_tracking: \"Item-level linked test result persistence policy.\",\n telemetry_tracking: \"Telemetry usage reporting policy.\",\n};\n\nconst LIFECYCLE_PATTERN_CONFIG_KEYS: ConfigKey[] = [\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n];\n\nfunction isCriteriaConfigKey(key: ConfigKey): boolean {\n return key === \"definition_of_done\" || key === \"metadata_required_fields\" || LIFECYCLE_PATTERN_CONFIG_KEYS.includes(key);\n}\n\nfunction normalizeScope(value: string): ConfigScope {\n if ((CONFIG_SCOPE_VALUES as readonly string[]).includes(value)) {\n return value as ConfigScope;\n }\n throw new PmCliError(\n `Invalid config scope \"${value}\". Allowed: ${CONFIG_SCOPE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeAction(value: string): ConfigAction {\n if (value === \"get\" || value === \"set\" || value === \"list\" || value === \"export\") {\n return value;\n }\n throw new PmCliError(`Invalid config action \"${value}\". Allowed: get, set, list, export`, EXIT_CODE.USAGE);\n}\n\nfunction normalizeKey(value: string): ConfigKey {\n if ((CONFIG_KEY_VALUES as readonly string[]).includes(value)) {\n if (value === \"item-format\" || value === \"item_format\") {\n return \"item_format\";\n }\n if (value === \"history-missing-stream-policy\" || value === \"history_missing_stream_policy\") {\n return \"history_missing_stream_policy\";\n }\n if (value === \"sprint-release-format-policy\" || value === \"sprint_release_format_policy\") {\n return \"sprint_release_format_policy\";\n }\n if (value === \"parent-reference-policy\" || value === \"parent_reference_policy\") {\n return \"parent_reference_policy\";\n }\n if (value === \"metadata-validation-profile\" || value === \"metadata_validation_profile\") {\n return \"metadata_validation_profile\";\n }\n if (value === \"metadata-required-fields\" || value === \"metadata_required_fields\") {\n return \"metadata_required_fields\";\n }\n if (\n value === \"lifecycle-stale-blocker-reason-patterns\" ||\n value === \"lifecycle_stale_blocker_reason_patterns\"\n ) {\n return \"lifecycle_stale_blocker_reason_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-blocked-reason-patterns\" ||\n value === \"lifecycle_closure_like_blocked_reason_patterns\"\n ) {\n return \"lifecycle_closure_like_blocked_reason_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-resolution-patterns\" ||\n value === \"lifecycle_closure_like_resolution_patterns\"\n ) {\n return \"lifecycle_closure_like_resolution_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-actual-result-patterns\" ||\n value === \"lifecycle_closure_like_actual_result_patterns\"\n ) {\n return \"lifecycle_closure_like_actual_result_patterns\";\n }\n if (value === \"governance-preset\" || value === \"governance_preset\") {\n return \"governance_preset\";\n }\n if (value === \"governance-ownership-enforcement\" || value === \"governance_ownership_enforcement\") {\n return \"governance_ownership_enforcement\";\n }\n if (value === \"governance-create-mode-default\" || value === \"governance_create_mode_default\") {\n return \"governance_create_mode_default\";\n }\n if (value === \"governance-close-validation-default\" || value === \"governance_close_validation_default\") {\n return \"governance_close_validation_default\";\n }\n if (value === \"governance-parent-reference-policy\" || value === \"governance_parent_reference_policy\") {\n return \"governance_parent_reference_policy\";\n }\n if (\n value === \"governance-metadata-validation-profile\" ||\n value === \"governance_metadata_validation_profile\"\n ) {\n return \"governance_metadata_validation_profile\";\n }\n if (\n value === \"governance-force-required-for-stale-lock\" ||\n value === \"governance_force_required_for_stale_lock\"\n ) {\n return \"governance_force_required_for_stale_lock\";\n }\n if (value === \"test-result-tracking\" || value === \"test_result_tracking\") {\n return \"test_result_tracking\";\n }\n if (value === \"telemetry-tracking\" || value === \"telemetry_tracking\") {\n return \"telemetry_tracking\";\n }\n return \"definition_of_done\";\n }\n throw new PmCliError(\n `Invalid config key \"${value}\". Supported: ${CONFIG_KEY_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeCriteria(values: string[] | undefined, clearCriteria: boolean | undefined): string[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set definition-of-done cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set definition-of-done requires at least one non-empty --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeItemFormat(value: string | undefined): ItemFormat {\n const normalized = value?.trim().toLowerCase();\n if (normalized === \"toon\" || normalized === \"json_markdown\") {\n return normalized;\n }\n throw new PmCliError('Config set item-format requires --format with one of: toon, json_markdown', EXIT_CODE.USAGE);\n}\n\nfunction normalizeHistoryMissingStreamPolicy(value: string | undefined): HistoryMissingStreamPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"auto_create\" || normalized === \"strict_error\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set history-missing-stream-policy requires --policy with one of: auto_create, strict_error\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTestResultTrackingPolicy(value: string | undefined): TestResultTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set test-result-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTelemetryTrackingPolicy(value: string | undefined): TelemetryTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set telemetry-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeValidateMetadataProfile(value: string | undefined): ValidateMetadataProfile {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"core\" || normalized === \"strict\" || normalized === \"custom\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set metadata-validation-profile requires --policy with one of: core, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernancePreset(value: string | undefined): GovernancePreset {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\" || normalized === \"custom\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-preset requires --policy with one of: minimal, default, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceOwnershipEnforcement(value: string | undefined): GovernanceOwnershipEnforcement {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"none\" || normalized === \"warn\" || normalized === \"strict\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-ownership-enforcement requires --policy with one of: none, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCreateModeDefault(value: string | undefined): GovernanceCreateModeDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"progressive\" || normalized === \"strict\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-create-mode-default requires --policy with one of: progressive, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCloseValidationDefault(value: string | undefined): GovernanceCloseValidationDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"off\" || normalized === \"warn\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"none\" || normalized === \"disabled\") {\n return \"off\";\n }\n throw new PmCliError(\n \"Config set governance-close-validation-default requires --policy with one of: off, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceForceRequiredForStaleLockPolicy(\n value: string | undefined,\n): GovernanceForceRequiredForStaleLockPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-force-required-for-stale-lock requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nconst METADATA_REQUIRED_FIELD_ALIAS_MAP: Record<string, ValidateMetadataRequiredField> = {\n author: \"author\",\n acceptance_criteria: \"acceptance_criteria\",\n \"acceptance-criteria\": \"acceptance_criteria\",\n estimated_minutes: \"estimated_minutes\",\n \"estimated-minutes\": \"estimated_minutes\",\n estimate: \"estimated_minutes\",\n close_reason: \"close_reason\",\n \"close-reason\": \"close_reason\",\n reviewer: \"reviewer\",\n risk: \"risk\",\n confidence: \"confidence\",\n sprint: \"sprint\",\n release: \"release\",\n};\nconst METADATA_REQUIRED_FIELD_OPTIONS = [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n] as const;\n\nfunction normalizeMetadataRequiredFields(\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): ValidateMetadataRequiredField[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))];\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields requires at least one --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n const lowered = normalized.map((value) => value.toLowerCase().replaceAll(\"-\", \"_\"));\n const unsupported = lowered.filter((value) => METADATA_REQUIRED_FIELD_ALIAS_MAP[value] === undefined);\n if (unsupported.length > 0) {\n throw new PmCliError(\n `Config set metadata-required-fields received unsupported values: ${unsupported.join(\", \")}. ` +\n `Supported values: ${METADATA_REQUIRED_FIELD_OPTIONS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return [...new Set(lowered.map((value) => METADATA_REQUIRED_FIELD_ALIAS_MAP[value] as ValidateMetadataRequiredField))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nfunction normalizeLifecyclePatternCriteria(\n key: ConfigKey,\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): string[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} cannot combine --clear-criteria with --criterion values`,\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} requires at least one --criterion value (or --clear-criteria to clear)`,\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeWarnings(values: string[]): string[] {\n return [...new Set(values)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeKeyForAction(action: ConfigAction, value: string | undefined): ConfigKey | undefined {\n if (action === \"list\" || action === \"export\") {\n if (typeof value === \"string\" && value.trim().length > 0) {\n throw new PmCliError(`Config action \"${action}\" does not accept <key>`, EXIT_CODE.USAGE);\n }\n return undefined;\n }\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new PmCliError(`Config action \"${action}\" requires <key>`, EXIT_CODE.USAGE);\n }\n return normalizeKey(value);\n}\n\nfunction readConfigValue(settings: {\n workflow: { definition_of_done: string[] };\n item_format: ItemFormat;\n history: { missing_stream: HistoryMissingStreamPolicy };\n validation: {\n sprint_release_format: SprintReleaseFormatPolicy;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n metadata_required_fields: ValidateMetadataRequiredField[];\n lifecycle_stale_blocker_reason_patterns: string[];\n lifecycle_closure_like_blocked_reason_patterns: string[];\n lifecycle_closure_like_resolution_patterns: string[];\n lifecycle_closure_like_actual_result_patterns: string[];\n };\n governance: {\n preset: GovernancePreset;\n ownership_enforcement: GovernanceOwnershipEnforcement;\n create_mode_default: GovernanceCreateModeDefault;\n close_validation_default: GovernanceCloseValidationDefault;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n force_required_for_stale_lock: boolean;\n };\n testing: { record_results_to_items: boolean };\n telemetry: { enabled: boolean };\n}, key: ConfigKey): ConfigValue {\n if (key === \"item_format\") {\n return settings.item_format;\n }\n if (key === \"history_missing_stream_policy\") {\n return settings.history.missing_stream;\n }\n if (key === \"sprint_release_format_policy\") {\n return settings.validation.sprint_release_format;\n }\n if (key === \"parent_reference_policy\") {\n return settings.validation.parent_reference;\n }\n if (key === \"metadata_validation_profile\") {\n return settings.validation.metadata_profile;\n }\n if (key === \"metadata_required_fields\") {\n return [...settings.validation.metadata_required_fields];\n }\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n return [...settings.validation.lifecycle_stale_blocker_reason_patterns];\n }\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n return [...settings.validation.lifecycle_closure_like_blocked_reason_patterns];\n }\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n return [...settings.validation.lifecycle_closure_like_resolution_patterns];\n }\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n return [...settings.validation.lifecycle_closure_like_actual_result_patterns];\n }\n if (key === \"governance_preset\") {\n return settings.governance.preset;\n }\n if (key === \"governance_ownership_enforcement\") {\n return settings.governance.ownership_enforcement;\n }\n if (key === \"governance_create_mode_default\") {\n return settings.governance.create_mode_default;\n }\n if (key === \"governance_close_validation_default\") {\n return settings.governance.close_validation_default;\n }\n if (key === \"governance_parent_reference_policy\") {\n return settings.governance.parent_reference;\n }\n if (key === \"governance_metadata_validation_profile\") {\n return settings.governance.metadata_profile;\n }\n if (key === \"governance_force_required_for_stale_lock\") {\n return settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\";\n }\n if (key === \"test_result_tracking\") {\n return settings.testing.record_results_to_items ? \"enabled\" : \"disabled\";\n }\n if (key === \"telemetry_tracking\") {\n return settings.telemetry.enabled ? \"enabled\" : \"disabled\";\n }\n return [...settings.workflow.definition_of_done];\n}\n\nfunction withWarnings(result: ConfigResult, warnings: string[]): ConfigResult {\n if (warnings.length === 0) {\n return result;\n }\n return {\n ...result,\n warnings,\n };\n}\n\nasync function resolveSettingsTarget(\n scope: ConfigScope,\n global: GlobalOptions,\n): Promise<{ pmRoot: string; settingsPath: string }> {\n const cwd = process.cwd();\n const pmRoot = scope === \"project\" ? resolvePmRoot(cwd, global.path) : resolveGlobalPmRoot(cwd);\n const settingsPath = getSettingsPath(pmRoot);\n if (scope === \"project\" && !(await pathExists(settingsPath))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n return { pmRoot, settingsPath };\n}\n\nexport async function runConfig(\n scopeValue: string,\n actionValue: string,\n keyValue: string | undefined,\n options: ConfigCommandOptions,\n global: GlobalOptions,\n): Promise<ConfigResult> {\n const scope = normalizeScope(scopeValue);\n const action = normalizeAction(actionValue);\n const key = normalizeKeyForAction(action, keyValue);\n const target = await resolveSettingsTarget(scope, global);\n const { settings, metadata, warnings: settingsReadWarnings } = await readSettingsWithMetadata(target.pmRoot);\n const warnings = normalizeWarnings(settingsReadWarnings);\n\n if (action === \"list\") {\n const keys = (Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]).map((candidate) => ({\n key: candidate,\n aliases: CONFIG_KEY_ALIASES[candidate],\n value_kind: isCriteriaConfigKey(candidate) ? (\"string_array\" as const) : (\"enum\" as const),\n set_flags:\n isCriteriaConfigKey(candidate) ? [\"--criterion\", \"--clear-criteria\"] : candidate === \"item_format\" ? [\"--format\"] : [\"--policy\"],\n summary: CONFIG_KEY_SUMMARIES[candidate],\n value: readConfigValue(settings, candidate),\n }));\n return withWarnings(\n {\n scope,\n keys,\n count: keys.length,\n settings_path: target.settingsPath,\n changed: false,\n },\n warnings,\n );\n }\n\n if (action === \"export\") {\n const values = {\n definition_of_done: readConfigValue(settings, \"definition_of_done\"),\n item_format: readConfigValue(settings, \"item_format\"),\n history_missing_stream_policy: readConfigValue(settings, \"history_missing_stream_policy\"),\n sprint_release_format_policy: readConfigValue(settings, \"sprint_release_format_policy\"),\n parent_reference_policy: readConfigValue(settings, \"parent_reference_policy\"),\n metadata_validation_profile: readConfigValue(settings, \"metadata_validation_profile\"),\n metadata_required_fields: readConfigValue(settings, \"metadata_required_fields\"),\n lifecycle_stale_blocker_reason_patterns: readConfigValue(settings, \"lifecycle_stale_blocker_reason_patterns\"),\n lifecycle_closure_like_blocked_reason_patterns: readConfigValue(\n settings,\n \"lifecycle_closure_like_blocked_reason_patterns\",\n ),\n lifecycle_closure_like_resolution_patterns: readConfigValue(settings, \"lifecycle_closure_like_resolution_patterns\"),\n lifecycle_closure_like_actual_result_patterns: readConfigValue(\n settings,\n \"lifecycle_closure_like_actual_result_patterns\",\n ),\n governance_preset: readConfigValue(settings, \"governance_preset\"),\n governance_ownership_enforcement: readConfigValue(settings, \"governance_ownership_enforcement\"),\n governance_create_mode_default: readConfigValue(settings, \"governance_create_mode_default\"),\n governance_close_validation_default: readConfigValue(settings, \"governance_close_validation_default\"),\n governance_parent_reference_policy: readConfigValue(settings, \"governance_parent_reference_policy\"),\n governance_metadata_validation_profile: readConfigValue(settings, \"governance_metadata_validation_profile\"),\n governance_force_required_for_stale_lock: readConfigValue(settings, \"governance_force_required_for_stale_lock\"),\n test_result_tracking: readConfigValue(settings, \"test_result_tracking\"),\n telemetry_tracking: readConfigValue(settings, \"telemetry_tracking\"),\n } satisfies Record<ConfigKey, ConfigValue>;\n return withWarnings(\n {\n scope,\n values,\n settings_path: target.settingsPath,\n changed: false,\n },\n warnings,\n );\n }\n\n if (action === \"get\") {\n if (!key) {\n throw new PmCliError('Config action \"get\" requires <key>', EXIT_CODE.USAGE);\n }\n if (key === \"item_format\") {\n return withWarnings({\n scope,\n key,\n format: settings.item_format,\n has_explicit_item_format: metadata.has_explicit_item_format,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"history_missing_stream_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.history.missing_stream,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"sprint_release_format_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.sprint_release_format,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"parent_reference_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.parent_reference,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"metadata_validation_profile\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.metadata_profile,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"metadata_required_fields\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.metadata_required_fields],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_stale_blocker_reason_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_blocked_reason_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_resolution_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_actual_result_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_preset\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.preset,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_ownership_enforcement\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.ownership_enforcement,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_create_mode_default\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.create_mode_default,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_close_validation_default\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.close_validation_default,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_parent_reference_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.parent_reference,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_metadata_validation_profile\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.metadata_profile,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_force_required_for_stale_lock\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"test_result_tracking\") {\n return withWarnings({\n scope,\n key,\n policy: settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"telemetry_tracking\") {\n return withWarnings({\n scope,\n key,\n policy: settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.workflow.definition_of_done],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n\n if (!key) {\n throw new PmCliError('Config action \"set\" requires <key>', EXIT_CODE.USAGE);\n }\n if (options.clearCriteria === true && !isCriteriaConfigKey(key)) {\n throw new PmCliError(\n \"--clear-criteria is only supported with config set criteria-list keys\",\n EXIT_CODE.USAGE,\n );\n }\n if (key === \"item_format\") {\n const nextFormat = normalizeItemFormat(options.format);\n const changed = settings.item_format !== nextFormat || !metadata.has_explicit_item_format;\n let migration: ConfigResult[\"migration\"] = undefined;\n settings.item_format = nextFormat;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:item_format\");\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const migrated = await migrateItemFilesToFormat(\n target.pmRoot,\n nextFormat,\n \"config:set:item_format:migrate\",\n typeRegistry.type_to_folder,\n settings.schema,\n );\n migration = {\n target_format: migrated.target_format,\n scanned: migrated.scanned,\n migrated: migrated.migrated,\n removed: migrated.removed,\n warnings: migrated.warnings,\n };\n }\n return withWarnings({\n scope,\n key,\n format: settings.item_format,\n has_explicit_item_format: true,\n migration,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"history_missing_stream_policy\") {\n const nextPolicy = normalizeHistoryMissingStreamPolicy(options.policy);\n const changed = settings.history.missing_stream !== nextPolicy;\n settings.history.missing_stream = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:history_missing_stream_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.history.missing_stream,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"sprint_release_format_policy\") {\n const nextPolicy = normalizeSprintReleaseFormatPolicy(options.policy);\n const changed = settings.validation.sprint_release_format !== nextPolicy;\n settings.validation.sprint_release_format = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:sprint_release_format_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.sprint_release_format,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n settings.validation.parent_reference !== nextPolicy ||\n settings.governance.preset !== \"custom\" ||\n settings.governance.parent_reference !== nextPolicy;\n settings.validation.parent_reference = nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.parent_reference = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:parent_reference_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.parent_reference,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"metadata_validation_profile\") {\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n settings.validation.metadata_profile !== nextPolicy ||\n settings.governance.preset !== \"custom\" ||\n settings.governance.metadata_profile !== nextPolicy;\n settings.validation.metadata_profile = nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.metadata_profile = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:metadata_validation_profile\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.metadata_profile,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"metadata_required_fields\") {\n const nextCriteria = normalizeMetadataRequiredFields(options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.metadata_required_fields.length ||\n nextCriteria.some((value, index) => value !== settings.validation.metadata_required_fields[index]);\n settings.validation.metadata_required_fields = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:metadata_required_fields\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.metadata_required_fields],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_stale_blocker_reason_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_stale_blocker_reason_patterns[index]);\n settings.validation.lifecycle_stale_blocker_reason_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_stale_blocker_reason_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_stale_blocker_reason_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_blocked_reason_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_blocked_reason_patterns[index]);\n settings.validation.lifecycle_closure_like_blocked_reason_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_blocked_reason_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_blocked_reason_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_resolution_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_resolution_patterns[index]);\n settings.validation.lifecycle_closure_like_resolution_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_resolution_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_resolution_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_actual_result_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_actual_result_patterns[index]);\n settings.validation.lifecycle_closure_like_actual_result_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_actual_result_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_actual_result_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_preset\") {\n const nextPolicy = normalizeGovernancePreset(options.policy);\n const changed = settings.governance.preset !== nextPolicy;\n settings.governance.preset = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_preset\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.preset,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_ownership_enforcement\") {\n const nextPolicy = normalizeGovernanceOwnershipEnforcement(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.ownership_enforcement !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.ownership_enforcement = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_ownership_enforcement\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.ownership_enforcement,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_create_mode_default\") {\n const nextPolicy = normalizeGovernanceCreateModeDefault(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.create_mode_default !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.create_mode_default = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_create_mode_default\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.create_mode_default,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_close_validation_default\") {\n const nextPolicy = normalizeGovernanceCloseValidationDefault(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.close_validation_default !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.close_validation_default = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_close_validation_default\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.close_validation_default,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.parent_reference !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.parent_reference = nextPolicy;\n settings.validation.parent_reference = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_parent_reference_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.parent_reference,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_metadata_validation_profile\") {\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.metadata_profile !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.metadata_profile = nextPolicy;\n settings.validation.metadata_profile = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_metadata_validation_profile\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.metadata_profile,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_force_required_for_stale_lock\") {\n const nextPolicy = normalizeGovernanceForceRequiredForStaleLockPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.force_required_for_stale_lock !== nextEnabled;\n settings.governance.preset = \"custom\";\n settings.governance.force_required_for_stale_lock = nextEnabled;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_force_required_for_stale_lock\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"test_result_tracking\") {\n const nextPolicy = normalizeTestResultTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed = settings.testing.record_results_to_items !== nextEnabled;\n settings.testing.record_results_to_items = nextEnabled;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:test_result_tracking\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"telemetry_tracking\") {\n const nextPolicy = normalizeTelemetryTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed = settings.telemetry.enabled !== nextEnabled || !settings.telemetry.first_run_prompt_completed;\n settings.telemetry.enabled = nextEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:telemetry_tracking\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n const nextCriteria = normalizeCriteria(options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.workflow.definition_of_done.length ||\n nextCriteria.some((value, index) => value !== settings.workflow.definition_of_done[index]);\n\n settings.workflow.definition_of_done = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:definition_of_done\");\n }\n\n return withWarnings({\n scope,\n key,\n criteria: [...settings.workflow.definition_of_done],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"/","sources":["cli/commands/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { pathExists } from \"../../core/fs/fs-utils.js\";\nimport { getActiveExtensionRegistrations } from \"../../core/extensions/index.js\";\nimport { normalizeParentReferencePolicy } from \"../../core/item/parent-reference-policy.js\";\nimport { normalizeSprintReleaseFormatPolicy } from \"../../core/item/sprint-release-format.js\";\nimport { resolveItemTypeRegistry } from \"../../core/item/type-registry.js\";\nimport { EXIT_CODE } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { migrateItemFilesToFormat } from \"../../core/store/item-format-migration.js\";\nimport {\n getSettingsPath,\n resolveGlobalPmRoot,\n resolvePmRoot,\n} from \"../../core/store/paths.js\";\nimport { readSettingsWithMetadata, writeSettings } from \"../../core/store/settings.js\";\nimport type {\n ContextDepth,\n GovernanceCloseValidationDefault,\n GovernanceCreateModeDefault,\n GovernanceOwnershipEnforcement,\n GovernancePreset,\n ItemFormat,\n ParentReferencePolicy,\n SprintReleaseFormatPolicy,\n ValidateMetadataProfile,\n ValidateMetadataRequiredField,\n} from \"../../types/index.js\";\nimport { CONTEXT_DEPTH_VALUES, CONTEXT_SECTION_VALUES } from \"../../types/index.js\";\n\nconst CONFIG_SCOPE_VALUES = [\"project\", \"global\"] as const;\ntype ConfigScope = (typeof CONFIG_SCOPE_VALUES)[number];\n\nconst CONFIG_KEY_VALUES = [\n \"definition-of-done\",\n \"definition_of_done\",\n \"item-format\",\n \"item_format\",\n \"history-missing-stream-policy\",\n \"history_missing_stream_policy\",\n \"sprint-release-format-policy\",\n \"sprint_release_format_policy\",\n \"parent-reference-policy\",\n \"parent_reference_policy\",\n \"metadata-validation-profile\",\n \"metadata_validation_profile\",\n \"metadata-required-fields\",\n \"metadata_required_fields\",\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n \"governance-preset\",\n \"governance_preset\",\n \"governance-ownership-enforcement\",\n \"governance_ownership_enforcement\",\n \"governance-create-mode-default\",\n \"governance_create_mode_default\",\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n \"governance-parent-reference-policy\",\n \"governance_parent_reference_policy\",\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n \"test-result-tracking\",\n \"test_result_tracking\",\n \"telemetry-tracking\",\n \"telemetry_tracking\",\n \"context\",\n] as const;\ntype ConfigAction = \"get\" | \"set\" | \"list\" | \"export\";\ntype ConfigKey =\n | \"definition_of_done\"\n | \"item_format\"\n | \"history_missing_stream_policy\"\n | \"sprint_release_format_policy\"\n | \"parent_reference_policy\"\n | \"metadata_validation_profile\"\n | \"metadata_required_fields\"\n | \"lifecycle_stale_blocker_reason_patterns\"\n | \"lifecycle_closure_like_blocked_reason_patterns\"\n | \"lifecycle_closure_like_resolution_patterns\"\n | \"lifecycle_closure_like_actual_result_patterns\"\n | \"governance_preset\"\n | \"governance_ownership_enforcement\"\n | \"governance_create_mode_default\"\n | \"governance_close_validation_default\"\n | \"governance_parent_reference_policy\"\n | \"governance_metadata_validation_profile\"\n | \"governance_force_required_for_stale_lock\"\n | \"test_result_tracking\"\n | \"telemetry_tracking\"\n | \"context\";\ntype HistoryMissingStreamPolicy = \"auto_create\" | \"strict_error\";\ntype TestResultTrackingPolicy = \"enabled\" | \"disabled\";\ntype TelemetryTrackingPolicy = \"enabled\" | \"disabled\";\ntype GovernanceForceRequiredForStaleLockPolicy = \"enabled\" | \"disabled\";\ntype ConfigValue =\n | string[]\n | ItemFormat\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy\n | ContextConfigValue;\n\ninterface ContextConfigValue {\n default_depth: string;\n activity_limit: number;\n stale_threshold_days: number;\n sections: Record<string, boolean>;\n}\n\ninterface ConfigKeyDescriptor {\n key: ConfigKey;\n aliases: string[];\n value_kind: \"string_array\" | \"enum\" | \"object\";\n set_flags: string[];\n summary: string;\n value: ConfigValue;\n}\n\nexport interface ConfigCommandOptions {\n criterion?: string[];\n format?: string;\n policy?: string;\n clearCriteria?: boolean;\n defaultDepth?: string;\n activityLimit?: string;\n staleThresholdDays?: string;\n sectionHierarchy?: string;\n sectionActivity?: string;\n sectionProgress?: string;\n sectionBlockers?: string;\n sectionFiles?: string;\n sectionWorkload?: string;\n sectionStaleness?: string;\n sectionTests?: string;\n}\n\nexport interface ConfigResult {\n scope: ConfigScope;\n key?: ConfigKey;\n criteria?: string[];\n format?: ItemFormat;\n policy?:\n | HistoryMissingStreamPolicy\n | SprintReleaseFormatPolicy\n | ParentReferencePolicy\n | ValidateMetadataProfile\n | GovernancePreset\n | GovernanceOwnershipEnforcement\n | GovernanceCreateModeDefault\n | GovernanceCloseValidationDefault\n | GovernanceForceRequiredForStaleLockPolicy\n | TestResultTrackingPolicy\n | TelemetryTrackingPolicy;\n keys?: ConfigKeyDescriptor[];\n values?: Record<ConfigKey, ConfigValue>;\n count?: number;\n context_settings?: ContextConfigValue;\n has_explicit_item_format?: boolean;\n migration?: {\n target_format: ItemFormat;\n scanned: number;\n migrated: string[];\n removed: string[];\n warnings: string[];\n };\n settings_path: string;\n changed: boolean;\n warnings?: string[];\n}\n\nconst CONFIG_KEY_ALIASES: Record<ConfigKey, string[]> = {\n definition_of_done: [\"definition-of-done\", \"definition_of_done\"],\n item_format: [\"item-format\", \"item_format\"],\n history_missing_stream_policy: [\"history-missing-stream-policy\", \"history_missing_stream_policy\"],\n sprint_release_format_policy: [\"sprint-release-format-policy\", \"sprint_release_format_policy\"],\n parent_reference_policy: [\"parent-reference-policy\", \"parent_reference_policy\"],\n metadata_validation_profile: [\"metadata-validation-profile\", \"metadata_validation_profile\"],\n metadata_required_fields: [\"metadata-required-fields\", \"metadata_required_fields\"],\n lifecycle_stale_blocker_reason_patterns: [\n \"lifecycle-stale-blocker-reason-patterns\",\n \"lifecycle_stale_blocker_reason_patterns\",\n ],\n lifecycle_closure_like_blocked_reason_patterns: [\n \"lifecycle-closure-like-blocked-reason-patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n ],\n lifecycle_closure_like_resolution_patterns: [\n \"lifecycle-closure-like-resolution-patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n ],\n lifecycle_closure_like_actual_result_patterns: [\n \"lifecycle-closure-like-actual-result-patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n ],\n governance_preset: [\"governance-preset\", \"governance_preset\"],\n governance_ownership_enforcement: [\"governance-ownership-enforcement\", \"governance_ownership_enforcement\"],\n governance_create_mode_default: [\"governance-create-mode-default\", \"governance_create_mode_default\"],\n governance_close_validation_default: [\n \"governance-close-validation-default\",\n \"governance_close_validation_default\",\n ],\n governance_parent_reference_policy: [\"governance-parent-reference-policy\", \"governance_parent_reference_policy\"],\n governance_metadata_validation_profile: [\n \"governance-metadata-validation-profile\",\n \"governance_metadata_validation_profile\",\n ],\n governance_force_required_for_stale_lock: [\n \"governance-force-required-for-stale-lock\",\n \"governance_force_required_for_stale_lock\",\n ],\n test_result_tracking: [\"test-result-tracking\", \"test_result_tracking\"],\n telemetry_tracking: [\"telemetry-tracking\", \"telemetry_tracking\"],\n context: [\"context\"],\n};\n\nconst CONFIG_KEY_SUMMARIES: Record<ConfigKey, string> = {\n definition_of_done: \"Definition of Done criteria list.\",\n item_format: \"Default item file format.\",\n history_missing_stream_policy: \"Missing history stream handling policy.\",\n sprint_release_format_policy: \"Sprint/release format validation policy.\",\n parent_reference_policy: \"Parent reference validation policy.\",\n metadata_validation_profile: \"Validate metadata profile policy (core|strict|custom).\",\n metadata_required_fields: \"Validate custom metadata required-fields list.\",\n lifecycle_stale_blocker_reason_patterns:\n \"Validate lifecycle stale-blocker reason substring patterns (criteria list).\",\n lifecycle_closure_like_blocked_reason_patterns:\n \"Validate lifecycle closure-like blocked_reason substring patterns (criteria list).\",\n lifecycle_closure_like_resolution_patterns:\n \"Validate lifecycle closure-like resolution substring patterns (criteria list).\",\n lifecycle_closure_like_actual_result_patterns:\n \"Validate lifecycle closure-like actual_result substring patterns (criteria list).\",\n governance_preset: \"Governance preset policy (minimal|default|strict|custom).\",\n governance_ownership_enforcement: \"Governance ownership enforcement policy (none|warn|strict).\",\n governance_create_mode_default: \"Governance default create mode (progressive|strict).\",\n governance_close_validation_default: \"Governance default close validation mode (off|warn|strict).\",\n governance_parent_reference_policy: \"Governance parent reference policy (warn|strict_error).\",\n governance_metadata_validation_profile: \"Governance metadata validation profile (core|strict|custom).\",\n governance_force_required_for_stale_lock: \"Governance stale-lock force policy (enabled|disabled).\",\n test_result_tracking: \"Item-level linked test result persistence policy.\",\n telemetry_tracking: \"Telemetry usage reporting policy.\",\n context: \"Context command settings (depth, section toggles, limits).\",\n};\n\nconst LIFECYCLE_PATTERN_CONFIG_KEYS: ConfigKey[] = [\n \"lifecycle_stale_blocker_reason_patterns\",\n \"lifecycle_closure_like_blocked_reason_patterns\",\n \"lifecycle_closure_like_resolution_patterns\",\n \"lifecycle_closure_like_actual_result_patterns\",\n];\n\nfunction isCriteriaConfigKey(key: ConfigKey): boolean {\n return key === \"definition_of_done\" || key === \"metadata_required_fields\" || LIFECYCLE_PATTERN_CONFIG_KEYS.includes(key);\n}\n\nfunction normalizeScope(value: string): ConfigScope {\n if ((CONFIG_SCOPE_VALUES as readonly string[]).includes(value)) {\n return value as ConfigScope;\n }\n throw new PmCliError(\n `Invalid config scope \"${value}\". Allowed: ${CONFIG_SCOPE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeAction(value: string): ConfigAction {\n if (value === \"get\" || value === \"set\" || value === \"list\" || value === \"export\") {\n return value;\n }\n throw new PmCliError(`Invalid config action \"${value}\". Allowed: get, set, list, export`, EXIT_CODE.USAGE);\n}\n\nfunction normalizeKey(value: string): ConfigKey {\n if ((CONFIG_KEY_VALUES as readonly string[]).includes(value)) {\n if (value === \"item-format\" || value === \"item_format\") {\n return \"item_format\";\n }\n if (value === \"history-missing-stream-policy\" || value === \"history_missing_stream_policy\") {\n return \"history_missing_stream_policy\";\n }\n if (value === \"sprint-release-format-policy\" || value === \"sprint_release_format_policy\") {\n return \"sprint_release_format_policy\";\n }\n if (value === \"parent-reference-policy\" || value === \"parent_reference_policy\") {\n return \"parent_reference_policy\";\n }\n if (value === \"metadata-validation-profile\" || value === \"metadata_validation_profile\") {\n return \"metadata_validation_profile\";\n }\n if (value === \"metadata-required-fields\" || value === \"metadata_required_fields\") {\n return \"metadata_required_fields\";\n }\n if (\n value === \"lifecycle-stale-blocker-reason-patterns\" ||\n value === \"lifecycle_stale_blocker_reason_patterns\"\n ) {\n return \"lifecycle_stale_blocker_reason_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-blocked-reason-patterns\" ||\n value === \"lifecycle_closure_like_blocked_reason_patterns\"\n ) {\n return \"lifecycle_closure_like_blocked_reason_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-resolution-patterns\" ||\n value === \"lifecycle_closure_like_resolution_patterns\"\n ) {\n return \"lifecycle_closure_like_resolution_patterns\";\n }\n if (\n value === \"lifecycle-closure-like-actual-result-patterns\" ||\n value === \"lifecycle_closure_like_actual_result_patterns\"\n ) {\n return \"lifecycle_closure_like_actual_result_patterns\";\n }\n if (value === \"governance-preset\" || value === \"governance_preset\") {\n return \"governance_preset\";\n }\n if (value === \"governance-ownership-enforcement\" || value === \"governance_ownership_enforcement\") {\n return \"governance_ownership_enforcement\";\n }\n if (value === \"governance-create-mode-default\" || value === \"governance_create_mode_default\") {\n return \"governance_create_mode_default\";\n }\n if (value === \"governance-close-validation-default\" || value === \"governance_close_validation_default\") {\n return \"governance_close_validation_default\";\n }\n if (value === \"governance-parent-reference-policy\" || value === \"governance_parent_reference_policy\") {\n return \"governance_parent_reference_policy\";\n }\n if (\n value === \"governance-metadata-validation-profile\" ||\n value === \"governance_metadata_validation_profile\"\n ) {\n return \"governance_metadata_validation_profile\";\n }\n if (\n value === \"governance-force-required-for-stale-lock\" ||\n value === \"governance_force_required_for_stale_lock\"\n ) {\n return \"governance_force_required_for_stale_lock\";\n }\n if (value === \"test-result-tracking\" || value === \"test_result_tracking\") {\n return \"test_result_tracking\";\n }\n if (value === \"telemetry-tracking\" || value === \"telemetry_tracking\") {\n return \"telemetry_tracking\";\n }\n if (value === \"context\") {\n return \"context\";\n }\n return \"definition_of_done\";\n }\n throw new PmCliError(\n `Invalid config key \"${value}\". Supported: ${CONFIG_KEY_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeCriteria(values: string[] | undefined, clearCriteria: boolean | undefined): string[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set definition-of-done cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set definition-of-done requires at least one non-empty --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeItemFormat(value: string | undefined): ItemFormat {\n const normalized = value?.trim().toLowerCase();\n if (normalized === \"toon\" || normalized === \"json_markdown\") {\n return normalized;\n }\n throw new PmCliError('Config set item-format requires --format with one of: toon, json_markdown', EXIT_CODE.USAGE);\n}\n\nfunction normalizeHistoryMissingStreamPolicy(value: string | undefined): HistoryMissingStreamPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"auto_create\" || normalized === \"strict_error\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set history-missing-stream-policy requires --policy with one of: auto_create, strict_error\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTestResultTrackingPolicy(value: string | undefined): TestResultTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set test-result-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeTelemetryTrackingPolicy(value: string | undefined): TelemetryTrackingPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set telemetry-tracking requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeValidateMetadataProfile(value: string | undefined): ValidateMetadataProfile {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"core\" || normalized === \"strict\" || normalized === \"custom\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set metadata-validation-profile requires --policy with one of: core, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernancePreset(value: string | undefined): GovernancePreset {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"minimal\" || normalized === \"default\" || normalized === \"strict\" || normalized === \"custom\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-preset requires --policy with one of: minimal, default, strict, custom\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceOwnershipEnforcement(value: string | undefined): GovernanceOwnershipEnforcement {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"none\" || normalized === \"warn\" || normalized === \"strict\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-ownership-enforcement requires --policy with one of: none, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCreateModeDefault(value: string | undefined): GovernanceCreateModeDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"progressive\" || normalized === \"strict\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-create-mode-default requires --policy with one of: progressive, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceCloseValidationDefault(value: string | undefined): GovernanceCloseValidationDefault {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"off\" || normalized === \"warn\" || normalized === \"strict\") {\n return normalized;\n }\n if (normalized === \"none\" || normalized === \"disabled\") {\n return \"off\";\n }\n throw new PmCliError(\n \"Config set governance-close-validation-default requires --policy with one of: off, warn, strict\",\n EXIT_CODE.USAGE,\n );\n}\n\nfunction normalizeGovernanceForceRequiredForStaleLockPolicy(\n value: string | undefined,\n): GovernanceForceRequiredForStaleLockPolicy {\n const normalized = value?.trim().toLowerCase().replaceAll(\"-\", \"_\");\n if (normalized === \"enabled\" || normalized === \"disabled\") {\n return normalized;\n }\n throw new PmCliError(\n \"Config set governance-force-required-for-stale-lock requires --policy with one of: enabled, disabled\",\n EXIT_CODE.USAGE,\n );\n}\n\nconst METADATA_REQUIRED_FIELD_ALIAS_MAP: Record<string, ValidateMetadataRequiredField> = {\n author: \"author\",\n acceptance_criteria: \"acceptance_criteria\",\n \"acceptance-criteria\": \"acceptance_criteria\",\n estimated_minutes: \"estimated_minutes\",\n \"estimated-minutes\": \"estimated_minutes\",\n estimate: \"estimated_minutes\",\n close_reason: \"close_reason\",\n \"close-reason\": \"close_reason\",\n reviewer: \"reviewer\",\n risk: \"risk\",\n confidence: \"confidence\",\n sprint: \"sprint\",\n release: \"release\",\n};\nconst METADATA_REQUIRED_FIELD_OPTIONS = [\n \"author\",\n \"acceptance_criteria\",\n \"estimated_minutes\",\n \"close_reason\",\n \"reviewer\",\n \"risk\",\n \"confidence\",\n \"sprint\",\n \"release\",\n] as const;\n\nfunction normalizeMetadataRequiredFields(\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): ValidateMetadataRequiredField[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim()).filter((value) => value.length > 0))];\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields cannot combine --clear-criteria with --criterion values\",\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n \"Config set metadata-required-fields requires at least one --criterion value (or --clear-criteria to clear)\",\n EXIT_CODE.USAGE,\n );\n }\n const lowered = normalized.map((value) => value.toLowerCase().replaceAll(\"-\", \"_\"));\n const unsupported = lowered.filter((value) => METADATA_REQUIRED_FIELD_ALIAS_MAP[value] === undefined);\n if (unsupported.length > 0) {\n throw new PmCliError(\n `Config set metadata-required-fields received unsupported values: ${unsupported.join(\", \")}. ` +\n `Supported values: ${METADATA_REQUIRED_FIELD_OPTIONS.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return [...new Set(lowered.map((value) => METADATA_REQUIRED_FIELD_ALIAS_MAP[value] as ValidateMetadataRequiredField))].sort(\n (left, right) => left.localeCompare(right),\n );\n}\n\nfunction normalizeLifecyclePatternCriteria(\n key: ConfigKey,\n values: string[] | undefined,\n clearCriteria: boolean | undefined,\n): string[] {\n const normalized = [...new Set((values ?? []).map((value) => value.trim().toLowerCase()).filter((value) => value.length > 0))].sort(\n (left, right) => left.localeCompare(right),\n );\n if (clearCriteria) {\n if (normalized.length > 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} cannot combine --clear-criteria with --criterion values`,\n EXIT_CODE.USAGE,\n );\n }\n return [];\n }\n if (normalized.length === 0) {\n throw new PmCliError(\n `Config set ${CONFIG_KEY_ALIASES[key][0]} requires at least one --criterion value (or --clear-criteria to clear)`,\n EXIT_CODE.USAGE,\n );\n }\n return normalized;\n}\n\nfunction normalizeWarnings(values: string[]): string[] {\n return [...new Set(values)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction normalizeKeyForAction(action: ConfigAction, value: string | undefined): ConfigKey | undefined {\n if (action === \"list\" || action === \"export\") {\n if (typeof value === \"string\" && value.trim().length > 0) {\n throw new PmCliError(`Config action \"${action}\" does not accept <key>`, EXIT_CODE.USAGE);\n }\n return undefined;\n }\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new PmCliError(`Config action \"${action}\" requires <key>`, EXIT_CODE.USAGE);\n }\n return normalizeKey(value);\n}\n\nfunction readConfigValue(settings: {\n workflow: { definition_of_done: string[] };\n item_format: ItemFormat;\n history: { missing_stream: HistoryMissingStreamPolicy };\n validation: {\n sprint_release_format: SprintReleaseFormatPolicy;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n metadata_required_fields: ValidateMetadataRequiredField[];\n lifecycle_stale_blocker_reason_patterns: string[];\n lifecycle_closure_like_blocked_reason_patterns: string[];\n lifecycle_closure_like_resolution_patterns: string[];\n lifecycle_closure_like_actual_result_patterns: string[];\n };\n governance: {\n preset: GovernancePreset;\n ownership_enforcement: GovernanceOwnershipEnforcement;\n create_mode_default: GovernanceCreateModeDefault;\n close_validation_default: GovernanceCloseValidationDefault;\n parent_reference: ParentReferencePolicy;\n metadata_profile: ValidateMetadataProfile;\n force_required_for_stale_lock: boolean;\n };\n testing: { record_results_to_items: boolean };\n telemetry: { enabled: boolean };\n context: import(\"../../types/index.js\").ContextSettings;\n}, key: ConfigKey): ConfigValue {\n if (key === \"item_format\") {\n return settings.item_format;\n }\n if (key === \"history_missing_stream_policy\") {\n return settings.history.missing_stream;\n }\n if (key === \"sprint_release_format_policy\") {\n return settings.validation.sprint_release_format;\n }\n if (key === \"parent_reference_policy\") {\n return settings.validation.parent_reference;\n }\n if (key === \"metadata_validation_profile\") {\n return settings.validation.metadata_profile;\n }\n if (key === \"metadata_required_fields\") {\n return [...settings.validation.metadata_required_fields];\n }\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n return [...settings.validation.lifecycle_stale_blocker_reason_patterns];\n }\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n return [...settings.validation.lifecycle_closure_like_blocked_reason_patterns];\n }\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n return [...settings.validation.lifecycle_closure_like_resolution_patterns];\n }\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n return [...settings.validation.lifecycle_closure_like_actual_result_patterns];\n }\n if (key === \"governance_preset\") {\n return settings.governance.preset;\n }\n if (key === \"governance_ownership_enforcement\") {\n return settings.governance.ownership_enforcement;\n }\n if (key === \"governance_create_mode_default\") {\n return settings.governance.create_mode_default;\n }\n if (key === \"governance_close_validation_default\") {\n return settings.governance.close_validation_default;\n }\n if (key === \"governance_parent_reference_policy\") {\n return settings.governance.parent_reference;\n }\n if (key === \"governance_metadata_validation_profile\") {\n return settings.governance.metadata_profile;\n }\n if (key === \"governance_force_required_for_stale_lock\") {\n return settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\";\n }\n if (key === \"test_result_tracking\") {\n return settings.testing.record_results_to_items ? \"enabled\" : \"disabled\";\n }\n if (key === \"telemetry_tracking\") {\n return settings.telemetry.enabled ? \"enabled\" : \"disabled\";\n }\n if (key === \"context\") {\n return {\n default_depth: settings.context.default_depth,\n activity_limit: settings.context.activity_limit,\n stale_threshold_days: settings.context.stale_threshold_days,\n sections: { ...settings.context.sections },\n } satisfies ContextConfigValue;\n }\n return [...settings.workflow.definition_of_done];\n}\n\nfunction withWarnings(result: ConfigResult, warnings: string[]): ConfigResult {\n if (warnings.length === 0) {\n return result;\n }\n return {\n ...result,\n warnings,\n };\n}\n\nasync function resolveSettingsTarget(\n scope: ConfigScope,\n global: GlobalOptions,\n): Promise<{ pmRoot: string; settingsPath: string }> {\n const cwd = process.cwd();\n const pmRoot = scope === \"project\" ? resolvePmRoot(cwd, global.path) : resolveGlobalPmRoot(cwd);\n const settingsPath = getSettingsPath(pmRoot);\n if (scope === \"project\" && !(await pathExists(settingsPath))) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n return { pmRoot, settingsPath };\n}\n\nfunction parseSectionToggle(raw: string | undefined): boolean | undefined {\n if (raw === undefined) return undefined;\n const normalized = raw.trim().toLowerCase();\n if (normalized === \"true\" || normalized === \"enabled\" || normalized === \"on\" || normalized === \"1\") return true;\n if (normalized === \"false\" || normalized === \"disabled\" || normalized === \"off\" || normalized === \"0\") return false;\n throw new PmCliError(\n `Context section toggle must be true|false|enabled|disabled, got \"${raw}\"`,\n EXIT_CODE.USAGE,\n );\n}\n\nasync function applyContextConfig(\n settings: import(\"../../types/index.js\").PmSettings,\n options: ConfigCommandOptions,\n target: { pmRoot: string; settingsPath: string },\n scope: ConfigScope,\n warnings: string[],\n): Promise<ConfigResult> {\n let changed = false;\n const ctx = settings.context;\n\n if (options.defaultDepth !== undefined) {\n const normalized = options.defaultDepth.trim().toLowerCase();\n if (!CONTEXT_DEPTH_VALUES.includes(normalized as ContextDepth)) {\n throw new PmCliError(\n `Context --default-depth must be one of ${CONTEXT_DEPTH_VALUES.join(\"|\")}`,\n EXIT_CODE.USAGE,\n );\n }\n if (ctx.default_depth !== normalized) {\n ctx.default_depth = normalized as ContextDepth;\n changed = true;\n }\n }\n\n if (options.activityLimit !== undefined) {\n const parsed = parseInt(options.activityLimit.trim(), 10);\n if (isNaN(parsed) || parsed <= 0) {\n throw new PmCliError(\"Context --activity-limit must be a positive integer\", EXIT_CODE.USAGE);\n }\n if (ctx.activity_limit !== parsed) {\n ctx.activity_limit = parsed;\n changed = true;\n }\n }\n\n if (options.staleThresholdDays !== undefined) {\n const parsed = parseInt(options.staleThresholdDays.trim(), 10);\n if (isNaN(parsed) || parsed <= 0) {\n throw new PmCliError(\"Context --stale-threshold-days must be a positive integer\", EXIT_CODE.USAGE);\n }\n if (ctx.stale_threshold_days !== parsed) {\n ctx.stale_threshold_days = parsed;\n changed = true;\n }\n }\n\n const sectionToggles: [string, string | undefined][] = [\n [\"hierarchy\", options.sectionHierarchy],\n [\"activity\", options.sectionActivity],\n [\"progress\", options.sectionProgress],\n [\"blockers\", options.sectionBlockers],\n [\"files\", options.sectionFiles],\n [\"workload\", options.sectionWorkload],\n [\"staleness\", options.sectionStaleness],\n [\"tests\", options.sectionTests],\n ];\n\n for (const [sectionName, rawValue] of sectionToggles) {\n const toggle = parseSectionToggle(rawValue);\n if (toggle !== undefined) {\n const key = sectionName as keyof typeof ctx.sections;\n if (ctx.sections[key] !== toggle) {\n ctx.sections[key] = toggle;\n changed = true;\n }\n }\n }\n\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:context\");\n }\n\n return withWarnings({\n scope,\n key: \"context\",\n context_settings: {\n default_depth: ctx.default_depth,\n activity_limit: ctx.activity_limit,\n stale_threshold_days: ctx.stale_threshold_days,\n sections: { ...ctx.sections },\n },\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n}\n\nexport async function runConfig(\n scopeValue: string,\n actionValue: string,\n keyValue: string | undefined,\n options: ConfigCommandOptions,\n global: GlobalOptions,\n): Promise<ConfigResult> {\n const scope = normalizeScope(scopeValue);\n const action = normalizeAction(actionValue);\n const key = normalizeKeyForAction(action, keyValue);\n const target = await resolveSettingsTarget(scope, global);\n const { settings, metadata, warnings: settingsReadWarnings } = await readSettingsWithMetadata(target.pmRoot);\n const warnings = normalizeWarnings(settingsReadWarnings);\n\n if (action === \"list\") {\n const keys = (Object.keys(CONFIG_KEY_ALIASES) as ConfigKey[]).map((candidate) => ({\n key: candidate,\n aliases: CONFIG_KEY_ALIASES[candidate],\n value_kind: candidate === \"context\"\n ? (\"object\" as const)\n : isCriteriaConfigKey(candidate) ? (\"string_array\" as const) : (\"enum\" as const),\n set_flags:\n candidate === \"context\"\n ? [\"--default-depth\", \"--activity-limit\", \"--stale-threshold-days\", \"--section-<name>\"]\n : isCriteriaConfigKey(candidate) ? [\"--criterion\", \"--clear-criteria\"] : candidate === \"item_format\" ? [\"--format\"] : [\"--policy\"],\n summary: CONFIG_KEY_SUMMARIES[candidate],\n value: readConfigValue(settings, candidate),\n }));\n return withWarnings(\n {\n scope,\n keys,\n count: keys.length,\n settings_path: target.settingsPath,\n changed: false,\n },\n warnings,\n );\n }\n\n if (action === \"export\") {\n const values = {\n definition_of_done: readConfigValue(settings, \"definition_of_done\"),\n item_format: readConfigValue(settings, \"item_format\"),\n history_missing_stream_policy: readConfigValue(settings, \"history_missing_stream_policy\"),\n sprint_release_format_policy: readConfigValue(settings, \"sprint_release_format_policy\"),\n parent_reference_policy: readConfigValue(settings, \"parent_reference_policy\"),\n metadata_validation_profile: readConfigValue(settings, \"metadata_validation_profile\"),\n metadata_required_fields: readConfigValue(settings, \"metadata_required_fields\"),\n lifecycle_stale_blocker_reason_patterns: readConfigValue(settings, \"lifecycle_stale_blocker_reason_patterns\"),\n lifecycle_closure_like_blocked_reason_patterns: readConfigValue(\n settings,\n \"lifecycle_closure_like_blocked_reason_patterns\",\n ),\n lifecycle_closure_like_resolution_patterns: readConfigValue(settings, \"lifecycle_closure_like_resolution_patterns\"),\n lifecycle_closure_like_actual_result_patterns: readConfigValue(\n settings,\n \"lifecycle_closure_like_actual_result_patterns\",\n ),\n governance_preset: readConfigValue(settings, \"governance_preset\"),\n governance_ownership_enforcement: readConfigValue(settings, \"governance_ownership_enforcement\"),\n governance_create_mode_default: readConfigValue(settings, \"governance_create_mode_default\"),\n governance_close_validation_default: readConfigValue(settings, \"governance_close_validation_default\"),\n governance_parent_reference_policy: readConfigValue(settings, \"governance_parent_reference_policy\"),\n governance_metadata_validation_profile: readConfigValue(settings, \"governance_metadata_validation_profile\"),\n governance_force_required_for_stale_lock: readConfigValue(settings, \"governance_force_required_for_stale_lock\"),\n test_result_tracking: readConfigValue(settings, \"test_result_tracking\"),\n telemetry_tracking: readConfigValue(settings, \"telemetry_tracking\"),\n context: readConfigValue(settings, \"context\"),\n } satisfies Record<ConfigKey, ConfigValue>;\n return withWarnings(\n {\n scope,\n values,\n settings_path: target.settingsPath,\n changed: false,\n },\n warnings,\n );\n }\n\n if (action === \"get\") {\n if (!key) {\n throw new PmCliError('Config action \"get\" requires <key>', EXIT_CODE.USAGE);\n }\n if (key === \"item_format\") {\n return withWarnings({\n scope,\n key,\n format: settings.item_format,\n has_explicit_item_format: metadata.has_explicit_item_format,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"history_missing_stream_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.history.missing_stream,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"sprint_release_format_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.sprint_release_format,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"parent_reference_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.parent_reference,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"metadata_validation_profile\") {\n return withWarnings({\n scope,\n key,\n policy: settings.validation.metadata_profile,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"metadata_required_fields\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.metadata_required_fields],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_stale_blocker_reason_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_blocked_reason_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_resolution_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_actual_result_patterns],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_preset\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.preset,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_ownership_enforcement\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.ownership_enforcement,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_create_mode_default\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.create_mode_default,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_close_validation_default\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.close_validation_default,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_parent_reference_policy\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.parent_reference,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_metadata_validation_profile\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.metadata_profile,\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"governance_force_required_for_stale_lock\") {\n return withWarnings({\n scope,\n key,\n policy: settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"test_result_tracking\") {\n return withWarnings({\n scope,\n key,\n policy: settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"telemetry_tracking\") {\n return withWarnings({\n scope,\n key,\n policy: settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n if (key === \"context\") {\n return withWarnings({\n scope,\n key,\n context_settings: {\n default_depth: settings.context.default_depth,\n activity_limit: settings.context.activity_limit,\n stale_threshold_days: settings.context.stale_threshold_days,\n sections: { ...settings.context.sections },\n },\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.workflow.definition_of_done],\n settings_path: target.settingsPath,\n changed: false,\n }, warnings);\n }\n\n if (!key) {\n throw new PmCliError('Config action \"set\" requires <key>', EXIT_CODE.USAGE);\n }\n if (options.clearCriteria === true && !isCriteriaConfigKey(key)) {\n throw new PmCliError(\n \"--clear-criteria is only supported with config set criteria-list keys\",\n EXIT_CODE.USAGE,\n );\n }\n if (key === \"item_format\") {\n const nextFormat = normalizeItemFormat(options.format);\n const changed = settings.item_format !== nextFormat || !metadata.has_explicit_item_format;\n let migration: ConfigResult[\"migration\"] = undefined;\n settings.item_format = nextFormat;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:item_format\");\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n const migrated = await migrateItemFilesToFormat(\n target.pmRoot,\n nextFormat,\n \"config:set:item_format:migrate\",\n typeRegistry.type_to_folder,\n settings.schema,\n );\n migration = {\n target_format: migrated.target_format,\n scanned: migrated.scanned,\n migrated: migrated.migrated,\n removed: migrated.removed,\n warnings: migrated.warnings,\n };\n }\n return withWarnings({\n scope,\n key,\n format: settings.item_format,\n has_explicit_item_format: true,\n migration,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"history_missing_stream_policy\") {\n const nextPolicy = normalizeHistoryMissingStreamPolicy(options.policy);\n const changed = settings.history.missing_stream !== nextPolicy;\n settings.history.missing_stream = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:history_missing_stream_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.history.missing_stream,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"sprint_release_format_policy\") {\n const nextPolicy = normalizeSprintReleaseFormatPolicy(options.policy);\n const changed = settings.validation.sprint_release_format !== nextPolicy;\n settings.validation.sprint_release_format = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:sprint_release_format_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.sprint_release_format,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n settings.validation.parent_reference !== nextPolicy ||\n settings.governance.preset !== \"custom\" ||\n settings.governance.parent_reference !== nextPolicy;\n settings.validation.parent_reference = nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.parent_reference = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:parent_reference_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.parent_reference,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"metadata_validation_profile\") {\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n settings.validation.metadata_profile !== nextPolicy ||\n settings.governance.preset !== \"custom\" ||\n settings.governance.metadata_profile !== nextPolicy;\n settings.validation.metadata_profile = nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.metadata_profile = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:metadata_validation_profile\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.validation.metadata_profile,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"metadata_required_fields\") {\n const nextCriteria = normalizeMetadataRequiredFields(options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.metadata_required_fields.length ||\n nextCriteria.some((value, index) => value !== settings.validation.metadata_required_fields[index]);\n settings.validation.metadata_required_fields = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:metadata_required_fields\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.metadata_required_fields],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_stale_blocker_reason_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_stale_blocker_reason_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_stale_blocker_reason_patterns[index]);\n settings.validation.lifecycle_stale_blocker_reason_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_stale_blocker_reason_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_stale_blocker_reason_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_blocked_reason_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_blocked_reason_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_blocked_reason_patterns[index]);\n settings.validation.lifecycle_closure_like_blocked_reason_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_blocked_reason_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_blocked_reason_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_resolution_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_resolution_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_resolution_patterns[index]);\n settings.validation.lifecycle_closure_like_resolution_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_resolution_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_resolution_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"lifecycle_closure_like_actual_result_patterns\") {\n const nextCriteria = normalizeLifecyclePatternCriteria(key, options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.validation.lifecycle_closure_like_actual_result_patterns.length ||\n nextCriteria.some((value, index) => value !== settings.validation.lifecycle_closure_like_actual_result_patterns[index]);\n settings.validation.lifecycle_closure_like_actual_result_patterns = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:lifecycle_closure_like_actual_result_patterns\");\n }\n return withWarnings({\n scope,\n key,\n criteria: [...settings.validation.lifecycle_closure_like_actual_result_patterns],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_preset\") {\n const nextPolicy = normalizeGovernancePreset(options.policy);\n const changed = settings.governance.preset !== nextPolicy;\n settings.governance.preset = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_preset\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.preset,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_ownership_enforcement\") {\n const nextPolicy = normalizeGovernanceOwnershipEnforcement(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.ownership_enforcement !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.ownership_enforcement = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_ownership_enforcement\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.ownership_enforcement,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_create_mode_default\") {\n const nextPolicy = normalizeGovernanceCreateModeDefault(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.create_mode_default !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.create_mode_default = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_create_mode_default\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.create_mode_default,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_close_validation_default\") {\n const nextPolicy = normalizeGovernanceCloseValidationDefault(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.close_validation_default !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.close_validation_default = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_close_validation_default\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.close_validation_default,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_parent_reference_policy\") {\n const nextPolicy = normalizeParentReferencePolicy(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.parent_reference !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.parent_reference = nextPolicy;\n settings.validation.parent_reference = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_parent_reference_policy\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.parent_reference,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_metadata_validation_profile\") {\n const nextPolicy = normalizeValidateMetadataProfile(options.policy);\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.metadata_profile !== nextPolicy;\n settings.governance.preset = \"custom\";\n settings.governance.metadata_profile = nextPolicy;\n settings.validation.metadata_profile = nextPolicy;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_metadata_validation_profile\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.metadata_profile,\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"governance_force_required_for_stale_lock\") {\n const nextPolicy = normalizeGovernanceForceRequiredForStaleLockPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed =\n settings.governance.preset !== \"custom\" || settings.governance.force_required_for_stale_lock !== nextEnabled;\n settings.governance.preset = \"custom\";\n settings.governance.force_required_for_stale_lock = nextEnabled;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:governance_force_required_for_stale_lock\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.governance.force_required_for_stale_lock ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"test_result_tracking\") {\n const nextPolicy = normalizeTestResultTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed = settings.testing.record_results_to_items !== nextEnabled;\n settings.testing.record_results_to_items = nextEnabled;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:test_result_tracking\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.testing.record_results_to_items ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"telemetry_tracking\") {\n const nextPolicy = normalizeTelemetryTrackingPolicy(options.policy);\n const nextEnabled = nextPolicy === \"enabled\";\n const changed = settings.telemetry.enabled !== nextEnabled || !settings.telemetry.first_run_prompt_completed;\n settings.telemetry.enabled = nextEnabled;\n settings.telemetry.first_run_prompt_completed = true;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:telemetry_tracking\");\n }\n return withWarnings({\n scope,\n key,\n policy: settings.telemetry.enabled ? \"enabled\" : \"disabled\",\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n }\n\n if (key === \"context\") {\n return applyContextConfig(settings, options, target, scope, warnings);\n }\n\n const nextCriteria = normalizeCriteria(options.criterion, options.clearCriteria);\n const changed =\n nextCriteria.length !== settings.workflow.definition_of_done.length ||\n nextCriteria.some((value, index) => value !== settings.workflow.definition_of_done[index]);\n\n settings.workflow.definition_of_done = nextCriteria;\n if (changed) {\n await writeSettings(target.pmRoot, settings, \"config:set:definition_of_done\");\n }\n\n return withWarnings({\n scope,\n key,\n criteria: [...settings.workflow.definition_of_done],\n settings_path: target.settingsPath,\n changed,\n }, warnings);\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GlobalOptions } from "../../core/shared/command-types.js";
|
|
2
|
-
import type { ItemStatus } from "../../types/index.js";
|
|
2
|
+
import type { ContextDepth, ContextSectionName, ContextSettings, ItemStatus } from "../../types/index.js";
|
|
3
3
|
import { type CalendarRow } from "./calendar.js";
|
|
4
|
+
import { type CompactActivityEntry } from "./activity.js";
|
|
4
5
|
export declare const CONTEXT_OUTPUT_VALUES: readonly ["markdown", "toon", "json"];
|
|
5
6
|
export type ContextOutputFormat = (typeof CONTEXT_OUTPUT_VALUES)[number];
|
|
6
7
|
export interface ContextOptions {
|
|
@@ -17,6 +18,10 @@ export interface ContextOptions {
|
|
|
17
18
|
release?: string;
|
|
18
19
|
limit?: string;
|
|
19
20
|
format?: string;
|
|
21
|
+
depth?: string;
|
|
22
|
+
section?: string[];
|
|
23
|
+
activityLimit?: string;
|
|
24
|
+
staleThreshold?: string;
|
|
20
25
|
[key: string]: unknown;
|
|
21
26
|
}
|
|
22
27
|
export interface ContextFocusItem {
|
|
@@ -31,6 +36,74 @@ export interface ContextFocusItem {
|
|
|
31
36
|
tags: string[];
|
|
32
37
|
updated_at: string;
|
|
33
38
|
}
|
|
39
|
+
export interface HierarchyChild {
|
|
40
|
+
id: string;
|
|
41
|
+
title: string;
|
|
42
|
+
type: string;
|
|
43
|
+
status: ItemStatus;
|
|
44
|
+
children_total: number;
|
|
45
|
+
children_closed: number;
|
|
46
|
+
}
|
|
47
|
+
export interface HierarchyNode {
|
|
48
|
+
id: string;
|
|
49
|
+
title: string;
|
|
50
|
+
type: string;
|
|
51
|
+
status: ItemStatus;
|
|
52
|
+
children_total: number;
|
|
53
|
+
children_closed: number;
|
|
54
|
+
children_open: number;
|
|
55
|
+
children_in_progress: number;
|
|
56
|
+
children_blocked: number;
|
|
57
|
+
children: HierarchyChild[];
|
|
58
|
+
}
|
|
59
|
+
export interface ProgressEntry {
|
|
60
|
+
id: string;
|
|
61
|
+
title: string;
|
|
62
|
+
type: string;
|
|
63
|
+
total: number;
|
|
64
|
+
closed: number;
|
|
65
|
+
open: number;
|
|
66
|
+
in_progress: number;
|
|
67
|
+
blocked: number;
|
|
68
|
+
completion_pct: number;
|
|
69
|
+
}
|
|
70
|
+
export interface BlockerEntry {
|
|
71
|
+
id: string;
|
|
72
|
+
title: string;
|
|
73
|
+
blocked_by: string | null;
|
|
74
|
+
blocked_by_title: string | null;
|
|
75
|
+
blocked_by_status: ItemStatus | null;
|
|
76
|
+
blocked_reason: string | null;
|
|
77
|
+
unblock_note: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface HotFile {
|
|
80
|
+
path: string;
|
|
81
|
+
references: number;
|
|
82
|
+
items: string[];
|
|
83
|
+
}
|
|
84
|
+
export interface WorkloadEntry {
|
|
85
|
+
assignee: string | null;
|
|
86
|
+
active: number;
|
|
87
|
+
in_progress: number;
|
|
88
|
+
items: string[];
|
|
89
|
+
}
|
|
90
|
+
export interface StaleEntry {
|
|
91
|
+
id: string;
|
|
92
|
+
title: string;
|
|
93
|
+
status: ItemStatus;
|
|
94
|
+
updated_at: string;
|
|
95
|
+
stale_days: number;
|
|
96
|
+
}
|
|
97
|
+
export interface TestHealthSummary {
|
|
98
|
+
items_with_tests: number;
|
|
99
|
+
items_with_recent_runs: number;
|
|
100
|
+
recent_runs: {
|
|
101
|
+
passed: number;
|
|
102
|
+
failed: number;
|
|
103
|
+
skipped: number;
|
|
104
|
+
};
|
|
105
|
+
items_failing: string[];
|
|
106
|
+
}
|
|
34
107
|
interface ContextAgendaSummary {
|
|
35
108
|
events: number;
|
|
36
109
|
items: number;
|
|
@@ -47,10 +120,15 @@ interface ContextSummary {
|
|
|
47
120
|
high_level: number;
|
|
48
121
|
low_level: number;
|
|
49
122
|
agenda_events: number;
|
|
123
|
+
total_items?: number;
|
|
124
|
+
closed?: number;
|
|
125
|
+
canceled?: number;
|
|
50
126
|
}
|
|
51
127
|
export interface ContextResult {
|
|
52
128
|
output_default: "toon";
|
|
53
129
|
now: string;
|
|
130
|
+
depth: ContextDepth;
|
|
131
|
+
sections_included: ContextSectionName[];
|
|
54
132
|
window: {
|
|
55
133
|
anchor: string;
|
|
56
134
|
start: string | null;
|
|
@@ -78,9 +156,20 @@ export interface ContextResult {
|
|
|
78
156
|
summary: ContextAgendaSummary;
|
|
79
157
|
events: CalendarRow[];
|
|
80
158
|
};
|
|
159
|
+
hierarchy?: HierarchyNode[];
|
|
160
|
+
activity?: CompactActivityEntry[];
|
|
161
|
+
progress?: ProgressEntry[];
|
|
162
|
+
blockers?: BlockerEntry[];
|
|
163
|
+
files?: HotFile[];
|
|
164
|
+
workload?: WorkloadEntry[];
|
|
165
|
+
staleness?: StaleEntry[];
|
|
166
|
+
tests?: TestHealthSummary;
|
|
167
|
+
suggestions?: string[];
|
|
81
168
|
warnings?: string[];
|
|
82
169
|
}
|
|
83
170
|
export declare function resolveContextOutputFormat(options: ContextOptions, global: GlobalOptions): ContextOutputFormat;
|
|
171
|
+
export declare function parseContextDepth(raw: string | undefined, settings: ContextSettings): ContextDepth;
|
|
172
|
+
export declare function parseContextSections(raw: string[] | undefined, depth: ContextDepth, settings: ContextSettings): ContextSectionName[];
|
|
84
173
|
export declare function renderContextMarkdown(result: ContextResult): string;
|
|
85
174
|
export declare function runContext(options: ContextOptions, global: GlobalOptions): Promise<ContextResult>;
|
|
86
175
|
export {};
|