@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.
Files changed (97) hide show
  1. package/.env.example +2 -2
  2. package/CHANGELOG.md +15 -0
  3. package/README.md +107 -98
  4. package/README.zh.md +81 -72
  5. package/dist/acp/AcpProcessManager.js +8 -3
  6. package/dist/acp/AcpProcessManager.js.map +1 -1
  7. package/dist/acp/AcpSessionManager.js +15 -0
  8. package/dist/acp/AcpSessionManager.js.map +1 -1
  9. package/dist/cli/ServerStarter.js +17 -2
  10. package/dist/cli/ServerStarter.js.map +1 -1
  11. package/dist/cli/controlProtocol.js.map +1 -1
  12. package/dist/cli/help.js +16 -4
  13. package/dist/cli/help.js.map +1 -1
  14. package/dist/cli/serverStatus.js +27 -0
  15. package/dist/cli/serverStatus.js.map +1 -1
  16. package/dist/cli/taskListOutput.js +72 -0
  17. package/dist/cli/taskListOutput.js.map +1 -0
  18. package/dist/cli.js +88 -54
  19. package/dist/cli.js.map +1 -1
  20. package/dist/codex/CodexProcessManager.js +34 -4
  21. package/dist/codex/CodexProcessManager.js.map +1 -1
  22. package/dist/codex/CodexRuntime.js +3 -0
  23. package/dist/codex/CodexRuntime.js.map +1 -1
  24. package/dist/commands/CommandRouter.js +5 -0
  25. package/dist/commands/CommandRouter.js.map +1 -1
  26. package/dist/config/FeishuUserOpenIdStore.js +76 -0
  27. package/dist/config/FeishuUserOpenIdStore.js.map +1 -0
  28. package/dist/config/loadConfig.js +3 -0
  29. package/dist/config/loadConfig.js.map +1 -1
  30. package/dist/feishu/CardRenderer.js +123 -22
  31. package/dist/feishu/CardRenderer.js.map +1 -1
  32. package/dist/feishu/FeishuConnector.js +16 -5
  33. package/dist/feishu/FeishuConnector.js.map +1 -1
  34. package/dist/index.js +125 -26
  35. package/dist/index.js.map +1 -1
  36. package/dist/presentation/turnGraph.js +36 -0
  37. package/dist/presentation/turnGraph.js.map +1 -0
  38. package/dist/proxy/ProxySessionController.js +425 -104
  39. package/dist/proxy/ProxySessionController.js.map +1 -1
  40. package/dist/runtime/AcpRuntimeAdapter.js +3 -0
  41. package/dist/runtime/AcpRuntimeAdapter.js.map +1 -1
  42. package/dist/runtime/agentEnvironment.js +24 -4
  43. package/dist/runtime/agentEnvironment.js.map +1 -1
  44. package/dist/runtime/createAgentRuntimeRegistry.js +7 -3
  45. package/dist/runtime/createAgentRuntimeRegistry.js.map +1 -1
  46. package/dist/startup/StartupNotifier.js +16 -7
  47. package/dist/startup/StartupNotifier.js.map +1 -1
  48. package/dist/startup/startFeishu.js +2 -2
  49. package/dist/startup/startFeishu.js.map +1 -1
  50. package/dist/state/StateStore.js +172 -0
  51. package/dist/state/StateStore.js.map +1 -1
  52. package/dist/state/migrations.js +21 -0
  53. package/dist/state/migrations.js.map +1 -1
  54. package/dist/supervision/SafeRestartNotifier.js +46 -3
  55. package/dist/supervision/SafeRestartNotifier.js.map +1 -1
  56. package/dist/supervision/SafeRestartScheduler.js +65 -6
  57. package/dist/supervision/SafeRestartScheduler.js.map +1 -1
  58. package/dist/supervision/replacementSupervisor.js +27 -2
  59. package/dist/supervision/replacementSupervisor.js.map +1 -1
  60. package/dist/supervisor.js +27 -2
  61. package/dist/supervisor.js.map +1 -1
  62. package/docs/technical-reference.md +20 -7
  63. package/docs/technical-reference.zh.md +20 -7
  64. package/npm-shrinkwrap.json +2 -2
  65. package/package.json +1 -1
  66. package/skills/agent-bot/SKILL.md +63 -26
  67. package/src/acp/AcpProcessManager.ts +16 -3
  68. package/src/acp/AcpSessionManager.ts +14 -0
  69. package/src/cli/ServerStarter.ts +25 -2
  70. package/src/cli/controlProtocol.ts +6 -1
  71. package/src/cli/help.ts +16 -4
  72. package/src/cli/serverStatus.ts +28 -0
  73. package/src/cli/taskListOutput.ts +91 -0
  74. package/src/cli.ts +123 -51
  75. package/src/codex/CodexProcessManager.ts +38 -3
  76. package/src/codex/CodexRuntime.ts +6 -0
  77. package/src/commands/CommandRouter.ts +4 -0
  78. package/src/commands/commandTypes.ts +1 -0
  79. package/src/config/FeishuUserOpenIdStore.ts +81 -0
  80. package/src/config/loadConfig.ts +3 -0
  81. package/src/feishu/CardRenderer.ts +169 -22
  82. package/src/feishu/FeishuConnector.ts +13 -4
  83. package/src/index.ts +195 -23
  84. package/src/presentation/turnGraph.ts +48 -0
  85. package/src/proxy/ProxySessionController.ts +507 -112
  86. package/src/runtime/AcpRuntimeAdapter.ts +5 -0
  87. package/src/runtime/agentEnvironment.ts +41 -3
  88. package/src/runtime/createAgentRuntimeRegistry.ts +18 -3
  89. package/src/runtime/types.ts +5 -0
  90. package/src/startup/StartupNotifier.ts +23 -7
  91. package/src/startup/startFeishu.ts +3 -2
  92. package/src/state/StateStore.ts +224 -0
  93. package/src/state/migrations.ts +21 -0
  94. package/src/supervision/SafeRestartNotifier.ts +53 -4
  95. package/src/supervision/SafeRestartScheduler.ts +78 -7
  96. package/src/supervision/replacementSupervisor.ts +27 -1
  97. 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
- const endpoint = controlEndpoint(config.storage.sqlitePath);
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
- if (sessions.length === 0) {
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
- const child = spawnStdioCommand(this.command, this.args, agentBotEnvironment(process.env, this.env));
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":"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"}
1
+ {"version":3,"file":"CodexProcessManager.js","sourceRoot":"","sources":["../../src/codex/CodexProcessManager.ts"],"names":[],"mappings":"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"}
@@ -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", {