lavish-axi 0.1.43 → 0.1.44
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/dist/cli.mjs +12 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -161,7 +161,7 @@ pnpm link
|
|
|
161
161
|
In the annotation card, Enter queues the annotation, Shift+Enter inserts a newline, and Ctrl+Enter (Cmd+Enter on macOS) queues it and sends all queued prompts immediately.
|
|
162
162
|
Cmd+I or Ctrl+I toggles between annotate and explore mode from either the browser chrome or the artifact iframe, including while focus is in a textarea or control.
|
|
163
163
|
- **Agent presence** - The browser shows when no agent is listening, keeps queued feedback and proven severe layout failures for the next successful `lavish-axi poll` send even across reloads, and only blocks human sends while the agent is working on delivered feedback; the agent's reply (`--agent-reply`) concludes that work and re-enables sends.
|
|
164
|
-
The no-timeout poll writes an immediate stderr banner
|
|
164
|
+
The no-timeout poll always writes an immediate stderr banner so it is visibly not hung; it adds the periodic stderr wait ticks only in an interactive terminal, so when stderr is piped (as under agent harnesses) the captured output carries no tick noise. Stdout always stays reserved for the final response; if the poll is interrupted or times out, re-run it because queued feedback is never lost.
|
|
165
165
|
Codex-specific guidance keeps that poll attached to the active turn instead of hiding it in a background task, because completed background tasks may not resume the agent.
|
|
166
166
|
- **Session end etiquette** - Lavish tracks who ended a session: a human clicking **End session** (or **Send & end session**) in the browser is a user-initiated end, while `lavish-axi end <html-file>` is agent-initiated.
|
|
167
167
|
A plain `lavish-axi <html-file>` after a user-initiated end refuses to reopen the browser and returns guidance instead; pass `--reopen` only when the user asks for further review or something important needs their visual attention.
|
package/dist/cli.mjs
CHANGED
|
@@ -7379,10 +7379,13 @@ var POLL_WAKE_PATH_RULES = Object.freeze([
|
|
|
7379
7379
|
]);
|
|
7380
7380
|
var POLL_SEND_AND_END_RULE = "`Send & End` ends the session. Its final feedback is still delivered once. After that response, polling stops, and the agent must not reopen the session uninvited.";
|
|
7381
7381
|
var CODEX_POLL_WAKE_PATH_GUIDANCE = "Codex detected: completed background tasks may not resume Codex automatically, so keep the poll attached to the active turn.";
|
|
7382
|
-
var VERSION = "0.1.
|
|
7382
|
+
var VERSION = "0.1.44";
|
|
7383
7383
|
function detectInvokingAgent(env = process.env) {
|
|
7384
7384
|
return ["CODEX_SANDBOX", "CODEX_THREAD_ID"].some((key) => Object.hasOwn(env, key)) ? "codex" : "generic";
|
|
7385
7385
|
}
|
|
7386
|
+
function shouldNarratePollWaitTicks({ isTTY }) {
|
|
7387
|
+
return Boolean(isTTY);
|
|
7388
|
+
}
|
|
7386
7389
|
function pollExecutionGuidance({ agent = "generic" } = {}) {
|
|
7387
7390
|
const sharedGuidance = POLL_WAKE_PATH_RULES.join(" ");
|
|
7388
7391
|
const agentGuidance = agent === "codex" ? ` ${CODEX_POLL_WAKE_PATH_GUIDANCE}` : "";
|
|
@@ -7579,7 +7582,10 @@ ${pollInterruptedText(absolute)}
|
|
|
7579
7582
|
process.on("SIGINT", onPollSignal);
|
|
7580
7583
|
process.on("SIGTERM", onPollSignal);
|
|
7581
7584
|
}
|
|
7582
|
-
const waitReporter = timeoutMs ? null : startPollWaitReporter({
|
|
7585
|
+
const waitReporter = timeoutMs ? null : startPollWaitReporter({
|
|
7586
|
+
file: absolute,
|
|
7587
|
+
narrateTicks: shouldNarratePollWaitTicks({ isTTY: process.stderr.isTTY })
|
|
7588
|
+
});
|
|
7583
7589
|
try {
|
|
7584
7590
|
const response = await fetchJson(`${baseUrl}/api/poll?file=${encodeURIComponent(absolute)}${timeoutQuery}`, {
|
|
7585
7591
|
retries: 3,
|
|
@@ -7609,10 +7615,13 @@ function startPollWaitReporter({
|
|
|
7609
7615
|
write = (line) => {
|
|
7610
7616
|
process.stderr.write(line);
|
|
7611
7617
|
},
|
|
7612
|
-
intervalMs = 6e4
|
|
7618
|
+
intervalMs = 6e4,
|
|
7619
|
+
narrateTicks = true
|
|
7613
7620
|
}) {
|
|
7614
7621
|
write(`${pollWaitBannerText(file)}
|
|
7615
7622
|
`);
|
|
7623
|
+
if (!narrateTicks) return { stop: () => {
|
|
7624
|
+
} };
|
|
7616
7625
|
let elapsedMs = 0;
|
|
7617
7626
|
const timer = setInterval(() => {
|
|
7618
7627
|
elapsedMs += intervalMs;
|