-
Notifications
You must be signed in to change notification settings - Fork 307
Expand file tree
/
Copy pathtools.ts
More file actions
37 lines (35 loc) · 2.1 KB
/
Copy pathtools.ts
File metadata and controls
37 lines (35 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import {
toVercelAITool,
readFileDefinition,
listCommitsDefinition,
listReposDefinition,
getDiffDefinition,
grepDefinition,
globDefinition,
findSymbolReferencesDefinition,
findSymbolDefinitionsDefinition,
listTreeDefinition,
} from "@/features/tools";
import { ToolContext } from "@/features/tools/types";
import { ToolUIPart } from "ai";
import { SBChatMessageToolTypes } from "./types";
export const createTools = (context: ToolContext) => ({
[readFileDefinition.name]: toVercelAITool(readFileDefinition, context),
[listCommitsDefinition.name]: toVercelAITool(listCommitsDefinition, context),
[listReposDefinition.name]: toVercelAITool(listReposDefinition, context),
[getDiffDefinition.name]: toVercelAITool(getDiffDefinition, context),
[grepDefinition.name]: toVercelAITool(grepDefinition, context),
[globDefinition.name]: toVercelAITool(globDefinition, context),
[findSymbolReferencesDefinition.name]: toVercelAITool(findSymbolReferencesDefinition, context),
[findSymbolDefinitionsDefinition.name]: toVercelAITool(findSymbolDefinitionsDefinition, context),
[listTreeDefinition.name]: toVercelAITool(listTreeDefinition, context),
});
export type ReadFileToolUIPart = ToolUIPart<{ read_file: SBChatMessageToolTypes['read_file'] }>;
export type ListCommitsToolUIPart = ToolUIPart<{ list_commits: SBChatMessageToolTypes['list_commits'] }>;
export type ListReposToolUIPart = ToolUIPart<{ list_repos: SBChatMessageToolTypes['list_repos'] }>;
export type GetDiffToolUIPart = ToolUIPart<{ get_diff: SBChatMessageToolTypes['get_diff'] }>;
export type GrepToolUIPart = ToolUIPart<{ grep: SBChatMessageToolTypes['grep'] }>;
export type GlobToolUIPart = ToolUIPart<{ glob: SBChatMessageToolTypes['glob'] }>;
export type FindSymbolReferencesToolUIPart = ToolUIPart<{ find_symbol_references: SBChatMessageToolTypes['find_symbol_references'] }>;
export type FindSymbolDefinitionsToolUIPart = ToolUIPart<{ find_symbol_definitions: SBChatMessageToolTypes['find_symbol_definitions'] }>;
export type ListTreeToolUIPart = ToolUIPart<{ list_tree: SBChatMessageToolTypes['list_tree'] }>;