@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
JavaScript
;
/**
* 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(),
}),
});