/** * Resource-install and shell/compaction command bodies extracted from * interactive-mode. * * `/install-resources` copies a trusted external resource tree into the agent * dir; `/curate` proposes/applies skill-curation actions; `!`/`!!` bash runs a * shell command (rendering a BashExecutionComponent, deferred while streaming); * `/compact` triggers manual compaction. Each takes a narrow host seam; * `copyResourcesRecursively` stays host-side (referenced directly by the * install-resources test), so interactive-mode keeps thin delegating wrappers. */ import type { SessionManager } from "@caupulican/pi-agent-core/node"; import type { Component, Container, TUI } from "@caupulican/pi-tui"; import type { AgentSession } from "../../core/agent-session.ts"; import type { SettingsManager } from "../../core/settings-manager.ts"; import { BashExecutionComponent } from "./components/bash-execution.ts"; export interface InstallResourcesHost { readonly settingsManager: Pick; showError(message: string): void; showStatus(message: string): void; showSelector(create: (done: () => void) => { component: Component; focus: Component; onSuperseded?: () => void; }): void; handleReloadCommand(): Promise; copyResourcesRecursively(src: string, dest: string, force: boolean, stats: { installed: string[]; skipped: string[]; }): void; } export interface CurateCommandHost { readonly session: Pick; showStatus(message: string): void; } export interface BashCommandHost { readonly session: Pick; readonly sessionManager: Pick; readonly ui: TUI; readonly chatContainer: Container; readonly pendingMessagesContainer: Container; readonly pendingBashComponents: BashExecutionComponent[]; bashComponent: BashExecutionComponent | undefined; showError(message: string): void; } export interface CompactCommandHost { readonly sessionManager: Pick; showWarning(message: string): void; readonly session: Pick; } export declare function handleInstallResourcesCommand(host: InstallResourcesHost, argsString: string): Promise; /** * `/curate` — skill curator (#32). With no args, lists reflection-promoted skills proposed for * archival (stale/unused) and pairs proposed for consolidation (overlapping). PROPOSE-ONLY: the user * applies actions explicitly via `/curate archive ` / `/curate restore `. Never touches * hand-authored skills; archival is restorable. */ export declare function handleCurateCommand(host: CurateCommandHost, args: string): void; export declare function handleBashCommand(host: BashCommandHost, command: string, excludeFromContext?: boolean): Promise; export declare function handleCompactCommand(host: CompactCommandHost, customInstructions?: string): Promise; //# sourceMappingURL=resource-shell-commands.d.ts.map