UNPKG

@phren/cli

Version:

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

35 lines (34 loc) • 2.05 kB
import { type Json } from "./protocol.js"; import type { PendingServerRequest } from "./codex-app-server.js"; /** Pure translations between the harnesses' permission asks and the Hook's * approval cards (agent-hooks.ts holds and answers them). */ /** A conductor `dispatch` or `hand_off` ask, with the fields a standing grant matches on. */ export type ConductorCall = { action: "dispatch" | "hand_off"; project?: string; computer?: string; }; /** The approval card's tool and input for an app-server request, in the * shapes `approvalSummary` and the phone already read for Codex's hook. * Undefined for questions (`item/tool/requestUserInput`) and MCP * elicitations, which stay in the pane. */ export declare function appServerApproval(request: PendingServerRequest): { tool: string; input: Json; } | undefined; /** The app-server's answer for the phone's allow or deny (T3's * CodexSessionRuntime shapes: accept / decline, a permission grant or none). */ export declare function appServerDecision(request: PendingServerRequest, allow: boolean): Json; /** A conductor `dispatch` or `hand_off` permission ask the Hook can answer * itself under a standing grant, or offer the phone two grant-writing answers. */ export declare function conductorCall(tool: string, input: unknown): ConductorCall | undefined; /** The decisions an OpenCode permission ask offers the phone. OpenCode's * `always` covers the current session, so both grant answers reply `always`; * `allow-everywhere` additionally writes an allow rule into the user's * OpenCode config. Advertised as the approval card's `options`, the same * shape the phone already renders for a provider-supplied option list. */ export declare const OPENCODE_APPROVAL_OPTIONS: Json[]; /** The OpenCode permission reply a card decision maps to: both grant scopes * are `always`, a plain approve is `once`, a deny is `reject`. Undefined for * anything else. */ export declare function opencodePermissionReply(decision: unknown): "once" | "always" | "reject" | undefined;