@unbrained/pm-cli 2026.8.22 → 2026.8.24
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 +42 -1
- package/dist/cli/description-stdin.js +5 -4
- package/dist/cli/error-guidance.d.ts +13 -0
- package/dist/cli/error-guidance.js +62 -6
- package/dist/cli/extension-command-help.d.ts +5 -0
- package/dist/cli/extension-command-help.js +6 -2
- package/dist/cli/help-content.d.ts +5 -0
- package/dist/cli/help-content.js +56 -3
- package/dist/cli/help-json-payload.d.ts +5 -2
- package/dist/cli/help-json-payload.js +57 -17
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.js +39 -5
- package/dist/cli/register-annotations.js +5 -5
- package/dist/cli/register-mutation.js +77 -31
- 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 +155 -155
- package/dist/cli-bundle/chunks/chunk-AGUL3HUT.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-WG4STC36.js → chunk-DJNJBWAQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MYYI3ZOA.js → chunk-I5Q7QSZX.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-IW72J5FW.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-BWX4SK46.js → chunk-L22NP5MA.js} +66 -66
- package/dist/cli-bundle/chunks/chunk-MKE6MD2K.js +36 -0
- package/dist/cli-bundle/chunks/{chunk-MZTZQTMS.js → chunk-NXBFO63A.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-TEQDR5KI.js +202 -0
- package/dist/cli-bundle/chunks/chunk-X7WWQDYQ.js +2 -0
- package/dist/cli-bundle/chunks/chunk-YOLLRCLY.js +13 -0
- package/dist/cli-bundle/chunks/{chunk-U6GQ4VMV.js → chunk-ZAVCS2GH.js} +4 -4
- package/dist/cli-bundle/chunks/{register-list-query-HZKBQNWW.js → register-list-query-37A4P6O4.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-TBJDHYIT.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-WRZNEBUM.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-QK4OTOXN.js → register-setup-H4PDLACD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-GMYPD4FX.js → chunk-4WP7LNE3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-6MUTDXMP.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-6Z24ZMU3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-2ARQGDDW.js → chunk-BFA6KKCI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-CWCN5RLO.js +26 -0
- package/dist/cli-bundle/focused-chunks/chunk-FCTT4CZU.js +5 -0
- package/dist/cli-bundle/focused-chunks/chunk-GJR6YEMR.js +156 -0
- package/dist/cli-bundle/focused-chunks/{chunk-2POVTNLY.js → chunk-IMWTYKII.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-D6RBZEJJ.js → chunk-IZNRRCU3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-PMGJUFNQ.js → chunk-MNPECIRL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-A2BC5PQL.js → chunk-O4ZXNJMT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-Q63PSLO4.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-QBP5FSBX.js +4 -0
- package/dist/cli-bundle/focused-chunks/{chunk-R6SR45XU.js → chunk-QV5UP27O.js} +48 -47
- package/dist/cli-bundle/focused-chunks/chunk-RASVBJX5.js +8 -0
- package/dist/cli-bundle/focused-chunks/{chunk-E2EWYPY6.js → chunk-RPRLENVA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-TOFVXBWA.js +19 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6S2MO3Q3.js → chunk-WZLSSGEU.js} +2 -2
- package/dist/cli-bundle/main.js +18 -17
- 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 +41 -41
- 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 +6 -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/command-metadata-contract.d.ts +10 -0
- package/dist/core/extensions/command-metadata-contract.js +23 -0
- package/dist/core/extensions/command-visibility-tier.js +12 -2
- package/dist/core/extensions/extension-types.d.ts +6 -0
- package/dist/core/extensions/extension-types.js +2 -2
- package/dist/core/extensions/loader.js +4 -3
- package/dist/core/history/history.js +3 -3
- package/dist/core/io/body-file.js +7 -2
- package/dist/core/io/bulk-ids-input.d.ts +24 -0
- package/dist/core/io/bulk-ids-input.js +113 -0
- package/dist/core/item/item-format.js +66 -12
- package/dist/core/item/parse.d.ts +22 -2
- package/dist/core/item/parse.js +97 -4
- 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/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 +4 -3
- package/dist/mcp/server.js +44 -16
- package/dist/sdk/agent/identity-config.d.ts +63 -0
- package/dist/sdk/agent/identity-config.js +107 -0
- package/dist/sdk/agent/refusal-closure-census.d.ts +66 -0
- package/dist/sdk/agent/refusal-closure-census.js +144 -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-capability-contracts.d.ts +34 -1
- package/dist/sdk/agent-capability-contracts.js +104 -6
- package/dist/sdk/annotations.d.ts +2 -0
- package/dist/sdk/annotations.js +25 -7
- package/dist/sdk/cli-contracts/agent-output-contracts.js +6 -4
- 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/tool-parameter-tables.js +58 -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/typed-action-inputs.d.ts +4 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.js +2 -2
- package/dist/sdk/cli-contracts.d.ts +3 -3
- package/dist/sdk/cli-contracts.js +4 -4
- package/dist/sdk/comments.js +15 -7
- 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/scaffold.js +11 -5
- package/dist/sdk/flag-invocation-contracts.d.ts +2 -0
- package/dist/sdk/flag-invocation-contracts.js +30 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +83 -2
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +87 -2
- package/dist/sdk/governance/assurance-action.js +30 -10
- package/dist/sdk/governance/validate.d.ts +2 -2
- package/dist/sdk/governance/validate.js +39 -14
- package/dist/sdk/guide-topics.d.ts +0 -5
- package/dist/sdk/guide-topics.js +28 -2
- package/dist/sdk/history-compact.d.ts +2 -1
- package/dist/sdk/history-compact.js +24 -5
- package/dist/sdk/history-mcp.js +11 -10
- package/dist/sdk/index.d.ts +8 -2
- package/dist/sdk/index.js +9 -3
- package/dist/sdk/item-transaction.js +19 -12
- package/dist/sdk/lifecycle/append.js +4 -4
- package/dist/sdk/lifecycle/close-many.js +16 -7
- package/dist/sdk/lifecycle/create.js +33 -22
- package/dist/sdk/lifecycle/plan.js +24 -6
- package/dist/sdk/lifecycle/update-many.js +15 -8
- package/dist/sdk/lifecycle/update.d.ts +2 -0
- package/dist/sdk/lifecycle/update.js +37 -25
- package/dist/sdk/merge/three-way.js +105 -26
- 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 +5 -3
- package/dist/sdk/read-output-contracts.js +20 -12
- package/dist/sdk/reproducibility/process.d.ts +19 -0
- package/dist/sdk/reproducibility/process.js +88 -0
- package/dist/sdk/runtime-extended-actions.js +5 -3
- package/dist/sdk/runtime-input.d.ts +4 -0
- package/dist/sdk/runtime-input.js +98 -23
- package/dist/sdk/runtime-primitives.d.ts +3 -2
- package/dist/sdk/runtime-primitives.js +5 -4
- package/dist/sdk/runtime.js +11 -23
- package/dist/sdk/scheduling-shortcuts.js +5 -3
- package/dist/sdk/structured-mutations.js +10 -3
- package/dist/sdk/test/batch.d.ts +6 -0
- package/dist/sdk/test/batch.js +15 -3
- 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 +193 -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/sdk/workspace-contracts.d.ts +3 -0
- package/dist/sdk/workspace-contracts.js +3 -2
- package/dist/types.d.ts +23 -0
- package/dist/types.js +2 -2
- package/docs/AGENT_PROVENANCE_ADR.md +41 -5
- package/docs/CONFIGURATION.md +4 -0
- package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +19 -2
- package/docs/MERGE_SAFETY.md +15 -1
- package/docs/README.md +2 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +11 -1
- package/docs/RELEASING.md +40 -21
- package/docs/REPRODUCIBLE_WORKSPACES.md +42 -8
- package/docs/SCRIPTING.md +62 -3
- package/docs/SDK.md +17 -0
- package/docs/SDK_AGENT_SESSION_CONTEXT.md +6 -4
- package/docs/SDK_EVIDENCE_TRACEABILITY.md +1 -1
- package/docs/TESTING.md +75 -8
- package/docs/agent-task-token-baseline.json +2 -2
- package/docs/generated/AGENT_CAPABILITY_ROUTING.md +17 -0
- package/docs/generated/AGENT_COMMAND_SURFACE.md +1 -1
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +355 -0
- 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/README.md +9 -11
- package/packages/pm-command-kit/extensions/command-kit/index.ts +3 -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/extensions/guide-shell/index.ts +10 -0
- 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/scripts/generate-agent-capability-surfaces.mjs +27 -1
- package/sdk/public-surface.json +642 -28
- package/dist/cli-bundle/chunks/chunk-EMWDM5FI.js +0 -13
- package/dist/cli-bundle/chunks/chunk-HYG6LRL4.js +0 -200
- package/dist/cli-bundle/chunks/chunk-QI2CT3IX.js +0 -2
- package/dist/cli-bundle/chunks/chunk-SMWXHMVB.js +0 -35
- package/dist/cli-bundle/chunks/chunk-VMMIL3SI.js +0 -2
- package/dist/cli-bundle/chunks/chunk-YBPJAOQQ.js +0 -3
- package/dist/cli-bundle/chunks/register-mutation-HTKEEGRD.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-6EMRWJJY.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2AZT5WXZ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-3LKU6PTJ.js +0 -4
- package/dist/cli-bundle/focused-chunks/chunk-5SHSBMX2.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-C4S4A4JJ.js +0 -5
- package/dist/cli-bundle/focused-chunks/chunk-L5LDSRO2.js +0 -155
- package/dist/cli-bundle/focused-chunks/chunk-MB37AYN6.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-MCOR37QK.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PH2OXXVZ.js +0 -18
- package/dist/cli-bundle/focused-chunks/chunk-WZE4LIPW.js +0 -8
package/dist/sdk/config.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements the pm config command surface and its agent-facing runtime behavior.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2f750f85-6c55-5f0f-b5c0-396764839d2a")}catch(e){}}();
|
|
8
8
|
import { resolveConfigPositionalValue, } from "../core/config/positional-value.js";
|
|
9
9
|
import { NESTED_SETTING_DESCRIPTORS, parseNestedSettingValue, readNestedSettingValue, resolveNestedSettingDescriptor, writeNestedSettingValue, } from "../core/config/nested-settings.js";
|
|
10
10
|
import { getActiveExtensionRegistrations } from "../core/extensions/index.js";
|
|
@@ -16,6 +16,7 @@ import { resolveItemTypesFilePath } from "../core/schema/runtime-schema.js";
|
|
|
16
16
|
import { EXIT_CODE } from "../core/shared/constants.js";
|
|
17
17
|
import { PmCliError } from "../core/shared/errors.js";
|
|
18
18
|
import { createUnknownSubcommandError } from "./agent/subcommand-recovery.js";
|
|
19
|
+
import { planAgentIdentityVocabularyMutation, summarizeAgentIdentityVocabulary, } from "./agent/identity-config.js";
|
|
19
20
|
import { assertInitializedTracker } from "./environment/tracker-preflight.js";
|
|
20
21
|
import { migrateItemFilesToFormat } from "../core/store/item-format-migration.js";
|
|
21
22
|
import { getSettingsPath, resolveGlobalPmRoot, resolvePmRoot, } from "../core/store/paths.js";
|
|
@@ -99,7 +100,15 @@ const CONFIG_KEY_ALIASES = {
|
|
|
99
100
|
"governance_force_required_for_stale_lock",
|
|
100
101
|
],
|
|
101
102
|
test_result_tracking: ["test-result-tracking", "test_result_tracking"],
|
|
103
|
+
untrusted_linked_test_execution: [
|
|
104
|
+
"untrusted-linked-test-execution",
|
|
105
|
+
"untrusted_linked_test_execution",
|
|
106
|
+
],
|
|
102
107
|
telemetry_tracking: ["telemetry-tracking", "telemetry_tracking"],
|
|
108
|
+
agent_identity_vocabulary: [
|
|
109
|
+
"agent-identity-vocabulary",
|
|
110
|
+
"agent_identity_vocabulary",
|
|
111
|
+
],
|
|
103
112
|
context: ["context"],
|
|
104
113
|
};
|
|
105
114
|
// Canonical kebab-case forms (first alias entry per key). Used for the invalid-key
|
|
@@ -130,7 +139,9 @@ const CONFIG_KEY_SUMMARIES = {
|
|
|
130
139
|
governance_metadata_validation_profile: "Governance metadata validation profile (core|strict|custom).",
|
|
131
140
|
governance_force_required_for_stale_lock: "Governance stale-lock force policy (enabled|disabled).",
|
|
132
141
|
test_result_tracking: "Item-level linked test result persistence policy.",
|
|
142
|
+
untrusted_linked_test_execution: "Permit an explicit per-run override for commands not trusted by this clone.",
|
|
133
143
|
telemetry_tracking: "Telemetry usage reporting policy.",
|
|
144
|
+
agent_identity_vocabulary: "Versioned exact legacy-author interpretation vocabulary (summary only).",
|
|
134
145
|
context: "Context command settings (depth, section toggles, limits).",
|
|
135
146
|
};
|
|
136
147
|
const LIFECYCLE_PATTERN_CONFIG_KEYS = [
|
|
@@ -145,6 +156,7 @@ const CRITERIA_CONFIG_KEYS = new Set([
|
|
|
145
156
|
]);
|
|
146
157
|
const TRACKING_CONFIG_KEYS = new Set([
|
|
147
158
|
"test_result_tracking",
|
|
159
|
+
"untrusted_linked_test_execution",
|
|
148
160
|
"telemetry_tracking",
|
|
149
161
|
]);
|
|
150
162
|
const GOVERNANCE_BOOLEAN_CONFIG_KEYS = new Set([
|
|
@@ -232,11 +244,14 @@ function normalizeHistoryMissingStreamPolicy(value) {
|
|
|
232
244
|
throw new PmCliError("Config set history-missing-stream-policy requires --policy with one of: auto_create, strict_error", EXIT_CODE.USAGE);
|
|
233
245
|
}
|
|
234
246
|
function normalizeTestResultTrackingPolicy(value) {
|
|
247
|
+
return normalizeEnabledDisabledPolicy(value, "test-result-tracking");
|
|
248
|
+
}
|
|
249
|
+
function normalizeEnabledDisabledPolicy(value, key) {
|
|
235
250
|
const normalized = value?.trim().toLowerCase().replaceAll("-", "_");
|
|
236
251
|
if (normalized === "enabled" || normalized === "disabled") {
|
|
237
252
|
return normalized;
|
|
238
253
|
}
|
|
239
|
-
throw new PmCliError(
|
|
254
|
+
throw new PmCliError(`Config set ${key} requires --policy with one of: enabled, disabled`, EXIT_CODE.USAGE);
|
|
240
255
|
}
|
|
241
256
|
function normalizeTelemetryTrackingPolicy(value) {
|
|
242
257
|
const normalized = value?.trim().toLowerCase().replaceAll("-", "_");
|
|
@@ -320,7 +335,15 @@ function normalizeGovernanceRequireCloseReasonPolicy(value) {
|
|
|
320
335
|
}
|
|
321
336
|
throw new PmCliError("Config set governance-require-close-reason requires --policy with one of: enabled, disabled", EXIT_CODE.USAGE);
|
|
322
337
|
}
|
|
338
|
+
const ENABLED_DISABLED_CONFLICT_POLICY_KEYS = {
|
|
339
|
+
test_result_tracking: "test-result-tracking",
|
|
340
|
+
untrusted_linked_test_execution: "untrusted-linked-test-execution",
|
|
341
|
+
};
|
|
323
342
|
function normalizePolicyForConflict(key, value) {
|
|
343
|
+
const enabledDisabledKey = ENABLED_DISABLED_CONFLICT_POLICY_KEYS[key];
|
|
344
|
+
if (enabledDisabledKey) {
|
|
345
|
+
return normalizeEnabledDisabledPolicy(value, enabledDisabledKey);
|
|
346
|
+
}
|
|
324
347
|
switch (key) {
|
|
325
348
|
case "history_missing_stream_policy":
|
|
326
349
|
return normalizeHistoryMissingStreamPolicy(value);
|
|
@@ -346,8 +369,6 @@ function normalizePolicyForConflict(key, value) {
|
|
|
346
369
|
return normalizeGovernanceWorkflowEnforcement(value);
|
|
347
370
|
case "governance_force_required_for_stale_lock":
|
|
348
371
|
return normalizeGovernanceForceRequiredForStaleLockPolicy(value);
|
|
349
|
-
case "test_result_tracking":
|
|
350
|
-
return normalizeTestResultTrackingPolicy(value);
|
|
351
372
|
case "telemetry_tracking":
|
|
352
373
|
return normalizeTelemetryTrackingPolicy(value);
|
|
353
374
|
default:
|
|
@@ -477,7 +498,9 @@ const CONFIG_VALUE_READERS = {
|
|
|
477
498
|
governance_metadata_validation_profile: (settings) => settings.governance.metadata_profile,
|
|
478
499
|
governance_force_required_for_stale_lock: (settings) => settings.governance.force_required_for_stale_lock ? "enabled" : "disabled",
|
|
479
500
|
test_result_tracking: (settings) => settings.testing.record_results_to_items ? "enabled" : "disabled",
|
|
501
|
+
untrusted_linked_test_execution: (settings) => settings.testing.allow_untrusted_linked_tests ? "enabled" : "disabled",
|
|
480
502
|
telemetry_tracking: (settings) => settings.telemetry.enabled ? "enabled" : "disabled",
|
|
503
|
+
agent_identity_vocabulary: (settings) => summarizeAgentIdentityVocabulary(settings.agent_identity?.identity_vocabulary),
|
|
481
504
|
context: (settings) => ({
|
|
482
505
|
default_depth: settings.context.default_depth,
|
|
483
506
|
activity_limit: settings.context.activity_limit,
|
|
@@ -642,7 +665,7 @@ function buildConfigListResult(context) {
|
|
|
642
665
|
const keys = Object.keys(CONFIG_KEY_ALIASES).map((candidate) => ({
|
|
643
666
|
key: candidate,
|
|
644
667
|
aliases: CONFIG_KEY_ALIASES[candidate],
|
|
645
|
-
value_kind: candidate === "context"
|
|
668
|
+
value_kind: candidate === "context" || candidate === "agent_identity_vocabulary"
|
|
646
669
|
? "object"
|
|
647
670
|
: isCriteriaConfigKey(candidate)
|
|
648
671
|
? "string_array"
|
|
@@ -654,11 +677,13 @@ function buildConfigListResult(context) {
|
|
|
654
677
|
"--stale-threshold-days",
|
|
655
678
|
"--section-<name>",
|
|
656
679
|
]
|
|
657
|
-
:
|
|
658
|
-
? ["--
|
|
659
|
-
: candidate
|
|
660
|
-
? ["--
|
|
661
|
-
:
|
|
680
|
+
: candidate === "agent_identity_vocabulary"
|
|
681
|
+
? ["--policy", "--value", "--criterion"]
|
|
682
|
+
: isCriteriaConfigKey(candidate)
|
|
683
|
+
? ["--criterion", "--clear-criteria"]
|
|
684
|
+
: candidate === "item_format"
|
|
685
|
+
? ["--format"]
|
|
686
|
+
: ["--policy"],
|
|
662
687
|
summary: CONFIG_KEY_SUMMARIES[candidate],
|
|
663
688
|
value: readConfigValue(context.settings, candidate),
|
|
664
689
|
}));
|
|
@@ -669,9 +694,7 @@ function buildConfigListResult(context) {
|
|
|
669
694
|
kind: descriptor.kind,
|
|
670
695
|
value: readNestedSettingValue(context.settings, descriptor),
|
|
671
696
|
summary: descriptor.summary,
|
|
672
|
-
...(descriptor.choices
|
|
673
|
-
? { choices: [...descriptor.choices] }
|
|
674
|
-
: {}),
|
|
697
|
+
...(descriptor.choices ? { choices: [...descriptor.choices] } : {}),
|
|
675
698
|
...(descriptor.min === undefined ? {} : { min: descriptor.min }),
|
|
676
699
|
...(descriptor.max === undefined ? {} : { max: descriptor.max }),
|
|
677
700
|
}));
|
|
@@ -714,6 +737,12 @@ function buildConfigGetResult(context, key) {
|
|
|
714
737
|
if (key === "context") {
|
|
715
738
|
return withWarnings({ ...base, context_settings: value }, context.warnings);
|
|
716
739
|
}
|
|
740
|
+
if (key === "agent_identity_vocabulary") {
|
|
741
|
+
return withWarnings({
|
|
742
|
+
...base,
|
|
743
|
+
identity_vocabulary: value,
|
|
744
|
+
}, context.warnings);
|
|
745
|
+
}
|
|
717
746
|
if (Array.isArray(value)) {
|
|
718
747
|
return withWarnings({ ...base, criteria: value }, context.warnings);
|
|
719
748
|
}
|
|
@@ -987,6 +1016,16 @@ async function setTrackingConfig(context, key, options) {
|
|
|
987
1016
|
await writeConfigSettingsIfChanged(context, changed, "config:set:test_result_tracking");
|
|
988
1017
|
return buildPolicyResult(context, key, context.settings.testing.record_results_to_items ? "enabled" : "disabled", changed);
|
|
989
1018
|
}
|
|
1019
|
+
if (key === "untrusted_linked_test_execution") {
|
|
1020
|
+
const nextPolicy = normalizeEnabledDisabledPolicy(options.policy, "untrusted-linked-test-execution");
|
|
1021
|
+
const nextEnabled = nextPolicy === "enabled";
|
|
1022
|
+
const changed = context.settings.testing.allow_untrusted_linked_tests !== nextEnabled;
|
|
1023
|
+
context.settings.testing.allow_untrusted_linked_tests = nextEnabled;
|
|
1024
|
+
await writeConfigSettingsIfChanged(context, changed, "config:set:untrusted_linked_test_execution");
|
|
1025
|
+
return buildPolicyResult(context, key, context.settings.testing.allow_untrusted_linked_tests
|
|
1026
|
+
? "enabled"
|
|
1027
|
+
: "disabled", changed);
|
|
1028
|
+
}
|
|
990
1029
|
const nextPolicy = normalizeTelemetryTrackingPolicy(options.policy);
|
|
991
1030
|
const nextEnabled = nextPolicy === "enabled";
|
|
992
1031
|
const changed = context.settings.telemetry.enabled !== nextEnabled ||
|
|
@@ -1005,6 +1044,69 @@ async function setDefinitionOfDoneConfig(context, key, options) {
|
|
|
1005
1044
|
await writeConfigSettingsIfChanged(context, changed, "config:set:definition_of_done");
|
|
1006
1045
|
return buildCriteriaResult(context, key, [...context.settings.workflow.definition_of_done], changed);
|
|
1007
1046
|
}
|
|
1047
|
+
function parseAgentIdentityVocabularyOperation(raw) {
|
|
1048
|
+
const policy = raw?.trim().toLowerCase().replaceAll("_", "-");
|
|
1049
|
+
const dryRun = policy?.startsWith("preview-") === true;
|
|
1050
|
+
const operation = dryRun ? policy.slice("preview-".length) : policy;
|
|
1051
|
+
if (operation === "add" || operation === "remove" || operation === "clear") {
|
|
1052
|
+
return { operation, dryRun };
|
|
1053
|
+
}
|
|
1054
|
+
throw new PmCliError("Config set agent-identity-vocabulary requires --policy add|remove|clear|preview-add|preview-remove|preview-clear", EXIT_CODE.USAGE);
|
|
1055
|
+
}
|
|
1056
|
+
function parseAgentIdentityVocabularyMutationValue(operation, value) {
|
|
1057
|
+
if (operation === "add") {
|
|
1058
|
+
const separator = value?.lastIndexOf("=") ?? -1;
|
|
1059
|
+
if (separator <= 0 || separator === value.length - 1) {
|
|
1060
|
+
throw new PmCliError('Config set agent-identity-vocabulary --policy add requires --value "<legacy-author>=<canonical-harness>"', EXIT_CODE.USAGE);
|
|
1061
|
+
}
|
|
1062
|
+
return {
|
|
1063
|
+
legacy_author: value.slice(0, separator),
|
|
1064
|
+
canonical_harness: value.slice(separator + 1),
|
|
1065
|
+
};
|
|
1066
|
+
}
|
|
1067
|
+
if (operation === "remove") {
|
|
1068
|
+
if (value === undefined) {
|
|
1069
|
+
throw new PmCliError("Config set agent-identity-vocabulary --policy remove requires --value <legacy-author>", EXIT_CODE.USAGE);
|
|
1070
|
+
}
|
|
1071
|
+
return { legacy_author: value };
|
|
1072
|
+
}
|
|
1073
|
+
if (value !== undefined) {
|
|
1074
|
+
throw new PmCliError("Config set agent-identity-vocabulary --policy clear does not accept --value", EXIT_CODE.USAGE);
|
|
1075
|
+
}
|
|
1076
|
+
return {};
|
|
1077
|
+
}
|
|
1078
|
+
async function setAgentIdentityVocabularyConfig(context, options) {
|
|
1079
|
+
const { operation, dryRun } = parseAgentIdentityVocabularyOperation(options.policy);
|
|
1080
|
+
const mutationValue = parseAgentIdentityVocabularyMutationValue(operation, options.value);
|
|
1081
|
+
let planned;
|
|
1082
|
+
try {
|
|
1083
|
+
planned = planAgentIdentityVocabularyMutation(context.settings.agent_identity?.identity_vocabulary, {
|
|
1084
|
+
operation,
|
|
1085
|
+
...mutationValue,
|
|
1086
|
+
observed_authors: options.criterion,
|
|
1087
|
+
});
|
|
1088
|
+
}
|
|
1089
|
+
catch (error) {
|
|
1090
|
+
throw new PmCliError(error.message, EXIT_CODE.USAGE);
|
|
1091
|
+
}
|
|
1092
|
+
if (planned.preview.changed && !dryRun) {
|
|
1093
|
+
context.settings.agent_identity = {
|
|
1094
|
+
...context.settings.agent_identity,
|
|
1095
|
+
identity_vocabulary: planned.vocabulary,
|
|
1096
|
+
};
|
|
1097
|
+
await writeConfigSettingsIfChanged(context, true, `config:set:agent_identity.identity_vocabulary:${operation}:v${planned.preview.version_after}`);
|
|
1098
|
+
}
|
|
1099
|
+
return withWarnings({
|
|
1100
|
+
scope: context.scope,
|
|
1101
|
+
key: "agent_identity_vocabulary",
|
|
1102
|
+
identity_vocabulary: summarizeAgentIdentityVocabulary(dryRun
|
|
1103
|
+
? context.settings.agent_identity?.identity_vocabulary
|
|
1104
|
+
: planned.vocabulary),
|
|
1105
|
+
vocabulary_mutation: planned.preview,
|
|
1106
|
+
settings_path: context.target.settingsPath,
|
|
1107
|
+
changed: planned.preview.changed && !dryRun,
|
|
1108
|
+
}, context.warnings);
|
|
1109
|
+
}
|
|
1008
1110
|
async function setConfigValue(context, key, options) {
|
|
1009
1111
|
if (options.clearCriteria === true && !isCriteriaConfigKey(key)) {
|
|
1010
1112
|
throw new PmCliError("--clear-criteria is only supported with config set criteria-list keys", EXIT_CODE.USAGE);
|
|
@@ -1015,6 +1117,9 @@ async function setConfigValue(context, key, options) {
|
|
|
1015
1117
|
if (key === "context") {
|
|
1016
1118
|
return applyContextConfig(context.settings, options, context.target, context.scope, context.warnings);
|
|
1017
1119
|
}
|
|
1120
|
+
if (key === "agent_identity_vocabulary") {
|
|
1121
|
+
return setAgentIdentityVocabularyConfig(context, options);
|
|
1122
|
+
}
|
|
1018
1123
|
if (key === "definition_of_done") {
|
|
1019
1124
|
return setDefinitionOfDoneConfig(context, key, options);
|
|
1020
1125
|
}
|
|
@@ -1097,4 +1202,4 @@ export const _testOnlyConfigCommand = {
|
|
|
1097
1202
|
normalizeWarnings,
|
|
1098
1203
|
};
|
|
1099
1204
|
//# sourceMappingURL=config.js.map
|
|
1100
|
-
//# debugId=
|
|
1205
|
+
//# debugId=2f750f85-6c55-5f0f-b5c0-396764839d2a
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* workspace configuration, and packages.
|
|
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]="da15ca02-02cc-5886-8c82-610939b8581c")}catch(e){}}();
|
|
9
9
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
10
10
|
import { renderPmCommand } from "./command-line.js";
|
|
11
11
|
import { attachOutputOmissionReceipt } from "./output-projection.js";
|
|
@@ -202,6 +202,8 @@ export function resolveContextIntentContract(command, intent, contracts = getAct
|
|
|
202
202
|
code: "unknown_context_intent",
|
|
203
203
|
reason: "unknown_intent",
|
|
204
204
|
field: "for",
|
|
205
|
+
flag: "--for",
|
|
206
|
+
value: normalizedIntent,
|
|
205
207
|
required: `Use a declared ${normalizedCommand} intent.`,
|
|
206
208
|
why: "Intent names are command-local contracts and cannot be inferred from output section names.",
|
|
207
209
|
nextSteps: [suggestedCommand],
|
|
@@ -701,4 +703,4 @@ export function attachReadOutputContracts(command, options, result) {
|
|
|
701
703
|
return stabilizeSuppressedRowContractReceipts(Object.fromEntries(Object.entries(projected).filter(([key]) => key !== "row_contract")), options);
|
|
702
704
|
}
|
|
703
705
|
//# sourceMappingURL=context-intent-contracts.js.map
|
|
704
|
-
//# debugId=
|
|
706
|
+
//# debugId=da15ca02-02cc-5886-8c82-610939b8581c
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Defines the shared agent-provenance and CLI-completeness governance surface
|
|
5
5
|
* exposed by both the focused core entrypoint and the complete SDK barrel.
|
|
6
6
|
*/
|
|
7
|
-
export { AGENT_PROVENANCE_DIMENSIONS, BUILTIN_HARNESS_SIGNAL_DESCRIPTORS, diagnoseAgentIdentity, detectAgentIdentity, detectHarnessIdentity, readAuthorEnvironment, registerHarnessSignalDescriptors, resolveAuthorIdentity, runWithHarnessDetectionSignals, runWithWorkspaceHarnessSignalDescriptors, writeAuthorEnvironment, type AgentClientInfo, type AgentModelSource, type AgentProvenance, type AgentProvenanceAbsenceReason, type AgentProvenanceObservation, type AgentProvenanceOutcome, type AuthorSource, type DetectedAgentIdentity, type DiagnosedAgentIdentity, type HarnessDetectionSignals, type HarnessSignalDescriptor, type ResolvedAuthorIdentity, } from "../core/shared/author.js";
|
|
7
|
+
export { AGENT_PROVENANCE_DIMENSIONS, BUILTIN_AGENT_PROVENANCE_ADAPTERS, BUILTIN_HARNESS_SIGNAL_DESCRIPTORS, diagnoseAgentIdentity, detectAgentIdentity, detectHarnessIdentity, listAgentProvenanceAdapters, normalizeAgentProvenanceAdapterValue, readAuthorEnvironment, registerHarnessSignalDescriptors, registerAgentProvenanceAdapters, resolveAuthorIdentity, runWithHarnessDetectionSignals, runWithWorkspaceHarnessSignalDescriptors, writeAuthorEnvironment, type AgentClientInfo, type AgentProvenanceAdapter, type AgentModelSource, type AgentProvenance, type AgentProvenanceAbsenceReason, type AgentProvenanceObservation, type AgentProvenanceOutcome, type NormalizedAgentProvenanceAdapterValue, type AuthorSource, type DetectedAgentIdentity, type DiagnosedAgentIdentity, type HarnessDetectionSignals, type HarnessSignalDescriptor, type ResolvedAuthorIdentity, } from "../core/shared/author.js";
|
|
8
8
|
export { SEMANTIC_ATTRIBUTION_LIMITS, recordClaimSemanticAttribution, recordFocusSemanticAttribution, recordReleaseSemanticAttribution, resolveSemanticLineageIds, semanticAttributionAffinity, } from "./context/semantic-session-attribution.js";
|
|
9
9
|
export { explainSourceTraceability, parseSourceLineRange, type SourceDecisionPath, type SourceLineRange, type SourceTraceabilityEvidence, type SourceTraceabilityExplanation, type SourceTraceabilityRationale, type SourceTraceabilityReceipt, } from "./traceability/source-traceability.js";
|
|
10
10
|
export { analyzeAgentProvenanceDescriptorCoverage, evaluateSemanticAttributionCoverage, groupHistoryByEpisode, resolveHistoryEpisodeGroupIdentity, summarizeAgentProvenance, summarizeAgentModelProvenance, type AgentEpisodeGroup, type AgentModelProvenanceCoverage, type AgentProvenanceDimensionCoverage, type AgentProvenanceDescriptorCoverage, type AgentSemanticAttributionCoverage, type AgentSemanticAttributionCoverageGate, } from "./provenance.js";
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* exposed by both the focused core entrypoint and the complete SDK barrel.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
9
|
-
export { AGENT_PROVENANCE_DIMENSIONS, BUILTIN_HARNESS_SIGNAL_DESCRIPTORS, diagnoseAgentIdentity, detectAgentIdentity, detectHarnessIdentity, readAuthorEnvironment, registerHarnessSignalDescriptors, resolveAuthorIdentity, runWithHarnessDetectionSignals, runWithWorkspaceHarnessSignalDescriptors, writeAuthorEnvironment, } from "../core/shared/author.js";
|
|
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]="cea03617-5e90-5683-a9d1-289087ed4646")}catch(e){}}();
|
|
9
|
+
export { AGENT_PROVENANCE_DIMENSIONS, BUILTIN_AGENT_PROVENANCE_ADAPTERS, BUILTIN_HARNESS_SIGNAL_DESCRIPTORS, diagnoseAgentIdentity, detectAgentIdentity, detectHarnessIdentity, listAgentProvenanceAdapters, normalizeAgentProvenanceAdapterValue, readAuthorEnvironment, registerHarnessSignalDescriptors, registerAgentProvenanceAdapters, resolveAuthorIdentity, runWithHarnessDetectionSignals, runWithWorkspaceHarnessSignalDescriptors, writeAuthorEnvironment, } from "../core/shared/author.js";
|
|
10
10
|
export { SEMANTIC_ATTRIBUTION_LIMITS, recordClaimSemanticAttribution, recordFocusSemanticAttribution, recordReleaseSemanticAttribution, resolveSemanticLineageIds, semanticAttributionAffinity, } from "./context/semantic-session-attribution.js";
|
|
11
11
|
export { explainSourceTraceability, parseSourceLineRange, } from "./traceability/source-traceability.js";
|
|
12
12
|
export { analyzeAgentProvenanceDescriptorCoverage, evaluateSemanticAttributionCoverage, groupHistoryByEpisode, resolveHistoryEpisodeGroupIdentity, summarizeAgentProvenance, summarizeAgentModelProvenance, } from "./provenance.js";
|
|
13
13
|
export { analyzeSdkCliParameterCompleteness, } from "./cli-contracts.js";
|
|
14
14
|
//# sourceMappingURL=core-governance.js.map
|
|
15
|
-
//# debugId=
|
|
15
|
+
//# debugId=cea03617-5e90-5683-a9d1-289087ed4646
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements extension package-management support for Scaffold.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5321d574-4de4-5f94-99db-0c49639673fc")}catch(e){}}();
|
|
8
8
|
import fs from "node:fs/promises";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { pathExists } from "../../core/fs/fs-utils.js";
|
|
@@ -1483,6 +1483,12 @@ function buildDeclarativeCapabilityTestBlock(extensionName, commandName, capabil
|
|
|
1483
1483
|
"",
|
|
1484
1484
|
" // The starter provider reads only document title/id, so `settings` is a minimal",
|
|
1485
1485
|
" // typed stub and `documents` carry just the fields it inspects.",
|
|
1486
|
+
" const settings = {",
|
|
1487
|
+
" testing: {",
|
|
1488
|
+
" record_results_to_items: false,",
|
|
1489
|
+
" allow_untrusted_linked_tests: false,",
|
|
1490
|
+
" },",
|
|
1491
|
+
" } as PmSettings;",
|
|
1486
1492
|
" const query = await ext.runSearchProvider({",
|
|
1487
1493
|
` provider: ${JSON.stringify(searchProviderName)},`,
|
|
1488
1494
|
' operation: "query",',
|
|
@@ -1491,7 +1497,7 @@ function buildDeclarativeCapabilityTestBlock(extensionName, commandName, capabil
|
|
|
1491
1497
|
' mode: "semantic",',
|
|
1492
1498
|
' tokens: ["sync"],',
|
|
1493
1499
|
" options: {},",
|
|
1494
|
-
" settings
|
|
1500
|
+
" settings,",
|
|
1495
1501
|
" documents: [",
|
|
1496
1502
|
' { metadata: { id: "pm-1", title: "Sync external context" }, body: "" },',
|
|
1497
1503
|
' { metadata: { id: "pm-2", title: "Unrelated task" }, body: "" },',
|
|
@@ -1503,14 +1509,14 @@ function buildDeclarativeCapabilityTestBlock(extensionName, commandName, capabil
|
|
|
1503
1509
|
" const embedding = await ext.runSearchProvider({",
|
|
1504
1510
|
` provider: ${JSON.stringify(searchProviderName)},`,
|
|
1505
1511
|
' operation: "embed",',
|
|
1506
|
-
' context: { input: "abc", settings
|
|
1512
|
+
' context: { input: "abc", settings, model: "starter-model" },',
|
|
1507
1513
|
" });",
|
|
1508
1514
|
" assert.deepEqual(embedding, [3]);",
|
|
1509
1515
|
"",
|
|
1510
1516
|
" const vectorHits = await ext.runVectorStoreAdapter({",
|
|
1511
1517
|
` adapter: ${JSON.stringify(vectorAdapterName)},`,
|
|
1512
1518
|
' operation: "query",',
|
|
1513
|
-
" context: { vector: [0.1, 0.2], limit: 2, settings
|
|
1519
|
+
" context: { vector: [0.1, 0.2], limit: 2, settings },",
|
|
1514
1520
|
" });",
|
|
1515
1521
|
' assert.deepEqual(vectorHits, [{ id: "starter-vector-hit", score: 2 }]);',
|
|
1516
1522
|
]),
|
|
@@ -2300,4 +2306,4 @@ export async function scaffoldExtensionProject(target, vocabulary = "extension",
|
|
|
2300
2306
|
};
|
|
2301
2307
|
}
|
|
2302
2308
|
//# sourceMappingURL=scaffold.js.map
|
|
2303
|
-
//# debugId=
|
|
2309
|
+
//# debugId=5321d574-4de4-5f94-99db-0c49639673fc
|
|
@@ -24,6 +24,8 @@ export interface CliFlagInvocationContract extends CliFlagContract {
|
|
|
24
24
|
input_sources: CliFlagInputSource[];
|
|
25
25
|
/** Sentinel that redirects the argv value to stdin. */
|
|
26
26
|
stdin_token?: "-";
|
|
27
|
+
/** Prefix that redirects the argv value to a file path. */
|
|
28
|
+
file_token_prefix?: "@";
|
|
27
29
|
}
|
|
28
30
|
/** Executable option arity observed from the registered Commander program. */
|
|
29
31
|
export interface CliFlagArityObservation {
|
|
@@ -1,8 +1,8 @@
|
|
|
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]="7ef5cc14-ad6b-5cce-a1a1-e5cfac85fbc2")}catch(e){}}();
|
|
3
3
|
const FLAG_DESCRIPTIONS = Object.freeze({
|
|
4
4
|
"--body": "Set the item body.",
|
|
5
|
-
"--body-file": "Read the item body from a file
|
|
5
|
+
"--body-file": "Read the item body from a file, or from stdin when set to -.",
|
|
6
6
|
"--description": "Set the item description.",
|
|
7
7
|
"--stdin": "Read the value from stdin.",
|
|
8
8
|
"--stdin-json": "Read a complete JSON document from stdin.",
|
|
@@ -12,13 +12,16 @@ const STDIN_TOKEN_FLAGS = new Set([
|
|
|
12
12
|
"--body",
|
|
13
13
|
"--comment",
|
|
14
14
|
"--dep",
|
|
15
|
+
"--dep-remove",
|
|
15
16
|
"--description",
|
|
16
17
|
"--doc",
|
|
18
|
+
"--event",
|
|
17
19
|
"--field",
|
|
18
20
|
"--file",
|
|
19
21
|
"--learning",
|
|
20
22
|
"--note",
|
|
21
23
|
"--remove",
|
|
24
|
+
"--reminder",
|
|
22
25
|
"--test",
|
|
23
26
|
"--type-option",
|
|
24
27
|
]);
|
|
@@ -32,6 +35,22 @@ const STDIN_VALUE_COMMANDS = new Set([
|
|
|
32
35
|
"notes",
|
|
33
36
|
"test",
|
|
34
37
|
"update",
|
|
38
|
+
"update-many",
|
|
39
|
+
]);
|
|
40
|
+
const FILE_OR_STDIN_COMMAND_FLAGS = new Set([
|
|
41
|
+
"close-many:--ids",
|
|
42
|
+
"comments:--file",
|
|
43
|
+
"create:--body-file",
|
|
44
|
+
"history-compact:--ids",
|
|
45
|
+
"learnings:--file",
|
|
46
|
+
"notes:--file",
|
|
47
|
+
"update:--body-file",
|
|
48
|
+
"update-many:--ids",
|
|
49
|
+
]);
|
|
50
|
+
const AT_PATH_FILE_COMMAND_FLAGS = new Set([
|
|
51
|
+
"close-many:--ids",
|
|
52
|
+
"history-compact:--ids",
|
|
53
|
+
"update-many:--ids",
|
|
35
54
|
]);
|
|
36
55
|
const BOOLEAN_FLAG_PREFIXES = [
|
|
37
56
|
"--allow-",
|
|
@@ -68,6 +87,7 @@ const BOOLEAN_FLAG_NAMES = new Set([
|
|
|
68
87
|
"--all-affected-ids",
|
|
69
88
|
"--all-day",
|
|
70
89
|
"--all-streams",
|
|
90
|
+
"--acknowledge-linked-tests",
|
|
71
91
|
"--append-stable",
|
|
72
92
|
"--auto-fix",
|
|
73
93
|
"--auto-pm-context",
|
|
@@ -133,6 +153,7 @@ const BOOLEAN_FLAG_NAMES = new Set([
|
|
|
133
153
|
"--only-last",
|
|
134
154
|
"--output-row-contract",
|
|
135
155
|
"--override-linked-pm-context",
|
|
156
|
+
"--override-linked-workspace-context",
|
|
136
157
|
"--packages-only",
|
|
137
158
|
"--past",
|
|
138
159
|
"--phrase-exact",
|
|
@@ -191,6 +212,9 @@ const OPTIONAL_VALUE_FLAGS = new Set(["--regression"]);
|
|
|
191
212
|
function resolveFlagInputSources(command, flag) {
|
|
192
213
|
if (flag === "--stdin" || flag === "--stdin-json")
|
|
193
214
|
return ["stdin"];
|
|
215
|
+
if (FILE_OR_STDIN_COMMAND_FLAGS.has(`${command}:${flag}`)) {
|
|
216
|
+
return ["argv", "file", "stdin"];
|
|
217
|
+
}
|
|
194
218
|
if (flag.endsWith("-file"))
|
|
195
219
|
return ["argv", "file"];
|
|
196
220
|
if (STDIN_TOKEN_FLAGS.has(flag) && STDIN_VALUE_COMMANDS.has(command)) {
|
|
@@ -241,6 +265,9 @@ export function enrichCliFlagInvocationContract(command, contract) {
|
|
|
241
265
|
contract.flag !== "--stdin-json"
|
|
242
266
|
? { stdin_token: "-" }
|
|
243
267
|
: {}),
|
|
268
|
+
...(AT_PATH_FILE_COMMAND_FLAGS.has(`${command}:${contract.flag}`)
|
|
269
|
+
? { file_token_prefix: "@" }
|
|
270
|
+
: {}),
|
|
244
271
|
};
|
|
245
272
|
}
|
|
246
273
|
/** Enrich a complete command flag table without mutating package-owned rows. */
|
|
@@ -315,4 +342,4 @@ export function verifyCliFlagInvocationParity(command, declarations, observation
|
|
|
315
342
|
};
|
|
316
343
|
}
|
|
317
344
|
//# sourceMappingURL=flag-invocation-contracts.js.map
|
|
318
|
-
//# debugId=
|
|
345
|
+
//# debugId=7ef5cc14-ad6b-5cce-a1a1-e5cfac85fbc2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Generated partition 1 of the exhaustive error-code catalog. */
|
|
2
2
|
|
|
3
|
-
!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]="
|
|
3
|
+
!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]="030027d7-2703-56ea-9235-64bc602a25c3")}catch(e){}}();
|
|
4
4
|
export const PM_ERROR_CODE_CATALOG_PART_1 = [
|
|
5
5
|
{
|
|
6
6
|
code: "acceptance_criteria_mutation_conflict",
|
|
@@ -218,6 +218,51 @@ export const PM_ERROR_CODE_CATALOG_PART_1 = [
|
|
|
218
218
|
canonical_code: "budget_exceeded",
|
|
219
219
|
aliases: [],
|
|
220
220
|
},
|
|
221
|
+
{
|
|
222
|
+
code: "bulk_ids_input_empty",
|
|
223
|
+
meaning: "Bulk ids input empty condition.",
|
|
224
|
+
stability: "provisional",
|
|
225
|
+
exit_code: 2,
|
|
226
|
+
class: "usage",
|
|
227
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
228
|
+
sources: ["core/io/bulk-ids-input.ts", "sdk/history-compact.ts", "sdk/history-mcp.ts"],
|
|
229
|
+
emitting_commands: ["*"],
|
|
230
|
+
canonical_code: "bulk_ids_input_empty",
|
|
231
|
+
aliases: [],
|
|
232
|
+
owned_states: [
|
|
233
|
+
{ state: "bulk_ids_stdin_contains_no_nonempty_ids", probe_id: "bulk-ids-stdin-empty", entrypoints: ["update-many"], expected_exit_class: "usage" },
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
code: "bulk_ids_input_missing_path",
|
|
238
|
+
meaning: "Bulk ids input missing path condition.",
|
|
239
|
+
stability: "provisional",
|
|
240
|
+
exit_code: 2,
|
|
241
|
+
class: "usage",
|
|
242
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
243
|
+
sources: ["core/io/bulk-ids-input.ts"],
|
|
244
|
+
emitting_commands: ["*"],
|
|
245
|
+
canonical_code: "bulk_ids_input_missing_path",
|
|
246
|
+
aliases: [],
|
|
247
|
+
owned_states: [
|
|
248
|
+
{ state: "bulk_ids_file_token_omits_its_path", probe_id: "bulk-ids-file-path-missing", entrypoints: ["update-many"], expected_exit_class: "usage" },
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
code: "bulk_ids_input_unreadable",
|
|
253
|
+
meaning: "Bulk ids input unreadable condition.",
|
|
254
|
+
stability: "provisional",
|
|
255
|
+
exit_code: 3,
|
|
256
|
+
class: "not_found",
|
|
257
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
258
|
+
sources: ["core/io/bulk-ids-input.ts"],
|
|
259
|
+
emitting_commands: ["*"],
|
|
260
|
+
canonical_code: "bulk_ids_input_unreadable",
|
|
261
|
+
aliases: [],
|
|
262
|
+
owned_states: [
|
|
263
|
+
{ state: "bulk_ids_file_path_cannot_be_read", probe_id: "bulk-ids-file-unreadable", entrypoints: ["update-many"], expected_exit_class: "not_found" },
|
|
264
|
+
],
|
|
265
|
+
},
|
|
221
266
|
{
|
|
222
267
|
code: "bundle_integrity_torn_install",
|
|
223
268
|
meaning: "Bundle integrity torn install condition.",
|
|
@@ -1656,6 +1701,18 @@ export const PM_ERROR_CODE_CATALOG_PART_1 = [
|
|
|
1656
1701
|
canonical_code: "invalid_read_output_session",
|
|
1657
1702
|
aliases: [],
|
|
1658
1703
|
},
|
|
1704
|
+
{
|
|
1705
|
+
code: "invalid_reproducible_process_environment",
|
|
1706
|
+
meaning: "Invalid reproducible process environment condition.",
|
|
1707
|
+
stability: "provisional",
|
|
1708
|
+
exit_code: 2,
|
|
1709
|
+
class: "usage",
|
|
1710
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
1711
|
+
sources: ["sdk/reproducibility/process.ts"],
|
|
1712
|
+
emitting_commands: ["*"],
|
|
1713
|
+
canonical_code: "invalid_reproducible_process_environment",
|
|
1714
|
+
aliases: [],
|
|
1715
|
+
},
|
|
1659
1716
|
{
|
|
1660
1717
|
code: "invalid_workspace_snapshot_target",
|
|
1661
1718
|
meaning: "Invalid workspace snapshot target condition.",
|
|
@@ -1884,6 +1941,30 @@ export const PM_ERROR_CODE_CATALOG_PART_1 = [
|
|
|
1884
1941
|
canonical_code: "manifest_unknown_key",
|
|
1885
1942
|
aliases: [],
|
|
1886
1943
|
},
|
|
1944
|
+
{
|
|
1945
|
+
code: "mcp_annotation_file_unavailable",
|
|
1946
|
+
meaning: "Mcp annotation file unavailable condition.",
|
|
1947
|
+
stability: "provisional",
|
|
1948
|
+
exit_code: 2,
|
|
1949
|
+
class: "usage",
|
|
1950
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
1951
|
+
sources: ["sdk/runtime-input.ts"],
|
|
1952
|
+
emitting_commands: ["*"],
|
|
1953
|
+
canonical_code: "mcp_annotation_file_unavailable",
|
|
1954
|
+
aliases: [],
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
code: "mcp_stdin_unavailable",
|
|
1958
|
+
meaning: "Mcp stdin unavailable condition.",
|
|
1959
|
+
stability: "provisional",
|
|
1960
|
+
exit_code: 2,
|
|
1961
|
+
class: "usage",
|
|
1962
|
+
recovery: "Inspect the structured error guidance and retry the suggested command.",
|
|
1963
|
+
sources: ["sdk/annotations.ts"],
|
|
1964
|
+
emitting_commands: ["*"],
|
|
1965
|
+
canonical_code: "mcp_stdin_unavailable",
|
|
1966
|
+
aliases: [],
|
|
1967
|
+
},
|
|
1887
1968
|
{
|
|
1888
1969
|
code: "merge_conflict_markers_detected",
|
|
1889
1970
|
meaning: "Merge conflict markers detected condition.",
|
|
@@ -1970,4 +2051,4 @@ export const PM_ERROR_CODE_CATALOG_PART_1 = [
|
|
|
1970
2051
|
},
|
|
1971
2052
|
];
|
|
1972
2053
|
//# sourceMappingURL=generated-error-code-catalog-part-1.js.map
|
|
1973
|
-
//# debugId=
|
|
2054
|
+
//# debugId=030027d7-2703-56ea-9235-64bc602a25c3
|