sema-core 1.0.13 → 2.0.0
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 +22 -9
- package/dist/{constants → conf}/config.d.ts +0 -1
- package/dist/conf/config.d.ts.map +1 -0
- package/dist/{constants → conf}/config.js +1 -3
- package/dist/conf/config.js.map +1 -0
- package/dist/core/Conversation.d.ts +3 -14
- package/dist/core/Conversation.d.ts.map +1 -1
- package/dist/core/Conversation.js +53 -89
- package/dist/core/Conversation.js.map +1 -1
- package/dist/core/RunTools.d.ts +5 -5
- package/dist/core/RunTools.d.ts.map +1 -1
- package/dist/core/RunTools.js +22 -31
- package/dist/core/RunTools.js.map +1 -1
- package/dist/core/SemaCore.d.ts +21 -22
- package/dist/core/SemaCore.d.ts.map +1 -1
- package/dist/core/SemaCore.js +16 -24
- package/dist/core/SemaCore.js.map +1 -1
- package/dist/core/SemaEngine.d.ts +2 -2
- package/dist/core/SemaEngine.d.ts.map +1 -1
- package/dist/core/SemaEngine.js +30 -33
- package/dist/core/SemaEngine.js.map +1 -1
- package/dist/events/EventSystem.d.ts.map +1 -1
- package/dist/events/EventSystem.js +3 -2
- package/dist/events/EventSystem.js.map +1 -1
- package/dist/events/types.d.ts +75 -41
- package/dist/events/types.d.ts.map +1 -1
- package/dist/manager/ConfManager.d.ts +10 -3
- package/dist/manager/ConfManager.d.ts.map +1 -1
- package/dist/manager/ConfManager.js +30 -13
- package/dist/manager/ConfManager.js.map +1 -1
- package/dist/manager/CronManager.d.ts +3 -6
- package/dist/manager/CronManager.d.ts.map +1 -1
- package/dist/manager/CronManager.js +62 -74
- package/dist/manager/CronManager.js.map +1 -1
- package/dist/manager/ModelManager.d.ts +0 -3
- package/dist/manager/ModelManager.d.ts.map +1 -1
- package/dist/manager/ModelManager.js +2 -4
- package/dist/manager/ModelManager.js.map +1 -1
- package/dist/manager/PermissionManager.d.ts +4 -6
- package/dist/manager/PermissionManager.d.ts.map +1 -1
- package/dist/manager/PermissionManager.js +70 -65
- package/dist/manager/PermissionManager.js.map +1 -1
- package/dist/manager/StateManager.d.ts +40 -7
- package/dist/manager/StateManager.d.ts.map +1 -1
- package/dist/manager/StateManager.js +79 -22
- package/dist/manager/StateManager.js.map +1 -1
- package/dist/manager/TaskManager.d.ts +2 -9
- package/dist/manager/TaskManager.d.ts.map +1 -1
- package/dist/manager/TaskManager.js +64 -66
- package/dist/manager/TaskManager.js.map +1 -1
- package/dist/prompt/agents.d.ts +3 -0
- package/dist/prompt/agents.d.ts.map +1 -0
- package/dist/prompt/agents.js +52 -0
- package/dist/prompt/agents.js.map +1 -0
- package/dist/prompt/commands.d.ts +3 -0
- package/dist/prompt/commands.d.ts.map +1 -0
- package/dist/prompt/commands.js +19 -0
- package/dist/prompt/commands.js.map +1 -0
- package/dist/prompt/compact.d.ts +2 -0
- package/dist/prompt/compact.d.ts.map +1 -0
- package/dist/prompt/compact.js +22 -0
- package/dist/prompt/compact.js.map +1 -0
- package/dist/prompt/define.d.ts +5 -0
- package/dist/prompt/define.d.ts.map +1 -0
- package/dist/prompt/define.js +8 -0
- package/dist/prompt/define.js.map +1 -0
- package/dist/prompt/design/design.d.ts +47 -0
- package/dist/prompt/design/design.d.ts.map +1 -0
- package/dist/prompt/design/design.js +224 -0
- package/dist/prompt/design/design.js.map +1 -0
- package/dist/prompt/design/designPhilosophy.d.ts +2 -0
- package/dist/prompt/design/designPhilosophy.d.ts.map +1 -0
- package/dist/prompt/design/designPhilosophy.js +79 -0
- package/dist/prompt/design/designPhilosophy.js.map +1 -0
- package/dist/prompt/design/designSystemSpec.d.ts +2 -0
- package/dist/prompt/design/designSystemSpec.d.ts.map +1 -0
- package/dist/prompt/design/designSystemSpec.js +44 -0
- package/dist/prompt/design/designSystemSpec.js.map +1 -0
- package/dist/prompt/design/imgPlaceholder.d.ts +2 -0
- package/dist/prompt/design/imgPlaceholder.d.ts.map +1 -0
- package/dist/prompt/design/imgPlaceholder.js +56 -0
- package/dist/prompt/design/imgPlaceholder.js.map +1 -0
- package/dist/prompt/memory.d.ts +2 -0
- package/dist/prompt/memory.d.ts.map +1 -0
- package/dist/prompt/memory.js +23 -0
- package/dist/prompt/memory.js.map +1 -0
- package/dist/prompt/plan.d.ts +2 -0
- package/dist/prompt/plan.d.ts.map +1 -0
- package/dist/prompt/plan.js +30 -0
- package/dist/prompt/plan.js.map +1 -0
- package/dist/prompt/quickchat.d.ts +2 -0
- package/dist/prompt/quickchat.d.ts.map +1 -0
- package/dist/prompt/quickchat.js +16 -0
- package/dist/prompt/quickchat.js.map +1 -0
- package/dist/prompt/system.d.ts +3 -0
- package/dist/prompt/system.d.ts.map +1 -0
- package/dist/prompt/system.js +76 -0
- package/dist/prompt/system.js.map +1 -0
- package/dist/prompt/tool.d.ts +22 -0
- package/dist/prompt/tool.d.ts.map +1 -0
- package/dist/prompt/tool.js +25 -0
- package/dist/prompt/tool.js.map +1 -0
- package/dist/prompt/toolAliases.d.ts +16 -0
- package/dist/prompt/toolAliases.d.ts.map +1 -0
- package/dist/prompt/toolAliases.js +46 -0
- package/dist/prompt/toolAliases.js.map +1 -0
- package/dist/prompt/tools/createCron.d.ts +2 -0
- package/dist/prompt/tools/createCron.d.ts.map +1 -0
- package/dist/prompt/tools/createCron.js +29 -0
- package/dist/prompt/tools/createCron.js.map +1 -0
- package/dist/prompt/tools/createTodo.d.ts +2 -0
- package/dist/prompt/tools/createTodo.d.ts.map +1 -0
- package/dist/prompt/tools/createTodo.js +23 -0
- package/dist/prompt/tools/createTodo.js.map +1 -0
- package/dist/prompt/tools/fetchUrl.d.ts +3 -0
- package/dist/prompt/tools/fetchUrl.d.ts.map +1 -0
- package/dist/prompt/tools/fetchUrl.js +27 -0
- package/dist/prompt/tools/fetchUrl.js.map +1 -0
- package/dist/prompt/tools/planToAgent.d.ts +2 -0
- package/dist/prompt/tools/planToAgent.d.ts.map +1 -0
- package/dist/prompt/tools/planToAgent.js +24 -0
- package/dist/prompt/tools/planToAgent.js.map +1 -0
- package/dist/prompt/tools/runShell.d.ts +2 -0
- package/dist/prompt/tools/runShell.d.ts.map +1 -0
- package/dist/prompt/tools/runShell.js +31 -0
- package/dist/prompt/tools/runShell.js.map +1 -0
- package/dist/prompt/tools/searchContent.d.ts +2 -0
- package/dist/prompt/tools/searchContent.d.ts.map +1 -0
- package/dist/prompt/tools/searchContent.js +18 -0
- package/dist/prompt/tools/searchContent.js.map +1 -0
- package/dist/prompt/tools/skill.d.ts +2 -0
- package/dist/prompt/tools/skill.d.ts.map +1 -0
- package/dist/prompt/tools/skill.js +14 -0
- package/dist/prompt/tools/skill.js.map +1 -0
- package/dist/prompt/tools/subAgent.d.ts +2 -0
- package/dist/prompt/tools/subAgent.d.ts.map +1 -0
- package/dist/prompt/tools/subAgent.js +45 -0
- package/dist/prompt/tools/subAgent.js.map +1 -0
- package/dist/prompt/tools/viewFile.d.ts +4 -0
- package/dist/prompt/tools/viewFile.d.ts.map +1 -0
- package/dist/prompt/tools/viewFile.js +26 -0
- package/dist/prompt/tools/viewFile.js.map +1 -0
- package/dist/services/agents/agentsManager.d.ts +12 -15
- package/dist/services/agents/agentsManager.d.ts.map +1 -1
- package/dist/services/agents/agentsManager.js +67 -65
- package/dist/services/agents/agentsManager.js.map +1 -1
- package/dist/services/agents/genDesignSystemReminder.d.ts +3 -0
- package/dist/services/agents/genDesignSystemReminder.d.ts.map +1 -0
- package/dist/services/agents/genDesignSystemReminder.js +149 -0
- package/dist/services/agents/genDesignSystemReminder.js.map +1 -0
- package/dist/services/agents/genSystemPrompt.d.ts +11 -11
- package/dist/services/agents/genSystemPrompt.d.ts.map +1 -1
- package/dist/services/agents/genSystemPrompt.js +58 -121
- package/dist/services/agents/genSystemPrompt.js.map +1 -1
- package/dist/services/agents/{systemReminder.d.ts → genSystemReminder.d.ts} +2 -7
- package/dist/services/agents/genSystemReminder.d.ts.map +1 -0
- package/dist/services/agents/genSystemReminder.js +86 -0
- package/dist/services/agents/genSystemReminder.js.map +1 -0
- package/dist/services/api/adapt/anthropic.d.ts +3 -5
- package/dist/services/api/adapt/anthropic.d.ts.map +1 -1
- package/dist/services/api/adapt/anthropic.js +32 -18
- package/dist/services/api/adapt/anthropic.js.map +1 -1
- package/dist/services/api/adapt/openai.d.ts +3 -3
- package/dist/services/api/adapt/openai.d.ts.map +1 -1
- package/dist/services/api/adapt/openai.js +20 -23
- package/dist/services/api/adapt/openai.js.map +1 -1
- package/dist/services/api/adapt/util.d.ts +0 -1
- package/dist/services/api/adapt/util.d.ts.map +1 -1
- package/dist/services/api/adapt/util.js +3 -5
- package/dist/services/api/adapt/util.js.map +1 -1
- package/dist/services/api/apiUtil.d.ts +3 -0
- package/dist/services/api/apiUtil.d.ts.map +1 -1
- package/dist/services/api/apiUtil.js +32 -28
- package/dist/services/api/apiUtil.js.map +1 -1
- package/dist/services/api/cache.d.ts +5 -5
- package/dist/services/api/cache.d.ts.map +1 -1
- package/dist/services/api/cache.js +16 -20
- package/dist/services/api/cache.js.map +1 -1
- package/dist/services/api/queryLLM.d.ts +4 -5
- package/dist/services/api/queryLLM.d.ts.map +1 -1
- package/dist/services/api/queryLLM.js +2 -6
- package/dist/services/api/queryLLM.js.map +1 -1
- package/dist/services/commands/commandsManager.d.ts +11 -14
- package/dist/services/commands/commandsManager.d.ts.map +1 -1
- package/dist/services/commands/commandsManager.js +54 -64
- package/dist/services/commands/commandsManager.js.map +1 -1
- package/dist/services/commands/runCommand.d.ts.map +1 -1
- package/dist/services/commands/runCommand.js +3 -27
- package/dist/services/commands/runCommand.js.map +1 -1
- package/dist/services/design/designManager.d.ts +29 -0
- package/dist/services/design/designManager.d.ts.map +1 -0
- package/dist/services/design/designManager.js +365 -0
- package/dist/services/design/designManager.js.map +1 -0
- package/dist/services/mcp/MCPClient.d.ts.map +1 -1
- package/dist/services/mcp/MCPClient.js +9 -1
- package/dist/services/mcp/MCPClient.js.map +1 -1
- package/dist/services/mcp/MCPManager.d.ts +9 -29
- package/dist/services/mcp/MCPManager.d.ts.map +1 -1
- package/dist/services/mcp/MCPManager.js +53 -147
- package/dist/services/mcp/MCPManager.js.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.js +4 -4
- package/dist/services/mcp/MCPToolAdapter.js.map +1 -1
- package/dist/services/memory/memManager.d.ts +6 -9
- package/dist/services/memory/memManager.d.ts.map +1 -1
- package/dist/services/memory/memManager.js +22 -42
- package/dist/services/memory/memManager.js.map +1 -1
- package/dist/services/plugins/pluginsManager.d.ts +9 -17
- package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
- package/dist/services/plugins/pluginsManager.js +33 -104
- package/dist/services/plugins/pluginsManager.js.map +1 -1
- package/dist/services/rules/rulesManager.d.ts +7 -9
- package/dist/services/rules/rulesManager.d.ts.map +1 -1
- package/dist/services/rules/rulesManager.js +19 -39
- package/dist/services/rules/rulesManager.js.map +1 -1
- package/dist/services/skills/skillsManager.d.ts +10 -13
- package/dist/services/skills/skillsManager.d.ts.map +1 -1
- package/dist/services/skills/skillsManager.js +41 -54
- package/dist/services/skills/skillsManager.js.map +1 -1
- package/dist/tools/CreateCron.d.ts +68 -0
- package/dist/tools/CreateCron.d.ts.map +1 -0
- package/dist/tools/CreateCron.js +76 -0
- package/dist/tools/CreateCron.js.map +1 -0
- package/dist/tools/CreateTodo.d.ts +48 -0
- package/dist/tools/CreateTodo.d.ts.map +1 -0
- package/dist/tools/CreateTodo.js +50 -0
- package/dist/tools/CreateTodo.js.map +1 -0
- package/dist/tools/{CronDelete/CronDelete.d.ts → DelCron.d.ts} +11 -11
- package/dist/tools/DelCron.d.ts.map +1 -0
- package/dist/tools/{CronDelete/CronDelete.js → DelCron.js} +12 -12
- package/dist/tools/DelCron.js.map +1 -0
- package/dist/tools/{NotebookEdit/NotebookEdit.d.ts → EditNotebook.d.ts} +37 -37
- package/dist/tools/EditNotebook.d.ts.map +1 -0
- package/dist/tools/EditNotebook.js +220 -0
- package/dist/tools/EditNotebook.js.map +1 -0
- package/dist/tools/{WebFetch/WebFetch.d.ts → FetchUrl.d.ts} +8 -8
- package/dist/tools/FetchUrl.d.ts.map +1 -0
- package/dist/tools/{WebFetch/WebFetch.js → FetchUrl.js} +30 -34
- package/dist/tools/FetchUrl.js.map +1 -0
- package/dist/tools/GetTodo.d.ts +34 -0
- package/dist/tools/GetTodo.d.ts.map +1 -0
- package/dist/tools/{TaskGet/TaskGet.js → GetTodo.js} +21 -20
- package/dist/tools/GetTodo.js.map +1 -0
- package/dist/tools/{CronList/CronList.d.ts → ListCrons.d.ts} +12 -13
- package/dist/tools/ListCrons.d.ts.map +1 -0
- package/dist/tools/{CronList/CronList.js → ListCrons.js} +20 -20
- package/dist/tools/ListCrons.js.map +1 -0
- package/dist/tools/ListTodos.d.ts +27 -0
- package/dist/tools/ListTodos.d.ts.map +1 -0
- package/dist/tools/{TaskList/TaskList.js → ListTodos.js} +20 -19
- package/dist/tools/ListTodos.js.map +1 -0
- package/dist/tools/{Edit/Edit.d.ts → PatchFile.d.ts} +39 -43
- package/dist/tools/PatchFile.d.ts.map +1 -0
- package/dist/tools/PatchFile.js +214 -0
- package/dist/tools/PatchFile.js.map +1 -0
- package/dist/tools/PeekBgJob.d.ts +58 -0
- package/dist/tools/PeekBgJob.d.ts.map +1 -0
- package/dist/tools/PeekBgJob.js +92 -0
- package/dist/tools/PeekBgJob.js.map +1 -0
- package/dist/tools/PickOption.d.ts +463 -0
- package/dist/tools/PickOption.d.ts.map +1 -0
- package/dist/tools/PickOption.js +226 -0
- package/dist/tools/PickOption.js.map +1 -0
- package/dist/tools/PlanToAgent.d.ts +42 -0
- package/dist/tools/PlanToAgent.d.ts.map +1 -0
- package/dist/tools/{ExitPlanMode/ExitPlanMode.js → PlanToAgent.js} +47 -43
- package/dist/tools/PlanToAgent.js.map +1 -0
- package/dist/tools/{Bash/Bash.d.ts → RunShell.d.ts} +23 -21
- package/dist/tools/RunShell.d.ts.map +1 -0
- package/dist/tools/{Bash/Bash.js → RunShell.js} +55 -58
- package/dist/tools/RunShell.js.map +1 -0
- package/dist/tools/SearchContent.d.ts +86 -0
- package/dist/tools/SearchContent.d.ts.map +1 -0
- package/dist/tools/SearchContent.js +237 -0
- package/dist/tools/SearchContent.js.map +1 -0
- package/dist/tools/{Glob/Glob.d.ts → SearchFiles.d.ts} +8 -8
- package/dist/tools/SearchFiles.d.ts.map +1 -0
- package/dist/tools/{Glob/Glob.js → SearchFiles.js} +24 -31
- package/dist/tools/SearchFiles.js.map +1 -0
- package/dist/tools/{Skill/Skill.d.ts → Skill.d.ts} +11 -11
- package/dist/tools/Skill.d.ts.map +1 -0
- package/dist/tools/{Skill/Skill.js → Skill.js} +21 -19
- package/dist/tools/Skill.js.map +1 -0
- package/dist/tools/{TaskStop/TaskStop.d.ts → StopBgJob.d.ts} +17 -17
- package/dist/tools/StopBgJob.d.ts.map +1 -0
- package/dist/tools/StopBgJob.js +69 -0
- package/dist/tools/StopBgJob.js.map +1 -0
- package/dist/tools/SubAgent.d.ts +67 -0
- package/dist/tools/SubAgent.d.ts.map +1 -0
- package/dist/tools/{Agent/Agent.js → SubAgent.js} +60 -58
- package/dist/tools/SubAgent.js.map +1 -0
- package/dist/tools/UpdateTodo.d.ts +76 -0
- package/dist/tools/UpdateTodo.d.ts.map +1 -0
- package/dist/tools/UpdateTodo.js +111 -0
- package/dist/tools/UpdateTodo.js.map +1 -0
- package/dist/tools/{Read/Read.d.ts → ViewFile.d.ts} +26 -64
- package/dist/tools/ViewFile.d.ts.map +1 -0
- package/dist/tools/ViewFile.js +365 -0
- package/dist/tools/ViewFile.js.map +1 -0
- package/dist/tools/{Write/Write.d.ts → WriteFile.d.ts} +12 -12
- package/dist/tools/WriteFile.d.ts.map +1 -0
- package/dist/tools/WriteFile.js +150 -0
- package/dist/tools/WriteFile.js.map +1 -0
- package/dist/tools/base/Tool.d.ts +2 -2
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/tools/base/tools.d.ts +1 -0
- package/dist/tools/base/tools.d.ts.map +1 -1
- package/dist/tools/base/tools.js +56 -50
- package/dist/tools/base/tools.js.map +1 -1
- package/dist/types/agent.d.ts +0 -1
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/command.d.ts +0 -2
- package/dist/types/command.d.ts.map +1 -1
- package/dist/types/cron.d.ts +6 -6
- package/dist/types/cron.d.ts.map +1 -1
- package/dist/types/design.d.ts +24 -0
- package/dist/types/design.d.ts.map +1 -0
- package/dist/types/design.js +6 -0
- package/dist/types/design.js.map +1 -0
- package/dist/types/errors.d.ts +0 -2
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +0 -2
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +16 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +28 -5
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +1 -3
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/message.d.ts +5 -4
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/model.d.ts +1 -1
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/plugin.d.ts +8 -11
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/skill.d.ts +0 -3
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/skill.js +0 -2
- package/dist/types/skill.js.map +1 -1
- package/dist/types/task.d.ts +10 -10
- package/dist/types/task.d.ts.map +1 -1
- package/dist/types/todoTask.d.ts +4 -5
- package/dist/types/todoTask.d.ts.map +1 -1
- package/dist/util/adapter.d.ts +8 -3
- package/dist/util/adapter.d.ts.map +1 -1
- package/dist/util/adapter.js +22 -49
- package/dist/util/adapter.js.map +1 -1
- package/dist/util/agentStats.d.ts +1 -1
- package/dist/util/agentStats.d.ts.map +1 -1
- package/dist/util/agentStats.js +16 -24
- package/dist/util/agentStats.js.map +1 -1
- package/dist/util/cacheLLM.d.ts +5 -5
- package/dist/util/cacheLLM.d.ts.map +1 -1
- package/dist/util/cacheLLM.js.map +1 -1
- package/dist/util/color.d.ts +44 -0
- package/dist/util/color.d.ts.map +1 -0
- package/dist/util/color.js +247 -0
- package/dist/util/color.js.map +1 -0
- package/dist/util/commands.d.ts +4 -5
- package/dist/util/commands.d.ts.map +1 -1
- package/dist/util/commands.js +22 -112
- package/dist/util/commands.js.map +1 -1
- package/dist/util/compact.d.ts +6 -3
- package/dist/util/compact.d.ts.map +1 -1
- package/dist/util/compact.js +20 -149
- package/dist/util/compact.js.map +1 -1
- package/dist/util/cron.d.ts +1 -9
- package/dist/util/cron.d.ts.map +1 -1
- package/dist/util/cron.js +2 -29
- package/dist/util/cron.js.map +1 -1
- package/dist/util/cwd.d.ts +2 -35
- package/dist/util/cwd.d.ts.map +1 -1
- package/dist/util/cwd.js +7 -57
- package/dist/util/cwd.js.map +1 -1
- package/dist/util/diff.d.ts +6 -4
- package/dist/util/diff.d.ts.map +1 -1
- package/dist/util/diff.js +63 -104
- package/dist/util/diff.js.map +1 -1
- package/dist/{tools/Edit/utils.d.ts → util/edit.d.ts} +2 -5
- package/dist/util/edit.d.ts.map +1 -0
- package/dist/util/edit.js +44 -0
- package/dist/util/edit.js.map +1 -0
- package/dist/util/env.d.ts +1 -4
- package/dist/util/env.d.ts.map +1 -1
- package/dist/util/env.js +22 -15
- package/dist/util/env.js.map +1 -1
- package/dist/util/fetchUrl.d.ts +18 -0
- package/dist/util/fetchUrl.d.ts.map +1 -0
- package/dist/util/fetchUrl.js +101 -0
- package/dist/util/fetchUrl.js.map +1 -0
- package/dist/util/file.d.ts +32 -45
- package/dist/util/file.d.ts.map +1 -1
- package/dist/util/file.js +153 -236
- package/dist/util/file.js.map +1 -1
- package/dist/util/fileReference.d.ts +1 -9
- package/dist/util/fileReference.d.ts.map +1 -1
- package/dist/util/fileReference.js +45 -58
- package/dist/util/fileReference.js.map +1 -1
- package/dist/util/format.d.ts +1 -9
- package/dist/util/format.d.ts.map +1 -1
- package/dist/util/format.js +5 -46
- package/dist/util/format.js.map +1 -1
- package/dist/util/formatter.d.ts +5 -8
- package/dist/util/formatter.d.ts.map +1 -1
- package/dist/util/formatter.js +5 -15
- package/dist/util/formatter.js.map +1 -1
- package/dist/util/git.d.ts +2 -3
- package/dist/util/git.d.ts.map +1 -1
- package/dist/util/git.js +34 -39
- package/dist/util/git.js.map +1 -1
- package/dist/util/history.d.ts +0 -7
- package/dist/util/history.d.ts.map +1 -1
- package/dist/util/history.js +3 -50
- package/dist/util/history.js.map +1 -1
- package/dist/util/log.d.ts +0 -1
- package/dist/util/log.d.ts.map +1 -1
- package/dist/util/log.js +2 -7
- package/dist/util/log.js.map +1 -1
- package/dist/util/logLLM.d.ts +0 -4
- package/dist/util/logLLM.d.ts.map +1 -1
- package/dist/util/logLLM.js +6 -16
- package/dist/util/logLLM.js.map +1 -1
- package/dist/util/message.d.ts +12 -11
- package/dist/util/message.d.ts.map +1 -1
- package/dist/util/message.js +68 -89
- package/dist/util/message.js.map +1 -1
- package/dist/util/model.d.ts +0 -3
- package/dist/util/model.d.ts.map +1 -1
- package/dist/util/model.js +1 -5
- package/dist/util/model.js.map +1 -1
- package/dist/util/notebook.d.ts +1 -8
- package/dist/util/notebook.d.ts.map +1 -1
- package/dist/util/notebook.js +36 -63
- package/dist/util/notebook.js.map +1 -1
- package/dist/util/pdf.d.ts +14 -72
- package/dist/util/pdf.d.ts.map +1 -1
- package/dist/util/pdf.js +51 -460
- package/dist/util/pdf.js.map +1 -1
- package/dist/util/process.d.ts +1 -1
- package/dist/util/process.d.ts.map +1 -1
- package/dist/util/process.js +7 -11
- package/dist/util/process.js.map +1 -1
- package/dist/util/quickchat.d.ts +6 -0
- package/dist/util/quickchat.d.ts.map +1 -0
- package/dist/util/{btw.js → quickchat.js} +14 -32
- package/dist/util/quickchat.js.map +1 -0
- package/dist/util/ripgrep.d.ts +4 -2
- package/dist/util/ripgrep.d.ts.map +1 -1
- package/dist/util/ripgrep.js +40 -116
- package/dist/util/ripgrep.js.map +1 -1
- package/dist/util/savePath.d.ts +2 -18
- package/dist/util/savePath.d.ts.map +1 -1
- package/dist/util/savePath.js +7 -47
- package/dist/util/savePath.js.map +1 -1
- package/dist/util/secureFile.d.ts +13 -135
- package/dist/util/secureFile.d.ts.map +1 -1
- package/dist/util/secureFile.js +74 -478
- package/dist/util/secureFile.js.map +1 -1
- package/dist/util/session.d.ts +0 -21
- package/dist/util/session.d.ts.map +1 -1
- package/dist/util/session.js +0 -49
- package/dist/util/session.js.map +1 -1
- package/dist/util/shell.d.ts +23 -3
- package/dist/util/shell.d.ts.map +1 -1
- package/dist/util/shell.js +199 -290
- package/dist/util/shell.js.map +1 -1
- package/dist/util/time.d.ts +6 -5
- package/dist/util/time.d.ts.map +1 -1
- package/dist/util/time.js +10 -6
- package/dist/util/time.js.map +1 -1
- package/dist/util/tokens.d.ts +0 -1
- package/dist/util/tokens.d.ts.map +1 -1
- package/dist/util/tokens.js +12 -23
- package/dist/util/tokens.js.map +1 -1
- package/dist/util/topic.d.ts +1 -4
- package/dist/util/topic.d.ts.map +1 -1
- package/dist/util/topic.js +12 -11
- package/dist/util/topic.js.map +1 -1
- package/dist/util/writeFile.d.ts +12 -0
- package/dist/util/writeFile.d.ts.map +1 -0
- package/dist/util/writeFile.js +69 -0
- package/dist/util/writeFile.js.map +1 -0
- package/package.json +1 -1
- package/dist/constants/config.d.ts.map +0 -1
- package/dist/constants/config.js.map +0 -1
- package/dist/constants/message.d.ts +0 -10
- package/dist/constants/message.d.ts.map +0 -1
- package/dist/constants/message.js +0 -25
- package/dist/constants/message.js.map +0 -1
- package/dist/constants/product.d.ts +0 -4
- package/dist/constants/product.d.ts.map +0 -1
- package/dist/constants/product.js +0 -7
- package/dist/constants/product.js.map +0 -1
- package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts +0 -3
- package/dist/services/agents/defaultBuiltInAgentsConfs.d.ts.map +0 -1
- package/dist/services/agents/defaultBuiltInAgentsConfs.js +0 -125
- package/dist/services/agents/defaultBuiltInAgentsConfs.js.map +0 -1
- package/dist/services/agents/prompt.d.ts +0 -10
- package/dist/services/agents/prompt.d.ts.map +0 -1
- package/dist/services/agents/prompt.js +0 -144
- package/dist/services/agents/prompt.js.map +0 -1
- package/dist/services/agents/systemReminder.d.ts.map +0 -1
- package/dist/services/agents/systemReminder.js +0 -68
- package/dist/services/agents/systemReminder.js.map +0 -1
- package/dist/tools/Agent/Agent.d.ts +0 -67
- package/dist/tools/Agent/Agent.d.ts.map +0 -1
- package/dist/tools/Agent/Agent.js.map +0 -1
- package/dist/tools/Agent/prompt.d.ts +0 -6
- package/dist/tools/Agent/prompt.d.ts.map +0 -1
- package/dist/tools/Agent/prompt.js +0 -73
- package/dist/tools/Agent/prompt.js.map +0 -1
- package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts +0 -179
- package/dist/tools/AskUserQuestion/AskUserQuestion.d.ts.map +0 -1
- package/dist/tools/AskUserQuestion/AskUserQuestion.js +0 -165
- package/dist/tools/AskUserQuestion/AskUserQuestion.js.map +0 -1
- package/dist/tools/AskUserQuestion/prompt.d.ts +0 -3
- package/dist/tools/AskUserQuestion/prompt.d.ts.map +0 -1
- package/dist/tools/AskUserQuestion/prompt.js +0 -17
- package/dist/tools/AskUserQuestion/prompt.js.map +0 -1
- package/dist/tools/Bash/Bash.d.ts.map +0 -1
- package/dist/tools/Bash/Bash.js.map +0 -1
- package/dist/tools/Bash/prompt.d.ts +0 -5
- package/dist/tools/Bash/prompt.d.ts.map +0 -1
- package/dist/tools/Bash/prompt.js +0 -130
- package/dist/tools/Bash/prompt.js.map +0 -1
- package/dist/tools/Bash/utils.d.ts +0 -9
- package/dist/tools/Bash/utils.d.ts.map +0 -1
- package/dist/tools/Bash/utils.js +0 -41
- package/dist/tools/Bash/utils.js.map +0 -1
- package/dist/tools/CronCreate/CronCreate.d.ts +0 -68
- package/dist/tools/CronCreate/CronCreate.d.ts.map +0 -1
- package/dist/tools/CronCreate/CronCreate.js +0 -75
- package/dist/tools/CronCreate/CronCreate.js.map +0 -1
- package/dist/tools/CronCreate/prompt.d.ts +0 -3
- package/dist/tools/CronCreate/prompt.d.ts.map +0 -1
- package/dist/tools/CronCreate/prompt.js +0 -41
- package/dist/tools/CronCreate/prompt.js.map +0 -1
- package/dist/tools/CronDelete/CronDelete.d.ts.map +0 -1
- package/dist/tools/CronDelete/CronDelete.js.map +0 -1
- package/dist/tools/CronDelete/prompt.d.ts +0 -3
- package/dist/tools/CronDelete/prompt.d.ts.map +0 -1
- package/dist/tools/CronDelete/prompt.js +0 -6
- package/dist/tools/CronDelete/prompt.js.map +0 -1
- package/dist/tools/CronList/CronList.d.ts.map +0 -1
- package/dist/tools/CronList/CronList.js.map +0 -1
- package/dist/tools/CronList/prompt.d.ts +0 -3
- package/dist/tools/CronList/prompt.d.ts.map +0 -1
- package/dist/tools/CronList/prompt.js +0 -6
- package/dist/tools/CronList/prompt.js.map +0 -1
- package/dist/tools/Edit/Edit.d.ts.map +0 -1
- package/dist/tools/Edit/Edit.js +0 -225
- package/dist/tools/Edit/Edit.js.map +0 -1
- package/dist/tools/Edit/prompt.d.ts +0 -3
- package/dist/tools/Edit/prompt.d.ts.map +0 -1
- package/dist/tools/Edit/prompt.js +0 -15
- package/dist/tools/Edit/prompt.js.map +0 -1
- package/dist/tools/Edit/utils.d.ts.map +0 -1
- package/dist/tools/Edit/utils.js +0 -60
- package/dist/tools/Edit/utils.js.map +0 -1
- package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts +0 -42
- package/dist/tools/ExitPlanMode/ExitPlanMode.d.ts.map +0 -1
- package/dist/tools/ExitPlanMode/ExitPlanMode.js.map +0 -1
- package/dist/tools/ExitPlanMode/prompt.d.ts +0 -3
- package/dist/tools/ExitPlanMode/prompt.d.ts.map +0 -1
- package/dist/tools/ExitPlanMode/prompt.js +0 -28
- package/dist/tools/ExitPlanMode/prompt.js.map +0 -1
- package/dist/tools/Glob/Glob.d.ts.map +0 -1
- package/dist/tools/Glob/Glob.js.map +0 -1
- package/dist/tools/Glob/prompt.d.ts +0 -3
- package/dist/tools/Glob/prompt.d.ts.map +0 -1
- package/dist/tools/Glob/prompt.js +0 -11
- package/dist/tools/Glob/prompt.js.map +0 -1
- package/dist/tools/Grep/Grep.d.ts +0 -106
- package/dist/tools/Grep/Grep.d.ts.map +0 -1
- package/dist/tools/Grep/Grep.js +0 -301
- package/dist/tools/Grep/Grep.js.map +0 -1
- package/dist/tools/Grep/prompt.d.ts +0 -3
- package/dist/tools/Grep/prompt.d.ts.map +0 -1
- package/dist/tools/Grep/prompt.js +0 -17
- package/dist/tools/Grep/prompt.js.map +0 -1
- package/dist/tools/NotebookEdit/NotebookEdit.d.ts.map +0 -1
- package/dist/tools/NotebookEdit/NotebookEdit.js +0 -312
- package/dist/tools/NotebookEdit/NotebookEdit.js.map +0 -1
- package/dist/tools/NotebookEdit/prompt.d.ts +0 -3
- package/dist/tools/NotebookEdit/prompt.d.ts.map +0 -1
- package/dist/tools/NotebookEdit/prompt.js +0 -6
- package/dist/tools/NotebookEdit/prompt.js.map +0 -1
- package/dist/tools/Read/Read.d.ts.map +0 -1
- package/dist/tools/Read/Read.js +0 -472
- package/dist/tools/Read/Read.js.map +0 -1
- package/dist/tools/Read/prompt.d.ts +0 -4
- package/dist/tools/Read/prompt.d.ts.map +0 -1
- package/dist/tools/Read/prompt.js +0 -23
- package/dist/tools/Read/prompt.js.map +0 -1
- package/dist/tools/Skill/Skill.d.ts.map +0 -1
- package/dist/tools/Skill/Skill.js.map +0 -1
- package/dist/tools/Skill/prompt.d.ts +0 -3
- package/dist/tools/Skill/prompt.d.ts.map +0 -1
- package/dist/tools/Skill/prompt.js +0 -27
- package/dist/tools/Skill/prompt.js.map +0 -1
- package/dist/tools/TaskCreate/TaskCreate.d.ts +0 -54
- package/dist/tools/TaskCreate/TaskCreate.d.ts.map +0 -1
- package/dist/tools/TaskCreate/TaskCreate.js +0 -51
- package/dist/tools/TaskCreate/TaskCreate.js.map +0 -1
- package/dist/tools/TaskCreate/prompt.d.ts +0 -3
- package/dist/tools/TaskCreate/prompt.d.ts.map +0 -1
- package/dist/tools/TaskCreate/prompt.js +0 -45
- package/dist/tools/TaskCreate/prompt.js.map +0 -1
- package/dist/tools/TaskGet/TaskGet.d.ts +0 -34
- package/dist/tools/TaskGet/TaskGet.d.ts.map +0 -1
- package/dist/tools/TaskGet/TaskGet.js.map +0 -1
- package/dist/tools/TaskGet/prompt.d.ts +0 -3
- package/dist/tools/TaskGet/prompt.d.ts.map +0 -1
- package/dist/tools/TaskGet/prompt.js +0 -26
- package/dist/tools/TaskGet/prompt.js.map +0 -1
- package/dist/tools/TaskList/TaskList.d.ts +0 -27
- package/dist/tools/TaskList/TaskList.d.ts.map +0 -1
- package/dist/tools/TaskList/TaskList.js.map +0 -1
- package/dist/tools/TaskList/prompt.d.ts +0 -3
- package/dist/tools/TaskList/prompt.d.ts.map +0 -1
- package/dist/tools/TaskList/prompt.js +0 -25
- package/dist/tools/TaskList/prompt.js.map +0 -1
- package/dist/tools/TaskOutput/TaskOutput.d.ts +0 -58
- package/dist/tools/TaskOutput/TaskOutput.d.ts.map +0 -1
- package/dist/tools/TaskOutput/TaskOutput.js +0 -95
- package/dist/tools/TaskOutput/TaskOutput.js.map +0 -1
- package/dist/tools/TaskStop/TaskStop.d.ts.map +0 -1
- package/dist/tools/TaskStop/TaskStop.js +0 -69
- package/dist/tools/TaskStop/TaskStop.js.map +0 -1
- package/dist/tools/TaskUpdate/TaskUpdate.d.ts +0 -88
- package/dist/tools/TaskUpdate/TaskUpdate.d.ts.map +0 -1
- package/dist/tools/TaskUpdate/TaskUpdate.js +0 -115
- package/dist/tools/TaskUpdate/TaskUpdate.js.map +0 -1
- package/dist/tools/TaskUpdate/prompt.d.ts +0 -3
- package/dist/tools/TaskUpdate/prompt.d.ts.map +0 -1
- package/dist/tools/TaskUpdate/prompt.js +0 -80
- package/dist/tools/TaskUpdate/prompt.js.map +0 -1
- package/dist/tools/TodoWrite/TodoWrite.d.ts +0 -92
- package/dist/tools/TodoWrite/TodoWrite.d.ts.map +0 -1
- package/dist/tools/TodoWrite/TodoWrite.js +0 -101
- package/dist/tools/TodoWrite/TodoWrite.js.map +0 -1
- package/dist/tools/TodoWrite/prompt.d.ts +0 -3
- package/dist/tools/TodoWrite/prompt.d.ts.map +0 -1
- package/dist/tools/TodoWrite/prompt.js +0 -187
- package/dist/tools/TodoWrite/prompt.js.map +0 -1
- package/dist/tools/WebFetch/WebFetch.d.ts.map +0 -1
- package/dist/tools/WebFetch/WebFetch.js.map +0 -1
- package/dist/tools/WebFetch/prompt.d.ts +0 -4
- package/dist/tools/WebFetch/prompt.d.ts.map +0 -1
- package/dist/tools/WebFetch/prompt.js +0 -38
- package/dist/tools/WebFetch/prompt.js.map +0 -1
- package/dist/tools/WebFetch/utils.d.ts +0 -20
- package/dist/tools/WebFetch/utils.d.ts.map +0 -1
- package/dist/tools/WebFetch/utils.js +0 -223
- package/dist/tools/WebFetch/utils.js.map +0 -1
- package/dist/tools/Write/Write.d.ts.map +0 -1
- package/dist/tools/Write/Write.js +0 -197
- package/dist/tools/Write/Write.js.map +0 -1
- package/dist/tools/Write/prompt.d.ts +0 -3
- package/dist/tools/Write/prompt.d.ts.map +0 -1
- package/dist/tools/Write/prompt.js +0 -13
- package/dist/tools/Write/prompt.js.map +0 -1
- package/dist/util/assembleTools.d.ts +0 -6
- package/dist/util/assembleTools.d.ts.map +0 -1
- package/dist/util/assembleTools.js +0 -17
- package/dist/util/assembleTools.js.map +0 -1
- package/dist/util/btw.d.ts +0 -6
- package/dist/util/btw.d.ts.map +0 -1
- package/dist/util/btw.js.map +0 -1
- package/dist/util/directory.d.ts +0 -37
- package/dist/util/directory.d.ts.map +0 -1
- package/dist/util/directory.js +0 -137
- package/dist/util/directory.js.map +0 -1
- package/dist/util/exec.d.ts +0 -6
- package/dist/util/exec.d.ts.map +0 -1
- package/dist/util/exec.js +0 -43
- package/dist/util/exec.js.map +0 -1
- package/dist/util/filePermission.d.ts +0 -14
- package/dist/util/filePermission.d.ts.map +0 -1
- package/dist/util/filePermission.js +0 -47
- package/dist/util/filePermission.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebFetch.js","sourceRoot":"","sources":["../../../src/tools/WebFetch/WebFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,223 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/tools/WebFetch/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Write.d.ts","sourceRoot":"","sources":["../../../src/tools/Write/Write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAwCvB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;cAgMhB,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;;;;;;;;;;;;qBAtHwB,GAAG;;;;;;;;;;qBA+BF,GAAG;;;;;;;;;;;;;;;;;;;;cAoF7C,QAAQ,GAAG,QAAQ;kBACf,MAAM;iBACP,MAAM;yBACE,IAAI,EAAE;;CAE1B,CAAA"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FileWriteTool = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
const file_1 = require("../../util/file");
|
|
8
|
-
const cwd_1 = require("../../util/cwd");
|
|
9
|
-
const prompt_1 = require("./prompt");
|
|
10
|
-
const StateManager_1 = require("../../manager/StateManager");
|
|
11
|
-
const diff_1 = require("../../util/diff");
|
|
12
|
-
const MAX_LINES_TO_RENDER = 5;
|
|
13
|
-
const MAX_LINES_TO_RENDER_FOR_ASSISTANT = 16000;
|
|
14
|
-
const TRUNCATED_MESSAGE = '<response clipped><NOTE>To save on context only part of this file has been shown to you. You should retry this tool after you have searched inside the file with Grep in order to find the line numbers of what you are looking for.</NOTE>';
|
|
15
|
-
// 辅助函数:生成显示标题
|
|
16
|
-
function getTitle(input) {
|
|
17
|
-
if (input?.file_path) {
|
|
18
|
-
const relativePath = (0, path_1.relative)((0, cwd_1.getCwd)(), input.file_path);
|
|
19
|
-
return `${relativePath}`;
|
|
20
|
-
}
|
|
21
|
-
return prompt_1.TOOL_NAME_FOR_PROMPT;
|
|
22
|
-
}
|
|
23
|
-
const inputSchema = zod_1.z.strictObject({
|
|
24
|
-
file_path: zod_1.z
|
|
25
|
-
.string()
|
|
26
|
-
.describe('The absolute path to the file to write (must be absolute, not relative)'),
|
|
27
|
-
content: zod_1.z.string().describe('The content to write to the file'),
|
|
28
|
-
});
|
|
29
|
-
exports.FileWriteTool = {
|
|
30
|
-
name: prompt_1.TOOL_NAME_FOR_PROMPT,
|
|
31
|
-
description() {
|
|
32
|
-
return prompt_1.DESCRIPTION;
|
|
33
|
-
},
|
|
34
|
-
inputSchema,
|
|
35
|
-
isReadOnly() {
|
|
36
|
-
return false;
|
|
37
|
-
},
|
|
38
|
-
genToolPermission(input) {
|
|
39
|
-
let title = getTitle(input);
|
|
40
|
-
const fullFilePath = (0, file_1.normalizeFilePath)(input.file_path);
|
|
41
|
-
const fileExists = (0, fs_1.existsSync)(fullFilePath);
|
|
42
|
-
let contentPreview = '';
|
|
43
|
-
const oldContent = fileExists ? (0, fs_1.readFileSync)(fullFilePath, (0, file_1.detectFileEncoding)(fullFilePath)) : '';
|
|
44
|
-
const patch = (0, diff_1.getPatch)({
|
|
45
|
-
filePath: fullFilePath,
|
|
46
|
-
fileContents: oldContent,
|
|
47
|
-
oldStr: oldContent,
|
|
48
|
-
newStr: input.content,
|
|
49
|
-
});
|
|
50
|
-
contentPreview = {
|
|
51
|
-
type: fileExists ? 'diff' : 'new',
|
|
52
|
-
patch: patch,
|
|
53
|
-
diffText: ''
|
|
54
|
-
};
|
|
55
|
-
return { title, content: contentPreview };
|
|
56
|
-
},
|
|
57
|
-
genToolResultMessage({ filePath, content, structuredPatch, type }) {
|
|
58
|
-
const title = getTitle({ file_path: filePath });
|
|
59
|
-
const displayPath = (0, path_1.relative)((0, cwd_1.getCwd)(), filePath);
|
|
60
|
-
let summary;
|
|
61
|
-
let contentPreview = '';
|
|
62
|
-
switch (type) {
|
|
63
|
-
case 'create': {
|
|
64
|
-
const allLines = content.split(/\r?\n/);
|
|
65
|
-
const numLines = allLines.length;
|
|
66
|
-
summary = `Created ${displayPath} with ${numLines} lines`;
|
|
67
|
-
const previewLines = allLines.slice(0, MAX_LINES_TO_RENDER).map(l => `+${l}`);
|
|
68
|
-
const diffText = numLines > MAX_LINES_TO_RENDER ? `... (+${numLines - MAX_LINES_TO_RENDER} lines)` : '';
|
|
69
|
-
contentPreview = {
|
|
70
|
-
type: 'new',
|
|
71
|
-
patch: [
|
|
72
|
-
{
|
|
73
|
-
oldStart: 1,
|
|
74
|
-
oldLines: 0,
|
|
75
|
-
newStart: 1,
|
|
76
|
-
newLines: numLines,
|
|
77
|
-
lines: previewLines,
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
diffText,
|
|
81
|
-
};
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
case 'update': {
|
|
85
|
-
summary = (0, diff_1.getUpdateSummary)(filePath, structuredPatch);
|
|
86
|
-
contentPreview = {
|
|
87
|
-
type: 'diff',
|
|
88
|
-
patch: structuredPatch,
|
|
89
|
-
diffText: ''
|
|
90
|
-
};
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return { title, summary, content: contentPreview };
|
|
95
|
-
},
|
|
96
|
-
getDisplayTitle(input) {
|
|
97
|
-
return getTitle(input);
|
|
98
|
-
},
|
|
99
|
-
async validateInput({ file_path }, agentContext) {
|
|
100
|
-
const stateManager = (0, StateManager_1.getStateManager)();
|
|
101
|
-
const agentState = stateManager.forAgent(agentContext.agentId);
|
|
102
|
-
const fullFilePath = (0, file_1.normalizeFilePath)(file_path);
|
|
103
|
-
if (!(0, fs_1.existsSync)(fullFilePath)) {
|
|
104
|
-
return { result: true };
|
|
105
|
-
}
|
|
106
|
-
const readTimestamp = agentState.getReadFileTimestamp(fullFilePath);
|
|
107
|
-
if (!readTimestamp) {
|
|
108
|
-
return {
|
|
109
|
-
result: false,
|
|
110
|
-
message: 'File must be read first',
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
// Check if file exists and get its last modified time
|
|
114
|
-
const stats = (0, fs_1.statSync)(fullFilePath);
|
|
115
|
-
const lastWriteTime = stats.mtimeMs;
|
|
116
|
-
if (lastWriteTime > readTimestamp) {
|
|
117
|
-
return {
|
|
118
|
-
result: false,
|
|
119
|
-
message: 'File has been modified since read, either by the user or by a linter. Read it again before attempting to write it.',
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
return { result: true };
|
|
123
|
-
},
|
|
124
|
-
async *call({ file_path, content }, agentContext) {
|
|
125
|
-
const stateManager = (0, StateManager_1.getStateManager)();
|
|
126
|
-
const agentState = stateManager.forAgent(agentContext.agentId);
|
|
127
|
-
const fullFilePath = (0, file_1.normalizeFilePath)(file_path);
|
|
128
|
-
const dir = (0, path_1.dirname)(fullFilePath);
|
|
129
|
-
const oldFileExists = (0, fs_1.existsSync)(fullFilePath);
|
|
130
|
-
const enc = oldFileExists ? (0, file_1.detectFileEncoding)(fullFilePath) : 'utf-8';
|
|
131
|
-
const oldContent = oldFileExists ? (0, fs_1.readFileSync)(fullFilePath, enc) : null;
|
|
132
|
-
const endings = oldFileExists
|
|
133
|
-
? (0, file_1.detectLineEndings)(fullFilePath)
|
|
134
|
-
: await (0, file_1.detectRepoLineEndings)((0, cwd_1.getCwd)());
|
|
135
|
-
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
136
|
-
// 权限确认后二次校验时间戳,防止用户在权限对话框期间修改文件
|
|
137
|
-
if (oldFileExists) {
|
|
138
|
-
const readTimestamp = agentState.getReadFileTimestamp(fullFilePath);
|
|
139
|
-
const currentMtime = (0, fs_1.statSync)(fullFilePath).mtimeMs;
|
|
140
|
-
if (readTimestamp && currentMtime > readTimestamp) {
|
|
141
|
-
throw new Error('File has been modified since permission was granted. Read it again before attempting to write it.');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
(0, file_1.writeTextContent)(fullFilePath, content, enc, endings);
|
|
145
|
-
// Update read timestamp, to invalidate stale writes
|
|
146
|
-
agentState.setReadFileTimestamp(fullFilePath, (0, fs_1.statSync)(fullFilePath).mtimeMs);
|
|
147
|
-
if (oldContent) {
|
|
148
|
-
const patch = (0, diff_1.getPatch)({
|
|
149
|
-
filePath: fullFilePath,
|
|
150
|
-
fileContents: oldContent,
|
|
151
|
-
oldStr: oldContent,
|
|
152
|
-
newStr: content,
|
|
153
|
-
});
|
|
154
|
-
const data = {
|
|
155
|
-
type: 'update',
|
|
156
|
-
filePath: file_path,
|
|
157
|
-
content,
|
|
158
|
-
structuredPatch: patch,
|
|
159
|
-
};
|
|
160
|
-
yield {
|
|
161
|
-
type: 'result',
|
|
162
|
-
data,
|
|
163
|
-
resultForAssistant: this.genResultForAssistant(data),
|
|
164
|
-
};
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
const data = {
|
|
168
|
-
type: 'create',
|
|
169
|
-
filePath: file_path,
|
|
170
|
-
content,
|
|
171
|
-
structuredPatch: [],
|
|
172
|
-
};
|
|
173
|
-
yield {
|
|
174
|
-
type: 'result',
|
|
175
|
-
data,
|
|
176
|
-
resultForAssistant: this.genResultForAssistant(data),
|
|
177
|
-
};
|
|
178
|
-
},
|
|
179
|
-
genResultForAssistant({ filePath, content, type }) {
|
|
180
|
-
switch (type) {
|
|
181
|
-
case 'create':
|
|
182
|
-
return `File created successfully at: ${filePath}`;
|
|
183
|
-
case 'update':
|
|
184
|
-
return `The file ${filePath} has been updated. Here's the result of running \`cat -n\` on a snippet of the edited file:
|
|
185
|
-
${(0, file_1.addLineNumbers)({
|
|
186
|
-
content: content.split(/\r?\n/).length > MAX_LINES_TO_RENDER_FOR_ASSISTANT
|
|
187
|
-
? content
|
|
188
|
-
.split(/\r?\n/)
|
|
189
|
-
.slice(0, MAX_LINES_TO_RENDER_FOR_ASSISTANT)
|
|
190
|
-
.join('\n') + TRUNCATED_MESSAGE
|
|
191
|
-
: content,
|
|
192
|
-
startLine: 1,
|
|
193
|
-
})}`;
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
};
|
|
197
|
-
//# sourceMappingURL=Write.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Write.js","sourceRoot":"","sources":["../../../src/tools/Write/Write.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export declare const TOOL_NAME_FOR_PROMPT = "Write";
|
|
2
|
-
export declare const DESCRIPTION = "Writes a file to the local filesystem.\n\nUsage:\n- This tool will overwrite the existing file if there is one at the provided path.\n- If this is an existing file, you MUST use the Read tool first to read the file's contents. This tool will fail if you did not read the file first.\n- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.\n- NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.\n- Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.";
|
|
3
|
-
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/tools/Write/prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,UAAU,CAAA;AAE3C,eAAO,MAAM,WAAW,0nBAO0E,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DESCRIPTION = exports.TOOL_NAME_FOR_PROMPT = void 0;
|
|
4
|
-
exports.TOOL_NAME_FOR_PROMPT = 'Write';
|
|
5
|
-
exports.DESCRIPTION = `Writes a file to the local filesystem.
|
|
6
|
-
|
|
7
|
-
Usage:
|
|
8
|
-
- This tool will overwrite the existing file if there is one at the provided path.
|
|
9
|
-
- If this is an existing file, you MUST use the Read tool first to read the file's contents. This tool will fail if you did not read the file first.
|
|
10
|
-
- ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.
|
|
11
|
-
- NEVER proactively create documentation files (*.md) or README files. Only create documentation files if explicitly requested by the User.
|
|
12
|
-
- Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.`;
|
|
13
|
-
//# sourceMappingURL=prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/tools/Write/prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,OAAO,CAAA;AAE9B,QAAA,WAAW,GAAG;;;;;;;kGAOuE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assembleTools.d.ts","sourceRoot":"","sources":["../../src/util/assembleTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAKzC;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAOpF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assembleTools = assembleTools;
|
|
4
|
-
const tools_1 = require("../tools/base/tools");
|
|
5
|
-
const MCPManager_1 = require("../services/mcp/MCPManager");
|
|
6
|
-
const log_1 = require("./log");
|
|
7
|
-
/**
|
|
8
|
-
* 组装工具集:内置工具 + MCP 工具
|
|
9
|
-
*/
|
|
10
|
-
function assembleTools(useTools, agentMode) {
|
|
11
|
-
const builtinTools = (0, tools_1.getTools)(useTools);
|
|
12
|
-
const mcpTools = (0, MCPManager_1.getMCPManager)().getMCPTools();
|
|
13
|
-
const tools = [...builtinTools, ...mcpTools];
|
|
14
|
-
(0, log_1.logInfo)(`tools len: ${tools.length} (builtin: ${builtinTools.length}, mcp: ${mcpTools.length})`);
|
|
15
|
-
return tools;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=assembleTools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assembleTools.js","sourceRoot":"","sources":["../../src/util/assembleTools.ts"],"names":[],"mappings":";;AAQA,sCAOC;AAdD,+CAA8C;AAC9C,2DAA0D;AAC1D,+BAA+B;AAE/B;;GAEG;AACH,SAAgB,aAAa,CAAC,QAA0B,EAAE,SAAkB;IAC1E,MAAM,YAAY,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,IAAA,0BAAa,GAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,MAAM,KAAK,GAAW,CAAC,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAA;IAEpD,IAAA,aAAO,EAAC,cAAc,KAAK,CAAC,MAAM,cAAc,YAAY,CAAC,MAAM,UAAU,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAChG,OAAO,KAAK,CAAA;AACd,CAAC"}
|
package/dist/util/btw.d.ts
DELETED
package/dist/util/btw.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"btw.d.ts","sourceRoot":"","sources":["../../src/util/btw.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD/D"}
|
package/dist/util/btw.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"btw.js","sourceRoot":"","sources":["../../src/util/btw.ts"],"names":[],"mappings":";;AA+BA,8BAuDC;AAtFD,uDAAmD;AACnD,uCAAsE;AACtE,0DAAwE;AACxE,uDAAmD;AACnD,+BAAyC;AACzC,4CAAwD;AACxD,uCAAqC;AAErC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;mBAiBT,CAAA;AAEnB;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAA;IACtC,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAAa,CAAC,CAAA;IAE3D,WAAW;IACX,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAA;IAElD,4BAA4B;IAC5B,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,CAAC;YACpC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,mBAAmB,OAAO,QAAQ,EAAE;SAC9C,CAAC,CAAC,CAAA;IAEH,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAA,iCAAuB,EAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;IAElE,gCAAgC;IAChC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,sBAAsB,CAAA;IACrD,IAAI,aAAa,GAAwB,IAAI,CAAA;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,aAAa,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC7C,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,IAAA,aAAO,EAAC,mBAAmB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IAEtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAC7B,QAAQ,EACR,EAAE,EAAM,oCAAoC;QAC5C,eAAe,CAAC,MAAM,EACtB,CAAC,mBAAS,CAAC,EAAE,mCAAmC;QAChD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAI,cAAc;QACtB,IAAI,EAAI,SAAS;QACjB,IAAI,CAAI,cAAc;SACvB,CAAA;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAoC,CAAC,IAAI,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,IAAA,cAAQ,EAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5C,IAAA,yBAAW,GAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,IAAA,+BAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAA,cAAQ,EAAC,eAAe,KAAK,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
|