tellrun 1.1.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -91
- package/README.zh-CN.md +35 -91
- package/dist/agents/codex-interaction.js +126 -0
- package/dist/agents/codex-interaction.js.map +1 -0
- package/dist/agents/codex.js +132 -9
- package/dist/agents/codex.js.map +1 -1
- package/dist/cli.js +11 -6
- package/dist/cli.js.map +1 -1
- package/dist/core/relay.js +33 -9
- package/dist/core/relay.js.map +1 -1
- package/dist/im/telegram.js +100 -13
- package/dist/im/telegram.js.map +1 -1
- package/dist/launchd.js +212 -0
- package/dist/launchd.js.map +1 -0
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/main.js +27 -2
- package/dist/main.js.map +1 -1
- package/dist/service.js +15 -0
- package/dist/service.js.map +1 -0
- package/dist/storage/lock.js +78 -0
- package/dist/storage/lock.js.map +1 -0
- package/dist/storage/schema.js +37 -0
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/store.js +278 -98
- package/dist/storage/store.js.map +1 -1
- package/dist/systemd.js +1 -7
- package/dist/systemd.js.map +1 -1
- package/docs/architecture.md +86 -67
- package/docs/prd.md +10 -8
- package/package.json +2 -2
package/dist/agents/codex.js
CHANGED
|
@@ -7,6 +7,7 @@ import { promisify } from "node:util";
|
|
|
7
7
|
import { createJSONRPCErrorResponse, createJSONRPCSuccessResponse, JSONRPCClient, JSONRPCErrorException, } from "json-rpc-2.0";
|
|
8
8
|
import WebSocket from "ws";
|
|
9
9
|
import { z } from "zod";
|
|
10
|
+
import { fileChangesSchema, parseCodexInteraction } from "./codex-interaction.js";
|
|
10
11
|
/** 由 Codex 0.165.0 的 generate-ts 核对;只校验实际消费的协议字段。 */
|
|
11
12
|
const turnSchema = z.object({
|
|
12
13
|
id: z.string().min(1),
|
|
@@ -28,6 +29,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
28
29
|
let active;
|
|
29
30
|
/** 只绑定当前任务的连接,不能把迟到输入送入下一轮或其他客户端的轮次。 */
|
|
30
31
|
let steer;
|
|
32
|
+
let respond;
|
|
31
33
|
return {
|
|
32
34
|
name: "Codex",
|
|
33
35
|
version: stdout.trim().replace(/^codex-cli /, ""),
|
|
@@ -62,6 +64,10 @@ export async function createCodexAgent(command = "codex") {
|
|
|
62
64
|
/** 库管理请求关联和超时;Codex 线上消息省略 jsonrpc 字段。 */
|
|
63
65
|
const client = new JSONRPCClient(({ id, method, params }) => write({ id, method, params }));
|
|
64
66
|
const messages = new Map();
|
|
67
|
+
/** 应用随机 ID 隔离每次连接;已见 RPC 编号保留到任务结束,重复请求不生成新按钮。 */
|
|
68
|
+
const interactions = new Map();
|
|
69
|
+
const seenRequests = new Set();
|
|
70
|
+
const fileChanges = new Map();
|
|
65
71
|
let buffer = "";
|
|
66
72
|
/** turn/start 响应前的事件暂存,收到当前 turn ID 后再处理,避免混入其他客户端事件。 */
|
|
67
73
|
let earlyMessages = "";
|
|
@@ -75,6 +81,9 @@ export async function createCodexAgent(command = "codex") {
|
|
|
75
81
|
if (settled)
|
|
76
82
|
return;
|
|
77
83
|
settled = true;
|
|
84
|
+
for (const interaction of interactions.values())
|
|
85
|
+
clearTimeout(interaction.timer);
|
|
86
|
+
interactions.clear();
|
|
78
87
|
completed.resolve(result);
|
|
79
88
|
}
|
|
80
89
|
/** 增量与完整消息共用输出上限;只推送回复文本,不推送思考或工具原始输出。 */
|
|
@@ -175,6 +184,9 @@ export async function createCodexAgent(command = "codex") {
|
|
|
175
184
|
return true;
|
|
176
185
|
}
|
|
177
186
|
controller.signal.addEventListener("abort", () => {
|
|
187
|
+
for (const interaction of interactions.values())
|
|
188
|
+
clearTimeout(interaction.timer);
|
|
189
|
+
interactions.clear();
|
|
178
190
|
if (settled)
|
|
179
191
|
return;
|
|
180
192
|
stopTimer = setTimeout(() => fail("Stop unconfirmed; Codex disconnected. Check the project before /resume."), 5_000);
|
|
@@ -233,15 +245,44 @@ export async function createCodexAgent(command = "codex") {
|
|
|
233
245
|
context.data.threadId !== sessionId ||
|
|
234
246
|
(context.data.turnId !== undefined && context.data.turnId !== runId))
|
|
235
247
|
continue;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
248
|
+
if (controller.signal.aborted || seenRequests.has(message.id))
|
|
249
|
+
continue;
|
|
250
|
+
seenRequests.add(message.id);
|
|
251
|
+
const parsed = parseCodexInteraction(message.method, message.params, input.cwd, fileChanges);
|
|
252
|
+
if ("error" in parsed) {
|
|
253
|
+
if (parsed.unsupported)
|
|
254
|
+
write({
|
|
255
|
+
id: message.id,
|
|
256
|
+
error: { code: -32601, message: "Unsupported interactive request" },
|
|
257
|
+
});
|
|
258
|
+
fail(parsed.error);
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
const { request: interaction } = parsed;
|
|
262
|
+
interactions.set(interaction.id, {
|
|
263
|
+
requestId: message.id,
|
|
264
|
+
...parsed,
|
|
265
|
+
timer: setTimeout(() => {
|
|
266
|
+
const pending = interactions.get(interaction.id);
|
|
267
|
+
if (!pending)
|
|
268
|
+
return;
|
|
269
|
+
if (interaction.blocking) {
|
|
270
|
+
fail("Request timed out. Check /last, then /resume.");
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
interactions.delete(interaction.id);
|
|
274
|
+
/** 非阻塞问题过期只返回空答案,不替用户选择,也不中断正在执行的任务。 */
|
|
275
|
+
try {
|
|
276
|
+
input.onInteractionClosed(interaction.id, "Question expired. Task continues.");
|
|
277
|
+
write({ id: pending.requestId, result: { answers: {} } });
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
fail("Cannot save expired question state. Task interrupted.");
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}, Math.max(0, interaction.expiresAt - Date.now())),
|
|
243
284
|
});
|
|
244
|
-
|
|
285
|
+
input.onInteraction(interaction);
|
|
245
286
|
}
|
|
246
287
|
else if (typeof message.id === "number") {
|
|
247
288
|
/** 补齐库需要的协议字段;错误来源标记仅用于本地处理,不信任服务端 data。 */
|
|
@@ -249,6 +290,33 @@ export async function createCodexAgent(command = "codex") {
|
|
|
249
290
|
? createJSONRPCErrorResponse(message.id, message.error.code, message.error.message ?? "", "codex")
|
|
250
291
|
: createJSONRPCSuccessResponse(message.id, message.result));
|
|
251
292
|
}
|
|
293
|
+
else if (message.method === "serverRequest/resolved") {
|
|
294
|
+
const event = z
|
|
295
|
+
.object({ threadId: z.string(), requestId: z.union([z.string(), z.number()]) })
|
|
296
|
+
.parse(message.params);
|
|
297
|
+
if (event.threadId !== sessionId)
|
|
298
|
+
continue;
|
|
299
|
+
seenRequests.add(event.requestId);
|
|
300
|
+
for (const [id, interaction] of interactions) {
|
|
301
|
+
if (interaction.requestId !== event.requestId)
|
|
302
|
+
continue;
|
|
303
|
+
clearTimeout(interaction.timer);
|
|
304
|
+
interactions.delete(id);
|
|
305
|
+
input.onInteractionClosed(id, "Request closed.");
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
else if (message.method === "item/fileChange/patchUpdated") {
|
|
309
|
+
const event = z
|
|
310
|
+
.object({
|
|
311
|
+
threadId: z.string(),
|
|
312
|
+
turnId: z.string(),
|
|
313
|
+
itemId: z.string(),
|
|
314
|
+
changes: fileChangesSchema,
|
|
315
|
+
})
|
|
316
|
+
.parse(message.params);
|
|
317
|
+
if (event.threadId === sessionId && event.turnId === runId)
|
|
318
|
+
fileChanges.set(event.itemId, event.changes);
|
|
319
|
+
}
|
|
252
320
|
else if (message.method === "item/agentMessage/delta") {
|
|
253
321
|
const event = z
|
|
254
322
|
.object({
|
|
@@ -275,11 +343,14 @@ export async function createCodexAgent(command = "codex") {
|
|
|
275
343
|
id: z.string(),
|
|
276
344
|
text: z.string().optional(),
|
|
277
345
|
phase: z.string().nullish(),
|
|
346
|
+
changes: fileChangesSchema.optional(),
|
|
278
347
|
}),
|
|
279
348
|
})
|
|
280
349
|
.parse(message.params);
|
|
281
350
|
if (event.threadId !== sessionId || !recordRun(event.turnId))
|
|
282
351
|
continue;
|
|
352
|
+
if (event.item.type === "fileChange" && event.item.changes)
|
|
353
|
+
fileChanges.set(event.item.id, event.item.changes);
|
|
283
354
|
if (event.item.type === "agentMessage" && event.item.text !== undefined) {
|
|
284
355
|
messages.set(event.item.id, { text: event.item.text, phase: event.item.phase });
|
|
285
356
|
publishText(event.item.text);
|
|
@@ -339,6 +410,50 @@ export async function createCodexAgent(command = "codex") {
|
|
|
339
410
|
throw new Error("Codex input turn unconfirmed. Not retried; check the session.");
|
|
340
411
|
}
|
|
341
412
|
};
|
|
413
|
+
respond = (id, answer) => {
|
|
414
|
+
const interaction = interactions.get(id);
|
|
415
|
+
if (!interaction ||
|
|
416
|
+
settled ||
|
|
417
|
+
controller.signal.aborted ||
|
|
418
|
+
interaction.request.expiresAt <= Date.now())
|
|
419
|
+
return false;
|
|
420
|
+
if (interaction.request.kind === "approval") {
|
|
421
|
+
if (!("decision" in answer) || !interaction.request.choices.includes(answer.decision))
|
|
422
|
+
return false;
|
|
423
|
+
if (answer.decision === "accept" &&
|
|
424
|
+
interaction.fileReview &&
|
|
425
|
+
JSON.stringify(fileChanges.get(interaction.fileReview.itemId)) !==
|
|
426
|
+
interaction.fileReview.changes) {
|
|
427
|
+
fail("Changes updated. Review locally, then /resume.");
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
else if (!("answers" in answer) ||
|
|
432
|
+
Object.keys(answer.answers).length !== interaction.request.questions.length ||
|
|
433
|
+
interaction.request.questions.some((question) => {
|
|
434
|
+
const values = answer.answers[question.id]?.answers;
|
|
435
|
+
return (values?.length !== 1 ||
|
|
436
|
+
!values[0]?.trim() ||
|
|
437
|
+
(!question.allowText &&
|
|
438
|
+
!question.options.some((option) => option.label === values[0])));
|
|
439
|
+
}))
|
|
440
|
+
return false;
|
|
441
|
+
/** 在写入前移除映射,失败也不重发批准;任务终态负责说明不确定结果。 */
|
|
442
|
+
interactions.delete(id);
|
|
443
|
+
clearTimeout(interaction.timer);
|
|
444
|
+
write({
|
|
445
|
+
id: interaction.requestId,
|
|
446
|
+
result: interaction.permissions
|
|
447
|
+
? {
|
|
448
|
+
permissions: "decision" in answer && answer.decision === "accept"
|
|
449
|
+
? interaction.permissions
|
|
450
|
+
: {},
|
|
451
|
+
scope: "turn",
|
|
452
|
+
}
|
|
453
|
+
: answer,
|
|
454
|
+
});
|
|
455
|
+
return !settled;
|
|
456
|
+
};
|
|
342
457
|
try {
|
|
343
458
|
if (controller.signal.aborted)
|
|
344
459
|
return { status: "cancelled", text: "Stopped before starting." };
|
|
@@ -349,7 +464,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
349
464
|
/** 源码和编译产物都读取包版本,与 CLI 的版本显示保持一致。 */
|
|
350
465
|
version: JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8")).version,
|
|
351
466
|
},
|
|
352
|
-
capabilities:
|
|
467
|
+
capabilities: { experimentalApi: true, requestAttestation: false },
|
|
353
468
|
});
|
|
354
469
|
write({ method: "initialized" });
|
|
355
470
|
if (socket && input.sessionId) {
|
|
@@ -408,6 +523,10 @@ export async function createCodexAgent(command = "codex") {
|
|
|
408
523
|
}
|
|
409
524
|
finally {
|
|
410
525
|
steer = undefined;
|
|
526
|
+
respond = undefined;
|
|
527
|
+
for (const interaction of interactions.values())
|
|
528
|
+
clearTimeout(interaction.timer);
|
|
529
|
+
interactions.clear();
|
|
411
530
|
clearTimeout(stopTimer);
|
|
412
531
|
client.rejectAllPendingRequests("Codex connection closed.");
|
|
413
532
|
terminate("SIGTERM");
|
|
@@ -424,6 +543,10 @@ export async function createCodexAgent(command = "codex") {
|
|
|
424
543
|
}
|
|
425
544
|
}
|
|
426
545
|
},
|
|
546
|
+
/** 外部 ID 必须命中本次连接,不能把旧按钮转交给新一轮任务。 */
|
|
547
|
+
respond(id, answer) {
|
|
548
|
+
return respond?.(id, answer) ?? false;
|
|
549
|
+
},
|
|
427
550
|
/** 复用当前连接提交补充消息,由 expectedTurnId 防止误入其他轮次。 */
|
|
428
551
|
steer(prompt) {
|
|
429
552
|
if (!steer)
|
package/dist/agents/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -7,8 +7,8 @@ import which from "which";
|
|
|
7
7
|
import { ZodError } from "zod";
|
|
8
8
|
import { createCodexAgent } from "./agents/codex.js";
|
|
9
9
|
import { appDirectory, configSchema, loadConfig } from "./config.js";
|
|
10
|
+
import { manageService } from "./service.js";
|
|
10
11
|
import { writeJson } from "./storage/json.js";
|
|
11
|
-
import { manageService } from "./systemd.js";
|
|
12
12
|
/** 全局入口只注册命令;业务入口仅在 run 时动态加载。 */
|
|
13
13
|
const program = new Command()
|
|
14
14
|
.name("tellrun")
|
|
@@ -55,11 +55,16 @@ program
|
|
|
55
55
|
initialValue: current?.codexPath ?? process.env.CODEX_PATH ?? "codex",
|
|
56
56
|
validate: (value) => (value?.trim() ? undefined : "Enter a Codex command or path."),
|
|
57
57
|
}),
|
|
58
|
-
launch: () => process.platform
|
|
58
|
+
launch: () => ["linux", "darwin"].includes(process.platform)
|
|
59
59
|
? p.select({
|
|
60
60
|
message: "After setup",
|
|
61
61
|
options: [
|
|
62
|
-
{
|
|
62
|
+
{
|
|
63
|
+
value: "boot",
|
|
64
|
+
label: process.platform === "darwin"
|
|
65
|
+
? "Start or restart, enable at login"
|
|
66
|
+
: "Start or restart, enable at boot",
|
|
67
|
+
},
|
|
63
68
|
{ value: "start", label: "Start or restart" },
|
|
64
69
|
{ value: "later", label: "Save only" },
|
|
65
70
|
],
|
|
@@ -97,9 +102,9 @@ program
|
|
|
97
102
|
if (answers.launch !== "later")
|
|
98
103
|
await manageService("restart", { enable: answers.launch === "boot" });
|
|
99
104
|
else
|
|
100
|
-
console.log(process.platform
|
|
105
|
+
console.log(["linux", "darwin"].includes(process.platform)
|
|
101
106
|
? "Run tellrun start to start the service."
|
|
102
|
-
: "Run tellrun run. Background mode requires Linux
|
|
107
|
+
: "Run tellrun run. Background mode requires Linux or macOS.");
|
|
103
108
|
});
|
|
104
109
|
program
|
|
105
110
|
.command("run")
|
|
@@ -110,7 +115,7 @@ program
|
|
|
110
115
|
program
|
|
111
116
|
.command("start")
|
|
112
117
|
.description("Start the background service")
|
|
113
|
-
.option("--enable", "Enable at boot")
|
|
118
|
+
.option("--enable", process.platform === "darwin" ? "Enable at login" : "Enable at boot")
|
|
114
119
|
.action(async (options) => {
|
|
115
120
|
await manageService("start", options);
|
|
116
121
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAe,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/core/relay.js
CHANGED
|
@@ -21,18 +21,24 @@ export function createRelayService(options) {
|
|
|
21
21
|
async handleMessage(message) {
|
|
22
22
|
if (stopping)
|
|
23
23
|
throw new Error("Service stopping. Message not accepted.");
|
|
24
|
-
options.store.accept(message, (channel) => {
|
|
24
|
+
const reply = options.store.accept(message, (channel) => {
|
|
25
25
|
/** 未指定目录时沿用服务启动目录,并随消息一同保存,后续可用 /cwd 切换。 */
|
|
26
26
|
if (!channel.cwd)
|
|
27
27
|
options.store.setSession(channel.id, realpathSync(process.cwd()));
|
|
28
28
|
const task = options.store.activeTask();
|
|
29
|
+
if (message.content.type === "interaction" ||
|
|
30
|
+
(message.content.type === "text" && message.content.replyToMessageId !== undefined)) {
|
|
31
|
+
const answer = options.store.answerInteraction(channel.id, message.content);
|
|
32
|
+
if (answer !== undefined || message.content.type === "interaction")
|
|
33
|
+
return answer;
|
|
34
|
+
}
|
|
29
35
|
if (message.content.type === "command") {
|
|
30
36
|
switch (message.content.name) {
|
|
31
37
|
case "start":
|
|
32
38
|
case "help":
|
|
33
|
-
return "Tellrun ready.\nSend text to chat with Codex. New messages add to the running task.\n/cwd <path> — Set directory; start a new session\n/new — New session, same directory\n/status — Task status\n/last — Last result\n/stop — Stop task and pause\n/resume — Accept new tasks\
|
|
39
|
+
return "Tellrun ready.\nSend text to chat with Codex. New messages add to the running task.\n/cwd <path> — Set directory; start a new session\n/new — New session, same directory\n/status — Task status\n/last — Last result\n/stop — Stop task and pause\n/resume — Accept new tasks\nUse buttons for approvals. Answer questions with buttons or replies. Requests expire within 10 minutes.";
|
|
34
40
|
case "status":
|
|
35
|
-
return `Service: connected\n${options.agent.name}: ${options.agent.version}\nDirectory: ${channel.cwd}\nSession: ${channel.sessionId ? "existing" : "new"}\nNew tasks: ${channel.paused ? "paused (/resume)" : "enabled"}\nTask: ${task ? `#${task.id} ${statuses[task.status]}` : "idle"}`;
|
|
41
|
+
return `Service: connected\n${options.agent.name}: ${options.agent.version}\nDirectory: ${channel.cwd}\nSession: ${channel.sessionId ? "existing" : "new"}\nNew tasks: ${channel.paused ? "paused (/resume)" : "enabled"}\nTask: ${task ? `#${task.id} ${statuses[task.status]}` : "idle"}${task?.interactions.length ? `\nPending: ${task.interactions.map((item) => `${item.kind === "approval" ? "Approval" : "Question"}${item.blocking ? " (waiting)" : " (task running)"}`).join(", ")}` : ""}`;
|
|
36
42
|
case "cwd": {
|
|
37
43
|
if (!message.content.args)
|
|
38
44
|
return `Directory: ${channel.cwd}\nUse /cwd /absolute/path to change directory and start a new session.`;
|
|
@@ -63,8 +69,6 @@ export function createRelayService(options) {
|
|
|
63
69
|
if (!task || task.channelId !== channel.id)
|
|
64
70
|
return "Paused. No task running in this chat. Send /resume to continue.";
|
|
65
71
|
options.store.cancelTask(task.id);
|
|
66
|
-
if (task.status !== "queued")
|
|
67
|
-
options.agent.stop();
|
|
68
72
|
return `Stop requested for task #${task.id}. Wait for its result, then /resume.`;
|
|
69
73
|
case "resume":
|
|
70
74
|
if (task)
|
|
@@ -81,7 +85,7 @@ export function createRelayService(options) {
|
|
|
81
85
|
return "Unknown command. See /help.";
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
|
-
if (message.content.type
|
|
88
|
+
if (message.content.type !== "text")
|
|
85
89
|
return "Text messages only. See /help.";
|
|
86
90
|
if (channel.paused)
|
|
87
91
|
return "Paused. Check /last, then /resume to send a new task.";
|
|
@@ -97,6 +101,12 @@ export function createRelayService(options) {
|
|
|
97
101
|
}
|
|
98
102
|
options.store.createTask(channel, message.content.text);
|
|
99
103
|
});
|
|
104
|
+
/** 只有选择和停止状态落盘后才影响运行时;回调答复不承担提交职责。 */
|
|
105
|
+
if (((message.content.type === "command" && message.content.name === "stop") ||
|
|
106
|
+
(message.content.type === "interaction" && message.content.action === "stop")) &&
|
|
107
|
+
options.store.activeTask()?.status === "cancelling")
|
|
108
|
+
options.agent.stop();
|
|
109
|
+
return reply;
|
|
100
110
|
},
|
|
101
111
|
/** 领取任务后再次检查目录;运行结果与最终回复在同一个快照中保存。 */
|
|
102
112
|
async run(source) {
|
|
@@ -126,6 +136,8 @@ export function createRelayService(options) {
|
|
|
126
136
|
onSession: (id) => options.store.recordSession(task.id, id),
|
|
127
137
|
onStarted: () => options.store.markRunning(task.id),
|
|
128
138
|
onText: (text) => options.store.setDraft(task.id, text),
|
|
139
|
+
onInteraction: (request) => options.store.addInteraction(task.id, request),
|
|
140
|
+
onInteractionClosed: (id, reason) => options.store.closeInteraction(id, reason),
|
|
129
141
|
})
|
|
130
142
|
.finally(() => {
|
|
131
143
|
finished = true;
|
|
@@ -151,14 +163,26 @@ export function createRelayService(options) {
|
|
|
151
163
|
options.store.finishTaskInput(task.id, input.index, error);
|
|
152
164
|
}
|
|
153
165
|
})();
|
|
166
|
+
/** 交互提交独立于慢速补充 RPC;停止、服务端解决和用户选择之间至多提交一次。 */
|
|
167
|
+
const answering = (async () => {
|
|
168
|
+
while (!finished && !stopping) {
|
|
169
|
+
const interaction = options.store.claimInteraction(task.id);
|
|
170
|
+
if (interaction) {
|
|
171
|
+
const submitted = options.agent.respond(interaction.id, interaction.answer);
|
|
172
|
+
options.store.closeInteraction(interaction.id, submitted
|
|
173
|
+
? "Submitted. Waiting for results."
|
|
174
|
+
: "Request closed or delivery unconfirmed. Check /status.");
|
|
175
|
+
}
|
|
176
|
+
await setTimeout(50);
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
154
179
|
try {
|
|
155
|
-
const [result] = await Promise.all([running, steering]);
|
|
180
|
+
const [result] = await Promise.all([running, steering, answering]);
|
|
156
181
|
options.store.finishTask(task.id, result);
|
|
157
|
-
options.logger.info({ taskId: task.id, status: result.status }, "Task finished");
|
|
158
182
|
}
|
|
159
183
|
catch (error) {
|
|
160
184
|
options.agent.stop();
|
|
161
|
-
await Promise.allSettled([running, steering]);
|
|
185
|
+
await Promise.allSettled([running, steering, answering]);
|
|
162
186
|
options.store.finishTask(task.id, {
|
|
163
187
|
status: "interrupted",
|
|
164
188
|
text: "Service error; shutting down. Check the directory and local processes before /resume.",
|
package/dist/core/relay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/core/relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/core/relay.ts"],"names":[],"mappings":"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"}
|