@unbrained/pm-cli 2026.5.1 → 2026.5.3-5
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 +73 -4
- package/CONTRIBUTING.md +11 -5
- package/PRD.md +17 -1
- package/README.md +55 -1099
- package/SECURITY.md +6 -11
- 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.d.ts +10 -0
- package/dist/cli/commands/activity.js +14 -10
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/calendar.js +19 -34
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.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/completion.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 +496 -12
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/create.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/delete.js.map +1 -1
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +14 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +16 -12
- package/dist/cli/commands/health.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/index.js.map +1 -1
- package/dist/cli/commands/init.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.d.ts +1 -0
- package/dist/cli/commands/list.js +13 -31
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +14 -23
- 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/restore.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/stats.js.map +1 -1
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.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/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +1 -6
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.js +2 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +23 -18
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +13 -0
- package/dist/cli/error-guidance.js +56 -6
- 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/extension-command-options.js.map +1 -1
- 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 +1000 -4456
- 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/cli.d.ts +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +605 -0
- package/dist/core/extensions/extension-types.js +22 -0
- package/dist/core/extensions/extension-types.js.map +1 -0
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +2 -586
- package/dist/core/extensions/loader.js +3 -21
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runtime-registrations.js.map +1 -1
- package/dist/core/fs/fs-utils.js.map +1 -1
- package/dist/core/fs/index.js.map +1 -1
- package/dist/core/history/history-stream-policy.js.map +1 -1
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/history/index.js.map +1 -1
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/index.js.map +1 -1
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/parent-reference-policy.js.map +1 -1
- package/dist/core/item/parse.js +6 -0
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/sprint-release-format.js.map +1 -1
- package/dist/core/item/status.js.map +1 -1
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/index.js.map +1 -1
- package/dist/core/lock/lock.js +1 -6
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/command-aware.js.map +1 -1
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/cache.js +1 -7
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/embedding-batches.js +4 -0
- package/dist/core/search/embedding-batches.js.map +1 -1
- 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 -88
- 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 +4 -13
- package/dist/core/search/vector-stores.js +40 -93
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +27 -0
- package/dist/core/sentry/helpers.js +171 -0
- package/dist/core/sentry/helpers.js.map +1 -0
- package/dist/core/sentry/instrument.d.ts +25 -0
- package/dist/core/sentry/instrument.js +204 -0
- package/dist/core/sentry/instrument.js.map +1 -0
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/conflict-markers.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/shared/errors.js.map +1 -1
- package/dist/core/shared/index.d.ts +1 -0
- package/dist/core/shared/index.js +1 -0
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +13 -0
- package/dist/core/shared/primitives.js +33 -0
- package/dist/core/shared/primitives.js.map +1 -0
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.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/index.js.map +1 -1
- package/dist/core/store/item-format-migration.js.map +1 -1
- package/dist/core/store/item-store.js +46 -36
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.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/consent.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 +29 -3
- package/dist/core/telemetry/runtime.js +337 -25
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/item-test-run-tracking.js.map +1 -1
- package/dist/sdk/cli-contracts.js +28 -0
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/types/index.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/AGENT_GUIDE.md +125 -0
- package/docs/ARCHITECTURE.md +201 -478
- package/docs/COMMANDS.md +209 -0
- package/docs/CONFIGURATION.md +146 -0
- package/docs/EXTENSIONS.md +146 -645
- package/docs/QUICKSTART.md +108 -0
- package/docs/README.md +70 -0
- package/docs/RELEASING.md +92 -50
- package/docs/SDK.md +127 -68
- package/docs/TESTING.md +125 -0
- package/docs/examples/starter-extension/README.md +39 -25
- package/package.json +24 -11
- package/dist/command-types.d.ts +0 -1
- package/dist/command-types.js +0 -2
- package/dist/command-types.js.map +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -2
- package/dist/errors.js.map +0 -1
- package/dist/fs-utils.d.ts +0 -1
- package/dist/fs-utils.js +0 -2
- package/dist/fs-utils.js.map +0 -1
- package/dist/history.d.ts +0 -1
- package/dist/history.js +0 -2
- package/dist/history.js.map +0 -1
- package/dist/id.d.ts +0 -1
- package/dist/id.js +0 -2
- package/dist/id.js.map +0 -1
- package/dist/item-format.d.ts +0 -1
- package/dist/item-format.js +0 -2
- package/dist/item-format.js.map +0 -1
- package/dist/item-store.d.ts +0 -1
- package/dist/item-store.js +0 -2
- package/dist/item-store.js.map +0 -1
- package/dist/lock.d.ts +0 -1
- package/dist/lock.js +0 -2
- package/dist/lock.js.map +0 -1
- package/dist/output.d.ts +0 -1
- package/dist/output.js +0 -2
- package/dist/output.js.map +0 -1
- package/dist/parse.d.ts +0 -1
- package/dist/parse.js +0 -2
- package/dist/parse.js.map +0 -1
- package/dist/paths.d.ts +0 -1
- package/dist/paths.js +0 -2
- package/dist/paths.js.map +0 -1
- package/dist/serialization.d.ts +0 -1
- package/dist/serialization.js +0 -2
- package/dist/serialization.js.map +0 -1
- package/dist/settings.d.ts +0 -1
- package/dist/settings.js +0 -2
- package/dist/settings.js.map +0 -1
- package/dist/time.d.ts +0 -1
- package/dist/time.js +0 -2
- package/dist/time.js.map +0 -1
|
@@ -8,6 +8,7 @@ import { PmCliError } from "../../core/shared/errors.js";
|
|
|
8
8
|
import { migrateItemFilesToFormat } from "../../core/store/item-format-migration.js";
|
|
9
9
|
import { getSettingsPath, resolveGlobalPmRoot, resolvePmRoot, } from "../../core/store/paths.js";
|
|
10
10
|
import { readSettingsWithMetadata, writeSettings } from "../../core/store/settings.js";
|
|
11
|
+
import { CONTEXT_DEPTH_VALUES } from "../../types/index.js";
|
|
11
12
|
const CONFIG_SCOPE_VALUES = ["project", "global"];
|
|
12
13
|
const CONFIG_KEY_VALUES = [
|
|
13
14
|
"definition-of-done",
|
|
@@ -50,6 +51,7 @@ const CONFIG_KEY_VALUES = [
|
|
|
50
51
|
"test_result_tracking",
|
|
51
52
|
"telemetry-tracking",
|
|
52
53
|
"telemetry_tracking",
|
|
54
|
+
"context",
|
|
53
55
|
];
|
|
54
56
|
const CONFIG_KEY_ALIASES = {
|
|
55
57
|
definition_of_done: ["definition-of-done", "definition_of_done"],
|
|
@@ -93,6 +95,7 @@ const CONFIG_KEY_ALIASES = {
|
|
|
93
95
|
],
|
|
94
96
|
test_result_tracking: ["test-result-tracking", "test_result_tracking"],
|
|
95
97
|
telemetry_tracking: ["telemetry-tracking", "telemetry_tracking"],
|
|
98
|
+
context: ["context"],
|
|
96
99
|
};
|
|
97
100
|
const CONFIG_KEY_SUMMARIES = {
|
|
98
101
|
definition_of_done: "Definition of Done criteria list.",
|
|
@@ -115,6 +118,7 @@ const CONFIG_KEY_SUMMARIES = {
|
|
|
115
118
|
governance_force_required_for_stale_lock: "Governance stale-lock force policy (enabled|disabled).",
|
|
116
119
|
test_result_tracking: "Item-level linked test result persistence policy.",
|
|
117
120
|
telemetry_tracking: "Telemetry usage reporting policy.",
|
|
121
|
+
context: "Context command settings (depth, section toggles, limits).",
|
|
118
122
|
};
|
|
119
123
|
const LIFECYCLE_PATTERN_CONFIG_KEYS = [
|
|
120
124
|
"lifecycle_stale_blocker_reason_patterns",
|
|
@@ -202,6 +206,9 @@ function normalizeKey(value) {
|
|
|
202
206
|
if (value === "telemetry-tracking" || value === "telemetry_tracking") {
|
|
203
207
|
return "telemetry_tracking";
|
|
204
208
|
}
|
|
209
|
+
if (value === "context") {
|
|
210
|
+
return "context";
|
|
211
|
+
}
|
|
205
212
|
return "definition_of_done";
|
|
206
213
|
}
|
|
207
214
|
throw new PmCliError(`Invalid config key "${value}". Supported: ${CONFIG_KEY_VALUES.join(", ")}`, EXIT_CODE.USAGE);
|
|
@@ -423,6 +430,14 @@ function readConfigValue(settings, key) {
|
|
|
423
430
|
if (key === "telemetry_tracking") {
|
|
424
431
|
return settings.telemetry.enabled ? "enabled" : "disabled";
|
|
425
432
|
}
|
|
433
|
+
if (key === "context") {
|
|
434
|
+
return {
|
|
435
|
+
default_depth: settings.context.default_depth,
|
|
436
|
+
activity_limit: settings.context.activity_limit,
|
|
437
|
+
stale_threshold_days: settings.context.stale_threshold_days,
|
|
438
|
+
sections: { ...settings.context.sections },
|
|
439
|
+
};
|
|
440
|
+
}
|
|
426
441
|
return [...settings.workflow.definition_of_done];
|
|
427
442
|
}
|
|
428
443
|
function withWarnings(result, warnings) {
|
|
@@ -443,6 +458,85 @@ async function resolveSettingsTarget(scope, global) {
|
|
|
443
458
|
}
|
|
444
459
|
return { pmRoot, settingsPath };
|
|
445
460
|
}
|
|
461
|
+
function parseSectionToggle(raw) {
|
|
462
|
+
if (raw === undefined)
|
|
463
|
+
return undefined;
|
|
464
|
+
const normalized = raw.trim().toLowerCase();
|
|
465
|
+
if (normalized === "true" || normalized === "enabled" || normalized === "on" || normalized === "1")
|
|
466
|
+
return true;
|
|
467
|
+
if (normalized === "false" || normalized === "disabled" || normalized === "off" || normalized === "0")
|
|
468
|
+
return false;
|
|
469
|
+
throw new PmCliError(`Context section toggle must be true|false|enabled|disabled, got "${raw}"`, EXIT_CODE.USAGE);
|
|
470
|
+
}
|
|
471
|
+
async function applyContextConfig(settings, options, target, scope, warnings) {
|
|
472
|
+
let changed = false;
|
|
473
|
+
const ctx = settings.context;
|
|
474
|
+
if (options.defaultDepth !== undefined) {
|
|
475
|
+
const normalized = options.defaultDepth.trim().toLowerCase();
|
|
476
|
+
if (!CONTEXT_DEPTH_VALUES.includes(normalized)) {
|
|
477
|
+
throw new PmCliError(`Context --default-depth must be one of ${CONTEXT_DEPTH_VALUES.join("|")}`, EXIT_CODE.USAGE);
|
|
478
|
+
}
|
|
479
|
+
if (ctx.default_depth !== normalized) {
|
|
480
|
+
ctx.default_depth = normalized;
|
|
481
|
+
changed = true;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
if (options.activityLimit !== undefined) {
|
|
485
|
+
const parsed = parseInt(options.activityLimit.trim(), 10);
|
|
486
|
+
if (isNaN(parsed) || parsed <= 0) {
|
|
487
|
+
throw new PmCliError("Context --activity-limit must be a positive integer", EXIT_CODE.USAGE);
|
|
488
|
+
}
|
|
489
|
+
if (ctx.activity_limit !== parsed) {
|
|
490
|
+
ctx.activity_limit = parsed;
|
|
491
|
+
changed = true;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
if (options.staleThresholdDays !== undefined) {
|
|
495
|
+
const parsed = parseInt(options.staleThresholdDays.trim(), 10);
|
|
496
|
+
if (isNaN(parsed) || parsed <= 0) {
|
|
497
|
+
throw new PmCliError("Context --stale-threshold-days must be a positive integer", EXIT_CODE.USAGE);
|
|
498
|
+
}
|
|
499
|
+
if (ctx.stale_threshold_days !== parsed) {
|
|
500
|
+
ctx.stale_threshold_days = parsed;
|
|
501
|
+
changed = true;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
const sectionToggles = [
|
|
505
|
+
["hierarchy", options.sectionHierarchy],
|
|
506
|
+
["activity", options.sectionActivity],
|
|
507
|
+
["progress", options.sectionProgress],
|
|
508
|
+
["blockers", options.sectionBlockers],
|
|
509
|
+
["files", options.sectionFiles],
|
|
510
|
+
["workload", options.sectionWorkload],
|
|
511
|
+
["staleness", options.sectionStaleness],
|
|
512
|
+
["tests", options.sectionTests],
|
|
513
|
+
];
|
|
514
|
+
for (const [sectionName, rawValue] of sectionToggles) {
|
|
515
|
+
const toggle = parseSectionToggle(rawValue);
|
|
516
|
+
if (toggle !== undefined) {
|
|
517
|
+
const key = sectionName;
|
|
518
|
+
if (ctx.sections[key] !== toggle) {
|
|
519
|
+
ctx.sections[key] = toggle;
|
|
520
|
+
changed = true;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
if (changed) {
|
|
525
|
+
await writeSettings(target.pmRoot, settings, "config:set:context");
|
|
526
|
+
}
|
|
527
|
+
return withWarnings({
|
|
528
|
+
scope,
|
|
529
|
+
key: "context",
|
|
530
|
+
context_settings: {
|
|
531
|
+
default_depth: ctx.default_depth,
|
|
532
|
+
activity_limit: ctx.activity_limit,
|
|
533
|
+
stale_threshold_days: ctx.stale_threshold_days,
|
|
534
|
+
sections: { ...ctx.sections },
|
|
535
|
+
},
|
|
536
|
+
settings_path: target.settingsPath,
|
|
537
|
+
changed,
|
|
538
|
+
}, warnings);
|
|
539
|
+
}
|
|
446
540
|
export async function runConfig(scopeValue, actionValue, keyValue, options, global) {
|
|
447
541
|
const scope = normalizeScope(scopeValue);
|
|
448
542
|
const action = normalizeAction(actionValue);
|
|
@@ -454,8 +548,12 @@ export async function runConfig(scopeValue, actionValue, keyValue, options, glob
|
|
|
454
548
|
const keys = Object.keys(CONFIG_KEY_ALIASES).map((candidate) => ({
|
|
455
549
|
key: candidate,
|
|
456
550
|
aliases: CONFIG_KEY_ALIASES[candidate],
|
|
457
|
-
value_kind:
|
|
458
|
-
|
|
551
|
+
value_kind: candidate === "context"
|
|
552
|
+
? "object"
|
|
553
|
+
: isCriteriaConfigKey(candidate) ? "string_array" : "enum",
|
|
554
|
+
set_flags: candidate === "context"
|
|
555
|
+
? ["--default-depth", "--activity-limit", "--stale-threshold-days", "--section-<name>"]
|
|
556
|
+
: isCriteriaConfigKey(candidate) ? ["--criterion", "--clear-criteria"] : candidate === "item_format" ? ["--format"] : ["--policy"],
|
|
459
557
|
summary: CONFIG_KEY_SUMMARIES[candidate],
|
|
460
558
|
value: readConfigValue(settings, candidate),
|
|
461
559
|
}));
|
|
@@ -489,6 +587,7 @@ export async function runConfig(scopeValue, actionValue, keyValue, options, glob
|
|
|
489
587
|
governance_force_required_for_stale_lock: readConfigValue(settings, "governance_force_required_for_stale_lock"),
|
|
490
588
|
test_result_tracking: readConfigValue(settings, "test_result_tracking"),
|
|
491
589
|
telemetry_tracking: readConfigValue(settings, "telemetry_tracking"),
|
|
590
|
+
context: readConfigValue(settings, "context"),
|
|
492
591
|
};
|
|
493
592
|
return withWarnings({
|
|
494
593
|
scope,
|
|
@@ -673,6 +772,20 @@ export async function runConfig(scopeValue, actionValue, keyValue, options, glob
|
|
|
673
772
|
changed: false,
|
|
674
773
|
}, warnings);
|
|
675
774
|
}
|
|
775
|
+
if (key === "context") {
|
|
776
|
+
return withWarnings({
|
|
777
|
+
scope,
|
|
778
|
+
key,
|
|
779
|
+
context_settings: {
|
|
780
|
+
default_depth: settings.context.default_depth,
|
|
781
|
+
activity_limit: settings.context.activity_limit,
|
|
782
|
+
stale_threshold_days: settings.context.stale_threshold_days,
|
|
783
|
+
sections: { ...settings.context.sections },
|
|
784
|
+
},
|
|
785
|
+
settings_path: target.settingsPath,
|
|
786
|
+
changed: false,
|
|
787
|
+
}, warnings);
|
|
788
|
+
}
|
|
676
789
|
return withWarnings({
|
|
677
790
|
scope,
|
|
678
791
|
key,
|
|
@@ -1009,6 +1122,9 @@ export async function runConfig(scopeValue, actionValue, keyValue, options, glob
|
|
|
1009
1122
|
changed,
|
|
1010
1123
|
}, warnings);
|
|
1011
1124
|
}
|
|
1125
|
+
if (key === "context") {
|
|
1126
|
+
return applyContextConfig(settings, options, target, scope, warnings);
|
|
1127
|
+
}
|
|
1012
1128
|
const nextCriteria = normalizeCriteria(options.criterion, options.clearCriteria);
|
|
1013
1129
|
const changed = nextCriteria.length !== settings.workflow.definition_of_done.length ||
|
|
1014
1130
|
nextCriteria.some((value, index) => value !== settings.workflow.definition_of_done[index]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
|
|
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 {};
|