UNPKG

@phren/cli

Version:

Knowledge layer for AI agents - CLI, MCP server, and data layer

122 lines (121 loc) • 3.72 kB
import { z } from "zod"; import { type Json } from "./protocol.js"; export declare const inboxTargetSchema: z.ZodUnion<readonly [z.ZodObject<{ server: z.ZodString; workspace: z.ZodString; tab: z.ZodString; pane: z.ZodString; source: z.ZodEnum<{ claude: "claude"; codex: "codex"; copilot: "copilot"; opencode: "opencode"; phren: "phren"; }>; session: z.ZodUnion<readonly [z.ZodString, z.ZodString]>; }, z.core.$strip>, z.ZodObject<{ server: z.ZodString; workspace: z.ZodString; tab: z.ZodString; pane: z.ZodString; source: z.ZodEnum<{ claude: "claude"; codex: "codex"; copilot: "copilot"; opencode: "opencode"; phren: "phren"; }>; starting: z.ZodLiteral<true>; startingToken: z.ZodString; }, z.core.$strip>]>; declare const itemSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ blocked: "blocked"; manual: "manual"; "needs-you": "needs-you"; }>; title: z.ZodString; createdAt: z.ZodString; updatedAt: z.ZodString; state: z.ZodEnum<{ open: "open"; resolved: "resolved"; }>; resolvedAt: z.ZodOptional<z.ZodString>; resolution: z.ZodOptional<z.ZodString>; project: z.ZodOptional<z.ZodString>; computer: z.ZodOptional<z.ZodString>; target: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{ server: z.ZodString; workspace: z.ZodString; tab: z.ZodString; pane: z.ZodString; source: z.ZodEnum<{ claude: "claude"; codex: "codex"; copilot: "copilot"; opencode: "opencode"; phren: "phren"; }>; session: z.ZodUnion<readonly [z.ZodString, z.ZodString]>; }, z.core.$strip>, z.ZodObject<{ server: z.ZodString; workspace: z.ZodString; tab: z.ZodString; pane: z.ZodString; source: z.ZodEnum<{ claude: "claude"; codex: "codex"; copilot: "copilot"; opencode: "opencode"; phren: "phren"; }>; starting: z.ZodLiteral<true>; startingToken: z.ZodString; }, z.core.$strip>]>>; dispatch: z.ZodOptional<z.ZodString>; actionId: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; live: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>; export type InboxItem = z.infer<typeof itemSchema>; export declare const ownerInboxSchema: z.ZodObject<{ action: z.ZodDefault<z.ZodEnum<{ add: "add"; list: "list"; resolve: "resolve"; }>>; title: z.ZodOptional<z.ZodString>; project: z.ZodOptional<z.ZodString>; id: z.ZodOptional<z.ZodString>; resolution: z.ZodOptional<z.ZodString>; includeResolved: z.ZodOptional<z.ZodBoolean>; computer: z.ZodOptional<z.ZodString>; }, z.core.$strict>; export interface InboxSource { source: string; kind: "needs-you" | "blocked"; title: string; project?: string; computer?: string; target?: z.infer<typeof inboxTargetSchema>; dispatch?: string; actionId?: string; } export interface InboxSnapshot { sources: InboxSource[]; unavailableDispatches?: string[]; } /** Reconcile automatic work against current sources; manual work is owner-owned. * The first reconciliation also migrates old stale/duplicate automatic rows. */ export declare class OwnerInbox { private readonly sources; private readonly file; private pending; constructor(sources?: () => Promise<InboxSource[] | InboxSnapshot>, file?: string); private read; run(input: unknown): Promise<Json>; tick(): Promise<void>; } export {};