Add missing files and fix type aliases for opentui features

This commit is contained in:
Dax Raad
2025-10-06 18:53:35 -04:00
parent 6417edf998
commit cdd6e98af9
5 changed files with 74 additions and 14 deletions

View File

@@ -0,0 +1,34 @@
import z from "zod/v4"
import { Bus } from "../bus"
import { Storage } from "../storage/storage"
export namespace Todo {
export const Info = z
.object({
content: z.string().describe("Brief description of the task"),
status: z.string().describe("Current status of the task: pending, in_progress, completed, cancelled"),
priority: z.string().describe("Priority level of the task: high, medium, low"),
id: z.string().describe("Unique identifier for the todo item"),
})
.meta({ ref: "Todo" })
export type Info = z.infer<typeof Info>
export const Event = {
Updated: Bus.event(
"todo.updated",
z.object({
sessionID: z.string(),
todos: z.array(Info),
}),
),
}
export async function update(input: { sessionID: string; todos: Info[] }) {
await Storage.write(["todo", input.sessionID], input.todos)
Bus.publish(Event.Updated, input)
}
export async function get(sessionID: string) {
return Storage.read<Info[]>(["todo", sessionID]) ?? []
}
}