@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
188 lines • 6.41 kB
TypeScript
/**
* Tool Discovery and Execution Schemas
*
* Schemas for the /api/v1/tools and /api/v1/tools/:toolName endpoints.
* PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures
*/
import { z } from 'zod';
/**
* Tool parameter schema
*/
export declare const ToolParameterSchema: z.ZodObject<{
name: z.ZodString;
type: z.ZodString;
description: z.ZodString;
required: z.ZodBoolean;
default: z.ZodOptional<z.ZodAny>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type ToolParameter = z.infer<typeof ToolParameterSchema>;
/**
* Tool information schema
* Matches ToolInfo from rest-registry.ts
*/
export declare const ToolInfoSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
category: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodString;
description: z.ZodString;
required: z.ZodBoolean;
default: z.ZodOptional<z.ZodAny>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>>;
inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, z.core.$strip>;
export type ToolInfo = z.infer<typeof ToolInfoSchema>;
/**
* Tool discovery response data
*/
export declare const ToolDiscoveryDataSchema: z.ZodObject<{
tools: z.ZodArray<z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
category: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodString;
description: z.ZodString;
required: z.ZodBoolean;
default: z.ZodOptional<z.ZodAny>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>>;
inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, z.core.$strip>>;
total: z.ZodNumber;
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type ToolDiscoveryData = z.infer<typeof ToolDiscoveryDataSchema>;
/**
* Tool discovery response schema
* GET /api/v1/tools
*/
export declare const ToolDiscoveryResponseSchema: z.ZodObject<{
success: z.ZodLiteral<true>;
data: z.ZodObject<{
tools: z.ZodArray<z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
category: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
type: z.ZodString;
description: z.ZodString;
required: z.ZodBoolean;
default: z.ZodOptional<z.ZodAny>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>>;
inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, z.core.$strip>>;
total: z.ZodNumber;
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
export type ToolDiscoveryResponse = z.infer<typeof ToolDiscoveryResponseSchema>;
/**
* Tool execution result data
*/
export declare const ToolExecutionDataSchema: z.ZodObject<{
result: z.ZodAny;
tool: z.ZodString;
executionTime: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type ToolExecutionData = z.infer<typeof ToolExecutionDataSchema>;
/**
* Tool execution response schema
* POST /api/v1/tools/:toolName
*/
export declare const ToolExecutionResponseSchema: z.ZodObject<{
success: z.ZodLiteral<true>;
data: z.ZodObject<{
result: z.ZodAny;
tool: z.ZodString;
executionTime: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
export type ToolExecutionResponse = z.infer<typeof ToolExecutionResponseSchema>;
/**
* Tool not found error
*/
export declare const ToolNotFoundErrorSchema: z.ZodObject<{
success: z.ZodLiteral<false>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
error: z.ZodObject<{
code: z.ZodLiteral<"TOOL_NOT_FOUND">;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
}, z.core.$strip>;
/**
* Invalid tool request error
*/
export declare const InvalidToolRequestErrorSchema: z.ZodObject<{
success: z.ZodLiteral<false>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
error: z.ZodObject<{
code: z.ZodLiteral<"INVALID_REQUEST">;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
}, z.core.$strip>;
/**
* Tool execution error
*/
export declare const ToolExecutionErrorSchema: z.ZodObject<{
success: z.ZodLiteral<false>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
error: z.ZodObject<{
code: z.ZodLiteral<"EXECUTION_ERROR">;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
}, z.core.$strip>;
/**
* Tool discovery error
*/
export declare const ToolDiscoveryErrorSchema: z.ZodObject<{
success: z.ZodLiteral<false>;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
error: z.ZodObject<{
code: z.ZodLiteral<"DISCOVERY_ERROR">;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
}, z.core.$strip>;
//# sourceMappingURL=tools.d.ts.map