xiaotime 0.8.6 → 0.8.8

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.
@@ -0,0 +1,13 @@
1
+ export interface ClipboardImage {
2
+ /** Anthropic image-block media type, e.g. "image/png". */
3
+ mediaType: string;
4
+ /** Base64-encoded image bytes. */
5
+ data: string;
6
+ /** Raw byte length (pre-base64), for the "too large" guard + the UI label. */
7
+ bytes: number;
8
+ }
9
+ export declare const MAX_IMAGE_BYTES: number;
10
+ /** Read an image from the OS clipboard, or null if there's none / it's
11
+ * unsupported / it's too large. Never throws. */
12
+ export declare function readClipboardImage(): ClipboardImage | null;
13
+ //# sourceMappingURL=clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,eAAe,QAAkB,CAAC;AA+B/C;iDACiD;AACjD,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAqB1D"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * OS clipboard image capture (#room-image-paste).
3
+ *
4
+ * Terminals don't forward image bytes on paste, so "paste an image" means:
5
+ * read the image out of the system clipboard on demand. Tries Wayland
6
+ * (`wl-paste`) then X11 (`xclip`); PNG preferred, JPEG accepted. Never throws —
7
+ * a missing tool / empty clipboard / oversized image all return null (the caller
8
+ * shows a one-line note), so image capture can't crash the session.
9
+ */
10
+ import { spawnSync } from "child_process";
11
+ // Anthropic caps request images around 5 MB; refuse anything larger rather than
12
+ // send a payload the model will reject.
13
+ export const MAX_IMAGE_BYTES = 5 * 1024 * 1024;
14
+ const CANDIDATES = [
15
+ { mediaType: "image/png", target: "image/png", magic: [0x89, 0x50, 0x4e, 0x47] },
16
+ { mediaType: "image/jpeg", target: "image/jpeg", magic: [0xff, 0xd8, 0xff] },
17
+ ];
18
+ function tools() {
19
+ const out = [];
20
+ if (process.env.WAYLAND_DISPLAY) {
21
+ out.push({ cmd: "wl-paste", argsFor: (t) => ["--type", t, "--no-newline"] });
22
+ }
23
+ if (process.env.DISPLAY) {
24
+ out.push({ cmd: "xclip", argsFor: (t) => ["-selection", "clipboard", "-t", t, "-o"] });
25
+ }
26
+ return out;
27
+ }
28
+ function hasMagic(buf, magic) {
29
+ if (buf.length < magic.length)
30
+ return false;
31
+ for (let i = 0; i < magic.length; i++)
32
+ if (buf[i] !== magic[i])
33
+ return false;
34
+ return true;
35
+ }
36
+ /** Read an image from the OS clipboard, or null if there's none / it's
37
+ * unsupported / it's too large. Never throws. */
38
+ export function readClipboardImage() {
39
+ for (const t of tools()) {
40
+ for (const cand of CANDIDATES) {
41
+ let out;
42
+ try {
43
+ // No `encoding` → stdout is a Buffer (the payload is binary, not text).
44
+ const r = spawnSync(t.cmd, t.argsFor(cand.target), {
45
+ maxBuffer: MAX_IMAGE_BYTES + 1024,
46
+ });
47
+ if (r.status !== 0 || !r.stdout || r.stdout.length === 0)
48
+ continue;
49
+ out = r.stdout;
50
+ }
51
+ catch {
52
+ // tool missing (ENOENT) / spawn failure — try the next tool
53
+ break;
54
+ }
55
+ if (out.length > MAX_IMAGE_BYTES)
56
+ continue; // too big — don't send
57
+ if (!hasMagic(out, cand.magic))
58
+ continue; // not actually this image type
59
+ return { mediaType: cand.mediaType, data: out.toString("base64"), bytes: out.length };
60
+ }
61
+ }
62
+ return null;
63
+ }
64
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAW1C,gFAAgF;AAChF,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAS/C,MAAM,UAAU,GAAgB;IAC9B,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;IAChF,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;CAC7E,CAAC;AAEF,SAAS,KAAK;IACZ,MAAM,GAAG,GAA6D,EAAE,CAAC;IACzE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,KAAe;IAC5C,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;iDACiD;AACjD,MAAM,UAAU,kBAAkB;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,wEAAwE;gBACxE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACjD,SAAS,EAAE,eAAe,GAAG,IAAI;iBAClC,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACnE,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,MAAM;YACR,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,GAAG,eAAe;gBAAE,SAAS,CAAC,uBAAuB;YACnE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,+BAA+B;YACzE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/ink/App.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { render } from "ink";
2
+ import { type AttachedImage } from "./store.js";
2
3
  /**
3
4
  * Mount the Ink UI. Keeps the render() call + JSX in this file so the runner
4
5
  * (plain .ts) stays free of TSX. Returns Ink's instance for lifecycle control.
5
6
  */
6
7
  export declare function startInkUI(handlers: {
7
- onSubmit: (text: string) => void;
8
+ onSubmit: (text: string, image?: AttachedImage) => void;
8
9
  onInterrupt?: () => void;
9
10
  }): ReturnType<typeof render>;
10
11
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ink/App.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAuC,MAAM,KAAK,CAAC;AA6SlE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAE5B"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ink/App.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAuC,MAAM,KAAK,CAAC;AAGlE,OAAO,EAAkK,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAwZhN;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAE5B"}
package/dist/ink/App.js CHANGED
@@ -18,7 +18,8 @@ import { useState } from "react";
18
18
  import { render, Box, Text, useApp, useInput, Static } from "ink";
19
19
  import TextInput from "ink-text-input";
20
20
  import Spinner from "ink-spinner";
21
- import { useSession, resolveApproval } from "./store.js";
21
+ import { useSession, resolveApproval, resolveQuestion, attachImage, clearImage } from "./store.js";
22
+ import { readClipboardImage } from "../clipboard.js";
22
23
  // ── inline markdown: **bold**, `code`, _em_ ──────────────────────────────────
23
24
  function renderInline(s) {
24
25
  const out = [];
@@ -132,31 +133,108 @@ function ApprovalMenu({ approval }) {
132
133
  }, { isActive: mode === "menu" });
133
134
  return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: "yellow", bold: true, children: "approve" }), " ", _jsx(Text, { bold: true, children: approval.tool }), approval.summary ? _jsxs(_Fragment, { children: [" ", _jsx(Text, { dimColor: true, children: approval.summary })] }) : null] }), approval.body.split("\n").map((l, i) => (_jsx(Text, { dimColor: true, children: l.length ? l : " " }, i))), approval.diff?.map((d, i) => (_jsxs(Text, { color: d.op === "+" ? "green" : "red", children: [d.op, " ", d.text] }, `d${i}`)))] }), mode === "menu" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [APPROVAL_OPTIONS.map((opt, i) => (_jsxs(Text, { color: i === index ? "cyan" : undefined, children: [i === index ? "❯ " : " ", i + 1, ". ", opt] }, i))), _jsx(Text, { dimColor: true, children: " (1-3, \u2191\u2193 Enter \u00B7 Esc to reject)" })] })) : (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "reason › " }), _jsx(TextInput, { value: reason, onChange: setReason, onSubmit: (r) => resolveApproval({ approved: false, rejectReason: r.trim() }), placeholder: "why are you rejecting?" })] }))] }));
134
135
  }
136
+ // ── #room-agent-ask: a room agent's question to the operator, as a pick-list ──
137
+ // Distinct from ApprovalMenu (cyan "asks", not a yellow security caution): the
138
+ // agent isn't running a tool, it's asking YOU to choose. Arrow/number to pick,
139
+ // Enter to answer (advancing through multiple questions), Esc to skip. The picks
140
+ // flow back as the agent's tool result so it continues the same turn.
141
+ function QuestionMenu({ pending }) {
142
+ const [qIdx, setQIdx] = useState(0);
143
+ const [answers, setAnswers] = useState([]);
144
+ const [index, setIndex] = useState(0);
145
+ const q = pending.questions[qIdx];
146
+ const optCount = q ? q.options.length : 0;
147
+ useInput((input, key) => {
148
+ if (!q || optCount === 0) {
149
+ if (key.escape || key.return)
150
+ resolveQuestion(answers);
151
+ return;
152
+ }
153
+ if (key.upArrow)
154
+ setIndex((i) => (i + optCount - 1) % optCount);
155
+ else if (key.downArrow)
156
+ setIndex((i) => (i + 1) % optCount);
157
+ else if (/^[1-9]$/.test(input)) {
158
+ const n = Number(input) - 1;
159
+ if (n < optCount)
160
+ setIndex(n);
161
+ }
162
+ else if (key.escape) {
163
+ resolveQuestion(answers); // skip — unanswered questions come back "(no answer)"
164
+ }
165
+ else if (key.return) {
166
+ const next = [...answers, q.options[index]?.label ?? ""];
167
+ if (qIdx + 1 < pending.questions.length) {
168
+ setAnswers(next);
169
+ setQIdx(qIdx + 1);
170
+ setIndex(0);
171
+ }
172
+ else {
173
+ resolveQuestion(next);
174
+ }
175
+ }
176
+ });
177
+ if (!q)
178
+ return _jsx(Box, {});
179
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: "magenta", children: "🔁 " }), _jsx(Text, { bold: true, children: pending.from }), _jsx(Text, { color: "cyan", bold: true, children: " asks" }), pending.questions.length > 1 ? (_jsx(Text, { dimColor: true, children: ` (${qIdx + 1}/${pending.questions.length})` })) : null] }), _jsx(Text, { children: q.question })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [q.options.map((opt, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: i === index ? "cyan" : undefined, children: [i === index ? "❯ " : " ", i + 1, ". ", opt.label] }), opt.description ? _jsxs(Text, { dimColor: true, children: [" ", opt.description] }) : null] }, i))), _jsx(Text, { dimColor: true, children: ` (1-${optCount}, ↑↓ Enter to answer · Esc to skip)` })] })] }));
180
+ }
135
181
  function App({ onSubmit, onInterrupt, }) {
136
182
  const { exit } = useApp();
137
183
  const s = useSession();
138
184
  const [value, setValue] = useState("");
185
+ const [note, setNote] = useState("");
186
+ // #room-image-paste — pull the clipboard image into the staged attachment.
187
+ // Shared by Ctrl+V and the /paste command; sets a one-line note either way.
188
+ function pasteClipboardImage() {
189
+ const img = readClipboardImage();
190
+ if (!img) {
191
+ setNote("No image in the clipboard (need a copied image; wl-paste/xclip).");
192
+ return;
193
+ }
194
+ const kb = Math.max(1, Math.round(img.bytes / 1024));
195
+ attachImage({ ...img, name: `pasted-image.${img.mediaType === "image/jpeg" ? "jpg" : "png"}` });
196
+ setNote(`📎 image attached (${kb} KB) — send a message to share it.`);
197
+ }
139
198
  useInput((input, key) => {
140
199
  if (key.ctrl && input === "c")
141
200
  exit();
201
+ // #room-image-paste — Ctrl+V pulls an image from the clipboard. ink-text-input
202
+ // (which fires first) inserts a stray "v" for Ctrl+V; strip it with a
203
+ // functional update that runs after, so the input isn't polluted.
204
+ else if (key.ctrl && input === "v") {
205
+ pasteClipboardImage();
206
+ setValue((prev) => (prev.endsWith("v") ? prev.slice(0, -1) : prev));
207
+ }
142
208
  // #14605 — Esc halts an in-flight room-agent turn. Guarded by
143
- // !pendingApproval so the approval menu keeps Esc = deny; otherwise Esc =
144
- // interrupt (a harmless no-op if nothing is running).
145
- else if (key.escape && !s.pendingApproval)
209
+ // !pendingApproval && !pendingQuestion so those menus keep Esc for their own
210
+ // deny/skip; otherwise Esc = interrupt (a harmless no-op if nothing is
211
+ // running).
212
+ else if (key.escape && !s.pendingApproval && !s.pendingQuestion)
146
213
  onInterrupt?.();
147
214
  });
148
215
  function handleSubmit(line) {
149
216
  const t = line.trim();
217
+ // /paste — robust clipboard-image capture that never collides with the input.
218
+ if (t === "/paste") {
219
+ setValue("");
220
+ pasteClipboardImage();
221
+ return;
222
+ }
150
223
  if (!t || s.busy)
151
224
  return;
152
225
  setValue("");
153
- onSubmit(t);
226
+ setNote("");
227
+ // Ride the staged image with this turn, then clear it (one image per send).
228
+ const img = s.pendingImage ?? undefined;
229
+ if (img)
230
+ clearImage();
231
+ onSubmit(t, img);
154
232
  }
155
233
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: s.turns, children: (turn, i) => (_jsx(Box, { flexDirection: "column", marginBottom: turn.kind === "tool" ? 0 : 1, children: turn.kind === "user" ? (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "› " }), turn.text] })) : turn.kind === "tool" ? (_jsx(ToolLine, { tool: turn.tool, status: turn.tool.status })) : turn.kind === "peer" ? (
156
234
  // #14605 — a room peer (DoctorWhiskers / claude-code / another
157
235
  // human). Attributed to the SENDER, not this client's bot name. An
158
236
  // agent↔agent hop is badged 🔁 so it's distinct from a turn to you.
159
- _jsxs(_Fragment, { children: [_jsx(BotHeader, { name: turn.exchange ? `🔁 ${turn.from}` : turn.from }), _jsx(Markdown, { text: turn.text })] })) : (_jsxs(_Fragment, { children: [_jsx(BotHeader, { name: s.botName }), _jsx(Markdown, { text: turn.text })] })) }, i)) }), s.liveTool && (_jsx(Box, { marginBottom: 0, children: _jsx(ToolLine, { tool: s.liveTool, status: "running" }) })), s.streaming !== null && (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsx(BotHeader, { name: s.botName }), _jsx(Markdown, { text: s.streaming })] })), s.peerActivity && _jsx(PeerActivityBlock, { activity: s.peerActivity }), s.pendingApproval ? (_jsx(ApprovalMenu, { approval: s.pendingApproval })) : (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "› " }), s.busy ? (_jsx(Text, { dimColor: true, children: value || "…" })) : (_jsx(TextInput, { value: value, onChange: setValue, onSubmit: handleSubmit, placeholder: "type a message\u2026" }))] })), _jsx(StatusLine, { connected: s.connected, session: s.sessionLabel, note: s.statusNote })] }));
237
+ _jsxs(_Fragment, { children: [_jsx(BotHeader, { name: turn.exchange ? `🔁 ${turn.from}` : turn.from }), _jsx(Markdown, { text: turn.text })] })) : (_jsxs(_Fragment, { children: [_jsx(BotHeader, { name: s.botName }), _jsx(Markdown, { text: turn.text })] })) }, i)) }), s.liveTool && (_jsx(Box, { marginBottom: 0, children: _jsx(ToolLine, { tool: s.liveTool, status: "running" }) })), s.streaming !== null && (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsx(BotHeader, { name: s.botName }), _jsx(Markdown, { text: s.streaming })] })), s.peerActivity && _jsx(PeerActivityBlock, { activity: s.peerActivity }), s.pendingImage && (_jsxs(Text, { color: "cyan", children: ["📎 ", s.pendingImage.name, _jsx(Text, { dimColor: true, children: " (rides your next message · type to caption)" })] })), note && !s.pendingImage && _jsx(Text, { dimColor: true, children: note }), s.pendingApproval ? (_jsx(ApprovalMenu, { approval: s.pendingApproval })) : s.pendingQuestion ? (_jsx(QuestionMenu, { pending: s.pendingQuestion })) : (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "› " }), s.busy ? (_jsx(Text, { dimColor: true, children: value || "…" })) : (_jsx(TextInput, { value: value, onChange: setValue, onSubmit: handleSubmit, placeholder: "type a message\u2026 (Ctrl+V or /paste to attach a clipboard image)" }))] })), _jsx(StatusLine, { connected: s.connected, session: s.sessionLabel, note: s.statusNote })] }));
160
238
  }
161
239
  /**
162
240
  * Mount the Ink UI. Keeps the render() call + JSX in this file so the runner
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ink/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ink/App.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runSessionInk.d.ts","sourceRoot":"","sources":["../../src/ink/runSessionInk.ts"],"names":[],"mappings":"AAyBA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiPpE"}
1
+ {"version":3,"file":"runSessionInk.d.ts","sourceRoot":"","sources":["../../src/ink/runSessionInk.ts"],"names":[],"mappings":"AAyBA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyRpE"}
@@ -39,12 +39,21 @@ export async function runSessionInk(sessionId) {
39
39
  // Mount the Ink UI. Submitting a line commits the user turn (which also
40
40
  // marks the agent busy) and sends it over the socket.
41
41
  const ink = startInkUI({
42
- onSubmit: (text) => {
42
+ onSubmit: (text, image) => {
43
43
  if (!connected || ws.readyState !== WebSocket.OPEN)
44
44
  return;
45
- store.addUserTurn(text);
45
+ // #room-image-paste — a staged clipboard image rides this message as an
46
+ // image block so the room agents can see it. Recorded on the turn so the
47
+ // operator sees "📎 …" in their own history.
48
+ store.addUserTurn(image ? `${text} 📎 ${image.name}` : text);
46
49
  firstTokenThisTurn = true;
47
- ws.send(JSON.stringify({ type: "message", content: text }));
50
+ ws.send(JSON.stringify({
51
+ type: "message",
52
+ content: text,
53
+ images: image
54
+ ? [{ media_type: image.mediaType, data: image.data }]
55
+ : undefined,
56
+ }));
48
57
  },
49
58
  // #14605 gate — halt an in-flight room-agent turn. Relayed to the agent(s),
50
59
  // which abort the SDK query; a no-op if nothing is running.
@@ -182,6 +191,34 @@ export async function runSessionInk(sessionId) {
182
191
  store.addPeerActivityTool(String(msg.from ?? "?"), String(msg.tool ?? "tool"), String(msg.summary ?? ""));
183
192
  }
184
193
  break;
194
+ case "agent_question": {
195
+ // #room-agent-ask — a room agent asked the operator a structured
196
+ // question. Render it as a pick-list, then send the selected label(s)
197
+ // back so the agent's AskUserQuestion resolves with the answer.
198
+ const requestId = String(msg.request_id ?? "");
199
+ const questions = Array.isArray(msg.questions)
200
+ ? msg.questions.map((q) => {
201
+ const qo = (q && typeof q === "object" ? q : {});
202
+ const opts = Array.isArray(qo.options) ? qo.options : [];
203
+ return {
204
+ question: String(qo.question ?? ""),
205
+ header: String(qo.header ?? "Question"),
206
+ options: opts.map((o) => {
207
+ const oo = (o && typeof o === "object" ? o : {});
208
+ return { label: String(oo.label ?? ""), description: String(oo.description ?? "") };
209
+ }),
210
+ };
211
+ })
212
+ : [];
213
+ const answers = await store.requestQuestion({
214
+ from: String(msg.from ?? "agent"),
215
+ questions,
216
+ });
217
+ if (ws.readyState === WebSocket.OPEN) {
218
+ ws.send(JSON.stringify({ type: "agent_question_response", request_id: requestId, answers }));
219
+ }
220
+ break;
221
+ }
185
222
  case "approval_request": {
186
223
  // #14605 gate — a room-agent wants to run a mutating tool. Surface it
187
224
  // in the SAME approval UI the human uses for their own tool calls, then
@@ -1 +1 @@
1
- {"version":3,"file":"runSessionInk.js","sourceRoot":"","sources":["../../src/ink/runSessionInk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runSessionInk.js","sourceRoot":"","sources":["../../src/ink/runSessionInk.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,36 @@ export interface PeerActivity {
47
47
  summary: string;
48
48
  }[];
49
49
  }
50
+ /**
51
+ * #room-agent-ask — a structured question a room agent posed to the operator
52
+ * (its AskUserQuestion, rendered as a real pick-list instead of a raw approval).
53
+ * One selectable option list per question; the operator's picks flow back to the
54
+ * agent as its tool result.
55
+ */
56
+ export interface RoomQuestion {
57
+ question: string;
58
+ header: string;
59
+ options: {
60
+ label: string;
61
+ description: string;
62
+ }[];
63
+ }
64
+ export interface PendingQuestion {
65
+ from: string;
66
+ questions: RoomQuestion[];
67
+ }
68
+ /**
69
+ * #room-image-paste — an image pulled from the clipboard, staged to ride the
70
+ * next message so the room agents can see it. Cleared once sent.
71
+ */
72
+ export interface AttachedImage {
73
+ mediaType: string;
74
+ /** Base64 image bytes. */
75
+ data: string;
76
+ bytes: number;
77
+ /** Display label, e.g. "pasted-image.png". */
78
+ name: string;
79
+ }
50
80
  /** A client-side tool waiting on the user's approval. */
51
81
  export interface PendingApproval {
52
82
  /** Tool label, e.g. "shell_command". */
@@ -78,6 +108,10 @@ export interface SessionState {
78
108
  pendingApproval: PendingApproval | null;
79
109
  /** A peer agent working right now (#room-agent-activity), or null. */
80
110
  peerActivity: PeerActivity | null;
111
+ /** A question a room agent asked the operator (#room-agent-ask), or null. */
112
+ pendingQuestion: PendingQuestion | null;
113
+ /** An image staged for the next message (#room-image-paste), or null. */
114
+ pendingImage: AttachedImage | null;
81
115
  }
82
116
  export declare function getSnapshot(): SessionState;
83
117
  export declare function useSession(): SessionState;
@@ -102,6 +136,11 @@ export declare function startPeerActivity(from: string): void;
102
136
  export declare function addPeerActivityTool(from: string, tool: string, summary: string): void;
103
137
  /** #room-agent-activity — drop the working indicator (e.g. on disconnect). */
104
138
  export declare function clearPeerActivity(): void;
139
+ /** #room-image-paste — stage a clipboard image on the next message (replaces any
140
+ * prior staged image — one attachment per turn). */
141
+ export declare function attachImage(img: AttachedImage): void;
142
+ /** #room-image-paste — drop the staged image (after send, or on explicit clear). */
143
+ export declare function clearImage(): void;
105
144
  /** A text_delta arrived — append to the streaming reply. */
106
145
  export declare function appendStreaming(delta: string): void;
107
146
  /**
@@ -133,6 +172,14 @@ export declare function pushError(message: string): void;
133
172
  export declare function requestApproval(p: PendingApproval): Promise<ApprovalDecision>;
134
173
  /** The App resolves the pending approval with the user's decision. */
135
174
  export declare function resolveApproval(decision: ApprovalDecision): void;
175
+ /**
176
+ * A room agent asked the operator a structured question. Resolves when the App
177
+ * calls resolveQuestion() with one selected label per question. Only one is in
178
+ * flight at a time (the agent blocks its turn on the answer).
179
+ */
180
+ export declare function requestQuestion(pq: PendingQuestion): Promise<string[]>;
181
+ /** The App resolves the pending question with the operator's picks. */
182
+ export declare function resolveQuestion(answers: string[]): void;
136
183
  /** Test/diagnostic helper — reset to initial state. */
137
184
  export declare function _resetForTest(): void;
138
185
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"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"}
package/dist/ink/store.js CHANGED
@@ -23,6 +23,8 @@ let state = {
23
23
  statusNote: "connecting…",
24
24
  pendingApproval: null,
25
25
  peerActivity: null,
26
+ pendingQuestion: null,
27
+ pendingImage: null,
26
28
  };
27
29
  const listeners = new Set();
28
30
  function emit() {
@@ -108,6 +110,16 @@ export function clearPeerActivity() {
108
110
  if (state.peerActivity)
109
111
  set({ peerActivity: null });
110
112
  }
113
+ /** #room-image-paste — stage a clipboard image on the next message (replaces any
114
+ * prior staged image — one attachment per turn). */
115
+ export function attachImage(img) {
116
+ set({ pendingImage: img });
117
+ }
118
+ /** #room-image-paste — drop the staged image (after send, or on explicit clear). */
119
+ export function clearImage() {
120
+ if (state.pendingImage)
121
+ set({ pendingImage: null });
122
+ }
111
123
  /** A text_delta arrived — append to the streaming reply. */
112
124
  export function appendStreaming(delta) {
113
125
  if (!delta)
@@ -173,6 +185,26 @@ export function resolveApproval(decision) {
173
185
  set({ pendingApproval: null });
174
186
  resolve?.(decision);
175
187
  }
188
+ // ── question handshake (#room-agent-ask: agent asks, the App answers) ─────────
189
+ let questionResolver = null;
190
+ /**
191
+ * A room agent asked the operator a structured question. Resolves when the App
192
+ * calls resolveQuestion() with one selected label per question. Only one is in
193
+ * flight at a time (the agent blocks its turn on the answer).
194
+ */
195
+ export function requestQuestion(pq) {
196
+ return new Promise((resolve) => {
197
+ questionResolver = resolve;
198
+ set({ pendingQuestion: pq });
199
+ });
200
+ }
201
+ /** The App resolves the pending question with the operator's picks. */
202
+ export function resolveQuestion(answers) {
203
+ const resolve = questionResolver;
204
+ questionResolver = null;
205
+ set({ pendingQuestion: null });
206
+ resolve?.(answers);
207
+ }
176
208
  /** Test/diagnostic helper — reset to initial state. */
177
209
  export function _resetForTest() {
178
210
  approvalResolver = null;
@@ -187,6 +219,8 @@ export function _resetForTest() {
187
219
  statusNote: "connecting…",
188
220
  pendingApproval: null,
189
221
  peerActivity: null,
222
+ pendingQuestion: null,
223
+ pendingImage: null,
190
224
  };
191
225
  emit();
192
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,38 @@ export declare function summarizeToolInput(name: string, input: unknown): string
34
34
  * length as belt-and-suspenders — same untrusted-input posture as the body.
35
35
  */
36
36
  export declare function buildEnvelope(from: string, content: string, roomContext?: string): string;
37
+ /** One question posed to the operator: the prompt, a short header, and the
38
+ * selectable option labels (descriptions kept for the menu's detail line). */
39
+ /** A base64 image attached to a room message (#room-image-paste). */
40
+ export interface RoomImage {
41
+ media_type: string;
42
+ data: string;
43
+ }
44
+ /**
45
+ * Validate the images field off an inbound room message. Untrusted wire input:
46
+ * keep only well-formed base64 blocks of an allowed type, cap the count and each
47
+ * size, and drop everything else. Returns [] for anything malformed — image
48
+ * attachment can never crash the turn.
49
+ */
50
+ export declare function parseRoomImages(input: unknown): RoomImage[];
51
+ export interface RoomQuestion {
52
+ question: string;
53
+ header: string;
54
+ options: {
55
+ label: string;
56
+ description: string;
57
+ }[];
58
+ }
59
+ /**
60
+ * Normalize an AskUserQuestion tool input into the room's question wire shape.
61
+ * Defensive: the input is model-generated, so every field is validated and
62
+ * capped, and anything malformed is dropped rather than trusted. Returns [] when
63
+ * there's nothing well-formed to ask (caller then skips the round-trip).
64
+ */
65
+ export declare function parseRoomQuestions(input: unknown): RoomQuestion[];
66
+ /** Render the operator's answers back to the model as its AskUserQuestion tool
67
+ * result — labeled per question so the model knows which answer is which. */
68
+ export declare function formatOperatorAnswer(questions: RoomQuestion[], answers: string[] | null): string;
37
69
  /**
38
70
  * Supervised entry point: connect, and on any close reconnect with capped
39
71
  * exponential backoff (reset after an established connection drops). Runs until
@@ -1 +1 @@
1
- {"version":3,"file":"room_agent.d.ts","sourceRoot":"","sources":["../src/room_agent.ts"],"names":[],"mappings":"AAkEA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAwBvE;AA8BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAyXD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE"}
1
+ {"version":3,"file":"room_agent.d.ts","sourceRoot":"","sources":["../src/room_agent.ts"],"names":[],"mappings":"AAkEA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAwBvE;AA8BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAsSD;8EAC8E;AAC9E,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,CAW3D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,EAAE,CAqBjE;AAqCD;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,GACvB,MAAM,CASR;AAoJD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE"}
@@ -171,6 +171,13 @@ let responding = false;
171
171
  let currentQuery = null;
172
172
  let approvalSeq = 0;
173
173
  const pendingApprovals = new Map();
174
+ // #room-agent-ask — the daemon can ask the OPERATOR a structured question
175
+ // (AskUserQuestion). Like approvals, a request_id maps to the resolver of the
176
+ // promise awaiting the operator's pick; an `agent_question_response` (or an
177
+ // interrupt/abort) settles it. The answer is fed back as the tool result so the
178
+ // agent continues the SAME turn with the operator's choice in hand.
179
+ let questionSeq = 0;
180
+ const pendingQuestions = new Map();
174
181
  // Reconnect backoff: quick first retry, then capped exponential, so a supervised
175
182
  // agent recovers fast from a transient drop but doesn't hammer a down orchestrator.
176
183
  const RECONNECT_MIN_MS = 1000;
@@ -284,11 +291,14 @@ function connectOnce(sessionId) {
284
291
  // exchange it isn't dispatched on. Absent (older broker / no prior
285
292
  // thread) → empty → envelope is unchanged.
286
293
  const roomContext = typeof msg.room_context === "string" ? msg.room_context : "";
287
- log(`<${from}> ${content}`);
294
+ // #room-image-paste — the operator pasted an image; it rides the
295
+ // message as base64 image block(s) so this agent can actually see it.
296
+ const images = parseRoomImages(msg.images);
297
+ log(`<${from}> ${content}${images.length ? ` [+${images.length} image]` : ""}`);
288
298
  const addressed = Array.isArray(msg.addressed_agents) &&
289
299
  msg.addressed_agents.includes(AGENT_IDENTITY);
290
300
  if (addressed) {
291
- void respondToTurn(ws, from, content, roomContext);
301
+ void respondToTurn(ws, from, content, roomContext, images);
292
302
  }
293
303
  break;
294
304
  }
@@ -306,6 +316,20 @@ function connectOnce(sessionId) {
306
316
  }
307
317
  break;
308
318
  }
319
+ case "agent_question_response": {
320
+ // #room-agent-ask — the operator picked answer(s) to a question this
321
+ // agent asked. Resolve the awaiting canUseTool promise with one label
322
+ // per question so the answer becomes the tool result.
323
+ const rid = String(msg.request_id ?? "");
324
+ const resolver = pendingQuestions.get(rid);
325
+ if (resolver) {
326
+ const answers = Array.isArray(msg.answers)
327
+ ? msg.answers.map((a) => String(a ?? ""))
328
+ : null;
329
+ resolver(answers);
330
+ }
331
+ break;
332
+ }
309
333
  case "interrupt":
310
334
  // The human halted the agent's in-flight turn. Abort the live query —
311
335
  // any pending approval aborts with it (canUseTool's signal), the turn
@@ -398,6 +422,104 @@ function requestHumanApproval(ws, toolName, input, signal) {
398
422
  finish({ approved: false, reason: "no human reachable" });
399
423
  });
400
424
  }
425
+ const ALLOWED_IMAGE_TYPES = new Set([
426
+ "image/png", "image/jpeg", "image/gif", "image/webp",
427
+ ]);
428
+ // ~7 MB of base64 ≈ 5 MB binary — the model's per-image ceiling.
429
+ const MAX_IMAGE_B64 = 7 * 1024 * 1024;
430
+ /**
431
+ * Validate the images field off an inbound room message. Untrusted wire input:
432
+ * keep only well-formed base64 blocks of an allowed type, cap the count and each
433
+ * size, and drop everything else. Returns [] for anything malformed — image
434
+ * attachment can never crash the turn.
435
+ */
436
+ export function parseRoomImages(input) {
437
+ if (!Array.isArray(input))
438
+ return [];
439
+ const out = [];
440
+ for (const it of input.slice(0, 4)) {
441
+ const o = (it && typeof it === "object" ? it : {});
442
+ const media_type = typeof o.media_type === "string" ? o.media_type : "";
443
+ const data = typeof o.data === "string" ? o.data : "";
444
+ if (!ALLOWED_IMAGE_TYPES.has(media_type) || !data || data.length > MAX_IMAGE_B64)
445
+ continue;
446
+ out.push({ media_type, data });
447
+ }
448
+ return out;
449
+ }
450
+ /**
451
+ * Normalize an AskUserQuestion tool input into the room's question wire shape.
452
+ * Defensive: the input is model-generated, so every field is validated and
453
+ * capped, and anything malformed is dropped rather than trusted. Returns [] when
454
+ * there's nothing well-formed to ask (caller then skips the round-trip).
455
+ */
456
+ export function parseRoomQuestions(input) {
457
+ const root = (input && typeof input === "object" ? input : {});
458
+ const raw = Array.isArray(root.questions) ? root.questions : [];
459
+ const str = (v) => (typeof v === "string" ? v : "");
460
+ const out = [];
461
+ for (const q of raw.slice(0, 4)) {
462
+ const qo = (q && typeof q === "object" ? q : {});
463
+ const question = str(qo.question).slice(0, 300);
464
+ if (!question)
465
+ continue;
466
+ const optsRaw = Array.isArray(qo.options) ? qo.options : [];
467
+ const options = optsRaw
468
+ .slice(0, 8)
469
+ .map((o) => {
470
+ const oo = (o && typeof o === "object" ? o : {});
471
+ return { label: str(oo.label).slice(0, 120), description: str(oo.description).slice(0, 300) };
472
+ })
473
+ .filter((o) => o.label);
474
+ if (!options.length)
475
+ continue;
476
+ out.push({ question, header: str(qo.header).slice(0, 40) || "Question", options });
477
+ }
478
+ return out;
479
+ }
480
+ /**
481
+ * Ask the operator a structured question and await their pick(s). Sends an
482
+ * `agent_question` over the WS (the broker fans it to the human, who answers in a
483
+ * room pick-list) and resolves when the matching `agent_question_response`
484
+ * arrives. FAIL CLOSED: no open socket, an unanswerable question, or an interrupt
485
+ * resolves to null so the gate never hangs. Returns one selected label per
486
+ * question (in order), or null if it couldn't be answered.
487
+ */
488
+ function askOperatorQuestion(ws, questions, signal) {
489
+ return new Promise((resolve) => {
490
+ const requestId = `ask-${++questionSeq}`;
491
+ let settled = false;
492
+ const finish = (answers) => {
493
+ if (settled)
494
+ return;
495
+ settled = true;
496
+ pendingQuestions.delete(requestId);
497
+ resolve(answers);
498
+ };
499
+ pendingQuestions.set(requestId, finish);
500
+ if (signal.aborted)
501
+ return finish(null);
502
+ signal.addEventListener("abort", () => finish(null));
503
+ const sent = safeSend(ws, {
504
+ type: "agent_question",
505
+ request_id: requestId,
506
+ from: AGENT_IDENTITY,
507
+ questions,
508
+ });
509
+ if (!sent)
510
+ finish(null);
511
+ });
512
+ }
513
+ /** Render the operator's answers back to the model as its AskUserQuestion tool
514
+ * result — labeled per question so the model knows which answer is which. */
515
+ export function formatOperatorAnswer(questions, answers) {
516
+ if (!answers) {
517
+ return ("The operator did not answer (interrupted or unavailable). Don't call " +
518
+ "AskUserQuestion again — ask in your reply text and wait for their next message.");
519
+ }
520
+ const lines = questions.map((q, i) => `${q.header}: ${answers[i] ?? "(no answer)"}`);
521
+ return `The operator answered — ${lines.join("; ")}. Proceed with these choices.`;
522
+ }
401
523
  /**
402
524
  * Answer an addressed turn by driving the Claude Agent SDK, GATING every
403
525
  * mutating tool on a human's approval, and fanning the reply into the room. The
@@ -410,7 +532,7 @@ function requestHumanApproval(ws, toolName, input, signal) {
410
532
  * the human gate. Streaming-input mode is used so the turn is interruptible via
411
533
  * `currentQuery.interrupt()`.
412
534
  */
413
- async function respondToTurn(ws, from, content, roomContext = "") {
535
+ async function respondToTurn(ws, from, content, roomContext = "", images = []) {
414
536
  if (responding) {
415
537
  log("busy with a prior turn — skipping this addressed turn");
416
538
  return;
@@ -419,15 +541,45 @@ async function respondToTurn(ws, from, content, roomContext = "") {
419
541
  // One-message streaming input: yield the enveloped, untrusted turn as a single
420
542
  // user message. Streaming-input mode (an AsyncIterable prompt) is what makes
421
543
  // query.interrupt() available. `roomContext` (if the broker attached it) rides
422
- // ahead of the addressed turn as a <room_context> block.
544
+ // ahead of the addressed turn as a <room_context> block. Pasted image(s)
545
+ // (#room-image-paste) ride as image blocks after the text so the agent sees
546
+ // them — a plain string when there are none (byte-identical to before).
547
+ const envelopeText = buildEnvelope(from, content, roomContext);
548
+ const messageContent = images.length
549
+ ? [
550
+ { type: "text", text: envelopeText },
551
+ ...images.map((img) => ({
552
+ type: "image",
553
+ source: { type: "base64", media_type: img.media_type, data: img.data },
554
+ })),
555
+ ]
556
+ : envelopeText;
423
557
  const promptStream = (async function* () {
424
558
  yield {
425
559
  type: "user",
426
- message: { role: "user", content: buildEnvelope(from, content, roomContext) },
560
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- SDK content is a union (string | ContentBlock[]); image blocks are valid per the Anthropic message schema.
561
+ message: { role: "user", content: messageContent },
427
562
  parent_tool_use_id: null,
428
563
  };
429
564
  })();
430
565
  const canUseTool = async (toolName, input, options) => {
566
+ // #room-agent-ask — AskUserQuestion isn't a mutation to gate; it's the agent
567
+ // wanting to ASK the operator. Render it as a real pick-list in the room and
568
+ // feed the choice back as this tool's result (via the deny `message`, which
569
+ // the SDK surfaces to the model as the tool result), so the agent continues
570
+ // the same turn with the answer — instead of dumping the question JSON into a
571
+ // yes/no approval. Still fenced: the operator answers.
572
+ if (toolName === "AskUserQuestion") {
573
+ const questions = parseRoomQuestions(input);
574
+ if (!questions.length) {
575
+ return {
576
+ behavior: "deny",
577
+ message: "AskUserQuestion isn't available here. Ask the operator in your reply text and wait for their next message.",
578
+ };
579
+ }
580
+ const answers = await askOperatorQuestion(ws, questions, options.signal);
581
+ return { behavior: "deny", message: formatOperatorAnswer(questions, answers) };
582
+ }
431
583
  // Only non-read tools reach here (read-only tools are auto-approved via
432
584
  // allowedTools). Gate each on the human; a deny is surfaced to the model.
433
585
  const decision = await requestHumanApproval(ws, toolName, input, options.signal);
@@ -495,6 +647,12 @@ async function respondToTurn(ws, from, content, roomContext = "") {
495
647
  pendingApprovals.delete(rid);
496
648
  resolver({ approved: false, reason: "turn ended" });
497
649
  }
650
+ // Same for any question still awaiting an answer — resolve to null (no
651
+ // answer) so its canUseTool promise doesn't dangle past the turn.
652
+ for (const [rid, resolver] of [...pendingQuestions]) {
653
+ pendingQuestions.delete(rid);
654
+ resolver(null);
655
+ }
498
656
  }
499
657
  const reply = (replyText.trim() || "(room-agent: no reply)").slice(0, MAX_REPLY_CHARS);
500
658
  safeSend(ws, { type: "message", content: reply });
@@ -1 +1 @@
1
- {"version":3,"file":"room_agent.js","sourceRoot":"","sources":["../src/room_agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room_agent.js","sourceRoot":"","sources":["../src/room_agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xiaotime",
3
- "version": "0.8.6",
3
+ "version": "0.8.8",
4
4
  "description": "Xiaotime Developer — persistent-memory AI coding assistant",
5
5
  "type": "module",
6
6
  "bin": {