Files
tf_code/packages/opencode/src/tool/tool.ts
2025-06-02 19:51:37 -04:00

30 lines
717 B
TypeScript

import type { StandardSchemaV1 } from "@standard-schema/spec"
export namespace Tool {
export type Context = {
sessionID: string
}
export interface Info<
Parameters extends StandardSchemaV1 = StandardSchemaV1,
Metadata extends Record<string, any> = Record<string, any>,
> {
id: string
description: string
parameters: Parameters
execute(
args: StandardSchemaV1.InferOutput<Parameters>,
ctx: Context,
): Promise<{
metadata: Metadata
output: string
}>
}
export function define<
Parameters extends StandardSchemaV1,
Result extends Record<string, any>,
>(input: Info<Parameters, Result>): Info<Parameters, Result> {
return input
}
}