@sagmans/dsh-tui 0.7.0 → 0.8.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/.agents/skills/dsh-tui-update-models/SKILL.md +95 -17
- package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +158 -28
- package/.agents/skills/dsh-tui-update-models/scripts/dump-model-catalog.mjs +152 -16
- package/README.md +55 -22
- package/lib/herdr/client.d.ts +8 -0
- package/lib/herdr/client.d.ts.map +1 -1
- package/lib/herdr/client.js +13 -1
- package/lib/herdr/client.js.map +1 -1
- package/lib/herdr/constants.d.ts +18 -0
- package/lib/herdr/constants.d.ts.map +1 -1
- package/lib/herdr/constants.js +18 -0
- package/lib/herdr/constants.js.map +1 -1
- package/lib/herdr/reporter.d.ts +20 -4
- package/lib/herdr/reporter.d.ts.map +1 -1
- package/lib/herdr/reporter.js +70 -20
- package/lib/herdr/reporter.js.map +1 -1
- package/lib/herdr/state.d.ts +10 -0
- package/lib/herdr/state.d.ts.map +1 -1
- package/lib/herdr/state.js +21 -4
- package/lib/herdr/state.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/lib/install-skills.d.ts +20 -1
- package/lib/install-skills.d.ts.map +1 -1
- package/lib/install-skills.js +84 -9
- package/lib/install-skills.js.map +1 -1
- package/lib/surface/background-work.d.ts +2 -0
- package/lib/surface/background-work.d.ts.map +1 -1
- package/lib/surface/background-work.js +28 -2
- package/lib/surface/background-work.js.map +1 -1
- package/lib/surface/commands.d.ts +2 -0
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +6 -0
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/modal-input.d.ts +3 -2
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +14 -8
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/surface/session-lifecycle.d.ts.map +1 -1
- package/lib/surface/session-lifecycle.js +3 -0
- package/lib/surface/session-lifecycle.js.map +1 -1
- package/lib/theme-files.d.ts +1 -1
- package/lib/theme-files.d.ts.map +1 -1
- package/lib/theme-files.js +1 -1
- package/lib/theme-files.js.map +1 -1
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/theme-settings.js +10 -2
- package/lib/theme-settings.js.map +1 -1
- package/lib/ui/view/tool-card.d.ts +13 -2
- package/lib/ui/view/tool-card.d.ts.map +1 -1
- package/lib/ui/view/tool-card.js +19 -3
- package/lib/ui/view/tool-card.js.map +1 -1
- package/lib/ui/view.d.ts +25 -3
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +54 -7
- package/lib/ui/view.js.map +1 -1
- package/package.json +1 -1
- package/themes/violet-orbit.yaml +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAE5C,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAW,CAAA;AAG7F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;AAGtH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAW,CAAA;AAElF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAA;AAEjC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/herdr/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAA;AAElD,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAE5C,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAW,CAAA;AAG7F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAA;AAGtH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAW,CAAA;AAElF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAEzC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAA;AAEjC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA"}
|
package/lib/herdr/reporter.d.ts
CHANGED
|
@@ -33,10 +33,20 @@ export interface HerdrReporter {
|
|
|
33
33
|
* read as done between two turns of an agent that is still working.
|
|
34
34
|
*/
|
|
35
35
|
driver(status: DriverStatus): void;
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
|
|
36
|
+
/** Work the driven session still owns after its foreground driver settles. */
|
|
37
|
+
background(running: boolean): void;
|
|
38
|
+
/**
|
|
39
|
+
* A decision is waiting on the reader, under the key of the slot holding it.
|
|
40
|
+
*
|
|
41
|
+
* Reporting a wait is what makes Herdr raise a needs-attention notification,
|
|
42
|
+
* so only a decision the agent owes the reader is one: a menu the reader
|
|
43
|
+
* opened themselves is navigation, not a wait. The title is offered to Herdr
|
|
44
|
+
* twice, as the state's message and as its display label, because the message
|
|
45
|
+
* is stored without being drawn and the label is what its sidebar renders.
|
|
46
|
+
*/
|
|
47
|
+
block(key: string, message: string): void;
|
|
48
|
+
/** The wait held under that key was settled, answered, or abandoned. */
|
|
49
|
+
unblock(key: string): void;
|
|
40
50
|
/** The pane opened, resumed, forked, or switched to a session. */
|
|
41
51
|
session(input: HerdrSessionInput): void;
|
|
42
52
|
/** Send the current facts, or resend them with `force`. */
|
|
@@ -60,6 +70,12 @@ export declare function createHerdrReporter(options?: HerdrReporterOptions): Her
|
|
|
60
70
|
* `seq` is what makes the release land, so it is required rather than optional:
|
|
61
71
|
* Herdr sequences reports per source and treats a release that cannot beat them
|
|
62
72
|
* as stale, which would leave the row of a process that is already gone.
|
|
73
|
+
*
|
|
74
|
+
* The binary Herdr exported is tried first and the one on `PATH` second: the
|
|
75
|
+
* exported path names the release that started this pane, and a multiplexer
|
|
76
|
+
* upgraded while the pane ran can take that file away. A release that could not
|
|
77
|
+
* spawn is silent by design, so the fallback is the only thing standing between
|
|
78
|
+
* an exit and a row that reads as a live agent forever.
|
|
63
79
|
*/
|
|
64
80
|
export declare function releaseAgentSync(env: HerdrEnvironment, seq: number): void;
|
|
65
81
|
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAaL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,8EAA8E;IAC9E,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,wEAAwE;IACxE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kEAAkE;IAClE,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACvC,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9B,gEAAgE;IAChE,WAAW,IAAI,IAAI,CAAA;IACnB,sEAAsE;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,gEAAgE;IAChE,mBAAmB,IAAI,MAAM,IAAI,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAkNrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAczE"}
|
package/lib/herdr/reporter.js
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { spawnSync } from 'node:child_process';
|
|
11
11
|
import { createHerdrClient } from "./client.js";
|
|
12
|
-
import { EXIT_RELEASE_TIMEOUT_MS, HERDR_AGENT, HERDR_BIN_PATH_VAR, HERDR_ENV_FLAG, HERDR_ENV_VAR, HERDR_PANE_ID_VAR, HERDR_SOCKET_PATH_VAR, HERDR_SOURCE, METADATA_TOKENS, RETRY_BASE_MS, RETRY_MAX_MS, } from "./constants.js";
|
|
13
|
-
import { boundedMessage, createReportSequence, isReportChange, lifecycleReport, } from "./state.js";
|
|
12
|
+
import { EXIT_RELEASE_TIMEOUT_MS, FALLBACK_HERDR_BIN, HERDR_AGENT, HERDR_BIN_PATH_VAR, HERDR_ENV_FLAG, HERDR_ENV_VAR, HERDR_PANE_ID_VAR, HERDR_SOCKET_PATH_VAR, HERDR_SOURCE, METADATA_TOKENS, RETRY_BASE_MS, RETRY_MAX_MS, } from "./constants.js";
|
|
13
|
+
import { boundedMessage, createReportSequence, isReportChange, lifecycleReport, stateLabelFor, } from "./state.js";
|
|
14
14
|
export function createHerdrReporter(options = {}) {
|
|
15
15
|
const env = options.env ?? process.env;
|
|
16
16
|
const client = options.client ?? createHerdrClient(env);
|
|
@@ -19,23 +19,41 @@ export function createHerdrReporter(options = {}) {
|
|
|
19
19
|
// drops a release that cannot beat the reports this pane already sent.
|
|
20
20
|
const release = options.releaseSync ?? (() => releaseAgentSync(env, nextSeq()));
|
|
21
21
|
const retryBaseMs = Math.max(1, options.retryBaseMs ?? RETRY_BASE_MS);
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
/**
|
|
23
|
+
* The waits still owed, oldest first.
|
|
24
|
+
*
|
|
25
|
+
* A map keyed by the slot that opened the wait, so a slot taken over twice
|
|
26
|
+
* holds one entry and gives it back once; the newest remaining wait is the one
|
|
27
|
+
* that names the row, because the older ones are behind it in the reader's
|
|
28
|
+
* queue rather than in front of it.
|
|
29
|
+
*/
|
|
30
|
+
const waits = new Map();
|
|
24
31
|
let driverRunning = false;
|
|
32
|
+
let backgroundRunning = false;
|
|
25
33
|
let sessionId;
|
|
26
34
|
let wantedState;
|
|
27
35
|
let wantedSession;
|
|
28
36
|
let wantedMetadata;
|
|
37
|
+
/**
|
|
38
|
+
* The label Herdr should be showing for a blocked row, if any.
|
|
39
|
+
*
|
|
40
|
+
* It starts settled rather than owed: a pane that has never held a wait has
|
|
41
|
+
* nothing for Herdr to forget, and clearing a label it never received would be
|
|
42
|
+
* a report spent on nothing.
|
|
43
|
+
*/
|
|
44
|
+
let wantedLabel;
|
|
29
45
|
let stateSent = false;
|
|
30
46
|
let sessionSent = false;
|
|
31
47
|
let metadataSent = false;
|
|
48
|
+
let labelSent = true;
|
|
32
49
|
let released = false;
|
|
33
50
|
let retryTimer;
|
|
34
51
|
let retryAttempt = 0;
|
|
35
52
|
let releasing;
|
|
36
53
|
const owed = () => (wantedState !== undefined && !stateSent) ||
|
|
37
54
|
(wantedSession !== undefined && !sessionSent) ||
|
|
38
|
-
(wantedMetadata !== undefined && !metadataSent)
|
|
55
|
+
(wantedMetadata !== undefined && !metadataSent) ||
|
|
56
|
+
!labelSent;
|
|
39
57
|
const cancelRetry = () => {
|
|
40
58
|
if (retryTimer !== undefined)
|
|
41
59
|
clearTimeout(retryTimer);
|
|
@@ -101,6 +119,17 @@ export function createHerdrReporter(options = {}) {
|
|
|
101
119
|
afterDelivery(delivered);
|
|
102
120
|
});
|
|
103
121
|
}
|
|
122
|
+
if (!labelSent) {
|
|
123
|
+
// Ahead of the state so the row is named by the time it reads as blocked:
|
|
124
|
+
// a reader glancing at the sidebar should not catch it without its title.
|
|
125
|
+
const label = wantedLabel;
|
|
126
|
+
labelSent = true;
|
|
127
|
+
void client.reportStateLabel(label).then(delivered => {
|
|
128
|
+
if (!delivered)
|
|
129
|
+
labelSent = false;
|
|
130
|
+
afterDelivery(delivered);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
104
133
|
if (wantedState !== undefined && !stateSent) {
|
|
105
134
|
const next = wantedState;
|
|
106
135
|
stateSent = true;
|
|
@@ -118,17 +147,18 @@ export function createHerdrReporter(options = {}) {
|
|
|
118
147
|
driverRunning = status === 'running';
|
|
119
148
|
reporter.publish();
|
|
120
149
|
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
150
|
+
background(running) {
|
|
151
|
+
backgroundRunning = running;
|
|
152
|
+
reporter.publish();
|
|
153
|
+
},
|
|
154
|
+
block(key, message) {
|
|
155
|
+
waits.set(key, boundedMessage(message));
|
|
124
156
|
reporter.publish();
|
|
125
157
|
},
|
|
126
|
-
unblock() {
|
|
127
|
-
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
if (blockedCount === 0)
|
|
131
|
-
blockedMessage = undefined;
|
|
158
|
+
unblock(key) {
|
|
159
|
+
// A key nothing holds is not a wait that ended: dropping it keeps a slot
|
|
160
|
+
// that was taken over from clearing the row the new owner still needs.
|
|
161
|
+
waits.delete(key);
|
|
132
162
|
reporter.publish();
|
|
133
163
|
},
|
|
134
164
|
session(input) {
|
|
@@ -142,11 +172,19 @@ export function createHerdrReporter(options = {}) {
|
|
|
142
172
|
reporter.publish(true);
|
|
143
173
|
},
|
|
144
174
|
publish(force = false) {
|
|
145
|
-
const next = lifecycleReport({ blockedCount, blockedMessage, driverRunning });
|
|
175
|
+
const next = lifecycleReport({ blockedCount: waits.size, blockedMessage: [...waits.values()].at(-1), driverRunning, backgroundRunning });
|
|
146
176
|
if (force || isReportChange(wantedState, next)) {
|
|
147
177
|
wantedState = next;
|
|
148
178
|
stateSent = false;
|
|
149
179
|
}
|
|
180
|
+
const label = stateLabelFor(next);
|
|
181
|
+
// Not forced with the state: a session switch changes what the pane is
|
|
182
|
+
// called, never which decision it owes, so re-sending a label Herdr
|
|
183
|
+
// already holds would be noise on the wire.
|
|
184
|
+
if (label !== wantedLabel) {
|
|
185
|
+
wantedLabel = label;
|
|
186
|
+
labelSent = false;
|
|
187
|
+
}
|
|
150
188
|
flush();
|
|
151
189
|
},
|
|
152
190
|
releaseSync() {
|
|
@@ -198,16 +236,28 @@ export function createHerdrReporter(options = {}) {
|
|
|
198
236
|
* `seq` is what makes the release land, so it is required rather than optional:
|
|
199
237
|
* Herdr sequences reports per source and treats a release that cannot beat them
|
|
200
238
|
* as stale, which would leave the row of a process that is already gone.
|
|
239
|
+
*
|
|
240
|
+
* The binary Herdr exported is tried first and the one on `PATH` second: the
|
|
241
|
+
* exported path names the release that started this pane, and a multiplexer
|
|
242
|
+
* upgraded while the pane ran can take that file away. A release that could not
|
|
243
|
+
* spawn is silent by design, so the fallback is the only thing standing between
|
|
244
|
+
* an exit and a row that reads as a live agent forever.
|
|
201
245
|
*/
|
|
202
246
|
export function releaseAgentSync(env, seq) {
|
|
203
247
|
const paneId = env[HERDR_PANE_ID_VAR];
|
|
204
248
|
if (env[HERDR_ENV_VAR] !== HERDR_ENV_FLAG || paneId === undefined || env[HERDR_SOCKET_PATH_VAR] === undefined)
|
|
205
249
|
return;
|
|
206
250
|
const argv = ['pane', 'release-agent', paneId, '--source', HERDR_SOURCE, '--agent', HERDR_AGENT, '--seq', String(seq)];
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
251
|
+
const exported = env[HERDR_BIN_PATH_VAR];
|
|
252
|
+
for (const bin of exported === undefined || exported === FALLBACK_HERDR_BIN ? [FALLBACK_HERDR_BIN] : [exported, FALLBACK_HERDR_BIN]) {
|
|
253
|
+
// Only a spawn that could not start the binary at all is worth a second try:
|
|
254
|
+
// a CLI that ran and refused the release would refuse it the same way again.
|
|
255
|
+
if (spawnSync(bin, argv, {
|
|
256
|
+
env: { ...process.env, ...env },
|
|
257
|
+
stdio: 'ignore',
|
|
258
|
+
timeout: EXIT_RELEASE_TIMEOUT_MS,
|
|
259
|
+
}).error === undefined)
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
212
262
|
}
|
|
213
263
|
//# sourceMappingURL=reporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAA2C,MAAM,aAAa,CAAA;AACxF,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,GAEb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/herdr/reporter.ts"],"names":[],"mappings":"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"}
|
package/lib/herdr/state.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export interface LifecycleFacts {
|
|
|
48
48
|
readonly blockedCount: number;
|
|
49
49
|
readonly blockedMessage: string | undefined;
|
|
50
50
|
readonly driverRunning: boolean;
|
|
51
|
+
readonly backgroundRunning: boolean;
|
|
51
52
|
}
|
|
52
53
|
export interface LifecycleReport {
|
|
53
54
|
readonly state: HerdrState;
|
|
@@ -68,6 +69,15 @@ export declare function lifecycleReport(facts: LifecycleFacts): LifecycleReport;
|
|
|
68
69
|
* pending, which is the only job the message has.
|
|
69
70
|
*/
|
|
70
71
|
export declare function boundedMessage(message: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* What Herdr can render for the row's state.
|
|
74
|
+
*
|
|
75
|
+
* A wait's title reaches Herdr as a message, and 0.9.1 stores that message
|
|
76
|
+
* without drawing it anywhere, so the same text is offered again as the blocked
|
|
77
|
+
* state's display label — the one its sidebar's `state_text` token reads. A row
|
|
78
|
+
* that is not blocked has no decision to name.
|
|
79
|
+
*/
|
|
80
|
+
export declare function stateLabelFor(report: LifecycleReport): string | undefined;
|
|
71
81
|
/**
|
|
72
82
|
* The reason Herdr is told a session opened.
|
|
73
83
|
*
|
package/lib/herdr/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAML,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AAEvB,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AACD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAEvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAQ7F;AAED,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGzE;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAG/E;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,MAAM,MAAM,CAMpE"}
|
package/lib/herdr/state.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* surface knows facts about itself, Herdr wants one of three words, and the
|
|
6
6
|
* translation between them is the part worth pinning down.
|
|
7
7
|
*/
|
|
8
|
-
import { HERDR_STATES, MAX_BLOCKED_MESSAGE_CHARS, SEQ_TIME_SCALE, SESSION_START_REASONS, } from "./constants.js";
|
|
8
|
+
import { HERDR_STATES, MAX_BLOCKED_MESSAGE_CHARS, MAX_STATE_LABEL_CHARS, SEQ_TIME_SCALE, SESSION_START_REASONS, } from "./constants.js";
|
|
9
9
|
/**
|
|
10
10
|
* The driver status an agent/status payload carries, when it carries one
|
|
11
11
|
* this surface knows.
|
|
@@ -49,7 +49,7 @@ export function driverReportFor(payload, sessionId) {
|
|
|
49
49
|
export function lifecycleReport(facts) {
|
|
50
50
|
if (facts.blockedCount > 0)
|
|
51
51
|
return { state: HERDR_STATES.blocked, message: facts.blockedMessage };
|
|
52
|
-
if (facts.driverRunning)
|
|
52
|
+
if (facts.driverRunning || facts.backgroundRunning)
|
|
53
53
|
return { state: HERDR_STATES.working, message: undefined };
|
|
54
54
|
return { state: HERDR_STATES.idle, message: undefined };
|
|
55
55
|
}
|
|
@@ -60,8 +60,25 @@ export function lifecycleReport(facts) {
|
|
|
60
60
|
* pending, which is the only job the message has.
|
|
61
61
|
*/
|
|
62
62
|
export function boundedMessage(message) {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
return bounded(message, MAX_BLOCKED_MESSAGE_CHARS);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* What Herdr can render for the row's state.
|
|
67
|
+
*
|
|
68
|
+
* A wait's title reaches Herdr as a message, and 0.9.1 stores that message
|
|
69
|
+
* without drawing it anywhere, so the same text is offered again as the blocked
|
|
70
|
+
* state's display label — the one its sidebar's `state_text` token reads. A row
|
|
71
|
+
* that is not blocked has no decision to name.
|
|
72
|
+
*/
|
|
73
|
+
export function stateLabelFor(report) {
|
|
74
|
+
if (report.state !== HERDR_STATES.blocked || report.message === undefined)
|
|
75
|
+
return undefined;
|
|
76
|
+
return bounded(report.message, MAX_STATE_LABEL_CHARS);
|
|
77
|
+
}
|
|
78
|
+
/** One line of text, cut where this surface decides rather than where Herdr does. */
|
|
79
|
+
function bounded(text, limit) {
|
|
80
|
+
const trimmed = text.replace(/\s+/gu, ' ').trim();
|
|
81
|
+
return trimmed.length <= limit ? trimmed : `${trimmed.slice(0, limit - 1)}…`;
|
|
65
82
|
}
|
|
66
83
|
/**
|
|
67
84
|
* The reason Herdr is told a session opened.
|
package/lib/herdr/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAA;AAiBvB;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,SAAiB;IACjE,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjH,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAA;IAC3B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/G,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1E,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/herdr/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAA;AAiBvB;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,SAAiB;IACjE,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAE,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjH,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAA;IAC3B,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/G,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1E,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB;IACnD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,CAAA;IACjG,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,iBAAiB;QAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAC9G,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAA;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAuB;IACnD,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC3F,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACvD,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACjD,OAAO,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAA;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,qBAAqB,CAAC,IAAI,CAAA;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAA;AACrF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,IAAiC,EAAE,IAAqB;IACrF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAA;AACzF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAiB;IACpD,IAAI,QAAQ,GAAG,GAAG,EAAE,GAAG,cAAc,CAAA;IACrC,OAAO,GAAG,EAAE;QACV,QAAQ,IAAI,CAAC,CAAA;QACb,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC"}
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQlD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA8BpC,eAAO,MAAM,IAAI,QAAQ,CAAA;AAEzB;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,UAAsB,CAAA;AAoBzC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,GAAE;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,IAAI,CAMZ;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CA2ZzD"}
|
package/lib/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { createStatusFacts } from "./agent/status.js";
|
|
|
5
5
|
import { describeMissingOptional, describeMissingRequired, probeComposition } from "./compat/probe.js";
|
|
6
6
|
import { hasLiveRowSettings, readRowSettings, resolveConfig } from "./config.js";
|
|
7
7
|
export { Config } from "./config.js";
|
|
8
|
+
import { describeSkillDrift } from "./install-skills.js";
|
|
8
9
|
import { windowTitle } from "./terminal/title.js";
|
|
9
10
|
import { toolDisplayFor } from "./tool-display.js";
|
|
10
11
|
import { runModelList } from "./model-list.js";
|
|
@@ -245,6 +246,7 @@ export function apply(ctx, config) {
|
|
|
245
246
|
navigate: id => {
|
|
246
247
|
void sessionView.show(SessionId(id));
|
|
247
248
|
},
|
|
249
|
+
backgroundChanged: running => herdr.background(running),
|
|
248
250
|
});
|
|
249
251
|
const markdown = new MarkdownRenderer(theme.markdown, createMermaidTransform({ theme, mode: () => appearance.mermaidMode() }));
|
|
250
252
|
const terminalLifecycle = createTerminalLifecycle(ctx, {
|
|
@@ -412,6 +414,9 @@ export function apply(ctx, config) {
|
|
|
412
414
|
preset: resolved.preset,
|
|
413
415
|
presetRoster: agentPresets,
|
|
414
416
|
missingOptional: () => describeMissingOptional(probe),
|
|
417
|
+
// Read at start rather than at mount: the copy a reader installed can lag
|
|
418
|
+
// this build, and the surface is the only place left that can say so.
|
|
419
|
+
skillDrift: () => describeSkillDrift(),
|
|
415
420
|
session: sessionLifecycle,
|
|
416
421
|
transcript: sessionView,
|
|
417
422
|
route: modelChoice,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/install-skills.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** The command a drift notice names, so the line it prints is the line that runs. */
|
|
2
|
+
export declare const SKILL_UPDATE_COMMAND = "dsh --profile tui install-skills --update";
|
|
1
3
|
export declare class SkillAlreadyExistsError extends Error {
|
|
2
4
|
readonly destination: string;
|
|
3
5
|
constructor(destination: string);
|
|
@@ -7,7 +9,24 @@ export declare class SkillAlreadyExistsError extends Error {
|
|
|
7
9
|
* listed: a skill a reader can see here is one `install-skills` installs, and
|
|
8
10
|
* adding another never means editing the installer.
|
|
9
11
|
*/
|
|
10
|
-
export declare function bundledSkillNames(): string[];
|
|
12
|
+
export declare function bundledSkillNames(bundled?: string): string[];
|
|
13
|
+
/**
|
|
14
|
+
* The installed copies that no longer match what this package ships.
|
|
15
|
+
*
|
|
16
|
+
* Content only, over the bundled file set. The installer chmods its own
|
|
17
|
+
* helpers, so a mode difference is its doing rather than drift, and a file a
|
|
18
|
+
* reader added beside a skill is theirs: one startup line can explain neither,
|
|
19
|
+
* and a line that cries wolf gets read past when it matters.
|
|
20
|
+
*/
|
|
21
|
+
export declare function driftedSkillNames(home?: string, bundled?: string): string[];
|
|
22
|
+
/**
|
|
23
|
+
* The one line a startup can spare for an installed skill this build has moved
|
|
24
|
+
* past, or `undefined` when every installed copy still matches.
|
|
25
|
+
*
|
|
26
|
+
* Silence on any failure: a notice is a courtesy, and an unreadable home must
|
|
27
|
+
* not cost a reader the session they launched.
|
|
28
|
+
*/
|
|
29
|
+
export declare function describeSkillDrift(home?: string, bundled?: string): string | undefined;
|
|
11
30
|
/** Install one bundled skill, or replace the installed copy when `update`. */
|
|
12
31
|
export declare function installBundledSkill(name: string, home?: string, update?: boolean): string;
|
|
13
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-skills.d.ts","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-skills.d.ts","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"AAaA,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,8CAA8C,CAAA;AAQ/E,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAGzC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAoB,GAAG,MAAM,EAAE,CASzE;AAuBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,MAAkB,EAAE,OAAO,GAAE,MAAoB,GAAG,MAAM,EAAE,CAenG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAkB,EAAE,OAAO,GAAE,MAAoB,GAAG,MAAM,GAAG,SAAS,CAS9G;AA8GD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,EAAE,MAAM,UAAQ,GAAG,MAAM,CAElG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,MAAkB,EAAE,MAAM,UAAQ,EAAE,KAAK,GAAE,SAAS,MAAM,EAAwB,GAAG,MAAM,EAAE,CAyBvI"}
|
package/lib/install-skills.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import { chmodSync, cpSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, renameSync, rmSync } from 'node:fs';
|
|
1
|
+
import { chmodSync, cpSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, renameSync, rmSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
const PACKAGE_ROOT = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
6
6
|
const SKILLS_ROOT = join(PACKAGE_ROOT, '.agents', 'skills');
|
|
7
|
+
/** The user skill root, spelled once: the installer writes it and the drift check reads it. */
|
|
8
|
+
const AGENTS_DIRECTORY = '.agents';
|
|
9
|
+
const SKILLS_DIRECTORY = 'skills';
|
|
7
10
|
/** A bundled helper must keep its execute bit once the archive has stripped it. */
|
|
8
11
|
const HELPER_EXTENSIONS = ['.sh', '.mjs'];
|
|
9
12
|
const EXECUTABLE_MODE = 0o755;
|
|
13
|
+
/** The command a drift notice names, so the line it prints is the line that runs. */
|
|
14
|
+
export const SKILL_UPDATE_COMMAND = 'dsh --profile tui install-skills --update';
|
|
15
|
+
/** Separator the surface's own notices use, so a drift line reads like the rest. */
|
|
16
|
+
const NOTICE_SEPARATOR = ' · ';
|
|
17
|
+
function installedSkillsRoot(home) {
|
|
18
|
+
return join(home, AGENTS_DIRECTORY, SKILLS_DIRECTORY);
|
|
19
|
+
}
|
|
10
20
|
export class SkillAlreadyExistsError extends Error {
|
|
11
21
|
destination;
|
|
12
22
|
constructor(destination) {
|
|
@@ -19,18 +29,84 @@ export class SkillAlreadyExistsError extends Error {
|
|
|
19
29
|
* listed: a skill a reader can see here is one `install-skills` installs, and
|
|
20
30
|
* adding another never means editing the installer.
|
|
21
31
|
*/
|
|
22
|
-
export function bundledSkillNames() {
|
|
23
|
-
const root = lstatSync(
|
|
32
|
+
export function bundledSkillNames(bundled = SKILLS_ROOT) {
|
|
33
|
+
const root = lstatSync(bundled);
|
|
24
34
|
if (!root.isDirectory() || root.isSymbolicLink())
|
|
25
|
-
throw new Error(`invalid bundled skills: ${
|
|
26
|
-
const names = readdirSync(
|
|
35
|
+
throw new Error(`invalid bundled skills: ${bundled}`);
|
|
36
|
+
const names = readdirSync(bundled, { withFileTypes: true })
|
|
27
37
|
.filter(entry => entry.isDirectory() && !entry.isSymbolicLink())
|
|
28
38
|
.map(entry => entry.name)
|
|
29
39
|
.sort();
|
|
30
40
|
if (names.length === 0)
|
|
31
|
-
throw new Error(`no bundled skills: ${
|
|
41
|
+
throw new Error(`no bundled skills: ${bundled}`);
|
|
32
42
|
return names;
|
|
33
43
|
}
|
|
44
|
+
/** Every regular file a skill directory carries, keyed by its relative path. */
|
|
45
|
+
function skillFiles(root) {
|
|
46
|
+
const files = new Map();
|
|
47
|
+
const walk = (directory, prefix) => {
|
|
48
|
+
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
49
|
+
const relative = prefix === '' ? entry.name : prefix + '/' + entry.name;
|
|
50
|
+
const path = join(directory, entry.name);
|
|
51
|
+
if (entry.isDirectory()) {
|
|
52
|
+
walk(path, relative);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
// A symlinked member is not content this package shipped, and following
|
|
56
|
+
// one would read whatever it happens to point at.
|
|
57
|
+
if (!entry.isFile())
|
|
58
|
+
continue;
|
|
59
|
+
files.set(relative, readFileSync(path));
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
walk(root, '');
|
|
63
|
+
return files;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The installed copies that no longer match what this package ships.
|
|
67
|
+
*
|
|
68
|
+
* Content only, over the bundled file set. The installer chmods its own
|
|
69
|
+
* helpers, so a mode difference is its doing rather than drift, and a file a
|
|
70
|
+
* reader added beside a skill is theirs: one startup line can explain neither,
|
|
71
|
+
* and a line that cries wolf gets read past when it matters.
|
|
72
|
+
*/
|
|
73
|
+
export function driftedSkillNames(home = homedir(), bundled = SKILLS_ROOT) {
|
|
74
|
+
const skills = installedSkillsRoot(home);
|
|
75
|
+
return bundledSkillNames(bundled).filter(name => {
|
|
76
|
+
const destination = join(skills, name);
|
|
77
|
+
const entry = lstatSync(destination, { throwIfNoEntry: false });
|
|
78
|
+
// Never installed is not drift - a first install is that command's own
|
|
79
|
+
// prompt - and a symlinked copy is one the installer refuses to replace.
|
|
80
|
+
if (entry === undefined || entry.isSymbolicLink() || !entry.isDirectory())
|
|
81
|
+
return false;
|
|
82
|
+
const installed = skillFiles(destination);
|
|
83
|
+
for (const [path, content] of skillFiles(join(bundled, name))) {
|
|
84
|
+
const current = installed.get(path);
|
|
85
|
+
if (current === undefined || !current.equals(content))
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The one line a startup can spare for an installed skill this build has moved
|
|
93
|
+
* past, or `undefined` when every installed copy still matches.
|
|
94
|
+
*
|
|
95
|
+
* Silence on any failure: a notice is a courtesy, and an unreadable home must
|
|
96
|
+
* not cost a reader the session they launched.
|
|
97
|
+
*/
|
|
98
|
+
export function describeSkillDrift(home = homedir(), bundled = SKILLS_ROOT) {
|
|
99
|
+
try {
|
|
100
|
+
const drifted = driftedSkillNames(home, bundled);
|
|
101
|
+
if (drifted.length === 0)
|
|
102
|
+
return undefined;
|
|
103
|
+
return `bundled skills changed since they were installed: ${drifted.join(NOTICE_SEPARATOR)}`
|
|
104
|
+
+ `${NOTICE_SEPARATOR}run ${SKILL_UPDATE_COMMAND}`;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
34
110
|
/** Avoid writing through a pre-existing symlink into an unexpected directory. */
|
|
35
111
|
function ensureDirectory(path) {
|
|
36
112
|
try {
|
|
@@ -166,9 +242,8 @@ export function installBundledSkill(name, home = homedir(), update = false) {
|
|
|
166
242
|
*/
|
|
167
243
|
export function installBundledSkills(home = homedir(), update = false, names = bundledSkillNames()) {
|
|
168
244
|
ensureDirectory(home);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
const skills = join(agents, 'skills');
|
|
245
|
+
ensureDirectory(join(home, AGENTS_DIRECTORY));
|
|
246
|
+
const skills = installedSkillsRoot(home);
|
|
172
247
|
ensureDirectory(skills);
|
|
173
248
|
const destinations = names.map(name => join(skills, name));
|
|
174
249
|
for (const destination of destinations) {
|