@kenkaiiii/ggcoder 4.2.65 → 4.2.67
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/dist/cli.js +81 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/bridge-client.d.ts +31 -0
- package/dist/core/bridge-client.d.ts.map +1 -0
- package/dist/core/bridge-client.js +124 -0
- package/dist/core/bridge-client.js.map +1 -0
- package/dist/core/bridge-config.d.ts +8 -0
- package/dist/core/bridge-config.d.ts.map +1 -0
- package/dist/core/bridge-config.js +52 -0
- package/dist/core/bridge-config.js.map +1 -0
- package/dist/core/bridge-protocol.d.ts +76 -0
- package/dist/core/bridge-protocol.d.ts.map +1 -0
- package/dist/core/bridge-protocol.js +30 -0
- package/dist/core/bridge-protocol.js.map +1 -0
- package/dist/modes/bridge-mode.d.ts +22 -0
- package/dist/modes/bridge-mode.d.ts.map +1 -0
- package/dist/modes/bridge-mode.js +281 -0
- package/dist/modes/bridge-mode.js.map +1 -0
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js +1 -0
- package/dist/modes/index.js.map +1 -1
- package/dist/ui/App.d.ts +1 -7
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +2 -5
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/ActivityIndicator.d.ts +3 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +10 -2
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +14 -6
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/package.json +3 -3
package/dist/cli.js
CHANGED
|
@@ -32,6 +32,8 @@ import { renderApp } from "./ui/render.js";
|
|
|
32
32
|
import { runJsonMode } from "./modes/json-mode.js";
|
|
33
33
|
import { runRpcMode } from "./modes/rpc-mode.js";
|
|
34
34
|
import { runServeMode } from "./modes/serve-mode.js";
|
|
35
|
+
import { runBridgeMode } from "./modes/bridge-mode.js";
|
|
36
|
+
import { loadBridgeConfig, runBridgeSetup } from "./core/bridge-config.js";
|
|
35
37
|
import { renderLoginSelector } from "./ui/login.js";
|
|
36
38
|
import { renderSessionSelector } from "./ui/sessions.js";
|
|
37
39
|
import { formatUserError } from "./utils/error-handler.js";
|
|
@@ -119,6 +121,7 @@ function printHelp() {
|
|
|
119
121
|
["continue", "Resume the most recent session"],
|
|
120
122
|
["serve", "Start the HTTP/WebSocket API server"],
|
|
121
123
|
["telegram", "Configure Telegram bot integration"],
|
|
124
|
+
["bridge", "Connect to Agent Home as a remote agent"],
|
|
122
125
|
];
|
|
123
126
|
for (const [name, desc] of cmds) {
|
|
124
127
|
console.log(` ${accent(name.padEnd(20))} ${dim(desc)}`);
|
|
@@ -230,6 +233,16 @@ function main() {
|
|
|
230
233
|
});
|
|
231
234
|
return;
|
|
232
235
|
}
|
|
236
|
+
if (subcommand === "bridge") {
|
|
237
|
+
process.argv.splice(2, 1);
|
|
238
|
+
runBridge().catch((err) => {
|
|
239
|
+
log("ERROR", "fatal", err instanceof Error ? err.message : String(err));
|
|
240
|
+
closeLogger();
|
|
241
|
+
process.stderr.write(formatUserError(err) + "\n");
|
|
242
|
+
process.exit(1);
|
|
243
|
+
});
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
233
246
|
if (subcommand === "continue") {
|
|
234
247
|
// Remove "continue" so parseArgs handles remaining flags
|
|
235
248
|
process.argv.splice(2, 1);
|
|
@@ -850,6 +863,74 @@ async function runServe() {
|
|
|
850
863
|
telegram: { botToken, userId },
|
|
851
864
|
});
|
|
852
865
|
}
|
|
866
|
+
// ── Bridge (Agent Home) ─────────────────────────────────
|
|
867
|
+
async function runBridge() {
|
|
868
|
+
const { values: bridgeValues } = parseArgs({
|
|
869
|
+
options: {
|
|
870
|
+
setup: { type: "boolean" },
|
|
871
|
+
name: { type: "string" },
|
|
872
|
+
provider: { type: "string" },
|
|
873
|
+
model: { type: "string" },
|
|
874
|
+
},
|
|
875
|
+
strict: true,
|
|
876
|
+
});
|
|
877
|
+
// Load or run setup
|
|
878
|
+
let bridgeConfig = await loadBridgeConfig();
|
|
879
|
+
if (!bridgeConfig || bridgeValues.setup) {
|
|
880
|
+
console.log(chalk.hex("#a78bfa")("\n Agent Home Bridge Setup\n"));
|
|
881
|
+
bridgeConfig = await runBridgeSetup();
|
|
882
|
+
console.log(chalk.hex("#4ade80")("\n ✓ Bridge config saved\n"));
|
|
883
|
+
if (bridgeValues.setup)
|
|
884
|
+
return; // --setup only configures, doesn't start
|
|
885
|
+
}
|
|
886
|
+
// Load saved settings
|
|
887
|
+
let savedProvider;
|
|
888
|
+
let savedModel;
|
|
889
|
+
let savedThinkingEnabled = false;
|
|
890
|
+
try {
|
|
891
|
+
const raw = JSON.parse(fs.readFileSync(getAppPaths().settingsFile, "utf-8"));
|
|
892
|
+
if (raw.defaultProvider)
|
|
893
|
+
savedProvider = raw.defaultProvider;
|
|
894
|
+
if (raw.defaultModel)
|
|
895
|
+
savedModel = raw.defaultModel;
|
|
896
|
+
if (raw.thinkingEnabled === true)
|
|
897
|
+
savedThinkingEnabled = true;
|
|
898
|
+
}
|
|
899
|
+
catch {
|
|
900
|
+
// No settings file
|
|
901
|
+
}
|
|
902
|
+
const provider = bridgeValues.provider ?? savedProvider ?? "anthropic";
|
|
903
|
+
function getDefault(p) {
|
|
904
|
+
if (p === "openai")
|
|
905
|
+
return "gpt-5.3-codex";
|
|
906
|
+
if (p === "glm")
|
|
907
|
+
return "glm-5.1";
|
|
908
|
+
if (p === "moonshot")
|
|
909
|
+
return "kimi-k2.5";
|
|
910
|
+
return "claude-opus-4-6";
|
|
911
|
+
}
|
|
912
|
+
const model = bridgeValues.model ?? savedModel ?? getDefault(provider);
|
|
913
|
+
const thinkingLevel = savedThinkingEnabled ? "medium" : undefined;
|
|
914
|
+
const paths = await ensureAppDirs();
|
|
915
|
+
initLogger(paths.logFile, {
|
|
916
|
+
version: CLI_VERSION,
|
|
917
|
+
provider,
|
|
918
|
+
model,
|
|
919
|
+
});
|
|
920
|
+
setEstimatorModel(model);
|
|
921
|
+
await runBridgeMode({
|
|
922
|
+
provider,
|
|
923
|
+
model,
|
|
924
|
+
cwd: process.cwd(),
|
|
925
|
+
version: CLI_VERSION,
|
|
926
|
+
thinkingLevel,
|
|
927
|
+
agentName: bridgeValues.name,
|
|
928
|
+
bridge: {
|
|
929
|
+
relayUrl: bridgeConfig.relayUrl,
|
|
930
|
+
token: bridgeConfig.token,
|
|
931
|
+
},
|
|
932
|
+
});
|
|
933
|
+
}
|
|
853
934
|
// ── Helpers ────────────────────────────────────────────────
|
|
854
935
|
function displayName(provider) {
|
|
855
936
|
if (provider === "anthropic")
|
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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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type BridgeMessage } from "./bridge-protocol.js";
|
|
2
|
+
type MessageHandler = (message: BridgeMessage) => void;
|
|
3
|
+
export declare class BridgeClient {
|
|
4
|
+
private ws;
|
|
5
|
+
private url;
|
|
6
|
+
private token;
|
|
7
|
+
private handlers;
|
|
8
|
+
private reconnectAttempt;
|
|
9
|
+
private reconnectTimer;
|
|
10
|
+
private heartbeatTimer;
|
|
11
|
+
private agentIds;
|
|
12
|
+
private onConnectCallback;
|
|
13
|
+
private onDisconnectCallback;
|
|
14
|
+
private intentionalClose;
|
|
15
|
+
constructor(url: string, token: string);
|
|
16
|
+
onConnect(callback: () => void): void;
|
|
17
|
+
onDisconnect(callback: () => void): void;
|
|
18
|
+
connect(): void;
|
|
19
|
+
disconnect(): void;
|
|
20
|
+
send(message: BridgeMessage): void;
|
|
21
|
+
on(type: string, handler: MessageHandler): () => void;
|
|
22
|
+
setAgentIds(ids: string[]): void;
|
|
23
|
+
/** Generate a unique message ID. */
|
|
24
|
+
static newId(): string;
|
|
25
|
+
private doConnect;
|
|
26
|
+
private startHeartbeat;
|
|
27
|
+
private scheduleReconnect;
|
|
28
|
+
private clearTimers;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=bridge-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-client.d.ts","sourceRoot":"","sources":["../../src/core/bridge-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKvE,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvD,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,gBAAgB,CAAS;gBAErB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrC,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIxC,OAAO,IAAI,IAAI;IAKf,UAAU,IAAI,IAAI;IASlB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMlC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IAUrD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhC,oCAAoC;IACpC,MAAM,CAAC,KAAK,IAAI,MAAM;IAItB,OAAO,CAAC,SAAS;IAsCjB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAUpB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { MessageType } from "./bridge-protocol.js";
|
|
3
|
+
const HEARTBEAT_INTERVAL = 30000;
|
|
4
|
+
const RECONNECT_INTERVALS = [1000, 2000, 4000, 8000, 16000, 30000];
|
|
5
|
+
export class BridgeClient {
|
|
6
|
+
ws = null;
|
|
7
|
+
url;
|
|
8
|
+
token;
|
|
9
|
+
handlers = new Map();
|
|
10
|
+
reconnectAttempt = 0;
|
|
11
|
+
reconnectTimer = null;
|
|
12
|
+
heartbeatTimer = null;
|
|
13
|
+
agentIds = [];
|
|
14
|
+
onConnectCallback = null;
|
|
15
|
+
onDisconnectCallback = null;
|
|
16
|
+
intentionalClose = false;
|
|
17
|
+
constructor(url, token) {
|
|
18
|
+
this.url = url;
|
|
19
|
+
this.token = token;
|
|
20
|
+
}
|
|
21
|
+
onConnect(callback) {
|
|
22
|
+
this.onConnectCallback = callback;
|
|
23
|
+
}
|
|
24
|
+
onDisconnect(callback) {
|
|
25
|
+
this.onDisconnectCallback = callback;
|
|
26
|
+
}
|
|
27
|
+
connect() {
|
|
28
|
+
this.intentionalClose = false;
|
|
29
|
+
this.doConnect();
|
|
30
|
+
}
|
|
31
|
+
disconnect() {
|
|
32
|
+
this.intentionalClose = true;
|
|
33
|
+
this.clearTimers();
|
|
34
|
+
if (this.ws) {
|
|
35
|
+
this.ws.close();
|
|
36
|
+
this.ws = null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
send(message) {
|
|
40
|
+
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
|
|
41
|
+
this.ws.send(JSON.stringify(message));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
on(type, handler) {
|
|
45
|
+
if (!this.handlers.has(type)) {
|
|
46
|
+
this.handlers.set(type, new Set());
|
|
47
|
+
}
|
|
48
|
+
this.handlers.get(type).add(handler);
|
|
49
|
+
return () => {
|
|
50
|
+
this.handlers.get(type)?.delete(handler);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
setAgentIds(ids) {
|
|
54
|
+
this.agentIds = ids;
|
|
55
|
+
}
|
|
56
|
+
/** Generate a unique message ID. */
|
|
57
|
+
static newId() {
|
|
58
|
+
return crypto.randomUUID();
|
|
59
|
+
}
|
|
60
|
+
doConnect() {
|
|
61
|
+
this.clearTimers();
|
|
62
|
+
const sep = this.url.includes("?") ? "&" : "?";
|
|
63
|
+
this.ws = new WebSocket(`${this.url}${sep}token=${this.token}`);
|
|
64
|
+
this.ws.addEventListener("open", () => {
|
|
65
|
+
this.reconnectAttempt = 0;
|
|
66
|
+
this.startHeartbeat();
|
|
67
|
+
this.onConnectCallback?.();
|
|
68
|
+
});
|
|
69
|
+
this.ws.addEventListener("message", (event) => {
|
|
70
|
+
try {
|
|
71
|
+
const message = JSON.parse(String(event.data));
|
|
72
|
+
const handlers = this.handlers.get(message.type);
|
|
73
|
+
if (handlers) {
|
|
74
|
+
for (const handler of handlers) {
|
|
75
|
+
handler(message);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Ignore unparseable messages
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
this.ws.addEventListener("close", () => {
|
|
84
|
+
this.clearTimers();
|
|
85
|
+
this.onDisconnectCallback?.();
|
|
86
|
+
if (!this.intentionalClose) {
|
|
87
|
+
this.scheduleReconnect();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
this.ws.addEventListener("error", () => {
|
|
91
|
+
// Error events are followed by close events — reconnect handled there
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
startHeartbeat() {
|
|
95
|
+
this.heartbeatTimer = setInterval(() => {
|
|
96
|
+
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
|
|
97
|
+
this.send({
|
|
98
|
+
id: BridgeClient.newId(),
|
|
99
|
+
type: MessageType.AGENT_HEARTBEAT,
|
|
100
|
+
timestamp: Date.now(),
|
|
101
|
+
agentIds: this.agentIds,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, HEARTBEAT_INTERVAL);
|
|
105
|
+
}
|
|
106
|
+
scheduleReconnect() {
|
|
107
|
+
const delay = RECONNECT_INTERVALS[Math.min(this.reconnectAttempt, RECONNECT_INTERVALS.length - 1)];
|
|
108
|
+
this.reconnectTimer = setTimeout(() => {
|
|
109
|
+
this.reconnectAttempt++;
|
|
110
|
+
this.doConnect();
|
|
111
|
+
}, delay);
|
|
112
|
+
}
|
|
113
|
+
clearTimers() {
|
|
114
|
+
if (this.reconnectTimer) {
|
|
115
|
+
clearTimeout(this.reconnectTimer);
|
|
116
|
+
this.reconnectTimer = null;
|
|
117
|
+
}
|
|
118
|
+
if (this.heartbeatTimer) {
|
|
119
|
+
clearInterval(this.heartbeatTimer);
|
|
120
|
+
this.heartbeatTimer = null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=bridge-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-client.js","sourceRoot":"","sources":["../../src/core/bridge-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface BridgeConfig {
|
|
2
|
+
relayUrl: string;
|
|
3
|
+
token: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function loadBridgeConfig(): Promise<BridgeConfig | null>;
|
|
6
|
+
export declare function saveBridgeConfig(config: BridgeConfig): Promise<void>;
|
|
7
|
+
export declare function runBridgeSetup(): Promise<BridgeConfig>;
|
|
8
|
+
//# sourceMappingURL=bridge-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-config.d.ts","sourceRoot":"","sources":["../../src/core/bridge-config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CASrE;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CA4B5D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import readline from "node:readline/promises";
|
|
4
|
+
import { getAppPaths } from "../config.js";
|
|
5
|
+
function getConfigPath() {
|
|
6
|
+
return path.join(getAppPaths().agentDir, "bridge.json");
|
|
7
|
+
}
|
|
8
|
+
export async function loadBridgeConfig() {
|
|
9
|
+
try {
|
|
10
|
+
const raw = await fs.readFile(getConfigPath(), "utf-8");
|
|
11
|
+
const data = JSON.parse(raw);
|
|
12
|
+
if (data.relayUrl && data.token)
|
|
13
|
+
return data;
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export async function saveBridgeConfig(config) {
|
|
21
|
+
const configPath = getConfigPath();
|
|
22
|
+
await fs.mkdir(path.dirname(configPath), { recursive: true });
|
|
23
|
+
await fs.writeFile(configPath, JSON.stringify(config, null, 2), {
|
|
24
|
+
encoding: "utf-8",
|
|
25
|
+
mode: 0o600,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export async function runBridgeSetup() {
|
|
29
|
+
const existing = await loadBridgeConfig();
|
|
30
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
31
|
+
try {
|
|
32
|
+
const defaultUrl = "wss://agent-home-relay.buzzbeamaustralia.workers.dev/ws";
|
|
33
|
+
const urlPrompt = existing
|
|
34
|
+
? ` Relay URL (enter to keep current): `
|
|
35
|
+
: ` Relay URL (enter for default): `;
|
|
36
|
+
const urlInput = await rl.question(urlPrompt);
|
|
37
|
+
const relayUrl = urlInput.trim() || existing?.relayUrl || defaultUrl;
|
|
38
|
+
const tokenPrompt = existing ? ` Bridge token (enter to keep current): ` : ` Bridge token: `;
|
|
39
|
+
const tokenInput = await rl.question(tokenPrompt);
|
|
40
|
+
const token = tokenInput.trim() || existing?.token;
|
|
41
|
+
if (!token) {
|
|
42
|
+
throw new Error("No bridge token provided. Setup cancelled.");
|
|
43
|
+
}
|
|
44
|
+
const config = { relayUrl, token };
|
|
45
|
+
await saveBridgeConfig(config);
|
|
46
|
+
return config;
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
rl.close();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=bridge-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-config.js","sourceRoot":"","sources":["../../src/core/bridge-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAO3C,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAoB;IACzD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAC9D,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE1C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,yDAAyD,CAAC;QAE7E,MAAM,SAAS,GAAG,QAAQ;YACxB,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,mCAAmC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,QAAQ,IAAI,UAAU,CAAC;QAErE,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC/F,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,KAAK,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjD,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export declare enum MessageType {
|
|
2
|
+
CHAT_SEND = "chat.send",
|
|
3
|
+
AGENT_LIST = "agent.list",
|
|
4
|
+
HISTORY_REQUEST = "history.request",
|
|
5
|
+
CHAT_RECEIVE = "chat.receive",
|
|
6
|
+
CHAT_STREAM = "chat.stream",
|
|
7
|
+
CHAT_STREAM_END = "chat.stream.end",
|
|
8
|
+
AGENT_LIST_RESPONSE = "agent.list.response",
|
|
9
|
+
AGENT_STATUS = "agent.status",
|
|
10
|
+
HISTORY_RESPONSE = "history.response",
|
|
11
|
+
ERROR = "error",
|
|
12
|
+
AGENT_REGISTER = "agent.register",
|
|
13
|
+
AGENT_UNREGISTER = "agent.unregister",
|
|
14
|
+
AGENT_HEARTBEAT = "agent.heartbeat",
|
|
15
|
+
CHAT_FORWARD = "chat.forward"
|
|
16
|
+
}
|
|
17
|
+
export declare enum AgentStatus {
|
|
18
|
+
ONLINE = "online",
|
|
19
|
+
OFFLINE = "offline",
|
|
20
|
+
BUSY = "busy"
|
|
21
|
+
}
|
|
22
|
+
export interface BaseMessage {
|
|
23
|
+
id: string;
|
|
24
|
+
type: MessageType;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
}
|
|
27
|
+
export interface AgentInfo {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
icon?: string;
|
|
32
|
+
capabilities?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface AgentRegister extends BaseMessage {
|
|
35
|
+
type: MessageType.AGENT_REGISTER;
|
|
36
|
+
agent: AgentInfo;
|
|
37
|
+
}
|
|
38
|
+
export interface AgentUnregister extends BaseMessage {
|
|
39
|
+
type: MessageType.AGENT_UNREGISTER;
|
|
40
|
+
agentId: string;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentHeartbeat extends BaseMessage {
|
|
43
|
+
type: MessageType.AGENT_HEARTBEAT;
|
|
44
|
+
agentIds: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface ChatStream extends BaseMessage {
|
|
47
|
+
type: MessageType.CHAT_STREAM;
|
|
48
|
+
agentId: string;
|
|
49
|
+
token: string;
|
|
50
|
+
messageId: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ChatStreamEnd extends BaseMessage {
|
|
53
|
+
type: MessageType.CHAT_STREAM_END;
|
|
54
|
+
agentId: string;
|
|
55
|
+
messageId: string;
|
|
56
|
+
content: string;
|
|
57
|
+
}
|
|
58
|
+
export interface ChatReceive extends BaseMessage {
|
|
59
|
+
type: MessageType.CHAT_RECEIVE;
|
|
60
|
+
agentId: string;
|
|
61
|
+
content: string;
|
|
62
|
+
messageId: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ChatForward extends BaseMessage {
|
|
65
|
+
type: MessageType.CHAT_FORWARD;
|
|
66
|
+
agentId: string;
|
|
67
|
+
content: string;
|
|
68
|
+
userId: string;
|
|
69
|
+
}
|
|
70
|
+
export interface ErrorMessage extends BaseMessage {
|
|
71
|
+
type: MessageType.ERROR;
|
|
72
|
+
code: string;
|
|
73
|
+
message: string;
|
|
74
|
+
}
|
|
75
|
+
export type BridgeMessage = AgentRegister | AgentUnregister | AgentHeartbeat | ChatStream | ChatStreamEnd | ChatReceive | ChatForward | ErrorMessage;
|
|
76
|
+
//# sourceMappingURL=bridge-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-protocol.d.ts","sourceRoot":"","sources":["../../src/core/bridge-protocol.ts"],"names":[],"mappings":"AAGA,oBAAY,WAAW;IAErB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IAGnC,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;IAGf,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IAGnC,YAAY,iBAAiB;CAC9B;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAID,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAID,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC;IACjC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC7C,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,eAAe,GACf,cAAc,GACd,UAAU,GACV,aAAa,GACb,WAAW,GACX,WAAW,GACX,YAAY,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Inlined protocol types for Agent Home bridge communication.
|
|
2
|
+
// Mirrors @agent-home/protocol — no Zod dependency needed on bridge side.
|
|
3
|
+
export var MessageType;
|
|
4
|
+
(function (MessageType) {
|
|
5
|
+
// Client → Relay
|
|
6
|
+
MessageType["CHAT_SEND"] = "chat.send";
|
|
7
|
+
MessageType["AGENT_LIST"] = "agent.list";
|
|
8
|
+
MessageType["HISTORY_REQUEST"] = "history.request";
|
|
9
|
+
// Relay → Client
|
|
10
|
+
MessageType["CHAT_RECEIVE"] = "chat.receive";
|
|
11
|
+
MessageType["CHAT_STREAM"] = "chat.stream";
|
|
12
|
+
MessageType["CHAT_STREAM_END"] = "chat.stream.end";
|
|
13
|
+
MessageType["AGENT_LIST_RESPONSE"] = "agent.list.response";
|
|
14
|
+
MessageType["AGENT_STATUS"] = "agent.status";
|
|
15
|
+
MessageType["HISTORY_RESPONSE"] = "history.response";
|
|
16
|
+
MessageType["ERROR"] = "error";
|
|
17
|
+
// Bridge → Relay
|
|
18
|
+
MessageType["AGENT_REGISTER"] = "agent.register";
|
|
19
|
+
MessageType["AGENT_UNREGISTER"] = "agent.unregister";
|
|
20
|
+
MessageType["AGENT_HEARTBEAT"] = "agent.heartbeat";
|
|
21
|
+
// Relay → Bridge
|
|
22
|
+
MessageType["CHAT_FORWARD"] = "chat.forward";
|
|
23
|
+
})(MessageType || (MessageType = {}));
|
|
24
|
+
export var AgentStatus;
|
|
25
|
+
(function (AgentStatus) {
|
|
26
|
+
AgentStatus["ONLINE"] = "online";
|
|
27
|
+
AgentStatus["OFFLINE"] = "offline";
|
|
28
|
+
AgentStatus["BUSY"] = "busy";
|
|
29
|
+
})(AgentStatus || (AgentStatus = {}));
|
|
30
|
+
//# sourceMappingURL=bridge-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-protocol.js","sourceRoot":"","sources":["../../src/core/bridge-protocol.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0EAA0E;AAE1E,MAAM,CAAN,IAAY,WAsBX;AAtBD,WAAY,WAAW;IACrB,iBAAiB;IACjB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,kDAAmC,CAAA;IAEnC,iBAAiB;IACjB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,kDAAmC,CAAA;IACnC,0DAA2C,CAAA;IAC3C,4CAA6B,CAAA;IAC7B,oDAAqC,CAAA;IACrC,8BAAe,CAAA;IAEf,iBAAiB;IACjB,gDAAiC,CAAA;IACjC,oDAAqC,CAAA;IACrC,kDAAmC,CAAA;IAEnC,iBAAiB;IACjB,4CAA6B,CAAA;AAC/B,CAAC,EAtBW,WAAW,KAAX,WAAW,QAsBtB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;AACf,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
|