Luigit
repositories / pi-ext

pi-ext

bugabingas pi extensions

owned by admin

extensions/good-job/src/debug.ts

Raw
import { defineDebug } from "./pi-ext-debug.ts";

type GoodJobDebugSchema = {
	events: readonly [
		"session.start",
		"session.shutdown",
		"feedback.capture",
		"learning.outcome",
	];
	spans: readonly ["runtime.start", "runtime.stop"];
	fields: {
		kind: readonly ["praise", "problem"];
		mode: readonly ["interactive", "json", "print", "rpc", "tui"];
		generation: "number";
		status: readonly [
			"ready",
			"stopped",
			"idle",
			"skipped",
			"committed",
			"failed",
			"aborted",
		];
		type: readonly ["startup", "shutdown"];
	};
};

export const {
	dbg,
	span,
	closeDebug,
}: ReturnType<typeof defineDebug<GoodJobDebugSchema>> = defineDebug({
	events: [
		"session.start",
		"session.shutdown",
		"feedback.capture",
		"learning.outcome",
	],
	spans: ["runtime.start", "runtime.stop"],
	fields: {
		kind: ["praise", "problem"],
		mode: ["interactive", "json", "print", "rpc", "tui"],
		generation: "number",
		status: [
			"ready",
			"stopped",
			"idle",
			"skipped",
			"committed",
			"failed",
			"aborted",
		],
		type: ["startup", "shutdown"],
	},
} as const);