@keyou007/agent-bot 0.1.13-alpha.0 → 0.1.13-alpha.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/.env.example +2 -2
- package/CHANGELOG.md +15 -0
- package/README.md +107 -98
- package/README.zh.md +81 -72
- package/dist/acp/AcpProcessManager.js +8 -3
- package/dist/acp/AcpProcessManager.js.map +1 -1
- package/dist/acp/AcpSessionManager.js +15 -0
- package/dist/acp/AcpSessionManager.js.map +1 -1
- package/dist/cli/ServerStarter.js +17 -2
- package/dist/cli/ServerStarter.js.map +1 -1
- package/dist/cli/controlProtocol.js.map +1 -1
- package/dist/cli/help.js +16 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/serverStatus.js +27 -0
- package/dist/cli/serverStatus.js.map +1 -1
- package/dist/cli/taskListOutput.js +72 -0
- package/dist/cli/taskListOutput.js.map +1 -0
- package/dist/cli.js +88 -54
- package/dist/cli.js.map +1 -1
- package/dist/codex/CodexProcessManager.js +34 -4
- package/dist/codex/CodexProcessManager.js.map +1 -1
- package/dist/codex/CodexRuntime.js +3 -0
- package/dist/codex/CodexRuntime.js.map +1 -1
- package/dist/commands/CommandRouter.js +5 -0
- package/dist/commands/CommandRouter.js.map +1 -1
- package/dist/config/FeishuUserOpenIdStore.js +76 -0
- package/dist/config/FeishuUserOpenIdStore.js.map +1 -0
- package/dist/config/loadConfig.js +3 -0
- package/dist/config/loadConfig.js.map +1 -1
- package/dist/feishu/CardRenderer.js +123 -22
- package/dist/feishu/CardRenderer.js.map +1 -1
- package/dist/feishu/FeishuConnector.js +16 -5
- package/dist/feishu/FeishuConnector.js.map +1 -1
- package/dist/index.js +125 -26
- package/dist/index.js.map +1 -1
- package/dist/presentation/turnGraph.js +36 -0
- package/dist/presentation/turnGraph.js.map +1 -0
- package/dist/proxy/ProxySessionController.js +425 -104
- package/dist/proxy/ProxySessionController.js.map +1 -1
- package/dist/runtime/AcpRuntimeAdapter.js +3 -0
- package/dist/runtime/AcpRuntimeAdapter.js.map +1 -1
- package/dist/runtime/agentEnvironment.js +24 -4
- package/dist/runtime/agentEnvironment.js.map +1 -1
- package/dist/runtime/createAgentRuntimeRegistry.js +7 -3
- package/dist/runtime/createAgentRuntimeRegistry.js.map +1 -1
- package/dist/startup/StartupNotifier.js +16 -7
- package/dist/startup/StartupNotifier.js.map +1 -1
- package/dist/startup/startFeishu.js +2 -2
- package/dist/startup/startFeishu.js.map +1 -1
- package/dist/state/StateStore.js +172 -0
- package/dist/state/StateStore.js.map +1 -1
- package/dist/state/migrations.js +21 -0
- package/dist/state/migrations.js.map +1 -1
- package/dist/supervision/SafeRestartNotifier.js +46 -3
- package/dist/supervision/SafeRestartNotifier.js.map +1 -1
- package/dist/supervision/SafeRestartScheduler.js +65 -6
- package/dist/supervision/SafeRestartScheduler.js.map +1 -1
- package/dist/supervision/replacementSupervisor.js +27 -2
- package/dist/supervision/replacementSupervisor.js.map +1 -1
- package/dist/supervisor.js +27 -2
- package/dist/supervisor.js.map +1 -1
- package/docs/technical-reference.md +20 -7
- package/docs/technical-reference.zh.md +20 -7
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/skills/agent-bot/SKILL.md +63 -26
- package/src/acp/AcpProcessManager.ts +16 -3
- package/src/acp/AcpSessionManager.ts +14 -0
- package/src/cli/ServerStarter.ts +25 -2
- package/src/cli/controlProtocol.ts +6 -1
- package/src/cli/help.ts +16 -4
- package/src/cli/serverStatus.ts +28 -0
- package/src/cli/taskListOutput.ts +91 -0
- package/src/cli.ts +123 -51
- package/src/codex/CodexProcessManager.ts +38 -3
- package/src/codex/CodexRuntime.ts +6 -0
- package/src/commands/CommandRouter.ts +4 -0
- package/src/commands/commandTypes.ts +1 -0
- package/src/config/FeishuUserOpenIdStore.ts +81 -0
- package/src/config/loadConfig.ts +3 -0
- package/src/feishu/CardRenderer.ts +169 -22
- package/src/feishu/FeishuConnector.ts +13 -4
- package/src/index.ts +195 -23
- package/src/presentation/turnGraph.ts +48 -0
- package/src/proxy/ProxySessionController.ts +507 -112
- package/src/runtime/AcpRuntimeAdapter.ts +5 -0
- package/src/runtime/agentEnvironment.ts +41 -3
- package/src/runtime/createAgentRuntimeRegistry.ts +18 -3
- package/src/runtime/types.ts +5 -0
- package/src/startup/StartupNotifier.ts +23 -7
- package/src/startup/startFeishu.ts +3 -2
- package/src/state/StateStore.ts +224 -0
- package/src/state/migrations.ts +21 -0
- package/src/supervision/SafeRestartNotifier.ts +53 -4
- package/src/supervision/SafeRestartScheduler.ts +78 -7
- package/src/supervision/replacementSupervisor.ts +27 -1
- package/src/supervisor.ts +33 -2
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { cliLanguage, cliText } from "./i18n.js";
|
|
2
|
+
export function formatTaskList(sessions, language = cliLanguage, currentThreadIds = []) {
|
|
3
|
+
if (sessions.length === 0)
|
|
4
|
+
return cliText("No tasks.\n", "没有任务。\n", language);
|
|
5
|
+
const current = resolveCurrentTask(sessions, currentThreadIds);
|
|
6
|
+
const currentLocalSessionId = current.status === "found" ? current.session.localSessionId : undefined;
|
|
7
|
+
return sessions.map((session, index) => {
|
|
8
|
+
const title = session.title ?? cliText("Untitled task", "未命名任务", language);
|
|
9
|
+
const current = session.localSessionId === currentLocalSessionId
|
|
10
|
+
? ` [${cliText("Current", "当前任务", language)}]`
|
|
11
|
+
: "";
|
|
12
|
+
const nativeId = nativeTaskIdLabel(session, language);
|
|
13
|
+
return [
|
|
14
|
+
`${index + 1}.${current} [${taskStateLabel(session.status, language)}/${taskStateLabel(session.lastTurnStatus, language)}] ${title}`,
|
|
15
|
+
` ${cliText("Agent: ", "Agent:", language)}${session.agentName} · ${cliText("AgentBot task ID: ", "AgentBot 任务 ID:", language)}${session.localSessionId}`,
|
|
16
|
+
` ${nativeId ? `${nativeId} · ` : ""}${session.contextKey} · ${session.updatedAt}`,
|
|
17
|
+
].join("\n");
|
|
18
|
+
}).join("\n") + "\n";
|
|
19
|
+
}
|
|
20
|
+
export function currentAppServerThreadIds(env) {
|
|
21
|
+
return [...new Set([
|
|
22
|
+
env.CODEX_THREAD_ID?.trim(),
|
|
23
|
+
env.TRAECLI_THREAD_ID?.trim(),
|
|
24
|
+
].filter((value) => Boolean(value)))];
|
|
25
|
+
}
|
|
26
|
+
export function resolveCurrentTask(sessions, currentThreadIds) {
|
|
27
|
+
const threadIds = [...new Set(currentThreadIds.map((value) => value.trim()).filter(Boolean))];
|
|
28
|
+
if (threadIds.length === 0)
|
|
29
|
+
return { status: "missing-thread-id" };
|
|
30
|
+
const candidates = new Set(threadIds);
|
|
31
|
+
const matches = sessions.filter((session) => session.remoteSessionId && candidates.has(session.remoteSessionId));
|
|
32
|
+
if (matches.length === 0)
|
|
33
|
+
return { status: "not-found", threadIds };
|
|
34
|
+
if (matches.length === 1)
|
|
35
|
+
return { status: "found", session: matches[0] };
|
|
36
|
+
const running = matches.filter((session) => session.status === "running" || session.lastTurnStatus === "running");
|
|
37
|
+
if (running.length === 1)
|
|
38
|
+
return { status: "found", session: running[0] };
|
|
39
|
+
return { status: "ambiguous", sessions: matches, threadIds };
|
|
40
|
+
}
|
|
41
|
+
export function taskStateLabel(status, language = cliLanguage) {
|
|
42
|
+
if (!status)
|
|
43
|
+
return "-";
|
|
44
|
+
const chinese = {
|
|
45
|
+
starting: "启动中",
|
|
46
|
+
ready: "就绪",
|
|
47
|
+
running: "运行中",
|
|
48
|
+
closed: "已关闭",
|
|
49
|
+
failed: "失败",
|
|
50
|
+
completed: "已完成",
|
|
51
|
+
cancelled: "已取消",
|
|
52
|
+
interrupted: "已中断",
|
|
53
|
+
inProgress: "进行中",
|
|
54
|
+
active: "活动中",
|
|
55
|
+
idle: "空闲",
|
|
56
|
+
not_loaded: "未加载",
|
|
57
|
+
error: "错误",
|
|
58
|
+
};
|
|
59
|
+
return language === "zh" ? chinese[status] ?? status : status;
|
|
60
|
+
}
|
|
61
|
+
function nativeTaskIdLabel(session, language) {
|
|
62
|
+
if (session.runtimeKind === "acp" || session.acpSessionId) {
|
|
63
|
+
const sessionId = session.acpSessionId ?? session.remoteSessionId;
|
|
64
|
+
return sessionId
|
|
65
|
+
? `${cliText("ACP session ID: ", "ACP Session ID:", language)}${sessionId}`
|
|
66
|
+
: undefined;
|
|
67
|
+
}
|
|
68
|
+
return session.remoteSessionId
|
|
69
|
+
? `${cliText("App Server thread ID: ", "App Server 原生任务 ID(Thread ID):", language)}${session.remoteSessionId}`
|
|
70
|
+
: undefined;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=taskListOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskListOutput.js","sourceRoot":"","sources":["../../src/cli/taskListOutput.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -22,6 +22,8 @@ import { applyExplicitProfile, parseGlobalOptions } from "./cli/profile.js";
|
|
|
22
22
|
import { printVerificationQrAndLink } from "./cli/VerificationOutput.js";
|
|
23
23
|
import { startInitializedServer, startServer, } from "./cli/ServerStarter.js";
|
|
24
24
|
import { taskChatRoute } from "./cli/taskChatRoute.js";
|
|
25
|
+
import { currentAppServerThreadIds, formatTaskList, resolveCurrentTask, taskStateLabel, } from "./cli/taskListOutput.js";
|
|
26
|
+
import { isThreadContextKey } from "./feishu/contextKey.js";
|
|
25
27
|
import { refreshedSystemEnvironment } from "./supervision/systemEnvironment.js";
|
|
26
28
|
import { parseTaskForkGroupOptions, parseTaskNewGroupOptions, } from "./cli/taskGroupOptions.js";
|
|
27
29
|
import { StateStore } from "./state/StateStore.js";
|
|
@@ -289,6 +291,9 @@ async function initializeFeishu(paths, options) {
|
|
|
289
291
|
return {
|
|
290
292
|
status: "skipped",
|
|
291
293
|
...(existing.appId ? { appId: existing.appId } : {}),
|
|
294
|
+
...(existing.appId && existing.appSecret
|
|
295
|
+
? { userOpenIdStatus: existing.userOpenId ? "configured" : "pending" }
|
|
296
|
+
: {}),
|
|
292
297
|
};
|
|
293
298
|
}
|
|
294
299
|
if (!options.json) {
|
|
@@ -345,6 +350,7 @@ async function initializeFeishu(paths, options) {
|
|
|
345
350
|
return {
|
|
346
351
|
status,
|
|
347
352
|
appId: credentials.appId,
|
|
353
|
+
userOpenIdStatus: credentials.userOpenId ? "configured" : "pending",
|
|
348
354
|
configuration,
|
|
349
355
|
};
|
|
350
356
|
}
|
|
@@ -478,12 +484,14 @@ async function serverCommand(input) {
|
|
|
478
484
|
}
|
|
479
485
|
if (action === "restart") {
|
|
480
486
|
const immediate = rest.includes("--immediate") || rest.includes("--force");
|
|
487
|
+
const notificationSessionId = resolveRestartNotificationSessionId(config.storage.sqlitePath, rest);
|
|
481
488
|
const reason = optionValue(rest, "--reason")
|
|
482
489
|
?? (immediate ? "通过 Agent Bot CLI 立即重启" : "通过 Agent Bot CLI 安全重启");
|
|
483
490
|
ensureOk(await sendControlRequest(endpoint, {
|
|
484
491
|
action: "server_restart",
|
|
485
492
|
mode: immediate ? "immediate" : "safe",
|
|
486
493
|
reason,
|
|
494
|
+
notificationSessionId,
|
|
487
495
|
}));
|
|
488
496
|
process.stdout.write(immediate
|
|
489
497
|
? cliText("Immediate restart requested.\n", "已请求立即重启。\n")
|
|
@@ -492,12 +500,45 @@ async function serverCommand(input) {
|
|
|
492
500
|
}
|
|
493
501
|
throw new Error(cliText(`Unknown server command: ${action}`, `未知的 server 命令:${action}`));
|
|
494
502
|
}
|
|
503
|
+
function resolveRestartNotificationSessionId(sqlitePath, args) {
|
|
504
|
+
const store = new StateStore(sqlitePath);
|
|
505
|
+
try {
|
|
506
|
+
const sessions = store.listAllSessions();
|
|
507
|
+
if (args.includes("--task")) {
|
|
508
|
+
const reference = optionValue(args, "--task")?.trim();
|
|
509
|
+
if (!reference || reference.startsWith("--"))
|
|
510
|
+
throw new Error(cliText("server restart --task requires a task number or task ID.", "server restart --task 需要任务序号或任务 ID。"));
|
|
511
|
+
const session = resolveTask(sessions, reference);
|
|
512
|
+
if (isThreadContextKey(session.contextKey)
|
|
513
|
+
&& !store.findLatestMessageIdForSession(session.localSessionId, session.contextKey)
|
|
514
|
+
&& !store.findLatestMessageIdForContext(session.contextKey)) {
|
|
515
|
+
throw new Error(cliText("The task topic has no message anchor for restart notifications. Send /restart in that topic instead.", "该任务话题没有可用于重启通知的消息锚点,请直接在该话题中发送 /restart。"));
|
|
516
|
+
}
|
|
517
|
+
return session.localSessionId;
|
|
518
|
+
}
|
|
519
|
+
const runningContexts = new Set(sessions.filter((session) => session.status === "running").map((session) => session.contextKey));
|
|
520
|
+
if (runningContexts.size > 1)
|
|
521
|
+
throw new Error(cliText("Multiple conversations are running. Pass --task <task> so restart notifications return to the requester.", "当前有多个会话正在运行。请传入 --task <任务>,确保重启通知返回发起会话。"));
|
|
522
|
+
return undefined;
|
|
523
|
+
}
|
|
524
|
+
finally {
|
|
525
|
+
store.close();
|
|
526
|
+
}
|
|
527
|
+
}
|
|
495
528
|
async function taskCommand(input) {
|
|
496
529
|
const [action = "list", ...rest] = input;
|
|
497
530
|
const config = loadConfig();
|
|
498
531
|
const store = new StateStore(config.storage.sqlitePath);
|
|
499
532
|
try {
|
|
500
533
|
const allSessions = store.listAllSessions();
|
|
534
|
+
if (action === "current") {
|
|
535
|
+
const unsupported = rest.filter((value) => value !== "--json");
|
|
536
|
+
if (unsupported.length > 0)
|
|
537
|
+
throw new Error(cliText(`task current does not accept arguments: ${unsupported.join(" ")}`, `task current 不接受这些参数:${unsupported.join(" ")}`));
|
|
538
|
+
const session = resolveCurrentTaskFromEnvironment(allSessions);
|
|
539
|
+
await outputTaskStatus(config.storage.sqlitePath, store, session, rest.includes("--json"));
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
501
542
|
if (action === "prompt" || action === "send") {
|
|
502
543
|
const [reference, ...promptParts] = rest;
|
|
503
544
|
if (!reference)
|
|
@@ -579,31 +620,7 @@ async function taskCommand(input) {
|
|
|
579
620
|
return;
|
|
580
621
|
}
|
|
581
622
|
if (action === "status") {
|
|
582
|
-
|
|
583
|
-
let live;
|
|
584
|
-
let response;
|
|
585
|
-
try {
|
|
586
|
-
response = await sendControlRequest(endpoint, {
|
|
587
|
-
action: "task_status",
|
|
588
|
-
localSessionId: session.localSessionId,
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
catch {
|
|
592
|
-
// The server can be stopped or still run an older control protocol
|
|
593
|
-
// while a safe restart is pending. Preserve the local read-only fallback.
|
|
594
|
-
}
|
|
595
|
-
if (response) {
|
|
596
|
-
ensureOk(response);
|
|
597
|
-
live = response.data;
|
|
598
|
-
}
|
|
599
|
-
const statusSession = live?.session ?? session;
|
|
600
|
-
const snapshot = live?.snapshot
|
|
601
|
-
?? (statusSession.lastTurnId ? store.getTurnSnapshot(statusSession.lastTurnId) : undefined);
|
|
602
|
-
const result = { ...statusSession, snapshot, ...(live?.remote ? { remote: live.remote } : {}) };
|
|
603
|
-
if (rest.includes("--json"))
|
|
604
|
-
printJson(result);
|
|
605
|
-
else
|
|
606
|
-
printTaskStatus(statusSession, snapshot, live?.remote);
|
|
623
|
+
await outputTaskStatus(config.storage.sqlitePath, store, session, rest.includes("--json"));
|
|
607
624
|
return;
|
|
608
625
|
}
|
|
609
626
|
const endpoint = controlEndpoint(config.storage.sqlitePath);
|
|
@@ -633,6 +650,43 @@ async function taskCommand(input) {
|
|
|
633
650
|
store.close();
|
|
634
651
|
}
|
|
635
652
|
}
|
|
653
|
+
function resolveCurrentTaskFromEnvironment(sessions) {
|
|
654
|
+
const resolution = resolveCurrentTask(sessions, currentAppServerThreadIds(process.env));
|
|
655
|
+
if (resolution.status === "found")
|
|
656
|
+
return resolution.session;
|
|
657
|
+
if (resolution.status === "missing-thread-id")
|
|
658
|
+
throw new Error(cliText("The current task cannot be detected because neither CODEX_THREAD_ID nor TRAECLI_THREAD_ID is set. Run this command from a Codex or TraeX task.", "无法检测当前任务:CODEX_THREAD_ID 和 TRAECLI_THREAD_ID 均未设置。请从 Codex 或 TraeX 任务中运行此命令。"));
|
|
659
|
+
if (resolution.status === "not-found")
|
|
660
|
+
throw new Error(cliText(`No AgentBot task matches the current App Server Thread ID (${resolution.threadIds.join(", ")}). Check that the correct Profile is selected.`, `没有 AgentBot 任务匹配当前 App Server Thread ID(${resolution.threadIds.join(",")})。请检查是否选择了正确的 Profile。`));
|
|
661
|
+
throw new Error(cliText("The current task is ambiguous because multiple injected Thread IDs match AgentBot tasks. Use task status <task> with an explicit AgentBot task ID.", "当前任务存在歧义:多个注入的 Thread ID 匹配到了 AgentBot 任务。请使用明确的 AgentBot 任务 ID 执行 task status <任务>。"));
|
|
662
|
+
}
|
|
663
|
+
async function outputTaskStatus(sqlitePath, store, session, json) {
|
|
664
|
+
const endpoint = controlEndpoint(sqlitePath);
|
|
665
|
+
let live;
|
|
666
|
+
let response;
|
|
667
|
+
try {
|
|
668
|
+
response = await sendControlRequest(endpoint, {
|
|
669
|
+
action: "task_status",
|
|
670
|
+
localSessionId: session.localSessionId,
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
catch {
|
|
674
|
+
// The server can be stopped or still run an older control protocol
|
|
675
|
+
// while a safe restart is pending. Preserve the local read-only fallback.
|
|
676
|
+
}
|
|
677
|
+
if (response) {
|
|
678
|
+
ensureOk(response);
|
|
679
|
+
live = response.data;
|
|
680
|
+
}
|
|
681
|
+
const statusSession = live?.session ?? session;
|
|
682
|
+
const snapshot = live?.snapshot
|
|
683
|
+
?? (statusSession.lastTurnId ? store.getTurnSnapshot(statusSession.lastTurnId) : undefined);
|
|
684
|
+
const result = { ...statusSession, snapshot, ...(live?.remote ? { remote: live.remote } : {}) };
|
|
685
|
+
if (json)
|
|
686
|
+
printJson(result);
|
|
687
|
+
else
|
|
688
|
+
printTaskStatus(statusSession, snapshot, live?.remote);
|
|
689
|
+
}
|
|
636
690
|
function filterSessions(sessions, args) {
|
|
637
691
|
const context = optionValue(args, "--context");
|
|
638
692
|
const status = optionValue(args, "--status");
|
|
@@ -660,18 +714,11 @@ function resolveTask(sessions, reference) {
|
|
|
660
714
|
throw new Error(cliText(`Task not found: ${reference}`, `未找到任务:${reference}`));
|
|
661
715
|
}
|
|
662
716
|
function printTaskList(sessions) {
|
|
663
|
-
|
|
664
|
-
process.stdout.write(cliText("No tasks.\n", "没有任务。\n"));
|
|
665
|
-
return;
|
|
666
|
-
}
|
|
667
|
-
for (const [index, session] of sessions.entries()) {
|
|
668
|
-
const id = session.remoteSessionId ?? session.acpSessionId ?? session.localSessionId;
|
|
669
|
-
process.stdout.write(`${index + 1}. [${taskStateLabel(session.status)}/${taskStateLabel(session.lastTurnStatus)}] ${session.title ?? cliText("Untitled task", "未命名任务")}\n`);
|
|
670
|
-
process.stdout.write(` ${id} · ${session.contextKey} · ${session.updatedAt}\n`);
|
|
671
|
-
}
|
|
717
|
+
process.stdout.write(formatTaskList(sessions, cliLanguage, currentAppServerThreadIds(process.env)));
|
|
672
718
|
}
|
|
673
719
|
function printTaskStatus(session, snapshot, remote) {
|
|
674
720
|
process.stdout.write(`${cliText("Title: ", "标题:")}${session.title ?? cliText("Untitled task", "未命名任务")}\n`);
|
|
721
|
+
process.stdout.write(`${cliText("Agent: ", "Agent:")}${session.agentName}\n`);
|
|
675
722
|
process.stdout.write(`${cliText("Task ID: ", "任务 ID:")}${session.remoteSessionId ?? session.acpSessionId ?? session.localSessionId}\n`);
|
|
676
723
|
process.stdout.write(`${cliText("Local ID: ", "本地 ID:")}${session.localSessionId}\n`);
|
|
677
724
|
process.stdout.write(`${cliText("Context: ", "上下文:")}${session.contextKey}\n`);
|
|
@@ -737,6 +784,9 @@ function printInitializationResult(result) {
|
|
|
737
784
|
else {
|
|
738
785
|
process.stdout.write(cliText("Lark app: skipped; use Console mode or run init again later.\n", "飞书应用:已跳过;请使用 Console 模式或稍后重新运行 init。\n"));
|
|
739
786
|
}
|
|
787
|
+
if (result.feishu.userOpenIdStatus === "pending") {
|
|
788
|
+
process.stdout.write(cliText("Lark user: pending; send the bot a direct message to save FEISHU_USER_OPEN_ID\n", "飞书用户:等待补全;请私聊机器人以保存 FEISHU_USER_OPEN_ID\n"));
|
|
789
|
+
}
|
|
740
790
|
if (result.feishu.configuration?.status === "updated") {
|
|
741
791
|
const added = result.feishu.configuration.added;
|
|
742
792
|
process.stdout.write(cliText(`Lark configuration: added ${added.scopes.length} scopes, ${added.events.length} events, and ${added.callbacks.length} callbacks\n`, `飞书配置:已新增 ${added.scopes.length} 项权限、${added.events.length} 个事件和 ${added.callbacks.length} 个回调\n`));
|
|
@@ -762,6 +812,10 @@ function printInitializationServerResult(result) {
|
|
|
762
812
|
process.stdout.write(cliText("Agent Bot server: skipped (Lark is not configured; Console mode is available)\n", "Agent Bot 服务:已跳过(未配置飞书;可使用 Console 模式)\n"));
|
|
763
813
|
return;
|
|
764
814
|
}
|
|
815
|
+
if (result.status === "restart-scheduled") {
|
|
816
|
+
process.stdout.write(cliText("Agent Bot server: safe restart scheduled to load the current version.\n", "Agent Bot 服务:已安排安全重启,以加载当前版本。\n"));
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
765
819
|
printServerStartResult(result);
|
|
766
820
|
}
|
|
767
821
|
function printServerStartResult(result) {
|
|
@@ -865,26 +919,6 @@ function initializationStatusLabel(status) {
|
|
|
865
919
|
return cliText("reset from template", "已从模板重置");
|
|
866
920
|
return cliText("already exists; unchanged", "已存在,未修改");
|
|
867
921
|
}
|
|
868
|
-
function taskStateLabel(status) {
|
|
869
|
-
if (!status)
|
|
870
|
-
return "-";
|
|
871
|
-
const chinese = {
|
|
872
|
-
starting: "启动中",
|
|
873
|
-
ready: "就绪",
|
|
874
|
-
running: "运行中",
|
|
875
|
-
closed: "已关闭",
|
|
876
|
-
failed: "失败",
|
|
877
|
-
completed: "已完成",
|
|
878
|
-
cancelled: "已取消",
|
|
879
|
-
interrupted: "已中断",
|
|
880
|
-
inProgress: "进行中",
|
|
881
|
-
active: "活动中",
|
|
882
|
-
idle: "空闲",
|
|
883
|
-
not_loaded: "未加载",
|
|
884
|
-
error: "错误",
|
|
885
|
-
};
|
|
886
|
-
return cliLanguage === "zh" ? chinese[status] ?? status : status;
|
|
887
|
-
}
|
|
888
922
|
function ensureOk(response) {
|
|
889
923
|
if (response.ok)
|
|
890
924
|
return;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,26 +2,30 @@ import os from "node:os";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import readline from "node:readline";
|
|
4
4
|
import { AppServerConnection } from "./AppServerConnection.js";
|
|
5
|
-
import { agentBotEnvironment } from "../runtime/agentEnvironment.js";
|
|
5
|
+
import { agentBotEnvironment, } from "../runtime/agentEnvironment.js";
|
|
6
6
|
import { spawnStdioCommand } from "../utils/spawnCommand.js";
|
|
7
7
|
export class CodexProcessManager {
|
|
8
8
|
command;
|
|
9
9
|
args;
|
|
10
10
|
env;
|
|
11
11
|
logger;
|
|
12
|
+
environmentContext;
|
|
12
13
|
client;
|
|
13
14
|
child;
|
|
15
|
+
version;
|
|
14
16
|
disconnectListeners = new Set();
|
|
15
|
-
constructor(command, args, env, logger) {
|
|
17
|
+
constructor(command, args, env, logger, environmentContext = () => ({})) {
|
|
16
18
|
this.command = command;
|
|
17
19
|
this.args = args;
|
|
18
20
|
this.env = env;
|
|
19
21
|
this.logger = logger;
|
|
22
|
+
this.environmentContext = environmentContext;
|
|
20
23
|
}
|
|
21
24
|
async getClient() {
|
|
22
25
|
if (this.client)
|
|
23
26
|
return this.client;
|
|
24
|
-
|
|
27
|
+
this.version = undefined;
|
|
28
|
+
const child = spawnStdioCommand(this.command, this.args, agentBotEnvironment(process.env, this.env, this.environmentContext()));
|
|
25
29
|
this.child = child;
|
|
26
30
|
const client = new AppServerConnection(child, this.logger.child({ component: "codex-app-server" }));
|
|
27
31
|
this.client = client;
|
|
@@ -40,13 +44,23 @@ export class CodexProcessManager {
|
|
|
40
44
|
for (const listener of this.disconnectListeners)
|
|
41
45
|
listener(error);
|
|
42
46
|
});
|
|
43
|
-
await client.request("initialize", {
|
|
47
|
+
const initializeResult = await client.request("initialize", {
|
|
44
48
|
clientInfo: { name: "agent-bot", title: "Agent Bot", version: "0.1.0" },
|
|
45
49
|
capabilities: { experimentalApi: true },
|
|
46
50
|
});
|
|
51
|
+
this.version = initializedAgentVersion(initializeResult);
|
|
47
52
|
client.notify("initialized", {});
|
|
48
53
|
return client;
|
|
49
54
|
}
|
|
55
|
+
getProcessInfo() {
|
|
56
|
+
const pid = this.child?.pid;
|
|
57
|
+
if (!pid)
|
|
58
|
+
return {};
|
|
59
|
+
return {
|
|
60
|
+
pid,
|
|
61
|
+
...(this.version ? { version: this.version } : {}),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
50
64
|
getCodexHome() {
|
|
51
65
|
return this.env.CODEX_HOME ?? process.env.CODEX_HOME ?? path.join(os.homedir(), ".codex");
|
|
52
66
|
}
|
|
@@ -62,4 +76,20 @@ export class CodexProcessManager {
|
|
|
62
76
|
return () => this.disconnectListeners.delete(listener);
|
|
63
77
|
}
|
|
64
78
|
}
|
|
79
|
+
function initializedAgentVersion(value) {
|
|
80
|
+
if (!value || typeof value !== "object")
|
|
81
|
+
return undefined;
|
|
82
|
+
const result = value;
|
|
83
|
+
const serverInfo = result.serverInfo && typeof result.serverInfo === "object"
|
|
84
|
+
? result.serverInfo
|
|
85
|
+
: undefined;
|
|
86
|
+
for (const candidate of [serverInfo?.version, result.version, result.userAgent]) {
|
|
87
|
+
if (typeof candidate !== "string")
|
|
88
|
+
continue;
|
|
89
|
+
const match = /\b(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)\b/u.exec(candidate);
|
|
90
|
+
if (match?.[1])
|
|
91
|
+
return match[1];
|
|
92
|
+
}
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
65
95
|
//# sourceMappingURL=CodexProcessManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexProcessManager.js","sourceRoot":"","sources":["../../src/codex/CodexProcessManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"CodexProcessManager.js","sourceRoot":"","sources":["../../src/codex/CodexProcessManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,OAAO,mBAAmB;IAOX,OAAO;IACP,IAAI;IACJ,GAAG;IACH,MAAM;IACN,kBAAkB;IAV7B,MAAM,CAAuB;IAC7B,KAAK,CAAkC;IACvC,OAAO,CAAU;IACR,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEzE,YACmB,OAAe,EACf,IAAc,EACd,GAA2B,EAC3B,MAAc,EACd,kBAAkB,GAAkC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;uBAJ9D,OAAO;oBACP,IAAI;mBACJ,GAAG;sBACH,MAAM;kCACN,kBAAkB;IAClC,CAAC;IAEJ,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,MAAM,KAAK,GAAG,iBAAiB,CAC7B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,2BAA2B,IAAI,IAAI,MAAM,YAAY,MAAM,IAAI,MAAM,IAAI,CAAC,CAAC;YACnG,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;YAC1D,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;YACvE,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,GAAG;YACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,QAAgC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAC3E,CAAC,CAAC,MAAM,CAAC,UAAqC;QAC9C,CAAC,CAAC,SAAS,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAChF,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAG,+DAA+D,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -42,6 +42,9 @@ export class CodexRuntime {
|
|
|
42
42
|
getSession(localSessionId) {
|
|
43
43
|
return this.sessions.get(localSessionId);
|
|
44
44
|
}
|
|
45
|
+
getProcessInfo() {
|
|
46
|
+
return this.provider.getProcessInfo?.() ?? {};
|
|
47
|
+
}
|
|
45
48
|
async createSession(input) {
|
|
46
49
|
const client = await this.client();
|
|
47
50
|
const response = await client.request("thread/start", {
|