agents-bridge 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +162 -131
  3. package/bin/agent-bridge.mjs +11 -11
  4. package/config.example.json +22 -55
  5. package/config.multi-agent.example.json +67 -0
  6. package/dist/agents/agent-resolver.d.ts +12 -0
  7. package/dist/agents/agent-resolver.d.ts.map +1 -0
  8. package/dist/agents/agent-resolver.js +114 -0
  9. package/dist/agents/agent-resolver.js.map +1 -0
  10. package/dist/agents/agent-router.d.ts +8 -0
  11. package/dist/agents/agent-router.d.ts.map +1 -0
  12. package/dist/agents/agent-router.js +72 -0
  13. package/dist/agents/agent-router.js.map +1 -0
  14. package/dist/agents/cli-backends.d.ts +20 -27
  15. package/dist/agents/cli-backends.d.ts.map +1 -1
  16. package/dist/agents/cli-backends.js +29 -4
  17. package/dist/agents/cli-backends.js.map +1 -1
  18. package/dist/agents/cli-output.d.ts +35 -0
  19. package/dist/agents/cli-output.d.ts.map +1 -0
  20. package/dist/agents/cli-output.js +277 -0
  21. package/dist/agents/cli-output.js.map +1 -0
  22. package/dist/agents/cli-output.test.d.ts +2 -0
  23. package/dist/agents/cli-output.test.d.ts.map +1 -0
  24. package/dist/agents/cli-output.test.js +56 -0
  25. package/dist/agents/cli-output.test.js.map +1 -0
  26. package/dist/agents/cli-runner.d.ts +23 -0
  27. package/dist/agents/cli-runner.d.ts.map +1 -1
  28. package/dist/agents/cli-runner.js +244 -153
  29. package/dist/agents/cli-runner.js.map +1 -1
  30. package/dist/agents/cli-runner.test.d.ts +2 -0
  31. package/dist/agents/cli-runner.test.d.ts.map +1 -0
  32. package/dist/agents/cli-runner.test.js +119 -0
  33. package/dist/agents/cli-runner.test.js.map +1 -0
  34. package/dist/agents/cli-session-store.d.ts +47 -0
  35. package/dist/agents/cli-session-store.d.ts.map +1 -1
  36. package/dist/agents/cli-session-store.js +72 -0
  37. package/dist/agents/cli-session-store.js.map +1 -1
  38. package/dist/agents/cli-session-store.test.d.ts +2 -0
  39. package/dist/agents/cli-session-store.test.d.ts.map +1 -0
  40. package/dist/agents/cli-session-store.test.js +30 -0
  41. package/dist/agents/cli-session-store.test.js.map +1 -0
  42. package/dist/agents/codex-app-server-runtime.d.ts +72 -0
  43. package/dist/agents/codex-app-server-runtime.d.ts.map +1 -0
  44. package/dist/agents/codex-app-server-runtime.js +772 -0
  45. package/dist/agents/codex-app-server-runtime.js.map +1 -0
  46. package/dist/agents/codex-app-server-runtime.test.d.ts +2 -0
  47. package/dist/agents/codex-app-server-runtime.test.d.ts.map +1 -0
  48. package/dist/agents/codex-app-server-runtime.test.js +164 -0
  49. package/dist/agents/codex-app-server-runtime.test.js.map +1 -0
  50. package/dist/agents/model-selection.d.ts +3 -2
  51. package/dist/agents/model-selection.js +1 -1
  52. package/dist/channels/botlink.d.ts +2 -0
  53. package/dist/channels/botlink.js +73 -60
  54. package/dist/channels/botlink.js.map +1 -1
  55. package/dist/cli/cmd-doctor.d.ts.map +1 -1
  56. package/dist/cli/cmd-doctor.js +41 -5
  57. package/dist/cli/cmd-doctor.js.map +1 -1
  58. package/dist/cli/cmd-logs.js +1 -1
  59. package/dist/cli/cmd-logs.js.map +1 -1
  60. package/dist/cli/cmd-onboard.d.ts.map +1 -1
  61. package/dist/cli/cmd-onboard.js +16 -10
  62. package/dist/cli/cmd-onboard.js.map +1 -1
  63. package/dist/cli/cmd-start.d.ts.map +1 -1
  64. package/dist/cli/cmd-start.js +205 -32
  65. package/dist/cli/cmd-start.js.map +1 -1
  66. package/dist/cli/run-main.js +27 -27
  67. package/dist/config/agent-dirs.d.ts +12 -0
  68. package/dist/config/agent-dirs.d.ts.map +1 -1
  69. package/dist/config/agent-dirs.js +43 -2
  70. package/dist/config/agent-dirs.js.map +1 -1
  71. package/dist/config/config.js +1 -1
  72. package/dist/config/config.js.map +1 -1
  73. package/dist/config/merge-config.d.ts.map +1 -1
  74. package/dist/config/merge-config.js +16 -4
  75. package/dist/config/merge-config.js.map +1 -1
  76. package/dist/config/paths.d.ts +4 -0
  77. package/dist/config/paths.d.ts.map +1 -1
  78. package/dist/config/paths.js +7 -0
  79. package/dist/config/paths.js.map +1 -1
  80. package/dist/config/zod-schema.d.ts +2158 -239
  81. package/dist/config/zod-schema.d.ts.map +1 -1
  82. package/dist/config/zod-schema.js +100 -1
  83. package/dist/config/zod-schema.js.map +1 -1
  84. package/dist/entry.d.ts +1 -1
  85. package/dist/logger.d.ts +1 -0
  86. package/dist/logger.d.ts.map +1 -1
  87. package/dist/logger.js +28 -5
  88. package/dist/logger.js.map +1 -1
  89. package/dist/types/index.d.ts +130 -3
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/package.json +55 -54
  92. package/dist/console-encoding.d.ts +0 -6
  93. package/dist/console-encoding.d.ts.map +0 -1
  94. package/dist/console-encoding.js +0 -35
  95. package/dist/console-encoding.js.map +0 -1
@@ -1,6 +1,10 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { execFileSync } from 'node:child_process';
3
+ import { basename } from 'node:path';
4
+ import { CliSessionStore } from '../agents/cli-session-store.js';
5
+ import { resolveLogFilePath } from '../logger.js';
3
6
  import { DATA_CONFIG_PATH, DATA_DIR } from '../config/paths.js';
7
+ import { normalizeBotlinkChannelConfigs } from '../config/zod-schema.js';
4
8
  function check(label, fn) {
5
9
  try {
6
10
  const result = fn();
@@ -20,7 +24,10 @@ function check(label, fn) {
20
24
  }
21
25
  function whichCommand(cmd) {
22
26
  try {
23
- return execFileSync('which', [cmd], { encoding: 'utf-8' }).trim();
27
+ const locator = process.platform === 'win32' ? 'where.exe' : 'which';
28
+ return execFileSync(locator, [cmd], { encoding: 'utf-8' })
29
+ .trim()
30
+ .split(/\r?\n/g)[0];
24
31
  }
25
32
  catch {
26
33
  return null;
@@ -67,14 +74,43 @@ export async function cmdDoctor(_args) {
67
74
  try {
68
75
  const { loadConfig } = await import('../config/config.js');
69
76
  const config = loadConfig();
70
- const url = config.channels.botlink.gateway_url;
71
- check(`Gateway reachable (${url})`, () => {
72
- return `configured - run 'agents-bridge start' to verify connectivity`;
73
- });
77
+ const botlinkAccounts = normalizeBotlinkChannelConfigs(config.channels.botlink);
78
+ for (const account of botlinkAccounts) {
79
+ check(`Gateway reachable (${account.accountId}: ${account.config.gateway_url})`, () => {
80
+ return `configured - run 'agents-bridge start' to verify connectivity`;
81
+ });
82
+ }
74
83
  }
75
84
  catch {
76
85
  check('Gateway config', () => 'no config found - run `agents-bridge onboard` first');
77
86
  }
87
+ // 6. Session store
88
+ console.log('\n[Session Store]');
89
+ const sessionStore = new CliSessionStore();
90
+ const sessions = await sessionStore.list();
91
+ const incompleteCodexSessions = await sessionStore.findIncompleteSessions('codex-cli');
92
+ check('Persisted botlink sessions', () => `${Object.keys(sessions).length}`);
93
+ check('Codex sessions missing thread_id', () => {
94
+ if (incompleteCodexSessions.length === 0) {
95
+ return '0';
96
+ }
97
+ return `${incompleteCodexSessions.length} session(s)`;
98
+ });
99
+ if (incompleteCodexSessions.length > 0) {
100
+ console.log(' ! Incomplete session keys:');
101
+ for (const entry of incompleteCodexSessions.slice(0, 10)) {
102
+ console.log(` - ${entry.sessionKey}`);
103
+ }
104
+ }
105
+ // 7. Logs
106
+ console.log('\n[Logs]');
107
+ const logPath = resolveLogFilePath();
108
+ check('Daily log file', () => existsSync(logPath) ? basename(logPath) : `${basename(logPath)} (will be created on start)`);
109
+ console.log(' i Use `agents-bridge logs` to inspect the latest log file.');
110
+ console.log(' i Compare direct CLI and bridge latency with:');
111
+ console.log(' codex exec --json "reply with exactly OK"');
112
+ console.log(' codex exec resume <thread_id> --json "reply with exactly AGAIN"');
113
+ console.log(' codex app-server --listen stdio:// --session-source agent-bridge');
78
114
  console.log();
79
115
  }
80
116
  //# sourceMappingURL=cmd-doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-doctor.js","sourceRoot":"","sources":["../../src/cli/cmd-doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd-doctor.js","sourceRoot":"","sources":["../../src/cli/cmd-doctor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { DATA_LOGS_DIR } from '../config/paths.js';
4
4
  export async function cmdLogs(_args) {
5
5
  if (!existsSync(DATA_LOGS_DIR)) {
6
6
  console.log(`No logs directory found at ${DATA_LOGS_DIR}`);
7
- console.log('Logs are written to stdout by default. Use this command when file logging is configured.');
7
+ console.log('Start agents-bridge once to create the daily log file.');
8
8
  return;
9
9
  }
10
10
  const files = readdirSync(DATA_LOGS_DIR)
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-logs.js","sourceRoot":"","sources":["../../src/cli/cmd-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAc;IAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAA;QACvG,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC/B,IAAI,EAAE,CAAA;IAET,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,OAAM;IACR,CAAC;IAED,uCAAuC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,CAAA;IAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,iBAAiB;IAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"cmd-logs.js","sourceRoot":"","sources":["../../src/cli/cmd-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAc;IAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;QACrE,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC/B,IAAI,EAAE,CAAA;IAET,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,OAAM;IACR,CAAC;IAED,uCAAuC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,CAAA;IAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,iBAAiB;IAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-onboard.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-onboard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG9D"}
1
+ {"version":3,"file":"cmd-onboard.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-onboard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8G9D"}
@@ -24,7 +24,7 @@ export async function cmdOnboard(_args) {
24
24
  const botToken = await rl.question('Bot token: ');
25
25
  const modelChoices = [
26
26
  'claude-cli/opus-4.6',
27
- 'codex-cli/gpt-5.3-codex',
27
+ 'codex-cli/gpt-5.4',
28
28
  'anthropic/claude-sonnet-4-6',
29
29
  ];
30
30
  console.log('\nAvailable models:');
@@ -51,8 +51,8 @@ export async function cmdOnboard(_args) {
51
51
  cliBackends: {
52
52
  'claude-cli': {
53
53
  command: 'claude',
54
- args: ['-p', '--output-format', 'json', '--dangerously-skip-permissions'],
55
- resumeArgs: ['-p', '--output-format', 'json', '--dangerously-skip-permissions', '--resume', '{sessionId}'],
54
+ args: ['-p', '--output-format', 'json'],
55
+ resumeArgs: ['-p', '--output-format', 'json', '--resume', '{sessionId}'],
56
56
  output: 'json',
57
57
  modelArg: '--model',
58
58
  sessionArg: '--session-id',
@@ -72,14 +72,20 @@ export async function cmdOnboard(_args) {
72
72
  },
73
73
  'codex-cli': {
74
74
  command: 'codex',
75
- args: ['exec', '--json', '--color', 'never', '--sandbox', 'read-only', '--skip-git-repo-check'],
76
- resumeArgs: ['exec', 'resume', '{sessionId}', '--color', 'never', '--sandbox', 'read-only', '--skip-git-repo-check'],
77
- output: 'jsonl',
78
- resumeOutput: 'text',
79
- modelArg: '--model',
75
+ runtimeMode: 'app-server',
76
+ appServer: {
77
+ listen: 'stdio://',
78
+ sessionSource: 'agent-bridge',
79
+ startupTimeoutMs: 15000,
80
+ requestTimeoutMs: 30000,
81
+ serviceName: 'agent-bridge',
82
+ experimentalApi: false,
83
+ approvalPolicy: 'never',
84
+ sandbox: 'read-only',
85
+ persistExtendedHistory: false,
86
+ experimentalRawEvents: false,
87
+ },
80
88
  sessionIdFields: ['thread_id'],
81
- imageArg: '--image',
82
- imageMode: 'repeat',
83
89
  sessionMode: 'existing',
84
90
  serialize: true,
85
91
  reliability: {
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-onboard.js","sourceRoot":"","sources":["../../src/cli/cmd-onboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd-onboard.js","sourceRoot":"","sources":["../../src/cli/cmd-onboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-start.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAc5C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0J3D"}
1
+ {"version":3,"file":"cmd-start.d.ts","sourceRoot":"","sources":["../../src/cli/cmd-start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAsB5C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuN3D"}
@@ -1,18 +1,24 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import path from 'node:path';
1
3
  import { loadConfig } from '../config/config.js';
2
- import { ensureDataDirs } from '../config/agent-dirs.js';
3
- import { createLogger } from '../logger.js';
4
+ import { ensureDataDirs, ensureAgentStateDirs } from '../config/agent-dirs.js';
5
+ import { createLogger, resolveLogFilePath } from '../logger.js';
4
6
  import { getAllChannels } from '../channels/registry.js';
5
7
  import { SessionManager } from '../channels/session.js';
6
- import { buildModelsConfig } from '../agents/models-config.js';
7
8
  import { LocalCliTurnExecutor } from '../agents/cli-runner.js';
8
- import { CliSessionStore } from '../agents/cli-session-store.js';
9
+ import { CliSessionStore, makeAgentSessionKey } from '../agents/cli-session-store.js';
10
+ import { resolveAgentConfigs } from '../agents/agent-resolver.js';
11
+ import { resolveAgent } from '../agents/agent-router.js';
9
12
  import { cleanupPidFile, ensureNoRunningInstance, writePidFile } from './pid-file.js';
13
+ import { normalizeBotlinkChannelConfigs, } from '../config/zod-schema.js';
10
14
  import { TypingLifecycle } from '../channels/typing-lifecycle.js';
15
+ import { agentSessionStorePath } from '../config/paths.js';
16
+ import { extractProvider, extractModel, isCliBackend } from '../agents/cli-backends.js';
11
17
  export async function cmdStart(args) {
12
18
  ensureNoRunningInstance();
13
19
  if (args.daemon) {
14
20
  const { spawn } = await import('node:child_process');
15
- const childArgs = process.argv.slice(2).filter(a => a !== '--daemon' && a !== '-d');
21
+ const childArgs = process.argv.slice(2).filter((arg) => arg !== '--daemon' && arg !== '-d');
16
22
  const child = spawn(process.execPath, [process.argv[1], ...childArgs], {
17
23
  detached: true,
18
24
  stdio: 'ignore',
@@ -23,45 +29,86 @@ export async function cmdStart(args) {
23
29
  process.exit(0);
24
30
  }
25
31
  const config = loadConfig(args.config);
26
- const logger = createLogger(config.logging.level, config.logging.pretty);
27
- logger.info('agents-bridge starting up');
28
32
  ensureDataDirs(config.files.temp_dir);
33
+ const logger = createLogger(config.logging.level, config.logging.pretty);
34
+ logger.info({ logFilePath: resolveLogFilePath() }, 'agents-bridge starting up');
29
35
  writePidFile(process.pid);
36
+ const cliExecutors = new Map();
37
+ const sessionStores = new Map();
38
+ const teardownExecutors = async () => {
39
+ for (const executor of cliExecutors.values()) {
40
+ await executor.teardown().catch(() => undefined);
41
+ }
42
+ };
30
43
  try {
31
44
  const sessionManager = new SessionManager(logger);
32
- const modelsConfig = buildModelsConfig(config.agents.defaults);
33
- const cliExecutor = new LocalCliTurnExecutor({
34
- config,
35
- logger,
36
- sessionStore: new CliSessionStore(),
37
- });
45
+ const { agents: resolvedAgents, defaultAgentId } = resolveAgentConfigs(config, logger);
46
+ ensureAgentStateDirs([...resolvedAgents.keys()], defaultAgentId);
47
+ logger.info({ agentCount: resolvedAgents.size, defaultAgentId, agents: [...resolvedAgents.keys()] }, 'Agents resolved');
48
+ for (const [agentId] of resolvedAgents) {
49
+ const sessionStore = new CliSessionStore(agentSessionStorePath(agentId));
50
+ sessionStores.set(agentId, sessionStore);
51
+ const incompleteCodexSessions = await sessionStore.findIncompleteSessions('codex-cli');
52
+ if (incompleteCodexSessions.length > 0) {
53
+ logger.warn({
54
+ agentId,
55
+ count: incompleteCodexSessions.length,
56
+ sessions: incompleteCodexSessions.slice(0, 10).map((entry) => entry.sessionKey),
57
+ }, 'Found persisted Codex sessions without thread ids; those conversations will resume with fresh turns until rebuilt');
58
+ }
59
+ cliExecutors.set(agentId, new LocalCliTurnExecutor({
60
+ config,
61
+ logger,
62
+ sessionStore,
63
+ }));
64
+ }
38
65
  const ctx = {
39
66
  logger,
40
67
  async dispatch(envelope) {
41
- logger.info({ sessionId: envelope.sessionId, chatType: envelope.source.chatType }, 'Dispatching message');
68
+ const botlinkConfig = resolveBotlinkAccountConfig(config.channels.botlink, envelope);
69
+ const agent = resolveAgent(envelope, config.bindings ?? [], resolvedAgents, defaultAgentId);
70
+ const agentSessionKey = makeAgentSessionKey(agent.id, envelope.sessionId);
71
+ logger.info({ sessionId: envelope.sessionId, agentId: agent.id, chatType: envelope.source.chatType }, 'Dispatching message');
42
72
  sessionManager.getOrCreate(envelope);
43
- const primaryModel = modelsConfig.chain[0];
44
- if (!primaryModel) {
45
- logger.warn({ sessionId: envelope.sessionId }, 'No primary model configured');
73
+ const primaryModelRef = agent.model.primary;
74
+ const provider = extractProvider(primaryModelRef);
75
+ const model = extractModel(primaryModelRef);
76
+ if (!isCliBackend(primaryModelRef, agent.cliBackends)) {
77
+ logger.warn({ sessionId: envelope.sessionId, agentId: agent.id, model: primaryModelRef }, 'Primary API model runtime is not implemented yet');
78
+ await sendBotlinkTextReply(botlinkConfig, envelope, '当前仅支持 CLI 模式模型。');
46
79
  return;
47
80
  }
48
- if (primaryModel.mode !== 'cli') {
49
- logger.warn({ sessionId: envelope.sessionId, model: primaryModel.ref }, 'Primary API model runtime is not implemented yet');
50
- await sendBotlinkTextReply(config.channels.botlink, envelope, '当前仅支持 CLI 模式模型。');
51
- return;
81
+ const cliExecutor = cliExecutors.get(agent.id);
82
+ if (!cliExecutor) {
83
+ throw new Error(`No CLI executor found for agent "${agent.id}"`);
84
+ }
85
+ // Seed CLI session ID from agent config (one-time, does not overwrite runtime values)
86
+ if (agent.cliSessionId) {
87
+ const sessionStore = sessionStores.get(agent.id);
88
+ if (sessionStore) {
89
+ const existing = await sessionStore.getCliSessionId(agentSessionKey, provider);
90
+ if (!existing) {
91
+ await sessionStore.setCliSessionId(agentSessionKey, provider, agent.cliSessionId, { model });
92
+ logger.info({ agentId: agent.id, provider, cliSessionId: agent.cliSessionId }, 'Seeded CLI session ID from agent config');
93
+ }
94
+ }
52
95
  }
53
96
  let typing = null;
54
97
  try {
55
- typing = new TypingLifecycle(() => sendBotlinkChatAction(config.channels.botlink, envelope, 'typing'), 4000, logger);
98
+ typing = new TypingLifecycle(() => sendBotlinkChatAction(botlinkConfig, envelope, 'typing'), 4000, logger);
56
99
  const result = await cliExecutor.run({
57
- envelope,
58
- provider: primaryModel.provider,
59
- model: primaryModel.model,
60
- workspaceDir: process.cwd(),
100
+ envelope: { ...envelope, sessionId: agentSessionKey },
101
+ provider,
102
+ model: model || primaryModelRef,
103
+ workspaceDir: agent.workspace,
61
104
  timeoutMs: 15 * 60 * 1_000,
105
+ systemPrompt: agent.systemPrompt,
106
+ agentEnv: agent.env,
107
+ agentClearEnv: agent.clearEnv,
108
+ cliBackends: agent.cliBackends,
62
109
  callbacks: {
63
110
  onProcessing() {
64
- logger.info({ sessionId: envelope.sessionId, provider: primaryModel.provider }, 'CLI turn entered processing state');
111
+ logger.info({ sessionId: envelope.sessionId, agentId: agent.id, provider }, 'CLI turn entered processing state');
65
112
  typing?.start();
66
113
  },
67
114
  },
@@ -69,24 +116,27 @@ export async function cmdStart(args) {
69
116
  typing?.stop();
70
117
  logger.info({
71
118
  sessionId: envelope.sessionId,
119
+ agentId: agent.id,
72
120
  provider: result.provider,
73
121
  model: result.model,
74
122
  cliSessionId: result.cliSessionId,
75
123
  isResume: result.isResume,
76
124
  replyLength: result.text.trim().length,
125
+ diagnostics: result.diagnostics,
77
126
  }, 'CLI turn completed');
78
127
  logger.debug({ sessionId: envelope.sessionId, text: result.text }, 'CLI turn output');
79
128
  const replyText = result.text.trim() || 'CLI 已执行完成,但没有返回可显示的文本内容。';
80
- await sendBotlinkTextReply(config.channels.botlink, envelope, replyText);
129
+ await sendBotlinkReply(botlinkConfig, envelope, replyText);
81
130
  }
82
131
  catch (error) {
83
132
  typing?.stop();
84
133
  logger.error({
85
134
  sessionId: envelope.sessionId,
86
- provider: primaryModel.provider,
135
+ agentId: agent.id,
136
+ provider,
87
137
  err: error instanceof Error ? error.message : String(error),
88
138
  }, 'CLI turn failed');
89
- await sendBotlinkTextReply(config.channels.botlink, envelope, `执行失败:${error instanceof Error ? error.message : String(error)}`);
139
+ await sendBotlinkTextReply(botlinkConfig, envelope, `执行失败:${error instanceof Error ? error.message : String(error)}`);
90
140
  }
91
141
  finally {
92
142
  typing?.stop();
@@ -112,13 +162,15 @@ export async function cmdStart(args) {
112
162
  for (const channel of channels) {
113
163
  await channel.teardown();
114
164
  }
165
+ await teardownExecutors();
115
166
  cleanupPidFile();
116
167
  process.exit(0);
117
168
  };
118
- process.on('SIGINT', () => shutdown('SIGINT'));
119
- process.on('SIGTERM', () => shutdown('SIGTERM'));
169
+ process.on('SIGINT', () => void shutdown('SIGINT'));
170
+ process.on('SIGTERM', () => void shutdown('SIGTERM'));
120
171
  }
121
172
  catch (error) {
173
+ await teardownExecutors();
122
174
  cleanupPidFile();
123
175
  throw error;
124
176
  }
@@ -136,6 +188,115 @@ async function sendBotlinkTextReply(botlink, envelope, text) {
136
188
  reply_to_message_id: envelope.source.messageId,
137
189
  });
138
190
  }
191
+ async function sendBotlinkReply(botlink, envelope, text) {
192
+ const mediaFiles = await resolveReplyMediaFiles(text);
193
+ if (mediaFiles.length === 0) {
194
+ await sendBotlinkTextReply(botlink, envelope, text);
195
+ return;
196
+ }
197
+ const cleanedText = stripMediaPathsFromText(text, mediaFiles.map((file) => file.path)).trim();
198
+ const caption = cleanedText || '截图结果';
199
+ for (const [index, file] of mediaFiles.entries()) {
200
+ await sendBotlinkMediaReply(botlink, envelope, file, index === 0 ? caption : undefined);
201
+ }
202
+ }
203
+ async function sendBotlinkMediaReply(botlink, envelope, file, caption) {
204
+ const method = file.kind === 'photo' ? 'sendPhoto' : 'sendDocument';
205
+ const field = file.kind === 'photo' ? 'photo' : 'document';
206
+ const form = new FormData();
207
+ form.append('chat_id', String(envelope.source.chatId));
208
+ form.append('reply_to_message_id', String(envelope.source.messageId));
209
+ if (caption) {
210
+ form.append('caption', caption);
211
+ }
212
+ const buffer = await readFile(file.path);
213
+ const blob = new Blob([buffer], { type: file.mimeType });
214
+ form.append(field, blob, path.basename(file.path));
215
+ await postBotlinkFormMethod(botlink, method, form);
216
+ }
217
+ async function postBotlinkFormMethod(botlink, method, payload) {
218
+ const baseUrl = botlink.gateway_url.replace(/\/+$/, '');
219
+ const response = await fetch(`${baseUrl}/bot${botlink.bot_token}/${method}`, {
220
+ method: 'POST',
221
+ body: payload,
222
+ });
223
+ if (!response.ok) {
224
+ const body = await response.text().catch(() => '');
225
+ throw new Error(`botlink ${method} failed with HTTP ${response.status}${body ? `: ${body}` : ''}`);
226
+ }
227
+ const result = await response.json();
228
+ if (!result.ok) {
229
+ throw new Error(`botlink ${method} failed: ${result.description ?? 'unknown error'}`);
230
+ }
231
+ }
232
+ async function resolveReplyMediaFiles(text) {
233
+ const candidates = extractLocalFilePaths(text);
234
+ const resolved = [];
235
+ for (const candidate of candidates) {
236
+ try {
237
+ const fileUrl = candidate.startsWith('file://') ? new URL(candidate) : null;
238
+ const filePath = fileUrl ? decodeURIComponent(fileUrl.pathname) : candidate;
239
+ const buffer = await readFile(filePath);
240
+ if (buffer.length === 0)
241
+ continue;
242
+ resolved.push({
243
+ path: filePath,
244
+ kind: isPhotoPath(filePath) ? 'photo' : 'document',
245
+ mimeType: inferMimeType(filePath),
246
+ });
247
+ }
248
+ catch {
249
+ continue;
250
+ }
251
+ }
252
+ return dedupeMediaFiles(resolved);
253
+ }
254
+ function extractLocalFilePaths(text) {
255
+ const matches = text.match(/(?:file:\/\/\/|\/)[^\s"'`]+/g) ?? [];
256
+ return matches
257
+ .map((entry) => entry.replace(/[),.;:!?]+$/g, ''))
258
+ .filter((entry) => entry.startsWith('/tmp/') || entry.startsWith('file:///tmp/'));
259
+ }
260
+ function stripMediaPathsFromText(text, filePaths) {
261
+ let next = text;
262
+ for (const filePath of filePaths) {
263
+ const escaped = escapeRegExp(filePath);
264
+ next = next.replace(new RegExp(escaped, 'g'), '');
265
+ next = next.replace(new RegExp(escapeRegExp(`file://${filePath}`), 'g'), '');
266
+ }
267
+ return next.replace(/\n{3,}/g, '\n\n');
268
+ }
269
+ function dedupeMediaFiles(files) {
270
+ const seen = new Set();
271
+ return files.filter((file) => {
272
+ if (seen.has(file.path))
273
+ return false;
274
+ seen.add(file.path);
275
+ return true;
276
+ });
277
+ }
278
+ function isPhotoPath(filePath) {
279
+ return /\.(png|jpe?g|webp|gif|bmp)$/i.test(filePath);
280
+ }
281
+ function inferMimeType(filePath) {
282
+ const lower = filePath.toLowerCase();
283
+ if (lower.endsWith('.png'))
284
+ return 'image/png';
285
+ if (lower.endsWith('.jpg') || lower.endsWith('.jpeg'))
286
+ return 'image/jpeg';
287
+ if (lower.endsWith('.webp'))
288
+ return 'image/webp';
289
+ if (lower.endsWith('.gif'))
290
+ return 'image/gif';
291
+ if (lower.endsWith('.bmp'))
292
+ return 'image/bmp';
293
+ if (lower.endsWith('.pdf'))
294
+ return 'application/pdf';
295
+ return 'application/octet-stream';
296
+ }
297
+ function escapeRegExp(value) {
298
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
299
+ }
139
300
  async function postBotlinkMethod(botlink, method, payload) {
140
301
  const baseUrl = botlink.gateway_url.replace(/\/+$/, '');
141
302
  const response = await fetch(`${baseUrl}/bot${botlink.bot_token}/${method}`, {
@@ -152,4 +313,16 @@ async function postBotlinkMethod(botlink, method, payload) {
152
313
  throw new Error(`botlink ${method} failed: ${result.description ?? 'unknown error'}`);
153
314
  }
154
315
  }
316
+ function resolveBotlinkAccountConfig(botlink, envelope) {
317
+ const accounts = normalizeBotlinkChannelConfigs(botlink);
318
+ const matched = accounts.find((entry) => entry.accountId === envelope.source.accountId);
319
+ if (matched) {
320
+ return matched.config;
321
+ }
322
+ const fallback = accounts.find((entry) => entry.accountId === 'default') ?? accounts[0];
323
+ if (!fallback) {
324
+ throw new Error('No botlink account config found for reply');
325
+ }
326
+ return fallback.config;
327
+ }
155
328
  //# sourceMappingURL=cmd-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-start.js","sourceRoot":"","sources":["../../src/cli/cmd-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd-start.js","sourceRoot":"","sources":["../../src/cli/cmd-start.ts"],"names":[],"mappings":"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"}
@@ -32,33 +32,33 @@ export function parseCliArgs(argv = process.argv.slice(2)) {
32
32
  };
33
33
  }
34
34
  export function printHelp() {
35
- console.log(`
36
- agents-bridge - Local Agent Gateway for botlink
37
-
38
- Usage:
39
- agents-bridge <command> [options]
40
-
41
- Commands:
42
- start Start the gateway (foreground by default)
43
- stop Stop a running daemon
44
- status Show connection and runtime status
45
- onboard Interactive setup wizard
46
- doctor Diagnose environment (network, CLI tools, API keys)
47
- logs View recent logs
48
- config Show current configuration
49
- help Show this help
50
-
51
- Options:
52
- -c, --config <path> Path to config.json
53
- -d, --daemon Run as background daemon (with 'start')
54
- -h, --help Show this help
55
-
56
- Examples:
57
- agents-bridge start # Start in foreground
58
- agents-bridge start --daemon # Start as daemon
59
- agents-bridge start -c ./my-config.json # Start with custom config
60
- agents-bridge onboard # Interactive setup
61
- agents-bridge doctor # Check environment
35
+ console.log(`
36
+ agents-bridge - Local Agent Gateway for botlink
37
+
38
+ Usage:
39
+ agents-bridge <command> [options]
40
+
41
+ Commands:
42
+ start Start the gateway (foreground by default)
43
+ stop Stop a running daemon
44
+ status Show connection and runtime status
45
+ onboard Interactive setup wizard
46
+ doctor Diagnose environment (network, CLI tools, API keys)
47
+ logs View recent logs
48
+ config Show current configuration
49
+ help Show this help
50
+
51
+ Options:
52
+ -c, --config <path> Path to config.json
53
+ -d, --daemon Run as background daemon (with 'start')
54
+ -h, --help Show this help
55
+
56
+ Examples:
57
+ agents-bridge start # Start in foreground
58
+ agents-bridge start --daemon # Start as daemon
59
+ agents-bridge start -c ./my-config.json # Start with custom config
60
+ agents-bridge onboard # Interactive setup
61
+ agents-bridge doctor # Check environment
62
62
  `.trim());
63
63
  }
64
64
  //# sourceMappingURL=run-main.js.map