/** * M61: pi's built-in slash commands (pi 1.5.0) and how a peek runs each. pi does not export * its list (BUILTIN_SLASH_COMMANDS is internal to dist/core/slash-commands.js), so it is * carried here; test/pi-commands.test.ts fails when a pi upgrade adds or removes a name. * * - hub: the hub has its own (model, thinking, name, compact): not listed in the pi group. * - screen: runs and shows something; the peek types it in and shows the screen. * - picker: opens a picker or dialog in pi; the peek types it in and attaches. * - confirm: ends the session (asked twice). */ export type PiCommandHow = "hub" | "screen" | "picker" | "confirm"; export interface PiCommand { name: string; description: string; argumentHint?: string; how: PiCommandHow; /** What pi does with words after the name: it matches the others exactly (`/tree foo` would go to the model as a prompt). */ args?: "optional" | "required"; } export declare const PI_COMMANDS: PiCommand[]; export declare const piCommand: (name: string) => PiCommand | undefined; /** A command of a pi session as its worker lists it (commands.json). */ export interface SessionCommand { name: string; description?: string; source: "extension" | "prompt" | "skill"; } /** The worker's `pi.getCommands()` as commands.json keeps it: bounded, one-line descriptions. */ export declare function sessionCommandsFrom(list: unknown): SessionCommand[];