mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-22 04:34:44 +00:00
mcp: fix wrong merge
This commit is contained in:
@@ -97,22 +97,16 @@ const ToolStreamingText = struct {
|
|||||||
arena: ?std.mem.Allocator = null,
|
arena: ?std.mem.Allocator = null,
|
||||||
|
|
||||||
pub fn jsonStringify(self: @This(), jw: *std.json.Stringify) !void {
|
pub fn jsonStringify(self: @This(), jw: *std.json.Stringify) !void {
|
||||||
|
try jw.beginWriteRaw();
|
||||||
|
try jw.writer.writeByte('"');
|
||||||
|
var escaped: protocol.JsonEscapingWriter = .init(jw.writer);
|
||||||
|
const w = &escaped.writer;
|
||||||
|
|
||||||
switch (self.action) {
|
switch (self.action) {
|
||||||
.markdown => {
|
.markdown => lp.markdown.dump(self.page.document.asNode(), .{}, w, self.page) catch |err| {
|
||||||
try jw.beginWriteRaw();
|
log.err(.mcp, "markdown dump failed", .{ .err = err });
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
var escaped: protocol.JsonEscapingWriter = .init(jw.writer);
|
|
||||||
lp.markdown.dump(self.page.document.asNode(), .{}, &escaped.writer, self.page) catch |err| {
|
|
||||||
log.err(.mcp, "markdown dump failed", .{ .err = err });
|
|
||||||
};
|
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
jw.endWriteRaw();
|
|
||||||
},
|
},
|
||||||
.links => {
|
.links => {
|
||||||
try jw.beginWriteRaw();
|
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
var escaped: protocol.JsonEscapingWriter = .init(jw.writer);
|
|
||||||
const w = &escaped.writer;
|
|
||||||
if (Selector.querySelectorAll(self.page.document.asNode(), "a[href]", self.page)) |list| {
|
if (Selector.querySelectorAll(self.page.document.asNode(), "a[href]", self.page)) |list| {
|
||||||
defer list.deinit(self.page);
|
defer list.deinit(self.page);
|
||||||
var first = true;
|
var first = true;
|
||||||
@@ -133,15 +127,8 @@ const ToolStreamingText = struct {
|
|||||||
} else |err| {
|
} else |err| {
|
||||||
log.err(.mcp, "query links failed", .{ .err = err });
|
log.err(.mcp, "query links failed", .{ .err = err });
|
||||||
}
|
}
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
jw.endWriteRaw();
|
|
||||||
},
|
},
|
||||||
.semantic_tree => {
|
.semantic_tree => {
|
||||||
// Return the highly compressed Stagehand-style text format for maximum token efficiency
|
|
||||||
try jw.beginWriteRaw();
|
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
var escaped: protocol.JsonEscapingWriter = .init(jw.writer);
|
|
||||||
|
|
||||||
const st = lp.SemanticTree{
|
const st = lp.SemanticTree{
|
||||||
.dom_node = self.page.document.asNode(),
|
.dom_node = self.page.document.asNode(),
|
||||||
.registry = self.registry.?,
|
.registry = self.registry.?,
|
||||||
@@ -149,14 +136,14 @@ const ToolStreamingText = struct {
|
|||||||
.arena = self.arena.?,
|
.arena = self.arena.?,
|
||||||
};
|
};
|
||||||
|
|
||||||
st.textStringify(&escaped.writer) catch |err| {
|
st.textStringify(w) catch |err| {
|
||||||
log.err(.mcp, "semantic tree dump failed", .{ .err = err });
|
log.err(.mcp, "semantic tree dump failed", .{ .err = err });
|
||||||
};
|
};
|
||||||
|
|
||||||
try jw.writer.writeByte('"');
|
|
||||||
jw.endWriteRaw();
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try jw.writer.writeByte('"');
|
||||||
|
jw.endWriteRaw();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user