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 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 and periodic stderr heartbeats while stdout stays reserved for the final response; if the poll is interrupted or times out, re-run it because queued feedback is never lost.
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.43";
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({ file: absolute });
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lavish-axi",
3
- "version": "0.1.43",
3
+ "version": "0.1.44",
4
4
  "packageManager": "pnpm@11.1.1",
5
5
  "description": "HTML is the new markdown. Lavish is the new editor for your HTML artifacts.",
6
6
  "type": "module",