@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
173 lines • 6.05 kB
TypeScript
/**
* Common REST API Response Schemas
*
* Base schemas used by all REST API endpoints.
* PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures
*/
import { z } from 'zod';
/**
* Response metadata schema
*/
export declare const MetaSchema: z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>;
export type Meta = z.infer<typeof MetaSchema>;
/**
* Error details schema
*/
export declare const ErrorDetailsSchema: z.ZodObject<{
code: z.ZodString;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
export type ErrorDetails = z.infer<typeof ErrorDetailsSchema>;
/**
* Base REST API response schema
* All endpoint responses extend this structure
*/
export declare const RestApiResponseSchema: z.ZodObject<{
success: z.ZodBoolean;
data: z.ZodOptional<z.ZodAny>;
error: z.ZodOptional<z.ZodObject<{
code: z.ZodString;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, 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 RestApiResponse = z.infer<typeof RestApiResponseSchema>;
/**
* Success response factory - creates a typed success response schema
*/
export declare function createSuccessResponseSchema<T extends z.ZodTypeAny>(dataSchema: T): z.ZodObject<{
success: z.ZodLiteral<true>;
data: T;
meta: z.ZodOptional<z.ZodObject<{
timestamp: z.ZodString;
requestId: z.ZodOptional<z.ZodString>;
version: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
/**
* Error response schema for failed requests
*/
export declare const ErrorResponseSchema: z.ZodObject<{
success: z.ZodLiteral<false>;
error: z.ZodObject<{
code: z.ZodString;
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
}, 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 ErrorResponse = z.infer<typeof ErrorResponseSchema>;
/**
* Common error response schemas by HTTP status
*/
export declare const NotFoundErrorSchema: 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<{
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
code: z.ZodLiteral<"NOT_FOUND">;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const BadRequestErrorSchema: 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<{
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
code: z.ZodEnum<{
BAD_REQUEST: "BAD_REQUEST";
INVALID_REQUEST: "INVALID_REQUEST";
MISSING_PARAMETER: "MISSING_PARAMETER";
INVALID_PARAMETER: "INVALID_PARAMETER";
VALIDATION_ERROR: "VALIDATION_ERROR";
}>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const MethodNotAllowedErrorSchema: 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<{
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
code: z.ZodLiteral<"METHOD_NOT_ALLOWED">;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const ServiceUnavailableErrorSchema: 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<{
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
code: z.ZodEnum<{
AI_NOT_CONFIGURED: "AI_NOT_CONFIGURED";
PLUGIN_UNAVAILABLE: "PLUGIN_UNAVAILABLE";
VECTOR_DB_UNAVAILABLE: "VECTOR_DB_UNAVAILABLE";
SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
}>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const InternalServerErrorSchema: 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<{
message: z.ZodString;
details: z.ZodOptional<z.ZodAny>;
code: z.ZodEnum<{
INTERNAL_ERROR: "INTERNAL_ERROR";
DISCOVERY_ERROR: "DISCOVERY_ERROR";
EXECUTION_ERROR: "EXECUTION_ERROR";
OPENAPI_ERROR: "OPENAPI_ERROR";
SYNC_ERROR: "SYNC_ERROR";
RESOURCE_KINDS_ERROR: "RESOURCE_KINDS_ERROR";
SEARCH_ERROR: "SEARCH_ERROR";
LIST_RESOURCES_ERROR: "LIST_RESOURCES_ERROR";
NAMESPACES_ERROR: "NAMESPACES_ERROR";
RESOURCE_ERROR: "RESOURCE_ERROR";
EVENTS_ERROR: "EVENTS_ERROR";
LOGS_ERROR: "LOGS_ERROR";
PROMPTS_LIST_ERROR: "PROMPTS_LIST_ERROR";
PROMPT_GET_ERROR: "PROMPT_GET_ERROR";
VISUALIZATION_ERROR: "VISUALIZATION_ERROR";
SESSION_RETRIEVAL_ERROR: "SESSION_RETRIEVAL_ERROR";
MIGRATION_ERROR: "MIGRATION_ERROR";
PROMPTS_CACHE_REFRESH_ERROR: "PROMPTS_CACHE_REFRESH_ERROR";
USER_MANAGEMENT_ERROR: "USER_MANAGEMENT_ERROR";
}>;
}, z.core.$strip>;
}, z.core.$strip>;
//# sourceMappingURL=common.d.ts.map