mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-06-11 09:35:59 -04:00
agent: add MCP server mode with task tool
This commit is contained in:
18
src/main.zig
18
src/main.zig
@@ -196,6 +196,24 @@ fn run(allocator: Allocator, main_arena: Allocator) !void {
|
||||
fn agentThread(allocator: std.mem.Allocator, app: *App, opts: Config.Agent, failed: *bool) void {
|
||||
defer app.network.stop();
|
||||
|
||||
if (opts.mcp) {
|
||||
var stdout = std.fs.File.stdout().writer(&.{});
|
||||
var server = lp.agent.McpServer.init(allocator, app, opts, &stdout.interface) catch |err| {
|
||||
log.fatal(.app, "agent mcp init error", .{ .err = err });
|
||||
failed.* = true;
|
||||
return;
|
||||
};
|
||||
defer server.deinit();
|
||||
|
||||
var stdin_buf: [64 * 1024]u8 = undefined;
|
||||
var stdin = std.fs.File.stdin().reader(&stdin_buf);
|
||||
lp.mcp.router.processRequests(server, &stdin.interface) catch |err| {
|
||||
log.err(.app, "agent mcp error", .{ .err = err });
|
||||
failed.* = true;
|
||||
};
|
||||
return;
|
||||
}
|
||||
|
||||
var agent_instance = lp.agent.Agent.init(allocator, app, opts) catch |err| {
|
||||
log.fatal(.app, "agent init error", .{ .err = err });
|
||||
failed.* = true;
|
||||
|
||||
Reference in New Issue
Block a user