UNPKG

@vfarcic/dot-ai

Version:

AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance

67 lines (66 loc) 2.75 kB
"use strict"; /** * Events Endpoint Schemas * * Schemas for the /api/v1/events endpoint. * PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures * PRD #328: Events endpoint for UI */ Object.defineProperty(exports, "__esModule", { value: true }); exports.EventsErrorSchema = exports.EventsPluginUnavailableErrorSchema = exports.EventsBadRequestErrorSchema = exports.EventsResponseSchema = exports.EventsDataSchema = exports.KubernetesEventSchema = exports.EventInvolvedObjectSchema = void 0; const zod_1 = require("zod"); const common_1 = require("./common"); /** * Kubernetes event involved object reference */ exports.EventInvolvedObjectSchema = zod_1.z.object({ kind: zod_1.z.string().describe('Resource kind'), name: zod_1.z.string().describe('Resource name'), namespace: zod_1.z.string().optional().describe('Resource namespace'), uid: zod_1.z.string().optional().describe('Resource UID'), }); /** * Kubernetes event schema */ exports.KubernetesEventSchema = zod_1.z.object({ lastTimestamp: zod_1.z.string().optional().describe('Last time the event occurred'), type: zod_1.z.string().describe('Event type (Normal, Warning)'), reason: zod_1.z.string().describe('Short reason for the event'), message: zod_1.z.string().describe('Human-readable description'), involvedObject: exports.EventInvolvedObjectSchema.describe('Object this event is about'), count: zod_1.z.number().optional().describe('Number of times this event has occurred'), firstTimestamp: zod_1.z.string().optional().describe('First time the event occurred'), }); /** * Events response data * GET /api/v1/events */ exports.EventsDataSchema = zod_1.z.object({ events: zod_1.z.array(exports.KubernetesEventSchema).describe('List of events'), count: zod_1.z.number().describe('Number of events returned'), }); exports.EventsResponseSchema = (0, common_1.createSuccessResponseSchema)(exports.EventsDataSchema); /** * Events endpoint error schemas */ exports.EventsBadRequestErrorSchema = common_1.BadRequestErrorSchema.extend({ error: zod_1.z.object({ code: zod_1.z.literal('BAD_REQUEST'), message: zod_1.z.string(), details: zod_1.z.any().optional(), }), }); exports.EventsPluginUnavailableErrorSchema = common_1.ServiceUnavailableErrorSchema.extend({ error: zod_1.z.object({ code: zod_1.z.literal('PLUGIN_UNAVAILABLE'), message: zod_1.z.string(), details: zod_1.z.any().optional(), }), }); exports.EventsErrorSchema = common_1.InternalServerErrorSchema.extend({ error: zod_1.z.object({ code: zod_1.z.literal('EVENTS_ERROR'), message: zod_1.z.string(), details: zod_1.z.any().optional(), }), });