diff options
| author | Dax Raad <[email protected]> | 2025-05-30 20:47:56 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-30 20:48:36 -0400 |
| commit | f3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch) | |
| tree | a24317a19e1ab2a89da50db669dc6894f15d00d1 /js/src/tool/tool.ts | |
| parent | 9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff) | |
| download | opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip | |
sync
Diffstat (limited to 'js/src/tool/tool.ts')
| -rw-r--r-- | js/src/tool/tool.ts | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/js/src/tool/tool.ts b/js/src/tool/tool.ts deleted file mode 100644 index 0cd65e007..000000000 --- a/js/src/tool/tool.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { tool, type Tool as AITool } from "ai"; -import { Log } from "../util/log"; - -const log = Log.create({ service: "tool" }); - -export namespace Tool { - export interface Metadata< - Properties extends Record<string, any> = Record<string, any>, - > { - properties: Properties; - time: { - start: number; - end: number; - }; - } - export function define< - Params, - Output extends { metadata?: any; output: any }, - Name extends string, - >( - input: AITool<Params, Output> & { - name: Name; - }, - ) { - return tool({ - ...input, - execute: async (params, opts) => { - log.info("invoking", { - id: opts.toolCallId, - name: input.name, - ...params, - }); - try { - const start = Date.now(); - const result = await input.execute!(params, opts); - const metadata: Metadata<Output["metadata"]> = { - ...result.metadata, - time: { - start, - end: Date.now(), - }, - }; - return { - metadata, - output: result.output, - }; - } catch (e: any) { - log.error("error", { - msg: e.toString(), - }); - return { - metadata: { - error: true, - }, - output: "An error occurred: " + e.toString(), - }; - } - }, - }); - } -} |
