@seanmars/tospec 0.19.0-beta.6 → 0.19.0-beta.8
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/CHANGELOG.md +137 -0
- package/assets/dashboard/app.js +3 -3
- package/assets/rules/tospec/decision.md +3 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +205 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +151 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +34 -9
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +213 -21
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +11 -0
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +182 -20
- package/dist/commands/decision.js.map +1 -1
- package/dist/commands/shared-output.d.ts +12 -0
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +50 -1
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts +10 -0
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +23 -4
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +41 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +95 -17
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/index.d.ts +5 -5
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +5 -5
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +23 -0
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +84 -16
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts +2 -0
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +32 -4
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/schemas.d.ts +2 -0
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +38 -1
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +34 -2
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +37 -3
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +65 -8
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/commands/workflow/templates.d.ts +7 -0
- package/dist/commands/workflow/templates.d.ts.map +1 -1
- package/dist/commands/workflow/templates.js +13 -0
- package/dist/commands/workflow/templates.js.map +1 -1
- package/dist/core/archive.d.ts +14 -0
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +169 -18
- package/dist/core/archive.js.map +1 -1
- package/dist/core/artifact-graph/graph.d.ts +13 -3
- package/dist/core/artifact-graph/graph.d.ts.map +1 -1
- package/dist/core/artifact-graph/graph.js +16 -6
- package/dist/core/artifact-graph/graph.js.map +1 -1
- package/dist/core/artifact-graph/index.d.ts +1 -1
- package/dist/core/artifact-graph/index.d.ts.map +1 -1
- package/dist/core/artifact-graph/index.js +1 -1
- package/dist/core/artifact-graph/index.js.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.d.ts +74 -3
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +79 -31
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts +26 -0
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +44 -4
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/artifact-graph/stub-detection.d.ts +20 -0
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
- package/dist/core/artifact-graph/stub-detection.js +42 -0
- package/dist/core/artifact-graph/stub-detection.js.map +1 -0
- package/dist/core/change-presenter.d.ts +16 -0
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +68 -9
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts +12 -1
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +33 -1
- package/dist/core/change-status-policy.js.map +1 -1
- package/dist/core/codex-residue.js +1 -1
- package/dist/core/config-schema.d.ts +1 -12
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +27 -1
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +37 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +37 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/dashboard-activity.js +2 -2
- package/dist/core/dashboard-activity.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +5 -0
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +15 -8
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/init.d.ts +22 -0
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +107 -45
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +68 -17
- package/dist/core/list.js.map +1 -1
- package/dist/core/markdown-render.d.ts +33 -0
- package/dist/core/markdown-render.d.ts.map +1 -0
- package/dist/core/markdown-render.js +103 -0
- package/dist/core/markdown-render.js.map +1 -0
- package/dist/core/migrate.d.ts +20 -6
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +102 -6
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/parsers/change-parser.js +1 -1
- package/dist/core/parsers/change-parser.js.map +1 -1
- package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/core/parsers/markdown-parser.js +16 -0
- package/dist/core/parsers/markdown-parser.js.map +1 -1
- package/dist/core/parsers/requirement-blocks.js +32 -9
- package/dist/core/parsers/requirement-blocks.js.map +1 -1
- package/dist/core/root-selection.d.ts +11 -1
- package/dist/core/root-selection.d.ts.map +1 -1
- package/dist/core/root-selection.js +4 -2
- package/dist/core/root-selection.js.map +1 -1
- package/dist/core/rules.d.ts +6 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +24 -2
- package/dist/core/rules.js.map +1 -1
- package/dist/core/schemas/base.schema.d.ts +3 -0
- package/dist/core/schemas/base.schema.d.ts.map +1 -1
- package/dist/core/schemas/base.schema.js +22 -0
- package/dist/core/schemas/base.schema.js.map +1 -1
- package/dist/core/schemas/change.schema.d.ts +8 -0
- package/dist/core/schemas/change.schema.d.ts.map +1 -1
- package/dist/core/schemas/spec.schema.d.ts +2 -0
- package/dist/core/schemas/spec.schema.d.ts.map +1 -1
- package/dist/core/shared/index.d.ts +1 -1
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +1 -1
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/rules-generation.d.ts +27 -6
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +115 -44
- package/dist/core/shared/rules-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +19 -0
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +30 -2
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/spec-presenter.d.ts.map +1 -1
- package/dist/core/spec-presenter.js +5 -0
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +15 -1
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +33 -11
- package/dist/core/specs-apply.js.map +1 -1
- package/dist/core/templates/workflows/apply.js +1 -1
- package/dist/core/templates/workflows/apply.js.map +1 -1
- package/dist/core/templates/workflows/archive.d.ts.map +1 -1
- package/dist/core/templates/workflows/archive.js +4 -2
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +1 -1
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +3 -0
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/update.d.ts +26 -0
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +111 -23
- package/dist/core/update.js.map +1 -1
- package/dist/core/validation/constants.d.ts +1 -1
- package/dist/core/validation/constants.d.ts.map +1 -1
- package/dist/core/validation/constants.js +6 -1
- package/dist/core/validation/constants.js.map +1 -1
- package/dist/core/validation/section-validator.d.ts.map +1 -1
- package/dist/core/validation/section-validator.js +21 -3
- package/dist/core/validation/section-validator.js.map +1 -1
- package/dist/core/validation/validator.d.ts +17 -4
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +120 -34
- package/dist/core/validation/validator.js.map +1 -1
- package/dist/utils/change-utils.d.ts +31 -2
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +127 -37
- package/dist/utils/change-utils.js.map +1 -1
- package/dist/utils/file-system.d.ts +1 -1
- package/dist/utils/file-system.js +1 -1
- package/dist/utils/item-discovery.d.ts +20 -5
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +28 -9
- package/dist/utils/item-discovery.js.map +1 -1
- package/dist/utils/spec-files.d.ts +12 -0
- package/dist/utils/spec-files.d.ts.map +1 -1
- package/dist/utils/spec-files.js +34 -0
- package/dist/utils/spec-files.js.map +1 -1
- package/dist/utils/task-progress.js +1 -1
- package/package.json +1 -1
- package/schemas/decision/templates/decision.md +3 -1
- package/schemas/decision/templates/index.md +2 -2
- package/schemas/issue/schema.yaml +4 -2
- package/schemas/issue/templates/spec.md +20 -2
- package/schemas/sdd/schema.yaml +4 -0
- package/schemas/sdd/templates/spec.md +20 -2
- /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
package/dist/commands/config.js
CHANGED
|
@@ -7,7 +7,7 @@ import { getNestedValue, setNestedValue, deleteNestedValue, coerceValue, validat
|
|
|
7
7
|
import { ALL_WORKFLOWS, getProfileWorkflows } from '../core/profiles.js';
|
|
8
8
|
import { TOSPEC_DIR_NAME } from '../core/config.js';
|
|
9
9
|
import { UpdateCommand } from '../core/update.js';
|
|
10
|
-
import { isPromptCancellationError, asErrorMessage, CliAbortError } from './shared-output.js';
|
|
10
|
+
import { isPromptCancellationError, asErrorMessage, CliAbortError, emitSuccess, } from './shared-output.js';
|
|
11
11
|
// Keyed by WorkflowId, not string: this map is a second hand-maintained list
|
|
12
12
|
// parallel to WORKFLOW_DEFS, and with a `string` key a renamed or added workflow
|
|
13
13
|
// drifted silently — the lookup below falls back instead of failing. Both apply
|
|
@@ -79,6 +79,28 @@ export function deriveProfileFromWorkflowSelection(selectedWorkflows) {
|
|
|
79
79
|
export function formatWorkflowSummary(workflows, profile) {
|
|
80
80
|
return `${workflows.length} selected (${profile})`;
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* The finding that a stored `workflows` list will not be used, or null.
|
|
84
|
+
*
|
|
85
|
+
* Only the `custom` profile consults the list, so under any other profile it is
|
|
86
|
+
* stored, validated, displayed — and ignored. `config set` warned about it once,
|
|
87
|
+
* at the moment of setting; `config list` then showed the list again with
|
|
88
|
+
* nothing to say it does not apply (round 4 report 16). Worded to match
|
|
89
|
+
* `update`'s `update_workflows_ignored`, so the two commands say one thing.
|
|
90
|
+
*/
|
|
91
|
+
function ignoredWorkflowsDiagnostic(config) {
|
|
92
|
+
const profile = config.profile ?? 'core';
|
|
93
|
+
if (profile === 'custom')
|
|
94
|
+
return null;
|
|
95
|
+
if (!config.workflows || config.workflows.length === 0)
|
|
96
|
+
return null;
|
|
97
|
+
return {
|
|
98
|
+
severity: 'warning',
|
|
99
|
+
code: 'config_workflows_ignored',
|
|
100
|
+
message: `Profile '${profile}' installs every workflow, so the configured workflows list is not used.`,
|
|
101
|
+
fix: 'Run "tospec config profile custom" to apply it, or "tospec config unset workflows" to drop it.',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
82
104
|
function stableWorkflowOrder(workflows) {
|
|
83
105
|
const seen = new Set();
|
|
84
106
|
const ordered = [];
|
|
@@ -127,6 +149,40 @@ export function diffProfileState(before, after) {
|
|
|
127
149
|
lines,
|
|
128
150
|
};
|
|
129
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* The config file's raw contents, used only to tell an explicit value from a
|
|
154
|
+
* default — `getGlobalConfig()` has already merged the two and cannot answer it.
|
|
155
|
+
*
|
|
156
|
+
* Reads the file that was actually loaded, not the write target: the two differ
|
|
157
|
+
* until a legacy install migrates.
|
|
158
|
+
*/
|
|
159
|
+
function rawGlobalConfig() {
|
|
160
|
+
try {
|
|
161
|
+
const configPath = getEffectiveConfigPath();
|
|
162
|
+
if (fs.existsSync(configPath)) {
|
|
163
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Unreadable or malformed: treat every value as a default rather than
|
|
168
|
+
// failing a read-only listing.
|
|
169
|
+
}
|
|
170
|
+
return {};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The workflows a profile resolves to — `core` expands to the full set, any
|
|
174
|
+
* other profile uses its explicit list.
|
|
175
|
+
*
|
|
176
|
+
* Shared by the text and JSON branches of `config list`. The JSON branch used to
|
|
177
|
+
* report only the stored config, leaving a caller unable to turn
|
|
178
|
+
* `profile: "core"` into the workflow names the text branch prints; deriving
|
|
179
|
+
* both from here is what keeps the two answers the same.
|
|
180
|
+
*/
|
|
181
|
+
function resolveListedWorkflows(config) {
|
|
182
|
+
if (config.profile === 'core')
|
|
183
|
+
return [...ALL_WORKFLOWS];
|
|
184
|
+
return [...(config.workflows ?? [])];
|
|
185
|
+
}
|
|
130
186
|
function printConfigProfileApplyGuidance() {
|
|
131
187
|
console.log('Config updated. Run `tospec update` in your projects to apply.');
|
|
132
188
|
}
|
|
@@ -165,35 +221,59 @@ export function registerConfigCommand(program) {
|
|
|
165
221
|
.action((options) => {
|
|
166
222
|
const config = getGlobalConfig();
|
|
167
223
|
if (options.json) {
|
|
168
|
-
|
|
224
|
+
// Nested, not spread. `GlobalConfigSchema` is `.passthrough()` and
|
|
225
|
+
// `config set --allow-unknown` writes any top-level key, so spreading
|
|
226
|
+
// the config into the envelope let user data shadow the envelope's own
|
|
227
|
+
// reserved fields — `config set version 9 --allow-unknown` replaced the
|
|
228
|
+
// envelope `version`, and `root`/`status` were open the same way.
|
|
229
|
+
// Giving the config its own key is what makes that structurally
|
|
230
|
+
// impossible instead of patching one field name at a time.
|
|
231
|
+
// See tospec/decisions/20260916_121544-config-list-json-nests-under-config-key.md
|
|
232
|
+
//
|
|
233
|
+
// `profileSettings` mirrors what the human branch prints below. The JSON
|
|
234
|
+
// used to stop at the stored config, so a caller could read
|
|
235
|
+
// `profile: "core"` and still not know which workflows that resolves to
|
|
236
|
+
// — the one fact the human output spells out and the one an agent needs
|
|
237
|
+
// to know whether a skill it wants is installed. Resolved here, beside
|
|
238
|
+
// the text form, so the two cannot answer differently.
|
|
239
|
+
const ignored = ignoredWorkflowsDiagnostic(config);
|
|
240
|
+
emitSuccess({
|
|
241
|
+
config,
|
|
242
|
+
profileSettings: {
|
|
243
|
+
profile: config.profile ?? 'core',
|
|
244
|
+
explicit: rawGlobalConfig().profile !== undefined,
|
|
245
|
+
workflows: resolveListedWorkflows(config),
|
|
246
|
+
},
|
|
247
|
+
...(ignored ? { status: [ignored] } : {}),
|
|
248
|
+
});
|
|
169
249
|
}
|
|
170
250
|
else {
|
|
171
|
-
|
|
172
|
-
// Must be the file that was actually read, not the write target — they
|
|
173
|
-
// differ until a legacy install migrates.
|
|
174
|
-
const configPath = getEffectiveConfigPath();
|
|
175
|
-
let rawConfig = {};
|
|
176
|
-
try {
|
|
177
|
-
if (fs.existsSync(configPath)) {
|
|
178
|
-
rawConfig = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
// If reading fails, treat all as defaults
|
|
183
|
-
}
|
|
251
|
+
const rawConfig = rawGlobalConfig();
|
|
184
252
|
console.log(yaml.stringify(config).trimEnd());
|
|
253
|
+
// Round 4 report 16: the dump above is the stored config, so under a
|
|
254
|
+
// profile that ignores `workflows` this output gave two different
|
|
255
|
+
// answers for the same key — the stored list here and the profile's
|
|
256
|
+
// resolved one below — with nothing saying the first is not used.
|
|
257
|
+
// `config set` said so once, at the moment of setting, and never again.
|
|
258
|
+
const ignored = ignoredWorkflowsDiagnostic(config);
|
|
259
|
+
if (ignored) {
|
|
260
|
+
console.log(` ^ ${ignored.message}`);
|
|
261
|
+
}
|
|
185
262
|
// Annotate profile settings
|
|
186
263
|
const profileSource = rawConfig.profile !== undefined ? '(explicit)' : '(default)';
|
|
187
264
|
console.log(`\nProfile settings:`);
|
|
188
265
|
console.log(` profile: ${config.profile} ${profileSource}`);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
else if (config.workflows && config.workflows.length > 0) {
|
|
193
|
-
console.log(` workflows: ${config.workflows.join(', ')} (explicit)`);
|
|
266
|
+
const workflows = resolveListedWorkflows(config);
|
|
267
|
+
if (workflows.length === 0) {
|
|
268
|
+
console.log(` workflows: (none)`);
|
|
194
269
|
}
|
|
195
270
|
else {
|
|
196
|
-
|
|
271
|
+
const origin = config.profile === 'core' ? '(from core profile)' : '(explicit)';
|
|
272
|
+
console.log(` workflows: ${workflows.join(', ')} ${origin}`);
|
|
273
|
+
}
|
|
274
|
+
if (ignored?.fix) {
|
|
275
|
+
console.log();
|
|
276
|
+
console.log(ignored.fix);
|
|
197
277
|
}
|
|
198
278
|
}
|
|
199
279
|
});
|
|
@@ -201,10 +281,32 @@ export function registerConfigCommand(program) {
|
|
|
201
281
|
configCmd
|
|
202
282
|
.command('get <key>')
|
|
203
283
|
.description('Get a specific value (raw, scriptable)')
|
|
204
|
-
.
|
|
284
|
+
.option('--allow-unknown', 'Allow reading unknown keys')
|
|
285
|
+
.action((key, options) => {
|
|
286
|
+
const allowUnknown = Boolean(options.allowUnknown);
|
|
287
|
+
const keyValidation = validateConfigKeyPath(key);
|
|
288
|
+
// Paired with the same flag on `set`, which without this was a one-way
|
|
289
|
+
// door: a key written with --allow-unknown showed up in `config list` and
|
|
290
|
+
// could be removed by `unset`, but `get` — the scriptable reader the flag
|
|
291
|
+
// exists to feed — refused to read it back.
|
|
292
|
+
//
|
|
293
|
+
// Relaxes the known-key check only, never the prototype-safety one; the
|
|
294
|
+
// same split `set` makes, for the same reason.
|
|
295
|
+
const unsafeKey = hasUnsafeKeySegment(key);
|
|
296
|
+
if (!keyValidation.valid && (!allowUnknown || unsafeKey)) {
|
|
297
|
+
const reason = keyValidation.reason ? ` ${keyValidation.reason}.` : '';
|
|
298
|
+
console.error(`Error: Invalid configuration key "${key}".${reason}`);
|
|
299
|
+
console.error('Use "tospec config list" to see available keys.');
|
|
300
|
+
if (!allowUnknown && !unsafeKey) {
|
|
301
|
+
console.error('Pass --allow-unknown to read a key set that way.');
|
|
302
|
+
}
|
|
303
|
+
process.exitCode = 1;
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
205
306
|
const config = getGlobalConfig();
|
|
206
307
|
const value = getNestedValue(config, key);
|
|
207
308
|
if (value === undefined) {
|
|
309
|
+
console.error(`Error: Key "${key}" is not set.`);
|
|
208
310
|
process.exitCode = 1;
|
|
209
311
|
return;
|
|
210
312
|
}
|
|
@@ -238,7 +340,7 @@ export function registerConfigCommand(program) {
|
|
|
238
340
|
return;
|
|
239
341
|
}
|
|
240
342
|
const config = getGlobalConfig();
|
|
241
|
-
const coercedValue = coerceValue(value, options.string || false);
|
|
343
|
+
const coercedValue = coerceValue(value, options.string || false, key);
|
|
242
344
|
// Create a copy to validate before saving
|
|
243
345
|
const newConfig = JSON.parse(JSON.stringify(config));
|
|
244
346
|
setNestedValue(newConfig, key, coercedValue);
|
|
@@ -249,11 +351,37 @@ export function registerConfigCommand(program) {
|
|
|
249
351
|
process.exitCode = 1;
|
|
250
352
|
return;
|
|
251
353
|
}
|
|
354
|
+
// The schema types `workflows` as string[], so a misspelled id passes it
|
|
355
|
+
// and is then dropped by `update`'s filter against ALL_WORKFLOWS —
|
|
356
|
+
// installing fewer skills than asked for, silently. Caught here because
|
|
357
|
+
// this is the only point that still has the word the user typed.
|
|
358
|
+
if (key === 'workflows' && Array.isArray(coercedValue)) {
|
|
359
|
+
const unknown = coercedValue.filter((entry) => !ALL_WORKFLOWS.includes(String(entry)));
|
|
360
|
+
if (unknown.length > 0) {
|
|
361
|
+
console.error(`Error: Unknown workflow(s): ${unknown.join(', ')}`);
|
|
362
|
+
console.error(`Available: ${ALL_WORKFLOWS.join(', ')}`);
|
|
363
|
+
process.exitCode = 1;
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
252
367
|
// Apply changes and save
|
|
253
368
|
setNestedValue(config, key, coercedValue);
|
|
254
369
|
saveGlobalConfig(config);
|
|
255
370
|
const displayValue = typeof coercedValue === 'string' ? `"${coercedValue}"` : String(coercedValue);
|
|
256
371
|
console.log(`Set ${key} = ${displayValue}`);
|
|
372
|
+
// `workflows` is only read when the profile is `custom`; under `core`,
|
|
373
|
+
// getProfileWorkflows discards it and returns ALL_WORKFLOWS. Everything up
|
|
374
|
+
// to here — the key check, the workflow-name check, the "Set workflows =
|
|
375
|
+
// ..." line, and `config list` showing it — tells the user it took effect.
|
|
376
|
+
// Said after the confirmation rather than instead of it, because the value
|
|
377
|
+
// genuinely was stored; it just is not what `update` will act on.
|
|
378
|
+
if (key === 'workflows') {
|
|
379
|
+
const profile = config.profile ?? 'core';
|
|
380
|
+
if (profile !== 'custom') {
|
|
381
|
+
console.error(`Warning: profile '${profile}' installs every workflow, so this list is not used.`);
|
|
382
|
+
console.error('Run "tospec config profile custom" to make it take effect.');
|
|
383
|
+
}
|
|
384
|
+
}
|
|
257
385
|
});
|
|
258
386
|
// config unset
|
|
259
387
|
configCmd
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export declare function pidFilePath(projectRoot: string): string;
|
|
|
47
47
|
* places that clear it (a dashboard's own exit, and `--stop` once it has killed
|
|
48
48
|
* one) would otherwise delete whichever record happened to be there.
|
|
49
49
|
*
|
|
50
|
-
*
|
|
50
|
+
* Limitation: one record per project, so of two sibling dashboards only the later
|
|
51
51
|
* writer is tracked by pid file at all. This keeps the tracked one from being
|
|
52
52
|
* deleted by the other's exit; it cannot hand the earlier dashboard a record
|
|
53
53
|
* back. Both stay reachable through their registry markers, which is what the
|
|
@@ -85,6 +85,17 @@ export declare class DashboardStopError extends Error {
|
|
|
85
85
|
readonly diagnostic: CommandDiagnostic;
|
|
86
86
|
constructor(message: string, fix: string);
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* The detached child neither reported itself listening nor exited. Distinct
|
|
90
|
+
* from an early-exit failure: the child may well still be coming up, so the
|
|
91
|
+
* message says what was not observed rather than claiming a startup failure,
|
|
92
|
+
* and points at `--list`, which can still find it via the record the child
|
|
93
|
+
* writes for itself.
|
|
94
|
+
*/
|
|
95
|
+
export declare class DashboardReadinessTimeoutError extends Error {
|
|
96
|
+
readonly diagnostic: CommandDiagnostic;
|
|
97
|
+
constructor(timeoutMs: number);
|
|
98
|
+
}
|
|
88
99
|
/**
|
|
89
100
|
* Every dashboard `--stop` can reach: the registry union every project's pid
|
|
90
101
|
* file, keyed by pid, reaping any record whose process has died along the way.
|
|
@@ -100,19 +111,33 @@ export declare class DashboardStopError extends Error {
|
|
|
100
111
|
*/
|
|
101
112
|
export declare function collectStoppableDashboards(ownRootHint: string | null): Promise<RunningDashboard[]>;
|
|
102
113
|
/**
|
|
103
|
-
* Launches the dashboard as a detached background process
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
114
|
+
* Launches the dashboard as a detached background process. Re-runs this same
|
|
115
|
+
* CLI without `--detach` (the child is the actual server), then waits for the
|
|
116
|
+
* child's own `LISTENING` report before doing anything else, so the URL it
|
|
117
|
+
* prints is one the child actually bound — including after an EADDRINUSE
|
|
118
|
+
* fallback moved it off the port this process predicted. Order is therefore:
|
|
119
|
+
* spawn → wait for the child's report → write the PID record → print the URL.
|
|
107
120
|
*
|
|
108
121
|
* Refuses if any live dashboard already serves this project, foreground or
|
|
109
122
|
* background, rather than spawning a second orphaned server. The guard asks the
|
|
110
123
|
* shared candidate set rather than this project's pid file alone, because
|
|
111
124
|
* either record can be the only one left: a foreground dashboard used to write
|
|
112
125
|
* no pid file at all, and a background one can lose the one it wrote. Both made
|
|
113
|
-
* the old guard see nothing and spawn a second server.
|
|
114
|
-
*
|
|
115
|
-
*
|
|
126
|
+
* the old guard see nothing and spawn a second server.
|
|
127
|
+
*
|
|
128
|
+
* Both this process and the child write that PID record, with identical fields
|
|
129
|
+
* by construction. They are not redundant — each is the only record that exists
|
|
130
|
+
* in one failure mode:
|
|
131
|
+
* - The child's (`runDashboard`) is the record *every* dashboard writes for
|
|
132
|
+
* itself, foreground included, and is all that remains if this process is
|
|
133
|
+
* killed mid-handshake or gives up on the readiness timeout.
|
|
134
|
+
* - This one is what makes a record exist by the time the call returns. The
|
|
135
|
+
* child writes its own only *after* it has signalled, so without this a
|
|
136
|
+
* rapid second `--detach` could find nothing to refuse against, and a child
|
|
137
|
+
* that wedges after binding would be an untrackable orphan.
|
|
138
|
+
* Both use `fs.writeFile`, so a concurrent truncate-then-write is two processes
|
|
139
|
+
* laying down the same bytes; a reader that catches it mid-write falls back to
|
|
140
|
+
* the registry marker (`readPidRecord` returns null on a parse failure).
|
|
116
141
|
*
|
|
117
142
|
* This is the only guarded start path: nothing stops a second foreground
|
|
118
143
|
* `tospec dashboard`, so "one dashboard per project" holds for `--detach` and
|
|
@@ -158,7 +183,7 @@ export declare function shouldRefuseDetach(candidates: RunningDashboard[], proje
|
|
|
158
183
|
* as stopped would be this ticket's own bug all over again, so we hand the
|
|
159
184
|
* caller what actually happened and leave that dashboard's records alone.
|
|
160
185
|
*
|
|
161
|
-
*
|
|
186
|
+
* Limitation: SIGTERM; on Windows Node maps this to TerminateProcess (hard kill),
|
|
162
187
|
* so the target's own cleanup won't run — we clear its files here.
|
|
163
188
|
*/
|
|
164
189
|
export declare function stopRunningDashboard(d: RunningDashboard): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA4BlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
|