@yourgpt/copilot-sdk 2.1.5-alpha.1 → 2.1.5-alpha.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/dist/{chunk-4QXY2PBG.js → chunk-3AONOZLY.js} +2 -2
- package/dist/{chunk-4QXY2PBG.js.map → chunk-3AONOZLY.js.map} +1 -1
- package/dist/{chunk-JKGFQUHJ.cjs → chunk-MDS23G2S.cjs} +5 -5
- package/dist/{chunk-JKGFQUHJ.cjs.map → chunk-MDS23G2S.cjs.map} +1 -1
- package/dist/{chunk-5Q72LZ5H.js → chunk-PT2TOHG5.js} +7 -3
- package/dist/chunk-PT2TOHG5.js.map +1 -0
- package/dist/{chunk-ENFWM3EY.js → chunk-RKGRQRZU.js} +3 -3
- package/dist/{chunk-ENFWM3EY.js.map → chunk-RKGRQRZU.js.map} +1 -1
- package/dist/{chunk-IXWNDR7H.cjs → chunk-TCPAT3WG.cjs} +35 -31
- package/dist/chunk-TCPAT3WG.cjs.map +1 -0
- package/dist/{chunk-246B6X5D.cjs → chunk-TPB7XED6.cjs} +2 -2
- package/dist/{chunk-246B6X5D.cjs.map → chunk-TPB7XED6.cjs.map} +1 -1
- package/dist/{chunk-I3SQUNTT.cjs → chunk-WIXFZUEZ.cjs} +23 -23
- package/dist/{chunk-I3SQUNTT.cjs.map → chunk-WIXFZUEZ.cjs.map} +1 -1
- package/dist/{chunk-UXJ6LIZB.js → chunk-WZ2TOZ7M.js} +4 -4
- package/dist/{chunk-UXJ6LIZB.js.map → chunk-WZ2TOZ7M.js.map} +1 -1
- package/dist/core/index.cjs +82 -82
- package/dist/core/index.d.cts +3 -3
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js +3 -3
- package/dist/{index-CiExk87c.d.cts → index-CzJB8Ddo.d.cts} +1 -1
- package/dist/{index-Dwrcf-CP.d.ts → index-D7169xuR.d.ts} +1 -1
- package/dist/mcp/index.d.cts +3 -3
- package/dist/mcp/index.d.ts +3 -3
- package/dist/react/index.cjs +65 -65
- package/dist/react/index.d.cts +8 -4
- package/dist/react/index.d.ts +8 -4
- package/dist/react/index.js +4 -4
- package/dist/styles.css +43 -0
- package/dist/tools/anthropic/index.d.cts +1 -1
- package/dist/tools/anthropic/index.d.ts +1 -1
- package/dist/tools/brave/index.cjs +2 -2
- package/dist/tools/brave/index.d.cts +1 -1
- package/dist/tools/brave/index.d.ts +1 -1
- package/dist/tools/brave/index.js +1 -1
- package/dist/tools/exa/index.cjs +2 -2
- package/dist/tools/exa/index.d.cts +1 -1
- package/dist/tools/exa/index.d.ts +1 -1
- package/dist/tools/exa/index.js +1 -1
- package/dist/tools/google/index.cjs +2 -2
- package/dist/tools/google/index.d.cts +1 -1
- package/dist/tools/google/index.d.ts +1 -1
- package/dist/tools/google/index.js +1 -1
- package/dist/tools/openai/index.cjs +2 -2
- package/dist/tools/openai/index.d.cts +1 -1
- package/dist/tools/openai/index.d.ts +1 -1
- package/dist/tools/openai/index.js +1 -1
- package/dist/tools/searxng/index.cjs +2 -2
- package/dist/tools/searxng/index.d.cts +1 -1
- package/dist/tools/searxng/index.d.ts +1 -1
- package/dist/tools/searxng/index.js +1 -1
- package/dist/tools/serper/index.cjs +2 -2
- package/dist/tools/serper/index.d.cts +1 -1
- package/dist/tools/serper/index.d.ts +1 -1
- package/dist/tools/serper/index.js +1 -1
- package/dist/tools/tavily/index.cjs +2 -2
- package/dist/tools/tavily/index.d.cts +1 -1
- package/dist/tools/tavily/index.d.ts +1 -1
- package/dist/tools/tavily/index.js +1 -1
- package/dist/tools/web-search/index.cjs +3 -3
- package/dist/tools/web-search/index.d.cts +2 -2
- package/dist/tools/web-search/index.d.ts +2 -2
- package/dist/tools/web-search/index.js +2 -2
- package/dist/{tools-DHZhF5km.d.cts → tools-tmksfhUo.d.cts} +9 -0
- package/dist/{tools-DHZhF5km.d.ts → tools-tmksfhUo.d.ts} +9 -0
- package/dist/{types-BdX7uPj0.d.cts → types-BLw7mxtW.d.cts} +1 -1
- package/dist/{types-BTyJu0WD.d.ts → types-BqwW3Baj.d.ts} +1 -1
- package/dist/ui/index.cjs +291 -301
- package/dist/ui/index.cjs.map +1 -1
- package/dist/ui/index.d.cts +40 -56
- package/dist/ui/index.d.ts +40 -56
- package/dist/ui/index.js +238 -248
- package/dist/ui/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-5Q72LZ5H.js.map +0 -1
- package/dist/chunk-IXWNDR7H.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tool, failure } from './chunk-
|
|
1
|
+
import { tool, failure } from './chunk-3AONOZLY.js';
|
|
2
2
|
import { formatSearchResultsForAI, executeWebSearch, summarizeSearchResults } from './chunk-LLM7AHMO.js';
|
|
3
3
|
|
|
4
4
|
// src/core/tools/builtin/webSearch.ts
|
|
@@ -75,5 +75,5 @@ function createWebSearchTool(config) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export { createWebSearchTool, webSearchTool };
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
79
|
-
//# sourceMappingURL=chunk-
|
|
78
|
+
//# sourceMappingURL=chunk-RKGRQRZU.js.map
|
|
79
|
+
//# sourceMappingURL=chunk-RKGRQRZU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/tools/builtin/webSearch.ts"],"names":[],"mappings":";;;;AAoDO,IAAM,gBAAgB,IAAA,CAAsB;AAAA,EACjD,WAAA,EAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAA,CAAA;AAAA,EAOb,QAAA,EAAU,QAAA;AAAA;AAAA,EAEV,KAAA,EAAO,CAAC,IAAA,KAAS,CAAA,eAAA,EAAkB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,EAC7C,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,uBAAA,EAA0B,KAAK,KAAK,CAAA,IAAA,CAAA;AAAA,EAC9D,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,mBAAA,EAAsB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,EAE1D,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE,2DAAA;AAAA,QACF,OAAA,EAAS,CAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,CAAC,OAAA,EAAS,UAAU,CAAA;AAAA,QAC1B,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,QAAA,EAAU,CAAC,OAAO;AAAA,GACpB;AAAA,EAEA,aAAA,EAAe,KAAA;AAAA;AAAA;AAAA,EAGf,cAAA,EAAgB,MAAA;AAAA,EAChB,SAAA,EAAW,CAAC,MAAA,EAAQ,IAAA,KAAS;AAC3B,IAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA,eAAA,EAAkB,OAAO,KAAK,CAAA,CAAA;AAC1D,IAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,IAAA,OAAO,yBAAyB,IAAI,CAAA;AAAA,EACtC;AACF,CAAC;AAoEM,SAAS,oBACd,MAAA,EACiC;AACjC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,GAAG,aAAA;AAAA,IACH,OAAA,EAAS,OAAO,MAAA,KAA4B;AAC1C,MAAA,IAAI;AACF,QAAA,MAAM,WAAW,MAAM,gBAAA;AAAA,UACrB;AAAA,YACE,OAAO,MAAA,CAAO,KAAA;AAAA,YACd,UAAA,EAAY,MAAA,CAAO,UAAA,IAAc,MAAA,CAAO,UAAA,IAAc,CAAA;AAAA,YACtD,WAAA,EAAa,MAAA,CAAO,WAAA,IAAe,MAAA,CAAO,WAAA,IAAe;AAAA,WAC3D;AAAA,UACA;AAAA,SACF;AAGA,QAAA,MAAM,SAAA,GAAY,yBAAyB,QAAQ,CAAA;AAEnD,QAAA,OAAO;AAAA,UACL,OAAA,EAAS,IAAA;AAAA,UACT,OAAA,EAAS,uBAAuB,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,OAAO,QAAQ,YAAY,CAAA;AAAA,MAC7B;AAAA,IACF;AAAA,GACF;AACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/core/tools/builtin/webSearch.ts"],"names":[],"mappings":";;;;AAoDO,IAAM,gBAAgB,IAAA,CAAsB;AAAA,EACjD,WAAA,EAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAA,CAAA;AAAA,EAOb,QAAA,EAAU,QAAA;AAAA;AAAA,EAEV,KAAA,EAAO,CAAC,IAAA,KAAS,CAAA,eAAA,EAAkB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,EAC7C,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,uBAAA,EAA0B,KAAK,KAAK,CAAA,IAAA,CAAA;AAAA,EAC9D,cAAA,EAAgB,CAAC,IAAA,KAAS,CAAA,mBAAA,EAAsB,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,EAE1D,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY;AAAA,MACV,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACf;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,QAAA;AAAA,QACN,WAAA,EACE,2DAAA;AAAA,QACF,OAAA,EAAS,CAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM,QAAA;AAAA,QACN,IAAA,EAAM,CAAC,OAAA,EAAS,UAAU,CAAA;AAAA,QAC1B,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,QAAA,EAAU,CAAC,OAAO;AAAA,GACpB;AAAA,EAEA,aAAA,EAAe,KAAA;AAAA;AAAA;AAAA,EAGf,cAAA,EAAgB,MAAA;AAAA,EAChB,SAAA,EAAW,CAAC,MAAA,EAAQ,IAAA,KAAS;AAC3B,IAAA,IAAI,CAAC,MAAA,CAAO,OAAA,EAAS,OAAO,CAAA,eAAA,EAAkB,OAAO,KAAK,CAAA,CAAA;AAC1D,IAAA,MAAM,OAAO,MAAA,CAAO,IAAA;AACpB,IAAA,OAAO,yBAAyB,IAAI,CAAA;AAAA,EACtC;AACF,CAAC;AAoEM,SAAS,oBACd,MAAA,EACiC;AACjC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,YAAA;AAAA,IACN,GAAG,aAAA;AAAA,IACH,OAAA,EAAS,OAAO,MAAA,KAA4B;AAC1C,MAAA,IAAI;AACF,QAAA,MAAM,WAAW,MAAM,gBAAA;AAAA,UACrB;AAAA,YACE,OAAO,MAAA,CAAO,KAAA;AAAA,YACd,UAAA,EAAY,MAAA,CAAO,UAAA,IAAc,MAAA,CAAO,UAAA,IAAc,CAAA;AAAA,YACtD,WAAA,EAAa,MAAA,CAAO,WAAA,IAAe,MAAA,CAAO,WAAA,IAAe;AAAA,WAC3D;AAAA,UACA;AAAA,SACF;AAGA,QAAA,MAAM,SAAA,GAAY,yBAAyB,QAAQ,CAAA;AAEnD,QAAA,OAAO;AAAA,UACL,OAAA,EAAS,IAAA;AAAA,UACT,OAAA,EAAS,uBAAuB,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,OAAO,QAAQ,YAAY,CAAA;AAAA,MAC7B;AAAA,IACF;AAAA,GACF;AACF","file":"chunk-RKGRQRZU.js","sourcesContent":["/**\n * Built-in Web Search Tool\n *\n * A pre-configured tool for searching the web with multiple provider support.\n * Runs on the server to protect API keys.\n *\n * Supports tree-shaking - import providers directly for smaller bundles.\n *\n * @example\n * ```typescript\n * // Option 1: String provider (lazy loaded at runtime)\n * import { createWebSearchTool } from '@yourgpt/copilot-sdk';\n * const webSearch = createWebSearchTool({\n * provider: 'tavily',\n * apiKey: process.env.TAVILY_API_KEY,\n * });\n *\n * // Option 2: Direct provider import (best for tree-shaking)\n * import { createWebSearchTool, tavilyProvider } from '@yourgpt/copilot-sdk';\n * const webSearch = createWebSearchTool({\n * provider: tavilyProvider,\n * apiKey: process.env.TAVILY_API_KEY,\n * });\n *\n * // Add to your runtime\n * const runtime = createRuntime({\n * tools: [webSearch],\n * });\n * ```\n */\n\nimport { tool, success, failure } from \"../../types/tools\";\nimport type { ToolDefinition } from \"../../types/tools\";\nimport {\n executeWebSearch,\n formatSearchResultsForAI,\n summarizeSearchResults,\n type WebSearchConfigExtended,\n} from \"../webSearch\";\nimport type {\n WebSearchConfig,\n WebSearchParams,\n WebSearchResponse,\n WebSearchProviderInterface,\n} from \"../webSearch/types\";\n\n/**\n * Base web search tool definition\n *\n * This is the core tool definition. Use `createWebSearchTool()` to create\n * a configured instance with your provider settings.\n */\nexport const webSearchTool = tool<WebSearchParams>({\n description: `Search the web 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\", // Runs on server to protect API keys\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 searchDepth: {\n type: \"string\",\n enum: [\"basic\", \"advanced\"],\n description:\n \"Search depth - 'advanced' provides more thorough results but may be slower\",\n },\n },\n required: [\"query\"],\n },\n\n needsApproval: false, // No user data exposed, just searching\n\n // Control what AI sees from results\n aiResponseMode: \"full\",\n aiContext: (result, args) => {\n if (!result.success) return `Search failed: ${result.error}`;\n const data = result.data as WebSearchResponse;\n return formatSearchResultsForAI(data);\n },\n});\n\n/**\n * Create a configured web search tool\n *\n * Supports both string provider names (lazy loaded) and direct provider imports (tree-shakeable).\n *\n * @param config - Web search configuration including provider and API key\n * @returns A configured tool definition ready to use\n *\n * @example\n * ```typescript\n * // ===== BEST FOR TREE-SHAKING: Direct provider import =====\n * import { createWebSearchTool, openaiProvider } from '@yourgpt/copilot-sdk/core';\n *\n * const webSearch = createWebSearchTool({\n * provider: openaiProvider, // Only this provider in bundle\n * apiKey: process.env.OPENAI_API_KEY,\n * });\n *\n * // ===== STRING PROVIDERS (Lazy loaded at runtime) =====\n *\n * // OpenAI (uses your OpenAI API key)\n * const webSearch = createWebSearchTool({\n * provider: 'openai',\n * apiKey: process.env.OPENAI_API_KEY,\n * });\n *\n * // Google (uses your Google/Gemini API key)\n * const webSearch = createWebSearchTool({\n * provider: 'google',\n * apiKey: process.env.GOOGLE_API_KEY,\n * });\n *\n * // Tavily (AI-optimized search with answer generation)\n * const webSearch = createWebSearchTool({\n * provider: 'tavily',\n * apiKey: process.env.TAVILY_API_KEY,\n * includeAnswer: true,\n * maxResults: 5,\n * });\n *\n * // Serper (Google results)\n * const webSearch = createWebSearchTool({\n * provider: 'serper',\n * apiKey: process.env.SERPER_API_KEY,\n * });\n *\n * // Brave Search (privacy-focused)\n * const webSearch = createWebSearchTool({\n * provider: 'brave',\n * apiKey: process.env.BRAVE_API_KEY,\n * });\n *\n * // Self-hosted SearXNG (no API key needed)\n * const webSearch = createWebSearchTool({\n * provider: 'searxng',\n * baseUrl: 'https://your-searxng-instance.com',\n * });\n *\n * // Exa (AI-optimized semantic search)\n * const webSearch = createWebSearchTool({\n * provider: 'exa',\n * apiKey: process.env.EXA_API_KEY,\n * searchDepth: 'advanced',\n * });\n * ```\n */\nexport function createWebSearchTool(\n config: WebSearchConfigExtended,\n): ToolDefinition<WebSearchParams> {\n return {\n name: \"web_search\",\n ...webSearchTool,\n handler: async (params: WebSearchParams) => {\n try {\n const response = await executeWebSearch(\n {\n query: params.query,\n maxResults: params.maxResults ?? config.maxResults ?? 5,\n searchDepth: params.searchDepth ?? config.searchDepth ?? \"basic\",\n },\n config,\n );\n\n // Build the AI context string\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\n/**\n * Utility types for web search tool configuration\n */\nexport type {\n WebSearchConfig,\n WebSearchParams,\n WebSearchResponse,\n WebSearchProviderInterface,\n};\nexport type { WebSearchConfigExtended };\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkWIXFZUEZ_cjs = require('./chunk-WIXFZUEZ.cjs');
|
|
4
4
|
var chunkJGPDQDY4_cjs = require('./chunk-JGPDQDY4.cjs');
|
|
5
5
|
var chunkBJYA5NDL_cjs = require('./chunk-BJYA5NDL.cjs');
|
|
6
6
|
var React2 = require('react');
|
|
@@ -2419,7 +2419,7 @@ ${this.dynamicContext}`.trim() : this.config.systemPrompt;
|
|
|
2419
2419
|
}
|
|
2420
2420
|
get log() {
|
|
2421
2421
|
if (!this._log) {
|
|
2422
|
-
this._log =
|
|
2422
|
+
this._log = chunkWIXFZUEZ_cjs.createLogger("streaming", () => this.config.debug ?? false);
|
|
2423
2423
|
}
|
|
2424
2424
|
return this._log;
|
|
2425
2425
|
}
|
|
@@ -2693,11 +2693,14 @@ var AbstractAgentLoop = class {
|
|
|
2693
2693
|
}
|
|
2694
2694
|
let approvalData;
|
|
2695
2695
|
if (tool2.needsApproval && !this.config.autoApprove) {
|
|
2696
|
+
const approvalTitle = typeof tool2.approvalTitle === "function" ? tool2.approvalTitle(toolCall.args) : tool2.approvalTitle;
|
|
2696
2697
|
const approvalMessage = typeof tool2.approvalMessage === "function" ? tool2.approvalMessage(toolCall.args) : tool2.approvalMessage;
|
|
2697
2698
|
execution.approvalStatus = "required";
|
|
2699
|
+
execution.approvalTitle = approvalTitle;
|
|
2698
2700
|
execution.approvalMessage = approvalMessage;
|
|
2699
2701
|
this.updateToolExecution(toolCall.id, {
|
|
2700
2702
|
approvalStatus: "required",
|
|
2703
|
+
approvalTitle,
|
|
2701
2704
|
approvalMessage
|
|
2702
2705
|
});
|
|
2703
2706
|
this.callbacks.onApprovalRequired?.(execution);
|
|
@@ -3340,7 +3343,7 @@ var ChatWithTools = class {
|
|
|
3340
3343
|
// Private
|
|
3341
3344
|
// ============================================
|
|
3342
3345
|
debug(message, ...args) {
|
|
3343
|
-
|
|
3346
|
+
chunkWIXFZUEZ_cjs.createLogger("tools", () => this.config.debug ?? false)(
|
|
3344
3347
|
message,
|
|
3345
3348
|
args.length === 1 ? args[0] : args.length > 1 ? args : void 0
|
|
3346
3349
|
);
|
|
@@ -4854,7 +4857,7 @@ function useTool(config, dependencies = []) {
|
|
|
4854
4857
|
configRef.current = config;
|
|
4855
4858
|
const inputSchema = React2.useMemo(() => {
|
|
4856
4859
|
if (isZodSchema(config.inputSchema)) {
|
|
4857
|
-
return
|
|
4860
|
+
return chunkWIXFZUEZ_cjs.zodToJsonSchema(config.inputSchema);
|
|
4858
4861
|
}
|
|
4859
4862
|
return config.inputSchema;
|
|
4860
4863
|
}, [config.inputSchema]);
|
|
@@ -4870,6 +4873,7 @@ function useTool(config, dependencies = []) {
|
|
|
4870
4873
|
render: config.render,
|
|
4871
4874
|
available: config.available ?? true,
|
|
4872
4875
|
needsApproval: config.needsApproval,
|
|
4876
|
+
approvalTitle: config.approvalTitle,
|
|
4873
4877
|
approvalMessage: config.approvalMessage,
|
|
4874
4878
|
hidden: config.hidden,
|
|
4875
4879
|
deferLoading: config.deferLoading,
|
|
@@ -5208,7 +5212,7 @@ function CopilotProvider({
|
|
|
5208
5212
|
}) {
|
|
5209
5213
|
const debugLog = React2.useCallback(
|
|
5210
5214
|
(action, data) => {
|
|
5211
|
-
|
|
5215
|
+
chunkWIXFZUEZ_cjs.createLogger("provider", () => debug ?? false)(action, data);
|
|
5212
5216
|
},
|
|
5213
5217
|
[debug]
|
|
5214
5218
|
);
|
|
@@ -5626,17 +5630,17 @@ function useAITools(options = {}) {
|
|
|
5626
5630
|
const rememberedConsentRef = React2.useRef(/* @__PURE__ */ new Set());
|
|
5627
5631
|
React2.useEffect(() => {
|
|
5628
5632
|
if (!autoStart || !isEnabled) return;
|
|
5629
|
-
if (consoleCapture && !
|
|
5630
|
-
|
|
5633
|
+
if (consoleCapture && !chunkWIXFZUEZ_cjs.isConsoleCaptureActive()) {
|
|
5634
|
+
chunkWIXFZUEZ_cjs.startConsoleCapture(consoleOptions);
|
|
5631
5635
|
setActiveCaptures((prev) => ({ ...prev, console: true }));
|
|
5632
5636
|
}
|
|
5633
|
-
if (network && !
|
|
5634
|
-
|
|
5637
|
+
if (network && !chunkWIXFZUEZ_cjs.isNetworkCaptureActive()) {
|
|
5638
|
+
chunkWIXFZUEZ_cjs.startNetworkCapture(networkOptions);
|
|
5635
5639
|
setActiveCaptures((prev) => ({ ...prev, network: true }));
|
|
5636
5640
|
}
|
|
5637
5641
|
return () => {
|
|
5638
|
-
|
|
5639
|
-
|
|
5642
|
+
chunkWIXFZUEZ_cjs.stopConsoleCapture();
|
|
5643
|
+
chunkWIXFZUEZ_cjs.stopNetworkCapture();
|
|
5640
5644
|
};
|
|
5641
5645
|
}, [
|
|
5642
5646
|
autoStart,
|
|
@@ -5651,12 +5655,12 @@ function useAITools(options = {}) {
|
|
|
5651
5655
|
if (!screenshot) {
|
|
5652
5656
|
throw new Error("Screenshot capture is not enabled");
|
|
5653
5657
|
}
|
|
5654
|
-
if (!
|
|
5658
|
+
if (!chunkWIXFZUEZ_cjs.isScreenshotSupported()) {
|
|
5655
5659
|
throw new Error(
|
|
5656
5660
|
"Screenshot capture is not supported in this environment"
|
|
5657
5661
|
);
|
|
5658
5662
|
}
|
|
5659
|
-
return
|
|
5663
|
+
return chunkWIXFZUEZ_cjs.captureScreenshot({ ...screenshotOptions, ...opts });
|
|
5660
5664
|
},
|
|
5661
5665
|
[screenshot, screenshotOptions]
|
|
5662
5666
|
);
|
|
@@ -5665,7 +5669,7 @@ function useAITools(options = {}) {
|
|
|
5665
5669
|
if (!consoleCapture) {
|
|
5666
5670
|
return { logs: [], totalCaptured: 0 };
|
|
5667
5671
|
}
|
|
5668
|
-
return
|
|
5672
|
+
return chunkWIXFZUEZ_cjs.getConsoleLogs({ ...consoleOptions, ...opts });
|
|
5669
5673
|
},
|
|
5670
5674
|
[consoleCapture, consoleOptions]
|
|
5671
5675
|
);
|
|
@@ -5674,7 +5678,7 @@ function useAITools(options = {}) {
|
|
|
5674
5678
|
if (!network) {
|
|
5675
5679
|
return { requests: [], totalCaptured: 0 };
|
|
5676
5680
|
}
|
|
5677
|
-
return
|
|
5681
|
+
return chunkWIXFZUEZ_cjs.getNetworkRequests({ ...networkOptions, ...opts });
|
|
5678
5682
|
},
|
|
5679
5683
|
[network, networkOptions]
|
|
5680
5684
|
);
|
|
@@ -5767,23 +5771,23 @@ function useAITools(options = {}) {
|
|
|
5767
5771
|
]
|
|
5768
5772
|
);
|
|
5769
5773
|
const startCapturing = React2.useCallback(() => {
|
|
5770
|
-
if (consoleCapture && !
|
|
5771
|
-
|
|
5774
|
+
if (consoleCapture && !chunkWIXFZUEZ_cjs.isConsoleCaptureActive()) {
|
|
5775
|
+
chunkWIXFZUEZ_cjs.startConsoleCapture(consoleOptions);
|
|
5772
5776
|
setActiveCaptures((prev) => ({ ...prev, console: true }));
|
|
5773
5777
|
}
|
|
5774
|
-
if (network && !
|
|
5775
|
-
|
|
5778
|
+
if (network && !chunkWIXFZUEZ_cjs.isNetworkCaptureActive()) {
|
|
5779
|
+
chunkWIXFZUEZ_cjs.startNetworkCapture(networkOptions);
|
|
5776
5780
|
setActiveCaptures((prev) => ({ ...prev, network: true }));
|
|
5777
5781
|
}
|
|
5778
5782
|
}, [consoleCapture, network, consoleOptions, networkOptions]);
|
|
5779
5783
|
const stopCapturing = React2.useCallback(() => {
|
|
5780
|
-
|
|
5781
|
-
|
|
5784
|
+
chunkWIXFZUEZ_cjs.stopConsoleCapture();
|
|
5785
|
+
chunkWIXFZUEZ_cjs.stopNetworkCapture();
|
|
5782
5786
|
setActiveCaptures({ console: false, network: false });
|
|
5783
5787
|
}, []);
|
|
5784
5788
|
const clearCaptured = React2.useCallback(() => {
|
|
5785
|
-
|
|
5786
|
-
|
|
5789
|
+
chunkWIXFZUEZ_cjs.clearConsoleLogs();
|
|
5790
|
+
chunkWIXFZUEZ_cjs.clearNetworkRequests();
|
|
5787
5791
|
}, []);
|
|
5788
5792
|
const formatForAI = React2.useCallback((context) => {
|
|
5789
5793
|
const parts = [];
|
|
@@ -5793,16 +5797,16 @@ function useAITools(options = {}) {
|
|
|
5793
5797
|
);
|
|
5794
5798
|
}
|
|
5795
5799
|
if (context.consoleLogs && context.consoleLogs.logs.length > 0) {
|
|
5796
|
-
parts.push(
|
|
5800
|
+
parts.push(chunkWIXFZUEZ_cjs.formatLogsForAI(context.consoleLogs.logs));
|
|
5797
5801
|
}
|
|
5798
5802
|
if (context.networkRequests && context.networkRequests.requests.length > 0) {
|
|
5799
|
-
parts.push(
|
|
5803
|
+
parts.push(chunkWIXFZUEZ_cjs.formatRequestsForAI(context.networkRequests.requests));
|
|
5800
5804
|
}
|
|
5801
5805
|
return parts.length > 0 ? parts.join("\n\n---\n\n") : "No context captured.";
|
|
5802
5806
|
}, []);
|
|
5803
5807
|
const detectIntentFn = React2.useCallback(
|
|
5804
5808
|
(message) => {
|
|
5805
|
-
const result =
|
|
5809
|
+
const result = chunkWIXFZUEZ_cjs.detectIntent(message);
|
|
5806
5810
|
result.suggestedTools = result.suggestedTools.filter((tool2) => {
|
|
5807
5811
|
if (tool2 === "screenshot") return screenshot;
|
|
5808
5812
|
if (tool2 === "console") return consoleCapture;
|
|
@@ -5865,7 +5869,7 @@ function convertZodSchema(schema, _toolName) {
|
|
|
5865
5869
|
}
|
|
5866
5870
|
} catch {
|
|
5867
5871
|
}
|
|
5868
|
-
return
|
|
5872
|
+
return chunkWIXFZUEZ_cjs.zodObjectToInputSchema(schema);
|
|
5869
5873
|
}
|
|
5870
5874
|
function useToolWithSchema(config, dependencies = []) {
|
|
5871
5875
|
const { registerTool, unregisterTool } = useCopilot();
|
|
@@ -6174,7 +6178,7 @@ function useAgent(options) {
|
|
|
6174
6178
|
if (!response.ok) {
|
|
6175
6179
|
throw new Error(`Agent error: ${response.status}`);
|
|
6176
6180
|
}
|
|
6177
|
-
for await (const event of
|
|
6181
|
+
for await (const event of chunkWIXFZUEZ_cjs.streamSSE(response)) {
|
|
6178
6182
|
handleAgentEvent(event);
|
|
6179
6183
|
}
|
|
6180
6184
|
} catch (err) {
|
|
@@ -6668,7 +6672,7 @@ function createReactThreadManagerState(initialThreads) {
|
|
|
6668
6672
|
}
|
|
6669
6673
|
|
|
6670
6674
|
// src/react/internal/ReactThreadManager.ts
|
|
6671
|
-
var _ReactThreadManager = class _ReactThreadManager extends
|
|
6675
|
+
var _ReactThreadManager = class _ReactThreadManager extends chunkWIXFZUEZ_cjs.ThreadManager {
|
|
6672
6676
|
constructor(config = {}, callbacks = {}) {
|
|
6673
6677
|
const reactState = new ReactThreadManagerState();
|
|
6674
6678
|
super({ ...config, state: reactState }, callbacks);
|
|
@@ -7499,5 +7503,5 @@ exports.useToolExecutor = useToolExecutor;
|
|
|
7499
7503
|
exports.useToolWithSchema = useToolWithSchema;
|
|
7500
7504
|
exports.useTools = useTools;
|
|
7501
7505
|
exports.useToolsWithSchema = useToolsWithSchema;
|
|
7502
|
-
//# sourceMappingURL=chunk-
|
|
7503
|
-
//# sourceMappingURL=chunk-
|
|
7506
|
+
//# sourceMappingURL=chunk-TCPAT3WG.cjs.map
|
|
7507
|
+
//# sourceMappingURL=chunk-TCPAT3WG.cjs.map
|