sema-core 1.0.11 → 1.0.13
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 +6 -11
- package/dist/core/Conversation.d.ts +6 -1
- package/dist/core/Conversation.d.ts.map +1 -1
- package/dist/core/Conversation.js +72 -28
- package/dist/core/Conversation.js.map +1 -1
- package/dist/core/RunTools.d.ts.map +1 -1
- package/dist/core/RunTools.js +1 -1
- package/dist/core/RunTools.js.map +1 -1
- package/dist/core/SemaCore.d.ts +16 -0
- package/dist/core/SemaCore.d.ts.map +1 -1
- package/dist/core/SemaCore.js +30 -3
- package/dist/core/SemaCore.js.map +1 -1
- package/dist/core/SemaEngine.d.ts +2 -18
- package/dist/core/SemaEngine.d.ts.map +1 -1
- package/dist/core/SemaEngine.js +101 -131
- package/dist/core/SemaEngine.js.map +1 -1
- package/dist/events/EventSystem.d.ts.map +1 -1
- package/dist/events/EventSystem.js +6 -2
- package/dist/events/EventSystem.js.map +1 -1
- package/dist/events/types.d.ts +60 -13
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/types.js +0 -1
- package/dist/events/types.js.map +1 -1
- package/dist/manager/ConfManager.d.ts.map +1 -1
- package/dist/manager/ConfManager.js +3 -1
- package/dist/manager/ConfManager.js.map +1 -1
- package/dist/manager/CronManager.d.ts +52 -0
- package/dist/manager/CronManager.d.ts.map +1 -0
- package/dist/manager/CronManager.js +426 -0
- package/dist/manager/CronManager.js.map +1 -0
- package/dist/manager/PermissionManager.d.ts +1 -1
- package/dist/manager/PermissionManager.d.ts.map +1 -1
- package/dist/manager/PermissionManager.js +63 -12
- package/dist/manager/PermissionManager.js.map +1 -1
- package/dist/manager/StateManager.d.ts +79 -11
- package/dist/manager/StateManager.d.ts.map +1 -1
- package/dist/manager/StateManager.js +287 -4
- package/dist/manager/StateManager.js.map +1 -1
- package/dist/manager/TaskManager.d.ts +106 -0
- package/dist/manager/TaskManager.d.ts.map +1 -0
- package/dist/manager/TaskManager.js +664 -0
- package/dist/manager/TaskManager.js.map +1 -0
- package/dist/services/agents/defaultBuiltInAgentsConfs.js +3 -3
- package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +1 -1
- package/dist/services/agents/systemReminder.d.ts.map +1 -1
- package/dist/services/agents/systemReminder.js +8 -118
- package/dist/services/agents/systemReminder.js.map +1 -1
- package/dist/services/api/adapt/anthropic.js +2 -2
- package/dist/services/api/adapt/anthropic.js.map +1 -1
- package/dist/services/api/adapt/openai.js +2 -2
- package/dist/services/api/adapt/openai.js.map +1 -1
- package/dist/services/api/adapt/util.d.ts +1 -1
- package/dist/services/api/adapt/util.d.ts.map +1 -1
- package/dist/services/api/adapt/util.js +2 -2
- package/dist/services/api/adapt/util.js.map +1 -1
- package/dist/services/api/cache.d.ts.map +1 -1
- package/dist/services/api/cache.js +1 -3
- package/dist/services/api/cache.js.map +1 -1
- package/dist/services/api/queryLLM.d.ts.map +1 -1
- package/dist/services/api/queryLLM.js +5 -0
- package/dist/services/api/queryLLM.js.map +1 -1
- package/dist/services/commands/runCommand.d.ts.map +1 -1
- package/dist/services/commands/runCommand.js +12 -0
- package/dist/services/commands/runCommand.js.map +1 -1
- package/dist/services/mcp/MCPManager.d.ts.map +1 -1
- package/dist/services/mcp/MCPManager.js +6 -1
- package/dist/services/mcp/MCPManager.js.map +1 -1
- package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
- package/dist/services/plugins/pluginsManager.js +8 -1
- package/dist/services/plugins/pluginsManager.js.map +1 -1
- package/dist/services/rules/rulesManager.d.ts +51 -0
- package/dist/services/rules/rulesManager.d.ts.map +1 -0
- package/dist/services/rules/rulesManager.js +192 -0
- package/dist/services/rules/rulesManager.js.map +1 -0
- package/dist/tools/Agent/Agent.d.ts +19 -11
- package/dist/tools/Agent/Agent.d.ts.map +1 -1
- package/dist/tools/Agent/Agent.js +249 -72
- package/dist/tools/Agent/Agent.js.map +1 -1
- package/dist/tools/Agent/prompt.d.ts.map +1 -1
- package/dist/tools/Agent/prompt.js +7 -9
- package/dist/tools/Agent/prompt.js.map +1 -1
- package/dist/tools/Bash/Bash.d.ts +21 -11
- package/dist/tools/Bash/Bash.d.ts.map +1 -1
- package/dist/tools/Bash/Bash.js +74 -17
- package/dist/tools/Bash/Bash.js.map +1 -1
- package/dist/tools/Bash/prompt.d.ts.map +1 -1
- package/dist/tools/Bash/prompt.js +53 -70
- package/dist/tools/Bash/prompt.js.map +1 -1
- package/dist/tools/Bash/utils.d.ts +5 -1
- package/dist/tools/Bash/utils.d.ts.map +1 -1
- package/dist/tools/Bash/utils.js +24 -4
- package/dist/tools/Bash/utils.js.map +1 -1
- package/dist/tools/CronCreate/CronCreate.d.ts +68 -0
- package/dist/tools/CronCreate/CronCreate.d.ts.map +1 -0
- package/dist/tools/CronCreate/CronCreate.js +75 -0
- package/dist/tools/CronCreate/CronCreate.js.map +1 -0
- package/dist/tools/CronCreate/prompt.d.ts +3 -0
- package/dist/tools/CronCreate/prompt.d.ts.map +1 -0
- package/dist/tools/CronCreate/prompt.js +41 -0
- package/dist/tools/CronCreate/prompt.js.map +1 -0
- package/dist/tools/CronDelete/CronDelete.d.ts +45 -0
- package/dist/tools/CronDelete/CronDelete.d.ts.map +1 -0
- package/dist/tools/CronDelete/CronDelete.js +51 -0
- package/dist/tools/CronDelete/CronDelete.js.map +1 -0
- package/dist/tools/CronDelete/prompt.d.ts +3 -0
- package/dist/tools/CronDelete/prompt.d.ts.map +1 -0
- package/dist/tools/CronDelete/prompt.js +6 -0
- package/dist/tools/CronDelete/prompt.js.map +1 -0
- package/dist/tools/CronList/CronList.d.ts +33 -0
- package/dist/tools/CronList/CronList.d.ts.map +1 -0
- package/dist/tools/CronList/CronList.js +55 -0
- package/dist/tools/CronList/CronList.js.map +1 -0
- package/dist/tools/CronList/prompt.d.ts +3 -0
- package/dist/tools/CronList/prompt.d.ts.map +1 -0
- package/dist/tools/CronList/prompt.js +6 -0
- package/dist/tools/CronList/prompt.js.map +1 -0
- package/dist/tools/Edit/Edit.d.ts.map +1 -1
- package/dist/tools/Edit/Edit.js +7 -3
- package/dist/tools/Edit/Edit.js.map +1 -1
- package/dist/tools/Edit/utils.d.ts.map +1 -1
- package/dist/tools/Edit/utils.js +14 -5
- package/dist/tools/Edit/utils.js.map +1 -1
- package/dist/tools/Grep/Grep.d.ts +4 -4
- package/dist/tools/NotebookEdit/NotebookEdit.js +1 -1
- package/dist/tools/NotebookEdit/NotebookEdit.js.map +1 -1
- package/dist/tools/Read/Read.d.ts +74 -3
- package/dist/tools/Read/Read.d.ts.map +1 -1
- package/dist/tools/Read/Read.js +188 -18
- package/dist/tools/Read/Read.js.map +1 -1
- package/dist/tools/Read/prompt.d.ts +1 -1
- package/dist/tools/Read/prompt.d.ts.map +1 -1
- package/dist/tools/Read/prompt.js +2 -1
- package/dist/tools/Read/prompt.js.map +1 -1
- package/dist/tools/Skill/Skill.d.ts +2 -1
- package/dist/tools/Skill/Skill.d.ts.map +1 -1
- package/dist/tools/Skill/Skill.js +3 -2
- package/dist/tools/Skill/Skill.js.map +1 -1
- package/dist/tools/TaskCreate/TaskCreate.d.ts +54 -0
- package/dist/tools/TaskCreate/TaskCreate.d.ts.map +1 -0
- package/dist/tools/TaskCreate/TaskCreate.js +51 -0
- package/dist/tools/TaskCreate/TaskCreate.js.map +1 -0
- package/dist/tools/TaskCreate/prompt.d.ts +3 -0
- package/dist/tools/TaskCreate/prompt.d.ts.map +1 -0
- package/dist/tools/TaskCreate/prompt.js +45 -0
- package/dist/tools/TaskCreate/prompt.js.map +1 -0
- package/dist/tools/TaskGet/TaskGet.d.ts +34 -0
- package/dist/tools/TaskGet/TaskGet.d.ts.map +1 -0
- package/dist/tools/TaskGet/TaskGet.js +57 -0
- package/dist/tools/TaskGet/TaskGet.js.map +1 -0
- package/dist/tools/TaskGet/prompt.d.ts +3 -0
- package/dist/tools/TaskGet/prompt.d.ts.map +1 -0
- package/dist/tools/TaskGet/prompt.js +26 -0
- package/dist/tools/TaskGet/prompt.js.map +1 -0
- package/dist/tools/TaskList/TaskList.d.ts +27 -0
- package/dist/tools/TaskList/TaskList.d.ts.map +1 -0
- package/dist/tools/TaskList/TaskList.js +56 -0
- package/dist/tools/TaskList/TaskList.js.map +1 -0
- package/dist/tools/TaskList/prompt.d.ts +3 -0
- package/dist/tools/TaskList/prompt.d.ts.map +1 -0
- package/dist/tools/TaskList/prompt.js +25 -0
- package/dist/tools/TaskList/prompt.js.map +1 -0
- package/dist/tools/TaskOutput/TaskOutput.d.ts +58 -0
- package/dist/tools/TaskOutput/TaskOutput.d.ts.map +1 -0
- package/dist/tools/TaskOutput/TaskOutput.js +95 -0
- package/dist/tools/TaskOutput/TaskOutput.js.map +1 -0
- package/dist/tools/TaskStop/TaskStop.d.ts +50 -0
- package/dist/tools/TaskStop/TaskStop.d.ts.map +1 -0
- package/dist/tools/TaskStop/TaskStop.js +69 -0
- package/dist/tools/TaskStop/TaskStop.js.map +1 -0
- package/dist/tools/TaskUpdate/TaskUpdate.d.ts +88 -0
- package/dist/tools/TaskUpdate/TaskUpdate.d.ts.map +1 -0
- package/dist/tools/TaskUpdate/TaskUpdate.js +115 -0
- package/dist/tools/TaskUpdate/TaskUpdate.js.map +1 -0
- package/dist/tools/TaskUpdate/prompt.d.ts +3 -0
- package/dist/tools/TaskUpdate/prompt.d.ts.map +1 -0
- package/dist/tools/TaskUpdate/prompt.js +80 -0
- package/dist/tools/TaskUpdate/prompt.js.map +1 -0
- package/dist/tools/WebFetch/WebFetch.d.ts +62 -0
- package/dist/tools/WebFetch/WebFetch.d.ts.map +1 -0
- package/dist/tools/WebFetch/WebFetch.js +143 -0
- package/dist/tools/WebFetch/WebFetch.js.map +1 -0
- package/dist/tools/WebFetch/prompt.d.ts +4 -0
- package/dist/tools/WebFetch/prompt.d.ts.map +1 -0
- package/dist/tools/WebFetch/prompt.js +38 -0
- package/dist/tools/WebFetch/prompt.js.map +1 -0
- package/dist/tools/WebFetch/utils.d.ts +20 -0
- package/dist/tools/WebFetch/utils.d.ts.map +1 -0
- package/dist/tools/WebFetch/utils.js +223 -0
- package/dist/tools/WebFetch/utils.js.map +1 -0
- package/dist/tools/Write/Write.js +1 -1
- package/dist/tools/Write/Write.js.map +1 -1
- package/dist/tools/base/Tool.d.ts +1 -0
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/tools/base/tools.d.ts +4 -2
- package/dist/tools/base/tools.d.ts.map +1 -1
- package/dist/tools/base/tools.js +61 -14
- package/dist/tools/base/tools.js.map +1 -1
- package/dist/types/cron.d.ts +21 -0
- package/dist/types/cron.d.ts.map +1 -0
- package/dist/types/cron.js +6 -0
- package/dist/types/cron.js.map +1 -0
- package/dist/types/index.d.ts +9 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/rule.d.ts +8 -0
- package/dist/types/rule.d.ts.map +1 -0
- package/dist/types/rule.js +3 -0
- package/dist/types/rule.js.map +1 -0
- package/dist/types/task.d.ts +93 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +3 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/todoTask.d.ts +29 -0
- package/dist/types/todoTask.d.ts.map +1 -0
- package/dist/types/todoTask.js +6 -0
- package/dist/types/todoTask.js.map +1 -0
- package/dist/util/assembleTools.d.ts +6 -0
- package/dist/util/assembleTools.d.ts.map +1 -0
- package/dist/util/assembleTools.js +17 -0
- package/dist/util/assembleTools.js.map +1 -0
- package/dist/util/btw.d.ts +6 -0
- package/dist/util/btw.d.ts.map +1 -0
- package/dist/util/btw.js +80 -0
- package/dist/util/btw.js.map +1 -0
- package/dist/util/compact.d.ts +16 -4
- package/dist/util/compact.d.ts.map +1 -1
- package/dist/util/compact.js +12 -18
- package/dist/util/compact.js.map +1 -1
- package/dist/util/cron.d.ts +17 -0
- package/dist/util/cron.d.ts.map +1 -0
- package/dist/util/cron.js +82 -0
- package/dist/util/cron.js.map +1 -0
- package/dist/util/file.d.ts +16 -0
- package/dist/util/file.d.ts.map +1 -1
- package/dist/util/file.js +55 -0
- package/dist/util/file.js.map +1 -1
- package/dist/util/fileReference.d.ts.map +1 -1
- package/dist/util/fileReference.js +10 -1
- package/dist/util/fileReference.js.map +1 -1
- package/dist/util/format.d.ts +6 -0
- package/dist/util/format.d.ts.map +1 -1
- package/dist/util/format.js +17 -0
- package/dist/util/format.js.map +1 -1
- package/dist/util/history.d.ts +4 -1
- package/dist/util/history.d.ts.map +1 -1
- package/dist/util/history.js +9 -5
- package/dist/util/history.js.map +1 -1
- package/dist/util/inputQueue.d.ts +19 -0
- package/dist/util/inputQueue.d.ts.map +1 -0
- package/dist/util/inputQueue.js +30 -0
- package/dist/util/inputQueue.js.map +1 -0
- package/dist/util/message.d.ts +4 -0
- package/dist/util/message.d.ts.map +1 -1
- package/dist/util/message.js +27 -0
- package/dist/util/message.js.map +1 -1
- package/dist/util/pdf.d.ts +83 -0
- package/dist/util/pdf.d.ts.map +1 -0
- package/dist/util/pdf.js +472 -0
- package/dist/util/pdf.js.map +1 -0
- package/dist/util/process.d.ts +10 -0
- package/dist/util/process.d.ts.map +1 -0
- package/dist/util/process.js +88 -0
- package/dist/util/process.js.map +1 -0
- package/dist/util/savePath.d.ts +0 -11
- package/dist/util/savePath.d.ts.map +1 -1
- package/dist/util/savePath.js +0 -17
- package/dist/util/savePath.js.map +1 -1
- package/dist/util/shell.d.ts +10 -1
- package/dist/util/shell.d.ts.map +1 -1
- package/dist/util/shell.js +89 -34
- package/dist/util/shell.js.map +1 -1
- package/dist/util/topic.d.ts +7 -0
- package/dist/util/topic.d.ts.map +1 -1
- package/dist/util/topic.js +40 -0
- package/dist/util/topic.js.map +1 -1
- package/package.json +2 -1
- package/dist/services/command/customCommands.d.ts +0 -1
- package/dist/services/command/customCommands.d.ts.map +0 -1
- package/dist/services/command/customCommands.js +0 -197
- package/dist/services/command/customCommands.js.map +0 -1
- package/dist/services/command/runCommand.d.ts +0 -18
- package/dist/services/command/runCommand.d.ts.map +0 -1
- package/dist/services/command/runCommand.js +0 -147
- package/dist/services/command/runCommand.js.map +0 -1
- package/dist/services/plugins/customCommands.d.ts +0 -29
- package/dist/services/plugins/customCommands.d.ts.map +0 -1
- package/dist/services/plugins/customCommands.js +0 -227
- package/dist/services/plugins/customCommands.js.map +0 -1
- package/dist/services/skill/skillLoader.d.ts +0 -17
- package/dist/services/skill/skillLoader.d.ts.map +0 -1
- package/dist/services/skill/skillLoader.js +0 -122
- package/dist/services/skill/skillLoader.js.map +0 -1
- package/dist/services/skill/skillParser.d.ts +0 -15
- package/dist/services/skill/skillParser.d.ts.map +0 -1
- package/dist/services/skill/skillParser.js +0 -66
- package/dist/services/skill/skillParser.js.map +0 -1
- package/dist/services/skill/skillRegistry.d.ts +0 -34
- package/dist/services/skill/skillRegistry.d.ts.map +0 -1
- package/dist/services/skill/skillRegistry.js +0 -98
- package/dist/services/skill/skillRegistry.js.map +0 -1
- package/dist/services/skill/skillsManager.d.ts +0 -79
- package/dist/services/skill/skillsManager.d.ts.map +0 -1
- package/dist/services/skill/skillsManager.js +0 -289
- package/dist/services/skill/skillsManager.js.map +0 -1
- package/dist/tools/Task/Task.d.ts +0 -59
- package/dist/tools/Task/Task.d.ts.map +0 -1
- package/dist/tools/Task/Task.js +0 -212
- package/dist/tools/Task/Task.js.map +0 -1
- package/dist/tools/Task/prompt.d.ts +0 -6
- package/dist/tools/Task/prompt.d.ts.map +0 -1
- package/dist/tools/Task/prompt.js +0 -75
- package/dist/tools/Task/prompt.js.map +0 -1
- package/dist/util/frontmatter.d.ts +0 -35
- package/dist/util/frontmatter.d.ts.map +0 -1
- package/dist/util/frontmatter.js +0 -119
- package/dist/util/frontmatter.js.map +0 -1
- package/dist/util/rules.d.ts +0 -6
- package/dist/util/rules.d.ts.map +0 -1
- package/dist/util/rules.js +0 -162
- package/dist/util/rules.js.map +0 -1
- package/dist/util/systemReminder.d.ts +0 -10
- package/dist/util/systemReminder.d.ts.map +0 -1
- package/dist/util/systemReminder.js +0 -177
- package/dist/util/systemReminder.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const TOOL_NAME_FOR_PROMPT = "WebFetch";
|
|
2
|
+
export declare const DESCRIPTION = "IMPORTANT: WebFetch WILL FAIL for authenticated or private URLs. Before using this tool, check if the URL points to an authenticated service (e.g. Google Docs, Confluence, Jira, GitHub). If so, look for a specialized MCP tool that provides authenticated access.\n\n- Fetches content from a specified URL and processes it using an AI model\n- Takes a URL and a prompt as input\n- Fetches the URL content, converts HTML to markdown\n- Processes the content with the prompt using a small, fast model\n- Returns the model's response about the content\n- Use this tool when you need to retrieve and analyze web content\n\nUsage notes:\n - IMPORTANT: If an MCP-provided web fetch tool is available, prefer using that tool instead of this one, as it may have fewer restrictions.\n - The URL must be a fully-formed valid URL\n - HTTP URLs will be automatically upgraded to HTTPS\n - The prompt should describe what information you want to extract from the page\n - This tool is read-only and does not modify any files\n - Results may be summarized if the content is very large\n - Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL\n - When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.\n - For GitHub URLs, prefer using the gh CLI via Bash instead (e.g., gh pr view, gh issue view, gh api).\n";
|
|
3
|
+
export declare function makeSecondaryModelPrompt(markdownContent: string, prompt: string): string;
|
|
4
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/tools/WebFetch/prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,aAAa,CAAA;AAE9C,eAAO,MAAM,WAAW,+9CAmBvB,CAAA;AAED,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,MAAM,CAWR"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DESCRIPTION = exports.TOOL_NAME_FOR_PROMPT = void 0;
|
|
4
|
+
exports.makeSecondaryModelPrompt = makeSecondaryModelPrompt;
|
|
5
|
+
exports.TOOL_NAME_FOR_PROMPT = 'WebFetch';
|
|
6
|
+
exports.DESCRIPTION = `IMPORTANT: WebFetch WILL FAIL for authenticated or private URLs. Before using this tool, check if the URL points to an authenticated service (e.g. Google Docs, Confluence, Jira, GitHub). If so, look for a specialized MCP tool that provides authenticated access.
|
|
7
|
+
|
|
8
|
+
- Fetches content from a specified URL and processes it using an AI model
|
|
9
|
+
- Takes a URL and a prompt as input
|
|
10
|
+
- Fetches the URL content, converts HTML to markdown
|
|
11
|
+
- Processes the content with the prompt using a small, fast model
|
|
12
|
+
- Returns the model's response about the content
|
|
13
|
+
- Use this tool when you need to retrieve and analyze web content
|
|
14
|
+
|
|
15
|
+
Usage notes:
|
|
16
|
+
- IMPORTANT: If an MCP-provided web fetch tool is available, prefer using that tool instead of this one, as it may have fewer restrictions.
|
|
17
|
+
- The URL must be a fully-formed valid URL
|
|
18
|
+
- HTTP URLs will be automatically upgraded to HTTPS
|
|
19
|
+
- The prompt should describe what information you want to extract from the page
|
|
20
|
+
- This tool is read-only and does not modify any files
|
|
21
|
+
- Results may be summarized if the content is very large
|
|
22
|
+
- Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL
|
|
23
|
+
- When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.
|
|
24
|
+
- For GitHub URLs, prefer using the gh CLI via Bash instead (e.g., gh pr view, gh issue view, gh api).
|
|
25
|
+
`;
|
|
26
|
+
function makeSecondaryModelPrompt(markdownContent, prompt) {
|
|
27
|
+
return `
|
|
28
|
+
Web page content:
|
|
29
|
+
---
|
|
30
|
+
${markdownContent}
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
${prompt}
|
|
34
|
+
|
|
35
|
+
Provide a concise response based on the content above. Include relevant details, code examples, and documentation excerpts as needed.
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/tools/WebFetch/prompt.ts"],"names":[],"mappings":";;;AAuBA,4DAcC;AArCY,QAAA,oBAAoB,GAAG,UAAU,CAAA;AAEjC,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;CAmB1B,CAAA;AAED,SAAgB,wBAAwB,CACtC,eAAuB,EACvB,MAAc;IAEd,OAAO;;;EAGP,eAAe;;;EAGf,MAAM;;;CAGP,CAAA;AACD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const MAX_MARKDOWN_LENGTH = 100000;
|
|
2
|
+
export declare function clearWebFetchCache(): void;
|
|
3
|
+
export type FetchedContent = {
|
|
4
|
+
content: string;
|
|
5
|
+
bytes: number;
|
|
6
|
+
code: number;
|
|
7
|
+
codeText: string;
|
|
8
|
+
contentType: string;
|
|
9
|
+
};
|
|
10
|
+
export type RedirectInfo = {
|
|
11
|
+
type: 'redirect';
|
|
12
|
+
originalUrl: string;
|
|
13
|
+
redirectUrl: string;
|
|
14
|
+
statusCode: number;
|
|
15
|
+
};
|
|
16
|
+
export declare function validateURL(url: string): boolean;
|
|
17
|
+
export declare function isPermittedRedirect(originalUrl: string, redirectUrl: string): boolean;
|
|
18
|
+
export declare function getURLMarkdownContent(url: string, abortController: AbortController): Promise<FetchedContent | RedirectInfo>;
|
|
19
|
+
export declare function applyPromptToMarkdown(prompt: string, markdownContent: string, signal: AbortSignal): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/WebFetch/utils.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,SAAU,CAAA;AAuB1C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAMD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAMD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAsBhD;AAMD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAcrF;AAiFD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,CA+DxC;AAMD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_MARKDOWN_LENGTH = void 0;
|
|
4
|
+
exports.clearWebFetchCache = clearWebFetchCache;
|
|
5
|
+
exports.validateURL = validateURL;
|
|
6
|
+
exports.isPermittedRedirect = isPermittedRedirect;
|
|
7
|
+
exports.getURLMarkdownContent = getURLMarkdownContent;
|
|
8
|
+
exports.applyPromptToMarkdown = applyPromptToMarkdown;
|
|
9
|
+
const lru_cache_1 = require("lru-cache");
|
|
10
|
+
const log_1 = require("../../util/log");
|
|
11
|
+
const prompt_1 = require("./prompt");
|
|
12
|
+
const queryLLM_1 = require("../../services/api/queryLLM");
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// 常量
|
|
15
|
+
// ============================================================================
|
|
16
|
+
const MAX_URL_LENGTH = 2000;
|
|
17
|
+
const MAX_HTTP_CONTENT_LENGTH = 10 * 1024 * 1024; // 10MB
|
|
18
|
+
const FETCH_TIMEOUT_MS = 60_000;
|
|
19
|
+
const MAX_REDIRECTS = 10;
|
|
20
|
+
exports.MAX_MARKDOWN_LENGTH = 100_000;
|
|
21
|
+
const CACHE_TTL_MS = 15 * 60 * 1000; // 15 分钟
|
|
22
|
+
const MAX_CACHE_SIZE_BYTES = 50 * 1024 * 1024; // 50MB
|
|
23
|
+
const URL_CACHE = new lru_cache_1.LRUCache({
|
|
24
|
+
maxSize: MAX_CACHE_SIZE_BYTES,
|
|
25
|
+
ttl: CACHE_TTL_MS,
|
|
26
|
+
sizeCalculation: (entry) => Math.max(1, Buffer.byteLength(entry.content)),
|
|
27
|
+
});
|
|
28
|
+
function clearWebFetchCache() {
|
|
29
|
+
URL_CACHE.clear();
|
|
30
|
+
}
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// URL 验证
|
|
33
|
+
// ============================================================================
|
|
34
|
+
function validateURL(url) {
|
|
35
|
+
if (url.length > MAX_URL_LENGTH) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
let parsed;
|
|
39
|
+
try {
|
|
40
|
+
parsed = new URL(url);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
if (parsed.username || parsed.password) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const parts = parsed.hostname.split('.');
|
|
49
|
+
if (parts.length < 2) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
// ============================================================================
|
|
55
|
+
// 重定向检查
|
|
56
|
+
// ============================================================================
|
|
57
|
+
function isPermittedRedirect(originalUrl, redirectUrl) {
|
|
58
|
+
try {
|
|
59
|
+
const parsedOriginal = new URL(originalUrl);
|
|
60
|
+
const parsedRedirect = new URL(redirectUrl);
|
|
61
|
+
if (parsedRedirect.protocol !== parsedOriginal.protocol)
|
|
62
|
+
return false;
|
|
63
|
+
if (parsedRedirect.port !== parsedOriginal.port)
|
|
64
|
+
return false;
|
|
65
|
+
if (parsedRedirect.username || parsedRedirect.password)
|
|
66
|
+
return false;
|
|
67
|
+
const stripWww = (h) => h.replace(/^www\./, '');
|
|
68
|
+
return stripWww(parsedOriginal.hostname) === stripWww(parsedRedirect.hostname);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// ============================================================================
|
|
75
|
+
// HTTP 请求(使用 undici)
|
|
76
|
+
// ============================================================================
|
|
77
|
+
async function fetchWithRedirects(url, signal, depth = 0) {
|
|
78
|
+
if (depth > MAX_REDIRECTS) {
|
|
79
|
+
throw new Error(`Too many redirects (exceeded ${MAX_REDIRECTS})`);
|
|
80
|
+
}
|
|
81
|
+
const controller = new AbortController();
|
|
82
|
+
const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
83
|
+
const onAbort = () => controller.abort();
|
|
84
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
85
|
+
let response;
|
|
86
|
+
try {
|
|
87
|
+
response = await globalThis.fetch(url, {
|
|
88
|
+
signal: controller.signal,
|
|
89
|
+
redirect: 'manual',
|
|
90
|
+
headers: {
|
|
91
|
+
Accept: 'text/markdown, text/html, */*',
|
|
92
|
+
'User-Agent': 'sema-code-core/1.0 WebFetch',
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
signal.removeEventListener('abort', onAbort);
|
|
99
|
+
}
|
|
100
|
+
if ([301, 302, 307, 308].includes(response.status)) {
|
|
101
|
+
const location = response.headers.get('location');
|
|
102
|
+
if (!location) {
|
|
103
|
+
throw new Error('Redirect missing Location header');
|
|
104
|
+
}
|
|
105
|
+
const redirectUrl = new URL(location, url).toString();
|
|
106
|
+
if (isPermittedRedirect(url, redirectUrl)) {
|
|
107
|
+
return fetchWithRedirects(redirectUrl, signal, depth + 1);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return {
|
|
111
|
+
type: 'redirect',
|
|
112
|
+
originalUrl: url,
|
|
113
|
+
redirectUrl,
|
|
114
|
+
statusCode: response.status,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return { response, finalUrl: url };
|
|
119
|
+
}
|
|
120
|
+
let turndownPromise;
|
|
121
|
+
function getTurndownService() {
|
|
122
|
+
if (!turndownPromise) {
|
|
123
|
+
turndownPromise = Promise.resolve().then(() => {
|
|
124
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
125
|
+
const mod = require('turndown');
|
|
126
|
+
const Ctor = mod.default ?? mod;
|
|
127
|
+
return new Ctor();
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return turndownPromise;
|
|
131
|
+
}
|
|
132
|
+
// ============================================================================
|
|
133
|
+
// 主获取函数
|
|
134
|
+
// ============================================================================
|
|
135
|
+
async function getURLMarkdownContent(url, abortController) {
|
|
136
|
+
if (!validateURL(url)) {
|
|
137
|
+
throw new Error('Invalid URL');
|
|
138
|
+
}
|
|
139
|
+
const cached = URL_CACHE.get(url);
|
|
140
|
+
if (cached) {
|
|
141
|
+
return { ...cached };
|
|
142
|
+
}
|
|
143
|
+
// HTTP → HTTPS 升级
|
|
144
|
+
let upgradedUrl = url;
|
|
145
|
+
try {
|
|
146
|
+
const parsed = new URL(url);
|
|
147
|
+
if (parsed.protocol === 'http:') {
|
|
148
|
+
parsed.protocol = 'https:';
|
|
149
|
+
upgradedUrl = parsed.toString();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// ignore
|
|
154
|
+
}
|
|
155
|
+
const result = await fetchWithRedirects(upgradedUrl, abortController.signal);
|
|
156
|
+
if ('type' in result && result.type === 'redirect') {
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
const { response } = result;
|
|
160
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
161
|
+
// 限制响应体大小
|
|
162
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
163
|
+
const rawBuffer = Buffer.from(arrayBuffer);
|
|
164
|
+
if (rawBuffer.length > MAX_HTTP_CONTENT_LENGTH) {
|
|
165
|
+
throw new Error(`Response too large: ${rawBuffer.length} bytes`);
|
|
166
|
+
}
|
|
167
|
+
const bytes = rawBuffer.length;
|
|
168
|
+
const htmlContent = rawBuffer.toString('utf-8');
|
|
169
|
+
let markdownContent;
|
|
170
|
+
if (contentType.includes('text/html')) {
|
|
171
|
+
try {
|
|
172
|
+
const td = await getTurndownService();
|
|
173
|
+
markdownContent = td.turndown(htmlContent);
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
markdownContent = htmlContent;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
markdownContent = htmlContent;
|
|
181
|
+
}
|
|
182
|
+
const entry = {
|
|
183
|
+
bytes,
|
|
184
|
+
code: response.status,
|
|
185
|
+
codeText: response.statusText,
|
|
186
|
+
content: markdownContent,
|
|
187
|
+
contentType,
|
|
188
|
+
};
|
|
189
|
+
URL_CACHE.set(url, entry);
|
|
190
|
+
return entry;
|
|
191
|
+
}
|
|
192
|
+
// ============================================================================
|
|
193
|
+
// 用 LLM 处理 Markdown 内容
|
|
194
|
+
// ============================================================================
|
|
195
|
+
async function applyPromptToMarkdown(prompt, markdownContent, signal) {
|
|
196
|
+
const truncated = markdownContent.length > exports.MAX_MARKDOWN_LENGTH
|
|
197
|
+
? markdownContent.slice(0, exports.MAX_MARKDOWN_LENGTH) + '\n\n[Content truncated due to length...]'
|
|
198
|
+
: markdownContent;
|
|
199
|
+
const modelPrompt = (0, prompt_1.makeSecondaryModelPrompt)(truncated, prompt);
|
|
200
|
+
let result;
|
|
201
|
+
try {
|
|
202
|
+
result = await (0, queryLLM_1.queryQuick)({
|
|
203
|
+
userPrompt: modelPrompt,
|
|
204
|
+
signal,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
catch (e) {
|
|
208
|
+
(0, log_1.logError)(e);
|
|
209
|
+
return 'Failed to process content with model';
|
|
210
|
+
}
|
|
211
|
+
if (signal.aborted) {
|
|
212
|
+
throw new Error('AbortError');
|
|
213
|
+
}
|
|
214
|
+
const { content } = result.message;
|
|
215
|
+
if (content.length > 0) {
|
|
216
|
+
const block = content[0];
|
|
217
|
+
if (block && 'text' in block) {
|
|
218
|
+
return block.text;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return 'No response from model';
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tools/WebFetch/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,7 +107,7 @@ exports.FileWriteTool = {
|
|
|
107
107
|
if (!readTimestamp) {
|
|
108
108
|
return {
|
|
109
109
|
result: false,
|
|
110
|
-
message: 'File
|
|
110
|
+
message: 'File must be read first',
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
113
|
// Check if file exists and get its last modified time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Write.js","sourceRoot":"","sources":["../../../src/tools/Write/Write.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Write.js","sourceRoot":"","sources":["../../../src/tools/Write/Write.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export interface Tool<TInput extends z.ZodObject<any> = z.ZodObject<any>, TOutpu
|
|
|
28
28
|
content: string | Record<string, any>;
|
|
29
29
|
};
|
|
30
30
|
getDisplayTitle?: (input?: z.infer<TInput>) => string;
|
|
31
|
+
canRunConcurrently?: () => boolean;
|
|
31
32
|
supportsInterrupt?: () => boolean;
|
|
32
33
|
call: (input: z.infer<TInput>, agentContext: any) => AsyncGenerator<{
|
|
33
34
|
type: 'result';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../../src/tools/base/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAEzC;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AAGD,MAAM,WAAW,IAAI,CACnB,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAClD,OAAO,GAAG,GAAG;IAEb,IAAI,EAAE,MAAM,CAAA;IAEZ,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAErC,WAAW,EAAE,MAAM,CAAA;IAGnB,UAAU,EAAE,MAAM,OAAO,CAAA;IAEzB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,YAAY,EAAE,GAAG,KACd,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE9B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAErF,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KACnB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE/E,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE9I,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../../src/tools/base/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,SAAS,MAAM,mBAAmB,CAAA;AAEzC;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AAGD,MAAM,WAAW,IAAI,CACnB,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAClD,OAAO,GAAG,GAAG;IAEb,IAAI,EAAE,MAAM,CAAA;IAEZ,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAErC,WAAW,EAAE,MAAM,CAAA;IAGnB,UAAU,EAAE,MAAM,OAAO,CAAA;IAEzB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,YAAY,EAAE,GAAG,KACd,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE9B,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAErF,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KACnB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE/E,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;IAE9I,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;IAGrD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;IAKlC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAA;IAGjC,IAAI,EAAE,CACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,YAAY,EAAE,GAAG,KACd,cAAc,CACjB;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAA;KAAE,EACnJ,IAAI,EACJ,OAAO,CACR,CAAA;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import Anthropic from '@anthropic-ai/sdk';
|
|
2
2
|
import { Tool } from './Tool';
|
|
3
3
|
import { ToolInfo } from '../../types/index';
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const SUBAGENT_EXCLUDED_TOOLS: Set<string>;
|
|
5
|
+
export declare const getAllBuiltinToolInfos: () => ToolInfo[];
|
|
5
6
|
export declare const getBuiltinTools: () => Tool[];
|
|
6
|
-
export declare const
|
|
7
|
+
export declare const getAvailableBuiltinTools: ((useTools?: string[] | null) => Tool[]) & import("lodash").MemoizedFunction;
|
|
8
|
+
export declare function getAvailableTools(): Tool[];
|
|
7
9
|
export declare const buildTools: ((tools: Tool[]) => Anthropic.Tool[]) & import("lodash").MemoizedFunction;
|
|
8
10
|
export declare function getToolDescription(tool: Tool): string;
|
|
9
11
|
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AA0B7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAO5C,eAAO,MAAM,uBAAuB,aAGlC,CAAA;AAOF,eAAO,MAAM,sBAAsB,QAAO,QAAQ,EAOjD,CAAA;AAGD,eAAO,MAAM,eAAe,QAAO,IAAI,EAwBtC,CAAA;AAGD,eAAO,MAAM,wBAAwB,eACvB,MAAM,EAAE,GAAG,IAAI,KAAG,IAAI,EAAE,qCAerC,CAAA;AAGD,wBAAgB,iBAAiB,IAAI,IAAI,EAAE,CAO1C;AAwBD,eAAO,MAAM,UAAU,WACb,IAAI,EAAE,KAAG,SAAS,CAAC,IAAI,EAAE,qCAgClC,CAAA;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKrD"}
|
package/dist/tools/base/tools.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildTools = exports.
|
|
3
|
+
exports.buildTools = exports.getAvailableBuiltinTools = exports.getBuiltinTools = exports.getAllBuiltinToolInfos = exports.SUBAGENT_EXCLUDED_TOOLS = void 0;
|
|
4
|
+
exports.getAvailableTools = getAvailableTools;
|
|
4
5
|
exports.getToolDescription = getToolDescription;
|
|
5
6
|
const Bash_1 = require("../Bash/Bash");
|
|
6
7
|
const Edit_1 = require("../Edit/Edit");
|
|
@@ -9,16 +10,35 @@ const Write_1 = require("../Write/Write");
|
|
|
9
10
|
const Glob_1 = require("../Glob/Glob");
|
|
10
11
|
const Grep_1 = require("../Grep/Grep");
|
|
11
12
|
const NotebookEdit_1 = require("../NotebookEdit/NotebookEdit");
|
|
12
|
-
const TodoWrite_1 = require("../TodoWrite/TodoWrite");
|
|
13
13
|
const Skill_1 = require("../Skill/Skill");
|
|
14
14
|
const Agent_1 = require("../Agent/Agent");
|
|
15
15
|
const AskUserQuestion_1 = require("../AskUserQuestion/AskUserQuestion");
|
|
16
16
|
const ExitPlanMode_1 = require("../ExitPlanMode/ExitPlanMode");
|
|
17
|
+
const TaskOutput_1 = require("../TaskOutput/TaskOutput");
|
|
18
|
+
const TaskStop_1 = require("../TaskStop/TaskStop");
|
|
19
|
+
const TaskCreate_1 = require("../TaskCreate/TaskCreate");
|
|
20
|
+
const TaskGet_1 = require("../TaskGet/TaskGet");
|
|
21
|
+
const TaskList_1 = require("../TaskList/TaskList");
|
|
22
|
+
const TaskUpdate_1 = require("../TaskUpdate/TaskUpdate");
|
|
23
|
+
const CronCreate_1 = require("../CronCreate/CronCreate");
|
|
24
|
+
const CronDelete_1 = require("../CronDelete/CronDelete");
|
|
25
|
+
const CronList_1 = require("../CronList/CronList");
|
|
26
|
+
const WebFetch_1 = require("../WebFetch/WebFetch");
|
|
27
|
+
const MCPManager_1 = require("../../services/mcp/MCPManager");
|
|
17
28
|
const ConfManager_1 = require("../../manager/ConfManager");
|
|
18
29
|
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
19
30
|
const lodash_es_1 = require("lodash-es");
|
|
20
|
-
|
|
21
|
-
const
|
|
31
|
+
const log_1 = require("../../util/log");
|
|
32
|
+
const BG_TOOLS = new Set(['Bash', 'Agent']);
|
|
33
|
+
// 子代理中禁用的工具(防止嵌套调用、任务管理等)
|
|
34
|
+
exports.SUBAGENT_EXCLUDED_TOOLS = new Set([
|
|
35
|
+
'Agent', 'TaskOutput', 'TaskStop', 'AskUserQuestion', 'ExitPlanMode',
|
|
36
|
+
'TaskCreate', 'TaskGet', 'TaskList', 'TaskUpdate'
|
|
37
|
+
]);
|
|
38
|
+
// 将工具对象安全转换为 Tool 类型(各工具的字面量类型与 Tool 泛型不完全匹配)
|
|
39
|
+
const asTool = (tool) => tool;
|
|
40
|
+
// 获取全部内置工具信息(含启用/禁用状态)
|
|
41
|
+
const getAllBuiltinToolInfos = () => {
|
|
22
42
|
const useTools = (0, ConfManager_1.getConfManager)().getCoreConfig()?.useTools;
|
|
23
43
|
return (0, exports.getBuiltinTools)().map(tool => ({
|
|
24
44
|
name: tool.name,
|
|
@@ -26,8 +46,8 @@ const getToolInfos = () => {
|
|
|
26
46
|
status: (!useTools || useTools.includes(tool.name)) ? 'enable' : 'disable'
|
|
27
47
|
}));
|
|
28
48
|
};
|
|
29
|
-
exports.
|
|
30
|
-
//
|
|
49
|
+
exports.getAllBuiltinToolInfos = getAllBuiltinToolInfos;
|
|
50
|
+
// 获取全部内置工具
|
|
31
51
|
const getBuiltinTools = () => {
|
|
32
52
|
return [
|
|
33
53
|
Bash_1.BashTool,
|
|
@@ -36,17 +56,26 @@ const getBuiltinTools = () => {
|
|
|
36
56
|
Read_1.FileReadTool,
|
|
37
57
|
Write_1.FileWriteTool,
|
|
38
58
|
Edit_1.FileEditTool,
|
|
39
|
-
|
|
59
|
+
WebFetch_1.WebFetchTool,
|
|
60
|
+
Agent_1.AgentTool,
|
|
61
|
+
TaskOutput_1.TaskOutputTool,
|
|
62
|
+
TaskStop_1.TaskStopTool,
|
|
40
63
|
Skill_1.SkillTool,
|
|
41
|
-
Agent_1.TaskTool,
|
|
42
64
|
NotebookEdit_1.NotebookEditTool,
|
|
43
65
|
AskUserQuestion_1.AskUserQuestionTool,
|
|
44
66
|
ExitPlanMode_1.ExitPlanModeTool,
|
|
45
|
-
|
|
67
|
+
TaskCreate_1.TaskCreateTool,
|
|
68
|
+
TaskGet_1.TaskGetTool,
|
|
69
|
+
TaskList_1.TaskListTool,
|
|
70
|
+
TaskUpdate_1.TaskUpdateTool,
|
|
71
|
+
CronCreate_1.CronCreateTool,
|
|
72
|
+
CronDelete_1.CronDeleteTool,
|
|
73
|
+
CronList_1.CronListTool,
|
|
74
|
+
].map(asTool);
|
|
46
75
|
};
|
|
47
76
|
exports.getBuiltinTools = getBuiltinTools;
|
|
48
|
-
//
|
|
49
|
-
exports.
|
|
77
|
+
// 获取可用内置工具(按 useTools 配置过滤)
|
|
78
|
+
exports.getAvailableBuiltinTools = (0, lodash_es_1.memoize)((useTools) => {
|
|
50
79
|
const allTools = (0, exports.getBuiltinTools)();
|
|
51
80
|
if (!useTools) {
|
|
52
81
|
return allTools;
|
|
@@ -58,6 +87,15 @@ exports.getTools = (0, lodash_es_1.memoize)((useTools) => {
|
|
|
58
87
|
}
|
|
59
88
|
return useTools.sort().join(',');
|
|
60
89
|
});
|
|
90
|
+
// 获取可用内置工具 + MCP 工具
|
|
91
|
+
function getAvailableTools() {
|
|
92
|
+
const useTools = (0, ConfManager_1.getConfManager)().getCoreConfig()?.useTools;
|
|
93
|
+
const builtinTools = (0, exports.getAvailableBuiltinTools)(useTools);
|
|
94
|
+
const mcpTools = (0, MCPManager_1.getMCPManager)().getMCPTools();
|
|
95
|
+
const tools = [...builtinTools, ...mcpTools];
|
|
96
|
+
(0, log_1.logInfo)(`tools len: ${tools.length} (builtin: ${builtinTools.length}, mcp: ${mcpTools.length})`);
|
|
97
|
+
return tools;
|
|
98
|
+
}
|
|
61
99
|
// 从 zod schema 中提取 required 字段
|
|
62
100
|
function extractRequiredFields(schema) {
|
|
63
101
|
if (!schema || typeof schema !== 'object')
|
|
@@ -77,13 +115,19 @@ function extractRequiredFields(schema) {
|
|
|
77
115
|
}
|
|
78
116
|
// 使用 memoize 优化的 buildTools 函数
|
|
79
117
|
exports.buildTools = (0, lodash_es_1.memoize)((tools) => {
|
|
118
|
+
const disableBackgroundTasks = (0, ConfManager_1.getConfManager)().getCoreConfig()?.disableBackgroundTasks ?? false;
|
|
80
119
|
return tools.map(tool => {
|
|
81
120
|
const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(tool.inputSchema);
|
|
82
121
|
const requiredFields = extractRequiredFields(tool.inputSchema);
|
|
83
122
|
// 安全地获取 properties
|
|
84
|
-
|
|
85
|
-
? jsonSchema.properties
|
|
123
|
+
let properties = (jsonSchema && typeof jsonSchema === 'object' && 'properties' in jsonSchema)
|
|
124
|
+
? { ...jsonSchema.properties }
|
|
86
125
|
: jsonSchema;
|
|
126
|
+
// 禁用后台任务时,从 Bash/Agent 的 schema 中过滤 run_in_background
|
|
127
|
+
if (disableBackgroundTasks && BG_TOOLS.has(tool.name) && properties && typeof properties === 'object') {
|
|
128
|
+
const { run_in_background: _, ...rest } = properties;
|
|
129
|
+
properties = rest;
|
|
130
|
+
}
|
|
87
131
|
return {
|
|
88
132
|
name: tool.name,
|
|
89
133
|
description: getToolDescription(tool),
|
|
@@ -94,7 +138,10 @@ exports.buildTools = (0, lodash_es_1.memoize)((tools) => {
|
|
|
94
138
|
}
|
|
95
139
|
};
|
|
96
140
|
});
|
|
97
|
-
}, (tools) =>
|
|
141
|
+
}, (tools) => {
|
|
142
|
+
const disableBackgroundTasks = (0, ConfManager_1.getConfManager)().getCoreConfig()?.disableBackgroundTasks ?? false;
|
|
143
|
+
return tools.map(tool => tool.name).sort().join(',') + (disableBackgroundTasks ? ':no-bg' : '');
|
|
144
|
+
});
|
|
98
145
|
// 辅助函数:获取工具描述
|
|
99
146
|
function getToolDescription(tool) {
|
|
100
147
|
if (typeof tool.description === 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/base/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron 定时任务类型定义
|
|
3
|
+
*/
|
|
4
|
+
export interface CronTask {
|
|
5
|
+
id: string;
|
|
6
|
+
cron: string;
|
|
7
|
+
prompt: string;
|
|
8
|
+
recurring: boolean;
|
|
9
|
+
durable: boolean;
|
|
10
|
+
status: boolean;
|
|
11
|
+
filePath?: string;
|
|
12
|
+
createdAt: number;
|
|
13
|
+
cronToHuman: string;
|
|
14
|
+
activatedAt: number;
|
|
15
|
+
lastFiredAt?: number;
|
|
16
|
+
nextFireAt: number[];
|
|
17
|
+
}
|
|
18
|
+
export interface CronTaskFile {
|
|
19
|
+
tasks: Pick<CronTask, 'id' | 'cron' | 'prompt' | 'recurring' | 'createdAt' | 'lastFiredAt'>[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/types/cron.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,CAAA;CAC9F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/types/cron.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -9,13 +9,15 @@ export interface SemaCoreConfig {
|
|
|
9
9
|
skipBashExecPermission?: boolean;
|
|
10
10
|
skipSkillPermission?: boolean;
|
|
11
11
|
skipMCPToolPermission?: boolean;
|
|
12
|
+
skipWebFetchPermission?: boolean;
|
|
12
13
|
enableLLMCache?: boolean;
|
|
13
14
|
useTools?: string[] | null;
|
|
14
15
|
agentMode?: 'Agent' | 'Plan';
|
|
15
16
|
disableTopicDetection?: boolean;
|
|
16
17
|
enableClaudeCodeCompat?: boolean;
|
|
18
|
+
disableBackgroundTasks?: boolean;
|
|
17
19
|
}
|
|
18
|
-
export type UpdatableCoreConfigKeys = 'stream' | 'thinking' | 'systemPrompt' | 'customRules' | 'skipFileEditPermission' | 'skipBashExecPermission' | 'skipSkillPermission' | 'skipMCPToolPermission' | 'enableLLMCache' | 'enableClaudeCodeCompat';
|
|
20
|
+
export type UpdatableCoreConfigKeys = 'stream' | 'thinking' | 'systemPrompt' | 'customRules' | 'skipFileEditPermission' | 'skipBashExecPermission' | 'skipSkillPermission' | 'skipMCPToolPermission' | 'skipWebFetchPermission' | 'enableLLMCache' | 'enableClaudeCodeCompat' | 'disableBackgroundTasks';
|
|
19
21
|
export declare const defaultCoreConfig: {
|
|
20
22
|
stream: boolean;
|
|
21
23
|
thinking: boolean;
|
|
@@ -23,10 +25,12 @@ export declare const defaultCoreConfig: {
|
|
|
23
25
|
skipBashExecPermission: boolean;
|
|
24
26
|
skipSkillPermission: boolean;
|
|
25
27
|
skipMCPToolPermission: boolean;
|
|
28
|
+
skipWebFetchPermission: boolean;
|
|
26
29
|
systemPrompt: string;
|
|
27
30
|
customRules: string;
|
|
28
31
|
enableLLMCache: boolean;
|
|
29
32
|
enableClaudeCodeCompat: boolean;
|
|
33
|
+
disableBackgroundTasks: boolean;
|
|
30
34
|
};
|
|
31
35
|
export type UpdatableCoreConfig = Partial<typeof defaultCoreConfig>;
|
|
32
36
|
export interface ModelConfig {
|
|
@@ -96,4 +100,8 @@ export { MAIN_AGENT_ID } from '../manager/StateManager';
|
|
|
96
100
|
export type { PluginScope, MarketplacePluginsInfo } from './plugin';
|
|
97
101
|
export type { MCPServerConfig, MCPServerInfo } from './mcp';
|
|
98
102
|
export type { MemoryConfig } from './memory';
|
|
103
|
+
export type { RuleScope, RuleConfig } from './rule';
|
|
104
|
+
export type { TaskStatus, TaskRecord, TaskListItem } from './task';
|
|
105
|
+
export type { TodoItem, TodoTaskStatus, TodoTask, } from './todoTask';
|
|
106
|
+
export type { CronTask, CronTaskFile, } from './cron';
|
|
99
107
|
//# sourceMappingURL=index.d.ts.map
|