tellrun 1.3.9 → 2.0.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.
- package/README.md +4 -5
- package/README.zh-CN.md +4 -5
- package/dist/agents/codex.js +50 -8
- package/dist/agents/codex.js.map +1 -1
- package/dist/core/relay.js +86 -71
- package/dist/core/relay.js.map +1 -1
- package/dist/im/telegram.js +62 -33
- package/dist/im/telegram.js.map +1 -1
- package/dist/storage/schema.js +4 -0
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/store.js +42 -8
- package/dist/storage/store.js.map +1 -1
- package/docs/architecture.md +8 -6
- package/docs/prd.md +3 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,8 +14,8 @@ Run Tellrun on your server and use Telegram on your phone or desktop to send cod
|
|
|
14
14
|
|
|
15
15
|
- **Remote coding**: send tasks in a private Telegram chat and let Codex execute them on your server.
|
|
16
16
|
- **Images and files**: send screenshots, photos, or files with task instructions, including while a task is running.
|
|
17
|
-
- **Session management**: select a project with `/cwd`, create named sessions with `/new`, and
|
|
18
|
-
- **Live feedback**: see typing indicators and streaming replies, and send additional instructions while a task is running.
|
|
17
|
+
- **Session management**: select a project with `/cwd`, create named sessions with `/new`, and use the buttons in `/list` to select and resume conversations.
|
|
18
|
+
- **Live feedback**: see typing indicators and Markdown streaming replies with headings, lists, tables, and code blocks, and send additional instructions while a task is running.
|
|
19
19
|
- **Task control**: check status and the latest result, stop a task and pause new work, and retain the current conversation and task state across restarts.
|
|
20
20
|
- **Scheduled tasks**: create five-field cron schedules with `/cron`, using the server timezone, and receive results in Telegram.
|
|
21
21
|
- **Approvals and questions**: use buttons for command, file, and permission approvals; select options or reply directly to questions, with answers submitted after all questions are answered.
|
|
@@ -57,8 +57,7 @@ At startup, Tellrun registers an English command menu. Use the menu button besid
|
|
|
57
57
|
| `/cwd` | Show the current working directory |
|
|
58
58
|
| `/cwd /absolute/path` | Change the working directory and start a new conversation |
|
|
59
59
|
| `/new [name]` | Create and select a session, with an optional name |
|
|
60
|
-
| `/list` |
|
|
61
|
-
| `/switch <id>` | Switch to a session using its full ID from `/list` |
|
|
60
|
+
| `/list` | Show up to 10 recent project sessions as buttons; tap to switch |
|
|
62
61
|
| `/model` | Show the current selection and choose model and reasoning effort |
|
|
63
62
|
| `/permissions` | Choose the permission mode for subsequent tasks |
|
|
64
63
|
| `/cron` | List, create, delete, enable, or disable scheduled tasks |
|
|
@@ -72,7 +71,7 @@ Wait for the current task to finish before changing directories, creating a sess
|
|
|
72
71
|
|
|
73
72
|
### Session management
|
|
74
73
|
|
|
75
|
-
Sessions are stored by Codex. `/list`
|
|
74
|
+
Sessions are stored by Codex. `/list` shows up to 10 non-archived sessions from Tellrun and other Codex clients in the exact current directory, ordered by recent activity, excluding subagents. It displays session buttons and a prompt to tap to switch, with ✓ marking the current session. `/new` without a name uses `New session`; even an empty session is saved. Creating or switching sessions keeps the selected model and permissions. Wait for confirmation before sending a task; if creation cannot be confirmed, check `/list` before retrying.
|
|
76
75
|
|
|
77
76
|
### Scheduled tasks
|
|
78
77
|
|
package/README.zh-CN.md
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
- **远程编码**:在 Telegram 私聊中发送任务,由服务器上的 Codex 执行。
|
|
16
16
|
- **图片与文件**:发送截图、照片或文件,并附带任务说明;执行中也可以追加附件。
|
|
17
|
-
- **会话管理**:通过 `/cwd` 指定项目目录,用 `/new` 创建命名会话,通过 `/list`
|
|
18
|
-
-
|
|
17
|
+
- **会话管理**:通过 `/cwd` 指定项目目录,用 `/new` 创建命名会话,通过 `/list` 的按钮选择并继续历史对话。
|
|
18
|
+
- **即时反馈**:显示输入状态与 Markdown 流式回复,支持标题、列表、表格和代码块;执行期间可以继续发送文字补充要求。
|
|
19
19
|
- **任务控制**:查看状态和最近结果,停止任务并暂停接收;重启后保留当前会话与任务状态。
|
|
20
20
|
- **定时任务**:通过 `/cron` 创建五段 Cron 计划,按服务器时区执行并接收结果。
|
|
21
21
|
- **审批与提问**:通过按钮处理命令、文件和权限审批;点击选项或明确回复对应问题,多题全部回答后提交。
|
|
@@ -57,8 +57,7 @@ tellrun setup
|
|
|
57
57
|
| `/cwd` | 查看当前工作目录 |
|
|
58
58
|
| `/cwd /absolute/path` | 切换工作目录并开始新会话 |
|
|
59
59
|
| `/new [名称]` | 创建并切换到新会话,名称可省略 |
|
|
60
|
-
| `/list` |
|
|
61
|
-
| `/switch <id>` | 使用 `/list` 中的完整 ID 切换会话 |
|
|
60
|
+
| `/list` | 显示当前项目最近最多 10 个会话按钮,点击切换 |
|
|
62
61
|
| `/model` | 查看当前选择,通过按钮选择模型和推理强度 |
|
|
63
62
|
| `/permissions` | 选择后续任务的权限模式 |
|
|
64
63
|
| `/cron` | 查看、创建、删除或启停定时任务 |
|
|
@@ -72,7 +71,7 @@ tellrun setup
|
|
|
72
71
|
|
|
73
72
|
### 会话管理
|
|
74
73
|
|
|
75
|
-
会话由 Codex 保存。`/list`
|
|
74
|
+
会话由 Codex 保存。`/list` 按最近更新时间显示工作目录完全一致的最多 10 个未归档会话按钮,并提示点击切换,当前会话以 ✓ 标记。列表包含 Tellrun 和其他 Codex 客户端创建的会话,不包含子 Agent。`/new` 省略名称时使用 `New session`,空会话也会保存。新建和切换会话保留当前模型与权限选择;收到成功确认后再发送任务,创建结果无法确认时先用 `/list` 检查,再决定是否重试。
|
|
76
75
|
|
|
77
76
|
### 定时任务
|
|
78
77
|
|
package/dist/agents/codex.js
CHANGED
|
@@ -210,6 +210,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
210
210
|
permissionModes: permissionModes.map(({ id, label }) => ({ id, label })),
|
|
211
211
|
async listSessions(cwd, signal) {
|
|
212
212
|
return withSessionConnection(cwd, signal, async (rpc) => {
|
|
213
|
+
/** 按最近更新时间收集最多 10 个会话;过滤或去重后不足时再取下一页。 */
|
|
213
214
|
const sessions = [];
|
|
214
215
|
let cursor = null;
|
|
215
216
|
do {
|
|
@@ -218,16 +219,19 @@ export async function createCodexAgent(command = "codex") {
|
|
|
218
219
|
.parse(await rpc.request("thread/list", {
|
|
219
220
|
cwd,
|
|
220
221
|
cursor,
|
|
221
|
-
limit:
|
|
222
|
+
limit: 10 - sessions.length,
|
|
222
223
|
sortKey: "updated_at",
|
|
223
224
|
modelProviders: [],
|
|
224
225
|
/** 默认来源会漏掉 app-server 会话;排除自动生成的子 Agent 会话。 */
|
|
225
226
|
sourceKinds: ["cli", "vscode", "exec", "appServer", "unknown"],
|
|
226
227
|
archived: false,
|
|
227
228
|
}));
|
|
228
|
-
for (const session of page.data)
|
|
229
|
+
for (const session of page.data) {
|
|
229
230
|
if (session.cwd === cwd && !sessions.some((item) => item.id === session.id))
|
|
230
231
|
sessions.push({ id: session.id, label: session.label });
|
|
232
|
+
if (sessions.length === 10)
|
|
233
|
+
return sessions;
|
|
234
|
+
}
|
|
231
235
|
cursor = page.nextCursor;
|
|
232
236
|
} while (cursor);
|
|
233
237
|
return sessions;
|
|
@@ -262,7 +266,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
262
266
|
const { thread } = await withSessionConnection(cwd, signal, async (rpc) => z
|
|
263
267
|
.object({ thread: sessionSchema })
|
|
264
268
|
.parse(await rpc.request("thread/read", { threadId: sessionId }))).catch(() => {
|
|
265
|
-
throw new Error("Codex session unavailable.
|
|
269
|
+
throw new Error("Codex session unavailable. Open /list and choose a session again.");
|
|
266
270
|
});
|
|
267
271
|
if (thread.id !== sessionId || thread.cwd !== cwd)
|
|
268
272
|
throw new Error("Codex session is not in the current directory. Choose one from /list.");
|
|
@@ -329,6 +333,10 @@ export async function createCodexAgent(command = "codex") {
|
|
|
329
333
|
/** 原生 Cancel 的已确认中断视为用户取消,不能误报异常并暂停聊天。 */
|
|
330
334
|
let cancelledByApproval = false;
|
|
331
335
|
let stopTimer;
|
|
336
|
+
/** 同一轮的自动重试只提示一次,避免网络抖动刷屏。 */
|
|
337
|
+
let retryNotified = false;
|
|
338
|
+
/** 不可重试错误后短暂等待正式终态,缺失时按状态未确认收尾。 */
|
|
339
|
+
let errorTimer;
|
|
332
340
|
/** 只接受第一个终态,避免退出事件覆盖已经确认的执行结果。 */
|
|
333
341
|
function finish(result) {
|
|
334
342
|
if (settled)
|
|
@@ -340,8 +348,17 @@ export async function createCodexAgent(command = "codex") {
|
|
|
340
348
|
completed.resolve(result
|
|
341
349
|
? {
|
|
342
350
|
...result,
|
|
343
|
-
text:
|
|
344
|
-
|
|
351
|
+
text:
|
|
352
|
+
/** 异常和恢复建议放在已有输出之前,避免长回复淹没通知。 */
|
|
353
|
+
[
|
|
354
|
+
result.text,
|
|
355
|
+
result.status === "interrupted"
|
|
356
|
+
? "建议先用 /status 和 /last 查看状态及输出,并在本机确认任务是否已经停止。确认后发送 /resume 恢复接收,再说明如何继续;/resume 不会自动重跑任务。"
|
|
357
|
+
: "",
|
|
358
|
+
formatOutput(),
|
|
359
|
+
]
|
|
360
|
+
.filter(Boolean)
|
|
361
|
+
.join("\n\n") || "Codex finished with no text output.",
|
|
345
362
|
}
|
|
346
363
|
: undefined);
|
|
347
364
|
}
|
|
@@ -350,7 +367,11 @@ export async function createCodexAgent(command = "codex") {
|
|
|
350
367
|
return [...messages]
|
|
351
368
|
.map(([id, text]) => [
|
|
352
369
|
text,
|
|
353
|
-
...(fileChanges.get(id) ?? []).map((change) =>
|
|
370
|
+
...(fileChanges.get(id) ?? []).map((change) => {
|
|
371
|
+
/** 差异作为代码展示;围栏长于内容中的反引号,避免 Markdown 被误解析。 */
|
|
372
|
+
const fence = "`".repeat((change.diff.match(/`+/g) ?? []).reduce((length, marker) => Math.max(length, marker.length + 1), 3));
|
|
373
|
+
return `${fence}diff\n${change.kind.type}: ${change.path}${change.kind.move_path ? ` → ${change.kind.move_path}` : ""}\n${change.diff}${change.diff.endsWith("\n") ? "" : "\n"}${fence}`;
|
|
374
|
+
}),
|
|
354
375
|
]
|
|
355
376
|
.filter(Boolean)
|
|
356
377
|
.join("\n\n"))
|
|
@@ -507,6 +528,26 @@ export async function createCodexAgent(command = "codex") {
|
|
|
507
528
|
seenRequests.add(message.id);
|
|
508
529
|
openInteraction(message);
|
|
509
530
|
}
|
|
531
|
+
else if (message.method === "error") {
|
|
532
|
+
const event = z
|
|
533
|
+
.object({ threadId: z.string(), turnId: z.string(), willRetry: z.boolean() })
|
|
534
|
+
.parse(message.params);
|
|
535
|
+
if (event.threadId !== sessionId || event.turnId !== runId)
|
|
536
|
+
return;
|
|
537
|
+
if (event.willRetry) {
|
|
538
|
+
clearTimeout(errorTimer);
|
|
539
|
+
errorTimer = undefined;
|
|
540
|
+
if (!retryNotified) {
|
|
541
|
+
retryNotified = true;
|
|
542
|
+
input.onNotice("Codex 执行遇到异常,正在自动重试。建议暂时等待,无需重复提交任务;可用 /status 查看状态,持续无进展时可用 /stop 停止。");
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
else if (!errorTimer) {
|
|
546
|
+
/** 原始错误可能含凭据或请求正文,只发送固定提示与操作建议。 */
|
|
547
|
+
input.onNotice("Codex 执行遇到异常,正在确认任务是否结束。建议暂勿重复提交任务;可用 /status 查看状态,并检查本机 Codex 的登录、模型权限和网络。");
|
|
548
|
+
errorTimer = setTimeout(() => fail("Codex 报告错误后未确认任务终态,后台任务可能仍在运行。"), 5_000);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
510
551
|
else if (message.method === "serverRequest/resolved") {
|
|
511
552
|
const event = z
|
|
512
553
|
.object({ threadId: z.string(), requestId: z.union([z.string(), z.number()]) })
|
|
@@ -641,8 +682,8 @@ export async function createCodexAgent(command = "codex") {
|
|
|
641
682
|
text: event.turn.status === "completed"
|
|
642
683
|
? ""
|
|
643
684
|
: event.turn.status === "failed"
|
|
644
|
-
? "Codex
|
|
645
|
-
: "
|
|
685
|
+
? "Codex 执行失败。建议用 /last 查看最后输出;检查本机 Codex 的登录、模型权限和网络,排除问题后再发送继续要求。"
|
|
686
|
+
: "Codex 会话已中断,已有文件改动未回滚。",
|
|
646
687
|
});
|
|
647
688
|
}
|
|
648
689
|
}
|
|
@@ -863,6 +904,7 @@ export async function createCodexAgent(command = "codex") {
|
|
|
863
904
|
clearTimeout(interaction.timer);
|
|
864
905
|
interactions.clear();
|
|
865
906
|
clearTimeout(stopTimer);
|
|
907
|
+
clearTimeout(errorTimer);
|
|
866
908
|
rpc.close();
|
|
867
909
|
active = undefined;
|
|
868
910
|
}
|
package/dist/agents/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAEL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAqB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE,qDAAqD;AACrD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;CACrE,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CACvC,CAAC;KACD,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC;SACxE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;CAC3B,CAAC,CAAC,CAAC;AAEN,8CAA8C;AAC9C,MAAM,eAAe,GAAG;IACtB;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE;KAChG;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE;YACN,OAAO,EAAE,iBAAiB;YAC1B,cAAc,EAAE,YAAY;YAC5B,iBAAiB,EAAE,aAAa;SACjC;KACF;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE;KAC9F;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE;KAC1F;CACO,CAAC;AAEX,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACtD,yCAAyC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAC3C,sRAAsR,CAAC,IAAI,CACzR,GAAG,CACJ,CACF,CACF,CAAC;IACF,4DAA4D;IAC5D,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QACnE,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/F,IAAI,MAAmC,CAAC;IACxC,wCAAwC;IACxC,IAAI,KAAiC,CAAC;IACtC,IAAI,OAAqC,CAAC;IAE1C,wCAAwC;IACxC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,MAAmB;QAC3D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;gBAClE,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,gBAAgB,EAAE;oBACjD,gBAAgB,EAAE,GAAG,EAAE,CACrB,OAAO,CACL,IAAI,CACF,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAC3C,oBAAoB,EACpB,yBAAyB,CAC1B,CACF;oBACH,gBAAgB,EAAE,KAAK;oBACvB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,6BAA6B;gBAC7B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBAC3B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,UAAU,CAAC,SAAS,EAAE,CAAC;oBACvB,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,mDAAmD;gBACnD,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;oBACxE,GAAG;oBACH,GAAG;oBACH,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,SAAS;oBACpB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,oCAAoC;IACpC,KAAK,UAAU,qBAAqB,CAClC,GAAW,EACX,MAAmB,EACnB,MAA8D;QAE9D,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,MAAmB,EAAE,aAAa,GAAG,KAAK;QAClF,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,gCAAgC;QAChC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,aAAa;gBAC1B,CAAC,CAAC,CAAC;qBACE,MAAM,CAAC;oBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBAClC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;qBACpD,CAAC;iBACH,CAAC;qBACD,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM;gBAClF,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAiB,EAAE,CAAC;YAChC,IAAI,YAAgC,CAAC;YACrC,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,GAAG,CAAC;gBACF,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,CAAC;qBACX,MAAM,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,KAAK,CACX,CAAC,CAAC,MAAM,CAAC;wBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;wBACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;wBACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;wBACtB,yBAAyB,EAAE,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,MAAM,CAAC;4BACP,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;4BAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;yBACxB,CAAC,CACH;wBACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC1C,CAAC,CACH;oBACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAClC,CAAC;qBACD,KAAK,CACJ,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CACtF,CAAC;gBACJ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,KAAK,CAAC,SAAS;wBAAE,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;oBAChD,IACE,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;wBAChC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC;wBAEnD,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,KAAK,CAAC,KAAK;4BACf,KAAK,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK;4BACvC,gBAAgB,EAAE,KAAK,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gCACjE,EAAE,EAAE,MAAM,CAAC,eAAe;gCAC1B,KAAK,EAAE,MAAM,CAAC,WAAW;6BAC1B,CAAC,CAAC;4BACH,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;yBACrD,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3B,CAAC,QAAQ,MAAM,EAAE;YACjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QACjD,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM;YAC5B,OAAO,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtD,MAAM,QAAQ,GAAkB,EAAE,CAAC;gBACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;gBACjC,GAAG,CAAC;oBACF,MAAM,IAAI,GAAG,CAAC;yBACX,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;yBAC3E,KAAK,CACJ,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE;wBAC/B,GAAG;wBACH,MAAM;wBACN,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,YAAY;wBACrB,cAAc,EAAE,EAAE;wBAClB,+CAA+C;wBAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;wBAC9D,QAAQ,EAAE,KAAK;qBAChB,CAAC,CACH,CAAC;oBACJ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI;wBAC7B,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;4BACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC5D,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC3B,CAAC,QAAQ,MAAM,EAAE;gBACjB,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM;YAC/B,OAAO,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,CAC1D,CAAC;gBACF,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACjE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAC1D,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE;oBAChC,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,cAAc,CAAC,MAAM;oBACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,SAAS,EAAE,KAAK;iBACjB,CAAC,CACH,CAAC;gBACF,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;oBACtD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,qCAAqC;gBACrC,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE;oBACnC,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,aAAa;iBACzC,CAAC,CAAC;gBACH,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM;YACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACxE,CAAC;iBACE,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;iBACjC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACpE,CAAC,KAAK,CAAC,GAAG,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;gBAC/C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;YAC1B,OAAO,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM;YACxC,qCAAqC;YACrC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAChF,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,YAAY,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM,eAAe,GACnB,SAAS,CAAC,eAAe;gBACzB,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,sBAAsB,CAAC;YAChC,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAClF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,KAAK;YACb,IAAI,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,GAAG,UAAU,CAAC;YACpB,IAAI,MAA6B,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,SAAS,CAAC;gBACnB,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAC3B,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;wBAC9C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,KAAK,CAAC,KAAK;4BACX,CAAC,CAAC;gCACE,MAAM,EAAE,aAAa;gCACrB,IAAI,EAAE,0DAA0D;6BACjE;4BACH,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;gBACpE,OAAO;oBACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;oBAC9C,IAAI,EAAE,wIAAwI;iBAC/I,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAA2B,CAAC;YACnE,wCAAwC;YACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC3C,kDAAkD;YAClD,MAAM,YAAY,GAAG,IAAI,GAAG,EAUzB,CAAC;YACJ,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;YAChD,yCAAyC;YACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6C,CAAC;YACzE,uCAAuC;YACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;YACzC,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;YAC7C,IAAI,KAAyB,CAAC;YAC9B,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,0CAA0C;YAC1C,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAChC,IAAI,SAAoD,CAAC;YAEzD,kCAAkC;YAClC,SAAS,MAAM,CAAC,MAAoB;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE;oBAAE,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjF,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,SAAS,CAAC,OAAO,CACf,MAAM;oBACJ,CAAC,CAAC;wBACE,GAAG,MAAM;wBACT,IAAI,EACF,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;4BAC1D,qCAAqC;qBACxC;oBACH,CAAC,CAAC,SAAS,CACd,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,SAAS,YAAY;gBACnB,OAAO,CAAC,GAAG,QAAQ,CAAC;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAClB;oBACE,IAAI;oBACJ,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAChC,CAAC,MAAM,EAAE,EAAE,CACT,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CACrH;iBACF;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,MAAM,CAAC,CAChB;qBACA,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAED,kCAAkC;YAClC,SAAS,IAAI,CAAC,IAAY;gBACxB,IAAI,OAAO;oBAAE,OAAO;gBACpB,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChB,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YAED,wCAAwC;YACxC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,MAAgB;gBACrD,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,KAAK,gBAAgB;oBAC1D,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnC,IAAI,CAAC;oBACH,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC1F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uCAAuC;oBACvC,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;wBAClE,MAAM,IAAI,KAAK,CACb,MAAM,KAAK,eAAe;4BACxB,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK;4BACrB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC;4BACtD,CAAC,CAAC,2FAA2F;4BAC7F,CAAC,CAAC,MAAM,KAAK,YAAY;gCACvB,CAAC,CAAC,yBAAyB,KAAK,CAAC,IAAI,iDAAiD;gCACtF,CAAC,CAAC,SAAS,MAAM,cAAc,KAAK,CAAC,IAAI,8BAA8B,CAC5E,CAAC;oBACJ,IAAI,MAAM,KAAK,YAAY;wBACzB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;oBACJ,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,SAAS,SAAS,CAAC,EAAU;gBAC3B,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE;oBAAE,OAAO,KAAK,CAAC;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,CAAC;oBACX,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAChC,OAAO,EACP,GAAG,EAAE;gBACH,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE;oBAAE,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjF,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC9C,MAAM,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;oBAC5D,OAAO;gBACT,CAAC;gBACD,SAAS,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,yEAAyE,CAAC,EACrF,KAAK,CACN,CAAC;gBACF,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;oBACvB,KAAK,OAAO,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAChF,GAAG,CAAC,KAAK,EAAE,CACZ,CAAC;gBACJ,CAAC;;oBAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;YACF,kCAAkC;YAClC,SAAS,OAAO;gBACd,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,UAAU;oBAC1C,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO;oBACV,IAAI,CAAC,yEAAyE,CAAC,CAAC;;oBAC7E,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YAED,2CAA2C;YAC3C,SAAS,eAAe,CAAC,OAAqB;gBAC5C,MAAM,MAAM,GAAG,qBAAqB,CAClC,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,OAAO,CAAC,MAAM,EACd,KAAK,CAAC,GAAG,EACT,WAAW,CACZ,CAAC;gBACF,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;oBACtB,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;wBAChD,GAAG,CAAC,KAAK,CAAC;4BACR,EAAE,EAAE,OAAO,CAAC,EAAE;4BACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,iCAAiC,EAAE;yBACpE,CAAC,CAAC;oBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAChD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC1C,GAAG,MAAM,CAAC,OAAO;wBACjB,EAAE,EAAE,UAAU,EAAE;wBAChB,SAAS,EAAE,CAAC,QAAQ,CAAC;qBACtB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrB,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;wBAC7B,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BAAE,SAAS;wBACvF,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,SAAS;4BAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC/E,CAAC;oBACD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE;wBAC/B,GAAG,MAAM;wBACT,OAAO,EAAE,WAAW;wBACpB,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;wBAC7B,KAAK,EACH,WAAW,CAAC,SAAS,KAAK,IAAI;4BAC5B,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU,CACR,GAAG,EAAE;gCACH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gCACjD,IAAI,CAAC,OAAO;oCAAE,OAAO;gCACrB,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACzB,IAAI,CAAC,+CAA+C,CAAC,CAAC;gCACxD,CAAC;qCAAM,CAAC;oCACN,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oCACpC,qCAAqC;oCACrC,IAAI,CAAC;wCACH,KAAK,CAAC,mBAAmB,CACvB,WAAW,CAAC,EAAE,EACd,mCAAmC,CACpC,CAAC;wCACF,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI;4CAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oCAClE,CAAC;oCAAC,MAAM,CAAC;wCACP,IAAI,CAAC,uDAAuD,CAAC,CAAC;oCAChE,CAAC;gCACH,CAAC;4BACH,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAChD;qBACR,CAAC,CAAC;oBACH,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,SAAS,SAAS,CAAC,OAAqB;gBACtC,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,CAAC;oBACH,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC7B,IAAI,UAAU,EAAE,CAAC;4BACf,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC5B,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;4BACnD,IAAI,gBAAgB,GAAG,SAAS;gCAC9B,OAAO,IAAI,CAAC,+CAA+C,CAAC,CAAC;wBACjE,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC/C,sCAAsC;wBACtC,MAAM,OAAO,GAAG,CAAC;6BACd,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;6BAC/D,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7B,IACE,CAAC,OAAO,CAAC,OAAO;4BAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;4BACnC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;4BAEpE,OAAO;wBACT,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BAAE,OAAO;wBACtE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAC7B,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;wBACvD,MAAM,KAAK,GAAG,CAAC;6BACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;6BAC9E,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;4BAAE,OAAO;wBACzC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBAClC,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;4BAC7C,IAAI,WAAW,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;gCAAE,SAAS;4BACxD,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BAChC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BACxB,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,8BAA8B,EAAE,CAAC;wBAC7D,MAAM,KAAK,GAAG,CAAC;6BACZ,MAAM,CAAC;4BACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;4BACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BAClB,OAAO,EAAE,iBAAiB;yBAC3B,CAAC;6BACD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;4BAC3D,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;4BAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gCAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;4BAC5E,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;wBACxD,MAAM,KAAK,GAAG,CAAC;6BACZ,MAAM,CAAC;4BACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;4BACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;yBAClB,CAAC;6BACD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;4BAAE,OAAO;wBACrE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7E,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC/B,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBACpF,MAAM,KAAK,GAAG,CAAC;6BACZ,MAAM,CAAC;4BACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;4BACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;4BAClB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gCACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gCAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;gCACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gCAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gCAC7B,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gCACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;gCAC9B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;gCACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;6BAChC,CAAC;yBACH,CAAC;6BACD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;4BAAE,OAAO;wBACrE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACrC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO;gCAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC3E,QAAQ,CAAC,GAAG,CACV,KAAK,CAAC,IAAI,CAAC,EAAE,EACb,eAAe,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE,CAAC;4BACF,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;wBAC/B,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BACxE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7C,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;wBAC/B,CAAC;wBACD,IACE,OAAO,CAAC,MAAM,KAAK,gBAAgB;4BACnC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;4BAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO;4BAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;4BAC5B,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;4BAE1B,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC3B,sCAAsC;wBACtC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;4BACtC,KAAK,MAAM,OAAO,IAAI,CAAC;iCACpB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;iCAClE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;oCAAE,SAAS;gCACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI;oCACxB,EAAE,IAAI,EAAE;qCACP,KAAK,CACJ,0FAA0F,CAC3F,CAAC;gCACJ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oCAAE,SAAS;gCAC1B,IAAI,OAAqC,CAAC;gCAC1C,IAAI,CAAC;oCACH,OAAO,GAAG,CAAC;yCACR,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;yCAC1E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjC,CAAC;gCAAC,MAAM,CAAC;oCACP,gCAAgC;oCAChC,SAAS;gCACX,CAAC;gCACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oCAC7B,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oCACzC,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;wCAC7C,IACE,WAAW,CAAC,SAAS,KAAK,IAAI;4CAC9B,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CACjC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,cAAc,CACpD;4CAED,SAAS;wCACX,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wCAChC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wCACxB,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;oCAC/D,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBACpF,MAAM,KAAK,GAAG,CAAC;6BACZ,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;6BAClD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;4BAAE,OAAO;wBACtE,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;4BACxC,MAAM,CAAC;gCACL,MAAM,EACJ,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;oCAC/B,CAAC,CAAC,WAAW;oCACb,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;wCAC9B,CAAC,CAAC,QAAQ;wCACV,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,mBAAmB;4CAChD,CAAC,CAAC,WAAW;4CACb,CAAC,CAAC,aAAa;gCACvB,IAAI,EACF,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;oCAC/B,CAAC,CAAC,EAAE;oCACJ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;wCAC9B,CAAC,CAAC,8DAA8D;wCAChE,CAAC,CAAC,mDAAmD;6BAC5D,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CACF,uFAAuF,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAE5E,KAAK,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;gBACpC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAC9D,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBACjF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CACrD,MAAM,OAAO,CAAC,YAAY,EAAE;oBAC1B,QAAQ,EAAE,SAAS;oBACnB,cAAc,EAAE,KAAK;oBACrB,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC;iBAC7C,CAAC,CACH,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,6DAA6D,CAAC,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC,CAAC;YAEF,OAAO,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;gBAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,IACE,CAAC,WAAW;oBACZ,OAAO;oBACP,UAAU,CAAC,MAAM,CAAC,OAAO;oBACzB,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEvF,OAAO,KAAK,CAAC;gBACf,MAAM,QAAQ,GACZ,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC5C,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBACvD,IACE,QAAQ,CAAC,QAAQ;wBACjB,WAAW,CAAC,UAAU;wBACtB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BAC5D,WAAW,CAAC,UAAU,CAAC,OAAO,EAChC,CAAC;wBACD,IAAI,CAAC,gDAAgD,CAAC,CAAC;wBACvD,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;qBAAM,IACL,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;oBAC3E,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;wBACpD,OAAO,CACL,MAAM,EAAE,MAAM,KAAK,CAAC;4BACpB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;4BAClB,CAAC,CAAC,QAAQ,CAAC,SAAS;gCAClB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;oBACJ,CAAC,CAAC;oBAEF,OAAO,KAAK,CAAC;gBACf,uCAAuC;gBACvC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,WAAW,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;oBACnC,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK;wBAAE,OAAO,KAAK,CAAC;oBACnD,qCAAqC;oBACrC,IAAI,CAAC;wBACH,MAAM,KAAK,CACT,uCAAuC,IAAI,CAAC,SAAS,CACnD,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAC/C,cAAc,EAAE,QAAQ,CAAC,EAAE;4BAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;yBAChD,CAAC,CAAC,CACJ,uCAAuC,CACzC,CAAC;wBACF,OAAO,IAAI,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,IAAI,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBAAE,mBAAmB,GAAG,IAAI,CAAC;gBACvE,GAAG,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,WAAW,CAAC,SAAS;oBACzB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAC3B,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;wBAC9C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,KAAK,CAAC,KAAK;4BACX,CAAC,CAAC;gCACE,MAAM,EAAE,aAAa;gCACrB,IAAI,EAAE,0DAA0D;6BACjE;4BACH,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;gBAClE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,SAAS,CAAC,CAC1D,CAAC;gBACF,IAAI,CAAC,cAAc;oBACjB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;gBACJ,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACrF,oCAAoC;oBACpC,MAAM,OAAO,GAAG,CAAC;yBACd,MAAM,CAAC;wBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;qBAC7E,CAAC;yBACD,KAAK,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtF,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS;wBACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;oBACjF,IAAI,MAAM,GAAkB,IAAI,CAAC;oBACjC,GAAG,CAAC;wBACF,MAAM,IAAI,GAAG,CAAC;6BACX,MAAM,CAAC;4BACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;yBAClC,CAAC;6BACD,KAAK,CACJ,MAAM,OAAO,CAAC,mBAAmB,EAAE;4BACjC,QAAQ,EAAE,SAAS;4BACnB,KAAK,EAAE,CAAC;4BACR,SAAS,EAAE,MAAM;4BACjB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC9B,CAAC,CACH,CAAC;wBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC/D,IAAI,IAAI,EAAE,CAAC;4BACT,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gCACzE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;4BAC9E,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACnB,oCAAoC;4BACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gCAC3B,SAAS,CAAC;oCACR,MAAM,EAAE,gBAAgB;oCACxB,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE;iCACvD,CAAC,CAAC;4BACL,KAAK,MAAM,OAAO,IAAI,aAAa;gCACjC,IAAI,OAAO,CAAC,MAAM,KAAK,yBAAyB;oCAAE,SAAS,CAAC,OAAO,CAAC,CAAC;4BACvE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;4BACzB,gBAAgB,GAAG,CAAC,CAAC;4BACrB,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY;gCAC9B,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;4BACjF,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC;wBACjC,CAAC;wBACD,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC3B,CAAC,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC/C,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,0CAA0C;oBAC1C,MAAM,OAAO,GAAG,CAAC;yBACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;yBACxE,KAAK,CAAC,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC7D,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;gBACN,CAAC;gBACD,MAAM,QAAQ,GAAG,CAAC;qBACf,MAAM,CAAC;oBACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;wBACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBACrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;qBACvC,CAAC;oBACF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC3B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;oBAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;qBACpF,CAAC;oBACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB,CAAC;qBACD,KAAK,CACJ,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,EAAE;oBAChE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,GAAG,cAAc,CAAC,MAAM;oBACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C,CAAC,CACH,CAAC;gBACJ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBACxC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAClF,gCAAgC;gBAChC,IAAI,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;oBAC/C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC3F,qCAAqC;gBACrC,IACE,QAAQ,CAAC,cAAc,KAAK,cAAc,CAAC,MAAM,CAAC,cAAc;oBAChE,QAAQ,CAAC,iBAAiB,KAAK,cAAc,CAAC,MAAM,CAAC,iBAAiB;oBACtE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC7E,cAAc,CAAC,MAAM,CAAC,OAAO;oBAE/B,MAAM,IAAI,KAAK,CACb,uHAAuH,CACxH,CAAC;gBACJ,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAC3B,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;wBAC9C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;gBAChE,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjC,OAAO,CAAC,YAAY,EAAE;wBACpB,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;wBACxD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpE,CAAC;oBACF,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBACnC,CAAC,CAAC;gBACH,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjE,KAAK,MAAM,OAAO,IAAI,aAAa;wBAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBACxD,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;oBACzB,gBAAgB,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO;oBACV,MAAM,CAAC;wBACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;wBACvF,IAAI,EACF,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAC1D,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,2CAA2C;qBAClD,CAAC,CAAC;gBACL,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC;YACjC,CAAC;oBAAS,CAAC;gBACT,KAAK,GAAG,SAAS,CAAC;gBAClB,OAAO,GAAG,SAAS,CAAC;gBACpB,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE;oBAAE,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACjF,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;QACD,qCAAqC;QACrC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM;YACtB,OAAO,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;QACxC,CAAC;QACD,8CAA8C;QAC9C,KAAK,CAAC,MAAM,EAAE,WAAW;YACvB,IAAI,CAAC,KAAK;gBACR,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAC3E,CAAC;YACJ,OAAO,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,wCAAwC;QACxC,UAAU;YACR,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9B,CAAC;QACD,+BAA+B;QAC/B,IAAI;YACF,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/core/relay.js
CHANGED
|
@@ -9,7 +9,7 @@ export function createRelayService(options) {
|
|
|
9
9
|
let inputPreparation;
|
|
10
10
|
/** 菜单查询独立于任务,关停时取消查询并等待退出后再关闭存储。 */
|
|
11
11
|
const modelLoading = new AbortController();
|
|
12
|
-
/**
|
|
12
|
+
/** 状态与会话请求立即执行;工作循环统一接收结果并等待退出。 */
|
|
13
13
|
const controlQueries = [];
|
|
14
14
|
/** 会话变更确认前暂缓新任务,避免接口等待期间把消息发往旧会话。 */
|
|
15
15
|
let changingSession = false;
|
|
@@ -45,15 +45,53 @@ export function createRelayService(options) {
|
|
|
45
45
|
if (changingSession &&
|
|
46
46
|
(message.content.type === "text" ||
|
|
47
47
|
message.content.type === "attachments" ||
|
|
48
|
+
message.content.type === "session" ||
|
|
48
49
|
(message.content.type === "command" &&
|
|
49
|
-
(["new", "
|
|
50
|
+
(["new", "list", "update"].includes(message.content.name) ||
|
|
50
51
|
(message.content.name === "cwd" && message.content.args)))))
|
|
51
52
|
return "Session change in progress. Wait for confirmation, then resend your message.";
|
|
53
|
+
/** 新建命令和会话按钮共用切换保护,仅在接口确认后保存选择。 */
|
|
54
|
+
if (message.content.type === "session" ||
|
|
55
|
+
(message.content.type === "command" && message.content.name === "new")) {
|
|
56
|
+
if (task)
|
|
57
|
+
return "Wait for the task to finish, or use /stop first.";
|
|
58
|
+
const { content } = message;
|
|
59
|
+
const snapshot = structuredClone(channel);
|
|
60
|
+
controlQuery = async () => {
|
|
61
|
+
changingSession = true;
|
|
62
|
+
let session;
|
|
63
|
+
try {
|
|
64
|
+
session =
|
|
65
|
+
content.type === "command"
|
|
66
|
+
? await options.agent.createSession({
|
|
67
|
+
cwd: snapshot.cwd,
|
|
68
|
+
name: content.args,
|
|
69
|
+
model: snapshot.model,
|
|
70
|
+
permissionMode: snapshot.permissionMode,
|
|
71
|
+
}, modelLoading.signal)
|
|
72
|
+
: await options.agent.readSession(snapshot.cwd, content.id, modelLoading.signal);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (!stopping)
|
|
76
|
+
options.store.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
|
|
77
|
+
? error.message
|
|
78
|
+
: "Cannot change sessions. Current session unchanged. Check /list before retrying.");
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
changingSession = false;
|
|
83
|
+
}
|
|
84
|
+
/** 接口成功后才更新绑定;存储错误交给工作循环处理。 */
|
|
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}`);
|
|
87
|
+
};
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
52
90
|
if (message.content.type === "command") {
|
|
53
91
|
switch (message.content.name) {
|
|
54
92
|
case "start":
|
|
55
93
|
case "help":
|
|
56
|
-
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 —
|
|
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/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.";
|
|
57
95
|
case "cron":
|
|
58
96
|
return options.store.handleCron(channel.id, message.content.args);
|
|
59
97
|
case "model":
|
|
@@ -161,50 +199,15 @@ export function createRelayService(options) {
|
|
|
161
199
|
return;
|
|
162
200
|
}
|
|
163
201
|
if (!stopping)
|
|
164
|
-
options.store.reply(snapshot.id,
|
|
165
|
-
?
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
case "switch": {
|
|
174
|
-
if (task)
|
|
175
|
-
return "Wait for the task to finish, or use /stop first.";
|
|
176
|
-
const { name, args } = message.content;
|
|
177
|
-
if (name === "switch" && (!args || /\s/u.test(args)))
|
|
178
|
-
return "Use /switch <full session ID>. Find the ID with /list.";
|
|
179
|
-
const snapshot = structuredClone(channel);
|
|
180
|
-
changingSession = true;
|
|
181
|
-
controlQuery = async () => {
|
|
182
|
-
try {
|
|
183
|
-
let session;
|
|
184
|
-
try {
|
|
185
|
-
session =
|
|
186
|
-
name === "new"
|
|
187
|
-
? await options.agent.createSession({
|
|
188
|
-
cwd: snapshot.cwd,
|
|
189
|
-
name: args,
|
|
190
|
-
model: snapshot.model,
|
|
191
|
-
permissionMode: snapshot.permissionMode,
|
|
192
|
-
}, modelLoading.signal)
|
|
193
|
-
: await options.agent.readSession(snapshot.cwd, args, modelLoading.signal);
|
|
194
|
-
}
|
|
195
|
-
catch (error) {
|
|
196
|
-
if (!stopping)
|
|
197
|
-
options.store.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
|
|
198
|
-
? error.message
|
|
199
|
-
: "Cannot change sessions. Current session unchanged. Check /list before retrying.");
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
if (!stopping)
|
|
203
|
-
options.store.setSession(snapshot.id, snapshot.cwd, session.id, `${name === "new" ? "New session" : "Switched session"}: ${session.label}\nID: ${session.id}\nDirectory: ${snapshot.cwd}`);
|
|
204
|
-
}
|
|
205
|
-
finally {
|
|
206
|
-
changingSession = false;
|
|
207
|
-
}
|
|
202
|
+
options.store.reply(snapshot.id, sessions.length
|
|
203
|
+
? "Tap a session to switch."
|
|
204
|
+
: "No sessions yet. Create one with /new [name].", {
|
|
205
|
+
/** 当前会话标记与名称一起作为按钮文本。 */
|
|
206
|
+
sessions: sessions.map((session) => ({
|
|
207
|
+
...session,
|
|
208
|
+
label: `${session.id === snapshot.sessionId ? "✓ " : ""}${session.label}`,
|
|
209
|
+
})),
|
|
210
|
+
});
|
|
208
211
|
};
|
|
209
212
|
return;
|
|
210
213
|
}
|
|
@@ -221,9 +224,10 @@ export function createRelayService(options) {
|
|
|
221
224
|
return "Ready for new tasks. Interrupted tasks will not be rerun.";
|
|
222
225
|
case "last": {
|
|
223
226
|
const last = options.store.lastTask(channel.id);
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
+
if (!last)
|
|
228
|
+
return "No tasks yet.";
|
|
229
|
+
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 });
|
|
230
|
+
return;
|
|
227
231
|
}
|
|
228
232
|
default:
|
|
229
233
|
return "Unknown command. See /help.";
|
|
@@ -249,8 +253,12 @@ export function createRelayService(options) {
|
|
|
249
253
|
options.store.createTask(channel, message.content.text, attachments);
|
|
250
254
|
});
|
|
251
255
|
/** 只有入站去重记录保存成功后才执行;重复事件不会重复创建或切换会话。 */
|
|
252
|
-
if (controlQuery)
|
|
253
|
-
|
|
256
|
+
if (controlQuery) {
|
|
257
|
+
const query = controlQuery();
|
|
258
|
+
controlQueries.push(query);
|
|
259
|
+
/** 错误由工作循环等待原 Promise 时传播,提前标记避免未处理拒绝。 */
|
|
260
|
+
void query.catch(() => { });
|
|
261
|
+
}
|
|
254
262
|
/** 只有选择和停止状态落盘后才影响运行时;回调答复不承担提交职责。 */
|
|
255
263
|
if ((message.content.type === "command" && message.content.name === "stop") ||
|
|
256
264
|
(message.content.type === "interaction" && message.content.action === "stop")) {
|
|
@@ -264,26 +272,32 @@ export function createRelayService(options) {
|
|
|
264
272
|
},
|
|
265
273
|
/** 模型、状态和会话请求不占用入站或任务循环,关停后丢弃迟到结果。 */
|
|
266
274
|
async loadModels(source) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
275
|
+
try {
|
|
276
|
+
while (!stopping) {
|
|
277
|
+
const query = controlQueries.shift();
|
|
278
|
+
if (query) {
|
|
279
|
+
await query;
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
const menu = options.store.pendingModels(source);
|
|
283
|
+
if (!menu) {
|
|
284
|
+
await setTimeout(100);
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
let models;
|
|
288
|
+
try {
|
|
289
|
+
models = await options.agent.listModels(menu.cwd, modelLoading.signal);
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
/** 查询失败只提示重新打开菜单,不影响任务和已有选择。 */
|
|
293
|
+
}
|
|
294
|
+
if (!stopping)
|
|
295
|
+
options.store.fillModels(menu.channelId, menu.id, models);
|
|
284
296
|
}
|
|
285
|
-
|
|
286
|
-
|
|
297
|
+
}
|
|
298
|
+
finally {
|
|
299
|
+
modelLoading.abort();
|
|
300
|
+
await Promise.allSettled(controlQueries);
|
|
287
301
|
}
|
|
288
302
|
},
|
|
289
303
|
/** 调度独立于执行和菜单查询;启动先跳过离线时段,再按持久化时间触发。 */
|
|
@@ -363,6 +377,7 @@ export function createRelayService(options) {
|
|
|
363
377
|
options.agent.stop();
|
|
364
378
|
},
|
|
365
379
|
onText: (text) => options.store.setDraft(task.id, text),
|
|
380
|
+
onNotice: (text) => options.store.reply(task.channelId, `Task #${task.id}\n${text}`),
|
|
366
381
|
onInteraction: (request) => options.store.addInteraction(task.id, request),
|
|
367
382
|
onInteractionClosed: (id, reason) => options.store.closeInteraction(id, reason),
|
|
368
383
|
})
|