lazyclaw 3.99.27 → 3.99.28
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/cli.mjs +55 -49
- package/package.json +1 -1
package/cli.mjs
CHANGED
|
@@ -1469,69 +1469,70 @@ function _attachGhostAutocomplete(rl) {
|
|
|
1469
1469
|
// border off the box (which is exactly the bug v3.99.5 shipped:
|
|
1470
1470
|
// two of the inner lines were 33 cols vs the others' 32, so the
|
|
1471
1471
|
// ╮ rendered into the next line).
|
|
1472
|
-
// v3.99.
|
|
1473
|
-
//
|
|
1474
|
-
//
|
|
1475
|
-
//
|
|
1476
|
-
//
|
|
1477
|
-
//
|
|
1478
|
-
//
|
|
1472
|
+
// v3.99.28 — Big ASCII mascot, rebuilt on a strict 17-wide canvas so
|
|
1473
|
+
// every row aligns (the v3.99.26 port copied the design handoff's
|
|
1474
|
+
// mixed 15/16/17 widths which made the helmet drift left of the
|
|
1475
|
+
// body in any monospace font). Layout: pincers ◂▸ at cols 2-3 and
|
|
1476
|
+
// 13-14, stems │ at cols 2 and 14, helmet box from col 1 to col 15
|
|
1477
|
+
// (13-wide interior), body box same width directly below, legs ┃ at
|
|
1478
|
+
// cols 4 and 12 — symmetric on the central axis (col 8).
|
|
1479
|
+
const _MASCOT_W = 17;
|
|
1479
1480
|
const _MASCOT_BIG = {
|
|
1480
1481
|
idle: [
|
|
1481
|
-
' ◂▸
|
|
1482
|
+
' ◂▸ ◂▸ ',
|
|
1482
1483
|
' │ │ ',
|
|
1483
1484
|
' │ │ ',
|
|
1484
|
-
'╔═════════════╗',
|
|
1485
|
-
'║ ║',
|
|
1486
|
-
'╚═════════════╝',
|
|
1487
|
-
'┌─────────────┐',
|
|
1488
|
-
'│ │
|
|
1489
|
-
'┤ │
|
|
1490
|
-
'└─────────────┘',
|
|
1491
|
-
'
|
|
1492
|
-
'
|
|
1485
|
+
' ╔═════════════╗ ',
|
|
1486
|
+
' ║ ║ ',
|
|
1487
|
+
' ╚═════════════╝ ',
|
|
1488
|
+
' ┌─────────────┐ ',
|
|
1489
|
+
' │ │ │ │ ',
|
|
1490
|
+
' ┤ │ │ ├ ',
|
|
1491
|
+
' └─────────────┘ ',
|
|
1492
|
+
' ┃ ┃ ',
|
|
1493
|
+
' ┃ ┃ ',
|
|
1493
1494
|
],
|
|
1494
1495
|
working: [
|
|
1495
|
-
' ◂▸
|
|
1496
|
+
' ◂▸ ◂▸ ',
|
|
1496
1497
|
' │ ··· │ ',
|
|
1497
1498
|
' │ │ ',
|
|
1498
|
-
'╔═════════════╗',
|
|
1499
|
-
'║
|
|
1500
|
-
'╚═════════════╝',
|
|
1501
|
-
'┌─────────────┐',
|
|
1502
|
-
'│ ·
|
|
1503
|
-
'┤
|
|
1504
|
-
'└─────────────┘',
|
|
1505
|
-
'
|
|
1506
|
-
'
|
|
1499
|
+
' ╔═════════════╗ ',
|
|
1500
|
+
' ║ * ║ ',
|
|
1501
|
+
' ╚═════════════╝ ',
|
|
1502
|
+
' ┌─────────────┐ ',
|
|
1503
|
+
' │ · · │ ',
|
|
1504
|
+
' ┤ ├ ',
|
|
1505
|
+
' └─────────────┘ ',
|
|
1506
|
+
' ┃ ┃ ',
|
|
1507
|
+
' ┃ ┃ ',
|
|
1507
1508
|
],
|
|
1508
1509
|
done: [
|
|
1509
|
-
'✦ ◂▸
|
|
1510
|
+
'✦ ◂▸ ◂▸ ✦',
|
|
1510
1511
|
' │ │ ',
|
|
1511
1512
|
' │ │ ',
|
|
1512
|
-
'╔═════════════╗',
|
|
1513
|
-
'║ ║',
|
|
1514
|
-
'╚═════════════╝',
|
|
1515
|
-
'┌─────────────┐',
|
|
1516
|
-
'│ ^
|
|
1517
|
-
'┤
|
|
1518
|
-
'└─────────────┘',
|
|
1519
|
-
'
|
|
1520
|
-
'
|
|
1513
|
+
' ╔═════════════╗ ',
|
|
1514
|
+
' ║ ║ ',
|
|
1515
|
+
' ╚═════════════╝ ',
|
|
1516
|
+
' ┌─────────────┐ ',
|
|
1517
|
+
' │ ^ ^ │ ',
|
|
1518
|
+
' ┤ ‿‿‿‿‿ ├ ',
|
|
1519
|
+
' └─────────────┘ ',
|
|
1520
|
+
' ┃ ┃ ',
|
|
1521
|
+
' ┃ ┃ ',
|
|
1521
1522
|
],
|
|
1522
1523
|
error: [
|
|
1523
|
-
' ▾
|
|
1524
|
+
' ▾ ▾ ',
|
|
1524
1525
|
' │ │ ',
|
|
1525
1526
|
' │ │ ',
|
|
1526
|
-
'╔═════════════╗',
|
|
1527
|
-
'║
|
|
1528
|
-
'╚═════════════╝',
|
|
1529
|
-
'┌─────────────┐',
|
|
1530
|
-
'│ ×
|
|
1531
|
-
'┤
|
|
1532
|
-
'└─────────────┘',
|
|
1533
|
-
'
|
|
1534
|
-
'
|
|
1527
|
+
' ╔═════════════╗ ',
|
|
1528
|
+
' ║ ~ ║ ',
|
|
1529
|
+
' ╚═════════════╝ ',
|
|
1530
|
+
' ┌─────────────┐ ',
|
|
1531
|
+
' │ × × │ ',
|
|
1532
|
+
' ┤ ⏜⏜⏜⏜⏜ ├ ',
|
|
1533
|
+
' └─────────────┘ ',
|
|
1534
|
+
' ┃ ┃ ',
|
|
1535
|
+
' ┃ ┃ ',
|
|
1535
1536
|
],
|
|
1536
1537
|
};
|
|
1537
1538
|
const _MASCOT_TINY = {
|
|
@@ -4803,8 +4804,13 @@ async function cmdLauncher() {
|
|
|
4803
4804
|
});
|
|
4804
4805
|
|
|
4805
4806
|
if (!picked || picked.id === 'quit' || !picked.argv) {
|
|
4806
|
-
//
|
|
4807
|
-
|
|
4807
|
+
// v3.99.28 — break out of the while loop, fall through the
|
|
4808
|
+
// finally (stdin cleanup), then hit the explicit process.exit(0)
|
|
4809
|
+
// at the function tail. Previously this was `return`, which
|
|
4810
|
+
// jumped over the explicit exit and left dangling timers /
|
|
4811
|
+
// sockets (ollama probe, registry retry, etc.) keeping the
|
|
4812
|
+
// event loop alive — visible to the user as "Quit didn't quit."
|
|
4813
|
+
break;
|
|
4808
4814
|
}
|
|
4809
4815
|
|
|
4810
4816
|
// Two menu items need a follow-up question before they can run:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazyclaw",
|
|
3
|
-
"version": "3.99.
|
|
3
|
+
"version": "3.99.28",
|
|
4
4
|
"description": "Lazy, elegant terminal CLI for chatting with Claude / OpenAI / Gemini / Ollama and orchestrating multi-step LLM workflows. Banner-on-launch, slash-command ghost autocomplete, persistent sessions, local HTTP gateway.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|