mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-23 10:44:21 +01:00
20 lines
404 B
TypeScript
20 lines
404 B
TypeScript
import { z } from "zod/v4"
|
|
|
|
export type ToolContext = {
|
|
sessionID: string
|
|
messageID: string
|
|
agent: string
|
|
abort: AbortSignal
|
|
}
|
|
|
|
export function tool<Args extends z.ZodRawShape>(input: {
|
|
description: string
|
|
args: Args
|
|
execute(args: z.infer<z.ZodObject<Args>>, context: ToolContext): Promise<string>
|
|
}) {
|
|
return input
|
|
}
|
|
tool.schema = z
|
|
|
|
export type ToolDefinition = ReturnType<typeof tool>
|