@12ui/design 0.2.55 → 0.2.56
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/SKILL.md +1 -1
- package/dist/cli-arguments.d.ts.map +1 -1
- package/dist/cli-arguments.js +1 -0
- package/dist/cli-arguments.js.map +1 -1
- package/dist/cli-conversion-derivation.d.ts +2 -1
- package/dist/cli-conversion-derivation.d.ts.map +1 -1
- package/dist/cli-conversion-derivation.js +9 -1
- package/dist/cli-conversion-derivation.js.map +1 -1
- package/dist/cli-convert-command.js +1 -1
- package/dist/cli-convert-command.js.map +1 -1
- package/dist/cli-draft-command.d.ts +11 -0
- package/dist/cli-draft-command.d.ts.map +1 -1
- package/dist/cli-draft-command.js +10 -1
- package/dist/cli-draft-command.js.map +1 -1
- package/dist/cli-help/design.d.ts +1 -1
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +7 -1
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +1 -1
- package/dist/cli-improve-command.d.ts.map +1 -1
- package/dist/cli-improve-command.js +252 -68
- package/dist/cli-improve-command.js.map +1 -1
- package/dist/cli-next-command.d.ts.map +1 -1
- package/dist/cli-next-command.js +44 -4
- package/dist/cli-next-command.js.map +1 -1
- package/dist/cli-usage.js +1 -1
- package/dist/improve-conversion-attempts.d.ts +92 -0
- package/dist/improve-conversion-attempts.d.ts.map +1 -0
- package/dist/improve-conversion-attempts.js +88 -0
- package/dist/improve-conversion-attempts.js.map +1 -0
- package/dist/improve-conversion-stage.d.ts +7 -0
- package/dist/improve-conversion-stage.d.ts.map +1 -1
- package/dist/improve-conversion-stage.js +197 -30
- package/dist/improve-conversion-stage.js.map +1 -1
- package/dist/improve-convert-resilience.d.ts +125 -0
- package/dist/improve-convert-resilience.d.ts.map +1 -1
- package/dist/improve-convert-resilience.js +165 -1
- package/dist/improve-convert-resilience.js.map +1 -1
- package/dist/improve-delivery-stages.d.ts.map +1 -1
- package/dist/improve-delivery-stages.js +1 -0
- package/dist/improve-delivery-stages.js.map +1 -1
- package/dist/improve-dom-diff.d.ts +2 -0
- package/dist/improve-dom-diff.d.ts.map +1 -1
- package/dist/improve-dom-diff.js +7 -0
- package/dist/improve-dom-diff.js.map +1 -1
- package/dist/improve-dom-gate.d.ts +7 -0
- package/dist/improve-dom-gate.d.ts.map +1 -1
- package/dist/improve-dom-gate.js +13 -0
- package/dist/improve-dom-gate.js.map +1 -1
- package/dist/improve-generation-stages.d.ts +3 -0
- package/dist/improve-generation-stages.d.ts.map +1 -1
- package/dist/improve-generation-stages.js +24 -7
- package/dist/improve-generation-stages.js.map +1 -1
- package/dist/improve-kit-assets.d.ts +129 -0
- package/dist/improve-kit-assets.d.ts.map +1 -0
- package/dist/improve-kit-assets.js +333 -0
- package/dist/improve-kit-assets.js.map +1 -0
- package/dist/improve-kit-readme.d.ts +11 -2
- package/dist/improve-kit-readme.d.ts.map +1 -1
- package/dist/improve-kit-readme.js +192 -26
- package/dist/improve-kit-readme.js.map +1 -1
- package/dist/improve-kit-stall.d.ts +67 -0
- package/dist/improve-kit-stall.d.ts.map +1 -0
- package/dist/improve-kit-stall.js +159 -0
- package/dist/improve-kit-stall.js.map +1 -0
- package/dist/improve-kit-status.d.ts +69 -0
- package/dist/improve-kit-status.d.ts.map +1 -0
- package/dist/improve-kit-status.js +145 -0
- package/dist/improve-kit-status.js.map +1 -0
- package/dist/improve-options.d.ts +10 -1
- package/dist/improve-options.d.ts.map +1 -1
- package/dist/improve-options.js +62 -15
- package/dist/improve-options.js.map +1 -1
- package/dist/improve-plan-annotated-render.d.ts +33 -0
- package/dist/improve-plan-annotated-render.d.ts.map +1 -0
- package/dist/improve-plan-annotated-render.js +175 -0
- package/dist/improve-plan-annotated-render.js.map +1 -0
- package/dist/improve-plan-annotator.d.ts +2 -1
- package/dist/improve-plan-annotator.d.ts.map +1 -1
- package/dist/improve-plan-annotator.js +21 -45
- package/dist/improve-plan-annotator.js.map +1 -1
- package/dist/improve-raster-layers-section.d.ts +21 -0
- package/dist/improve-raster-layers-section.d.ts.map +1 -0
- package/dist/improve-raster-layers-section.js +45 -0
- package/dist/improve-raster-layers-section.js.map +1 -0
- package/dist/improve-reset.d.ts +122 -0
- package/dist/improve-reset.d.ts.map +1 -0
- package/dist/improve-reset.js +141 -0
- package/dist/improve-reset.js.map +1 -0
- package/dist/improve-run-summary.d.ts +35 -0
- package/dist/improve-run-summary.d.ts.map +1 -0
- package/dist/improve-run-summary.js +134 -0
- package/dist/improve-run-summary.js.map +1 -0
- package/dist/improve-stage-shared.d.ts +5 -0
- package/dist/improve-stage-shared.d.ts.map +1 -1
- package/dist/improve-stage-shared.js.map +1 -1
- package/dist/improve-stop-handler.d.ts +73 -0
- package/dist/improve-stop-handler.d.ts.map +1 -0
- package/dist/improve-stop-handler.js +126 -0
- package/dist/improve-stop-handler.js.map +1 -0
- package/dist/improve-terminal-event.d.ts +118 -0
- package/dist/improve-terminal-event.d.ts.map +1 -0
- package/dist/improve-terminal-event.js +81 -0
- package/dist/improve-terminal-event.js.map +1 -0
- package/dist/improve-workspace.d.ts +15 -0
- package/dist/improve-workspace.d.ts.map +1 -1
- package/dist/improve-workspace.js +3 -0
- package/dist/improve-workspace.js.map +1 -1
- package/dist/legacy-skill-catalog.d.ts.map +1 -1
- package/dist/legacy-skill-catalog.js +20 -0
- package/dist/legacy-skill-catalog.js.map +1 -1
- package/dist/redesign-capture.d.ts +16 -0
- package/dist/redesign-capture.d.ts.map +1 -1
- package/dist/redesign-capture.js +49 -3
- package/dist/redesign-capture.js.map +1 -1
- package/dist/run-journal-unfinished.d.ts +56 -0
- package/dist/run-journal-unfinished.d.ts.map +1 -0
- package/dist/run-journal-unfinished.js +126 -0
- package/dist/run-journal-unfinished.js.map +1 -0
- package/dist/run-journal.d.ts +25 -1
- package/dist/run-journal.d.ts.map +1 -1
- package/dist/run-journal.js +15 -1
- package/dist/run-journal.js.map +1 -1
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/skills/12ui-design/SKILL.md +2 -0
- package/skills/12ui-design/improve.md +67 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-run-summary.js","sourceRoot":"","sources":["../src/improve-run-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { runConversionCommand } from './cli-convert-command.js';
|
|
2
2
|
import { runDraftCommand } from './cli-draft-command.js';
|
|
3
3
|
import { captureImprovePage } from './redesign-capture.js';
|
|
4
|
+
import type { ImproveStopTarget } from './improve-stop-handler.js';
|
|
4
5
|
import type { RunJournalNotes } from './run-journal.js';
|
|
5
6
|
import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
|
|
6
7
|
export type ImproveCommandDependencies = {
|
|
@@ -13,6 +14,10 @@ export type ImproveCommandDependencies = {
|
|
|
13
14
|
sleep?: (milliseconds: number) => Promise<void>;
|
|
14
15
|
onRunDirectory?: (runDir: string) => void;
|
|
15
16
|
journal?: RunJournalNotes;
|
|
17
|
+
/** Where the stop handler listens; `process` unless a test supplies one. */
|
|
18
|
+
stopTarget?: ImproveStopTarget;
|
|
19
|
+
/** How a stopped run leaves; `process.exit` unless a test supplies one. */
|
|
20
|
+
exit?: (code: number) => void;
|
|
16
21
|
};
|
|
17
22
|
export declare const improveSha256: (bytes: Uint8Array) => string;
|
|
18
23
|
export declare const noteImproveStage: (args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-stage-shared.d.ts","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,KAAG,MAA0D,CAAC;AAE7G,eAAO,MAAM,gBAAgB,GAAU,MAAM;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;CAChB,KAAG,OAAO,CAAC,aAAa,CAmBxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,aAAa,EACrB,OAAO,YAAY,KAClB,OAAO,CAAC,aAAa,CAOtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-stage-shared.js","sourceRoot":"","sources":["../src/improve-stage-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAkBhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAOtC,EAA0B,EAAE;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAkB;QAC5B,GAAG,IAAI,CAAC,MAAM;QACd,MAAM,EAAE;YACN,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YACrB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACvB,GAAG,QAAQ;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D,CAAC,CAAC,CAAC;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;aACnC;SACF;KACF,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAqB,EACrB,KAAmB,EACK,EAAE,CAAC,gBAAgB,CAAC;IAC5C,MAAM;IACN,KAAK;IACL,eAAe,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,SAAS;IACrD,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type ImproveLiveStage, type ImproveStopSignal } from './improve-terminal-event.js';
|
|
2
|
+
import type { RunJournalNotes } from './run-journal.js';
|
|
3
|
+
import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
|
|
4
|
+
/**
|
|
5
|
+
* A stopped run owes the same kit a stalled run owes, and the same record.
|
|
6
|
+
*
|
|
7
|
+
* The pipedrive lane killed a conversion at 97 seconds. Nothing threw, so no
|
|
8
|
+
* README, no `plan/STALL.md`, no end-of-run summary and no terminal journal
|
|
9
|
+
* event were ever written, and the reader was left with an empty `target/` and
|
|
10
|
+
* a PNG — the exact starting condition that produced a hand-authored hero.
|
|
11
|
+
* Ctrl-C is not a silent exit.
|
|
12
|
+
*
|
|
13
|
+
* The handler is armed for the WHOLE run, not just the delivery stages: a kill
|
|
14
|
+
* during capture, draft or pick used to leave nothing at all. The stage it
|
|
15
|
+
* reports comes from the LIVE invocation first and the record only second —
|
|
16
|
+
* see `ImproveLiveStage`, and the pipedrive kit of 2026-09-02, where a record
|
|
17
|
+
* left settled by an earlier replay read as complete while a `--fresh`
|
|
18
|
+
* conversion this process had dispatched was still in flight.
|
|
19
|
+
*
|
|
20
|
+
* WHAT THIS PATH DOES NOT WRITE: `improve.json`. It reads it, and never the
|
|
21
|
+
* other way round. Making a stopped `--fresh` or retry conversion resumable
|
|
22
|
+
* needs its idempotency key on the record, and the convert stage puts it there
|
|
23
|
+
* BEFORE it dispatches (`improve-conversion-attempts.ts`) — so by the time a
|
|
24
|
+
* signal arrives the fact is already durable, and a record write racing a
|
|
25
|
+
* second signal after the journal end line buys nothing.
|
|
26
|
+
*/
|
|
27
|
+
export type { ImproveStopSignal };
|
|
28
|
+
export type ImproveStopArtifacts = {
|
|
29
|
+
/** Absent when nothing was in flight and every stage in range had settled. */
|
|
30
|
+
stage?: ImproveStage;
|
|
31
|
+
/** Absent for the same reason: a complete kit is owed no STALL.md. */
|
|
32
|
+
stall?: string;
|
|
33
|
+
readme: string;
|
|
34
|
+
summary: string;
|
|
35
|
+
errorClass: string;
|
|
36
|
+
};
|
|
37
|
+
export declare const writeImproveStopArtifacts: (args: {
|
|
38
|
+
record: ImproveRecord;
|
|
39
|
+
signal: ImproveStopSignal;
|
|
40
|
+
requestedTo?: ImproveStage;
|
|
41
|
+
journal?: RunJournalNotes;
|
|
42
|
+
/** The stage this invocation entered and had not finished. See `ImproveLiveStage`. */
|
|
43
|
+
live?: ImproveStage;
|
|
44
|
+
}) => Promise<ImproveStopArtifacts>;
|
|
45
|
+
export type ImproveStopTarget = {
|
|
46
|
+
once: (signal: ImproveStopSignal, listener: () => void) => unknown;
|
|
47
|
+
off: (signal: ImproveStopSignal, listener: () => void) => unknown;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Arm the stop path and return the disarm function. The record is read through
|
|
51
|
+
* a getter because the caller reassigns it as each stage settles, and the kit
|
|
52
|
+
* written on the way out has to describe the record as it stands at the moment
|
|
53
|
+
* of the stop.
|
|
54
|
+
*
|
|
55
|
+
* What this cannot do: SIGKILL, which a lane timeout may send, runs no handler
|
|
56
|
+
* at all. That case leaves the journal's last progress line as the record, and
|
|
57
|
+
* `12ui next` reads it as an unfinished paid run — which is the truth.
|
|
58
|
+
*/
|
|
59
|
+
export declare const registerImproveStopHandler: (args: {
|
|
60
|
+
getRecord: () => ImproveRecord;
|
|
61
|
+
/**
|
|
62
|
+
* The stage this invocation is inside right now. Without it the handler can
|
|
63
|
+
* only ask the record, which a `--fresh` conversion in flight makes a liar.
|
|
64
|
+
*/
|
|
65
|
+
getLiveStage?: ImproveLiveStage;
|
|
66
|
+
write: (line: string) => void;
|
|
67
|
+
requestedTo?: ImproveStage;
|
|
68
|
+
journal?: RunJournalNotes;
|
|
69
|
+
onStopped?: (result: ImproveStopArtifacts) => void;
|
|
70
|
+
target?: ImproveStopTarget;
|
|
71
|
+
exit?: (code: number) => void;
|
|
72
|
+
}) => (() => void);
|
|
73
|
+
//# sourceMappingURL=improve-stop-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-stop-handler.d.ts","sourceRoot":"","sources":["../src/improve-stop-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG;IACjC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,yBAAyB,GAAU,MAAM;IACpD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sFAAsF;IACtF,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,KAAG,OAAO,CAAC,oBAAoB,CA+D/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC;IACnE,GAAG,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,SAAS,EAAE,MAAM,aAAa,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,KAAG,CAAC,MAAM,IAAI,CAuCd,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { writeImproveReadme } from './improve-kit-readme.js';
|
|
3
|
+
import { writeImproveStallReport } from './improve-kit-stall.js';
|
|
4
|
+
import { buildImproveRunSummary } from './improve-run-summary.js';
|
|
5
|
+
import { improveUnsettledStage, IMPROVE_SIGNALLED_AFTER_COMPLETION, noteImproveTerminalEvent, } from './improve-terminal-event.js';
|
|
6
|
+
import { improvePaths, readImproveRecord, } from './improve-workspace.js';
|
|
7
|
+
/** Exit codes for a signalled stop are 128 plus the signal number. */
|
|
8
|
+
const EXIT_CODE = { SIGINT: 130, SIGTERM: 143 };
|
|
9
|
+
export const writeImproveStopArtifacts = async (args) => {
|
|
10
|
+
// WHAT DECIDES. Live invocation state first, the record only when this
|
|
11
|
+
// invocation has nothing in flight. A stage this process is still inside is
|
|
12
|
+
// proof the run is not complete, whatever the record says — and after
|
|
13
|
+
// `--fresh` the record says the opposite, because the clear it wrote to disk
|
|
14
|
+
// has not reached the copy held here. "Signalled after completion" is only
|
|
15
|
+
// true when no stage is in flight AND every requested stage has settled.
|
|
16
|
+
const stage = args.live ?? improveUnsettledStage(args.record, args.requestedTo);
|
|
17
|
+
const context = args.requestedTo ? { requestedTo: args.requestedTo } : {};
|
|
18
|
+
const paths = improvePaths(args.record.runDir);
|
|
19
|
+
// The handler stays armed until the `finally` block, so a signal can land
|
|
20
|
+
// after the last requested stage has settled. That run is complete: writing
|
|
21
|
+
// "# INCOMPLETE — this run was stopped" over it, and journalling a stop that
|
|
22
|
+
// leaves a hosted run open, is the kit lying in the opposite direction from
|
|
23
|
+
// the pipedrive defect. It gets the terminal line, the README and the
|
|
24
|
+
// ordinary summary, and no STALL.md.
|
|
25
|
+
if (!stage) {
|
|
26
|
+
const errorClass = await noteImproveTerminalEvent({
|
|
27
|
+
record: args.record,
|
|
28
|
+
stage: args.requestedTo ?? 'plan',
|
|
29
|
+
kind: 'stopped',
|
|
30
|
+
error: new Error(`The run was stopped with ${args.signal} after every requested stage settled.`),
|
|
31
|
+
signal: args.signal,
|
|
32
|
+
errorClass: IMPROVE_SIGNALLED_AFTER_COMPLETION,
|
|
33
|
+
writes: [paths.readme],
|
|
34
|
+
...(args.journal ? { journal: args.journal } : {}),
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
readme: await writeImproveReadme(args.record, context),
|
|
38
|
+
summary: await buildImproveRunSummary({ record: args.record, ...context }),
|
|
39
|
+
errorClass,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const error = new Error(`The run was stopped with ${args.signal} before ${stage} settled.`);
|
|
43
|
+
// The record closes FIRST. Everything after this is a filesystem write that a
|
|
44
|
+
// second signal can cut short; the journal line cannot be written later.
|
|
45
|
+
const errorClass = await noteImproveTerminalEvent({
|
|
46
|
+
record: args.record,
|
|
47
|
+
stage,
|
|
48
|
+
kind: 'stopped',
|
|
49
|
+
error,
|
|
50
|
+
signal: args.signal,
|
|
51
|
+
writes: [path.join(paths.planDir, 'STALL.md'), paths.readme],
|
|
52
|
+
...(args.live ? { inFlight: true } : {}),
|
|
53
|
+
...(args.journal ? { journal: args.journal } : {}),
|
|
54
|
+
});
|
|
55
|
+
// The kit is written from the DURABLE record, the way the stall path in
|
|
56
|
+
// `cli-improve-command.ts` already does: a stage in flight has written down
|
|
57
|
+
// what it abandoned and what it cleared, and the in-memory copy predates
|
|
58
|
+
// that. It is read only AFTER the end line, so the one-read-before-the-end
|
|
59
|
+
// rule this module's header states still holds.
|
|
60
|
+
const durable = await readImproveRecord(paths.record) ?? args.record;
|
|
61
|
+
const stall = await writeImproveStallReport({
|
|
62
|
+
record: durable,
|
|
63
|
+
stage,
|
|
64
|
+
error,
|
|
65
|
+
kind: 'stopped',
|
|
66
|
+
...(args.live ? { inFlight: true } : {}),
|
|
67
|
+
...context,
|
|
68
|
+
});
|
|
69
|
+
const readme = await writeImproveReadme(durable, context);
|
|
70
|
+
const summary = await buildImproveRunSummary({ record: durable, ...context });
|
|
71
|
+
return { stage, stall, readme, summary, errorClass };
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Arm the stop path and return the disarm function. The record is read through
|
|
75
|
+
* a getter because the caller reassigns it as each stage settles, and the kit
|
|
76
|
+
* written on the way out has to describe the record as it stands at the moment
|
|
77
|
+
* of the stop.
|
|
78
|
+
*
|
|
79
|
+
* What this cannot do: SIGKILL, which a lane timeout may send, runs no handler
|
|
80
|
+
* at all. That case leaves the journal's last progress line as the record, and
|
|
81
|
+
* `12ui next` reads it as an unfinished paid run — which is the truth.
|
|
82
|
+
*/
|
|
83
|
+
export const registerImproveStopHandler = (args) => {
|
|
84
|
+
const target = args.target ?? process;
|
|
85
|
+
const exit = args.exit ?? ((code) => { process.exit(code); });
|
|
86
|
+
const signals = ['SIGINT', 'SIGTERM'];
|
|
87
|
+
let stopping = false;
|
|
88
|
+
const listeners = new Map();
|
|
89
|
+
const disarm = () => {
|
|
90
|
+
for (const [signal, listener] of listeners)
|
|
91
|
+
target.off(signal, listener);
|
|
92
|
+
listeners.clear();
|
|
93
|
+
};
|
|
94
|
+
for (const signal of signals) {
|
|
95
|
+
const listener = () => {
|
|
96
|
+
if (stopping)
|
|
97
|
+
return;
|
|
98
|
+
stopping = true;
|
|
99
|
+
disarm();
|
|
100
|
+
void (async () => {
|
|
101
|
+
try {
|
|
102
|
+
const live = args.getLiveStage?.();
|
|
103
|
+
const result = await writeImproveStopArtifacts({
|
|
104
|
+
record: args.getRecord(),
|
|
105
|
+
signal,
|
|
106
|
+
...(live ? { live } : {}),
|
|
107
|
+
...(args.requestedTo ? { requestedTo: args.requestedTo } : {}),
|
|
108
|
+
...(args.journal ? { journal: args.journal } : {}),
|
|
109
|
+
});
|
|
110
|
+
args.write(result.summary);
|
|
111
|
+
args.onStopped?.(result);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
// Say so rather than exiting quietly: an unwritten kit that also
|
|
115
|
+
// said nothing is the failure this whole path exists to end.
|
|
116
|
+
args.write(`Could not write the stopped kit: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
|
+
}
|
|
118
|
+
exit(EXIT_CODE[signal]);
|
|
119
|
+
})();
|
|
120
|
+
};
|
|
121
|
+
listeners.set(signal, listener);
|
|
122
|
+
target.once(signal, listener);
|
|
123
|
+
}
|
|
124
|
+
return disarm;
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=improve-stop-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-stop-handler.js","sourceRoot":"","sources":["../src/improve-stop-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { type ImproveStallKind } from './improve-kit-stall.js';
|
|
2
|
+
import { type RunJournalNotes } from './run-journal.js';
|
|
3
|
+
import { type ImproveRecord, type ImproveStage } from './improve-workspace.js';
|
|
4
|
+
/**
|
|
5
|
+
* Every way an improve run can stop leaves a terminal line in its journal.
|
|
6
|
+
*
|
|
7
|
+
* The pipedrive landing's journal ends on a progress line: stage
|
|
8
|
+
* `materializing_assets`, elapsed 385 s, and then nothing, because the lane
|
|
9
|
+
* killed the process and a signal with no listener terminates without emitting
|
|
10
|
+
* `exit`. Two shells then read that workspace and disagreed about whether
|
|
11
|
+
* anything was still running. This module is the one place that says how a
|
|
12
|
+
* stopped or stalled improve closes its own record.
|
|
13
|
+
*
|
|
14
|
+
* WHAT THE LINE HAS TO CARRY, and why it is shaped this way.
|
|
15
|
+
* - `outcome` stays inside the closed set ok | refused | error. "Stalled" is
|
|
16
|
+
* not an outcome; it is why this end is not ok, which is what `error_class`
|
|
17
|
+
* is for. Adding an outcome would be a v:2 change to the schema.
|
|
18
|
+
* - `error_class` names the kill or the stall precisely, and the family
|
|
19
|
+
* `improve_stopped_*` / `improve_stalled_*` is what tells every reader that
|
|
20
|
+
* the LOCAL process ended while the hosted run did not — see
|
|
21
|
+
* `endLeavesHostedRunOpen` in run-journal-unfinished.ts, which must keep
|
|
22
|
+
* agreeing with the slugs minted here.
|
|
23
|
+
* - Stage, elapsed and typical live on progress lines by the schema's own
|
|
24
|
+
* rule, so the terminal event is a pair: one last progress entry carrying the
|
|
25
|
+
* hosted run's age, then the end.
|
|
26
|
+
* - Elapsed is measured from the FIRST journal line that named this hosted run
|
|
27
|
+
* id, so a local restart cannot reset it. `12ui next` read 76 s for an
|
|
28
|
+
* eleven-minute run before that rule existed.
|
|
29
|
+
* - The recovery files are declared as `writes`, not `artifacts`: the end line
|
|
30
|
+
* is appended BEFORE they are written, so it survives a second signal
|
|
31
|
+
* arriving mid-write, and `writes` is exactly the field for a path named
|
|
32
|
+
* before the work that produces it.
|
|
33
|
+
*
|
|
34
|
+
* WHAT THIS IS NOT. It is not synchronous. Deriving the hosted run's age needs
|
|
35
|
+
* the journal, so exactly ONE read stands between the signal and the end line —
|
|
36
|
+
* it used to be two, because the facts and the age each read the file. The
|
|
37
|
+
* append itself is synchronous once it starts, and `run-journal.ts` refuses to
|
|
38
|
+
* write anything after it, so every fact a caller wants on the record has to
|
|
39
|
+
* arrive HERE, before the end: a `note` posted afterwards is silently dropped.
|
|
40
|
+
* That is why `degradations` is a parameter rather than a follow-up call.
|
|
41
|
+
* SIGKILL still runs nothing at all, and no ordering inside this function
|
|
42
|
+
* changes that.
|
|
43
|
+
*/
|
|
44
|
+
export type ImproveStopSignal = 'SIGINT' | 'SIGTERM';
|
|
45
|
+
export declare const improveTerminalErrorClass: (args: {
|
|
46
|
+
kind: ImproveStallKind;
|
|
47
|
+
stage: ImproveStage;
|
|
48
|
+
signal?: ImproveStopSignal;
|
|
49
|
+
}) => string;
|
|
50
|
+
/**
|
|
51
|
+
* The signal arrived after the run had already done everything it was asked to
|
|
52
|
+
* do. The stop handler is armed until the `finally` block, so a Ctrl-C in the
|
|
53
|
+
* window between the last stage settling and the disarm used to write
|
|
54
|
+
* `plan/STALL.md` headed "# INCOMPLETE — this run was stopped" over a complete
|
|
55
|
+
* kit. This class is outside the `improve_stopped_*` / `improve_stalled_*`
|
|
56
|
+
* family on purpose: no hosted run is left open, so `12ui next` reads the
|
|
57
|
+
* workspace as finished, which it is.
|
|
58
|
+
*/
|
|
59
|
+
export declare const IMPROVE_SIGNALLED_AFTER_COMPLETION = "improve_signalled_after_completion";
|
|
60
|
+
/**
|
|
61
|
+
* The stage THIS invocation entered and has not finished — the one fact that
|
|
62
|
+
* tells a stop mid-flight apart from a signal after completion.
|
|
63
|
+
*
|
|
64
|
+
* The record cannot tell them apart. `--fresh` clears convert and plan from the
|
|
65
|
+
* DURABLE record INSIDE the convert stage, and the in-memory copy the stop
|
|
66
|
+
* handler reads is only reassigned when that stage RETURNS. So a kit whose
|
|
67
|
+
* convert settled in an earlier replayed run reads as complete for the whole
|
|
68
|
+
* time the fresh conversion is in flight. On 2026-09-02 the pipedrive kit was
|
|
69
|
+
* signalled 75 seconds into exactly that window: it closed its record
|
|
70
|
+
* `improve_signalled_after_completion`, put the ABANDONED conversion's id and
|
|
71
|
+
* its 216-second age on the end line, and wrote no `plan/STALL.md` over an
|
|
72
|
+
* empty `target/`.
|
|
73
|
+
*
|
|
74
|
+
* `undefined` means this invocation is between stages, which is the only state
|
|
75
|
+
* in which the record is a truthful answer on its own.
|
|
76
|
+
*/
|
|
77
|
+
export type ImproveLiveStage = () => ImproveStage | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* The stage this run did not get past: the first one that has not settled,
|
|
80
|
+
* bounded by what the caller asked for. It used to be derived from the record's
|
|
81
|
+
* `convert` block alone, so a run killed during draft reported `convert`.
|
|
82
|
+
*
|
|
83
|
+
* `undefined` means nothing in range is unsettled. It used to return the last
|
|
84
|
+
* stage instead, which is how a complete kit acquired a STALL.md naming a stage
|
|
85
|
+
* that had settled.
|
|
86
|
+
*/
|
|
87
|
+
export declare const improveUnsettledStage: (record: ImproveRecord, requestedTo?: ImproveStage) => ImproveStage | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Close this run's journal record with the reason, the stage, the hosted run
|
|
90
|
+
* id, and how long that hosted run has existed. Returns the class it wrote so a
|
|
91
|
+
* caller can report it.
|
|
92
|
+
*/
|
|
93
|
+
export declare const noteImproveTerminalEvent: (args: {
|
|
94
|
+
record: ImproveRecord;
|
|
95
|
+
stage: ImproveStage;
|
|
96
|
+
kind: ImproveStallKind;
|
|
97
|
+
error: unknown;
|
|
98
|
+
signal?: ImproveStopSignal;
|
|
99
|
+
/** Files this path is about to write, named before it writes them. */
|
|
100
|
+
writes?: readonly string[];
|
|
101
|
+
/** Overrides the derived class; the completion case is the only user. */
|
|
102
|
+
errorClass?: string;
|
|
103
|
+
/**
|
|
104
|
+
* This invocation still had a stage in flight. The hosted run then comes from
|
|
105
|
+
* the journal rather than the record — see `collectImproveStallFacts`.
|
|
106
|
+
*/
|
|
107
|
+
inFlight?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Anything else the caller wants on the end line. It has to arrive here: the
|
|
110
|
+
* session refuses to write after `stop`, so a `note` made afterwards is
|
|
111
|
+
* dropped without a word — which is how `improve_<stage>_stalled` never
|
|
112
|
+
* reached a single stalled record.
|
|
113
|
+
*/
|
|
114
|
+
degradations?: readonly string[];
|
|
115
|
+
journal?: RunJournalNotes;
|
|
116
|
+
now?: number;
|
|
117
|
+
}) => Promise<string>;
|
|
118
|
+
//# sourceMappingURL=improve-terminal-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-terminal-event.d.ts","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,yBAAyB,GAAI,MAAM;IAC9C,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,KAAG,MAEgC,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,YAAY,GAAG,SAAS,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,EACrB,cAAc,YAAY,KACzB,YAAY,GAAG,SAIjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,MAAM;IACnD,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KAAG,OAAO,CAAC,MAAM,CA0CjB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { collectImproveStallFacts } from './improve-kit-stall.js';
|
|
2
|
+
import { hostedRunAgeSeconds } from './run-journal-unfinished.js';
|
|
3
|
+
import { readRunJournal } from './run-journal.js';
|
|
4
|
+
import { IMPROVE_STAGES } from './improve-workspace.js';
|
|
5
|
+
export const improveTerminalErrorClass = (args) => (args.kind === 'stopped'
|
|
6
|
+
? `improve_stopped_${(args.signal ?? 'SIGTERM').toLowerCase()}`
|
|
7
|
+
: `improve_stalled_${args.stage}`);
|
|
8
|
+
/**
|
|
9
|
+
* The signal arrived after the run had already done everything it was asked to
|
|
10
|
+
* do. The stop handler is armed until the `finally` block, so a Ctrl-C in the
|
|
11
|
+
* window between the last stage settling and the disarm used to write
|
|
12
|
+
* `plan/STALL.md` headed "# INCOMPLETE — this run was stopped" over a complete
|
|
13
|
+
* kit. This class is outside the `improve_stopped_*` / `improve_stalled_*`
|
|
14
|
+
* family on purpose: no hosted run is left open, so `12ui next` reads the
|
|
15
|
+
* workspace as finished, which it is.
|
|
16
|
+
*/
|
|
17
|
+
export const IMPROVE_SIGNALLED_AFTER_COMPLETION = 'improve_signalled_after_completion';
|
|
18
|
+
/**
|
|
19
|
+
* The stage this run did not get past: the first one that has not settled,
|
|
20
|
+
* bounded by what the caller asked for. It used to be derived from the record's
|
|
21
|
+
* `convert` block alone, so a run killed during draft reported `convert`.
|
|
22
|
+
*
|
|
23
|
+
* `undefined` means nothing in range is unsettled. It used to return the last
|
|
24
|
+
* stage instead, which is how a complete kit acquired a STALL.md naming a stage
|
|
25
|
+
* that had settled.
|
|
26
|
+
*/
|
|
27
|
+
export const improveUnsettledStage = (record, requestedTo) => {
|
|
28
|
+
const last = requestedTo ?? IMPROVE_STAGES[IMPROVE_STAGES.length - 1];
|
|
29
|
+
const bound = IMPROVE_STAGES.indexOf(last);
|
|
30
|
+
return IMPROVE_STAGES.slice(0, bound + 1).find((stage) => !record.stages[stage]);
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Close this run's journal record with the reason, the stage, the hosted run
|
|
34
|
+
* id, and how long that hosted run has existed. Returns the class it wrote so a
|
|
35
|
+
* caller can report it.
|
|
36
|
+
*/
|
|
37
|
+
export const noteImproveTerminalEvent = async (args) => {
|
|
38
|
+
const errorClass = args.errorClass ?? improveTerminalErrorClass({
|
|
39
|
+
kind: args.kind,
|
|
40
|
+
stage: args.stage,
|
|
41
|
+
...(args.signal ? { signal: args.signal } : {}),
|
|
42
|
+
});
|
|
43
|
+
const journal = args.journal;
|
|
44
|
+
if (!journal)
|
|
45
|
+
return errorClass;
|
|
46
|
+
// ONE journal read, shared. It used to be two — the facts read the file, then
|
|
47
|
+
// the age read it again — and every one of them sits between the signal and
|
|
48
|
+
// the end line this whole module exists to guarantee.
|
|
49
|
+
const { entries } = await readRunJournal({ workspace: args.record.runDir })
|
|
50
|
+
.catch(() => ({ entries: [] }));
|
|
51
|
+
const facts = await collectImproveStallFacts({
|
|
52
|
+
record: args.record,
|
|
53
|
+
stage: args.stage,
|
|
54
|
+
error: args.error,
|
|
55
|
+
kind: args.kind,
|
|
56
|
+
entries,
|
|
57
|
+
...(args.inFlight === undefined ? {} : { inFlight: args.inFlight }),
|
|
58
|
+
}).catch(() => undefined);
|
|
59
|
+
const hostedAge = hostedRunAgeSeconds({
|
|
60
|
+
entries,
|
|
61
|
+
runId: facts?.hostedRunId,
|
|
62
|
+
now: args.now ?? Date.now(),
|
|
63
|
+
});
|
|
64
|
+
const elapsedSeconds = Math.max(facts?.waitedSeconds ?? 0, hostedAge ?? 0);
|
|
65
|
+
journal.note({
|
|
66
|
+
terminal: false,
|
|
67
|
+
...(facts?.hostedRunId ? { runId: facts.hostedRunId } : {}),
|
|
68
|
+
...(args.writes && args.writes.length > 0 ? { writes: [...args.writes] } : {}),
|
|
69
|
+
degradations: [errorClass, ...(args.degradations ?? [])],
|
|
70
|
+
});
|
|
71
|
+
journal.stop?.({
|
|
72
|
+
errorClass,
|
|
73
|
+
progress: {
|
|
74
|
+
stage: facts?.serviceStage ?? args.stage,
|
|
75
|
+
elapsedSeconds,
|
|
76
|
+
...(facts?.typicalSeconds === undefined ? {} : { typicalSeconds: facts.typicalSeconds }),
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
return errorClass;
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=improve-terminal-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"improve-terminal-event.js","sourceRoot":"","sources":["../src/improve-terminal-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAyB,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAyC,MAAM,wBAAwB,CAAC;AA6C/F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAIzC,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;IACpC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;IAC/D,CAAC,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,oCAAoC,CAAC;AAqBvF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAqB,EACrB,WAA0B,EACA,EAAE;IAC5B,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACvE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,IAwB9C,EAAmB,EAAE;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,CAAC;QAC9D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAChC,8EAA8E;IAC9E,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACxE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC;QAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO;QACP,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KACpE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACpC,OAAO;QACP,KAAK,EAAE,KAAK,EAAE,WAAW;QACzB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;KAC5B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC;QACX,QAAQ,EAAE,KAAK;QACf,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,YAAY,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;KACzD,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,EAAE,CAAC;QACb,UAAU;QACV,QAAQ,EAAE;YACR,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,KAAK;YACxC,cAAc;YACd,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;SACzF;KACF,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -95,6 +95,21 @@ export type ImproveRecord = {
|
|
|
95
95
|
abandonedAt: string;
|
|
96
96
|
reason: string;
|
|
97
97
|
}>;
|
|
98
|
+
/**
|
|
99
|
+
* Conversions this kit dispatched under a key that is not the base key, by
|
|
100
|
+
* exact key, written before the dispatch. It is what makes a `--fresh` or
|
|
101
|
+
* retry conversion reachable again after a stop — see
|
|
102
|
+
* `improve-conversion-attempts.ts`, which owns every rule about it.
|
|
103
|
+
*/
|
|
104
|
+
conversionAttempts?: Array<{
|
|
105
|
+
key: string;
|
|
106
|
+
reason: 'fresh' | 'stall-retry';
|
|
107
|
+
dispatchedAt: string;
|
|
108
|
+
conversionId?: string;
|
|
109
|
+
settledAt?: string;
|
|
110
|
+
abandonedAt?: string;
|
|
111
|
+
abandonedReason?: string;
|
|
112
|
+
}>;
|
|
98
113
|
sourceConvert?: {
|
|
99
114
|
layerDoc: string;
|
|
100
115
|
artifacts: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-workspace.d.ts","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"improve-workspace.d.ts","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,9 @@ const currentImproveRecord = (record) => ({
|
|
|
88
88
|
...(record.abandonedConversions ? {
|
|
89
89
|
abandonedConversions: record.abandonedConversions.map((conversion) => ({ ...conversion })),
|
|
90
90
|
} : {}),
|
|
91
|
+
...(record.conversionAttempts ? {
|
|
92
|
+
conversionAttempts: record.conversionAttempts.map((attempt) => ({ ...attempt })),
|
|
93
|
+
} : {}),
|
|
91
94
|
...(record.sourceConvert ? {
|
|
92
95
|
sourceConvert: {
|
|
93
96
|
layerDoc: record.sourceConvert.layerDoc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"improve-workspace.js","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAGvF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAyB,EAAE,CAAC,CACrE,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;WACzF,WAAW,CAAC;AACnB,CAAC,CAAC;AAoBF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAgB,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACzD,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAChD,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;QAChE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,sBAAsB,CAAC;QACrE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;QACxD,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,CAAC;QACvE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;KACzC,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"improve-workspace.js","sourceRoot":"","sources":["../src/improve-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,8LA6BrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,0BAA2B,CAAC;AAQ9D,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;
|
|
1
|
+
{"version":3,"file":"legacy-skill-catalog.d.ts","sourceRoot":"","sources":["../src/legacy-skill-catalog.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB,8LA6BrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChE,eAAO,MAAM,qBAAqB,0BAA2B,CAAC;AAQ9D,eAAO,MAAM,mBAAmB,EAAE,SAAS,eAAe,EACuB,CAAC;AAg0BlF,eAAO,MAAM,wBAAwB,GACnC,WAAW,MAAM,KAChB,OAAO,CAAC,MAAM,EAAE,CAiBlB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAW9C,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,WAAW,MAAM,KAChB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAoB9C,CAAC"}
|
|
@@ -44,6 +44,26 @@ export const RETIRED_SKILL_NAMES = LEGACY_SKILL_NAMES
|
|
|
44
44
|
const isRetiredSkillName = (name) => (RETIRED_SKILL_NAMES.includes(name));
|
|
45
45
|
const variants = {
|
|
46
46
|
'12ui-design': [
|
|
47
|
+
{
|
|
48
|
+
// Kit clarity (2026-09-02): improve.md gains "Using the kit" — asset
|
|
49
|
+
// roles, the ship column, the raster-first rule, the stall and
|
|
50
|
+
// gate-block playbooks, the fidelity self-check — and SKILL.md §6 sends
|
|
51
|
+
// the reader to the kit's README before any code. Two overnight lanes
|
|
52
|
+
// discarded the kit's hero artwork because none of that was written
|
|
53
|
+
// down anywhere they would read it. improve.md then gained what the CLI
|
|
54
|
+
// fixes changed: --redraw may carry a new direction, the stall bound is
|
|
55
|
+
// model-aware and its retry belongs to the kit, and a signal after the
|
|
56
|
+
// last stage settles writes no STALL.md. The apply test added the two
|
|
57
|
+
// rules a lane got wrong: only the base clean plate is the backdrop, and
|
|
58
|
+
// a shipped plate is optimised before it is committed. improve.md then
|
|
59
|
+
// gained the one sentence a stopped run needs: `--fresh` and the stall
|
|
60
|
+
// retry record their idempotency key before dispatching, so a resume
|
|
61
|
+
// re-attaches to the conversion the stop interrupted.
|
|
62
|
+
'SKILL.md': '8f3948a557978faaa572a54729bf3b0fc115261a6dfded592befcf3fce0230b1',
|
|
63
|
+
'agents/openai.yaml': 'ef682fc5ea34df9fcb810462975da0ed1155051fd3497b663ccbda9708f39e3f',
|
|
64
|
+
'improve.md': '2558c53492780fef6c6af81968068bbdede46672008c319402275535cd432a19',
|
|
65
|
+
'inspire.md': '8be424fda9e98f5d8cd95d1074f3b31091f1620c6f7ed28d84ceda77bc480ad9',
|
|
66
|
+
},
|
|
47
67
|
{
|
|
48
68
|
// 0.2.55: improve documents its fixed-layout fallback while retaining
|
|
49
69
|
// the progressive-disclosure modes, replay, and convergence workflow.
|