@kenkaiiii/ggcoder 4.3.199 → 4.3.200
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/package.json +6 -5
- package/dist/core/bridge-client.d.ts +0 -31
- package/dist/core/bridge-client.d.ts.map +0 -1
- package/dist/core/bridge-client.js +0 -124
- package/dist/core/bridge-client.js.map +0 -1
- package/dist/core/bridge-config.d.ts +0 -8
- package/dist/core/bridge-config.d.ts.map +0 -1
- package/dist/core/bridge-config.js +0 -52
- package/dist/core/bridge-config.js.map +0 -1
- package/dist/core/bridge-protocol.d.ts +0 -76
- package/dist/core/bridge-protocol.d.ts.map +0 -1
- package/dist/core/bridge-protocol.js +0 -30
- package/dist/core/bridge-protocol.js.map +0 -1
- package/dist/core/oauth/gemini.d.ts +0 -4
- package/dist/core/oauth/gemini.d.ts.map +0 -1
- package/dist/core/oauth/gemini.js +0 -293
- package/dist/core/oauth/gemini.js.map +0 -1
- package/dist/core/socket-server.d.ts +0 -15
- package/dist/core/socket-server.d.ts.map +0 -1
- package/dist/core/socket-server.js +0 -140
- package/dist/core/socket-server.js.map +0 -1
- package/dist/modes/bridge-mode.d.ts +0 -22
- package/dist/modes/bridge-mode.d.ts.map +0 -1
- package/dist/modes/bridge-mode.js +0 -281
- package/dist/modes/bridge-mode.js.map +0 -1
- package/dist/ui/buddy/Buddy.d.ts +0 -15
- package/dist/ui/buddy/Buddy.d.ts.map +0 -1
- package/dist/ui/buddy/Buddy.js +0 -118
- package/dist/ui/buddy/Buddy.js.map +0 -1
- package/dist/ui/buddy/gacha.d.ts +0 -8
- package/dist/ui/buddy/gacha.d.ts.map +0 -1
- package/dist/ui/buddy/gacha.js +0 -94
- package/dist/ui/buddy/gacha.js.map +0 -1
- package/dist/ui/buddy/species.d.ts +0 -52
- package/dist/ui/buddy/species.d.ts.map +0 -1
- package/dist/ui/buddy/species.js +0 -257
- package/dist/ui/buddy/species.js.map +0 -1
- package/dist/ui/components/ScrollableContent.d.ts +0 -22
- package/dist/ui/components/ScrollableContent.d.ts.map +0 -1
- package/dist/ui/components/ScrollableContent.js +0 -44
- package/dist/ui/components/ScrollableContent.js.map +0 -1
- package/dist/ui/components/ShimmerLine.d.ts +0 -6
- package/dist/ui/components/ShimmerLine.d.ts.map +0 -1
- package/dist/ui/components/ShimmerLine.js +0 -46
- package/dist/ui/components/ShimmerLine.js.map +0 -1
- package/dist/ui/components/SplashScreen.d.ts +0 -7
- package/dist/ui/components/SplashScreen.d.ts.map +0 -1
- package/dist/ui/components/SplashScreen.js +0 -113
- package/dist/ui/components/SplashScreen.js.map +0 -1
- package/dist/ui/components/ThinkingIndicator.d.ts +0 -6
- package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
- package/dist/ui/components/ThinkingIndicator.js +0 -145
- package/dist/ui/components/ThinkingIndicator.js.map +0 -1
- package/dist/ui/hooks/useMouseScroll.d.ts.map +0 -1
- package/dist/ui/hooks/useMouseScroll.js.map +0 -1
- package/dist/ui/hooks/useScrollViewport.d.ts +0 -25
- package/dist/ui/hooks/useScrollViewport.d.ts.map +0 -1
- package/dist/ui/hooks/useScrollViewport.js +0 -32
- package/dist/ui/hooks/useScrollViewport.js.map +0 -1
- package/dist/ui/utils/item-heights.d.ts +0 -17
- package/dist/ui/utils/item-heights.d.ts.map +0 -1
- package/dist/ui/utils/item-heights.js +0 -73
- package/dist/ui/utils/item-heights.js.map +0 -1
- package/dist/ui/utils/scroll-pause.d.ts +0 -13
- package/dist/ui/utils/scroll-pause.d.ts.map +0 -1
- package/dist/ui/utils/sync-output.d.ts +0 -16
- package/dist/ui/utils/sync-output.d.ts.map +0 -1
- package/dist/ui/utils/sync-output.js +0 -70
- package/dist/ui/utils/sync-output.js.map +0 -1
- package/dist/utils/markdown.d.ts +0 -6
- package/dist/utils/markdown.d.ts.map +0 -1
- package/dist/utils/markdown.js +0 -25
- package/dist/utils/markdown.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.200",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI coding agent with OAuth authentication for Anthropic and OpenAI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
"string-width": "^8.2.0",
|
|
79
79
|
"wrap-ansi": "^10.0.0",
|
|
80
80
|
"zod": "^4.4.3",
|
|
81
|
-
"@kenkaiiii/gg-agent": "4.3.
|
|
82
|
-
"@kenkaiiii/gg-ai": "4.3.199",
|
|
81
|
+
"@kenkaiiii/gg-agent": "4.3.200",
|
|
83
82
|
"@kenkaiiii/gg-pixel": "4.3.95",
|
|
84
|
-
"@kenkaiiii/ggcoder-eyes": "0.1.2"
|
|
83
|
+
"@kenkaiiii/ggcoder-eyes": "0.1.2",
|
|
84
|
+
"@kenkaiiii/gg-ai": "4.3.200"
|
|
85
85
|
},
|
|
86
86
|
"optionalDependencies": {
|
|
87
87
|
"@huggingface/transformers": "^3.6.0",
|
|
@@ -97,7 +97,8 @@
|
|
|
97
97
|
"access": "public"
|
|
98
98
|
},
|
|
99
99
|
"scripts": {
|
|
100
|
-
"
|
|
100
|
+
"clean": "node --eval \"fs.rmSync('dist', { recursive: true, force: true })\"",
|
|
101
|
+
"build": "pnpm clean && tsc",
|
|
101
102
|
"check": "tsc --noEmit",
|
|
102
103
|
"test": "vitest run",
|
|
103
104
|
"verify:repomap": "pnpm build && node scripts/verify-repomap-focus.js",
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,124 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-client.js","sourceRoot":"","sources":["../../src/core/bridge-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { OAuthCredentials, OAuthLoginCallbacks } from "./types.js";
|
|
2
|
-
export declare function loginGemini(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
|
|
3
|
-
export declare function refreshGeminiToken(refreshToken: string): Promise<OAuthCredentials>;
|
|
4
|
-
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/core/oauth/gemini.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BxE,wBAAsB,WAAW,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsB3F;AAqID,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6BxF"}
|