@unbrained/pm-cli 2026.8.21 → 2026.8.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +44 -0
- package/dist/cli/error-guidance.d.ts +22 -4
- package/dist/cli/error-guidance.js +73 -16
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +51 -9
- package/dist/cli/register-mutation.js +6 -6
- package/dist/cli/register-operations.d.ts +73 -0
- package/dist/cli/register-operations.js +39 -14
- package/dist/cli/register-setup.js +3 -3
- package/dist/cli/schema-registration-helpers.d.ts +8 -1
- package/dist/cli/schema-registration-helpers.js +14 -5
- package/dist/cli-bundle/bundle-manifest.json +149 -149
- package/dist/cli-bundle/chunks/chunk-3ENVHX6C.js +36 -0
- package/dist/cli-bundle/chunks/{chunk-LOVTQ52Z.js → chunk-DW2CGEMU.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-EG6CLDZT.js +5 -0
- package/dist/cli-bundle/chunks/{chunk-LARJJ3RK.js → chunk-F3AI2JFL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N3DSV4CH.js → chunk-HWZ6CELB.js} +8 -8
- package/dist/cli-bundle/chunks/chunk-HZBMLSZI.js +201 -0
- package/dist/cli-bundle/chunks/chunk-JB4KZWBF.js +3 -0
- package/dist/cli-bundle/chunks/chunk-KPH73XXJ.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-BKYB45NQ.js → chunk-KXPMB2YL.js} +50 -50
- package/dist/cli-bundle/chunks/{chunk-BUNIEJNE.js → chunk-QDVHNHAQ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TFI5V5N2.js +13 -0
- package/dist/cli-bundle/chunks/{register-list-query-F57EWDEF.js → register-list-query-UJB5FMV2.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-NX5XE4VX.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-RXIJIYXC.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-HXU7IZZD.js → register-setup-GFUZEKRE.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-F4YEW5I2.js → chunk-37Z4OEAP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-3UPTYG44.js +8 -0
- package/dist/cli-bundle/focused-chunks/chunk-5S7E72FY.js +16 -0
- package/dist/cli-bundle/focused-chunks/{chunk-4ERLO7QD.js → chunk-AUFH5H35.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-E7X25GC3.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-FQCSTBWE.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-FH6DYED3.js → chunk-FZS4H32O.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-IFLWKY2R.js +156 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YKBKIEAJ.js → chunk-JOWDB2MH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-LYVSW5VM.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-MRCNF3U6.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-UZE7XUZK.js → chunk-OFVUGTLJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FJ22HNRP.js → chunk-OGLQBL46.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-OY7QAV4Y.js +51 -0
- package/dist/cli-bundle/focused-chunks/chunk-QGFNI65N.js +26 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KDNG7TKQ.js → chunk-R27IDGHD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-UYRFYCDQ.js +5 -0
- package/dist/cli-bundle/focused-chunks/{chunk-2NIY5NKG.js → chunk-ZHVA42R5.js} +9 -9
- package/dist/cli-bundle/main.js +13 -13
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +40 -40
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +33 -32
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +5 -5
- package/dist/core/config/nested-settings.js +8 -2
- package/dist/core/config/positional-value.d.ts +1 -1
- package/dist/core/config/positional-value.js +5 -2
- package/dist/core/extensions/extension-hook-runtime.js +22 -20
- package/dist/core/extensions/extension-types.d.ts +8 -1
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/loader.js +7 -3
- package/dist/core/extensions/service-ownership.d.ts +8 -0
- package/dist/core/extensions/service-ownership.js +20 -0
- package/dist/core/history/history.js +3 -3
- package/dist/core/item/id.js +20 -5
- package/dist/core/item/item-format.js +81 -2
- package/dist/core/reproducibility/context.d.ts +4 -0
- package/dist/core/reproducibility/context.js +14 -8
- package/dist/core/shared/author.d.ts +55 -1
- package/dist/core/shared/author.js +333 -16
- package/dist/core/shared/constants.js +3 -2
- package/dist/core/shared/errors.d.ts +4 -0
- package/dist/core/shared/errors.js +2 -2
- package/dist/core/store/settings-validator.d.ts +1 -0
- package/dist/core/store/settings-validator.js +6 -3
- package/dist/core/store/settings.js +5 -2
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +30 -9
- package/dist/sdk/agent/identity-config.d.ts +63 -0
- package/dist/sdk/agent/identity-config.js +107 -0
- package/dist/sdk/agent/refusal-corpus-contracts.d.ts +76 -0
- package/dist/sdk/agent/refusal-corpus-contracts.js +194 -0
- package/dist/sdk/agent/refusal-reachability.d.ts +1 -1
- package/dist/sdk/authoring.d.ts +1 -1
- package/dist/sdk/authoring.js +2 -2
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +77 -0
- package/dist/sdk/cli-contracts/agent-output-contracts.js +326 -2
- package/dist/sdk/cli-contracts/commander-mutation-options.js +3 -3
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +4 -0
- package/dist/sdk/cli-contracts/enum-contracts.js +9 -2
- package/dist/sdk/cli-contracts/flag-contracts.js +9 -2
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +4 -4
- package/dist/sdk/cli-contracts/registration-helpers.js +5 -2
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +3 -1
- package/dist/sdk/cli-contracts/runtime-contracts.js +4 -3
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +22 -2
- package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +14 -3
- package/dist/sdk/cli-contracts.d.ts +4 -4
- package/dist/sdk/cli-contracts.js +5 -5
- package/dist/sdk/config.d.ts +6 -1
- package/dist/sdk/config.js +119 -14
- package/dist/sdk/context-intent-contracts.js +4 -2
- package/dist/sdk/core-governance.d.ts +1 -1
- package/dist/sdk/core-governance.js +3 -3
- package/dist/sdk/extension/install-sources.d.ts +1 -1
- package/dist/sdk/extension/install-sources.js +6 -3
- package/dist/sdk/extension/output-ownership.d.ts +1 -0
- package/dist/sdk/extension/output-ownership.js +3 -2
- package/dist/sdk/extension/scaffold.js +11 -5
- package/dist/sdk/flag-invocation-contracts.js +4 -2
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +74 -2
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +87 -26
- package/dist/sdk/governance/assurance-action.js +30 -10
- package/dist/sdk/governance/health.d.ts +3 -0
- package/dist/sdk/governance/health.js +39 -7
- package/dist/sdk/governance/hierarchy-validation.d.ts +29 -0
- package/dist/sdk/governance/hierarchy-validation.js +109 -0
- package/dist/sdk/governance/validate.d.ts +3 -9
- package/dist/sdk/governance/validate.js +84 -111
- package/dist/sdk/graph/assembly.d.ts +6 -1
- package/dist/sdk/graph/assembly.js +16 -22
- package/dist/sdk/graph/governance-contracts.d.ts +1 -1
- package/dist/sdk/graph/governance-contracts.js +8 -2
- package/dist/sdk/graph/governance.js +46 -2
- package/dist/sdk/graph/hierarchy-integrity.d.ts +94 -0
- package/dist/sdk/graph/hierarchy-integrity.js +311 -0
- package/dist/sdk/graph/index.d.ts +2 -1
- package/dist/sdk/graph/index.js +3 -2
- package/dist/sdk/graph/remediation.js +32 -2
- package/dist/sdk/graph/run.d.ts +31 -2
- package/dist/sdk/graph/run.js +80 -31
- package/dist/sdk/graph/workspace-relationship-kind-registry.d.ts +8 -0
- package/dist/sdk/graph/workspace-relationship-kind-registry.js +28 -0
- package/dist/sdk/index.d.ts +8 -3
- package/dist/sdk/index.js +9 -4
- package/dist/sdk/item-children.js +21 -8
- package/dist/sdk/lifecycle/create.js +129 -97
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +15 -0
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +25 -0
- package/dist/sdk/lifecycle/update.d.ts +2 -0
- package/dist/sdk/lifecycle/update.js +174 -84
- package/dist/sdk/merge/three-way.js +105 -26
- package/dist/sdk/query/complete-list.d.ts +3 -3
- package/dist/sdk/query/complete-list.js +46 -3
- package/dist/sdk/query/list.d.ts +4 -3
- package/dist/sdk/query/list.js +89 -49
- package/dist/sdk/read-output-budget.d.ts +21 -0
- package/dist/sdk/read-output-budget.js +39 -2
- package/dist/sdk/read-output-contracts.d.ts +10 -4
- package/dist/sdk/read-output-contracts.js +105 -32
- package/dist/sdk/relationship-context.js +3 -4
- package/dist/sdk/relationships.js +17 -10
- package/dist/sdk/reproducibility/process.d.ts +19 -0
- package/dist/sdk/reproducibility/process.js +88 -0
- package/dist/sdk/runtime-primitives.d.ts +1 -1
- package/dist/sdk/runtime-primitives.js +3 -3
- package/dist/sdk/runtime.d.ts +3 -2
- package/dist/sdk/runtime.js +7 -5
- package/dist/sdk/test/batch.d.ts +6 -0
- package/dist/sdk/test/batch.js +26 -6
- package/dist/sdk/test/entry.d.ts +1 -1
- package/dist/sdk/test/entry.js +3 -2
- package/dist/sdk/test/execution.d.ts +28 -3
- package/dist/sdk/test/execution.js +201 -34
- package/dist/sdk/test/parsers.d.ts +6 -0
- package/dist/sdk/test/parsers.js +21 -2
- package/dist/sdk/test/trust.d.ts +33 -0
- package/dist/sdk/test/trust.js +207 -0
- package/dist/types.d.ts +34 -0
- package/dist/types.js +2 -2
- package/docs/AGENT_PROVENANCE_ADR.md +41 -5
- package/docs/AGENT_UX_CONTRACTS.md +20 -4
- package/docs/COMMANDS.md +29 -14
- package/docs/CONFIGURATION.md +4 -0
- package/docs/DEPENDENCY_KIND_CONTRACT.md +31 -3
- package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +115 -0
- package/docs/EXTENSIONS.md +2 -1
- package/docs/MERGE_SAFETY.md +15 -1
- package/docs/README.md +1 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +19 -2
- package/docs/RELATIONSHIP_GRAPH.md +6 -3
- package/docs/REPRODUCIBLE_WORKSPACES.md +42 -8
- package/docs/SDK.md +9 -0
- package/docs/SDK_AGENT_SESSION_CONTEXT.md +6 -4
- package/docs/SDK_EVIDENCE_TRACEABILITY.md +1 -1
- package/docs/TESTING.md +83 -1
- package/docs/agent-task-token-baseline.json +2 -2
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
- package/marketplace.json +2 -2
- package/package.json +2 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/sdk/public-surface.json +1021 -53
- package/dist/cli-bundle/chunks/chunk-2MA6ZQVZ.js +0 -197
- package/dist/cli-bundle/chunks/chunk-3AFAUHUE.js +0 -2
- package/dist/cli-bundle/chunks/chunk-7VHZS727.js +0 -5
- package/dist/cli-bundle/chunks/chunk-JSLOFXGA.js +0 -3
- package/dist/cli-bundle/chunks/chunk-OCLPLFAY.js +0 -35
- package/dist/cli-bundle/chunks/chunk-S4IRYKBU.js +0 -13
- package/dist/cli-bundle/chunks/register-mutation-7IY2D5KO.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-FALL3YTU.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-7WZRLCYF.js +0 -50
- package/dist/cli-bundle/focused-chunks/chunk-CKKQSJNN.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-EEFKYMDR.js +0 -16
- package/dist/cli-bundle/focused-chunks/chunk-F2A56DHV.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-FV5ACOK7.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-JEAVFOWM.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-NJ63LOP6.js +0 -155
- package/dist/cli-bundle/focused-chunks/chunk-NXRTQ7HI.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-TJ7EMJ46.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-ZOSEELYJ.js +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7377fa65-aaa9-5d28-b3fb-a8becaf0d484")}catch(e){}}();
|
|
3
3
|
import { resolveRuntimeStatusRegistry, setActiveCommandResult, EXIT_CODE, PmCliError, createUnknownSubcommandError, resolveAuthor, resolvePmRoot, readSettings, } from "../sdk/runtime-primitives.js";
|
|
4
4
|
import { resolveStartTaskInProgressStatus } from "../sdk/start-task-status.js";
|
|
5
5
|
import { parseStatsAnalyticsJson } from "./stats-analytics-json.js";
|
|
@@ -66,6 +66,9 @@ function validateBackgroundTestOptions(options, values) {
|
|
|
66
66
|
if (options.run !== true) {
|
|
67
67
|
throw new PmCliError("--background requires --run", EXIT_CODE.USAGE);
|
|
68
68
|
}
|
|
69
|
+
if (options.acknowledgeLinkedTests === true) {
|
|
70
|
+
throw new PmCliError("--background cannot be combined with --acknowledge-linked-tests; acknowledgement is a non-executing foreground operation", EXIT_CODE.USAGE);
|
|
71
|
+
}
|
|
69
72
|
if (values.addValues.length > 0 ||
|
|
70
73
|
values.addJsonValues.length > 0 ||
|
|
71
74
|
values.removeValues.length > 0 ||
|
|
@@ -112,6 +115,12 @@ function buildRunTestOptions(options, values) {
|
|
|
112
115
|
sharedHostSafe: Boolean(options.sharedHostSafe),
|
|
113
116
|
pmContext: typeof options.pmContext === "string" ? options.pmContext : undefined,
|
|
114
117
|
overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),
|
|
118
|
+
workspaceContext: typeof options.workspaceContext === "string"
|
|
119
|
+
? options.workspaceContext
|
|
120
|
+
: undefined,
|
|
121
|
+
overrideLinkedWorkspaceContext: Boolean(options.overrideLinkedWorkspaceContext),
|
|
122
|
+
allowUntrustedLinkedTests: Boolean(options.allowUntrustedLinkedTests),
|
|
123
|
+
acknowledgeLinkedTests: Boolean(options.acknowledgeLinkedTests),
|
|
115
124
|
failOnContextMismatch: Boolean(options.failOnContextMismatch),
|
|
116
125
|
failOnSkipped: Boolean(options.failOnSkipped),
|
|
117
126
|
failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),
|
|
@@ -128,6 +137,12 @@ function buildRunTestOptions(options, values) {
|
|
|
128
137
|
metricDiff: typeof options.metricDiff === "string" ? options.metricDiff : undefined,
|
|
129
138
|
};
|
|
130
139
|
}
|
|
140
|
+
/** Public contract for test-only operation adapter coverage. */
|
|
141
|
+
export const _testOnlyRegisterOperations = {
|
|
142
|
+
buildRunTestOptions,
|
|
143
|
+
buildRunTestAllOptions,
|
|
144
|
+
validateBackgroundTestOptions,
|
|
145
|
+
};
|
|
131
146
|
async function runForegroundLinkedTests(id, options, globalOptions, values) {
|
|
132
147
|
const result = await runTest(id, buildRunTestOptions(options, values), globalOptions);
|
|
133
148
|
if (values.addValues.length > 0 ||
|
|
@@ -193,7 +208,20 @@ async function runTestAllAction(options, command) {
|
|
|
193
208
|
}
|
|
194
209
|
return;
|
|
195
210
|
}
|
|
196
|
-
const result = await runTestAll(
|
|
211
|
+
const result = await runTestAll(buildRunTestAllOptions(options), globalOptions);
|
|
212
|
+
await invalidateSearchCachesForMutation(globalOptions, {
|
|
213
|
+
ids: result.results.map((entry) => entry.id),
|
|
214
|
+
});
|
|
215
|
+
printResult(result, globalOptions);
|
|
216
|
+
if (result.failed > 0 || result.fail_on_skipped_triggered === true) {
|
|
217
|
+
process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;
|
|
218
|
+
}
|
|
219
|
+
if (globalOptions.profile) {
|
|
220
|
+
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
function buildRunTestAllOptions(options) {
|
|
224
|
+
return {
|
|
197
225
|
status: readOptionString(options, "status"),
|
|
198
226
|
limit: readOptionString(options, "limit"),
|
|
199
227
|
offset: readOptionString(options, "offset"),
|
|
@@ -206,23 +234,16 @@ async function runTestAllAction(options, command) {
|
|
|
206
234
|
sharedHostSafe: Boolean(options.sharedHostSafe),
|
|
207
235
|
pmContext: readOptionString(options, "pmContext"),
|
|
208
236
|
overrideLinkedPmContext: Boolean(options.overrideLinkedPmContext),
|
|
237
|
+
workspaceContext: readOptionString(options, "workspaceContext"),
|
|
238
|
+
overrideLinkedWorkspaceContext: Boolean(options.overrideLinkedWorkspaceContext),
|
|
239
|
+
allowUntrustedLinkedTests: Boolean(options.allowUntrustedLinkedTests),
|
|
209
240
|
failOnContextMismatch: Boolean(options.failOnContextMismatch),
|
|
210
241
|
failOnSkipped: Boolean(options.failOnSkipped),
|
|
211
242
|
failOnEmptyTestRun: Boolean(options.failOnEmptyTestRun),
|
|
212
243
|
requireAssertionsForPm: Boolean(options.requireAssertionsForPm),
|
|
213
244
|
checkContext: Boolean(options.checkContext),
|
|
214
245
|
autoPmContext: Boolean(options.autoPmContext),
|
|
215
|
-
}
|
|
216
|
-
await invalidateSearchCachesForMutation(globalOptions, {
|
|
217
|
-
ids: result.results.map((entry) => entry.id),
|
|
218
|
-
});
|
|
219
|
-
printResult(result, globalOptions);
|
|
220
|
-
if (result.failed > 0 || result.fail_on_skipped_triggered === true) {
|
|
221
|
-
process.exitCode = EXIT_CODE.DEPENDENCY_FAILED;
|
|
222
|
-
}
|
|
223
|
-
if (globalOptions.profile) {
|
|
224
|
-
printError(`profile:command=test-all took_ms=${Date.now() - startedAt}`);
|
|
225
|
-
}
|
|
246
|
+
};
|
|
226
247
|
}
|
|
227
248
|
async function runTelemetryAction(namespaceOrSubcommand, subcommand, options, command) {
|
|
228
249
|
const globalOptions = getGlobalOptions(command);
|
|
@@ -558,6 +579,9 @@ function addLinkedTestExecutionOptions(command) {
|
|
|
558
579
|
.option("--shared-host-safe", "Apply additive shared-host-safe runtime defaults for linked-test runs")
|
|
559
580
|
.option("--pm-context <mode>", "PM linked-test context mode: schema|tracker|auto (default: schema)")
|
|
560
581
|
.option("--override-linked-pm-context", "Force run-level --pm-context to override per-linked-test pm_context_mode metadata")
|
|
582
|
+
.option("--workspace-context <mode>", "Source-workspace mode: source|isolated|snapshot (default: source)")
|
|
583
|
+
.option("--override-linked-workspace-context", "Force run-level --workspace-context over per-linked-test metadata")
|
|
584
|
+
.option("--allow-untrusted-linked-tests", "Execute untrusted linked commands when project policy also permits it")
|
|
561
585
|
.option("--fail-on-context-mismatch", "Fail linked PM commands when context item counts differ")
|
|
562
586
|
.option("--fail-on-skipped", "Treat skipped linked tests as dependency failures")
|
|
563
587
|
.option("--fail-on-empty-test-run", "Treat successful linked-test commands that report zero executed tests as failures")
|
|
@@ -580,6 +604,7 @@ export function registerOperationCommands(program) {
|
|
|
580
604
|
.option("--match <value>", "Run only linked tests whose command/path contains this substring")
|
|
581
605
|
.option("--only-index <n>", "Run only the 1-based linked-test index from --list order")
|
|
582
606
|
.option("--only-last", "Run only the most recently added linked test");
|
|
607
|
+
testCommand.option("--acknowledge-linked-tests", "Trust the item's current linked commands in this clone without executing them");
|
|
583
608
|
addLinkedTestExecutionOptions(testCommand)
|
|
584
609
|
.option("--measure <value>", "Record name=value[,unit=...][,threshold=...] evidence; repeatable", collect)
|
|
585
610
|
.option("--metric-below <value>", "Return evidence below name=value")
|
|
@@ -873,4 +898,4 @@ function registerSchedulingShortcutCommands(program) {
|
|
|
873
898
|
});
|
|
874
899
|
}
|
|
875
900
|
//# sourceMappingURL=register-operations.js.map
|
|
876
|
-
//# debugId=
|
|
901
|
+
//# debugId=7377fa65-aaa9-5d28-b3fb-a8becaf0d484
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2a7939ad-52a6-5d9c-b7cf-2bc59a6b3d32")}catch(e){}}();
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { EXIT_CODE, PmCliError, } from "../sdk/runtime-primitives.js";
|
|
@@ -622,7 +622,7 @@ export function registerSetupCommands(program) {
|
|
|
622
622
|
.option("--criterion <text>", "Criteria value for definition-of-done, metadata-required-fields, or lifecycle pattern keys (repeatable for set)", collect)
|
|
623
623
|
.option("--clear-criteria", "Clear criteria-list keys for config set operations")
|
|
624
624
|
.option("--format <value>", "Item format for item-format key: toon")
|
|
625
|
-
.option("--policy <value>", "Policy key values: history-missing-stream-policy=auto_create|strict_error; sprint-release-format-policy=warn|strict_error; parent-reference-policy=warn|strict_error; governance-preset=minimal|default|strict|custom; governance-ownership-enforcement=none|warn|strict; governance-create-mode-default=progressive|strict; governance-close-validation-default=off|warn|strict; governance-require-close-reason=enabled|disabled; governance-parent-reference-policy=warn|strict_error; governance-metadata-validation-profile=core|strict|custom; governance-force-required-for-stale-lock=enabled|disabled; governance-duplicate-detection-mode=off|advisory|strict; test-result-tracking=enabled|disabled; telemetry-tracking=enabled|disabled")
|
|
625
|
+
.option("--policy <value>", "Policy key values: history-missing-stream-policy=auto_create|strict_error; sprint-release-format-policy=warn|strict_error; parent-reference-policy=warn|strict_error; governance-preset=minimal|default|strict|custom; governance-ownership-enforcement=none|warn|strict; governance-create-mode-default=progressive|strict; governance-close-validation-default=off|warn|strict; governance-require-close-reason=enabled|disabled; governance-parent-reference-policy=warn|strict_error; governance-metadata-validation-profile=core|strict|custom; governance-force-required-for-stale-lock=enabled|disabled; governance-duplicate-detection-mode=off|advisory|strict; test-result-tracking=enabled|disabled; untrusted-linked-test-execution=enabled|disabled; telemetry-tracking=enabled|disabled")
|
|
626
626
|
.option("--value <value>", "Typed nested setting value. Mutation guards: require-attributed-author=true|false, secret-guard=off|advise|block, stale-in-progress-hours=integer>=1. Kebab-case is preferred; underscore aliases remain accepted.")
|
|
627
627
|
.option("--default-depth <value>", "Context default depth: brief|standard|deep")
|
|
628
628
|
.option("--activity-limit <n>", "Context default activity limit")
|
|
@@ -673,4 +673,4 @@ export function registerSetupCommands(program) {
|
|
|
673
673
|
});
|
|
674
674
|
}
|
|
675
675
|
//# sourceMappingURL=register-setup.js.map
|
|
676
|
-
//# debugId=
|
|
676
|
+
//# debugId=2a7939ad-52a6-5d9c-b7cf-2bc59a6b3d32
|
|
@@ -5,7 +5,14 @@
|
|
|
5
5
|
* registration and its focused contract tests.
|
|
6
6
|
*/
|
|
7
7
|
import { isPureSnakeCaseAlias } from "../sdk/runtime-primitives.js";
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Return whether a token must remain on the schema-action refusal path.
|
|
10
|
+
*
|
|
11
|
+
* Bare custom-type shorthand is intentionally limited to PascalCase names.
|
|
12
|
+
* Lowercase tokens occupy the action namespace, so a misspelling such as
|
|
13
|
+
* `pm schema nonsense` cannot silently register a new type. Explicit
|
|
14
|
+
* `pm schema add-type <name>` remains available for every valid type name.
|
|
15
|
+
*/
|
|
9
16
|
export declare function looksLikeSchemaSubcommandTypo(value: string): boolean;
|
|
10
17
|
/**
|
|
11
18
|
* Parse the integer `--order` value accepted by `pm schema add-status`.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* registration and its focused contract tests.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
8
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2e6b30ea-5891-578a-9e6c-a612aa26361f")}catch(e){}}();
|
|
9
9
|
import { EXIT_CODE, PmCliError, isPureSnakeCaseAlias, } from "../sdk/runtime-primitives.js";
|
|
10
10
|
const SCHEMA_SHORTHAND_RESERVED_PREFIXES = [
|
|
11
11
|
"add-",
|
|
@@ -23,13 +23,22 @@ const SCHEMA_SHORTHAND_RESERVED_TOKENS = new Set([
|
|
|
23
23
|
"type",
|
|
24
24
|
"types",
|
|
25
25
|
]);
|
|
26
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Return whether a token must remain on the schema-action refusal path.
|
|
28
|
+
*
|
|
29
|
+
* Bare custom-type shorthand is intentionally limited to PascalCase names.
|
|
30
|
+
* Lowercase tokens occupy the action namespace, so a misspelling such as
|
|
31
|
+
* `pm schema nonsense` cannot silently register a new type. Explicit
|
|
32
|
+
* `pm schema add-type <name>` remains available for every valid type name.
|
|
33
|
+
*/
|
|
27
34
|
export function looksLikeSchemaSubcommandTypo(value) {
|
|
28
|
-
const
|
|
35
|
+
const trimmed = value.trim();
|
|
36
|
+
const normalized = trimmed.toLowerCase();
|
|
29
37
|
if (normalized.length === 0) {
|
|
30
38
|
return false;
|
|
31
39
|
}
|
|
32
|
-
return (
|
|
40
|
+
return (trimmed[0] === normalized[0] ||
|
|
41
|
+
SCHEMA_SHORTHAND_RESERVED_TOKENS.has(normalized) ||
|
|
33
42
|
SCHEMA_SHORTHAND_RESERVED_PREFIXES.some((prefix) => normalized.startsWith(prefix)));
|
|
34
43
|
}
|
|
35
44
|
/**
|
|
@@ -62,4 +71,4 @@ export function parseSchemaOrderOption(raw) {
|
|
|
62
71
|
}
|
|
63
72
|
export { isPureSnakeCaseAlias };
|
|
64
73
|
//# sourceMappingURL=schema-registration-helpers.js.map
|
|
65
|
-
//# debugId=
|
|
74
|
+
//# debugId=2e6b30ea-5891-578a-9e6c-a612aa26361f
|