mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-09-14 23:15:14 -04:00
The DuckDuckGo HTML endpoint the search tool fell back to is disallowed by its robots.txt, so it is removed: the `duckduckgo` engine, the scrape via `performGoto`, and the tool's browser-side dependency (`execSearch` no longer needs a session). In its place `.auto` is a single walk over the API engines in table order — each when its key is set — with Keenable last, keyed if `KEENABLE_API_KEY` is set and its public endpoint otherwise. Search therefore always has a rung with zero configuration, and a set key is never shadowed by a keyless retry. Every search now goes through zenai's `std.http.Client`, which had no timeout at all; a stalled response would have blocked the MCP server's shared browser thread for every session. zenai now bounds each attempt (lightpanda-io/zenai#10, pinned here), and the tool's `timeout` argument drives it, defaulting to 10 s. Retries are a property of the call path: off in the cascade, where the next rung is the retry, and the engine default for an explicit engine. Cleanups from the #3252 review: `keyless` is derived from the client's `api_key` type instead of a hand-set table flag; `engineIndex` no longer depends on enum declaration order; one `searchKeyStatus` query replaces three pub helpers for the REPL; the engine order and env-var list in the tool description and `/searchEngine` help are generated from the table; an empty result title renders as its URL instead of `****`.
49 lines
2.3 KiB
Zig
49 lines
2.3 KiB
Zig
.{
|
|
.name = .browser,
|
|
.version = "1.0.0-dev",
|
|
.fingerprint = 0xda130f3af836cea0, // Changing this has security and trust implications.
|
|
.minimum_zig_version = "0.16.0",
|
|
.dependencies = .{
|
|
.v8 = .{
|
|
.url = "https://github.com/lightpanda-io/zig-v8-fork/archive/57747955a59f09147b4dc1142152f0d960b2c7e1.tar.gz",
|
|
.hash = "v8-0.0.0-xddH6x4GAwB6psyI4sllqMbK7cLkz-Bo3xC9WDheGksn",
|
|
},
|
|
// .v8 = .{ .path = "../zig-v8-fork" },
|
|
.brotli = .{
|
|
// v1.2.0
|
|
.url = "https://github.com/google/brotli/archive/028fb5a23661f123017c060daa546b55cf4bde29.tar.gz",
|
|
.hash = "N-V-__8AAJudKgCQCuIiH6MJjAiIJHfg_tT_Ew-0vZwVkCo_",
|
|
},
|
|
.zlib = .{
|
|
.url = "https://github.com/madler/zlib/releases/download/v1.3.2/zlib-1.3.2.tar.gz",
|
|
.hash = "N-V-__8AAJ2cNgAgfBtAw33Bxfu1IWISDeKKSr3DAqoAysIJ",
|
|
},
|
|
.nghttp2 = .{
|
|
.url = "https://github.com/nghttp2/nghttp2/releases/download/v1.69.0/nghttp2-1.69.0.tar.gz",
|
|
.hash = "N-V-__8AAMHpvwChC6orFCDB8MeiumT6OlfmKfmrWlak7Int",
|
|
},
|
|
.@"boringssl-zig" = .{
|
|
.url = "git+https://github.com/lightpanda-io/boringssl-zig.git#f07cc58fa4a051eb0985287e691db5dbb0e7e76f",
|
|
.hash = "boringssl-0.1.0-VtJeWd1OAAAQ5AuNOZGP5a_5ZyNn5BfeE-jiKqEm2gsE",
|
|
},
|
|
// .@"boringssl-zig" = .{ .path = "../boringssl-zig" },
|
|
.curl = .{
|
|
.url = "https://github.com/curl/curl/releases/download/curl-8_20_0/curl-8.20.0.tar.gz",
|
|
.hash = "N-V-__8AAHM9RQHjzJo8Wn4dbGPqNOC21zZJJA9PcCj7FPF5",
|
|
},
|
|
.sqlite3 = .{
|
|
.url = "https://github.com/allyourcodebase/sqlite3/archive/7a615f5af79009cd733e3480658586d9b0d28b35.tar.gz",
|
|
.hash = "sqlite3-3.53.2-DMxLWuAOAAA_Px0arJOIOaP4AKEu5prbsQgPMA35W1zz",
|
|
},
|
|
.zenai = .{
|
|
.url = "git+https://github.com/lightpanda-io/zenai.git#a745bb1b654e150955f7f4d84ddd1e35ed8beb9e",
|
|
.hash = "zenai-0.0.0-iOY_VI6EBgAryRPO5dH1uS_knQguW5hqcL8EfpnBKBFK",
|
|
},
|
|
.isocline = .{
|
|
.url = "git+https://github.com/arrufat/isocline?ref=lightpanda#832a9fe25f5f4458fcc47b5acc7c21db669c2f47",
|
|
.hash = "N-V-__8AANtqEwD-jr5LWeksHDYkaQSpLbu6MRHFvlPURIik",
|
|
},
|
|
},
|
|
.paths = .{""},
|
|
}
|