@ar-agents/cli
Advanced tools
+5
-0
@@ -24,2 +24,7 @@ #!/usr/bin/env node | ||
| stderr: process.stderr, | ||
| // Without this, `deps.stdin` is undefined and `ar-agents chat` refuses to | ||
| // start even in a real terminal (caught by the M1-4e live run). Piped | ||
| // stdin is deliberately allowed: readline reads lines from a pipe and the | ||
| // close event ends the loop, which is what scripted journeys rely on. | ||
| stdin: process.stdin, | ||
| homedir: os.homedir(), | ||
@@ -26,0 +31,0 @@ platform: process.platform, |
+6
-0
| # @ar-agents/cli | ||
| ## 0.1.1 | ||
| ### Patch Changes | ||
| - [#233](https://github.com/ar-agents/ar-agents/pull/233) [`63492f5`](https://github.com/ar-agents/ar-agents/commit/63492f5fddc8010ef38720af5c4ec502f247094a) Thanks [@naza00000](https://github.com/naza00000)! - `ar-agents chat` works again: the bin entry now injects `process.stdin` (it never did, so chat always printed the needs-a-TTY message, even in a real terminal), and piped-stdin journeys exit cleanly on EOF instead of crashing with "readline was closed". Found by the M1-4e live terminal run. | ||
| ## Unreleased | ||
@@ -4,0 +10,0 @@ |
+14
-3
@@ -668,3 +668,5 @@ 'use strict'; | ||
| let pendingResolve = null; | ||
| let closed = false; | ||
| rl.on("close", () => { | ||
| closed = true; | ||
| if (pendingResolve) { | ||
@@ -676,7 +678,16 @@ pendingResolve(null); | ||
| const askLine = () => new Promise((resolvePromise) => { | ||
| if (closed) { | ||
| resolvePromise(null); | ||
| return; | ||
| } | ||
| pendingResolve = resolvePromise; | ||
| rl.question("> ", (line) => { | ||
| try { | ||
| rl.question("> ", (line) => { | ||
| pendingResolve = null; | ||
| resolvePromise(line); | ||
| }); | ||
| } catch { | ||
| pendingResolve = null; | ||
| resolvePromise(line); | ||
| }); | ||
| resolvePromise(null); | ||
| } | ||
| }); | ||
@@ -683,0 +694,0 @@ for (; ; ) { |
+14
-3
@@ -666,3 +666,5 @@ import { readFileSync, mkdirSync, writeFileSync, chmodSync, existsSync } from 'fs'; | ||
| let pendingResolve = null; | ||
| let closed = false; | ||
| rl.on("close", () => { | ||
| closed = true; | ||
| if (pendingResolve) { | ||
@@ -674,7 +676,16 @@ pendingResolve(null); | ||
| const askLine = () => new Promise((resolvePromise) => { | ||
| if (closed) { | ||
| resolvePromise(null); | ||
| return; | ||
| } | ||
| pendingResolve = resolvePromise; | ||
| rl.question("> ", (line) => { | ||
| try { | ||
| rl.question("> ", (line) => { | ||
| pendingResolve = null; | ||
| resolvePromise(line); | ||
| }); | ||
| } catch { | ||
| pendingResolve = null; | ||
| resolvePromise(line); | ||
| }); | ||
| resolvePromise(null); | ||
| } | ||
| }); | ||
@@ -681,0 +692,0 @@ for (; ; ) { |
+1
-1
| { | ||
| "name": "@ar-agents/cli", | ||
| "version": "0.1.0", | ||
| "version": "0.1.1", | ||
| "description": "Command-line client for the ar-agents studio: log in with an anonymous account or an existing token, check who you are (usage, cap, and society status), and operate your automated society from the terminal (summary, live activity cockpit, suspend, resume), offline-verifiable, no browser required.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
276755
1.02%2019
1.36%