export class RpcClientApi {
    async prompt(message, images, streamingBehavior) {
        await this.request({ type: "prompt", message, images, streamingBehavior });
    }
    async steer(message, images) { await this.request({ type: "steer", message, images }); }
    async followUp(message, images) { await this.request({ type: "follow_up", message, images }); }
    async abort() { await this.request({ type: "abort" }); }
    async newSession(parentSession) {
        return this.data(await this.request({ type: "new_session", parentSession }));
    }
    async getState() { return this.data(await this.request({ type: "get_state" })); }
    async setModel(provider, modelId) {
        return this.data(await this.request({ type: "set_model", provider, modelId }));
    }
    async cycleModel(direction) {
        return this.data(await this.request({ type: "cycle_model", direction }));
    }
    async getAvailableModels() {
        return this.data(await this.request({ type: "get_available_models" })).models;
    }
    async setThinkingLevel(level) { await this.request({ type: "set_thinking_level", level }); }
    async cycleThinkingLevel() {
        return this.data(await this.request({ type: "cycle_thinking_level" }));
    }
    async setContextWindow(contextWindow) {
        this.data(await this.request({ type: "set_context_window", contextWindow }));
    }
    async getAvailableContextWindows() {
        return this.data(await this.request({ type: "get_available_context_windows" }));
    }
    async setSteeringMode(mode) { await this.request({ type: "set_steering_mode", mode }); }
    async setFollowUpMode(mode) { await this.request({ type: "set_follow_up_mode", mode }); }
    async compact() { return this.data(await this.request({ type: "compact" })); }
    async setAutoCompaction(enabled) { await this.request({ type: "set_auto_compaction", enabled }); }
    async setAutoRetry(enabled) { await this.request({ type: "set_auto_retry", enabled }); }
    async abortRetry() { await this.request({ type: "abort_retry" }); }
    async bash(command) { return this.data(await this.request({ type: "bash", command })); }
    async abortBash() { await this.request({ type: "abort_bash" }); }
    async getSessionStats() { return this.data(await this.request({ type: "get_session_stats" })); }
    async exportHtml(outputPath) { return this.data(await this.request({ type: "export_html", outputPath })); }
    async switchSession(sessionPath) {
        return this.data(await this.request({ type: "switch_session", sessionPath }));
    }
    async fork(entryId) { return this.data(await this.request({ type: "fork", entryId })); }
    async clone() { return this.data(await this.request({ type: "clone" })); }
    async getForkMessages() {
        return this.data(await this.request({ type: "get_fork_messages" })).messages;
    }
    async getEntries(since) {
        return this.data(await this.request({ type: "get_entries", since }));
    }
    async getTree() { return this.data(await this.request({ type: "get_tree" })); }
    async getLastAssistantText() {
        return this.data(await this.request({ type: "get_last_assistant_text" })).text;
    }
    async setSessionName(name) { await this.request({ type: "set_session_name", name }); }
    async getMessages() {
        return this.data(await this.request({ type: "get_messages" })).messages;
    }
    async getCommands() {
        return this.data(await this.request({ type: "get_commands" })).commands;
    }
}
//# sourceMappingURL=rpc-client-api.js.map