@noirhare/dsh-web-search-tavily 0.1.0 → 0.1.3

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/lib/host.js CHANGED
@@ -38,34 +38,40 @@ var formatError = (error) => {
38
38
  };
39
39
  };
40
40
  var TavilyWebSearchProvider = class {
41
- constructor(settings) {
42
- this.settings = settings;
41
+ constructor(config) {
42
+ this.config = config;
43
43
  }
44
- settings;
44
+ config;
45
45
  id = name;
46
46
  available() {
47
- const config = this.settings.get();
48
- if (!config.token) return false;
49
- if (config.token.trim().length === 0) return false;
47
+ const keyless = this.config.keyless.get();
48
+ if (keyless) return true;
49
+ const token = this.config.token.get();
50
+ if (!token) return false;
51
+ if (token.trim().length === 0) return false;
50
52
  return true;
51
53
  }
52
54
  async search(request, signal) {
53
- const config = this.settings.get();
55
+ const url = this.config.url.get();
56
+ const token = this.config.token.get();
57
+ const keyless = this.config.keyless.get();
58
+ const searchDepth = this.config.searchDepth.get();
59
+ const chunksPerSource = this.config.chunksPerSource.get();
54
60
  let response;
55
61
  try {
56
- response = await fetch(config.url, {
62
+ response = await fetch(url, {
57
63
  method: "POST",
58
64
  redirect: "follow",
59
65
  headers: {
60
- ...!config.keyless ? { authorization: `Bearer ${config.token}` } : { "X-Tavily-Access-Mode": "keyless" },
66
+ ...!keyless ? { authorization: `Bearer ${token}` } : { "X-Tavily-Access-Mode": "keyless" },
61
67
  "content-type": "application/json",
62
68
  accept: "application/json",
63
69
  "user-agent": "deepseek-harness/0.0.1"
64
70
  },
65
71
  body: JSON.stringify({
66
72
  query: request.query,
67
- search_depth: config.searchDepth,
68
- chunks_per_source: config.chunksPerSource,
73
+ search_depth: searchDepth,
74
+ chunks_per_source: chunksPerSource,
69
75
  max_results: request.maxResults,
70
76
  include_answer: true
71
77
  }),
@@ -82,7 +88,7 @@ var TavilyWebSearchProvider = class {
82
88
  const error = (await response.json())?.detail?.error;
83
89
  if (error !== void 0 && error.length > 0) message = error;
84
90
  } catch (error) {
85
- if (isAbortError(error)) throw new WebError("Exa search aborted", "WEB_ABORTED", { cause: error });
91
+ if (isAbortError(error)) throw new WebError("Tavily search aborted", "WEB_ABORTED", { cause: error });
86
92
  }
87
93
  throw new WebError(message, "WEB_PROVIDER_ERROR");
88
94
  }
@@ -110,20 +116,21 @@ var TavilyWebSearchProvider = class {
110
116
  var name = "@noirhare/dsh-web-search-tavily";
111
117
  var inject = ["settings", "web"];
112
118
  var Config = z.object({
113
- url: z.string().default(TAILY_DEFAULT_URL),
114
- token: z.string().min(2),
115
- keyless: z.boolean().default(false),
116
- searchDepth: z.union(["basic", "advanced", "fast", "ultra-fast"]),
117
- chunksPerSource: z.number().min(1).max(3)
119
+ url: z.string().volatile().default(TAILY_DEFAULT_URL),
120
+ token: z.string().volatile().min(2),
121
+ keyless: z.boolean().volatile().default(false),
122
+ searchDepth: z.union(["basic", "advanced", "fast", "ultra-fast"]).volatile(),
123
+ chunksPerSource: z.number().volatile().min(1).max(3)
118
124
  });
119
125
  var apply = (ctx, config) => {
120
- const settings = ctx.settings.register("noirhare-dsh-web-search-tavily", Config, {
121
- base: {
126
+ ctx.web.registerSearchProvider(
127
+ new TavilyWebSearchProvider({
122
128
  ...config,
123
- token: config.token ?? launchEnvironmentOf(ctx).get("TAVILY_API_KEY")?.value
124
- }
125
- });
126
- ctx.web.registerSearchProvider(new TavilyWebSearchProvider(settings));
129
+ token: {
130
+ get: () => config.token.get() ?? launchEnvironmentOf(ctx).get("TAVILY_API_KEY")?.value
131
+ }
132
+ })
133
+ );
127
134
  };
128
135
  export {
129
136
  Config,
@@ -131,4 +138,4 @@ export {
131
138
  inject,
132
139
  name
133
140
  };
134
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9wcm92aWRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIkBkZWVwc2Vlay1haS9jb3JkaXNcIjtcclxuaW1wb3J0IHR5cGUge30gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtc2V0dGluZ3NcIjtcclxuaW1wb3J0IHR5cGUge30gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtd2ViXCI7XHJcblxyXG5pbXBvcnQgeiBmcm9tIFwiQGRlZXBzZWVrLWFpL3NjaGVtYXN0ZXJ5XCI7XHJcbmltcG9ydCB7IGxhdW5jaEVudmlyb25tZW50T2YgfSBmcm9tIFwiQGRlZXBzZWVrLWFpL2RzaC1sYXVuY2gtZW52aXJvbm1lbnRcIjtcclxuaW1wb3J0IHsgVEFJTFlfREVGQVVMVF9VUkwsIFRhdmlseVdlYlNlYXJjaFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZyA9IHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgdG9rZW4/OiBzdHJpbmc7XHJcbiAgICBrZXlsZXNzOiBib29sZWFuO1xyXG5cclxuICAgIHNlYXJjaERlcHRoPzogXCJiYXNpY1wiIHwgXCJhZHZhbmNlZFwiIHwgXCJmYXN0XCIgfCBcInVsdHJhLWZhc3RcIjtcclxuICAgIGNodW5rc1BlclNvdXJjZT86IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBuYW1lID0gXCJAbm9pcmhhcmUvZHNoLXdlYi1zZWFyY2gtdGF2aWx5XCI7XHJcblxyXG5leHBvcnQgY29uc3QgaW5qZWN0ID0gW1wic2V0dGluZ3NcIiwgXCJ3ZWJcIl07XHJcblxyXG5leHBvcnQgY29uc3QgQ29uZmlnOiB6PENvbmZpZz4gPSB6Lm9iamVjdCh7XHJcbiAgICB1cmw6IHouc3RyaW5nKCkuZGVmYXVsdChUQUlMWV9ERUZBVUxUX1VSTCksXHJcbiAgICB0b2tlbjogei5zdHJpbmcoKS5taW4oMiksXHJcbiAgICBrZXlsZXNzOiB6LmJvb2xlYW4oKS5kZWZhdWx0KGZhbHNlKSxcclxuXHJcbiAgICBzZWFyY2hEZXB0aDogei51bmlvbihbXCJiYXNpY1wiLCBcImFkdmFuY2VkXCIsIFwiZmFzdFwiLCBcInVsdHJhLWZhc3RcIl0gYXMgY29uc3QpLFxyXG4gICAgY2h1bmtzUGVyU291cmNlOiB6Lm51bWJlcigpLm1pbigxKS5tYXgoMyksXHJcbn0pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFwcGx5ID0gKGN0eDogQ29udGV4dCwgY29uZmlnOiBDb25maWcpID0+IHtcclxuICAgIGNvbnN0IHNldHRpbmdzID0gY3R4LnNldHRpbmdzLnJlZ2lzdGVyKFwibm9pcmhhcmUtZHNoLXdlYi1zZWFyY2gtdGF2aWx5XCIsIENvbmZpZywge1xyXG4gICAgICAgIGJhc2U6IHtcclxuICAgICAgICAgICAgLi4uY29uZmlnLFxyXG4gICAgICAgICAgICB0b2tlbjogY29uZmlnLnRva2VuID8/IGxhdW5jaEVudmlyb25tZW50T2YoY3R4KS5nZXQoXCJUQVZJTFlfQVBJX0tFWVwiKT8udmFsdWUsXHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGN0eC53ZWIucmVnaXN0ZXJTZWFyY2hQcm92aWRlcihuZXcgVGF2aWx5V2ViU2VhcmNoUHJvdmlkZXIoc2V0dGluZ3MpKTtcclxufTtcclxuIiwgImltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSBcIi4vaW5kZXhcIjtcclxuXHJcbmltcG9ydCB7IFdlYkVycm9yLCBXZWJTZWFyY2hQcm92aWRlciwgV2ViU2VhcmNoUmVxdWVzdCwgV2ViU2VhcmNoUmVzdWx0IH0gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtd2ViXCI7XHJcbmltcG9ydCB7IG5hbWUgfSBmcm9tIFwiLi9pbmRleFwiO1xyXG5cclxudHlwZSBUYWlseVNlYXJjaFJlc3BvbnNlID0ge1xyXG4gICAgYW5zd2VyOiBzdHJpbmc7XHJcbiAgICByZXN1bHRzOiB7XHJcbiAgICAgICAgdGl0bGU6IHN0cmluZztcclxuICAgICAgICB1cmw6IHN0cmluZztcclxuICAgICAgICBjb250ZW50OiBzdHJpbmc7XHJcbiAgICB9W107XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgVEFJTFlfREVGQVVMVF9VUkwgPSBcImh0dHBzOi8vYXBpLnRhdmlseS5jb20vc2VhcmNoXCI7XHJcblxyXG5jb25zdCBpc0Fib3J0RXJyb3IgPSAoZXJyb3I6IHVua25vd24pID0+IHtcclxuICAgIHJldHVybiBlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnJvci5uYW1lID09PSBcIkFib3J0RXJyb3JcIjtcclxufTtcclxuXHJcbmNvbnN0IGZvcm1hdEVycm9yID0gKGVycm9yOiB1bmtub3duKSA9PiB7XHJcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgcmV0dXJuIFN0cmluZyhlcnJvcik7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBjb25zdCBwdXNoID0gKGU6IHVua25vd24pID0+IHtcclxuICAgICAgICBpZiAoIWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFN0cmluZyhlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFnZ3JlZ2F0ZUVycm9yKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIltcIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlcnJvci5lcnJvcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBlcnJvci5lcnJvcnNbaV07XHJcbiAgICAgICAgICAgICAgICBwdXNoKGUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGkgIT09IGVycm9yLmVycm9ycy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IGAgfCBgO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIl1cIjtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgICBpZiAoZXJyb3IuY2F1c2UpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiW1wiO1xyXG4gICAgICAgICAgICBwdXNoKGVycm9yLmNhdXNlKTtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiXVwiO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgVGF2aWx5V2ViU2VhcmNoUHJvdmlkZXIgaW1wbGVtZW50cyBXZWJTZWFyY2hQcm92aWRlciB7XHJcbiAgICBpZDogc3RyaW5nID0gbmFtZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBzZXR0aW5nczogeyBnZXQoKTogQ29uZmlnIH0pIHt9XHJcblxyXG4gICAgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuc2V0dGluZ3MuZ2V0KCk7XHJcblxyXG4gICAgICAgIGlmICghY29uZmlnLnRva2VuKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKGNvbmZpZy50b2tlbi50cmltKCkubGVuZ3RoID09PSAwKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNlYXJjaChyZXF1ZXN0OiBXZWJTZWFyY2hSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8V2ViU2VhcmNoUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5zZXR0aW5ncy5nZXQoKTtcclxuXHJcbiAgICAgICAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKGNvbmZpZy51cmwsIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgICAgICAgICByZWRpcmVjdDogXCJmb2xsb3dcIixcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAuLi4oIWNvbmZpZy5rZXlsZXNzID8geyBhdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29uZmlnLnRva2VufWAgfSA6IHsgXCJYLVRhdmlseS1BY2Nlc3MtTW9kZVwiOiBcImtleWxlc3NcIiB9KSxcclxuICAgICAgICAgICAgICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgICAgICAgICBhY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwidXNlci1hZ2VudFwiOiBcImRlZXBzZWVrLWhhcm5lc3MvMC4wLjFcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHJlcXVlc3QucXVlcnksXHJcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoX2RlcHRoOiBjb25maWcuc2VhcmNoRGVwdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzX3Blcl9zb3VyY2U6IGNvbmZpZy5jaHVua3NQZXJTb3VyY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4X3Jlc3VsdHM6IHJlcXVlc3QubWF4UmVzdWx0cyxcclxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2Fuc3dlcjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgLi4uKHNpZ25hbCAhPT0gdW5kZWZpbmVkID8geyBzaWduYWwgfSA6IHt9KSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcclxuICAgICAgICAgICAgaWYgKGlzQWJvcnRFcnJvcihlcnJvcikpIHRocm93IG5ldyBXZWJFcnJvcihcIlRhdmlseSBzZWFyY2ggYWJvcnRlZFwiLCBcIldFQl9BQk9SVEVEXCIsIHsgY2F1c2U6IGVycm9yIH0pO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgV2ViRXJyb3IoYFRhdmlseSBzZWFyY2ggcmVxdWVzdCBmYWlsZWQ6ICR7Zm9ybWF0RXJyb3IoZXJyb3IpfWAsIFwiV0VCX1BST1ZJREVSX0VSUk9SXCIsIHsgY2F1c2U6IGVycm9yIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xyXG4gICAgICAgICAgICBjb25zdCBzdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7XHJcbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gYFRhdmlseSBBUEkgZXJyb3IgKEhUVFAgJHtzdGF0dXN9KWA7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9ICgoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyB7IGRldGFpbD86IHsgZXJyb3I/OiBzdHJpbmcgfSB9KT8uZGV0YWlsPy5lcnJvcjtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPT0gdW5kZWZpbmVkICYmIGVycm9yLmxlbmd0aCA+IDApIG1lc3NhZ2UgPSBlcnJvcjtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0Fib3J0RXJyb3IoZXJyb3IpKSB0aHJvdyBuZXcgV2ViRXJyb3IoXCJFeGEgc2VhcmNoIGFib3J0ZWRcIiwgXCJXRUJfQUJPUlRFRFwiLCB7IGNhdXNlOiBlcnJvciB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgV2ViRXJyb3IobWVzc2FnZSwgXCJXRUJfUFJPVklERVJfRVJST1JcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgVGFpbHlTZWFyY2hSZXNwb25zZTtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHBheWxvYWQuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgc291cmNlczogcGF5bG9hZC5yZXN1bHRzLm1hcCgocikgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHIudXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiByLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIHNuaXBwZXQ6IHIuY29udGVudCxcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICAgIHRydW5jYXRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xyXG4gICAgICAgICAgICBpZiAoaXNBYm9ydEVycm9yKGVycm9yKSkgdGhyb3cgbmV3IFdlYkVycm9yKFwiVGFpbHkgc2VhcmNoIGFib3J0ZWRcIiwgXCJXRUJfQUJPUlRFRFwiLCB7IGNhdXNlOiBlcnJvciB9KTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFdlYkVycm9yKGBUYWlseSByZXR1cm5lZCBhbiB1bnByb2Nlc3NhYmxlIHJlc3BvbnNlIGJvZHk6ICR7Zm9ybWF0RXJyb3IoZXJyb3IpfWAsIFwiV0VCX1BST1ZJREVSX0VSUk9SXCIsIHtcclxuICAgICAgICAgICAgICAgIGNhdXNlOiBlcnJvcixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAg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
141
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9wcm92aWRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIkBkZWVwc2Vlay1haS9jb3JkaXNcIjtcclxuaW1wb3J0IHR5cGUge30gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtc2V0dGluZ3NcIjtcclxuaW1wb3J0IHR5cGUge30gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtd2ViXCI7XHJcblxyXG5pbXBvcnQgeiBmcm9tIFwiQGRlZXBzZWVrLWFpL3NjaGVtYXN0ZXJ5XCI7XHJcbmltcG9ydCB7IGxhdW5jaEVudmlyb25tZW50T2YgfSBmcm9tIFwiQGRlZXBzZWVrLWFpL2RzaC1sYXVuY2gtZW52aXJvbm1lbnRcIjtcclxuaW1wb3J0IHsgVEFJTFlfREVGQVVMVF9VUkwsIFRhdmlseVdlYlNlYXJjaFByb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBuYW1lID0gXCJAbm9pcmhhcmUvZHNoLXdlYi1zZWFyY2gtdGF2aWx5XCI7XHJcblxyXG5leHBvcnQgY29uc3QgaW5qZWN0ID0gW1wic2V0dGluZ3NcIiwgXCJ3ZWJcIl07XHJcblxyXG5leHBvcnQgY29uc3QgQ29uZmlnID0gei5vYmplY3Qoe1xyXG4gICAgdXJsOiB6LnN0cmluZygpLnZvbGF0aWxlKCkuZGVmYXVsdChUQUlMWV9ERUZBVUxUX1VSTCksXHJcbiAgICB0b2tlbjogei5zdHJpbmcoKS52b2xhdGlsZSgpLm1pbigyKSxcclxuICAgIGtleWxlc3M6IHouYm9vbGVhbigpLnZvbGF0aWxlKCkuZGVmYXVsdChmYWxzZSksXHJcblxyXG4gICAgc2VhcmNoRGVwdGg6IHoudW5pb24oW1wiYmFzaWNcIiwgXCJhZHZhbmNlZFwiLCBcImZhc3RcIiwgXCJ1bHRyYS1mYXN0XCJdIGFzIGNvbnN0KS52b2xhdGlsZSgpLFxyXG4gICAgY2h1bmtzUGVyU291cmNlOiB6Lm51bWJlcigpLnZvbGF0aWxlKCkubWluKDEpLm1heCgzKSxcclxufSk7XHJcblxyXG5leHBvcnQgY29uc3QgYXBwbHkgPSAoY3R4OiBDb250ZXh0LCBjb25maWc6IFJldHVyblR5cGU8dHlwZW9mIENvbmZpZz4pID0+IHtcclxuICAgIGN0eC53ZWIucmVnaXN0ZXJTZWFyY2hQcm92aWRlcihcclxuICAgICAgICBuZXcgVGF2aWx5V2ViU2VhcmNoUHJvdmlkZXIoe1xyXG4gICAgICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgICAgIHRva2VuOiB7XHJcbiAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IGNvbmZpZy50b2tlbi5nZXQoKSA/PyBsYXVuY2hFbnZpcm9ubWVudE9mKGN0eCkuZ2V0KFwiVEFWSUxZX0FQSV9LRVlcIik/LnZhbHVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pLFxyXG4gICAgKTtcclxufTtcclxuIiwgImltcG9ydCB0eXBlIHsgQ29uZmlnIH0gZnJvbSBcIi4vaW5kZXhcIjtcclxuXHJcbmltcG9ydCB7IFdlYkVycm9yLCBXZWJTZWFyY2hQcm92aWRlciwgV2ViU2VhcmNoUmVxdWVzdCwgV2ViU2VhcmNoUmVzdWx0IH0gZnJvbSBcIkBkZWVwc2Vlay1haS9kc2gtd2ViXCI7XHJcbmltcG9ydCB7IG5hbWUgfSBmcm9tIFwiLi9pbmRleFwiO1xyXG5cclxudHlwZSBUYWlseVNlYXJjaFJlc3BvbnNlID0ge1xyXG4gICAgYW5zd2VyOiBzdHJpbmc7XHJcbiAgICByZXN1bHRzOiB7XHJcbiAgICAgICAgdGl0bGU6IHN0cmluZztcclxuICAgICAgICB1cmw6IHN0cmluZztcclxuICAgICAgICBjb250ZW50OiBzdHJpbmc7XHJcbiAgICB9W107XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgVEFJTFlfREVGQVVMVF9VUkwgPSBcImh0dHBzOi8vYXBpLnRhdmlseS5jb20vc2VhcmNoXCI7XHJcblxyXG5jb25zdCBpc0Fib3J0RXJyb3IgPSAoZXJyb3I6IHVua25vd24pID0+IHtcclxuICAgIHJldHVybiBlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnJvci5uYW1lID09PSBcIkFib3J0RXJyb3JcIjtcclxufTtcclxuXHJcbmNvbnN0IGZvcm1hdEVycm9yID0gKGVycm9yOiB1bmtub3duKSA9PiB7XHJcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgcmV0dXJuIFN0cmluZyhlcnJvcik7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBjb25zdCBwdXNoID0gKGU6IHVua25vd24pID0+IHtcclxuICAgICAgICBpZiAoIWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFN0cmluZyhlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFnZ3JlZ2F0ZUVycm9yKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIltcIjtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlcnJvci5lcnJvcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBlcnJvci5lcnJvcnNbaV07XHJcbiAgICAgICAgICAgICAgICBwdXNoKGUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGkgIT09IGVycm9yLmVycm9ycy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IGAgfCBgO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBcIl1cIjtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ICs9IGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgICBpZiAoZXJyb3IuY2F1c2UpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiW1wiO1xyXG4gICAgICAgICAgICBwdXNoKGVycm9yLmNhdXNlKTtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IFwiXVwiO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgVGF2aWx5V2ViU2VhcmNoUHJvdmlkZXIgaW1wbGVtZW50cyBXZWJTZWFyY2hQcm92aWRlciB7XHJcbiAgICBpZDogc3RyaW5nID0gbmFtZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25maWc6IFJldHVyblR5cGU8dHlwZW9mIENvbmZpZz4pIHt9XHJcblxyXG4gICAgYXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGtleWxlc3MgPSB0aGlzLmNvbmZpZy5rZXlsZXNzLmdldCgpO1xyXG4gICAgICAgIGlmIChrZXlsZXNzKSByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmNvbmZpZy50b2tlbi5nZXQoKTtcclxuICAgICAgICBpZiAoIXRva2VuKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRva2VuLnRyaW0oKS5sZW5ndGggPT09IDApIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VhcmNoKHJlcXVlc3Q6IFdlYlNlYXJjaFJlcXVlc3QsIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTxXZWJTZWFyY2hSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmNvbmZpZy51cmwuZ2V0KCk7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmNvbmZpZy50b2tlbi5nZXQoKTtcclxuICAgICAgICBjb25zdCBrZXlsZXNzID0gdGhpcy5jb25maWcua2V5bGVzcy5nZXQoKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VhcmNoRGVwdGggPSB0aGlzLmNvbmZpZy5zZWFyY2hEZXB0aC5nZXQoKTtcclxuICAgICAgICBjb25zdCBjaHVua3NQZXJTb3VyY2UgPSB0aGlzLmNvbmZpZy5jaHVua3NQZXJTb3VyY2UuZ2V0KCk7XHJcblxyXG4gICAgICAgIGxldCByZXNwb25zZTogUmVzcG9uc2U7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgICAgICAgICByZWRpcmVjdDogXCJmb2xsb3dcIixcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAuLi4oIWtleWxlc3MgPyB7IGF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gOiB7IFwiWC1UYXZpbHktQWNjZXNzLU1vZGVcIjogXCJrZXlsZXNzXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcInVzZXItYWdlbnRcIjogXCJkZWVwc2Vlay1oYXJuZXNzLzAuMC4xXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiByZXF1ZXN0LnF1ZXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaF9kZXB0aDogc2VhcmNoRGVwdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtzX3Blcl9zb3VyY2U6IGNodW5rc1BlclNvdXJjZSxcclxuICAgICAgICAgICAgICAgICAgICBtYXhfcmVzdWx0czogcmVxdWVzdC5tYXhSZXN1bHRzLFxyXG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfYW5zd2VyOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAuLi4oc2lnbmFsICE9PSB1bmRlZmluZWQgPyB7IHNpZ25hbCB9IDoge30pLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xyXG4gICAgICAgICAgICBpZiAoaXNBYm9ydEVycm9yKGVycm9yKSkgdGhyb3cgbmV3IFdlYkVycm9yKFwiVGF2aWx5IHNlYXJjaCBhYm9ydGVkXCIsIFwiV0VCX0FCT1JURURcIiwgeyBjYXVzZTogZXJyb3IgfSk7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBXZWJFcnJvcihgVGF2aWx5IHNlYXJjaCByZXF1ZXN0IGZhaWxlZDogJHtmb3JtYXRFcnJvcihlcnJvcil9YCwgXCJXRUJfUFJPVklERVJfRVJST1JcIiwgeyBjYXVzZTogZXJyb3IgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cztcclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSBgVGF2aWx5IEFQSSBlcnJvciAoSFRUUCAke3N0YXR1c30pYDtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gKChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIHsgZGV0YWlsPzogeyBlcnJvcj86IHN0cmluZyB9IH0pPy5kZXRhaWw/LmVycm9yO1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yICE9PSB1bmRlZmluZWQgJiYgZXJyb3IubGVuZ3RoID4gMCkgbWVzc2FnZSA9IGVycm9yO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQWJvcnRFcnJvcihlcnJvcikpIHRocm93IG5ldyBXZWJFcnJvcihcIlRhdmlseSBzZWFyY2ggYWJvcnRlZFwiLCBcIldFQl9BQk9SVEVEXCIsIHsgY2F1c2U6IGVycm9yIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBXZWJFcnJvcihtZXNzYWdlLCBcIldFQl9QUk9WSURFUl9FUlJPUlwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBUYWlseVNlYXJjaFJlc3BvbnNlO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogcGF5bG9hZC5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICBzb3VyY2VzOiBwYXlsb2FkLnJlc3VsdHMubWFwKChyKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogci51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHIudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgc25pcHBldDogci5jb250ZW50LFxyXG4gICAgICAgICAgICAgICAgfSkpLFxyXG4gICAgICAgICAgICAgICAgdHJ1bmNhdGVkOiB0cnVlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0Fib3J0RXJyb3IoZXJyb3IpKSB0aHJvdyBuZXcgV2ViRXJyb3IoXCJUYWlseSBzZWFyY2ggYWJvcnRlZFwiLCBcIldFQl9BQk9SVEVEXCIsIHsgY2F1c2U6IGVycm9yIH0pO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgV2ViRXJyb3IoYFRhaWx5IHJldHVybmVkIGFuIHVucHJvY2Vzc2FibGUgcmVzcG9uc2UgYm9keTogJHtmb3JtYXRFcnJvcihlcnJvcil9YCwgXCJXRUJfUFJPVklERVJfRVJST1JcIiwge1xyXG4gICAgICAgICAgICAgICAgY2F1c2U6IGVycm9yLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUlBLE9BQU8sT0FBTztBQUNkLFNBQVMsMkJBQTJCOzs7QUNIcEMsU0FBUyxnQkFBc0U7QUFZeEUsSUFBTSxvQkFBb0I7QUFFakMsSUFBTSxlQUFlLENBQUMsVUFBbUI7QUFDckMsU0FBTyxpQkFBaUIsZ0JBQWdCLE1BQU0sU0FBUztBQUMzRDtBQUVBLElBQU0sY0FBYyxDQUFDLFVBQW1CO0FBQ3BDLE1BQUksRUFBRSxpQkFBaUIsT0FBUSxRQUFPLE9BQU8sS0FBSztBQUVsRCxNQUFJLFNBQVM7QUFDYixRQUFNLE9BQU8sQ0FBQyxNQUFlO0FBQ3pCLFFBQUksQ0FBQyxFQUFHO0FBRVIsUUFBSSxFQUFFLGlCQUFpQixRQUFRO0FBQzNCLGdCQUFVLE9BQU8sS0FBSztBQUN0QjtBQUFBLElBQ0o7QUFFQSxRQUFJLGlCQUFpQixnQkFBZ0I7QUFDakMsZ0JBQVU7QUFDVixlQUFTLElBQUksR0FBRyxJQUFJLE1BQU0sT0FBTyxRQUFRLEtBQUs7QUFDMUMsY0FBTUEsS0FBSSxNQUFNLE9BQU8sQ0FBQztBQUN4QixhQUFLQSxFQUFDO0FBQ04sWUFBSSxNQUFNLE1BQU0sT0FBTyxTQUFTLEdBQUc7QUFDL0Isb0JBQVU7QUFBQSxRQUNkO0FBQUEsTUFDSjtBQUNBLGdCQUFVO0FBQ1Y7QUFBQSxJQUNKO0FBRUEsY0FBVSxHQUFHLE1BQU0sSUFBSSxLQUFLLE1BQU0sT0FBTztBQUN6QyxRQUFJLE1BQU0sT0FBTztBQUNiLGdCQUFVO0FBQ1YsV0FBSyxNQUFNLEtBQUs7QUFDaEIsZ0JBQVU7QUFBQSxJQUNkO0FBQUEsRUFDSjtBQUNKO0FBRU8sSUFBTSwwQkFBTixNQUEyRDtBQUFBLEVBRzlELFlBQXFCLFFBQW1DO0FBQW5DO0FBQUEsRUFBb0M7QUFBQSxFQUFwQztBQUFBLEVBRnJCLEtBQWE7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
@@ -1,13 +1,18 @@
1
1
  import type { Context } from "@deepseek-ai/cordis";
2
2
  import z from "@deepseek-ai/schemastery";
3
- export type Config = {
4
- url: string;
5
- token?: string;
6
- keyless: boolean;
7
- searchDepth?: "basic" | "advanced" | "fast" | "ultra-fast";
8
- chunksPerSource?: number;
9
- };
10
3
  export declare const name = "@noirhare/dsh-web-search-tavily";
11
4
  export declare const inject: string[];
12
- export declare const Config: z<Config>;
13
- export declare const apply: (ctx: Context, config: Config) => void;
5
+ export declare const Config: z<Schemastery.ObjectS<NoInfer<{
6
+ url: z<string, string, "volatile-defined">;
7
+ token: z<string, string, "volatile">;
8
+ keyless: z<boolean, boolean, "volatile-defined">;
9
+ searchDepth: z<"advanced" | "basic" | "fast" | "ultra-fast", "advanced" | "basic" | "fast" | "ultra-fast", "volatile">;
10
+ chunksPerSource: z<number, number, "volatile">;
11
+ }>>, Schemastery.ObjectT<NoInfer<{
12
+ url: z<string, string, "volatile-defined">;
13
+ token: z<string, string, "volatile">;
14
+ keyless: z<boolean, boolean, "volatile-defined">;
15
+ searchDepth: z<"advanced" | "basic" | "fast" | "ultra-fast", "advanced" | "basic" | "fast" | "ultra-fast", "volatile">;
16
+ chunksPerSource: z<number, number, "volatile">;
17
+ }>>, "plain">;
18
+ export declare const apply: (ctx: Context, config: ReturnType<typeof Config>) => void;
@@ -2,13 +2,9 @@ import type { Config } from "./index";
2
2
  import { WebSearchProvider, WebSearchRequest, WebSearchResult } from "@deepseek-ai/dsh-web";
3
3
  export declare const TAILY_DEFAULT_URL = "https://api.tavily.com/search";
4
4
  export declare class TavilyWebSearchProvider implements WebSearchProvider {
5
- readonly settings: {
6
- get(): Config;
7
- };
5
+ readonly config: ReturnType<typeof Config>;
8
6
  id: string;
9
- constructor(settings: {
10
- get(): Config;
11
- });
7
+ constructor(config: ReturnType<typeof Config>);
12
8
  available(): boolean;
13
9
  search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult>;
14
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noirhare/dsh-web-search-tavily",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
5
  "author": "NoirHare",
6
6
  "repository": {
@@ -26,11 +26,11 @@
26
26
  "host-build-script": "^0.0.1"
27
27
  },
28
28
  "peerDependencies": {
29
- "@deepseek-ai/cordis": "^4.0.2",
30
- "@deepseek-ai/schemastery": "^3.18.2",
31
- "@deepseek-ai/dsh-settings": "^0.1.5-rc.2",
32
- "@deepseek-ai/dsh-launch-environment": "^0.1.5-rc.2",
33
- "@deepseek-ai/dsh-web": "^0.1.5-rc.2"
29
+ "@deepseek-ai/cordis": "^4.0.4",
30
+ "@deepseek-ai/schemastery": "^3.18.4",
31
+ "@deepseek-ai/dsh-settings": "^0.1.7-rc.2",
32
+ "@deepseek-ai/dsh-launch-environment": "^0.1.7-rc.2",
33
+ "@deepseek-ai/dsh-web": "^0.1.7-rc.2"
34
34
  },
35
35
  "dsh": {
36
36
  "bundle": {