agents-bridge 0.1.4 → 0.1.5
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 +188 -205
- package/config.example.json +46 -46
- package/dist/agents/cli-runner.d.ts +5 -2
- package/dist/agents/cli-runner.d.ts.map +1 -1
- package/dist/agents/cli-runner.js +73 -35
- package/dist/agents/cli-runner.js.map +1 -1
- package/dist/agents/cli-session-store.d.ts +6 -0
- package/dist/agents/cli-session-store.d.ts.map +1 -1
- package/dist/agents/cli-session-store.js +64 -0
- package/dist/agents/cli-session-store.js.map +1 -1
- package/dist/channels/command-gating.d.ts.map +1 -1
- package/dist/channels/command-gating.js +6 -6
- package/dist/channels/command-gating.js.map +1 -1
- package/dist/cli/cmd-add-agent.d.ts +19 -0
- package/dist/cli/cmd-add-agent.d.ts.map +1 -0
- package/dist/cli/cmd-add-agent.js +339 -0
- package/dist/cli/cmd-add-agent.js.map +1 -0
- package/dist/cli/cmd-restart.d.ts +3 -0
- package/dist/cli/cmd-restart.d.ts.map +1 -0
- package/dist/cli/cmd-restart.js +22 -0
- package/dist/cli/cmd-restart.js.map +1 -0
- package/dist/cli/cmd-start.d.ts.map +1 -1
- package/dist/cli/cmd-start.js +35 -10
- package/dist/cli/cmd-start.js.map +1 -1
- package/dist/cli/cmd-stop.d.ts +5 -0
- package/dist/cli/cmd-stop.d.ts.map +1 -1
- package/dist/cli/cmd-stop.js +32 -8
- package/dist/cli/cmd-stop.js.map +1 -1
- package/dist/cli/run-main.d.ts +1 -1
- package/dist/cli/run-main.d.ts.map +1 -1
- package/dist/cli/run-main.js +5 -1
- package/dist/cli/run-main.js.map +1 -1
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +8 -0
- package/dist/entry.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +5 -1
- package/dist/agents/cli-output.test.d.ts +0 -2
- package/dist/agents/cli-output.test.d.ts.map +0 -1
- package/dist/agents/cli-output.test.js +0 -56
- package/dist/agents/cli-output.test.js.map +0 -1
- package/dist/agents/cli-runner.test.d.ts +0 -2
- package/dist/agents/cli-runner.test.d.ts.map +0 -1
- package/dist/agents/cli-runner.test.js +0 -119
- package/dist/agents/cli-runner.test.js.map +0 -1
- package/dist/agents/cli-session-store.test.d.ts +0 -2
- package/dist/agents/cli-session-store.test.d.ts.map +0 -1
- package/dist/agents/cli-session-store.test.js +0 -30
- package/dist/agents/cli-session-store.test.js.map +0 -1
- package/dist/agents/codex-app-server-runtime.test.d.ts +0 -2
- package/dist/agents/codex-app-server-runtime.test.d.ts.map +0 -1
- package/dist/agents/codex-app-server-runtime.test.js +0 -164
- package/dist/agents/codex-app-server-runtime.test.js.map +0 -1
- package/dist/cli/run-main.test.d.ts +0 -2
- package/dist/cli/run-main.test.d.ts.map +0 -1
- package/dist/cli/run-main.test.js +0 -17
- package/dist/cli/run-main.test.js.map +0 -1
- package/dist/config/default-config.test.d.ts +0 -2
- package/dist/config/default-config.test.d.ts.map +0 -1
- package/dist/config/default-config.test.js +0 -19
- package/dist/config/default-config.test.js.map +0 -1
package/dist/cli/cmd-stop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-stop.js","sourceRoot":"","sources":["../../src/cli/cmd-stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"cmd-stop.js","sourceRoot":"","sources":["../../src/cli/cmd-stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAQhE,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACjC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAA;QAChD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,QAAQ,CAAC,CAAA;YACpB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;QACrC,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAA;IACpC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,cAAc,EAAE,CAAA;YAChB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;QACnC,CAAC;QACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,UAAU,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAc;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAA;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,GAAG,wCAAwC,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
|
package/dist/cli/run-main.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Command = 'start' | 'stop' | 'status' | 'onboard' | 'doctor' | 'logs' | 'config' | 'version' | 'help';
|
|
1
|
+
export type Command = 'start' | 'stop' | 'status' | 'onboard' | 'add-agent' | 'restart' | 'doctor' | 'logs' | 'config' | 'version' | 'help';
|
|
2
2
|
export interface CliArgs {
|
|
3
3
|
command: Command;
|
|
4
4
|
config?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-main.d.ts","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GACf,OAAO,GACP,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,CAAA;AAEV,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,WAAwB,GAAG,OAAO,CAwDlE;AAED,wBAAgB,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"run-main.d.ts","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GACf,OAAO,GACP,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,SAAS,GACT,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,CAAA;AAEV,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,wBAAgB,YAAY,CAAC,IAAI,WAAwB,GAAG,OAAO,CAwDlE;AAED,wBAAgB,SAAS,IAAI,IAAI,CAmChC"}
|
package/dist/cli/run-main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseArgs } from 'node:util';
|
|
2
2
|
export function parseCliArgs(argv = process.argv.slice(2)) {
|
|
3
3
|
const validCommands = new Set([
|
|
4
|
-
'start', 'stop', 'status', 'onboard', 'doctor', 'logs', 'config', 'version', 'help',
|
|
4
|
+
'start', 'stop', 'status', 'onboard', 'add-agent', 'restart', 'doctor', 'logs', 'config', 'version', 'help',
|
|
5
5
|
]);
|
|
6
6
|
const normalizedArgv = argv.map(arg => (arg === '--verson' ? '--version' : arg));
|
|
7
7
|
const { values, positionals, tokens } = parseArgs({
|
|
@@ -60,8 +60,10 @@ Usage:
|
|
|
60
60
|
Commands:
|
|
61
61
|
start Start the gateway (foreground by default)
|
|
62
62
|
stop Stop a running daemon
|
|
63
|
+
restart Restart the gateway
|
|
63
64
|
status Show connection and runtime status
|
|
64
65
|
onboard Interactive setup wizard
|
|
66
|
+
add-agent Add an agent to the current config
|
|
65
67
|
doctor Diagnose environment (network, CLI tools, API keys)
|
|
66
68
|
logs View recent logs
|
|
67
69
|
config Show current configuration
|
|
@@ -78,7 +80,9 @@ Examples:
|
|
|
78
80
|
agents-bridge start # Start in foreground
|
|
79
81
|
agents-bridge start --daemon # Start as daemon
|
|
80
82
|
agents-bridge start -c ./my-config.json # Start with custom config
|
|
83
|
+
agents-bridge restart --daemon # Restart in daemon mode
|
|
81
84
|
agents-bridge onboard # Interactive setup
|
|
85
|
+
agents-bridge add-agent # Add a named agent
|
|
82
86
|
agents-bridge doctor # Check environment
|
|
83
87
|
`.trim());
|
|
84
88
|
}
|
package/dist/cli/run-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-main.js","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"run-main.js","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"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"}
|
package/dist/entry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AAYA,OAAO,uBAAuB,CAAA"}
|
package/dist/entry.js
CHANGED
|
@@ -4,6 +4,8 @@ import { cmdStart } from './cli/cmd-start.js';
|
|
|
4
4
|
import { cmdStop } from './cli/cmd-stop.js';
|
|
5
5
|
import { cmdStatus } from './cli/cmd-status.js';
|
|
6
6
|
import { cmdOnboard } from './cli/cmd-onboard.js';
|
|
7
|
+
import { cmdAddAgent } from './cli/cmd-add-agent.js';
|
|
8
|
+
import { cmdRestart } from './cli/cmd-restart.js';
|
|
7
9
|
import { cmdDoctor } from './cli/cmd-doctor.js';
|
|
8
10
|
import { cmdLogs } from './cli/cmd-logs.js';
|
|
9
11
|
import { cmdConfig } from './cli/cmd-config.js';
|
|
@@ -34,6 +36,12 @@ async function main() {
|
|
|
34
36
|
case 'onboard':
|
|
35
37
|
await cmdOnboard(args);
|
|
36
38
|
break;
|
|
39
|
+
case 'add-agent':
|
|
40
|
+
await cmdAddAgent(args);
|
|
41
|
+
break;
|
|
42
|
+
case 'restart':
|
|
43
|
+
await cmdRestart(args);
|
|
44
|
+
break;
|
|
37
45
|
case 'doctor':
|
|
38
46
|
await cmdDoctor(args);
|
|
39
47
|
break;
|
package/dist/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,uBAAuB,CAAA;AAE9B,KAAK,UAAU,IAAI;IACjB,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,EAAE,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,SAAS,EAAE,CAAA;YACX,MAAK;QACP,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP;YACE,SAAS,EAAE,CAAA;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,uBAAuB,CAAA;AAE9B,KAAK,UAAU,IAAI;IACjB,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,EAAE,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,SAAS,EAAE,CAAA;YACX,MAAK;QACP,KAAK,OAAO;YACV,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP,KAAK,WAAW;YACd,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;YACvB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;YACnB,MAAK;QACP,KAAK,QAAQ;YACX,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YACrB,MAAK;QACP,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAK;QACP;YACE,SAAS,EAAE,CAAA;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -103,6 +103,12 @@ export interface SessionStoreEntry {
|
|
|
103
103
|
cliSessionIds?: Record<string, string>;
|
|
104
104
|
/** Per-session workspace directory override (set via /cwd directive) */
|
|
105
105
|
workspaceDir?: string;
|
|
106
|
+
/** Root session -> currently active derived session key created via /new */
|
|
107
|
+
activeSessionKey?: string;
|
|
108
|
+
/** Monotonic counter for derived session keys */
|
|
109
|
+
branchCounter?: number;
|
|
110
|
+
/** Parent/root session key for derived sessions */
|
|
111
|
+
parentSessionKey?: string;
|
|
106
112
|
}
|
|
107
113
|
export interface CliRunUsage {
|
|
108
114
|
input?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAA;AAGhD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAA;AAK/B,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IAEjB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;QAC3C,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;IAED,OAAO,EAAE;QACP,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAA;QACZ,gDAAgD;QAChD,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,+DAA+D;QAC/D,WAAW,EAAE,KAAK,CAAC;YACjB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;YAC9C,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;SAClB,CAAC,CAAA;KACH,CAAA;IAED,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAA;QACjB,kDAAkD;QAClD,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAKD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IACnC,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;QACpC,cAAc,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAA;QACpE,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;QAChE,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAChC,CAAA;IACD,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAA;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IACvC,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE;YACT,KAAK,CAAC,EAAE;gBACN,iBAAiB,CAAC,EAAE,MAAM,CAAA;gBAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;gBAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;gBACd,KAAK,CAAC,EAAE,MAAM,CAAA;aACf,CAAA;YACD,MAAM,CAAC,EAAE;gBACP,iBAAiB,CAAC,EAAE,MAAM,CAAA;gBAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAA;gBAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;gBACd,KAAK,CAAC,EAAE,MAAM,CAAA;aACf,CAAA;SACF,CAAA;KACF,CAAA;CACF;AAKD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAA;IACpD,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,kBAAkB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;CAClE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACjD;AAKD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAChD,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAKD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAA;AAKzD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;CACpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agents-bridge",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Local Agent Gateway for botlink platform",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
|
+
"!dist/**/*.test.js",
|
|
23
|
+
"!dist/**/*.test.js.map",
|
|
24
|
+
"!dist/**/*.test.d.ts",
|
|
25
|
+
"!dist/**/*.test.d.ts.map",
|
|
22
26
|
"bin",
|
|
23
27
|
"config.example.json",
|
|
24
28
|
"config.multi-agent.example.json",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-output.test.d.ts","sourceRoot":"","sources":["../../src/agents/cli-output.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { createCliOutputProbe, parseCliJsonl, } from './cli-output.js';
|
|
4
|
-
const CODEX_BACKEND = {
|
|
5
|
-
command: 'codex',
|
|
6
|
-
output: 'jsonl',
|
|
7
|
-
sessionIdFields: ['thread_id'],
|
|
8
|
-
};
|
|
9
|
-
test('parseCliJsonl extracts codex thread id and final agent text', () => {
|
|
10
|
-
const raw = [
|
|
11
|
-
'{"type":"thread.started","thread_id":"thread-123"}',
|
|
12
|
-
'{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"OK"}}',
|
|
13
|
-
'{"type":"turn.completed","usage":{"input_tokens":10,"output_tokens":2}}',
|
|
14
|
-
].join('\n');
|
|
15
|
-
const parsed = parseCliJsonl(raw, CODEX_BACKEND);
|
|
16
|
-
assert.ok(parsed);
|
|
17
|
-
assert.equal(parsed.cliSessionId, 'thread-123');
|
|
18
|
-
assert.equal(parsed.text, 'OK');
|
|
19
|
-
assert.deepEqual(parsed.usage, {
|
|
20
|
-
input: 10,
|
|
21
|
-
output: 2,
|
|
22
|
-
cacheRead: undefined,
|
|
23
|
-
cacheWrite: undefined,
|
|
24
|
-
total: undefined,
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
test('parseCliJsonl keeps codex thread id even when no final text is present', () => {
|
|
28
|
-
const raw = [
|
|
29
|
-
'{"type":"thread.started","thread_id":"thread-456"}',
|
|
30
|
-
'{"type":"turn.completed","usage":{"input_tokens":10,"output_tokens":0}}',
|
|
31
|
-
].join('\n');
|
|
32
|
-
const parsed = parseCliJsonl(raw, CODEX_BACKEND);
|
|
33
|
-
assert.ok(parsed);
|
|
34
|
-
assert.equal(parsed.cliSessionId, 'thread-456');
|
|
35
|
-
assert.equal(parsed.text, '');
|
|
36
|
-
});
|
|
37
|
-
test('createCliOutputProbe tracks reconnects, fallback, and first message timing', () => {
|
|
38
|
-
const probe = createCliOutputProbe({
|
|
39
|
-
backend: CODEX_BACKEND,
|
|
40
|
-
mode: 'jsonl',
|
|
41
|
-
});
|
|
42
|
-
probe.onStdout('{"type":"thread.started","thread_id":"thread-789"}\n', 20);
|
|
43
|
-
probe.onStdout('{"type":"error","message":"Reconnecting... 2/5 (timeout waiting for child process to exit)"}\n', 40);
|
|
44
|
-
probe.onStdout('{"type":"item.completed","item":{"id":"item_0","type":"error","message":"Falling back from WebSockets to HTTPS transport. timeout waiting for child process to exit"}}\n', 60);
|
|
45
|
-
probe.onStdout('{"type":"item.completed","item":{"id":"item_1","type":"agent_message","text":"READY"}}\n', 80);
|
|
46
|
-
probe.onStdout('{"type":"turn.completed","usage":{"input_tokens":1,"output_tokens":1}}\n', 100);
|
|
47
|
-
const snapshot = probe.snapshot();
|
|
48
|
-
assert.equal(snapshot.cliSessionId, 'thread-789');
|
|
49
|
-
assert.equal(snapshot.threadStartedMs, 20);
|
|
50
|
-
assert.equal(snapshot.firstAgentMessageMs, 80);
|
|
51
|
-
assert.equal(snapshot.turnCompletedMs, 100);
|
|
52
|
-
assert.equal(snapshot.reconnectCount, 1);
|
|
53
|
-
assert.equal(snapshot.fellBackToHttps, true);
|
|
54
|
-
assert.equal(snapshot.lastText, 'READY');
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=cli-output.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-output.test.js","sourceRoot":"","sources":["../../src/agents/cli-output.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-runner.test.d.ts","sourceRoot":"","sources":["../../src/agents/cli-runner.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import { mkdtemp, rm } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { tmpdir } from 'node:os';
|
|
5
|
-
import test from 'node:test';
|
|
6
|
-
import { LocalCliTurnExecutor } from './cli-runner.js';
|
|
7
|
-
import { CliSessionStore } from './cli-session-store.js';
|
|
8
|
-
const CODEX_BACKEND = {
|
|
9
|
-
command: 'codex',
|
|
10
|
-
runtimeMode: 'app-server',
|
|
11
|
-
sessionIdFields: ['thread_id'],
|
|
12
|
-
sessionMode: 'existing',
|
|
13
|
-
serialize: true,
|
|
14
|
-
appServer: {
|
|
15
|
-
requestTimeoutMs: 30_000,
|
|
16
|
-
startupTimeoutMs: 15_000,
|
|
17
|
-
approvalPolicy: 'never',
|
|
18
|
-
sandbox: 'workspace-write',
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
function createLogger() {
|
|
22
|
-
return {
|
|
23
|
-
debug() { return undefined; },
|
|
24
|
-
info() { return undefined; },
|
|
25
|
-
warn() { return undefined; },
|
|
26
|
-
error() { return undefined; },
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function createEnvelope(sessionId) {
|
|
30
|
-
return {
|
|
31
|
-
sessionId,
|
|
32
|
-
source: {
|
|
33
|
-
channel: 'botlink',
|
|
34
|
-
chatId: 1,
|
|
35
|
-
chatType: 'private',
|
|
36
|
-
userId: 1,
|
|
37
|
-
messageId: 1,
|
|
38
|
-
},
|
|
39
|
-
content: {
|
|
40
|
-
text: 'reply with exactly OK',
|
|
41
|
-
mentions: [],
|
|
42
|
-
attachments: [],
|
|
43
|
-
},
|
|
44
|
-
meta: {
|
|
45
|
-
timestamp: Date.now(),
|
|
46
|
-
raw: {},
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
test('LocalCliTurnExecutor clears stale codex thread id and retries fresh via app-server runtime', async () => {
|
|
51
|
-
const tempDir = await mkdtemp(join(tmpdir(), 'agent-bridge-cli-runner-'));
|
|
52
|
-
const storePath = join(tempDir, 'cli-sessions.json');
|
|
53
|
-
const sessionStore = new CliSessionStore(storePath);
|
|
54
|
-
await sessionStore.setCliSessionId('session-1', 'codex-cli', 'thread-stale', {
|
|
55
|
-
model: 'gpt-5.4',
|
|
56
|
-
});
|
|
57
|
-
const runtimeCalls = [];
|
|
58
|
-
const fakeRuntime = {
|
|
59
|
-
async run(params) {
|
|
60
|
-
runtimeCalls.push(params.existingThreadId);
|
|
61
|
-
if (params.existingThreadId) {
|
|
62
|
-
throw new Error('no rollout found for thread id thread-stale');
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
text: 'READY',
|
|
66
|
-
cliSessionId: 'thread-fresh',
|
|
67
|
-
isResume: false,
|
|
68
|
-
diagnostics: {
|
|
69
|
-
queueWaitMs: 0,
|
|
70
|
-
commandElapsedMs: 10,
|
|
71
|
-
totalElapsedMs: 10,
|
|
72
|
-
outputMode: 'app-server',
|
|
73
|
-
runtimeMode: 'app-server',
|
|
74
|
-
hadStdout: false,
|
|
75
|
-
hadStderr: false,
|
|
76
|
-
reconnectCount: 0,
|
|
77
|
-
fellBackToHttps: false,
|
|
78
|
-
threadOperation: 'start',
|
|
79
|
-
threadOperationElapsedMs: 3,
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
},
|
|
83
|
-
async teardown() { },
|
|
84
|
-
};
|
|
85
|
-
const executor = new LocalCliTurnExecutor({
|
|
86
|
-
config: {
|
|
87
|
-
agents: {
|
|
88
|
-
defaults: {
|
|
89
|
-
model: { primary: 'codex-cli/gpt-5.4' },
|
|
90
|
-
cliBackends: {
|
|
91
|
-
'codex-cli': CODEX_BACKEND,
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
logger: createLogger(),
|
|
97
|
-
sessionStore,
|
|
98
|
-
createCodexRuntime: () => fakeRuntime,
|
|
99
|
-
});
|
|
100
|
-
try {
|
|
101
|
-
const result = await executor.run({
|
|
102
|
-
envelope: createEnvelope('session-1'),
|
|
103
|
-
provider: 'codex-cli',
|
|
104
|
-
model: 'gpt-5.4',
|
|
105
|
-
workspaceDir: process.cwd(),
|
|
106
|
-
timeoutMs: 60_000,
|
|
107
|
-
});
|
|
108
|
-
assert.equal(result.text, 'READY');
|
|
109
|
-
assert.equal(result.cliSessionId, 'thread-fresh');
|
|
110
|
-
assert.equal(result.isResume, false);
|
|
111
|
-
assert.deepEqual(runtimeCalls, ['thread-stale', undefined]);
|
|
112
|
-
assert.equal(await sessionStore.getCliSessionId('session-1', 'codex-cli'), 'thread-fresh');
|
|
113
|
-
}
|
|
114
|
-
finally {
|
|
115
|
-
await executor.teardown();
|
|
116
|
-
await rm(tempDir, { recursive: true, force: true });
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
//# sourceMappingURL=cli-runner.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-runner.test.js","sourceRoot":"","sources":["../../src/agents/cli-runner.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,MAAM,aAAa,GAAqB;IACtC,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,UAAU;IACvB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE;QACT,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,MAAM;QACxB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,iBAAiB;KAC3B;CACF,CAAA;AAED,SAAS,YAAY;IACnB,OAAO;QACL,KAAK,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;QAC5B,IAAI,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;QAC3B,IAAI,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;QAC3B,KAAK,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;KACR,CAAA;AACxB,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,OAAO;QACL,SAAS;QACT,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;SACb;QACD,OAAO,EAAE;YACP,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;SAChB;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,EAAE,EAAE;SACR;KACF,CAAA;AACH,CAAC;AAED,IAAI,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;IAC5G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAA;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAA;IACnD,MAAM,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE;QAC3E,KAAK,EAAE,SAAS;KACjB,CAAC,CAAA;IAEF,MAAM,YAAY,GAA8B,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG;QAClB,KAAK,CAAC,GAAG,CAAC,MAAqC;YAC7C,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC1C,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAChE,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,cAAc;gBAC5B,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE;oBACX,WAAW,EAAE,CAAC;oBACd,gBAAgB,EAAE,EAAE;oBACpB,cAAc,EAAE,EAAE;oBAClB,UAAU,EAAE,YAAqB;oBACjC,WAAW,EAAE,YAAqB;oBAClC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,CAAC;oBACjB,eAAe,EAAE,KAAK;oBACtB,eAAe,EAAE,OAAgB;oBACjC,wBAAwB,EAAE,CAAC;iBAC5B;aACF,CAAA;QACH,CAAC;QACD,KAAK,CAAC,QAAQ,KAAI,CAAC;KACpB,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC;QACxC,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACvC,WAAW,EAAE;wBACX,WAAW,EAAE,aAAa;qBAC3B;iBACF;aACF;SACO;QACV,MAAM,EAAE,YAAY,EAAE;QACtB,YAAY;QACZ,kBAAkB,EAAE,GAAG,EAAE,CAAC,WAAW;KACtC,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;YAChC,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC;YACrC,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE;YAC3B,SAAS,EAAE,MAAM;SAClB,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,KAAK,CACV,MAAM,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,EAC5D,cAAc,CACf,CAAA;IACH,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACzB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-session-store.test.d.ts","sourceRoot":"","sources":["../../src/agents/cli-session-store.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import { mkdtemp, rm } from 'node:fs/promises';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { tmpdir } from 'node:os';
|
|
5
|
-
import test from 'node:test';
|
|
6
|
-
import { CliSessionStore } from './cli-session-store.js';
|
|
7
|
-
test('findIncompleteSessions reports codex sessions without persisted thread ids', async () => {
|
|
8
|
-
const tempDir = await mkdtemp(join(tmpdir(), 'agent-bridge-session-store-'));
|
|
9
|
-
const storePath = join(tempDir, 'cli-sessions.json');
|
|
10
|
-
const store = new CliSessionStore(storePath);
|
|
11
|
-
try {
|
|
12
|
-
await store.ensureSession('session-codex-missing', {
|
|
13
|
-
provider: 'codex-cli',
|
|
14
|
-
model: 'gpt-5.4',
|
|
15
|
-
});
|
|
16
|
-
await store.setCliSessionId('session-codex-ready', 'codex-cli', 'thread-1', {
|
|
17
|
-
model: 'gpt-5.4',
|
|
18
|
-
});
|
|
19
|
-
await store.setCliSessionId('session-claude-ready', 'claude-cli', 'conversation-1', {
|
|
20
|
-
model: 'opus',
|
|
21
|
-
});
|
|
22
|
-
const incomplete = await store.findIncompleteSessions('codex-cli');
|
|
23
|
-
assert.deepEqual(incomplete.map((entry) => entry.sessionKey), ['session-codex-missing']);
|
|
24
|
-
assert.equal(incomplete[0]?.provider, 'codex-cli');
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
await rm(tempDir, { recursive: true, force: true });
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=cli-session-store.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-session-store.test.js","sourceRoot":"","sources":["../../src/agents/cli-session-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAA;IAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAA;IAE5C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,aAAa,CAAC,uBAAuB,EAAE;YACjD,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,eAAe,CAAC,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE;YAC1E,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,eAAe,CAAC,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE;YAClF,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAElE,MAAM,CAAC,SAAS,CACd,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAC3C,CAAC,uBAAuB,CAAC,CAC1B,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server-runtime.test.d.ts","sourceRoot":"","sources":["../../src/agents/codex-app-server-runtime.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { CodexAppServerRuntime } from './codex-app-server-runtime.js';
|
|
4
|
-
const CODEX_BACKEND = {
|
|
5
|
-
command: 'codex',
|
|
6
|
-
runtimeMode: 'app-server',
|
|
7
|
-
sessionIdFields: ['thread_id'],
|
|
8
|
-
appServer: {
|
|
9
|
-
requestTimeoutMs: 30_000,
|
|
10
|
-
startupTimeoutMs: 15_000,
|
|
11
|
-
approvalPolicy: 'never',
|
|
12
|
-
sandbox: 'workspace-write',
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
class FakeAppServerConnection {
|
|
16
|
-
requests = [];
|
|
17
|
-
notificationListener = null;
|
|
18
|
-
fatalListener = null;
|
|
19
|
-
turnCount = 0;
|
|
20
|
-
async ensureReady() { }
|
|
21
|
-
async request(method, params) {
|
|
22
|
-
this.requests.push({ method, params });
|
|
23
|
-
if (method === 'thread/resume') {
|
|
24
|
-
return { thread: { id: params.threadId } };
|
|
25
|
-
}
|
|
26
|
-
if (method === 'thread/start') {
|
|
27
|
-
return { thread: { id: 'thread-started' } };
|
|
28
|
-
}
|
|
29
|
-
if (method === 'turn/start') {
|
|
30
|
-
this.turnCount += 1;
|
|
31
|
-
const turnId = `turn-${this.turnCount}`;
|
|
32
|
-
const threadId = String(params.threadId);
|
|
33
|
-
queueMicrotask(() => {
|
|
34
|
-
this.notificationListener?.({
|
|
35
|
-
method: 'turn/started',
|
|
36
|
-
params: {
|
|
37
|
-
threadId,
|
|
38
|
-
turn: { id: turnId, status: 'inProgress', error: null },
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
this.notificationListener?.({
|
|
42
|
-
method: 'error',
|
|
43
|
-
params: {
|
|
44
|
-
threadId,
|
|
45
|
-
turnId,
|
|
46
|
-
willRetry: true,
|
|
47
|
-
error: {
|
|
48
|
-
message: 'Reconnecting... 2/5',
|
|
49
|
-
additionalDetails: 'timeout waiting for child process to exit',
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
this.notificationListener?.({
|
|
54
|
-
method: 'item/completed',
|
|
55
|
-
params: {
|
|
56
|
-
threadId,
|
|
57
|
-
turnId,
|
|
58
|
-
item: {
|
|
59
|
-
type: 'agentMessage',
|
|
60
|
-
id: `item-${turnId}`,
|
|
61
|
-
text: `READY-${this.turnCount}`,
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
this.notificationListener?.({
|
|
66
|
-
method: 'thread/tokenUsage/updated',
|
|
67
|
-
params: {
|
|
68
|
-
threadId,
|
|
69
|
-
turnId,
|
|
70
|
-
tokenUsage: {
|
|
71
|
-
last: {
|
|
72
|
-
inputTokens: 12,
|
|
73
|
-
outputTokens: 3,
|
|
74
|
-
cachedInputTokens: 4,
|
|
75
|
-
totalTokens: 15,
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
this.notificationListener?.({
|
|
81
|
-
method: 'turn/completed',
|
|
82
|
-
params: {
|
|
83
|
-
threadId,
|
|
84
|
-
turn: {
|
|
85
|
-
id: turnId,
|
|
86
|
-
status: 'completed',
|
|
87
|
-
error: null,
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
return { turn: { id: turnId } };
|
|
93
|
-
}
|
|
94
|
-
if (method === 'turn/interrupt') {
|
|
95
|
-
return {};
|
|
96
|
-
}
|
|
97
|
-
throw new Error(`Unhandled request ${method}`);
|
|
98
|
-
}
|
|
99
|
-
notify() { }
|
|
100
|
-
getRestartCount() {
|
|
101
|
-
return 0;
|
|
102
|
-
}
|
|
103
|
-
onNotification(listener) {
|
|
104
|
-
this.notificationListener = listener;
|
|
105
|
-
}
|
|
106
|
-
onFatalError(listener) {
|
|
107
|
-
this.fatalListener = listener;
|
|
108
|
-
}
|
|
109
|
-
emitFatal(error) {
|
|
110
|
-
this.fatalListener?.(error);
|
|
111
|
-
}
|
|
112
|
-
async dispose() { }
|
|
113
|
-
}
|
|
114
|
-
function createLogger() {
|
|
115
|
-
return {
|
|
116
|
-
debug() { return undefined; },
|
|
117
|
-
info() { return undefined; },
|
|
118
|
-
warn() { return undefined; },
|
|
119
|
-
error() { return undefined; },
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
test('Codex app-server runtime resumes once and reuses the loaded thread afterwards', async () => {
|
|
123
|
-
const connection = new FakeAppServerConnection();
|
|
124
|
-
const runtime = new CodexAppServerRuntime({
|
|
125
|
-
backend: CODEX_BACKEND,
|
|
126
|
-
logger: createLogger(),
|
|
127
|
-
connection,
|
|
128
|
-
});
|
|
129
|
-
const first = await runtime.run({
|
|
130
|
-
sessionId: 'session-1',
|
|
131
|
-
runtimeSessionId: 'runtime-1',
|
|
132
|
-
existingThreadId: 'thread-existing',
|
|
133
|
-
model: 'gpt-5.4',
|
|
134
|
-
workspaceDir: process.cwd(),
|
|
135
|
-
timeoutMs: 60_000,
|
|
136
|
-
noProgressTimeoutMs: 10_000,
|
|
137
|
-
prompt: 'reply with exactly OK',
|
|
138
|
-
});
|
|
139
|
-
const second = await runtime.run({
|
|
140
|
-
sessionId: 'session-1',
|
|
141
|
-
runtimeSessionId: 'runtime-1',
|
|
142
|
-
existingThreadId: 'thread-existing',
|
|
143
|
-
model: 'gpt-5.4',
|
|
144
|
-
workspaceDir: process.cwd(),
|
|
145
|
-
timeoutMs: 60_000,
|
|
146
|
-
noProgressTimeoutMs: 10_000,
|
|
147
|
-
prompt: 'reply with exactly AGAIN',
|
|
148
|
-
});
|
|
149
|
-
assert.equal(first.cliSessionId, 'thread-existing');
|
|
150
|
-
assert.equal(first.isResume, true);
|
|
151
|
-
assert.equal(first.text, 'READY-1');
|
|
152
|
-
assert.equal(first.usage?.input, 12);
|
|
153
|
-
assert.equal(first.usage?.output, 3);
|
|
154
|
-
assert.equal(first.usage?.cacheRead, 4);
|
|
155
|
-
assert.equal(first.diagnostics.threadOperation, 'resume');
|
|
156
|
-
assert.equal(first.diagnostics.reconnectCount, 1);
|
|
157
|
-
assert.equal(second.cliSessionId, 'thread-existing');
|
|
158
|
-
assert.equal(second.isResume, true);
|
|
159
|
-
assert.equal(second.text, 'READY-2');
|
|
160
|
-
assert.equal(second.diagnostics.threadOperation, 'reuse');
|
|
161
|
-
assert.deepEqual(connection.requests.map((entry) => entry.method), ['thread/resume', 'turn/start', 'turn/start']);
|
|
162
|
-
await runtime.teardown();
|
|
163
|
-
});
|
|
164
|
-
//# sourceMappingURL=codex-app-server-runtime.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server-runtime.test.js","sourceRoot":"","sources":["../../src/agents/codex-app-server-runtime.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-main.test.d.ts","sourceRoot":"","sources":["../../src/cli/run-main.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { parseCliArgs } from './run-main.js';
|
|
4
|
-
test('parseCliArgs treats --version as the version command', () => {
|
|
5
|
-
const args = parseCliArgs(['--version']);
|
|
6
|
-
assert.equal(args.command, 'version');
|
|
7
|
-
assert.equal(args.version, true);
|
|
8
|
-
});
|
|
9
|
-
test('parseCliArgs accepts the common --verson typo as version', () => {
|
|
10
|
-
const args = parseCliArgs(['--verson']);
|
|
11
|
-
assert.equal(args.command, 'version');
|
|
12
|
-
assert.equal(args.version, true);
|
|
13
|
-
});
|
|
14
|
-
test('parseCliArgs rejects unknown options instead of silently starting', () => {
|
|
15
|
-
assert.throws(() => parseCliArgs(['--wat']), /Unknown option\(s\): --wat/);
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=run-main.test.js.map
|