lazyclaw 3.99.9 → 3.99.10
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/README.md +1 -1
- package/cli.mjs +16 -0
- package/package.json +1 -1
package/README.md
CHANGED
package/cli.mjs
CHANGED
|
@@ -1521,6 +1521,13 @@ async function _arrowMenu({ title, subtitle, footer, items, defaultIdx = 0 }) {
|
|
|
1521
1521
|
const readline = await import('node:readline');
|
|
1522
1522
|
readline.emitKeypressEvents(process.stdin);
|
|
1523
1523
|
if (process.stdin.setRawMode) process.stdin.setRawMode(true);
|
|
1524
|
+
// A previous `readline.createInterface(...).close()` (e.g. from
|
|
1525
|
+
// `_quickPrompt`) leaves stdin paused — the keypress listener we
|
|
1526
|
+
// attach below would never fire and the menu would appear frozen
|
|
1527
|
+
// instead of responding to arrow keys. Resume + ref defensively
|
|
1528
|
+
// before drawing so the picker always receives the first keypress.
|
|
1529
|
+
process.stdin.resume();
|
|
1530
|
+
if (process.stdin.ref) process.stdin.ref();
|
|
1524
1531
|
let idx = Math.max(0, Math.min(items.length - 1, defaultIdx));
|
|
1525
1532
|
const accent = (s) => `\x1b[38;5;208m${s}\x1b[0m`;
|
|
1526
1533
|
const dim = (s) => `\x1b[2m${s}\x1b[0m`;
|
|
@@ -3765,6 +3772,15 @@ async function cmdLauncher() {
|
|
|
3765
3772
|
async function _quickPrompt(label) {
|
|
3766
3773
|
const readline = await import('node:readline');
|
|
3767
3774
|
process.stdout.write('\n');
|
|
3775
|
+
// Make sure stdin is in cooked / line-buffered mode for the
|
|
3776
|
+
// duration of the prompt — a prior `_arrowMenu` may have left raw
|
|
3777
|
+
// mode on, in which case readline.question() never fires its
|
|
3778
|
+
// line-event because each byte is delivered as a keypress instead.
|
|
3779
|
+
if (process.stdin.isTTY && process.stdin.setRawMode) {
|
|
3780
|
+
try { process.stdin.setRawMode(false); } catch (_) {}
|
|
3781
|
+
}
|
|
3782
|
+
process.stdin.resume();
|
|
3783
|
+
if (process.stdin.ref) process.stdin.ref();
|
|
3768
3784
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
3769
3785
|
const ans = await new Promise((resolve) => rl.question(label, resolve));
|
|
3770
3786
|
rl.close();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazyclaw",
|
|
3
|
-
"version": "3.99.
|
|
3
|
+
"version": "3.99.10",
|
|
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",
|