packages/contracts/src/events/telemetry.ts
Metadata
- Purpose: Shared contracts package with schemas, events, or OpenAPI artifacts.
- Domain:
shared-packages - Language:
ts - Bytes: 2071
- Lines: 73
- Content hash (short):
2c5f01bc - Source (start): packages/contracts/src/events/telemetry.ts:1
- Source (end): packages/contracts/src/events/telemetry.ts:73
Indexed Symbols
No indexed functions/methods detected in this file.
Markdown Headings (if applicable)
No markdown headings detected.
Source Preview
import { z } from "zod";
const baseTelemetry = z.object({
eventId: z.string().uuid(),
workspaceId: z.string().uuid(),
clientId: z.string().uuid(),
assetId: z.string().uuid(),
occurredAt: z.string().datetime(),
correlationId: z.string().uuid()
});
export const hostHeartbeatEventSchema = baseTelemetry.extend({
kind: z.literal("HostHeartbeat"),
data: z.object({
cpuLoadPct: z.number().min(0).max(100),
memoryUsedPct: z.number().min(0).max(100),
uptimeSeconds: z.number().int().nonnegative()
})
});
export const patchComplianceEventSchema = baseTelemetry.extend({
kind: z.literal("PatchCompliance"),
data: z.object({
compliant: z.boolean(),
missingCritical: z.number().int().nonnegative(),