wave-code 0.19.2 → 0.19.4
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/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/stdio/agentBridge.d.ts +80 -0
- package/dist/stdio/agentBridge.d.ts.map +1 -0
- package/dist/stdio/agentBridge.js +562 -0
- package/dist/stdio/index.d.ts +4 -0
- package/dist/stdio/index.d.ts.map +1 -0
- package/dist/stdio/index.js +3 -0
- package/dist/stdio/protocol.d.ts +42 -0
- package/dist/stdio/protocol.d.ts.map +1 -0
- package/dist/stdio/protocol.js +26 -0
- package/dist/stdio/stdioServer.d.ts +34 -0
- package/dist/stdio/stdioServer.d.ts.map +1 -0
- package/dist/stdio/stdioServer.js +127 -0
- package/dist/stdio-cli.d.ts +9 -0
- package/dist/stdio-cli.d.ts.map +1 -0
- package/dist/stdio-cli.js +15 -0
- package/package.json +3 -4
- package/src/index.ts +12 -11
- package/src/stdio/agentBridge.ts +965 -0
- package/src/stdio/index.ts +7 -0
- package/src/stdio/protocol.ts +134 -0
- package/src/stdio/stdioServer.ts +169 -0
- package/src/stdio-cli.ts +18 -0
- package/dist/acp/agent.d.ts +0 -32
- package/dist/acp/agent.d.ts.map +0 -1
- package/dist/acp/agent.js +0 -1163
- package/dist/acp/index.d.ts +0 -2
- package/dist/acp/index.d.ts.map +0 -1
- package/dist/acp/index.js +0 -22
- package/dist/acp-cli.d.ts +0 -2
- package/dist/acp-cli.d.ts.map +0 -1
- package/dist/acp-cli.js +0 -4
- package/src/acp/agent.ts +0 -1501
- package/src/acp/index.ts +0 -28
- package/src/acp-cli.ts +0 -5
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,wBAAsB,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,wBAAsB,IAAI,kBAsZzB;AAGD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,12 @@ export async function main() {
|
|
|
38
38
|
description: "Print response without interactive mode",
|
|
39
39
|
type: "string",
|
|
40
40
|
global: false,
|
|
41
|
+
})
|
|
42
|
+
.option("stdio", {
|
|
43
|
+
description: "Start in stdio mode (JSON-RPC over stdin/stdout)",
|
|
44
|
+
type: "boolean",
|
|
45
|
+
default: false,
|
|
46
|
+
global: false,
|
|
41
47
|
})
|
|
42
48
|
.option("show-stats", {
|
|
43
49
|
description: "Show timing and usage statistics in print mode",
|
|
@@ -92,11 +98,6 @@ export async function main() {
|
|
|
92
98
|
description: "MCP server configuration as JSON string (same format as .mcp.json)",
|
|
93
99
|
type: "string",
|
|
94
100
|
global: false,
|
|
95
|
-
})
|
|
96
|
-
.option("acp", {
|
|
97
|
-
description: "Run as an ACP bridge",
|
|
98
|
-
type: "boolean",
|
|
99
|
-
global: false,
|
|
100
101
|
})
|
|
101
102
|
.command("plugin", "Manage plugins and marketplaces", (yargs) => {
|
|
102
103
|
return yargs
|
|
@@ -250,11 +251,6 @@ export async function main() {
|
|
|
250
251
|
if (worktreeSession) {
|
|
251
252
|
process.chdir(workdir);
|
|
252
253
|
}
|
|
253
|
-
// Handle ACP mode
|
|
254
|
-
if (argv.acp) {
|
|
255
|
-
const { runAcp } = await import("./acp-cli.js");
|
|
256
|
-
return runAcp();
|
|
257
|
-
}
|
|
258
254
|
// Handle restore session command
|
|
259
255
|
if (argv.restore === "" ||
|
|
260
256
|
(process.argv.includes("-r") && argv.restore === undefined) ||
|
|
@@ -302,6 +298,11 @@ export async function main() {
|
|
|
302
298
|
mcpServers,
|
|
303
299
|
});
|
|
304
300
|
}
|
|
301
|
+
// Handle stdio mode
|
|
302
|
+
if (argv.stdio) {
|
|
303
|
+
const { startStdioCli } = await import("./stdio-cli.js");
|
|
304
|
+
return startStdioCli();
|
|
305
|
+
}
|
|
305
306
|
await startCli({
|
|
306
307
|
restoreSessionId: argv.restore,
|
|
307
308
|
continueLastSession: argv.continue,
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentBridge — wraps the SDK Agent and translates between the JSON-RPC-like
|
|
3
|
+
* stdio protocol and Agent method calls / callbacks.
|
|
4
|
+
*
|
|
5
|
+
* Multi-tenant: maintains a Map<sessionId, {agent, storedConfig}> so a single
|
|
6
|
+
* `wave --stdio` process can host multiple sessions. Session-scoped requests
|
|
7
|
+
* carry `sessionId` on the JSON-RPC envelope for routing; global requests
|
|
8
|
+
* (listSessions/searchFiles/auth/plugins) don't require it but may use it
|
|
9
|
+
* for workdir fallback.
|
|
10
|
+
*
|
|
11
|
+
* Responsibilities:
|
|
12
|
+
* - Route incoming requests to the appropriate Agent method (by sessionId)
|
|
13
|
+
* - Translate AgentCallbacks into outgoing notifications (with sessionId)
|
|
14
|
+
* - Implement the canUseTool permission flow over the stdio protocol
|
|
15
|
+
* - Handle config updates by destroying and recreating the Agent
|
|
16
|
+
*/
|
|
17
|
+
import { type JsonRpcError } from "./protocol.js";
|
|
18
|
+
export type NotificationEmitter = (method: string, params: unknown, sessionId?: string) => void;
|
|
19
|
+
export interface AgentBridgeOptions {
|
|
20
|
+
emit: NotificationEmitter;
|
|
21
|
+
}
|
|
22
|
+
export declare class AgentBridge {
|
|
23
|
+
private sessions;
|
|
24
|
+
private pendingPermissions;
|
|
25
|
+
private permissionCounter;
|
|
26
|
+
private emit;
|
|
27
|
+
private pluginCore;
|
|
28
|
+
private pluginCoreWorkdir;
|
|
29
|
+
constructor(options: AgentBridgeOptions);
|
|
30
|
+
handleRequest(method: string, params: unknown, sessionId?: string): Promise<unknown>;
|
|
31
|
+
handleNotification(method: string, params: unknown): void;
|
|
32
|
+
private initialize;
|
|
33
|
+
private destroy;
|
|
34
|
+
private restoreSession;
|
|
35
|
+
private listSessions;
|
|
36
|
+
private getSessionInfo;
|
|
37
|
+
private updateConfig;
|
|
38
|
+
private sendMessage;
|
|
39
|
+
private bang;
|
|
40
|
+
private abortMessage;
|
|
41
|
+
private clearMessages;
|
|
42
|
+
private rewindToMessage;
|
|
43
|
+
private deleteQueuedMessage;
|
|
44
|
+
private getMessages;
|
|
45
|
+
private getFullMessageThread;
|
|
46
|
+
private setPermissionMode;
|
|
47
|
+
private getPermissionMode;
|
|
48
|
+
private getMcpServers;
|
|
49
|
+
private connectMcpServer;
|
|
50
|
+
private disconnectMcpServer;
|
|
51
|
+
private getSlashCommands;
|
|
52
|
+
private searchFiles;
|
|
53
|
+
private getPromptHistory;
|
|
54
|
+
private searchPromptHistory;
|
|
55
|
+
private canUseTool;
|
|
56
|
+
private getAuthStatus;
|
|
57
|
+
private login;
|
|
58
|
+
private logout;
|
|
59
|
+
private getPluginCore;
|
|
60
|
+
private listPlugins;
|
|
61
|
+
private installPlugin;
|
|
62
|
+
private uninstallPlugin;
|
|
63
|
+
private enablePlugin;
|
|
64
|
+
private disablePlugin;
|
|
65
|
+
private updatePlugin;
|
|
66
|
+
private listMarketplaces;
|
|
67
|
+
private addMarketplace;
|
|
68
|
+
private removeMarketplace;
|
|
69
|
+
private updateMarketplace;
|
|
70
|
+
private createCallbacks;
|
|
71
|
+
private findLastUserMessage;
|
|
72
|
+
private requireSession;
|
|
73
|
+
private getSessionWorkdir;
|
|
74
|
+
}
|
|
75
|
+
export declare class RpcError extends Error {
|
|
76
|
+
code: number;
|
|
77
|
+
constructor(code: number, message: string);
|
|
78
|
+
toJsonRpcError(): JsonRpcError;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=agentBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentBridge.d.ts","sourceRoot":"","sources":["../../src/stdio/agentBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAuBH,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AAiBvB,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,KACf,IAAI,CAAC;AAEV,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAsDD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,kBAAkB,CAGtB;IACJ,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,OAAO,EAAE,kBAAkB;IAMjC,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAyJnB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;YAiB3C,UAAU;YAsDV,OAAO;YAWP,cAAc;YASd,YAAY;IAU1B,OAAO,CAAC,cAAc;YAiBR,YAAY;YAkDZ,WAAW;YA2BX,IAAI;YAMJ,YAAY;YAMZ,aAAa;YAMb,eAAe;IAuB7B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,WAAW;YAKL,oBAAoB;YAUpB,iBAAiB;IAS/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,aAAa;YAKP,gBAAgB;YAShB,mBAAmB;IAWjC,OAAO,CAAC,gBAAgB;YAOV,WAAW;YAYX,gBAAgB;YAYhB,mBAAmB;IAejC,OAAO,CAAC,UAAU;YA+BJ,aAAa;YAWb,KAAK;YAaL,MAAM;IAQpB,OAAO,CAAC,aAAa;YAUP,WAAW;YAoBX,aAAa;YAYb,eAAe;YASf,YAAY;YASZ,aAAa;YAYb,YAAY;YAQZ,gBAAgB;YAIhB,cAAc;YASd,iBAAiB;YAUjB,iBAAiB;IAW/B,OAAO,CAAC,eAAe;IA0GvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,iBAAiB;CAI1B;AAID,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;gBACD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKzC,cAAc,IAAI,YAAY;CAG/B"}
|