@yourgpt/copilot-sdk 2.0.1 → 2.0.2-beta.2
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/README.md +42 -0
- package/dist/{ThreadManager-JT0sqSSD.d.ts → ThreadManager-Dkp_eLty.d.ts} +1 -1
- package/dist/{ThreadManager-CUq5Ocu2.d.cts → ThreadManager-LfFRhr4e.d.cts} +1 -1
- package/dist/anthropic-6F5GRE3B.js +4 -0
- package/dist/anthropic-6F5GRE3B.js.map +1 -0
- package/dist/anthropic-DGalr_Fw.d.cts +17 -0
- package/dist/anthropic-DkCEDYOt.d.ts +17 -0
- package/dist/anthropic-NMTRABEH.cjs +21 -0
- package/dist/anthropic-NMTRABEH.cjs.map +1 -0
- package/dist/brave-DdnWb7Gb.d.cts +17 -0
- package/dist/brave-DsI9n7Wr.d.ts +17 -0
- package/dist/brave-OYKCOZEM.cjs +21 -0
- package/dist/brave-OYKCOZEM.cjs.map +1 -0
- package/dist/brave-XSASGGH2.js +4 -0
- package/dist/brave-XSASGGH2.js.map +1 -0
- package/dist/chunk-2FAWEBZS.cjs +88 -0
- package/dist/chunk-2FAWEBZS.cjs.map +1 -0
- package/dist/chunk-53UGJNHN.js +92 -0
- package/dist/chunk-53UGJNHN.js.map +1 -0
- package/dist/chunk-6T5XXJEP.cjs +80 -0
- package/dist/chunk-6T5XXJEP.cjs.map +1 -0
- package/dist/chunk-7K7HZMP4.cjs +1170 -0
- package/dist/chunk-7K7HZMP4.cjs.map +1 -0
- package/dist/chunk-7W7QLZNC.js +72 -0
- package/dist/chunk-7W7QLZNC.js.map +1 -0
- package/dist/{chunk-JM7PB2LP.js → chunk-7XFFRV7D.js} +10 -66
- package/dist/chunk-7XFFRV7D.js.map +1 -0
- package/dist/chunk-ASV6JLYG.cjs +99 -0
- package/dist/chunk-ASV6JLYG.cjs.map +1 -0
- package/dist/chunk-BH7MNDWW.js +1152 -0
- package/dist/chunk-BH7MNDWW.js.map +1 -0
- package/dist/chunk-BKO7DSPU.js +67 -0
- package/dist/chunk-BKO7DSPU.js.map +1 -0
- package/dist/chunk-CBAHCI4R.cjs +76 -0
- package/dist/chunk-CBAHCI4R.cjs.map +1 -0
- package/dist/chunk-CEKAYA2Q.cjs +74 -0
- package/dist/chunk-CEKAYA2Q.cjs.map +1 -0
- package/dist/chunk-CEOMTQTP.js +85 -0
- package/dist/chunk-CEOMTQTP.js.map +1 -0
- package/dist/chunk-DABZYCVX.js +84 -0
- package/dist/chunk-DABZYCVX.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +10 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-G4SF2PNQ.js +33 -0
- package/dist/chunk-G4SF2PNQ.js.map +1 -0
- package/dist/chunk-GANCV72Z.cjs +110 -0
- package/dist/chunk-GANCV72Z.cjs.map +1 -0
- package/dist/{chunk-BLSI67J6.cjs → chunk-H5XMKBBA.cjs} +425 -30
- package/dist/chunk-H5XMKBBA.cjs.map +1 -0
- package/dist/{chunk-CJ7UWN2Y.js → chunk-IXFV6AW6.js} +397 -7
- package/dist/chunk-IXFV6AW6.js.map +1 -0
- package/dist/chunk-JEQ2X3Z6.cjs +12 -0
- package/dist/chunk-JEQ2X3Z6.cjs.map +1 -0
- package/dist/chunk-JO4BHPAD.cjs +40 -0
- package/dist/chunk-JO4BHPAD.cjs.map +1 -0
- package/dist/chunk-MEBXW75C.cjs +89 -0
- package/dist/chunk-MEBXW75C.cjs.map +1 -0
- package/dist/chunk-MNDGIW47.js +76 -0
- package/dist/chunk-MNDGIW47.js.map +1 -0
- package/dist/chunk-PPFHA6IL.js +83 -0
- package/dist/chunk-PPFHA6IL.js.map +1 -0
- package/dist/chunk-RQ74USYU.js +128 -0
- package/dist/chunk-RQ74USYU.js.map +1 -0
- package/dist/chunk-TXLIY7GF.cjs +132 -0
- package/dist/chunk-TXLIY7GF.cjs.map +1 -0
- package/dist/chunk-UIWFYMAO.cjs +82 -0
- package/dist/chunk-UIWFYMAO.cjs.map +1 -0
- package/dist/{chunk-4PRWNAXQ.cjs → chunk-UOWLKFXK.cjs} +27 -89
- package/dist/chunk-UOWLKFXK.cjs.map +1 -0
- package/dist/chunk-VD74IPKB.js +106 -0
- package/dist/chunk-VD74IPKB.js.map +1 -0
- package/dist/chunk-W73FBYIH.cjs +87 -0
- package/dist/chunk-W73FBYIH.cjs.map +1 -0
- package/dist/chunk-XGITAEXU.js +93 -0
- package/dist/chunk-XGITAEXU.js.map +1 -0
- package/dist/chunk-XWOHNY3F.cjs +96 -0
- package/dist/chunk-XWOHNY3F.cjs.map +1 -0
- package/dist/chunk-ZPYQDMUX.js +79 -0
- package/dist/chunk-ZPYQDMUX.js.map +1 -0
- package/dist/core/index.cjs +156 -84
- package/dist/core/index.d.cts +16 -4
- package/dist/core/index.d.ts +16 -4
- package/dist/core/index.js +13 -1
- package/dist/exa-72KFY5A7.cjs +21 -0
- package/dist/exa-72KFY5A7.cjs.map +1 -0
- package/dist/exa-Dp9U-WTc.d.ts +17 -0
- package/dist/exa-NNVPBC2M.js +4 -0
- package/dist/exa-NNVPBC2M.js.map +1 -0
- package/dist/exa-jJSPhyUW.d.cts +17 -0
- package/dist/google-CHU2yycE.d.cts +17 -0
- package/dist/google-CTEK6SV2.js +4 -0
- package/dist/google-CTEK6SV2.js.map +1 -0
- package/dist/google-Da8IQxaI.d.ts +17 -0
- package/dist/google-IIUXFFVF.cjs +21 -0
- package/dist/google-IIUXFFVF.cjs.map +1 -0
- package/dist/index-2VtgKM8S.d.cts +206 -0
- package/dist/index-pWEH7pUE.d.ts +206 -0
- package/dist/mcp/index.cjs +670 -0
- package/dist/mcp/index.cjs.map +1 -0
- package/dist/mcp/index.d.cts +779 -0
- package/dist/mcp/index.d.ts +779 -0
- package/dist/mcp/index.js +574 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/openai-6KTCQ7PZ.cjs +21 -0
- package/dist/openai-6KTCQ7PZ.cjs.map +1 -0
- package/dist/openai-7W2PCNW5.js +4 -0
- package/dist/openai-7W2PCNW5.js.map +1 -0
- package/dist/openai-Cam8hF4f.d.ts +17 -0
- package/dist/openai-HVSCuXgO.d.cts +17 -0
- package/dist/react/index.cjs +75 -42
- package/dist/react/index.d.cts +270 -45
- package/dist/react/index.d.ts +270 -45
- package/dist/react/index.js +15 -2
- package/dist/searxng-AXLVGY7Z.js +4 -0
- package/dist/searxng-AXLVGY7Z.js.map +1 -0
- package/dist/searxng-EJKNY236.cjs +21 -0
- package/dist/searxng-EJKNY236.cjs.map +1 -0
- package/dist/searxng-K0qtY9vp.d.ts +17 -0
- package/dist/searxng-QGOte_Gq.d.cts +17 -0
- package/dist/serper-3JYJHJX6.js +4 -0
- package/dist/serper-3JYJHJX6.js.map +1 -0
- package/dist/serper-63FT4AOL.cjs +21 -0
- package/dist/serper-63FT4AOL.cjs.map +1 -0
- package/dist/serper-7Czya3PW.d.ts +17 -0
- package/dist/serper-JzdaSnS9.d.cts +17 -0
- package/dist/styles.css +38 -0
- package/dist/tavily-AWFP4RM7.cjs +21 -0
- package/dist/tavily-AWFP4RM7.cjs.map +1 -0
- package/dist/tavily-C8cXXojE.d.cts +17 -0
- package/dist/tavily-CIWAAZPH.js +4 -0
- package/dist/tavily-CIWAAZPH.js.map +1 -0
- package/dist/tavily-DdSGVgkE.d.ts +17 -0
- package/dist/themes/catppuccin.css +2 -0
- package/dist/themes/claude.css +2 -0
- package/dist/themes/linear.css +2 -0
- package/dist/themes/modern-minimal.css +2 -0
- package/dist/themes/posthog.css +2 -0
- package/dist/themes/supabase.css +2 -0
- package/dist/themes/twitter.css +2 -0
- package/dist/themes/vercel.css +2 -0
- package/dist/tools/anthropic/index.cjs +61 -0
- package/dist/tools/anthropic/index.cjs.map +1 -0
- package/dist/tools/anthropic/index.d.cts +67 -0
- package/dist/tools/anthropic/index.d.ts +67 -0
- package/dist/tools/anthropic/index.js +56 -0
- package/dist/tools/anthropic/index.js.map +1 -0
- package/dist/tools/brave/index.cjs +85 -0
- package/dist/tools/brave/index.cjs.map +1 -0
- package/dist/tools/brave/index.d.cts +91 -0
- package/dist/tools/brave/index.d.ts +91 -0
- package/dist/tools/brave/index.js +80 -0
- package/dist/tools/brave/index.js.map +1 -0
- package/dist/tools/exa/index.cjs +90 -0
- package/dist/tools/exa/index.cjs.map +1 -0
- package/dist/tools/exa/index.d.cts +92 -0
- package/dist/tools/exa/index.d.ts +92 -0
- package/dist/tools/exa/index.js +85 -0
- package/dist/tools/exa/index.js.map +1 -0
- package/dist/tools/google/index.cjs +81 -0
- package/dist/tools/google/index.cjs.map +1 -0
- package/dist/tools/google/index.d.cts +81 -0
- package/dist/tools/google/index.d.ts +81 -0
- package/dist/tools/google/index.js +76 -0
- package/dist/tools/google/index.js.map +1 -0
- package/dist/tools/openai/index.cjs +83 -0
- package/dist/tools/openai/index.cjs.map +1 -0
- package/dist/tools/openai/index.d.cts +84 -0
- package/dist/tools/openai/index.d.ts +84 -0
- package/dist/tools/openai/index.js +78 -0
- package/dist/tools/openai/index.js.map +1 -0
- package/dist/tools/searxng/index.cjs +85 -0
- package/dist/tools/searxng/index.cjs.map +1 -0
- package/dist/tools/searxng/index.d.cts +91 -0
- package/dist/tools/searxng/index.d.ts +91 -0
- package/dist/tools/searxng/index.js +80 -0
- package/dist/tools/searxng/index.js.map +1 -0
- package/dist/tools/serper/index.cjs +85 -0
- package/dist/tools/serper/index.cjs.map +1 -0
- package/dist/tools/serper/index.d.cts +91 -0
- package/dist/tools/serper/index.d.ts +91 -0
- package/dist/tools/serper/index.js +80 -0
- package/dist/tools/serper/index.js.map +1 -0
- package/dist/tools/tavily/index.cjs +91 -0
- package/dist/tools/tavily/index.cjs.map +1 -0
- package/dist/tools/tavily/index.d.cts +95 -0
- package/dist/tools/tavily/index.d.ts +95 -0
- package/dist/tools/tavily/index.js +86 -0
- package/dist/tools/tavily/index.js.map +1 -0
- package/dist/tools/web-search/index.cjs +31 -0
- package/dist/tools/web-search/index.cjs.map +1 -0
- package/dist/tools/web-search/index.d.cts +3 -0
- package/dist/tools/web-search/index.d.ts +3 -0
- package/dist/tools/web-search/index.js +14 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/{types-BtAaOV07.d.cts → tools-DDWrco4h.d.cts} +43 -367
- package/dist/{types-BtAaOV07.d.ts → tools-DDWrco4h.d.ts} +43 -367
- package/dist/types-B20VCJXL.d.cts +347 -0
- package/dist/types-B20VCJXL.d.ts +347 -0
- package/dist/types-Cizh9K_f.d.ts +441 -0
- package/dist/types-DG2ya08y.d.cts +367 -0
- package/dist/types-DG2ya08y.d.ts +367 -0
- package/dist/types-DjSfYNKj.d.cts +441 -0
- package/dist/types-ZguuKEs_.d.cts +127 -0
- package/dist/types-ZguuKEs_.d.ts +127 -0
- package/dist/ui/index.cjs +1075 -148
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.cts +410 -4
- package/dist/ui/index.d.ts +410 -4
- package/dist/ui/index.js +1007 -96
- package/dist/ui/index.js.map +1 -1
- package/package.json +52 -2
- package/dist/chunk-4PRWNAXQ.cjs.map +0 -1
- package/dist/chunk-BLSI67J6.cjs.map +0 -1
- package/dist/chunk-CJ7UWN2Y.js.map +0 -1
- package/dist/chunk-JM7PB2LP.js.map +0 -1
package/dist/themes/claude.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(45 8% 84%);
|
|
30
30
|
--input: hsl(47 6% 69%);
|
|
31
31
|
--ring: hsl(16 56% 52%);
|
|
32
|
+
--csdk-link-color: hsl(210 70% 45%);
|
|
32
33
|
|
|
33
34
|
--radius: 0.5rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(55 5% 23%);
|
|
66
67
|
--input: hsl(52 5% 31%);
|
|
67
68
|
--ring: hsl(14 62% 60%);
|
|
69
|
+
--csdk-link-color: hsl(210 70% 65%);
|
|
68
70
|
}
|
package/dist/themes/linear.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(260 12% 90%);
|
|
30
30
|
--input: hsl(260 12% 90%);
|
|
31
31
|
--ring: hsl(260 75% 50%);
|
|
32
|
+
--csdk-link-color: hsl(195 70% 40%);
|
|
32
33
|
|
|
33
34
|
--radius: 0.5rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(260 22% 18%);
|
|
66
67
|
--input: hsl(260 22% 18%);
|
|
67
68
|
--ring: hsl(260 65% 58%);
|
|
69
|
+
--csdk-link-color: hsl(195 55% 60%);
|
|
68
70
|
}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(220 13% 91%);
|
|
30
30
|
--input: hsl(220 13% 91%);
|
|
31
31
|
--ring: hsl(217 91% 60%);
|
|
32
|
+
--csdk-link-color: hsl(217 91% 60%);
|
|
32
33
|
|
|
33
34
|
--radius: 0.375rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(0 0% 25%);
|
|
66
67
|
--input: hsl(0 0% 25%);
|
|
67
68
|
--ring: hsl(217 91% 60%);
|
|
69
|
+
--csdk-link-color: hsl(217 91% 65%);
|
|
68
70
|
}
|
package/dist/themes/posthog.css
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
--border: hsl(30 15% 20%);
|
|
32
32
|
--input: hsl(30 15% 20%);
|
|
33
33
|
--ring: hsl(37 92% 50%);
|
|
34
|
+
--csdk-link-color: hsl(37 92% 40%);
|
|
34
35
|
|
|
35
36
|
--radius: 0.625rem;
|
|
36
37
|
}
|
|
@@ -67,6 +68,7 @@
|
|
|
67
68
|
--border: hsl(40 30% 65%);
|
|
68
69
|
--input: hsl(40 30% 65%);
|
|
69
70
|
--ring: hsl(40 85% 55%);
|
|
71
|
+
--csdk-link-color: hsl(40 85% 55%);
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
/* ═══════════════════════════════════════════════════════════
|
package/dist/themes/supabase.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(0 0% 87%);
|
|
30
30
|
--input: hsl(0 0% 96%);
|
|
31
31
|
--ring: hsl(153 70% 67%);
|
|
32
|
+
--csdk-link-color: hsl(153 60% 38%);
|
|
32
33
|
|
|
33
34
|
--radius: 0.5rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(0 0% 16%);
|
|
66
67
|
--input: hsl(0 0% 14%);
|
|
67
68
|
--ring: hsl(142 69% 58%);
|
|
69
|
+
--csdk-link-color: hsl(153 70% 50%);
|
|
68
70
|
}
|
package/dist/themes/twitter.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(199 35% 92%);
|
|
30
30
|
--input: hsl(200 20% 97%);
|
|
31
31
|
--ring: hsl(204 88% 53%);
|
|
32
|
+
--csdk-link-color: hsl(201 89% 43%);
|
|
32
33
|
|
|
33
34
|
--radius: 1.25rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(216 5% 15%);
|
|
66
67
|
--input: hsl(202 58% 18%);
|
|
67
68
|
--ring: hsl(204 88% 53%);
|
|
69
|
+
--csdk-link-color: hsl(201 89% 63%);
|
|
68
70
|
}
|
package/dist/themes/vercel.css
CHANGED
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
--border: hsl(0 0% 90%);
|
|
30
30
|
--input: hsl(0 0% 90%);
|
|
31
31
|
--ring: hsl(0 0% 0%);
|
|
32
|
+
--csdk-link-color: #2563eb;
|
|
32
33
|
|
|
33
34
|
--radius: 0.375rem;
|
|
34
35
|
}
|
|
@@ -65,4 +66,5 @@
|
|
|
65
66
|
--border: hsl(0 0% 20%);
|
|
66
67
|
--input: hsl(0 0% 20%);
|
|
67
68
|
--ring: hsl(0 0% 100%);
|
|
69
|
+
--csdk-link-color: #60a5fa;
|
|
68
70
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkASV6JLYG_cjs = require('../../chunk-ASV6JLYG.cjs');
|
|
4
|
+
require('../../chunk-CBAHCI4R.cjs');
|
|
5
|
+
require('../../chunk-MEBXW75C.cjs');
|
|
6
|
+
require('../../chunk-W73FBYIH.cjs');
|
|
7
|
+
require('../../chunk-2FAWEBZS.cjs');
|
|
8
|
+
require('../../chunk-6T5XXJEP.cjs');
|
|
9
|
+
require('../../chunk-GANCV72Z.cjs');
|
|
10
|
+
require('../../chunk-XWOHNY3F.cjs');
|
|
11
|
+
var chunkTXLIY7GF_cjs = require('../../chunk-TXLIY7GF.cjs');
|
|
12
|
+
require('../../chunk-JEQ2X3Z6.cjs');
|
|
13
|
+
|
|
14
|
+
// src/tools/anthropic/index.ts
|
|
15
|
+
function anthropicSearch(config = {}) {
|
|
16
|
+
return {
|
|
17
|
+
name: "web_search",
|
|
18
|
+
description: "Search the web using Anthropic's native search for current information. Returns results with citations including cited text, URLs, and titles.",
|
|
19
|
+
location: "server",
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
query: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "The search query to find information about"
|
|
26
|
+
},
|
|
27
|
+
maxResults: {
|
|
28
|
+
type: "number",
|
|
29
|
+
description: "Maximum number of results to return (default: 5)",
|
|
30
|
+
minimum: 1,
|
|
31
|
+
maximum: 10
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
required: ["query"]
|
|
35
|
+
},
|
|
36
|
+
handler: async (params) => {
|
|
37
|
+
const response = await chunkTXLIY7GF_cjs.searchAnthropic(params, {
|
|
38
|
+
provider: "anthropic",
|
|
39
|
+
apiKey: config.apiKey,
|
|
40
|
+
maxResults: config.maxResults,
|
|
41
|
+
includeDomains: config.allowedDomains,
|
|
42
|
+
excludeDomains: config.blockedDomains,
|
|
43
|
+
country: config.country,
|
|
44
|
+
timeout: config.timeout
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
success: true,
|
|
48
|
+
data: response,
|
|
49
|
+
_aiContext: chunkASV6JLYG_cjs.formatSearchResultsForAI(response)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
Object.defineProperty(exports, "anthropicProvider", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () { return chunkTXLIY7GF_cjs.anthropicProvider; }
|
|
58
|
+
});
|
|
59
|
+
exports.anthropicSearch = anthropicSearch;
|
|
60
|
+
//# sourceMappingURL=index.cjs.map
|
|
61
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/anthropic/index.ts"],"names":["searchAnthropic","formatSearchResultsForAI"],"mappings":";;;;;;;;;;;;;;AAyEO,SAAS,eAAA,CACd,MAAA,GAAgC,EAAC,EAClB;AACf,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,WAAA,EACE,gJAAA;AAAA,IAEF,QAAA,EAAU,QAAA;AAAA,IACV,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EAAa;AAAA,SACf;AAAA,QACA,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EAAa,kDAAA;AAAA,UACb,OAAA,EAAS,CAAA;AAAA,UACT,OAAA,EAAS;AAAA;AACX,OACF;AAAA,MACA,QAAA,EAAU,CAAC,OAAO;AAAA,KACpB;AAAA,IACA,OAAA,EAAS,OAAO,MAAA,KAAW;AACzB,MAAA,MAAM,QAAA,GAA8B,MAAMA,iCAAA,CAAgB,MAAA,EAAQ;AAAA,QAChE,QAAA,EAAU,WAAA;AAAA,QACV,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,YAAY,MAAA,CAAO,UAAA;AAAA,QACnB,gBAAgB,MAAA,CAAO,cAAA;AAAA,QACvB,gBAAgB,MAAA,CAAO,cAAA;AAAA,QACvB,SAAS,MAAA,CAAO,OAAA;AAAA,QAChB,SAAS,MAAA,CAAO;AAAA,OACjB,CAAA;AAED,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAYC,2CAAyB,QAAQ;AAAA,OAC/C;AAAA,IACF;AAAA,GACF;AACF","file":"index.cjs","sourcesContent":["/**\n * Anthropic Web Search Tool\n *\n * Tree-shakeable subpath export for Anthropic's built-in web search.\n *\n * @example\n * ```typescript\n * import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';\n *\n * const webSearch = anthropicSearch({\n * apiKey: process.env.ANTHROPIC_API_KEY,\n * });\n *\n * const runtime = createRuntime({\n * tools: [webSearch],\n * });\n * ```\n */\n\nimport type { ToolDefinition } from \"../../core/types/tools\";\nimport {\n searchAnthropic,\n anthropicProvider,\n} from \"../../core/tools/webSearch/providers/anthropic\";\nimport type { WebSearchResponse } from \"../../core/tools/webSearch/types\";\nimport { formatSearchResultsForAI } from \"../../core/tools/webSearch\";\n\nexport { anthropicProvider };\n\nexport interface AnthropicSearchConfig {\n /** Anthropic API key (or set ANTHROPIC_API_KEY env var) */\n apiKey?: string;\n /** Maximum number of search results (default: 5) */\n maxResults?: number;\n /** Only include results from these domains */\n allowedDomains?: string[];\n /** Exclude results from these domains */\n blockedDomains?: string[];\n /** Country code for localized results */\n country?: string;\n /** Request timeout in milliseconds */\n timeout?: number;\n}\n\nexport interface AnthropicSearchParams {\n query: string;\n maxResults?: number;\n}\n\ntype WebSearchTool = ToolDefinition<AnthropicSearchParams>;\n\n/**\n * Anthropic Search Tool\n *\n * Uses Anthropic's built-in web_search tool via the Messages API.\n * Returns reliable citations with cited_text, url, and title.\n *\n * @example\n * ```typescript\n * import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';\n *\n * const webSearch = anthropicSearch({\n * apiKey: process.env.ANTHROPIC_API_KEY,\n * maxResults: 5,\n * });\n *\n * const runtime = createRuntime({\n * provider: openai,\n * model: 'gpt-4o',\n * tools: [webSearch],\n * });\n * ```\n */\nexport function anthropicSearch(\n config: AnthropicSearchConfig = {},\n): WebSearchTool {\n return {\n name: \"web_search\",\n description:\n \"Search the web using Anthropic's native search for current information. \" +\n \"Returns results with citations including cited text, URLs, and titles.\",\n location: \"server\",\n inputSchema: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description: \"The search query to find information about\",\n },\n maxResults: {\n type: \"number\",\n description: \"Maximum number of results to return (default: 5)\",\n minimum: 1,\n maximum: 10,\n },\n },\n required: [\"query\"],\n },\n handler: async (params) => {\n const response: WebSearchResponse = await searchAnthropic(params, {\n provider: \"anthropic\",\n apiKey: config.apiKey,\n maxResults: config.maxResults,\n includeDomains: config.allowedDomains,\n excludeDomains: config.blockedDomains,\n country: config.country,\n timeout: config.timeout,\n });\n\n return {\n success: true,\n data: response,\n _aiContext: formatSearchResultsForAI(response),\n };\n },\n } as WebSearchTool;\n}\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { T as ToolDefinition } from '../../tools-DDWrco4h.cjs';
|
|
2
|
+
export { a as anthropicProvider } from '../../anthropic-DGalr_Fw.cjs';
|
|
3
|
+
import '../../types-ZguuKEs_.cjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Anthropic Web Search Tool
|
|
7
|
+
*
|
|
8
|
+
* Tree-shakeable subpath export for Anthropic's built-in web search.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';
|
|
13
|
+
*
|
|
14
|
+
* const webSearch = anthropicSearch({
|
|
15
|
+
* apiKey: process.env.ANTHROPIC_API_KEY,
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* const runtime = createRuntime({
|
|
19
|
+
* tools: [webSearch],
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
interface AnthropicSearchConfig {
|
|
25
|
+
/** Anthropic API key (or set ANTHROPIC_API_KEY env var) */
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
/** Maximum number of search results (default: 5) */
|
|
28
|
+
maxResults?: number;
|
|
29
|
+
/** Only include results from these domains */
|
|
30
|
+
allowedDomains?: string[];
|
|
31
|
+
/** Exclude results from these domains */
|
|
32
|
+
blockedDomains?: string[];
|
|
33
|
+
/** Country code for localized results */
|
|
34
|
+
country?: string;
|
|
35
|
+
/** Request timeout in milliseconds */
|
|
36
|
+
timeout?: number;
|
|
37
|
+
}
|
|
38
|
+
interface AnthropicSearchParams {
|
|
39
|
+
query: string;
|
|
40
|
+
maxResults?: number;
|
|
41
|
+
}
|
|
42
|
+
type WebSearchTool = ToolDefinition<AnthropicSearchParams>;
|
|
43
|
+
/**
|
|
44
|
+
* Anthropic Search Tool
|
|
45
|
+
*
|
|
46
|
+
* Uses Anthropic's built-in web_search tool via the Messages API.
|
|
47
|
+
* Returns reliable citations with cited_text, url, and title.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';
|
|
52
|
+
*
|
|
53
|
+
* const webSearch = anthropicSearch({
|
|
54
|
+
* apiKey: process.env.ANTHROPIC_API_KEY,
|
|
55
|
+
* maxResults: 5,
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* const runtime = createRuntime({
|
|
59
|
+
* provider: openai,
|
|
60
|
+
* model: 'gpt-4o',
|
|
61
|
+
* tools: [webSearch],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function anthropicSearch(config?: AnthropicSearchConfig): WebSearchTool;
|
|
66
|
+
|
|
67
|
+
export { type AnthropicSearchConfig, type AnthropicSearchParams, anthropicSearch };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { T as ToolDefinition } from '../../tools-DDWrco4h.js';
|
|
2
|
+
export { a as anthropicProvider } from '../../anthropic-DkCEDYOt.js';
|
|
3
|
+
import '../../types-ZguuKEs_.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Anthropic Web Search Tool
|
|
7
|
+
*
|
|
8
|
+
* Tree-shakeable subpath export for Anthropic's built-in web search.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';
|
|
13
|
+
*
|
|
14
|
+
* const webSearch = anthropicSearch({
|
|
15
|
+
* apiKey: process.env.ANTHROPIC_API_KEY,
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* const runtime = createRuntime({
|
|
19
|
+
* tools: [webSearch],
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
interface AnthropicSearchConfig {
|
|
25
|
+
/** Anthropic API key (or set ANTHROPIC_API_KEY env var) */
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
/** Maximum number of search results (default: 5) */
|
|
28
|
+
maxResults?: number;
|
|
29
|
+
/** Only include results from these domains */
|
|
30
|
+
allowedDomains?: string[];
|
|
31
|
+
/** Exclude results from these domains */
|
|
32
|
+
blockedDomains?: string[];
|
|
33
|
+
/** Country code for localized results */
|
|
34
|
+
country?: string;
|
|
35
|
+
/** Request timeout in milliseconds */
|
|
36
|
+
timeout?: number;
|
|
37
|
+
}
|
|
38
|
+
interface AnthropicSearchParams {
|
|
39
|
+
query: string;
|
|
40
|
+
maxResults?: number;
|
|
41
|
+
}
|
|
42
|
+
type WebSearchTool = ToolDefinition<AnthropicSearchParams>;
|
|
43
|
+
/**
|
|
44
|
+
* Anthropic Search Tool
|
|
45
|
+
*
|
|
46
|
+
* Uses Anthropic's built-in web_search tool via the Messages API.
|
|
47
|
+
* Returns reliable citations with cited_text, url, and title.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';
|
|
52
|
+
*
|
|
53
|
+
* const webSearch = anthropicSearch({
|
|
54
|
+
* apiKey: process.env.ANTHROPIC_API_KEY,
|
|
55
|
+
* maxResults: 5,
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* const runtime = createRuntime({
|
|
59
|
+
* provider: openai,
|
|
60
|
+
* model: 'gpt-4o',
|
|
61
|
+
* tools: [webSearch],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function anthropicSearch(config?: AnthropicSearchConfig): WebSearchTool;
|
|
66
|
+
|
|
67
|
+
export { type AnthropicSearchConfig, type AnthropicSearchParams, anthropicSearch };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { formatSearchResultsForAI } from '../../chunk-XGITAEXU.js';
|
|
2
|
+
import '../../chunk-7W7QLZNC.js';
|
|
3
|
+
import '../../chunk-CEOMTQTP.js';
|
|
4
|
+
import '../../chunk-PPFHA6IL.js';
|
|
5
|
+
import '../../chunk-DABZYCVX.js';
|
|
6
|
+
import '../../chunk-MNDGIW47.js';
|
|
7
|
+
import '../../chunk-VD74IPKB.js';
|
|
8
|
+
import '../../chunk-53UGJNHN.js';
|
|
9
|
+
import { searchAnthropic } from '../../chunk-RQ74USYU.js';
|
|
10
|
+
export { anthropicProvider } from '../../chunk-RQ74USYU.js';
|
|
11
|
+
import '../../chunk-DGUM43GV.js';
|
|
12
|
+
|
|
13
|
+
// src/tools/anthropic/index.ts
|
|
14
|
+
function anthropicSearch(config = {}) {
|
|
15
|
+
return {
|
|
16
|
+
name: "web_search",
|
|
17
|
+
description: "Search the web using Anthropic's native search for current information. Returns results with citations including cited text, URLs, and titles.",
|
|
18
|
+
location: "server",
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: "object",
|
|
21
|
+
properties: {
|
|
22
|
+
query: {
|
|
23
|
+
type: "string",
|
|
24
|
+
description: "The search query to find information about"
|
|
25
|
+
},
|
|
26
|
+
maxResults: {
|
|
27
|
+
type: "number",
|
|
28
|
+
description: "Maximum number of results to return (default: 5)",
|
|
29
|
+
minimum: 1,
|
|
30
|
+
maximum: 10
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
required: ["query"]
|
|
34
|
+
},
|
|
35
|
+
handler: async (params) => {
|
|
36
|
+
const response = await searchAnthropic(params, {
|
|
37
|
+
provider: "anthropic",
|
|
38
|
+
apiKey: config.apiKey,
|
|
39
|
+
maxResults: config.maxResults,
|
|
40
|
+
includeDomains: config.allowedDomains,
|
|
41
|
+
excludeDomains: config.blockedDomains,
|
|
42
|
+
country: config.country,
|
|
43
|
+
timeout: config.timeout
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
success: true,
|
|
47
|
+
data: response,
|
|
48
|
+
_aiContext: formatSearchResultsForAI(response)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { anthropicSearch };
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/anthropic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAyEO,SAAS,eAAA,CACd,MAAA,GAAgC,EAAC,EAClB;AACf,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,WAAA,EACE,gJAAA;AAAA,IAEF,QAAA,EAAU,QAAA;AAAA,IACV,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EAAa;AAAA,SACf;AAAA,QACA,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EAAa,kDAAA;AAAA,UACb,OAAA,EAAS,CAAA;AAAA,UACT,OAAA,EAAS;AAAA;AACX,OACF;AAAA,MACA,QAAA,EAAU,CAAC,OAAO;AAAA,KACpB;AAAA,IACA,OAAA,EAAS,OAAO,MAAA,KAAW;AACzB,MAAA,MAAM,QAAA,GAA8B,MAAM,eAAA,CAAgB,MAAA,EAAQ;AAAA,QAChE,QAAA,EAAU,WAAA;AAAA,QACV,QAAQ,MAAA,CAAO,MAAA;AAAA,QACf,YAAY,MAAA,CAAO,UAAA;AAAA,QACnB,gBAAgB,MAAA,CAAO,cAAA;AAAA,QACvB,gBAAgB,MAAA,CAAO,cAAA;AAAA,QACvB,SAAS,MAAA,CAAO,OAAA;AAAA,QAChB,SAAS,MAAA,CAAO;AAAA,OACjB,CAAA;AAED,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,UAAA,EAAY,yBAAyB,QAAQ;AAAA,OAC/C;AAAA,IACF;AAAA,GACF;AACF","file":"index.js","sourcesContent":["/**\n * Anthropic Web Search Tool\n *\n * Tree-shakeable subpath export for Anthropic's built-in web search.\n *\n * @example\n * ```typescript\n * import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';\n *\n * const webSearch = anthropicSearch({\n * apiKey: process.env.ANTHROPIC_API_KEY,\n * });\n *\n * const runtime = createRuntime({\n * tools: [webSearch],\n * });\n * ```\n */\n\nimport type { ToolDefinition } from \"../../core/types/tools\";\nimport {\n searchAnthropic,\n anthropicProvider,\n} from \"../../core/tools/webSearch/providers/anthropic\";\nimport type { WebSearchResponse } from \"../../core/tools/webSearch/types\";\nimport { formatSearchResultsForAI } from \"../../core/tools/webSearch\";\n\nexport { anthropicProvider };\n\nexport interface AnthropicSearchConfig {\n /** Anthropic API key (or set ANTHROPIC_API_KEY env var) */\n apiKey?: string;\n /** Maximum number of search results (default: 5) */\n maxResults?: number;\n /** Only include results from these domains */\n allowedDomains?: string[];\n /** Exclude results from these domains */\n blockedDomains?: string[];\n /** Country code for localized results */\n country?: string;\n /** Request timeout in milliseconds */\n timeout?: number;\n}\n\nexport interface AnthropicSearchParams {\n query: string;\n maxResults?: number;\n}\n\ntype WebSearchTool = ToolDefinition<AnthropicSearchParams>;\n\n/**\n * Anthropic Search Tool\n *\n * Uses Anthropic's built-in web_search tool via the Messages API.\n * Returns reliable citations with cited_text, url, and title.\n *\n * @example\n * ```typescript\n * import { anthropicSearch } from '@yourgpt/copilot-sdk/tools/anthropic';\n *\n * const webSearch = anthropicSearch({\n * apiKey: process.env.ANTHROPIC_API_KEY,\n * maxResults: 5,\n * });\n *\n * const runtime = createRuntime({\n * provider: openai,\n * model: 'gpt-4o',\n * tools: [webSearch],\n * });\n * ```\n */\nexport function anthropicSearch(\n config: AnthropicSearchConfig = {},\n): WebSearchTool {\n return {\n name: \"web_search\",\n description:\n \"Search the web using Anthropic's native search for current information. \" +\n \"Returns results with citations including cited text, URLs, and titles.\",\n location: \"server\",\n inputSchema: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description: \"The search query to find information about\",\n },\n maxResults: {\n type: \"number\",\n description: \"Maximum number of results to return (default: 5)\",\n minimum: 1,\n maximum: 10,\n },\n },\n required: [\"query\"],\n },\n handler: async (params) => {\n const response: WebSearchResponse = await searchAnthropic(params, {\n provider: \"anthropic\",\n apiKey: config.apiKey,\n maxResults: config.maxResults,\n includeDomains: config.allowedDomains,\n excludeDomains: config.blockedDomains,\n country: config.country,\n timeout: config.timeout,\n });\n\n return {\n success: true,\n data: response,\n _aiContext: formatSearchResultsForAI(response),\n };\n },\n } as WebSearchTool;\n}\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkCEKAYA2Q_cjs = require('../../chunk-CEKAYA2Q.cjs');
|
|
4
|
+
var chunkASV6JLYG_cjs = require('../../chunk-ASV6JLYG.cjs');
|
|
5
|
+
require('../../chunk-CBAHCI4R.cjs');
|
|
6
|
+
require('../../chunk-MEBXW75C.cjs');
|
|
7
|
+
var chunkW73FBYIH_cjs = require('../../chunk-W73FBYIH.cjs');
|
|
8
|
+
require('../../chunk-2FAWEBZS.cjs');
|
|
9
|
+
require('../../chunk-6T5XXJEP.cjs');
|
|
10
|
+
require('../../chunk-GANCV72Z.cjs');
|
|
11
|
+
require('../../chunk-XWOHNY3F.cjs');
|
|
12
|
+
require('../../chunk-TXLIY7GF.cjs');
|
|
13
|
+
require('../../chunk-JEQ2X3Z6.cjs');
|
|
14
|
+
|
|
15
|
+
// src/tools/brave/index.ts
|
|
16
|
+
function braveSearch(config) {
|
|
17
|
+
return {
|
|
18
|
+
name: "web_search",
|
|
19
|
+
description: `Search the web using Brave Search for current information. Use this when the user asks about:
|
|
20
|
+
- Recent events, news, or current affairs
|
|
21
|
+
- Real-time data (prices, weather, stocks, sports scores)
|
|
22
|
+
- Information that might have changed after your training cutoff
|
|
23
|
+
- Facts that need verification with current sources
|
|
24
|
+
- Research topics that require up-to-date information`,
|
|
25
|
+
location: "server",
|
|
26
|
+
title: (args) => `Searching for "${args.query}"`,
|
|
27
|
+
executingTitle: (args) => `Searching the web for "${args.query}"...`,
|
|
28
|
+
completedTitle: (args) => `Found results for "${args.query}"`,
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: {
|
|
32
|
+
query: {
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "The search query to find relevant information"
|
|
35
|
+
},
|
|
36
|
+
maxResults: {
|
|
37
|
+
type: "number",
|
|
38
|
+
description: "Maximum number of results to return (default: 5, max: 10)",
|
|
39
|
+
minimum: 1,
|
|
40
|
+
maximum: 10
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
required: ["query"]
|
|
44
|
+
},
|
|
45
|
+
needsApproval: false,
|
|
46
|
+
aiResponseMode: "full",
|
|
47
|
+
handler: async (params) => {
|
|
48
|
+
try {
|
|
49
|
+
const response = await chunkW73FBYIH_cjs.searchBrave(
|
|
50
|
+
{
|
|
51
|
+
query: params.query,
|
|
52
|
+
maxResults: params.maxResults ?? config.maxResults ?? 5
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
provider: "brave",
|
|
56
|
+
apiKey: config.apiKey,
|
|
57
|
+
country: config.country,
|
|
58
|
+
language: config.language,
|
|
59
|
+
includeDomains: config.includeDomains,
|
|
60
|
+
excludeDomains: config.excludeDomains,
|
|
61
|
+
timeout: config.timeout
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
const aiContext = chunkASV6JLYG_cjs.formatSearchResultsForAI(response);
|
|
65
|
+
return {
|
|
66
|
+
success: true,
|
|
67
|
+
message: chunkASV6JLYG_cjs.summarizeSearchResults(response),
|
|
68
|
+
data: response,
|
|
69
|
+
_aiContext: aiContext
|
|
70
|
+
};
|
|
71
|
+
} catch (error) {
|
|
72
|
+
const errorMessage = error instanceof Error ? error.message : "Web search failed";
|
|
73
|
+
return chunkCEKAYA2Q_cjs.failure(errorMessage);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
Object.defineProperty(exports, "braveProvider", {
|
|
80
|
+
enumerable: true,
|
|
81
|
+
get: function () { return chunkW73FBYIH_cjs.braveProvider; }
|
|
82
|
+
});
|
|
83
|
+
exports.braveSearch = braveSearch;
|
|
84
|
+
//# sourceMappingURL=index.cjs.map
|
|
85
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/brave/index.ts"],"names":["searchBrave","formatSearchResultsForAI","summarizeSearchResults","failure"],"mappings":";;;;;;;;;;;;;;;AAqGO,SAAS,YACd,MAAA,EACmC;AACnC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,WAAA,EAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAA,CAAA;AAAA,IAOb,QAAA,EAAU,QAAA;AAAA,IAEV,KAAA,EAAO,CAAC,IAAA,KAAS,CAAA,eAAA,EAAkB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,IAC7C,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,uBAAA,EAA0B,KAAK,KAAK,CAAA,IAAA,CAAA;AAAA,IAC9D,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,mBAAA,EAAsB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,IAE1D,WAAA,EAAa;AAAA,MACX,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EAAa;AAAA,SACf;AAAA,QACA,UAAA,EAAY;AAAA,UACV,IAAA,EAAM,QAAA;AAAA,UACN,WAAA,EACE,2DAAA;AAAA,UACF,OAAA,EAAS,CAAA;AAAA,UACT,OAAA,EAAS;AAAA;AACX,OACF;AAAA,MACA,QAAA,EAAU,CAAC,OAAO;AAAA,KACpB;AAAA,IAEA,aAAA,EAAe,KAAA;AAAA,IACf,cAAA,EAAgB,MAAA;AAAA,IAEhB,OAAA,EAAS,OAAO,MAAA,KAAW;AACzB,MAAA,IAAI;AACF,QAAA,MAAM,WAA8B,MAAMA,6BAAA;AAAA,UACxC;AAAA,YACE,OAAO,MAAA,CAAO,KAAA;AAAA,YACd,UAAA,EAAY,MAAA,CAAO,UAAA,IAAc,MAAA,CAAO,UAAA,IAAc;AAAA,WACxD;AAAA,UACA;AAAA,YACE,QAAA,EAAU,OAAA;AAAA,YACV,QAAQ,MAAA,CAAO,MAAA;AAAA,YACf,SAAS,MAAA,CAAO,OAAA;AAAA,YAChB,UAAU,MAAA,CAAO,QAAA;AAAA,YACjB,gBAAgB,MAAA,CAAO,cAAA;AAAA,YACvB,gBAAgB,MAAA,CAAO,cAAA;AAAA,YACvB,SAAS,MAAA,CAAO;AAAA;AAClB,SACF;AAEA,QAAA,MAAM,SAAA,GAAYC,2CAAyB,QAAQ,CAAA;AAEnD,QAAA,OAAO;AAAA,UACL,OAAA,EAAS,IAAA;AAAA,UACT,OAAA,EAASC,yCAAuB,QAAQ,CAAA;AAAA,UACxC,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,SACd;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,MAAM,YAAA,GACJ,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,mBAAA;AAC3C,QAAA,OAAOC,0BAAQ,YAAY,CAAA;AAAA,MAC7B;AAAA,IACF;AAAA,GACF;AACF","file":"index.cjs","sourcesContent":["/**\n * Brave Search Tool\n *\n * Tree-shakeable import for Brave web search provider.\n * Only imports Brave code - no other providers bundled.\n *\n * @example\n * ```typescript\n * import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';\n *\n * const webSearch = braveSearch({\n * apiKey: process.env.BRAVE_API_KEY,\n * });\n *\n * const runtime = createRuntime({\n * tools: [webSearch],\n * });\n * ```\n *\n * @see https://brave.com/search/api/\n * @module @yourgpt/copilot-sdk/tools/brave\n */\n\nimport type { ToolDefinition } from \"../../core/types/tools\";\nimport { failure } from \"../../core/types/tools\";\nimport {\n searchBrave,\n braveProvider,\n} from \"../../core/tools/webSearch/providers/brave\";\nimport {\n formatSearchResultsForAI,\n summarizeSearchResults,\n} from \"../../core/tools/webSearch\";\nimport type { WebSearchResponse } from \"../../core/tools/webSearch/types\";\n\n// Re-export provider for direct access\nexport { braveProvider };\n\n/**\n * Brave search configuration\n */\nexport interface BraveSearchConfig {\n /** Brave Search API key - get one at https://brave.com/search/api/ */\n apiKey: string;\n /** Maximum number of results (default: 5) */\n maxResults?: number;\n /** Country code for localized results (e.g., 'us', 'gb', 'de') */\n country?: string;\n /** Language code for results (e.g., 'en', 'es', 'fr') */\n language?: string;\n /** Only include results from these domains */\n includeDomains?: string[];\n /** Exclude results from these domains */\n excludeDomains?: string[];\n /** Request timeout in milliseconds */\n timeout?: number;\n}\n\n/**\n * Search parameters passed to the tool\n */\ninterface BraveSearchParams {\n /** The search query */\n query: string;\n /** Maximum number of results (overrides config) */\n maxResults?: number;\n}\n\n/**\n * Create a Brave web search tool\n *\n * Brave Search is a privacy-focused search engine with its own index.\n * Provides independent search results without tracking.\n *\n * @param config - Brave configuration including API key\n * @returns A configured tool definition ready to use\n *\n * @example\n * ```typescript\n * import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';\n *\n * // Basic usage\n * const webSearch = braveSearch({\n * apiKey: process.env.BRAVE_API_KEY,\n * });\n *\n * // With locale settings\n * const webSearch = braveSearch({\n * apiKey: process.env.BRAVE_API_KEY,\n * country: 'us',\n * language: 'en',\n * maxResults: 10,\n * });\n *\n * const runtime = createRuntime({\n * provider: openai,\n * model: 'gpt-4o',\n * tools: [webSearch],\n * });\n * ```\n */\nexport function braveSearch(\n config: BraveSearchConfig,\n): ToolDefinition<BraveSearchParams> {\n return {\n name: \"web_search\",\n description: `Search the web using Brave Search for current information. Use this when the user asks about:\n- Recent events, news, or current affairs\n- Real-time data (prices, weather, stocks, sports scores)\n- Information that might have changed after your training cutoff\n- Facts that need verification with current sources\n- Research topics that require up-to-date information`,\n\n location: \"server\",\n\n title: (args) => `Searching for \"${args.query}\"`,\n executingTitle: (args) => `Searching the web for \"${args.query}\"...`,\n completedTitle: (args) => `Found results for \"${args.query}\"`,\n\n inputSchema: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description: \"The search query to find relevant information\",\n },\n maxResults: {\n type: \"number\",\n description:\n \"Maximum number of results to return (default: 5, max: 10)\",\n minimum: 1,\n maximum: 10,\n },\n },\n required: [\"query\"],\n },\n\n needsApproval: false,\n aiResponseMode: \"full\",\n\n handler: async (params) => {\n try {\n const response: WebSearchResponse = await searchBrave(\n {\n query: params.query,\n maxResults: params.maxResults ?? config.maxResults ?? 5,\n },\n {\n provider: \"brave\",\n apiKey: config.apiKey,\n country: config.country,\n language: config.language,\n includeDomains: config.includeDomains,\n excludeDomains: config.excludeDomains,\n timeout: config.timeout,\n },\n );\n\n const aiContext = formatSearchResultsForAI(response);\n\n return {\n success: true,\n message: summarizeSearchResults(response),\n data: response,\n _aiContext: aiContext,\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Web search failed\";\n return failure(errorMessage);\n }\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { T as ToolDefinition } from '../../tools-DDWrco4h.cjs';
|
|
2
|
+
export { b as braveProvider } from '../../brave-DdnWb7Gb.cjs';
|
|
3
|
+
import '../../types-ZguuKEs_.cjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Brave Search Tool
|
|
7
|
+
*
|
|
8
|
+
* Tree-shakeable import for Brave web search provider.
|
|
9
|
+
* Only imports Brave code - no other providers bundled.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';
|
|
14
|
+
*
|
|
15
|
+
* const webSearch = braveSearch({
|
|
16
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const runtime = createRuntime({
|
|
20
|
+
* tools: [webSearch],
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @see https://brave.com/search/api/
|
|
25
|
+
* @module @yourgpt/copilot-sdk/tools/brave
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Brave search configuration
|
|
30
|
+
*/
|
|
31
|
+
interface BraveSearchConfig {
|
|
32
|
+
/** Brave Search API key - get one at https://brave.com/search/api/ */
|
|
33
|
+
apiKey: string;
|
|
34
|
+
/** Maximum number of results (default: 5) */
|
|
35
|
+
maxResults?: number;
|
|
36
|
+
/** Country code for localized results (e.g., 'us', 'gb', 'de') */
|
|
37
|
+
country?: string;
|
|
38
|
+
/** Language code for results (e.g., 'en', 'es', 'fr') */
|
|
39
|
+
language?: string;
|
|
40
|
+
/** Only include results from these domains */
|
|
41
|
+
includeDomains?: string[];
|
|
42
|
+
/** Exclude results from these domains */
|
|
43
|
+
excludeDomains?: string[];
|
|
44
|
+
/** Request timeout in milliseconds */
|
|
45
|
+
timeout?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Search parameters passed to the tool
|
|
49
|
+
*/
|
|
50
|
+
interface BraveSearchParams {
|
|
51
|
+
/** The search query */
|
|
52
|
+
query: string;
|
|
53
|
+
/** Maximum number of results (overrides config) */
|
|
54
|
+
maxResults?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a Brave web search tool
|
|
58
|
+
*
|
|
59
|
+
* Brave Search is a privacy-focused search engine with its own index.
|
|
60
|
+
* Provides independent search results without tracking.
|
|
61
|
+
*
|
|
62
|
+
* @param config - Brave configuration including API key
|
|
63
|
+
* @returns A configured tool definition ready to use
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';
|
|
68
|
+
*
|
|
69
|
+
* // Basic usage
|
|
70
|
+
* const webSearch = braveSearch({
|
|
71
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
72
|
+
* });
|
|
73
|
+
*
|
|
74
|
+
* // With locale settings
|
|
75
|
+
* const webSearch = braveSearch({
|
|
76
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
77
|
+
* country: 'us',
|
|
78
|
+
* language: 'en',
|
|
79
|
+
* maxResults: 10,
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* const runtime = createRuntime({
|
|
83
|
+
* provider: openai,
|
|
84
|
+
* model: 'gpt-4o',
|
|
85
|
+
* tools: [webSearch],
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare function braveSearch(config: BraveSearchConfig): ToolDefinition<BraveSearchParams>;
|
|
90
|
+
|
|
91
|
+
export { type BraveSearchConfig, braveSearch };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { T as ToolDefinition } from '../../tools-DDWrco4h.js';
|
|
2
|
+
export { b as braveProvider } from '../../brave-DsI9n7Wr.js';
|
|
3
|
+
import '../../types-ZguuKEs_.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Brave Search Tool
|
|
7
|
+
*
|
|
8
|
+
* Tree-shakeable import for Brave web search provider.
|
|
9
|
+
* Only imports Brave code - no other providers bundled.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';
|
|
14
|
+
*
|
|
15
|
+
* const webSearch = braveSearch({
|
|
16
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const runtime = createRuntime({
|
|
20
|
+
* tools: [webSearch],
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @see https://brave.com/search/api/
|
|
25
|
+
* @module @yourgpt/copilot-sdk/tools/brave
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Brave search configuration
|
|
30
|
+
*/
|
|
31
|
+
interface BraveSearchConfig {
|
|
32
|
+
/** Brave Search API key - get one at https://brave.com/search/api/ */
|
|
33
|
+
apiKey: string;
|
|
34
|
+
/** Maximum number of results (default: 5) */
|
|
35
|
+
maxResults?: number;
|
|
36
|
+
/** Country code for localized results (e.g., 'us', 'gb', 'de') */
|
|
37
|
+
country?: string;
|
|
38
|
+
/** Language code for results (e.g., 'en', 'es', 'fr') */
|
|
39
|
+
language?: string;
|
|
40
|
+
/** Only include results from these domains */
|
|
41
|
+
includeDomains?: string[];
|
|
42
|
+
/** Exclude results from these domains */
|
|
43
|
+
excludeDomains?: string[];
|
|
44
|
+
/** Request timeout in milliseconds */
|
|
45
|
+
timeout?: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Search parameters passed to the tool
|
|
49
|
+
*/
|
|
50
|
+
interface BraveSearchParams {
|
|
51
|
+
/** The search query */
|
|
52
|
+
query: string;
|
|
53
|
+
/** Maximum number of results (overrides config) */
|
|
54
|
+
maxResults?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a Brave web search tool
|
|
58
|
+
*
|
|
59
|
+
* Brave Search is a privacy-focused search engine with its own index.
|
|
60
|
+
* Provides independent search results without tracking.
|
|
61
|
+
*
|
|
62
|
+
* @param config - Brave configuration including API key
|
|
63
|
+
* @returns A configured tool definition ready to use
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import { braveSearch } from '@yourgpt/copilot-sdk/tools/brave';
|
|
68
|
+
*
|
|
69
|
+
* // Basic usage
|
|
70
|
+
* const webSearch = braveSearch({
|
|
71
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
72
|
+
* });
|
|
73
|
+
*
|
|
74
|
+
* // With locale settings
|
|
75
|
+
* const webSearch = braveSearch({
|
|
76
|
+
* apiKey: process.env.BRAVE_API_KEY,
|
|
77
|
+
* country: 'us',
|
|
78
|
+
* language: 'en',
|
|
79
|
+
* maxResults: 10,
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* const runtime = createRuntime({
|
|
83
|
+
* provider: openai,
|
|
84
|
+
* model: 'gpt-4o',
|
|
85
|
+
* tools: [webSearch],
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare function braveSearch(config: BraveSearchConfig): ToolDefinition<BraveSearchParams>;
|
|
90
|
+
|
|
91
|
+
export { type BraveSearchConfig, braveSearch };
|