buroventures-harald-code
Version:
Harald Code - AI-powered coding assistant CLI
24 lines (23 loc) • 1.46 kB
TypeScript
/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { Config, GeminiClient, EditorType, ThoughtSummary } from 'buroventures-harald-code-core';
import { type PartListUnion } from '@google/genai';
import { StreamingState, HistoryItem, HistoryItemWithoutId, SlashCommandProcessorResult } from '../types.js';
import { UseHistoryManagerReturn } from './useHistoryManager.js';
export declare function mergePartListUnions(list: PartListUnion[]): PartListUnion;
/**
* Manages the Gemini stream, including user input, command processing,
* API interaction, and tool call lifecycle.
*/
export declare const useGeminiStream: (geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn["addItem"], config: Config, onDebugMessage: (message: string) => void, handleSlashCommand: (cmd: PartListUnion) => Promise<SlashCommandProcessorResult | false>, shellModeActive: boolean, getPreferredEditor: () => EditorType | undefined, onAuthError: () => void, performMemoryRefresh: () => Promise<void>, modelSwitchedFromQuotaError: boolean, setModelSwitchedFromQuotaError: React.Dispatch<React.SetStateAction<boolean>>) => {
streamingState: StreamingState;
submitQuery: (query: PartListUnion, options?: {
isContinuation: boolean;
}, prompt_id?: string) => Promise<void>;
initError: string | null;
pendingHistoryItems: HistoryItemWithoutId[];
thought: ThoughtSummary | null;
};