tune-basic-toolset 0.1.19 → 0.1.21
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 +45 -0
- package/package.json +1 -1
- package/src/search_tools.schema.json +14 -0
- package/src/search_tools.tool.chat +18 -0
- package/src/tool_list.proc.js +14 -0
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ Basic toolset for [Tune](https://github.com/iovdin/tune).
|
|
|
14
14
|
- [cmd](#cmd) execute Windows cmd command
|
|
15
15
|
- [powershell](#powershell) execute PowerShell command
|
|
16
16
|
- [grep](#grep) search for patterns in text or files
|
|
17
|
+
- [search_tools](#search_tools) find appropriate tools for a task
|
|
17
18
|
- [osa](#osa) manage reminders/notes/calendar (AppleScript/macOS)
|
|
18
19
|
- [jina_r](#jina_r) fetch webpage content
|
|
19
20
|
- [websearch](#websearch) search the web with web-enabled llms
|
|
@@ -202,6 +203,50 @@ TODOS:
|
|
|
202
203
|
|
|
203
204
|
```
|
|
204
205
|
|
|
206
|
+
### `search_tools`
|
|
207
|
+
Find appropriate tools for a given task by searching through available tools
|
|
208
|
+
```chat
|
|
209
|
+
user: @search_tools
|
|
210
|
+
what is in my current directory?
|
|
211
|
+
|
|
212
|
+
assistant:
|
|
213
|
+
I'll help you check what's in your current directory.
|
|
214
|
+
|
|
215
|
+
tool_call: search_tools
|
|
216
|
+
list files and folders in current directory
|
|
217
|
+
|
|
218
|
+
tool_result:
|
|
219
|
+
@sh "sh" - because it can run shell commands like `ls -la` to list files/folders on Unix-like systems
|
|
220
|
+
@cmd "cmd" - because it can execute `dir` to list directory contents on Windows cmd.exe
|
|
221
|
+
@powershell "powershell" - because it can run `Get-ChildItem` (alias `ls`) to list items on Windows PowerShell
|
|
222
|
+
@nu "nu" - because it can run Nushell commands like `ls` for structured directory listings
|
|
223
|
+
|
|
224
|
+
assistant:
|
|
225
|
+
Let me try with a shell command that works on most systems:
|
|
226
|
+
|
|
227
|
+
tool_call: sh
|
|
228
|
+
ls -la
|
|
229
|
+
|
|
230
|
+
tool_result:
|
|
231
|
+
total 13584
|
|
232
|
+
drwxr-xr-x 15 iovdin staff 480 Jan 18 19:07 .
|
|
233
|
+
drwxr-xr-x 195 iovdin staff 6240 Jan 17 12:46 ..
|
|
234
|
+
drwxr-xr-x 14 iovdin staff 448 Jan 18 19:00 .git
|
|
235
|
+
drwxr-xr-x 3 iovdin staff 96 Sep 4 20:15 .github
|
|
236
|
+
-rw-r--r-- 1 iovdin staff 82 Aug 12 10:44 .gitignore
|
|
237
|
+
-rw-r--r-- 1 iovdin staff 316 Oct 21 21:41 .npmignore
|
|
238
|
+
drwxr-xr-x 32 iovdin staff 1024 Jan 18 18:59 chats
|
|
239
|
+
drwxr-xr-x 13 iovdin staff 416 Oct 25 09:32 node_modules
|
|
240
|
+
-rw-r--r-- 1 iovdin staff 8145 Oct 25 09:32 package-lock.json
|
|
241
|
+
-rw-r--r-- 1 iovdin staff 754 Jan 18 18:59 package.json
|
|
242
|
+
-rw-r--r-- 1 iovdin staff 18959 Jan 18 18:59 README.md
|
|
243
|
+
drwxr-xr-x 62 iovdin staff 1984 Jan 18 19:04 src
|
|
244
|
+
drwxr-xr-x 16 iovdin staff 512 Nov 9 09:14 test
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
This tool analyzes your task description and recommends the most relevant tools from the available toolset, explaining why each tool would be helpful for your specific use case.
|
|
249
|
+
|
|
205
250
|
### `osa`
|
|
206
251
|
AppleScript tool, manage reminders, notes, calendar etc on osx
|
|
207
252
|
```chat
|
package/package.json
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "There is a tool list available, find ones and connect that are appropriate for the task",
|
|
3
|
+
"parameters": {
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"text": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "User task description"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"required": ["text"]
|
|
12
|
+
},
|
|
13
|
+
"$escape_output": false
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
system:
|
|
2
|
+
@{ small | init @gpt-5.2-chat-latest }
|
|
3
|
+
|
|
4
|
+
Given user task
|
|
5
|
+
You provide a list of tools that are best help for the user
|
|
6
|
+
|
|
7
|
+
<tool-list>
|
|
8
|
+
@|tool_list
|
|
9
|
+
</tool-list>
|
|
10
|
+
|
|
11
|
+
example answer:
|
|
12
|
+
```
|
|
13
|
+
\@tool_name1 "tool_name1" - because it helps to do X
|
|
14
|
+
\@tool_name2 "tool_name2" - because it helps with Y
|
|
15
|
+
...
|
|
16
|
+
```
|
|
17
|
+
user:
|
|
18
|
+
@text
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module.exports = async function toolList(node, args, ctx) {
|
|
2
|
+
const tools = await ctx.resolve(".*", {
|
|
3
|
+
type: "tool",
|
|
4
|
+
output: "all",
|
|
5
|
+
match: "regex"
|
|
6
|
+
})
|
|
7
|
+
|
|
8
|
+
return {
|
|
9
|
+
type: "text",
|
|
10
|
+
read: async () =>
|
|
11
|
+
tools.map(tool => `## tool: '${tool.name}'\n${tool.schema?.description}\n` ).join("\n")
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
}
|