@deskwork/cli 0.10.1 → 0.11.0
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/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor-migrate-gate.d.ts +30 -0
- package/dist/commands/doctor-migrate-gate.d.ts.map +1 -0
- package/dist/commands/doctor-migrate-gate.js +58 -0
- package/dist/commands/doctor-migrate-gate.js.map +1 -0
- package/dist/commands/doctor.d.ts +9 -2
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +75 -27
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/iterate.d.ts +12 -19
- package/dist/commands/iterate.d.ts.map +1 -1
- package/dist/commands/iterate.js +98 -44
- package/dist/commands/iterate.js.map +1 -1
- package/dist/commands/retired.d.ts +16 -0
- package/dist/commands/retired.d.ts.map +1 -0
- package/dist/commands/retired.js +41 -0
- package/dist/commands/retired.js.map +1 -0
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* deskwork add "My First Post" --site main
|
|
16
16
|
* deskwork outline draft-me --author "Jane"
|
|
17
17
|
*/
|
|
18
|
+
import { isRetired, printRetiredError } from "./commands/retired.js";
|
|
18
19
|
const SUBCOMMANDS = {
|
|
19
20
|
add: () => import("./commands/add.js"),
|
|
20
21
|
approve: () => import("./commands/approve.js"),
|
|
@@ -43,6 +44,12 @@ if (!subcommand || subcommand === 'help' || subcommand === '--help') {
|
|
|
43
44
|
printUsage();
|
|
44
45
|
process.exit(subcommand ? 0 : 2);
|
|
45
46
|
}
|
|
47
|
+
// Retired verbs (v0.11.0): print a stable migration error before the
|
|
48
|
+
// SUBCOMMANDS lookup so adopters with stale skill invocations get a
|
|
49
|
+
// clear pointer instead of "unknown subcommand". Never returns.
|
|
50
|
+
if (isRetired(subcommand)) {
|
|
51
|
+
printRetiredError(subcommand);
|
|
52
|
+
}
|
|
46
53
|
// Each command treats the first positional as <project-root>. To keep
|
|
47
54
|
// invocations short ("deskwork add 'My Post'" instead of
|
|
48
55
|
// "deskwork add . 'My Post'"), we inject process.cwd() when the user
|
|
@@ -96,5 +103,4 @@ function printUsage() {
|
|
|
96
103
|
out.write(' distribute record a posted shortform URL on the calendar\n\n');
|
|
97
104
|
out.write('Run `deskwork <subcommand>` with no further args to see its usage.\n');
|
|
98
105
|
}
|
|
99
|
-
export {};
|
|
100
106
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* doctor — legacy-schema migration gate (Phase 29).
|
|
3
|
+
*
|
|
4
|
+
* Detects pre-redesign calendar shape (Review/Paused sections, OR no
|
|
5
|
+
* `.deskwork/entries/` sidecar dir) and routes to migrateCalendar()
|
|
6
|
+
* before the rule loop runs. Extracted from doctor.ts to keep the
|
|
7
|
+
* command file under the 500-line house limit.
|
|
8
|
+
*
|
|
9
|
+
* Outcome contract (consumed by run() in doctor.ts):
|
|
10
|
+
*
|
|
11
|
+
* handled === true → caller exits immediately with `exitCode`.
|
|
12
|
+
* Hit when:
|
|
13
|
+
* - --check produced a dry-run preview
|
|
14
|
+
* - audit-only (no --fix) detected legacy
|
|
15
|
+
* and refused to proceed; printed how-to-
|
|
16
|
+
* fix hint; caller exits 1.
|
|
17
|
+
*
|
|
18
|
+
* handled === false → caller continues into the existing rule loop.
|
|
19
|
+
* Hit when:
|
|
20
|
+
* - schema is already entry-centric (no-op),
|
|
21
|
+
* - --fix mode just applied a successful
|
|
22
|
+
* migration; the rule loop runs against
|
|
23
|
+
* the freshly-migrated tree.
|
|
24
|
+
*/
|
|
25
|
+
export interface MigrateOutcome {
|
|
26
|
+
readonly handled: boolean;
|
|
27
|
+
readonly exitCode: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function maybeMigrate(projectRoot: string, repairMode: boolean, check: boolean): Promise<MigrateOutcome>;
|
|
30
|
+
//# sourceMappingURL=doctor-migrate-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-migrate-gate.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-migrate-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,cAAc,CAAC,CA2CzB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* doctor — legacy-schema migration gate (Phase 29).
|
|
3
|
+
*
|
|
4
|
+
* Detects pre-redesign calendar shape (Review/Paused sections, OR no
|
|
5
|
+
* `.deskwork/entries/` sidecar dir) and routes to migrateCalendar()
|
|
6
|
+
* before the rule loop runs. Extracted from doctor.ts to keep the
|
|
7
|
+
* command file under the 500-line house limit.
|
|
8
|
+
*
|
|
9
|
+
* Outcome contract (consumed by run() in doctor.ts):
|
|
10
|
+
*
|
|
11
|
+
* handled === true → caller exits immediately with `exitCode`.
|
|
12
|
+
* Hit when:
|
|
13
|
+
* - --check produced a dry-run preview
|
|
14
|
+
* - audit-only (no --fix) detected legacy
|
|
15
|
+
* and refused to proceed; printed how-to-
|
|
16
|
+
* fix hint; caller exits 1.
|
|
17
|
+
*
|
|
18
|
+
* handled === false → caller continues into the existing rule loop.
|
|
19
|
+
* Hit when:
|
|
20
|
+
* - schema is already entry-centric (no-op),
|
|
21
|
+
* - --fix mode just applied a successful
|
|
22
|
+
* migration; the rule loop runs against
|
|
23
|
+
* the freshly-migrated tree.
|
|
24
|
+
*/
|
|
25
|
+
import { detectLegacySchema, migrateCalendar, } from '@deskwork/core/doctor/migrate';
|
|
26
|
+
export async function maybeMigrate(projectRoot, repairMode, check) {
|
|
27
|
+
const isLegacy = await detectLegacySchema(projectRoot);
|
|
28
|
+
if (!isLegacy)
|
|
29
|
+
return { handled: false, exitCode: 0 };
|
|
30
|
+
if (check) {
|
|
31
|
+
const result = await migrateCalendar(projectRoot, { dryRun: true });
|
|
32
|
+
process.stdout.write(`Doctor: legacy schema detected — would migrate ${result.entriesMigrated} entries (dry run)\n`);
|
|
33
|
+
if (result.unmigratable.length > 0) {
|
|
34
|
+
process.stdout.write(` ${result.unmigratable.length} entries cannot be migrated automatically:\n`);
|
|
35
|
+
for (const reason of result.unmigratable) {
|
|
36
|
+
process.stdout.write(` - ${reason}\n`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { handled: true, exitCode: 1 };
|
|
40
|
+
}
|
|
41
|
+
if (!repairMode) {
|
|
42
|
+
process.stderr.write(`\nDoctor: calendar uses pre-redesign schema (Review/Paused sections OR no .deskwork/entries/ dir).\n` +
|
|
43
|
+
`Run 'deskwork doctor <root> --fix=all' to migrate, or 'deskwork doctor <root> --check' for a dry-run preview.\n`);
|
|
44
|
+
return { handled: true, exitCode: 1 };
|
|
45
|
+
}
|
|
46
|
+
const result = await migrateCalendar(projectRoot, { dryRun: false });
|
|
47
|
+
process.stdout.write(`Doctor: migrated ${result.entriesMigrated} entries to entry-centric schema\n`);
|
|
48
|
+
if (result.unmigratable.length > 0) {
|
|
49
|
+
process.stdout.write(` ${result.unmigratable.length} entries could not be migrated:\n`);
|
|
50
|
+
for (const reason of result.unmigratable) {
|
|
51
|
+
process.stdout.write(` - ${reason}\n`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// After a successful migration, fall through so the existing rule
|
|
55
|
+
// loop runs against the freshly-migrated tree.
|
|
56
|
+
return { handled: false, exitCode: 0 };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=doctor-migrate-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-migrate-gate.js","sourceRoot":"","sources":["../../src/commands/doctor-migrate-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAOvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,UAAmB,EACnB,KAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAEtD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kDAAkD,MAAM,CAAC,eAAe,sBAAsB,CAC/F,CAAC;QACF,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,CAAC,YAAY,CAAC,MAAM,8CAA8C,CAC9E,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sGAAsG;YACpG,iHAAiH,CACpH,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB,MAAM,CAAC,eAAe,oCAAoC,CAC/E,CAAC;IACF,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,MAAM,CAAC,YAAY,CAAC,MAAM,mCAAmC,CACnE,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,kEAAkE;IAClE,+CAA+C;IAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* on a clean tree or 1 if anything was reported. `--fix=<rule>` (or
|
|
7
7
|
* `--fix=all`) engages repair mode; `--yes` makes repairs non-
|
|
8
8
|
* interactive (skipping ambiguous cases). `--json` produces machine-
|
|
9
|
-
* readable output that composes with `jq`.
|
|
9
|
+
* readable output that composes with `jq`. `--check` previews the
|
|
10
|
+
* legacy-schema migration (dry run) without applying it.
|
|
10
11
|
*
|
|
11
12
|
* Argv shape (after the dispatcher injects projectRoot when needed):
|
|
12
13
|
*
|
|
@@ -17,6 +18,11 @@
|
|
|
17
18
|
* --fix <rule|all> Engage repair mode for the named rule(s).
|
|
18
19
|
* --yes Non-interactive repair (skip ambiguous).
|
|
19
20
|
* --json Emit JSON instead of human-readable text.
|
|
21
|
+
* --check Dry-run preview of the entry-centric
|
|
22
|
+
* migration. Reports what would change without
|
|
23
|
+
* touching the calendar / sidecar tree. Has no
|
|
24
|
+
* effect when the project is already on the
|
|
25
|
+
* entry-centric schema.
|
|
20
26
|
*
|
|
21
27
|
* Exit codes (Issue #44, Phase 22):
|
|
22
28
|
* 0 Audit clean. OR --fix succeeded for every applicable finding.
|
|
@@ -28,7 +34,8 @@
|
|
|
28
34
|
* follow-ups: ambiguous cases requiring interactive resolution,
|
|
29
35
|
* schema rejections needing the operator to patch the host
|
|
30
36
|
* schema, editorial decisions, operator declines, or hard
|
|
31
|
-
* apply-failures.
|
|
37
|
+
* apply-failures. ALSO: legacy-schema detected without --fix, or
|
|
38
|
+
* --check preview emitted.
|
|
32
39
|
* 2 Usage / config error.
|
|
33
40
|
*/
|
|
34
41
|
export declare function run(argv: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AA0BH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIvD"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* on a clean tree or 1 if anything was reported. `--fix=<rule>` (or
|
|
7
7
|
* `--fix=all`) engages repair mode; `--yes` makes repairs non-
|
|
8
8
|
* interactive (skipping ambiguous cases). `--json` produces machine-
|
|
9
|
-
* readable output that composes with `jq`.
|
|
9
|
+
* readable output that composes with `jq`. `--check` previews the
|
|
10
|
+
* legacy-schema migration (dry run) without applying it.
|
|
10
11
|
*
|
|
11
12
|
* Argv shape (after the dispatcher injects projectRoot when needed):
|
|
12
13
|
*
|
|
@@ -17,6 +18,11 @@
|
|
|
17
18
|
* --fix <rule|all> Engage repair mode for the named rule(s).
|
|
18
19
|
* --yes Non-interactive repair (skip ambiguous).
|
|
19
20
|
* --json Emit JSON instead of human-readable text.
|
|
21
|
+
* --check Dry-run preview of the entry-centric
|
|
22
|
+
* migration. Reports what would change without
|
|
23
|
+
* touching the calendar / sidecar tree. Has no
|
|
24
|
+
* effect when the project is already on the
|
|
25
|
+
* entry-centric schema.
|
|
20
26
|
*
|
|
21
27
|
* Exit codes (Issue #44, Phase 22):
|
|
22
28
|
* 0 Audit clean. OR --fix succeeded for every applicable finding.
|
|
@@ -28,7 +34,8 @@
|
|
|
28
34
|
* follow-ups: ambiguous cases requiring interactive resolution,
|
|
29
35
|
* schema rejections needing the operator to patch the host
|
|
30
36
|
* schema, editorial decisions, operator declines, or hard
|
|
31
|
-
* apply-failures.
|
|
37
|
+
* apply-failures. ALSO: legacy-schema detected without --fix, or
|
|
38
|
+
* --check preview emitted.
|
|
32
39
|
* 2 Usage / config error.
|
|
33
40
|
*/
|
|
34
41
|
import { createInterface } from 'node:readline/promises';
|
|
@@ -36,12 +43,15 @@ import { stdin, stdout } from 'node:process';
|
|
|
36
43
|
import { readConfig } from '@deskwork/core/config';
|
|
37
44
|
import { absolutize, fail, parseArgs } from '@deskwork/core/cli-args';
|
|
38
45
|
import { RULES, parseFixArgument, runAudit, runRepair, yesInteraction, } from '@deskwork/core/doctor';
|
|
46
|
+
import { validateAll } from '@deskwork/core/doctor/validate';
|
|
47
|
+
import { repairAll } from '@deskwork/core/doctor/repair';
|
|
48
|
+
import { maybeMigrate } from "./doctor-migrate-gate.js";
|
|
39
49
|
const KNOWN_FLAGS = ['site', 'fix'];
|
|
40
|
-
const BOOLEAN_FLAGS = ['yes', 'json'];
|
|
50
|
+
const BOOLEAN_FLAGS = ['yes', 'json', 'check'];
|
|
41
51
|
export async function run(argv) {
|
|
42
52
|
const { positional, flags, booleans } = parseInput(argv);
|
|
43
53
|
if (positional.length < 1) {
|
|
44
|
-
fail('Usage: deskwork doctor <project-root> [--site <slug>] [--fix <rule|all>] [--yes] [--json]', 2);
|
|
54
|
+
fail('Usage: deskwork doctor <project-root> [--site <slug>] [--fix <rule|all>] [--yes] [--json] [--check]', 2);
|
|
45
55
|
}
|
|
46
56
|
const [rootArg] = positional;
|
|
47
57
|
const projectRoot = absolutize(rootArg);
|
|
@@ -52,6 +62,17 @@ export async function run(argv) {
|
|
|
52
62
|
catch (err) {
|
|
53
63
|
fail(err instanceof Error ? err.message : String(err), 2);
|
|
54
64
|
}
|
|
65
|
+
// Phase 29: legacy-schema detection runs BEFORE the rule loop. The
|
|
66
|
+
// entry-centric redesign moved calendar shape from "Review/Paused
|
|
67
|
+
// sections" to per-stage sections + .deskwork/entries/ sidecars.
|
|
68
|
+
// Pre-redesign trees can't be audited by the rule loop without an
|
|
69
|
+
// up-front migration; this gate routes to migrateCalendar() in
|
|
70
|
+
// --fix mode and prints a how-to-fix hint in audit-only mode.
|
|
71
|
+
const check = booleans.has('check');
|
|
72
|
+
const repairMode = flags.fix !== undefined;
|
|
73
|
+
const migrateResult = await maybeMigrate(projectRoot, repairMode, check);
|
|
74
|
+
if (migrateResult.handled)
|
|
75
|
+
process.exit(migrateResult.exitCode);
|
|
55
76
|
if (flags.site !== undefined && !(flags.site in config.sites)) {
|
|
56
77
|
fail(`Unknown --site "${flags.site}". Configured sites: ${Object.keys(config.sites).join(', ')}`, 2);
|
|
57
78
|
}
|
|
@@ -74,7 +95,6 @@ export async function run(argv) {
|
|
|
74
95
|
}
|
|
75
96
|
const json = booleans.has('json');
|
|
76
97
|
const yes = booleans.has('yes');
|
|
77
|
-
const repairMode = flags.fix !== undefined;
|
|
78
98
|
const opts = {
|
|
79
99
|
projectRoot,
|
|
80
100
|
config,
|
|
@@ -82,39 +102,67 @@ export async function run(argv) {
|
|
|
82
102
|
...(ruleIds !== undefined ? { ruleIds } : {}),
|
|
83
103
|
};
|
|
84
104
|
let report;
|
|
105
|
+
let legacyExitCode;
|
|
85
106
|
if (!repairMode) {
|
|
86
107
|
// Audit-only — interaction is unused but the type insists on a
|
|
87
108
|
// value, so we pass yesInteraction (its methods are never invoked
|
|
88
109
|
// in this mode).
|
|
89
110
|
report = await runAudit(opts, yesInteraction);
|
|
90
111
|
emitReport(report, { json, repairMode: false });
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
if (yes) {
|
|
94
|
-
report = await runRepair(opts, yesInteraction);
|
|
112
|
+
legacyExitCode = report.findings.length === 0 ? 0 : 1;
|
|
95
113
|
}
|
|
96
114
|
else {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
if (yes) {
|
|
116
|
+
report = await runRepair(opts, yesInteraction);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const adapter = interactiveAdapter();
|
|
120
|
+
try {
|
|
121
|
+
report = await runRepair(opts, adapter.interaction);
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
adapter.close();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
emitReport(report, { json, repairMode: true });
|
|
128
|
+
// Exit-code logic (Issue #44):
|
|
129
|
+
// - applied → success.
|
|
130
|
+
// - skipped because the prerequisite isn't met (e.g. no body file
|
|
131
|
+
// yet for missing-frontmatter-id) → success. The operator's
|
|
132
|
+
// next action is `/deskwork:outline`, not "look at doctor."
|
|
133
|
+
// - skipped because the operator chose "leave as-is" on an orphan
|
|
134
|
+
// prompt → success. The operator made a choice; respect it.
|
|
135
|
+
// - everything else (ambiguous, schema-rejected, editorial-
|
|
136
|
+
// decision, operator-declined, apply-failed) → exit 1. These
|
|
137
|
+
// are real follow-ups doctor can't auto-resolve.
|
|
138
|
+
const realFollowUps = report.repairs.filter((r) => !r.applied && !isExpectedSkip(r.skipReason)).length;
|
|
139
|
+
legacyExitCode = realFollowUps === 0 ? 0 : 1;
|
|
140
|
+
}
|
|
141
|
+
// Phase 30 (Task 32): entry-centric validation pass. Runs after the
|
|
142
|
+
// legacy rule-based audit/repair so both schemas are covered during
|
|
143
|
+
// the migration window. Output is appended to the existing stream;
|
|
144
|
+
// exit code is the OR of legacy + new failures.
|
|
145
|
+
const newValidation = await validateAll(projectRoot);
|
|
146
|
+
if (newValidation.failures.length > 0) {
|
|
147
|
+
process.stderr.write(`\nEntry-centric validation: ${newValidation.failures.length} failure(s)\n`);
|
|
148
|
+
for (const f of newValidation.failures) {
|
|
149
|
+
const loc = f.path !== undefined ? ` (${f.path})` : '';
|
|
150
|
+
const eid = f.entryId !== undefined ? ` [entry=${f.entryId}]` : '';
|
|
151
|
+
process.stderr.write(` ${f.category}${eid}: ${f.message}${loc}\n`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (repairMode) {
|
|
155
|
+
const newRepair = await repairAll(projectRoot, { destructive: false });
|
|
156
|
+
for (const a of newRepair.applied) {
|
|
157
|
+
process.stdout.write(`Entry-centric repair applied: ${a}\n`);
|
|
100
158
|
}
|
|
101
|
-
|
|
102
|
-
|
|
159
|
+
for (const p of newRepair.pendingDestructive) {
|
|
160
|
+
process.stdout.write(`Entry-centric repair pending (destructive — re-run with explicit confirmation): ${p}\n`);
|
|
103
161
|
}
|
|
104
162
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// - skipped because the prerequisite isn't met (e.g. no body file
|
|
109
|
-
// yet for missing-frontmatter-id) → success. The operator's
|
|
110
|
-
// next action is `/deskwork:outline`, not "look at doctor."
|
|
111
|
-
// - skipped because the operator chose "leave as-is" on an orphan
|
|
112
|
-
// prompt → success. The operator made a choice; respect it.
|
|
113
|
-
// - everything else (ambiguous, schema-rejected, editorial-
|
|
114
|
-
// decision, operator-declined, apply-failed) → exit 1. These
|
|
115
|
-
// are real follow-ups doctor can't auto-resolve.
|
|
116
|
-
const realFollowUps = report.repairs.filter((r) => !r.applied && !isExpectedSkip(r.skipReason)).length;
|
|
117
|
-
process.exit(realFollowUps === 0 ? 0 : 1);
|
|
163
|
+
const newFailureCount = newValidation.failures.length;
|
|
164
|
+
const exitCode = legacyExitCode === 0 && newFailureCount === 0 ? 0 : 1;
|
|
165
|
+
process.exit(exitCode);
|
|
118
166
|
}
|
|
119
167
|
/**
|
|
120
168
|
* True for skip reasons that indicate the operator's next move is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,GAOf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,KAAK,CAAU,CAAC;AAC7C,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CACF,2FAA2F,EAC3F,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;IAC7B,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,IAAI,CACF,mBAAmB,KAAK,CAAC,IAAI,wBAAwB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC3F,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAA6B,CAAC;IAClC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,+DAA+D;QAC/D,+DAA+D;QAC/D,kEAAkE;QAClE,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;IAE3C,MAAM,IAAI,GAAG;QACX,WAAW;QACX,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;IAEF,IAAI,MAAoB,CAAC;IAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,+DAA+D;QAC/D,kEAAkE;QAClE,iBAAiB;QACjB,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9C,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,+BAA+B;IAC/B,yBAAyB;IACzB,oEAAoE;IACpE,gEAAgE;IAChE,gEAAgE;IAChE,oEAAoE;IACpE,gEAAgE;IAChE,8DAA8D;IAC9D,iEAAiE;IACjE,qDAAqD;IACrD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CACnD,CAAC,MAAM,CAAC;IACT,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,MAA8B;IACpD,OAAO,MAAM,KAAK,sBAAsB,IAAI,MAAM,KAAK,kBAAkB,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAaD,SAAS,kBAAkB;IACzB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAsB;QACrC,KAAK,CAAC,UAAU,CAAC,IAA6C;YAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAClE,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9D,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,gBAAgB,CAAC,CAAC;gBACxD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,IAA4C;YAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,OAAO;QACL,WAAW;QACX,KAAK;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAWD,SAAS,UAAU,CAAC,MAAoB,EAAE,IAAiB;IACzD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB,EAAE,IAAiB;IACvD,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;QACvC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC/C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;KAC7C,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAU;IAClC,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,CAAe;IACtC,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;QACxB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,MAAoB,EAAE,IAAiB;IACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qCAAqC,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,CACtE,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,WAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,sBAAsB,MAAM,CAAC,KAAK,CAAC,MAAM,cAAc,CACzF,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qEAAqE;QACnE,2CAA2C,CAC9C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GAAa;YAC7B,GAAG,OAAO,CAAC,MAAM,UAAU;YAC3B,GAAG,OAAO,CAAC,MAAM,UAAU;SAC5B,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,IAAI;gBAAE,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;YACpE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,MAAM,CAAC,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,+DAA+D;IAC/D,8BAA8B;IAC9B,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,MAAM,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAQD,SAAS,qBAAqB,CAC5B,OAAoC;IAEpC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAoC;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,sBAAsB;YACzB,OAAO,0CAA0C,CAAC;QACpD,KAAK,WAAW;YACd,OAAO,2CAA2C,CAAC;QACrD,KAAK,oBAAoB;YACvB,OAAO,sBAAsB,CAAC;QAChC,KAAK,iBAAiB;YACpB,OAAO,iCAAiC,CAAC;QAC3C,KAAK,mBAAmB;YACtB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,kBAAkB;YACrB,OAAO,kBAAkB,CAAC;QAC5B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAO,KAAU,EAAE,GAAmB;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACrB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* deskwork-iterate — snapshot the agent's revised content file as a new
|
|
3
|
-
* workflow version
|
|
3
|
+
* workflow version (legacy shortform) or a new entry-stage iteration
|
|
4
|
+
* (entry-centric longform/outline).
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Phase 29 / pipeline redesign: longform + outline iterate now go through
|
|
7
|
+
* the entry-centric helper (`iterateEntry`) which mutates the per-entry
|
|
8
|
+
* sidecar and emits journal events. The workflow-object model remains in
|
|
9
|
+
* place for shortform — that path is preserved as `runShortformIterate`
|
|
10
|
+
* intact, including its dispositions, annotations, and pipeline
|
|
11
|
+
* transitions.
|
|
8
12
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* new version (originatedBy='agent') — this is the SSOT flow:
|
|
12
|
-
* disk is canonical, the journal captures snapshots.
|
|
13
|
-
* 3. Optionally read a dispositions JSON and emit address annotations
|
|
14
|
-
* (one per commentId) that the studio sidebar renders as badges.
|
|
15
|
-
* 4. Transition the workflow back to in-review.
|
|
16
|
-
*
|
|
17
|
-
* Phase 21a: `--kind shortform` is accepted alongside longform/outline.
|
|
18
|
-
* The mutation is kind-agnostic — it reads the workflow's on-disk file
|
|
19
|
-
* (longform: `<contentDir>/<slug>.md`; shortform:
|
|
20
|
-
* `<contentDir>/<slug>/scrapbook/shortform/<platform>[-<channel>].md`)
|
|
21
|
-
* and snapshots its body as the new version.
|
|
13
|
+
* Dispatcher: `--kind shortform` → legacy path; otherwise (longform /
|
|
14
|
+
* outline / unset) → entry-centric path.
|
|
22
15
|
*
|
|
23
16
|
* Usage:
|
|
24
17
|
* deskwork-iterate <project-root> [--site <slug>]
|
|
@@ -26,8 +19,8 @@
|
|
|
26
19
|
* [--platform <p>] [--channel <c>]
|
|
27
20
|
* [--dispositions <path>] <slug>
|
|
28
21
|
*
|
|
29
|
-
* The dispositions file (optional) is a JSON object mapping
|
|
30
|
-
* { disposition: 'addressed'|'deferred'|'wontfix', reason?: string }.
|
|
22
|
+
* The dispositions file (optional, shortform only) is a JSON object mapping
|
|
23
|
+
* commentId to { disposition: 'addressed'|'deferred'|'wontfix', reason?: string }.
|
|
31
24
|
*/
|
|
32
25
|
export declare function run(argv: string[]): Promise<void>;
|
|
33
26
|
//# sourceMappingURL=iterate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"iterate.d.ts","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA2BH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CvD"}
|
package/dist/commands/iterate.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* deskwork-iterate — snapshot the agent's revised content file as a new
|
|
3
|
-
* workflow version
|
|
3
|
+
* workflow version (legacy shortform) or a new entry-stage iteration
|
|
4
|
+
* (entry-centric longform/outline).
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Phase 29 / pipeline redesign: longform + outline iterate now go through
|
|
7
|
+
* the entry-centric helper (`iterateEntry`) which mutates the per-entry
|
|
8
|
+
* sidecar and emits journal events. The workflow-object model remains in
|
|
9
|
+
* place for shortform — that path is preserved as `runShortformIterate`
|
|
10
|
+
* intact, including its dispositions, annotations, and pipeline
|
|
11
|
+
* transitions.
|
|
8
12
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* new version (originatedBy='agent') — this is the SSOT flow:
|
|
12
|
-
* disk is canonical, the journal captures snapshots.
|
|
13
|
-
* 3. Optionally read a dispositions JSON and emit address annotations
|
|
14
|
-
* (one per commentId) that the studio sidebar renders as badges.
|
|
15
|
-
* 4. Transition the workflow back to in-review.
|
|
16
|
-
*
|
|
17
|
-
* Phase 21a: `--kind shortform` is accepted alongside longform/outline.
|
|
18
|
-
* The mutation is kind-agnostic — it reads the workflow's on-disk file
|
|
19
|
-
* (longform: `<contentDir>/<slug>.md`; shortform:
|
|
20
|
-
* `<contentDir>/<slug>/scrapbook/shortform/<platform>[-<channel>].md`)
|
|
21
|
-
* and snapshots its body as the new version.
|
|
13
|
+
* Dispatcher: `--kind shortform` → legacy path; otherwise (longform /
|
|
14
|
+
* outline / unset) → entry-centric path.
|
|
22
15
|
*
|
|
23
16
|
* Usage:
|
|
24
17
|
* deskwork-iterate <project-root> [--site <slug>]
|
|
@@ -26,8 +19,8 @@
|
|
|
26
19
|
* [--platform <p>] [--channel <c>]
|
|
27
20
|
* [--dispositions <path>] <slug>
|
|
28
21
|
*
|
|
29
|
-
* The dispositions file (optional) is a JSON object mapping
|
|
30
|
-
* { disposition: 'addressed'|'deferred'|'wontfix', reason?: string }.
|
|
22
|
+
* The dispositions file (optional, shortform only) is a JSON object mapping
|
|
23
|
+
* commentId to { disposition: 'addressed'|'deferred'|'wontfix', reason?: string }.
|
|
31
24
|
*/
|
|
32
25
|
import { existsSync, readFileSync } from 'node:fs';
|
|
33
26
|
import { readConfig } from '@deskwork/core/config';
|
|
@@ -35,18 +28,24 @@ import { resolveSite, resolveEntryFilePath, resolveShortformFilePath, } from '@d
|
|
|
35
28
|
import { appendAnnotation, appendVersion, mintAnnotation, readAnnotations, readVersions, readWorkflows, transitionState, } from '@deskwork/core/review/pipeline';
|
|
36
29
|
import { isPlatform } from '@deskwork/core/types';
|
|
37
30
|
import { absolutize, emit, fail, parseArgs } from '@deskwork/core/cli-args';
|
|
31
|
+
import { iterateEntry } from '@deskwork/core/iterate';
|
|
32
|
+
import { resolveEntryUuid } from '@deskwork/core/sidecar';
|
|
33
|
+
const KNOWN_FLAGS = ['site', 'kind', 'platform', 'channel', 'dispositions'];
|
|
34
|
+
const VALID_KINDS = ['longform', 'outline', 'shortform'];
|
|
38
35
|
export async function run(argv) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
let parsed;
|
|
37
|
+
try {
|
|
38
|
+
parsed = parseArgs(argv, KNOWN_FLAGS);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
fail(err instanceof Error ? err.message : String(err), 2);
|
|
42
|
+
}
|
|
43
|
+
const { positional, flags } = parsed;
|
|
43
44
|
if (positional.length < 2) {
|
|
44
45
|
fail('Usage: deskwork-iterate <project-root> [--site <slug>] ' +
|
|
45
46
|
'[--kind longform|outline|shortform] [--platform <p>] [--channel <c>] ' +
|
|
46
47
|
'[--dispositions <path>] <slug>', 2);
|
|
47
48
|
}
|
|
48
|
-
const [rootArg, slug] = positional;
|
|
49
|
-
const projectRoot = absolutize(rootArg);
|
|
50
49
|
if (flags.kind !== undefined &&
|
|
51
50
|
!VALID_KINDS.includes(flags.kind)) {
|
|
52
51
|
fail(`Invalid --kind "${flags.kind}". Must be 'longform', 'outline', or 'shortform'.`);
|
|
@@ -59,16 +58,79 @@ export async function run(argv) {
|
|
|
59
58
|
return 'longform';
|
|
60
59
|
})();
|
|
61
60
|
if (kind === 'shortform') {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
if (!isPlatform(flags.platform)) {
|
|
66
|
-
fail(`Invalid --platform "${flags.platform}".`);
|
|
67
|
-
}
|
|
61
|
+
await runShortformIterate(positional, flags, kind);
|
|
62
|
+
return;
|
|
68
63
|
}
|
|
69
|
-
|
|
64
|
+
// longform / outline → entry-centric path
|
|
65
|
+
if (flags.platform !== undefined || flags.channel !== undefined) {
|
|
70
66
|
fail('--platform / --channel are only valid with --kind=shortform.');
|
|
71
67
|
}
|
|
68
|
+
if (flags.dispositions !== undefined) {
|
|
69
|
+
fail('--dispositions is currently only supported with --kind=shortform.');
|
|
70
|
+
}
|
|
71
|
+
await runLongformIterate(positional, flags);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Entry-centric iterate (longform / outline). Resolves the slug to a
|
|
75
|
+
* sidecar UUID and delegates to `iterateEntry`, which:
|
|
76
|
+
* - reads the disk artifact at the stage's conventional path,
|
|
77
|
+
* - appends an iteration event to the per-entry journal,
|
|
78
|
+
* - bumps the iteration counter on the sidecar,
|
|
79
|
+
* - flips reviewState to 'in-review'.
|
|
80
|
+
*/
|
|
81
|
+
async function runLongformIterate(positional, flags) {
|
|
82
|
+
const [rootArg, slug] = positional;
|
|
83
|
+
const projectRoot = absolutize(rootArg);
|
|
84
|
+
let config;
|
|
85
|
+
try {
|
|
86
|
+
config = readConfig(projectRoot);
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
fail(err instanceof Error ? err.message : String(err));
|
|
90
|
+
}
|
|
91
|
+
// Validate --site if passed; the helper itself doesn't currently take
|
|
92
|
+
// a site param (entries are project-global), but failing on a bogus
|
|
93
|
+
// site keeps the CLI's error shape consistent with the legacy command.
|
|
94
|
+
const site = resolveSite(config, flags.site);
|
|
95
|
+
let uuid;
|
|
96
|
+
try {
|
|
97
|
+
uuid = await resolveEntryUuid(projectRoot, slug);
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
fail(err instanceof Error ? err.message : String(err));
|
|
101
|
+
}
|
|
102
|
+
let result;
|
|
103
|
+
try {
|
|
104
|
+
result = await iterateEntry(projectRoot, { uuid });
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
fail(err instanceof Error ? err.message : String(err));
|
|
108
|
+
}
|
|
109
|
+
emit({
|
|
110
|
+
entryId: result.entryId,
|
|
111
|
+
site,
|
|
112
|
+
slug,
|
|
113
|
+
stage: result.stage,
|
|
114
|
+
state: result.reviewState,
|
|
115
|
+
version: result.version,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Legacy shortform iterate (workflow-object model). Preserved intact
|
|
120
|
+
* across the Phase 29 pipeline redesign — shortform's workflow-object
|
|
121
|
+
* model migration is deferred. Every line of the original `run(argv)`
|
|
122
|
+
* shortform behavior is reproduced here verbatim.
|
|
123
|
+
*/
|
|
124
|
+
async function runShortformIterate(positional, flags, kind) {
|
|
125
|
+
const DISPOSITIONS = new Set(['addressed', 'deferred', 'wontfix']);
|
|
126
|
+
const [rootArg, slug] = positional;
|
|
127
|
+
const projectRoot = absolutize(rootArg);
|
|
128
|
+
if (flags.platform === undefined) {
|
|
129
|
+
fail('--platform is required when --kind=shortform.');
|
|
130
|
+
}
|
|
131
|
+
if (!isPlatform(flags.platform)) {
|
|
132
|
+
fail(`Invalid --platform "${flags.platform}".`);
|
|
133
|
+
}
|
|
72
134
|
let config;
|
|
73
135
|
try {
|
|
74
136
|
config = readConfig(projectRoot);
|
|
@@ -130,19 +192,19 @@ export async function run(argv) {
|
|
|
130
192
|
if (!existsSync(path)) {
|
|
131
193
|
fail(`--dispositions file not found: ${path}`);
|
|
132
194
|
}
|
|
133
|
-
let
|
|
195
|
+
let parsedDisp;
|
|
134
196
|
try {
|
|
135
|
-
|
|
197
|
+
parsedDisp = JSON.parse(readFileSync(path, 'utf8'));
|
|
136
198
|
}
|
|
137
199
|
catch (err) {
|
|
138
200
|
const reason = err instanceof Error ? err.message : String(err);
|
|
139
201
|
fail(`--dispositions: invalid JSON at ${path}: ${reason}`);
|
|
140
202
|
}
|
|
141
|
-
if (
|
|
203
|
+
if (parsedDisp === null || typeof parsedDisp !== 'object' || Array.isArray(parsedDisp)) {
|
|
142
204
|
fail(`--dispositions: expected JSON object at ${path}`);
|
|
143
205
|
}
|
|
144
206
|
dispositions = {};
|
|
145
|
-
for (const [commentId, raw] of Object.entries(
|
|
207
|
+
for (const [commentId, raw] of Object.entries(parsedDisp)) {
|
|
146
208
|
if (typeof raw !== 'object' || raw === null) {
|
|
147
209
|
fail(`--dispositions[${commentId}]: must be an object`);
|
|
148
210
|
}
|
|
@@ -190,13 +252,5 @@ export async function run(argv) {
|
|
|
190
252
|
version: newVersion.version,
|
|
191
253
|
addressedComments: addressed,
|
|
192
254
|
});
|
|
193
|
-
function parse() {
|
|
194
|
-
try {
|
|
195
|
-
return parseArgs(argv, KNOWN_FLAGS);
|
|
196
|
-
}
|
|
197
|
-
catch (err) {
|
|
198
|
-
fail(err instanceof Error ? err.message : String(err), 2);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
255
|
}
|
|
202
256
|
//# sourceMappingURL=iterate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/commands/iterate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retired-verb stub for the deskwork CLI.
|
|
3
|
+
*
|
|
4
|
+
* The deskwork pipeline redesign (v0.11.0) collapsed nine stage-specific
|
|
5
|
+
* verbs into five universal verbs (iterate / approve / block / cancel /
|
|
6
|
+
* induct) plus the existing publish + status surfaces. The retired
|
|
7
|
+
* subcommands no longer have skill modules behind them; this stub
|
|
8
|
+
* intercepts them at the dispatcher and prints a stable migration message
|
|
9
|
+
* so adopters with stale skill invocations get a clear pointer instead of
|
|
10
|
+
* the generic "unknown subcommand" error.
|
|
11
|
+
*
|
|
12
|
+
* See MIGRATING.md for the full mapping.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isRetired(subcommand: string): boolean;
|
|
15
|
+
export declare function printRetiredError(subcommand: string): never;
|
|
16
|
+
//# sourceMappingURL=retired.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired.d.ts","sourceRoot":"","sources":["../../src/commands/retired.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAc3D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retired-verb stub for the deskwork CLI.
|
|
3
|
+
*
|
|
4
|
+
* The deskwork pipeline redesign (v0.11.0) collapsed nine stage-specific
|
|
5
|
+
* verbs into five universal verbs (iterate / approve / block / cancel /
|
|
6
|
+
* induct) plus the existing publish + status surfaces. The retired
|
|
7
|
+
* subcommands no longer have skill modules behind them; this stub
|
|
8
|
+
* intercepts them at the dispatcher and prints a stable migration message
|
|
9
|
+
* so adopters with stale skill invocations get a clear pointer instead of
|
|
10
|
+
* the generic "unknown subcommand" error.
|
|
11
|
+
*
|
|
12
|
+
* See MIGRATING.md for the full mapping.
|
|
13
|
+
*/
|
|
14
|
+
const RETIRED = new Set([
|
|
15
|
+
'plan',
|
|
16
|
+
'outline',
|
|
17
|
+
'draft',
|
|
18
|
+
'pause',
|
|
19
|
+
'resume',
|
|
20
|
+
'review-start',
|
|
21
|
+
'review-cancel',
|
|
22
|
+
'review-help',
|
|
23
|
+
'review-report',
|
|
24
|
+
]);
|
|
25
|
+
export function isRetired(subcommand) {
|
|
26
|
+
return RETIRED.has(subcommand);
|
|
27
|
+
}
|
|
28
|
+
export function printRetiredError(subcommand) {
|
|
29
|
+
process.stderr.write(`deskwork: subcommand '${subcommand}' was retired in v0.11.0.\n` +
|
|
30
|
+
`The deskwork pipeline now uses universal verbs:\n` +
|
|
31
|
+
` iterate — within-stage edit cycle\n` +
|
|
32
|
+
` approve — graduate to next stage\n` +
|
|
33
|
+
` block — set Blocked\n` +
|
|
34
|
+
` cancel — set Cancelled\n` +
|
|
35
|
+
` induct — teleport to chosen stage\n` +
|
|
36
|
+
` publish — Final → Published\n` +
|
|
37
|
+
` status — per-entry state summary\n` +
|
|
38
|
+
`\nSee MIGRATING.md for the full mapping.\n`);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=retired.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired.js","sourceRoot":"","sources":["../../src/commands/retired.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;IACtB,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,cAAc;IACd,eAAe;IACf,aAAa;IACb,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yBAAyB,UAAU,6BAA6B;QAC9D,mDAAmD;QACnD,0CAA0C;QAC1C,yCAAyC;QACzC,8BAA8B;QAC9B,gCAAgC;QAChC,2CAA2C;QAC3C,oCAAoC;QACpC,0CAA0C;QAC1C,4CAA4C,CAC/C,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deskwork/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Editorial calendar + review CLI for the deskwork plugin",
|
|
6
6
|
"homepage": "https://github.com/audiocontrol-org/deskwork#readme",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"typecheck": "tsc --noEmit"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@deskwork/core": "0.
|
|
36
|
+
"@deskwork/core": "0.11.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.10.0",
|