fix(tools): preserve literal and realm-safe schemas

This commit is contained in:
Tianyi Cui
2026-07-21 21:37:11 +08:00
parent 0feeecbfbd
commit acc628f3af
8 changed files with 72 additions and 12 deletions
+1 -1
View File
@@ -378,7 +378,7 @@ export interface DefineToolOptions<S extends ParameterSchemaSpec> {
* @param options - typed definition and optional presenters.
* @returns A registry-ready definition.
*/
export function defineTool<S extends ParameterSchemaSpec>(options: DefineToolOptions<S>): ToolDefinition {
export function defineTool<const S extends ParameterSchemaSpec>(options: DefineToolOptions<S>): ToolDefinition {
// Object-literal methods do not use `this`; retaining references is safe.
// eslint-disable-next-line @typescript-eslint/unbound-method
const userExecute = options.execute