@aui.io/apollo 0.1.91 → 0.1.92
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/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +2 -2
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/confirm.d.ts +5 -5
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/confirm.js +8 -8
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/confirm.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +334 -40
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/index.js +3 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/output/broken-pipe.d.ts +8 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/broken-pipe.js +20 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/broken-pipe.js.map +1 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.d.ts +53 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.js +170 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.js.map +1 -0
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/dist/src/api/client-types.d.ts +13 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.d.ts +94 -9
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js +45 -4
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.d.ts +24 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js +184 -20
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.d.ts +4 -0
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js +4 -0
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.d.ts +11 -2
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.js +8 -4
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.d.ts +13 -0
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.js +107 -0
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.d.ts +39 -3
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +158 -23
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/package.json +2 -2
- package/package.json +4 -4
|
@@ -1,54 +1,74 @@
|
|
|
1
1
|
import { createInterface } from "node:readline/promises";
|
|
2
|
-
import
|
|
2
|
+
import pc from "picocolors";
|
|
3
|
+
import { ConfigError, ExitCode, toCliError } from "@aui.io/apollo-core/errors/index.js";
|
|
4
|
+
import { describeTraceEntry, traceSectionLabel } from "@aui.io/apollo-core/output/trace-lines.js";
|
|
3
5
|
import { assertRuntimeAvailable } from "@aui.io/apollo-core/runtime-version/availability.js";
|
|
4
6
|
import { createClients } from "@aui.io/apollo-core/services/clients.js";
|
|
5
|
-
import { createThread, getThread, listMessages,
|
|
7
|
+
import { chatTurn, createThread, getThread, listMessages, resolveSendVersion, resolveThreadVersion, SUGGESTIONS_WAIT_MS, threadPage, trace, } from "@aui.io/apollo-core/services/messaging.js";
|
|
8
|
+
import { LiveTurnView } from "../output/live-chat.js";
|
|
9
|
+
import { readStdin } from "./prompts.js";
|
|
6
10
|
/** `--version` is the CLI's own flag at every depth, so the commit a chat runs is `--at`. */
|
|
7
11
|
const AT_OPTION = [
|
|
8
12
|
"--at <ref>",
|
|
9
13
|
"run one commit: v2.7, a branch (its newest), or live (default: the checkout's commit, else live)",
|
|
10
14
|
];
|
|
11
15
|
const THREAD_HINTS = { sameThread: "drop --at", newThread: "drop --thread" };
|
|
16
|
+
/** A piped script runs at most this many messages; a longer one is split by its author. */
|
|
17
|
+
const MAX_SCRIPTED_TURNS = 200;
|
|
12
18
|
export function registerOperate(program, runtime) {
|
|
13
19
|
program
|
|
14
20
|
.command("chat")
|
|
15
21
|
.alias("send")
|
|
16
|
-
.description("Chat with an agent
|
|
17
|
-
.argument("[text...]")
|
|
22
|
+
.description("Chat with an agent: each reply comes with what the agent did and whether its checks passed")
|
|
23
|
+
.argument("[text...]", "the message; `-` reads a whole conversation from stdin, one message per line")
|
|
18
24
|
.option("--thread <id>", "continue a thread, on the commit it started on")
|
|
19
25
|
.option("--local <directory>", "send a local program bundle")
|
|
20
26
|
.option(...AT_OPTION)
|
|
21
27
|
.option("--var <key=value>", "agent variable", collect, [])
|
|
22
|
-
.option("--trace", "
|
|
28
|
+
.option("--trace", "also how the agent got there, as a short story (with --json: the whole trace, often 10 KB a turn)")
|
|
29
|
+
.option("--no-stream", "send the turn as one request at a terminal too (piped or run by a coding agent, it already is)")
|
|
30
|
+
.option("--events", "with --json: one JSON line per stream frame as it arrives, then the result")
|
|
31
|
+
.addHelpText("after", "\nWhat you get:\n" +
|
|
32
|
+
" Each reply comes with one line per step on stderr (the intent it took, the capabilities it ran,\n" +
|
|
33
|
+
' what it looked up) and its checks verdict, e.g. "checked all 41 checks passed". That answers\n' +
|
|
34
|
+
' "what did the agent do, and did its checks pass" in a few lines, so a coding agent rarely needs more.\n' +
|
|
35
|
+
" --json returns the result as data for a script; --json --trace adds the whole trace, which is large.\n" +
|
|
36
|
+
"\nExamples:\n" +
|
|
37
|
+
' apollo chat "What are your opening hours?" the reply, with what the agent did and its checks verdict\n' +
|
|
38
|
+
' apollo chat --thread <id> "And on Sunday?" the next turn, on the same thread\n' +
|
|
39
|
+
" cat script.txt | apollo chat - a whole test conversation in one call, one thread\n" +
|
|
40
|
+
' apollo --json chat "Hi" the result as JSON data, for a script\n' +
|
|
41
|
+
' apollo --json chat --events "Hi" every stream frame as a JSON line, for a program showing progress\n' +
|
|
42
|
+
" apollo chat at a terminal: an interactive session (/help inside)")
|
|
23
43
|
.action(async (words, options) => {
|
|
24
44
|
const run = runtime();
|
|
45
|
+
if (options.events === true && !run.output.options.json) {
|
|
46
|
+
throw new ConfigError("--events prints JSON lines; pass --json too.", 'apollo --json chat --events "…"');
|
|
47
|
+
}
|
|
48
|
+
if (options.events === true && !options.stream) {
|
|
49
|
+
throw new ConfigError("--events needs the stream; drop --no-stream.");
|
|
50
|
+
}
|
|
25
51
|
const text = words.join(" ").trim();
|
|
52
|
+
if (text === "-") {
|
|
53
|
+
await scriptedTurns(run, options);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
26
56
|
if (text) {
|
|
27
|
-
|
|
28
|
-
await assertRuntimeAvailable(run.context, clients);
|
|
29
|
-
const version = await resolveVersion(run, clients, options);
|
|
30
|
-
const result = await sendMessage(run.context, clients.runtime, {
|
|
31
|
-
text,
|
|
32
|
-
...(version ? { version } : {}),
|
|
33
|
-
...(options.thread ? { threadId: options.thread } : {}),
|
|
34
|
-
...(options.local ? { localDir: options.local } : {}),
|
|
35
|
-
variables: options.var,
|
|
36
|
-
includeTrace: options.trace === true,
|
|
37
|
-
});
|
|
38
|
-
run.output.result(result, () => `${result.message.text ?? ""}\nThread: ${result.thread_id}`);
|
|
57
|
+
await oneTurn(run, options, text);
|
|
39
58
|
return;
|
|
40
59
|
}
|
|
41
60
|
if (!process.stdin.isTTY ||
|
|
42
61
|
!process.stdout.isTTY ||
|
|
43
62
|
run.output.options.json ||
|
|
44
63
|
!program.opts().input) {
|
|
45
|
-
throw new ConfigError("Message text is required in non-interactive mode.");
|
|
64
|
+
throw new ConfigError("Message text is required in non-interactive mode.", "Pass the message, or pipe one message per line: `cat script.txt | apollo chat -`.");
|
|
46
65
|
}
|
|
47
66
|
await repl(run, options);
|
|
48
67
|
});
|
|
49
68
|
const thread = program.command("thread").description("Inspect Apollo threads");
|
|
50
69
|
thread
|
|
51
70
|
.command("create")
|
|
71
|
+
.description("Open a new thread on a commit")
|
|
52
72
|
.option(...AT_OPTION)
|
|
53
73
|
.action(async (options) => {
|
|
54
74
|
const run = runtime();
|
|
@@ -59,6 +79,7 @@ export function registerOperate(program, runtime) {
|
|
|
59
79
|
});
|
|
60
80
|
thread
|
|
61
81
|
.command("get")
|
|
82
|
+
.description("Show one thread")
|
|
62
83
|
.argument("<thread-id>")
|
|
63
84
|
.action(async (threadId) => {
|
|
64
85
|
const run = runtime();
|
|
@@ -67,20 +88,35 @@ export function registerOperate(program, runtime) {
|
|
|
67
88
|
});
|
|
68
89
|
thread
|
|
69
90
|
.command("list")
|
|
70
|
-
.
|
|
71
|
-
.option("--
|
|
91
|
+
.description("List conversations: this checkout's agent (yours, newest first), or all of yours outside a checkout")
|
|
92
|
+
.option("--size <number>", "how many per page (1 to 100)", "25")
|
|
93
|
+
.option("--after <cursor>", "continue from the page before (its `More:` line names the cursor)")
|
|
94
|
+
.option("--commit <tag>", "only threads on this commit (inside a checkout)")
|
|
95
|
+
.option("--title <text>", "only threads whose title contains this (inside a checkout)")
|
|
96
|
+
.option("--everyone", "every user's threads with this agent, not only yours")
|
|
97
|
+
.option("--all-agents", "your threads with every agent, even inside a checkout")
|
|
72
98
|
.action(async (options) => {
|
|
73
99
|
const run = runtime();
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
.
|
|
100
|
+
const size = Number(options.size);
|
|
101
|
+
if (!Number.isInteger(size) || size < 1 || size > 100) {
|
|
102
|
+
throw new ConfigError(`--size takes 1 to 100 (got ${options.size}).`);
|
|
103
|
+
}
|
|
104
|
+
const page = await threadPage(run.context, createClients(run.context).runtime, {
|
|
105
|
+
size,
|
|
106
|
+
...(options.after ? { after: options.after } : {}),
|
|
107
|
+
...(options.commit ? { versionTag: options.commit } : {}),
|
|
108
|
+
...(options.title ? { title: options.title } : {}),
|
|
109
|
+
...(options.everyone === true ? { everyone: true } : {}),
|
|
110
|
+
...(options.allAgents === true ? { allAgents: true } : {}),
|
|
111
|
+
});
|
|
112
|
+
const more = page.has_next === true && page.next_cursor ? page.next_cursor : undefined;
|
|
113
|
+
run.output.result(page.items, () => page.items.map(threadRow).join("\n") || "No threads.", { page: { has_next: page.has_next === true, ...(more ? { next_cursor: more } : {}) } });
|
|
114
|
+
if (more)
|
|
115
|
+
run.output.notice(`More: apollo thread list --after ${more}`);
|
|
81
116
|
});
|
|
82
117
|
thread
|
|
83
118
|
.command("messages")
|
|
119
|
+
.description("Print a thread's transcript")
|
|
84
120
|
.argument("<thread-id>")
|
|
85
121
|
.action(async (threadId) => {
|
|
86
122
|
const run = runtime();
|
|
@@ -91,6 +127,7 @@ export function registerOperate(program, runtime) {
|
|
|
91
127
|
});
|
|
92
128
|
thread
|
|
93
129
|
.command("trace")
|
|
130
|
+
.description("Print a thread's runtime traces, oldest first")
|
|
94
131
|
.argument("<thread-id>")
|
|
95
132
|
.option("--interaction <id>", "return one interaction trace")
|
|
96
133
|
.action(async (threadId, options) => {
|
|
@@ -102,33 +139,290 @@ export function registerOperate(program, runtime) {
|
|
|
102
139
|
function collect(value, previous) {
|
|
103
140
|
return [...previous, value];
|
|
104
141
|
}
|
|
142
|
+
/** One message, one reply: what the agent did on stderr, the reply on stdout. */
|
|
143
|
+
async function oneTurn(run, options, text) {
|
|
144
|
+
const clients = createClients(run.context);
|
|
145
|
+
await assertRuntimeAvailable(run.context, clients);
|
|
146
|
+
const version = await resolveVersion(run, clients, options);
|
|
147
|
+
const view = liveView(run);
|
|
148
|
+
const controller = new AbortController();
|
|
149
|
+
const release = cancelOnInterrupt(controller);
|
|
150
|
+
const showTrace = options.trace === true;
|
|
151
|
+
try {
|
|
152
|
+
const { result, rest } = await runTurn(run, clients, view, options, sendInput(text, version, options, options.thread, wantsTrace(run, showTrace)), controller.signal, showTrace);
|
|
153
|
+
run.output.result(result, () => [...rest, `Thread: ${result.thread_id}`].join("\n"));
|
|
154
|
+
}
|
|
155
|
+
finally {
|
|
156
|
+
release();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** `apollo chat -`: one message per stdin line, all on one thread, in order. */
|
|
160
|
+
async function scriptedTurns(run, options) {
|
|
161
|
+
const lines = (await readStdin())
|
|
162
|
+
.split(/\r?\n/)
|
|
163
|
+
.map((line) => line.trim())
|
|
164
|
+
.filter(Boolean);
|
|
165
|
+
if (lines.length === 0) {
|
|
166
|
+
throw new ConfigError("No messages on stdin.", "Pipe one message per line: `cat script.txt | apollo chat -`.");
|
|
167
|
+
}
|
|
168
|
+
if (lines.length > MAX_SCRIPTED_TURNS) {
|
|
169
|
+
throw new ConfigError(`The script has ${lines.length} messages; one run sends at most ${MAX_SCRIPTED_TURNS}.`, "Split it, and continue the conversation with --thread <id>.");
|
|
170
|
+
}
|
|
171
|
+
const clients = createClients(run.context);
|
|
172
|
+
await assertRuntimeAvailable(run.context, clients);
|
|
173
|
+
const version = await resolveVersion(run, clients, options);
|
|
174
|
+
const human = !run.output.options.json;
|
|
175
|
+
const colors = pc.createColors(Boolean(process.stdout.isTTY) && pc.isColorSupported);
|
|
176
|
+
const view = liveView(run);
|
|
177
|
+
const controller = new AbortController();
|
|
178
|
+
const release = cancelOnInterrupt(controller);
|
|
179
|
+
const showTrace = options.trace === true;
|
|
180
|
+
let threadId = options.thread;
|
|
181
|
+
const turns = [];
|
|
182
|
+
try {
|
|
183
|
+
for (const text of lines) {
|
|
184
|
+
if (human)
|
|
185
|
+
process.stdout.write(`${colors.bold(`› ${text}`)}\n`);
|
|
186
|
+
const { result, rest } = await runTurn(run, clients, view, options, sendInput(text, version, options, threadId, wantsTrace(run, showTrace)), controller.signal, showTrace);
|
|
187
|
+
threadId = result.thread_id;
|
|
188
|
+
turns.push({ text, message: result.message });
|
|
189
|
+
if (human)
|
|
190
|
+
process.stdout.write(`${[...rest, ""].join("\n")}\n`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
finally {
|
|
194
|
+
release();
|
|
195
|
+
}
|
|
196
|
+
run.output.result({ thread_id: threadId, turns }, () => `Thread: ${threadId ?? ""}`);
|
|
197
|
+
}
|
|
105
198
|
async function repl(run, options) {
|
|
106
199
|
const clients = createClients(run.context);
|
|
107
200
|
await assertRuntimeAvailable(run.context, clients);
|
|
108
|
-
const readline = createInterface({ input: process.stdin, output: process.stderr });
|
|
109
201
|
const version = await resolveVersion(run, clients, options);
|
|
202
|
+
const colors = pc.createColors(Boolean(process.stdout.isTTY) && pc.isColorSupported);
|
|
203
|
+
const say = (line) => {
|
|
204
|
+
process.stderr.write(`${colors.dim(line)}\n`);
|
|
205
|
+
};
|
|
206
|
+
const readline = createInterface({ input: process.stdin, output: process.stderr });
|
|
207
|
+
const view = liveView(run);
|
|
110
208
|
let threadId = options.thread;
|
|
209
|
+
let showTrace = options.trace === true;
|
|
210
|
+
let turn;
|
|
211
|
+
// Ctrl+C cancels the turn in flight; at the prompt it leaves.
|
|
212
|
+
readline.on("SIGINT", () => {
|
|
213
|
+
if (turn)
|
|
214
|
+
turn.abort();
|
|
215
|
+
else
|
|
216
|
+
readline.close();
|
|
217
|
+
});
|
|
218
|
+
say(`Chatting with ${run.context.agentId ? "this checkout's agent" : "a local program"}${version ? ` at ${version.tag}` : ""}` +
|
|
219
|
+
`${threadId ? ` on thread ${threadId}` : ""}. /help lists commands; Ctrl+C cancels a turn, Ctrl+D leaves.`);
|
|
111
220
|
try {
|
|
112
221
|
for (;;) {
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
222
|
+
const line = await ask(readline, colors.bold("you › "));
|
|
223
|
+
if (line === undefined)
|
|
115
224
|
return;
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
225
|
+
const text = line.trim();
|
|
226
|
+
if (!text)
|
|
227
|
+
continue;
|
|
228
|
+
if (text.startsWith("/")) {
|
|
229
|
+
const command = text.split(/\s+/)[0];
|
|
230
|
+
if (command === "/exit" || command === "/quit")
|
|
231
|
+
return;
|
|
232
|
+
if (command === "/help")
|
|
233
|
+
say("/new start a new thread · /thread show this thread's id · /trace show how the agent got each reply (toggle) · /exit leave");
|
|
234
|
+
else if (command === "/new") {
|
|
235
|
+
threadId = undefined;
|
|
236
|
+
say("The next message starts a new thread.");
|
|
237
|
+
}
|
|
238
|
+
else if (command === "/thread")
|
|
239
|
+
say(threadId ? `Thread ${threadId}` : "No thread yet — send a message.");
|
|
240
|
+
else if (command === "/trace") {
|
|
241
|
+
showTrace = !showTrace;
|
|
242
|
+
say(`Trace ${showTrace ? "on" : "off"}.`);
|
|
243
|
+
}
|
|
244
|
+
else
|
|
245
|
+
say(`Unknown command ${command}; /help lists them.`);
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
turn = new AbortController();
|
|
249
|
+
try {
|
|
250
|
+
const { result, rest } = await runTurn(run, clients, view, options, sendInput(text, version, options, threadId, wantsTrace(run, showTrace)), turn.signal, showTrace, true);
|
|
251
|
+
const first = threadId === undefined;
|
|
252
|
+
threadId = result.thread_id;
|
|
253
|
+
if (rest.length)
|
|
254
|
+
process.stdout.write(`${rest.join("\n")}\n`);
|
|
255
|
+
if (first)
|
|
256
|
+
say(`Thread ${threadId} — /thread shows it again, /new starts another.`);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
// A failed turn is a message, never the end of the session.
|
|
260
|
+
run.output.error(toCliError(error));
|
|
261
|
+
}
|
|
262
|
+
finally {
|
|
263
|
+
turn = undefined;
|
|
264
|
+
}
|
|
126
265
|
}
|
|
127
266
|
}
|
|
128
267
|
finally {
|
|
129
268
|
readline.close();
|
|
130
269
|
}
|
|
131
270
|
}
|
|
271
|
+
/** One prompt; `undefined` once the session closed (Ctrl+D, or Ctrl+C at the prompt). */
|
|
272
|
+
function ask(readline, prompt) {
|
|
273
|
+
return new Promise((resolve) => {
|
|
274
|
+
const closed = () => resolve(undefined);
|
|
275
|
+
readline.once("close", closed);
|
|
276
|
+
readline.question(prompt).then((answer) => {
|
|
277
|
+
readline.off("close", closed);
|
|
278
|
+
resolve(answer);
|
|
279
|
+
}, () => {
|
|
280
|
+
readline.off("close", closed);
|
|
281
|
+
resolve(undefined);
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
function sendInput(text, version, options, threadId, includeTrace) {
|
|
286
|
+
return {
|
|
287
|
+
text,
|
|
288
|
+
...(version ? { version } : {}),
|
|
289
|
+
...(threadId ? { threadId } : {}),
|
|
290
|
+
...(options.local ? { localDir: options.local } : {}),
|
|
291
|
+
variables: options.var,
|
|
292
|
+
includeTrace,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Whether the turn asks for its sealed trace: when the caller wants it shown,
|
|
297
|
+
* and whenever what the agent did is drawn — a streamed turn takes its checks
|
|
298
|
+
* verdict from it, a one-request turn every step. The server builds the trace
|
|
299
|
+
* on every turn either way; this only ships it. A JSON result carries it only
|
|
300
|
+
* when asked for (`--trace`).
|
|
301
|
+
*/
|
|
302
|
+
function wantsTrace(run, shown) {
|
|
303
|
+
return shown || (!run.output.options.json && !run.output.options.quiet);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Whether the turn streams: when a person reads the live view at a terminal,
|
|
307
|
+
* or `--events` asks for every frame. Piped, under a coding agent, or with
|
|
308
|
+
* `--json`, it is one request — the reply lands as soon, the run ends the
|
|
309
|
+
* moment it does, and no follow-ups are written for a reader who never sees
|
|
310
|
+
* them; the same steps are then read off the reply's sealed trace.
|
|
311
|
+
*/
|
|
312
|
+
function streams(run, options) {
|
|
313
|
+
if (!options.stream)
|
|
314
|
+
return false;
|
|
315
|
+
if (options.events === true)
|
|
316
|
+
return true;
|
|
317
|
+
return Boolean(process.stderr.isTTY) && !run.output.options.json && !run.output.options.quiet;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* One turn, as this run shows it: what the agent did on stderr — live when the
|
|
321
|
+
* turn streams, read off its sealed trace when it was one request — the reply
|
|
322
|
+
* on stdout the moment it lands, and `--events` frames as JSON lines. Returns
|
|
323
|
+
* the result and what is left to print after the reply (its follow-ups, and
|
|
324
|
+
* the reply itself when it was not shown as it landed).
|
|
325
|
+
*/
|
|
326
|
+
async function runTurn(run, clients, view, options, input, signal, showTrace, session = false) {
|
|
327
|
+
const human = !run.output.options.json;
|
|
328
|
+
// Set from the frames as they arrive: whether the turn streamed, and whether its reply is already out.
|
|
329
|
+
const seen = { streamed: false, shown: false };
|
|
330
|
+
view.begin();
|
|
331
|
+
try {
|
|
332
|
+
const result = await chatTurn(run.context, clients.runtime, input, {
|
|
333
|
+
stream: streams(run, options),
|
|
334
|
+
signal,
|
|
335
|
+
suggestionsWaitMs: suggestionsWait(options, session),
|
|
336
|
+
onEvent: (event) => {
|
|
337
|
+
seen.streamed = true;
|
|
338
|
+
view.onEvent(event);
|
|
339
|
+
if (options.events === true)
|
|
340
|
+
run.output.jsonLine(event);
|
|
341
|
+
else if (human && event.type === "message") {
|
|
342
|
+
// The reply as it lands; follow-ups the stream writes after it come below.
|
|
343
|
+
process.stdout.write(`${replyBody(event.data, showTrace)}\n`);
|
|
344
|
+
seen.shown = true;
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
onFallback: (reason) => run.output.debug(`The turn was sent as one request (${reason}).`),
|
|
348
|
+
});
|
|
349
|
+
if (!seen.streamed)
|
|
350
|
+
view.summarize(result.message.trace_info);
|
|
351
|
+
return { result, rest: [...(seen.shown ? [] : [replyBody(result.message, showTrace)]), ...suggestionLines(result)] };
|
|
352
|
+
}
|
|
353
|
+
finally {
|
|
354
|
+
view.end();
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* How long a streamed turn waits, after its reply, for the follow-ups the
|
|
359
|
+
* stream route writes late (a model round trip a one-request turn never
|
|
360
|
+
* makes): in the interactive session, where they help pick the next message,
|
|
361
|
+
* and when `--events` asks for every frame. A single `chat` ends with its reply.
|
|
362
|
+
*/
|
|
363
|
+
function suggestionsWait(options, session) {
|
|
364
|
+
return session || options.events === true ? SUGGESTIONS_WAIT_MS : 0;
|
|
365
|
+
}
|
|
366
|
+
/** What the agent did, for this run: on stderr, drawn only when read as text. */
|
|
367
|
+
function liveView(run) {
|
|
368
|
+
return new LiveTurnView({
|
|
369
|
+
out: process.stderr,
|
|
370
|
+
tty: Boolean(process.stderr.isTTY),
|
|
371
|
+
enabled: !run.output.options.json && !run.output.options.quiet,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
/** Ctrl+C aborts the turn; a second one leaves at once. Returns the undo. */
|
|
375
|
+
function cancelOnInterrupt(controller) {
|
|
376
|
+
let pressed = 0;
|
|
377
|
+
const onInterrupt = () => {
|
|
378
|
+
pressed += 1;
|
|
379
|
+
if (pressed > 1)
|
|
380
|
+
process.exit(ExitCode.interrupted);
|
|
381
|
+
controller.abort();
|
|
382
|
+
};
|
|
383
|
+
process.on("SIGINT", onInterrupt);
|
|
384
|
+
return () => {
|
|
385
|
+
process.off("SIGINT", onInterrupt);
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
/** The reply as a person reads it: the text, and how the agent got there (`--trace`). */
|
|
389
|
+
function replyBody(message, showTrace) {
|
|
390
|
+
const colors = pc.createColors(Boolean(process.stdout.isTTY) && pc.isColorSupported);
|
|
391
|
+
const lines = [message.text ?? ""];
|
|
392
|
+
if (showTrace)
|
|
393
|
+
lines.push(...traceLines(message.trace_info).map((line) => colors.dim(line)));
|
|
394
|
+
return lines.join("\n");
|
|
395
|
+
}
|
|
396
|
+
/** The follow-ups offered after the reply, as one line — none when there are none. */
|
|
397
|
+
function suggestionLines(result) {
|
|
398
|
+
const colors = pc.createColors(Boolean(process.stdout.isTTY) && pc.isColorSupported);
|
|
399
|
+
const suggestions = result.message.followup_suggestions ?? [];
|
|
400
|
+
return suggestions.length ? [colors.dim(`Suggestions: ${suggestions.map((s) => `“${s}”`).join(" · ")}`)] : [];
|
|
401
|
+
}
|
|
402
|
+
/** The sealed trace, for a person: its own narrative, else one line per entry. */
|
|
403
|
+
function traceLines(traceInfo) {
|
|
404
|
+
if (!traceInfo)
|
|
405
|
+
return [" (no trace came back for this turn)"];
|
|
406
|
+
const narrative = traceInfo.narrative;
|
|
407
|
+
if (typeof narrative === "string" && narrative.trim()) {
|
|
408
|
+
return ["", " How it went:", ...narrative.trim().split("\n").map((line) => ` ${line}`)];
|
|
409
|
+
}
|
|
410
|
+
const lines = [];
|
|
411
|
+
for (const [section, value] of Object.entries(traceInfo)) {
|
|
412
|
+
if (!Array.isArray(value) || value.length === 0)
|
|
413
|
+
continue;
|
|
414
|
+
for (const entry of value)
|
|
415
|
+
lines.push(` ${traceSectionLabel(section).padEnd(11)} ${describeTraceEntry(section, entry)}`);
|
|
416
|
+
}
|
|
417
|
+
return lines.length ? ["", " How it went:", ...lines] : [" (the trace has no steps to show)"];
|
|
418
|
+
}
|
|
419
|
+
/** One `thread list` row: id, last activity, commit, where it started, title. */
|
|
420
|
+
function threadRow(item) {
|
|
421
|
+
const when = item.updated_at.slice(0, 16).replace("T", " ");
|
|
422
|
+
const commit = item.agent?.version_tag ?? "-";
|
|
423
|
+
const origin = item.task_origin?.type;
|
|
424
|
+
return [item.id, when || "-", commit, typeof origin === "string" ? origin : "-", item.title || "(untitled)"].join(" ");
|
|
425
|
+
}
|
|
132
426
|
async function resolveVersion(run, clients, options) {
|
|
133
427
|
if (options.local) {
|
|
134
428
|
if (options.at !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operate.js","sourceRoot":"","sources":["../../../src/commands/operate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operate.js","sourceRoot":"","sources":["../../../src/commands/operate.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ import { resolveContext, } from "@aui.io/apollo-core/config/index.js";
|
|
|
22
22
|
import { ConfigError, toCliError } from "@aui.io/apollo-core/errors/index.js";
|
|
23
23
|
import { CLI_VERSION } from "./meta.js";
|
|
24
24
|
import { Output } from "@aui.io/apollo-core/output/index.js";
|
|
25
|
+
import { exitOnBrokenPipe } from "./output/broken-pipe.js";
|
|
25
26
|
import { renderWelcome, welcomeData } from "./output/welcome.js";
|
|
26
27
|
export function createProgram(state = {}, extensions = []) {
|
|
27
28
|
const program = new Command()
|
|
@@ -106,6 +107,8 @@ export function createProgram(state = {}, extensions = []) {
|
|
|
106
107
|
return program;
|
|
107
108
|
}
|
|
108
109
|
export async function main(argv = process.argv, extensions = [], hooks = {}) {
|
|
110
|
+
exitOnBrokenPipe(process.stdout);
|
|
111
|
+
exitOnBrokenPipe(process.stderr);
|
|
109
112
|
const state = {};
|
|
110
113
|
const program = createProgram(state, extensions);
|
|
111
114
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reader that goes away (`apollo … | head`) ends the run the way it ends a
|
|
3
|
+
* Unix tool: quietly, with the status SIGPIPE leaves. Node ignores SIGPIPE,
|
|
4
|
+
* so without this the next write to the closed pipe dies on an unhandled
|
|
5
|
+
* EPIPE, stack trace and all — what an agent trimming output with `head` saw
|
|
6
|
+
* once `chat` began writing as the turn ran. Any other write error still throws.
|
|
7
|
+
*/
|
|
8
|
+
export declare function exitOnBrokenPipe(stream: NodeJS.WritableStream, exit?: (code: number) => void): void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ExitCode } from "@aui.io/apollo-core/errors/index.js";
|
|
2
|
+
const guarded = new WeakSet();
|
|
3
|
+
/**
|
|
4
|
+
* A reader that goes away (`apollo … | head`) ends the run the way it ends a
|
|
5
|
+
* Unix tool: quietly, with the status SIGPIPE leaves. Node ignores SIGPIPE,
|
|
6
|
+
* so without this the next write to the closed pipe dies on an unhandled
|
|
7
|
+
* EPIPE, stack trace and all — what an agent trimming output with `head` saw
|
|
8
|
+
* once `chat` began writing as the turn ran. Any other write error still throws.
|
|
9
|
+
*/
|
|
10
|
+
export function exitOnBrokenPipe(stream, exit = (code) => process.exit(code)) {
|
|
11
|
+
if (guarded.has(stream))
|
|
12
|
+
return;
|
|
13
|
+
guarded.add(stream);
|
|
14
|
+
stream.on("error", (error) => {
|
|
15
|
+
if (error.code !== "EPIPE")
|
|
16
|
+
throw error;
|
|
17
|
+
exit(ExitCode.brokenPipe);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=broken-pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broken-pipe.js","sourceRoot":"","sources":["../../../src/output/broken-pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAyB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA6B,EAC7B,OAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAE3D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO;IAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC"}
|