killeros 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/killeros/shell-ui.ts +14 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@ All notable changes to KillerOS are documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [2.0.2] - 2026-08-08
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Replaced the static activity Spark with a 12-frame orange glyph loop at 120 ms per frame.
|
|
12
|
+
- Styled activity verbs orange and added the gray `(esc to interrupt · thinking)` status with bold `esc`.
|
|
13
|
+
|
|
7
14
|
## [2.0.1] - 2026-08-08
|
|
8
15
|
|
|
9
16
|
### Added
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ pi install git:github.com/KyrosHendrix/pi-KillerOS
|
|
|
31
31
|
Pin an install to a release:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
pi install git:github.com/KyrosHendrix/pi-KillerOS@v2.0.
|
|
34
|
+
pi install git:github.com/KyrosHendrix/pi-KillerOS@v2.0.2
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Add `-l` to either command for a project-only install. Restart Pi after installing.
|
|
@@ -40,7 +40,7 @@ Add `-l` to either command for a project-only install. Restart Pi after installi
|
|
|
40
40
|
|
|
41
41
|
- 52-column Compact startup card with inline version, polished model/provider identity, adjacent `/model`, directory, conditional Git branch, and a shuffled session-stable tip
|
|
42
42
|
- Cohesive dark theme with coral accents and neutral tool-call containers across pending, success, and error states
|
|
43
|
-
-
|
|
43
|
+
- Animated orange 12-frame activity glyph loop at 120 ms per frame, with orange shuffled Claude-adjacent verbs changing every 2.5 seconds, a gray `(esc to interrupt · thinking)` status with bold `esc`, and a quiet hidden-thinking label
|
|
44
44
|
- Framed multiline editor with Shift+Enter support and live command-blue highlighting for recognized slash command prefixes
|
|
45
45
|
- Responsive footer with polished model/provider identity, plain-language context, and active goal state remaining; reasoning, Git branch, elapsed time, cost, and path cut down by available width
|
|
46
46
|
- Automatic model-backed context compaction at 40% remaining; active goals continue after the saved summary
|
package/killeros/shell-ui.ts
CHANGED
|
@@ -369,8 +369,17 @@ class PiCodeEditor extends CustomEditor {
|
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
+
const ACTIVITY_FRAMES = [
|
|
373
|
+
"·", "✢", "✱", "✶", "✻", "✽",
|
|
374
|
+
"✽", "✻", "✶", "✱", "✢", "·",
|
|
375
|
+
] as const;
|
|
376
|
+
const ACTIVITY_FRAME_INTERVAL_MS = 120;
|
|
372
377
|
const ACTIVITY_WORDS = ["Brewing", "Pondering", "Tinkering", "Wrangling", "Noodling", "Cooking"] as const;
|
|
373
378
|
|
|
379
|
+
function formatActivityMessage(word: string, theme: Theme): string {
|
|
380
|
+
return `${theme.fg("accent", `${word}…`)} ${theme.fg("dim", `(${theme.bold("esc")} to interrupt · thinking)`)}`;
|
|
381
|
+
}
|
|
382
|
+
|
|
374
383
|
export function registerShellUi(pi: ExtensionAPI): void {
|
|
375
384
|
let activeHeader: PiStartupHeader | undefined;
|
|
376
385
|
let activityDeck: string[] = [];
|
|
@@ -413,7 +422,10 @@ export function registerShellUi(pi: ExtensionAPI): void {
|
|
|
413
422
|
return activeHeader;
|
|
414
423
|
});
|
|
415
424
|
clearActivityTimer();
|
|
416
|
-
ctx.ui.setWorkingIndicator({
|
|
425
|
+
ctx.ui.setWorkingIndicator({
|
|
426
|
+
frames: ACTIVITY_FRAMES.map((frame) => ctx.ui.theme.fg("accent", frame)),
|
|
427
|
+
intervalMs: ACTIVITY_FRAME_INTERVAL_MS,
|
|
428
|
+
});
|
|
417
429
|
ctx.ui.setHiddenThinkingLabel("└ Thinking…");
|
|
418
430
|
ctx.ui.setEditorComponent((tui, editorTheme, keybindings) =>
|
|
419
431
|
new PiCodeEditor(tui, editorTheme, keybindings, ctx.ui.theme, () => availableCommandNames(pi)));
|
|
@@ -425,7 +437,7 @@ export function registerShellUi(pi: ExtensionAPI): void {
|
|
|
425
437
|
pi.on("agent_start", (_event, ctx) => {
|
|
426
438
|
if (ctx.mode !== "tui") return;
|
|
427
439
|
clearActivityTimer();
|
|
428
|
-
const updateWorkingWord = (): void => ctx.ui.setWorkingMessage(
|
|
440
|
+
const updateWorkingWord = (): void => ctx.ui.setWorkingMessage(formatActivityMessage(nextActivityWord(), ctx.ui.theme));
|
|
429
441
|
updateWorkingWord();
|
|
430
442
|
activityTimer = setInterval(updateWorkingWord, 2_500);
|
|
431
443
|
activityTimer.unref?.();
|