lavish-axi 0.1.61 → 0.1.63

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
@@ -201,7 +201,7 @@ pnpm link
201
201
  The browser chrome keeps editing actions in the overflow menu (copy path, reload artifact, copy DOM snapshot, export standalone HTML, publish link, end session), while the composer exposes **Send & End** beside **Send to Agent** to submit queued prompts and user-ended attribution together.
202
202
  - **Reviewing on a phone** - Below 860px wide, the artifact takes the whole screen above a **Conversation** dock, and the conversation opens as a bottom sheet over it: tap the dock, swipe it up, or press the chevron to raise it; tap the dimmed artifact, swipe the sheet down, press the chevron, or press Escape to lower it. The dock reports what matters while the sheet is down - how many prompts are queued, a reply that arrived while you were reading, or whether the agent is listening - and the sheet stays open across a reload of the review page. The sheet sizes itself to the visible viewport and respects safe-area insets; if the keyboard or attachments leave little room, conversation content yields or scrolls while the send actions remain pinned above the bottom edge. In landscape the sheet covers the top bar as well. Wider screens keep the side-by-side layout.
203
203
  - **Keyboard shortcuts** - In the chrome composer, Enter sends queued prompts and Shift+Enter inserts a newline.
204
- 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.
204
+ 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. Escape closes the card, same as Cancel, but only while it is empty (no text, no attachment); with unsent text or an attachment present, Escape does nothing rather than risk discarding it.
205
205
  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.
206
206
  - **Agent presence** - The browser shows when no agent is listening, keeps queued feedback for the next successful `lavish-axi poll` send even across reloads, and keeps human feedback actions available while the agent is working because the server queues them for the next poll. The agent's reply (`--agent-reply`) concludes delivered work and returns presence to waiting.
207
207
  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 before feedback arrives, re-run it because feedback remains queued until delivery. Poll delivery consumes the response, so read the complete response before truncating or filtering it.
@@ -1262,7 +1262,6 @@ async function submitQueuedOnce() {
1262
1262
  markSessionEnded();
1263
1263
  return;
1264
1264
  }
1265
- if (agentPresence === "listening") setAgentPresence("working");
1266
1265
  }
1267
1266
 
1268
1267
  function normalizeLayoutFindings(value) {
package/dist/cli.mjs CHANGED
@@ -6644,6 +6644,11 @@ function createArtifactSdk(deriveQueueKey, isNativeInteractive = isNativeInterac
6644
6644
  const sendNow = (event.ctrlKey || event.metaKey) && (!!textarea.value.trim() || attachments.hasReady());
6645
6645
  const queued = tryQueue();
6646
6646
  if (queued && sendNow) sendQueuedPrompts();
6647
+ } else if (event.key === "Escape" && !event.isComposing) {
6648
+ if (textarea.value.trim() || attachments.hasPending() || attachments.hasErrors() || attachments.hasReady())
6649
+ return;
6650
+ event.preventDefault();
6651
+ closeCard();
6647
6652
  }
6648
6653
  });
6649
6654
  textarea.addEventListener("input", scheduleReviewStateReport);
@@ -10384,8 +10389,8 @@ function setPollActive(key, activePolls, deliveredFeedback, events, active) {
10384
10389
  activePolls.delete(key);
10385
10390
  } else {
10386
10391
  activePolls.set(key, nextCount);
10387
- deliveredFeedback.delete(key);
10388
10392
  }
10393
+ if (active && count === 0) deliveredFeedback.delete(key);
10389
10394
  const nextPresence = computePresence(key, activePolls, deliveredFeedback);
10390
10395
  if (nextPresence !== previousPresence) events.emit("agent-presence", key, nextPresence);
10391
10396
  }
@@ -10884,7 +10889,7 @@ var POLL_WAKE_PATH_RULES = Object.freeze([
10884
10889
  ]);
10885
10890
  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.";
10886
10891
  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.";
10887
- var VERSION = "0.1.61";
10892
+ var VERSION = "0.1.63";
10888
10893
  function detectInvokingAgent(env = process.env) {
10889
10894
  return ["CODEX_SANDBOX", "CODEX_THREAD_ID"].some((key) => Object.hasOwn(env, key)) ? "codex" : "generic";
10890
10895
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lavish-axi",
3
- "version": "0.1.61",
3
+ "version": "0.1.63",
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",
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "lavish-axi",
4
- "version": "0.1.61",
4
+ "version": "0.1.63",
5
5
  "description": "HTML is the new markdown. Lavish is the new editor for your HTML artifacts.",
6
6
  "author": {
7
7
  "name": "Kun Chen",