tellrun 2.1.0 → 2.1.2

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.
@@ -1,7 +1,7 @@
1
1
  import { realpathSync, statSync } from "node:fs";
2
2
  import { isAbsolute } from "node:path";
3
3
  import { setTimeout } from "node:timers/promises";
4
- import { AttachmentError, maxAttachmentBytes } from "../storage/attachments.js";
4
+ import { AttachmentError, maxAttachmentBytes } from "./attachments.js";
5
5
  /** 接收消息只保存必要状态;任务执行独立串行运行,控制命令始终可用。 */
6
6
  export function createRelayService(options) {
7
7
  let stopping = false;
@@ -25,20 +25,20 @@ export function createRelayService(options) {
25
25
  cancelled: "Stopped",
26
26
  interrupted: "Unconfirmed",
27
27
  };
28
- options.store.recoverTasks();
28
+ options.state.recoverTasks();
29
29
  return {
30
30
  /** 返回前保存消息和必要回复;重复事件直接忽略,不重新执行控制或任务。 */
31
31
  async handleMessage(message) {
32
32
  if (stopping)
33
33
  throw new Error("Service stopping. Message not accepted.");
34
34
  let controlQuery;
35
- const reply = options.store.accept(message, (channel) => {
36
- const task = options.store.activeTask();
35
+ const reply = options.state.accept(message, (channel) => {
36
+ const task = options.state.activeTask();
37
37
  if (message.content.type === "permissions" || message.content.type === "model")
38
- return options.store.chooseOption(channel.id, message.content);
38
+ return options.state.chooseOption(channel.id, message.content);
39
39
  if (message.content.type === "interaction" ||
40
40
  (message.content.type === "text" && message.content.replyToMessageId !== undefined)) {
41
- const answer = options.store.answerInteraction(channel.id, message.content);
41
+ const answer = options.state.answerInteraction(channel.id, message.content);
42
42
  if (answer !== undefined || message.content.type === "interaction")
43
43
  return answer;
44
44
  }
@@ -73,7 +73,7 @@ export function createRelayService(options) {
73
73
  }
74
74
  catch (error) {
75
75
  if (!stopping)
76
- options.store.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
76
+ options.state.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
77
77
  ? error.message
78
78
  : "Cannot change sessions. Current session unchanged. Check /list before retrying.");
79
79
  return;
@@ -83,7 +83,7 @@ export function createRelayService(options) {
83
83
  }
84
84
  /** 接口成功后才更新绑定;存储错误交给工作循环处理。 */
85
85
  if (!stopping)
86
- options.store.setSession(snapshot.id, snapshot.cwd, session.id, `${content.type === "command" ? "New session" : "Switched session"}: ${session.label}\nID: ${session.id}\nDirectory: ${snapshot.cwd}`);
86
+ options.state.setSession(snapshot.id, snapshot.cwd, session.id, `${content.type === "command" ? "New session" : "Switched session"}: ${session.label}\nID: ${session.id}\nDirectory: ${snapshot.cwd}`);
87
87
  };
88
88
  return;
89
89
  }
@@ -93,14 +93,14 @@ export function createRelayService(options) {
93
93
  case "help":
94
94
  return "Tellrun ready.\nSend text, photos, or files to Codex (up to 20 MB per attachment). Add a caption to describe your task. New messages add to the running task.\n/cwd <path> — Set directory; start a new session\n/new [name] — Create and select a new session\n/list — Show up to 10 recent sessions; tap to switch\n/model — Select model and reasoning effort\n/permissions — Select permission mode\n/cron — Manage scheduled tasks\n/status — Status and update check\n/update — Ask Codex to upgrade Tellrun\n/restart — Restart Tellrun and reload configuration\n/last — Last result\n/stop — Stop task and pause\n/resume — Accept new tasks\nWait for the task to finish before creating or switching sessions.";
95
95
  case "cron":
96
- return options.store.handleCron(channel.id, message.content.args);
96
+ return options.state.handleCron(channel.id, message.content.args);
97
97
  case "model":
98
98
  if (message.content.args)
99
99
  return "Use /model to choose a model with the buttons.";
100
- options.store.openMenu(channel.id, "model");
100
+ options.state.openMenu(channel.id, "model");
101
101
  return;
102
102
  case "permissions":
103
- options.store.openMenu(channel.id, "permissions", options.agent.permissionModes);
103
+ options.state.openMenu(channel.id, "permissions", options.agent.permissionModes);
104
104
  return;
105
105
  case "status": {
106
106
  /** 查询期间保存请求时的选择,后续切换不会改写这次状态快照。 */
@@ -150,7 +150,7 @@ export function createRelayService(options) {
150
150
  const upgradeHint = update?.available
151
151
  ? `\n\nSend /update to ask ${options.agent.name} to upgrade Tellrun.`
152
152
  : "";
153
- options.store.reply(snapshot.id, `Service: connected\nTellrun: ${options.updates.version}${versionSuffix}\n${options.agent.name}: ${options.agent.version}\nDirectory: ${snapshot.cwd}${task && task.cwd !== snapshot.cwd ? `\nTask directory: ${task.cwd}` : ""}\nSession: ${snapshot.sessionId ?? "Not started"}\nModel: ${formatModel(model)}${showTaskModel ? `\nTask model: ${formatModel(taskModel)}` : ""}\nPermissions: ${options.agent.permissionModes.find((mode) => mode.id === snapshot.permissionMode)?.label ?? snapshot.permissionMode ?? options.agent.permissionModes[0]?.label ?? "Not set"}${task && task.permissionMode !== snapshot.permissionMode ? `\nTask permissions: ${options.agent.permissionModes.find((mode) => mode.id === task.permissionMode)?.label ?? task.permissionMode ?? options.agent.permissionModes[0]?.label ?? "Not set"}` : ""}\nTask: ${task ? `#${task.id} ${statuses[task.status]}${task.cron ? ` · Cron #${task.cron.id}` : ""}` : "idle"}${task?.interactions.length ? `\nPending: ${task.interactions.map((item) => `${item.kind === "approval" ? "Approval" : "Question"}${item.blocking ? " (waiting)" : " (task running)"}`).join(", ")}` : ""}${upgradeHint}`);
153
+ options.state.reply(snapshot.id, `Service: connected\nTellrun: ${options.updates.version}${versionSuffix}\n${options.agent.name}: ${options.agent.version}\nDirectory: ${snapshot.cwd}${task && task.cwd !== snapshot.cwd ? `\nTask directory: ${task.cwd}` : ""}\nSession: ${snapshot.sessionId ?? "Not started"}\nModel: ${formatModel(model)}${showTaskModel ? `\nTask model: ${formatModel(taskModel)}` : ""}\nPermissions: ${options.agent.permissionModes.find((mode) => mode.id === snapshot.permissionMode)?.label ?? snapshot.permissionMode ?? options.agent.permissionModes[0]?.label ?? "Not set"}${task && task.permissionMode !== snapshot.permissionMode ? `\nTask permissions: ${options.agent.permissionModes.find((mode) => mode.id === task.permissionMode)?.label ?? task.permissionMode ?? options.agent.permissionModes[0]?.label ?? "Not set"}` : ""}\nTask: ${task ? `#${task.id} ${statuses[task.status]}${task.cron ? ` · Cron #${task.cron.id}` : ""}` : "idle"}${task?.interactions.length ? `\nPending: ${task.interactions.map((item) => `${item.kind === "approval" ? "Approval" : "Question"}${item.blocking ? " (waiting)" : " (task running)"}`).join(", ")}` : ""}${upgradeHint}`);
154
154
  };
155
155
  return;
156
156
  }
@@ -162,7 +162,7 @@ export function createRelayService(options) {
162
162
  if (channel.paused)
163
163
  return "Paused. Send /resume before /update.";
164
164
  /** 复用普通任务的快照、去重、审批和恢复流程,不向执行中的任务追加升级指令。 */
165
- options.store.createTask(channel, options.updates.upgradePrompt());
165
+ options.state.createTask(channel, options.updates.upgradePrompt());
166
166
  return `Tellrun update queued for ${options.agent.name}.`;
167
167
  case "restart":
168
168
  if (message.content.args)
@@ -189,7 +189,7 @@ export function createRelayService(options) {
189
189
  return "Cannot access directory. Check the path and permissions.";
190
190
  }
191
191
  if (cwd !== channel.cwd)
192
- options.store.setSession(channel.id, cwd, null);
192
+ options.state.setSession(channel.id, cwd, null);
193
193
  return `Directory: ${cwd}\n${channel.paused ? "Paused. Send /resume to continue." : "Send a task to Codex."}`;
194
194
  }
195
195
  case "list": {
@@ -203,11 +203,11 @@ export function createRelayService(options) {
203
203
  }
204
204
  catch {
205
205
  if (!stopping)
206
- options.store.reply(snapshot.id, "Cannot load sessions. Try /list again.");
206
+ options.state.reply(snapshot.id, "Cannot load sessions. Try /list again.");
207
207
  return;
208
208
  }
209
209
  if (!stopping)
210
- options.store.reply(snapshot.id, sessions.length
210
+ options.state.reply(snapshot.id, sessions.length
211
211
  ? "Tap a session to switch."
212
212
  : "No sessions yet. Create one with /new [name].", {
213
213
  /** 当前会话标记与名称一起作为按钮文本。 */
@@ -220,21 +220,21 @@ export function createRelayService(options) {
220
220
  return;
221
221
  }
222
222
  case "stop":
223
- options.store.setPaused(channel.id, true);
223
+ options.state.setPaused(channel.id, true);
224
224
  if (!task || task.channelId !== channel.id)
225
225
  return "Paused. No task running in this chat. Send /resume to continue.";
226
- options.store.cancelTask(task.id);
226
+ options.state.cancelTask(task.id);
227
227
  return `Stop requested for task #${task.id}. Wait for its result, then /resume.`;
228
228
  case "resume":
229
229
  if (task)
230
230
  return "Wait for the task to finish before /resume.";
231
- options.store.setPaused(channel.id, false);
231
+ options.state.setPaused(channel.id, false);
232
232
  return "Ready for new tasks. Interrupted tasks will not be rerun.";
233
233
  case "last": {
234
- const last = options.store.lastTask(channel.id);
234
+ const last = options.state.lastTask(channel.id);
235
235
  if (!last)
236
236
  return "No tasks yet.";
237
- options.store.reply(channel.id, `Task #${last.id}${last.cron ? ` · Cron #${last.cron.id}` : ""} ${statuses[last.status]}\n\n${last.result ?? "No result yet."}`, { markdown: true });
237
+ options.state.reply(channel.id, `Task #${last.id}${last.cron ? ` · Cron #${last.cron.id}` : ""} ${statuses[last.status]}\n\n${last.result ?? "No result yet."}`, { markdown: true });
238
238
  return;
239
239
  }
240
240
  default:
@@ -255,10 +255,10 @@ export function createRelayService(options) {
255
255
  return `Task #${task.id} is running in another chat. Message not sent.`;
256
256
  if (task.status === "cancelling")
257
257
  return "Task stopping. Wait for its result.";
258
- options.store.appendTaskInput(task.id, message.content.text, attachments);
258
+ options.state.appendTaskInput(task.id, message.content.text, attachments);
259
259
  return;
260
260
  }
261
- options.store.createTask(channel, message.content.text, attachments);
261
+ options.state.createTask(channel, message.content.text, attachments);
262
262
  });
263
263
  /** 只有入站去重记录保存成功后才执行;重复事件不会重复切换会话或重启。 */
264
264
  if (controlQuery) {
@@ -270,7 +270,7 @@ export function createRelayService(options) {
270
270
  /** 只有选择和停止状态落盘后才影响运行时;回调答复不承担提交职责。 */
271
271
  if ((message.content.type === "command" && message.content.name === "stop") ||
272
272
  (message.content.type === "interaction" && message.content.action === "stop")) {
273
- const active = options.store.activeTask();
273
+ const active = options.state.activeTask();
274
274
  if (!active || active.status === "cancelling")
275
275
  inputPreparation?.abort();
276
276
  if (active?.status === "cancelling")
@@ -287,7 +287,7 @@ export function createRelayService(options) {
287
287
  await query;
288
288
  continue;
289
289
  }
290
- const menu = options.store.pendingModels(source);
290
+ const menu = options.state.pendingModels(source);
291
291
  if (!menu) {
292
292
  await setTimeout(100);
293
293
  continue;
@@ -300,7 +300,7 @@ export function createRelayService(options) {
300
300
  /** 查询失败只提示重新打开菜单,不影响任务和已有选择。 */
301
301
  }
302
302
  if (!stopping)
303
- options.store.fillModels(menu.channelId, menu.id, models);
303
+ options.state.fillModels(menu.channelId, menu.id, models);
304
304
  }
305
305
  }
306
306
  finally {
@@ -312,16 +312,16 @@ export function createRelayService(options) {
312
312
  async schedule(source) {
313
313
  if (stopping)
314
314
  return;
315
- options.store.recoverCrons(source);
315
+ options.state.recoverCrons(source);
316
316
  while (!stopping) {
317
- options.store.tickCrons(source);
317
+ options.state.tickCrons(source);
318
318
  await setTimeout(1_000);
319
319
  }
320
320
  },
321
321
  /** 领取任务后再次检查目录;运行结果与最终回复在同一个快照中保存。 */
322
322
  async run(source) {
323
323
  while (!stopping) {
324
- const task = options.store.claimTask(source);
324
+ const task = options.state.claimTask(source);
325
325
  if (!task) {
326
326
  await setTimeout(250);
327
327
  continue;
@@ -331,7 +331,7 @@ export function createRelayService(options) {
331
331
  throw new Error("Directory changed.");
332
332
  }
333
333
  catch {
334
- options.store.finishTask(task.id, {
334
+ options.state.finishTask(task.id, {
335
335
  status: "failed",
336
336
  text: "Directory missing, changed, or inaccessible. Task not started. Set /cwd and try again.",
337
337
  });
@@ -345,13 +345,13 @@ export function createRelayService(options) {
345
345
  attachments = await options.prepareAttachments(task.attachments, preparing.signal);
346
346
  if (stopping)
347
347
  return;
348
- if (preparing.signal.aborted || !options.store.markDispatching(task.id))
348
+ if (preparing.signal.aborted || !options.state.markDispatching(task.id))
349
349
  continue;
350
350
  }
351
351
  catch (error) {
352
352
  if (stopping)
353
353
  return;
354
- options.store.finishTask(task.id, {
354
+ options.state.finishTask(task.id, {
355
355
  status: preparing.signal.aborted ? "cancelled" : "failed",
356
356
  text: preparing.signal.aborted
357
357
  ? "Stopped before starting."
@@ -378,16 +378,16 @@ export function createRelayService(options) {
378
378
  permissionMode: task.permissionMode,
379
379
  model: task.model,
380
380
  reasoningEffort: task.reasoningEffort,
381
- onSession: (id) => options.store.recordSession(task.id, id),
381
+ onSession: (id) => options.state.recordSession(task.id, id),
382
382
  onStarted: (runId) => {
383
- options.store.markRunning(task.id, runId);
384
- if (options.store.activeTask()?.status === "cancelling")
383
+ options.state.markRunning(task.id, runId);
384
+ if (options.state.activeTask()?.status === "cancelling")
385
385
  options.agent.stop();
386
386
  },
387
- onText: (text) => options.store.setDraft(task.id, text),
388
- onNotice: (text) => options.store.reply(task.channelId, `Task #${task.id}\n${text}`),
389
- onInteraction: (request) => options.store.addInteraction(task.id, request),
390
- onInteractionClosed: (id, reason) => options.store.closeInteraction(id, reason),
387
+ onText: (text) => options.state.setDraft(task.id, text),
388
+ onNotice: (text) => options.state.reply(task.channelId, `Task #${task.id}\n${text}`),
389
+ onInteraction: (request) => options.state.addInteraction(task.id, request),
390
+ onInteractionClosed: (id, reason) => options.state.closeInteraction(id, reason),
391
391
  })
392
392
  .finally(() => {
393
393
  finished = true;
@@ -396,7 +396,7 @@ export function createRelayService(options) {
396
396
  /** 补充输入独立于入站处理和任务完成等待,慢 RPC 不阻塞 /status 与 /stop。 */
397
397
  const steering = (async () => {
398
398
  while (!finished && !stopping) {
399
- const input = options.store.claimTaskInput(task.id);
399
+ const input = options.state.claimTaskInput(task.id);
400
400
  if (!input) {
401
401
  await setTimeout(50);
402
402
  continue;
@@ -406,7 +406,7 @@ export function createRelayService(options) {
406
406
  const attachments = await options.prepareAttachments(input.attachments, preparing.signal);
407
407
  if (finished || stopping)
408
408
  return;
409
- if (!options.store.markTaskInputSending(task.id, input.index))
409
+ if (!options.state.markTaskInputSending(task.id, input.index))
410
410
  continue;
411
411
  await options.agent.steer(input.text, attachments);
412
412
  }
@@ -419,16 +419,16 @@ export function createRelayService(options) {
419
419
  ? cause.message
420
420
  : "Submission unconfirmed. Not retried; check the session before resending.";
421
421
  }
422
- options.store.finishTaskInput(task.id, input.index, error);
422
+ options.state.finishTaskInput(task.id, input.index, error);
423
423
  }
424
424
  })();
425
425
  /** 交互提交独立于慢速补充 RPC;停止、服务端解决和用户选择之间至多提交一次。 */
426
426
  const answering = (async () => {
427
427
  while (!finished && !stopping) {
428
- const interaction = options.store.claimInteraction(task.id);
428
+ const interaction = options.state.claimInteraction(task.id);
429
429
  if (interaction) {
430
430
  const submitted = await options.agent.respond(interaction.id, interaction.answer);
431
- options.store.closeInteraction(interaction.id, submitted
431
+ options.state.closeInteraction(interaction.id, submitted
432
432
  ? "Submitted. Waiting for results."
433
433
  : "Request closed or delivery unconfirmed. Check /status.");
434
434
  }
@@ -438,12 +438,12 @@ export function createRelayService(options) {
438
438
  try {
439
439
  const [result] = await Promise.all([running, steering, answering]);
440
440
  if (result)
441
- options.store.finishTask(task.id, result);
441
+ options.state.finishTask(task.id, result);
442
442
  }
443
443
  catch (error) {
444
444
  options.agent.disconnect();
445
445
  await Promise.allSettled([running, steering, answering]);
446
- options.store.finishTask(task.id, {
446
+ options.state.finishTask(task.id, {
447
447
  status: "interrupted",
448
448
  text: "Service error; shutting down. Check the directory and local processes before /resume.",
449
449
  });
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/core/relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../src/core/relay.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- /** 存储操作与状态校验共用的未结束任务状态。 */
2
+ /** 任务规则与状态校验共用的未结束任务状态。 */
3
3
  export const activeTaskStatuses = new Set([
4
4
  "queued",
5
5
  "preparing",
@@ -19,6 +19,12 @@ const attachmentsSchema = z.array(z.strictObject({
19
19
  kind: z.enum(["image", "file"]),
20
20
  size: nonnegativeInteger.nullable(),
21
21
  }));
22
+ /** 出站附件引用 Agent 已保存的产物,不复制图片正文或保存下载凭据。 */
23
+ const resultAttachmentSchema = z.strictObject({
24
+ name: z.string().min(1),
25
+ path: z.string().min(1),
26
+ kind: z.enum(["image", "file"]),
27
+ });
22
28
  /** 审批、权限、模型和推理档位共用展示选项。 */
23
29
  const optionSchema = z.strictObject({ id: z.string().min(1), label: z.string() });
24
30
  /** 菜单共用有效期和消息清理记录,模型菜单扩展第二步所需的信息。 */
@@ -71,10 +77,9 @@ export const stateSchema = z
71
77
  channelId: id,
72
78
  eventId: z.string(),
73
79
  })),
74
- /** 定时任务 ID 持续递增,删除后不复用;旧状态默认没有定时任务。 */
75
- nextCronId: id.default(1),
76
- crons: z
77
- .array(z.strictObject({
80
+ /** 定时任务 ID 持续递增,删除后不复用。 */
81
+ nextCronId: id,
82
+ crons: z.array(z.strictObject({
78
83
  id,
79
84
  channelId: id,
80
85
  expression: z.string().min(1),
@@ -88,13 +93,12 @@ export const stateSchema = z
88
93
  nextRunAt: nonnegativeInteger.nullable(),
89
94
  /** 忙碌时同一计划最多保留一次待执行,不积累每次触发记录。 */
90
95
  pendingAt: nonnegativeInteger.nullable(),
91
- }))
92
- .default([]),
96
+ })),
93
97
  tasks: z.array(z.strictObject({
94
98
  id,
95
99
  channelId: id,
96
100
  /** 执行快照独立于计划,删除计划后仍能跟踪已开始的任务。 */
97
- cron: z.strictObject({ id, scheduledAt: nonnegativeInteger }).nullable().default(null),
101
+ cron: z.strictObject({ id, scheduledAt: nonnegativeInteger }).nullable(),
98
102
  cwd: z.string(),
99
103
  sessionId: z.string().nullable(),
100
104
  /** 派发前显式保存空值,取得轮次 ID 后用于重启恢复。 */
@@ -154,8 +158,10 @@ export const stateSchema = z
154
158
  id,
155
159
  channelId: id,
156
160
  text: z.string(),
157
- /** 仅任务输出使用 Markdown;旧队列和控制消息默认保留原文。 */
161
+ /** 任务输出可使用 Markdown;未标记的控制消息保留原文。 */
158
162
  markdown: z.boolean().optional(),
163
+ /** 每张图片独立排队,失败重试不重发已成功的文字或其他图片。 */
164
+ attachment: resultAttachmentSchema.optional(),
159
165
  attempts: nonnegativeInteger,
160
166
  retryAt: nonnegativeInteger,
161
167
  interactionId: z.uuid().optional(),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}