Skip to content
← Public packages

@kentcdodds/kody-issue-triage

Loop-safe triage for Kody run errors and fleet package-runtime error-rate elevations. Wakes Cole (Grok Bot) to decide; Cursor agents only when Cole escalates.

src/status.ts

28 lines · 776 B · TypeScript
import { hourBucket, maxAgentsPerHour } from './shared.ts'
import {
	getCounter,
	getLease,
	initSchema,
	isEnabled,
	listRecentFingerprints,
	listStaleSpawned,
} from './storage.ts'

/**
 * Operator snapshot: kill switch, hourly counters, lease, recent fingerprints.
 */
export default async function status() {
	await initSchema()
	const bucket = hourBucket()
	return {
		enabled: await isEnabled(),
		hourBucket: bucket,
		spawnedThisHour: await getCounter(`spawned:${bucket}`),
		fingerprintsThisHour: await getCounter(`fingerprints:${bucket}`),
		eventsThisHour: await getCounter(`events:${bucket}`),
		maxAgentsPerHour,
		lease: await getLease(),
		staleSpawned: (await listStaleSpawned()).map((row) => row.fingerprint),
		recent: await listRecentFingerprints(15),
	}
}