@phren/cli
Version:
Knowledge layer for AI agents - CLI, MCP server, and data layer
118 lines (117 loc) • 3.59 kB
TypeScript
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;
}
/** Hook-owned inbox. Return reads do not resolve owner work. Live sources
* disappearing are retained as no-longer-live until explicitly resolved. */
export declare class OwnerInbox {
private readonly sources;
private readonly file;
private pending;
constructor(sources?: () => Promise<InboxSource[]>, file?: string);
private read;
run(input: unknown): Promise<Json>;
tick(): Promise<void>;
}
export {};