UNPKG

@deep-assistant/agent

Version:

A minimal, public domain AI CLI agent compatible with OpenCode's JSON interface. Bun-only runtime.

37 lines (32 loc) 1.08 kB
import z from "zod" 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]) .then((x) => x || []) .catch(() => []) } }