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.
- package/dist/clipboard.d.ts +13 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +64 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/ink/App.d.ts +2 -1
- package/dist/ink/App.d.ts.map +1 -1
- package/dist/ink/App.js +84 -6
- package/dist/ink/App.js.map +1 -1
- package/dist/ink/runSessionInk.d.ts.map +1 -1
- package/dist/ink/runSessionInk.js +40 -3
- package/dist/ink/runSessionInk.js.map +1 -1
- package/dist/ink/store.d.ts +47 -0
- package/dist/ink/store.d.ts.map +1 -1
- package/dist/ink/store.js +34 -0
- package/dist/ink/store.js.map +1 -1
- package/dist/room_agent.d.ts +32 -0
- package/dist/room_agent.d.ts.map +1 -1
- package/dist/room_agent.js +163 -5
- package/dist/room_agent.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
package/dist/ink/App.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
144
|
-
// interrupt (a harmless no-op if nothing is
|
|
145
|
-
|
|
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
|
-
|
|
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
|
package/dist/ink/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ink/App.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClE,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAqE,MAAM,YAAY,CAAC;AAE5H,gFAAgF;AAChF,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,kCAAkC,CAAC;IAC9C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAW,KAAK,EAAC,MAAM,YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAnC,CAAC,EAAE,CAAwC,CAAC,CAAC;aACrF,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAW,IAAI,kBAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAA3B,CAAC,EAAE,CAAgC,CAAC,CAAC;;YACnF,GAAG,CAAC,IAAI,CAAC,KAAC,IAAI,IAAW,MAAM,kBAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAA7B,CAAC,EAAE,CAAkC,CAAC,CAAC;QAChE,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,EAAE,IAAI,EAAoB;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,MAAM,CAAC,IAAI,CACT,KAAC,GAAG,IAAa,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,YAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClB,KAAC,IAAI,IAAS,QAAQ,kBAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAA/B,CAAC,CAAsC,CACnD,CAAC,IAHM,GAAG,EAAE,CAIT,CACP,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAC,IAAI,IAAa,IAAI,kBAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAA1C,GAAG,EAAE,CAA6C,CAAC,CAAC;YAC3E,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,MAAC,IAAI,eAAc,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAA5D,GAAG,EAAE,CAA+D,CAAC,CAAC;YAC7F,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAC,GAAG,IAAa,MAAM,EAAE,CAAC,IAAhB,GAAG,EAAE,CAAe,CAAC,CAAC;YAC5C,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAC,IAAI,cAAc,YAAY,CAAC,IAAI,CAAC,IAA1B,GAAG,EAAE,CAA6B,CAAC,CAAC;QAC3D,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,MAAM,GAAO,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,IAAI,EAAoB;IAC3C,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,EAAA,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,IAAO,CAAC;AAC5E,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAA4D;IAC1F,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACF,IAAI,EACJ,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,GAAO,CACpD,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACvB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAC3B,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAC7B,EACA,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,IAAI,GAAQ,EAC5B,IAAI,EACL,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,CAAC,OAAO,GAAQ,IAC/B,EACN,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,CACpC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,MAAC,IAAI,IAAS,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,aAAG,CAAC,CAAC,EAAE,OAAG,CAAC,CAAC,IAAI,KAAxD,CAAC,CAA+D,CAC5E,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,sBAAsB;AACtB,SAAS,iBAAiB,CAAC,EAAE,QAAQ,EAA8B;IACjE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,KAAK,GAAQ,EACpC,KAAC,IAAI,IAAC,IAAI,kBAAE,QAAQ,CAAC,IAAI,GAAQ,EAChC,IAAI,EACL,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,GAAO,EAClD,GAAG,EACJ,KAAC,IAAI,IAAC,QAAQ,qCAAiB,IAC1B,EACN,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,MAAC,IAAI,eACF,KAAK,EACN,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,EAC3B,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,CAAC,CAAC,IAAI,GAAQ,EACzB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAAG,IAAI,EAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,CAAC,CAAC,OAAO,GAAQ,IAAG,CAAC,CAAC,CAAC,IAAI,KALvD,CAAC,CAML,CACR,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAyD;IACrG,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,EACL,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,uBAAU,EACpD,GAAG,EAAE,IAAI,EACT,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAC9B,kCAAkC,IAC9B,GACH,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,2DAA2D;AAC3D,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,CAAU,CAAC;AAE3F,SAAS,YAAY,CAAC,EAAE,QAAQ,EAAiC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAoB,MAAM,CAAC,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzC,QAAQ,CACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,CAAC,OAAO;YAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACzF,IAAI,GAAG,CAAC,SAAS;YAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACtE,IAAI,KAAK,KAAK,GAAG;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,KAAK,KAAK,GAAG;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,KAAK,KAAK,GAAG;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,GAAG,CAAC,MAAM;YAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;aACvE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,KAAK,KAAK,CAAC;gBAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC3E,IAAI,KAAK,KAAK,CAAC;gBAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;;gBAC/E,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAC9B,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aAC9E,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,8BAAe,EACvC,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,QAAQ,CAAC,IAAI,GAAQ,EAChC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,8BAAG,IAAI,EAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,QAAQ,CAAC,OAAO,GAAQ,IAAG,CAAC,CAAC,CAAC,IAAI,IACzE,EACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACvC,KAAC,IAAI,IAAS,QAAQ,kBAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAA/B,CAAC,CAAsC,CACnD,CAAC,EACD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,MAAC,IAAI,IAAe,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,aAAG,CAAC,CAAC,EAAE,OAAG,CAAC,CAAC,IAAI,KAA9D,IAAI,CAAC,EAAE,CAA+D,CAClF,CAAC,IACE,EAEL,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,MAAC,IAAI,IAAS,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aAClD,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAI,GAAG,KAD/B,CAAC,CAEL,CACR,CAAC,EACF,KAAC,IAAI,IAAC,QAAQ,uEAAyC,IACnD,CACP,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,EACnC,KAAC,SAAS,IACR,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAC7E,WAAW,EAAC,wBAAwB,GACpC,IACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,EACX,QAAQ,EACR,WAAW,GAIZ;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG;YAAE,IAAI,EAAE,CAAC;QACtC,8DAA8D;QAC9D,0EAA0E;QAC1E,sDAAsD;aACjD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,eAAe;YAAE,WAAW,EAAE,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,IAAY;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO;QACzB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAEzB,KAAC,MAAM,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACnB,CAAC,IAAU,EAAE,CAAS,EAAE,EAAE,CAAC,CAC1B,KAAC,GAAG,IAAS,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAC3E,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACtB,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,EAAC,IAAI,CAAC,IAAI,IAAQ,CACrD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACzB,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAI,CACxD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;oBACzB,+DAA+D;oBAC/D,mEAAmE;oBACnE,oEAAoE;oBACpE,8BACE,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAI,EAClE,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,IAC5B,CACJ,CAAC,CAAC,CAAC,CACF,8BAAE,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAI,EAAA,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,IAAG,CACjE,IAfO,CAAC,CAgBL,CACP,GACM,EAGR,CAAC,CAAC,QAAQ,IAAI,CACb,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAAE,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAC,SAAS,GAAG,GAAM,CAC5E,EACA,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CACvB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,KAAC,SAAS,IAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAI,EAC9B,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,CAAC,SAAS,GAAI,IAC3B,CACP,EAGA,CAAC,CAAC,YAAY,IAAI,KAAC,iBAAiB,IAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,GAAI,EAIjE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACnB,KAAC,YAAY,IAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,EAC3B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,IAAI,GAAG,GAAQ,CACrC,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAC,sBAAiB,GAAG,CACtG,IACG,CACP,EAGD,KAAC,UAAU,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,GAAI,IAC/E,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAG1B;IACC,OAAO,MAAM,CAAC,KAAC,GAAG,IAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAI,CAAC,CAAC;AACzF,CAAC"}
|
|
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,
|
|
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
|
-
|
|
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({
|
|
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":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACnD,MAAM,KAAK,GAAG,GAAG,MAAM,sBAAsB,SAAS,SAAS,CAAC;IAEhE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,YAAwD,CAAC;QAE7D,wEAAwE;QACxE,sDAAsD;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC;YACrB,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"runSessionInk.js","sourceRoot":"","sources":["../../src/ink/runSessionInk.ts"],"names":[],"mappings":"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"}
|
package/dist/ink/store.d.ts
CHANGED
|
@@ -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
|
package/dist/ink/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAMhC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAErE,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,GAC/C;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,kEAAkE;IAClE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;
|
|
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
|
}
|
package/dist/ink/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/ink/store.ts"],"names":[],"mappings":"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"}
|
package/dist/room_agent.d.ts
CHANGED
|
@@ -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
|
package/dist/room_agent.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/room_agent.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 });
|
package/dist/room_agent.js.map
CHANGED
|
@@ -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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"}
|