SYMBOL INDEX (2076 symbols across 222 files) FILE: examples/chromadb_gpu_example.py function example_default_usage (line 15) | def example_default_usage(): function example_auto_gpu (line 27) | def example_auto_gpu(): function example_explicit_cuda (line 47) | def example_explicit_cuda(): function example_custom_model_gpu (line 63) | def example_custom_model_gpu(): function example_manual_chromadb (line 81) | def example_manual_chromadb(): FILE: examples/transform_args_example.py class SQLExecutionArgs (line 20) | class SQLExecutionArgs(BaseModel): class SQLExecutionTool (line 25) | class SQLExecutionTool(Tool[SQLExecutionArgs]): method name (line 27) | def name(self) -> str: method description (line 31) | def description(self) -> str: method get_args_schema (line 34) | def get_args_schema(self): method execute (line 37) | async def execute(self, context: ToolContext, args: SQLExecutionArgs) ... class RLSToolRegistry (line 45) | class RLSToolRegistry(ToolRegistry): method transform_args (line 48) | async def transform_args( function example_usage (line 100) | async def example_usage(): FILE: frontends/webcomponent/scripts/sync-version.js constant PYPROJECT_PATH (line 14) | const PYPROJECT_PATH = path.join(__dirname, '../../../pyproject.toml'); constant PACKAGE_JSON_PATH (line 15) | const PACKAGE_JSON_PATH = path.join(__dirname, '../package.json'); function extractVersionFromPyproject (line 17) | function extractVersionFromPyproject(content) { function updatePackageJsonVersion (line 26) | function updatePackageJsonVersion(packageJsonPath, newVersion) { function main (line 41) | function main() { FILE: frontends/webcomponent/src/components/button.stories.ts type Story (line 20) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/dataframe-component.stories.ts type Story (line 45) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/plotly-chart.stories.ts type Story (line 29) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/plotly-chart.ts type PlotlyData (line 6) | interface PlotlyData { type PlotlyLayout (line 17) | interface PlotlyLayout { class PlotlyChart (line 33) | class PlotlyChart extends LitElement { method firstUpdated (line 95) | firstUpdated() { method disconnectedCallback (line 101) | disconnectedCallback() { method _setupResizeObserver (line 106) | private _setupResizeObserver() { method updated (line 119) | updated(changedProperties: Map) { method _getDefaultLayout (line 125) | private _getDefaultLayout(): PlotlyLayout { method _getDefaultConfig (line 160) | private _getDefaultConfig() { method _renderChart (line 168) | private async _renderChart() { method render (line 184) | render() { type HTMLElementTagNameMap (line 198) | interface HTMLElementTagNameMap { FILE: frontends/webcomponent/src/components/rich-card.stories.ts type Story (line 33) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/rich-card.ts type CardAction (line 5) | interface CardAction { class RichCard (line 12) | class RichCard extends LitElement { method _toggleCollapsed (line 219) | private _toggleCollapsed() { method _renderMarkdown (line 225) | private _renderMarkdown(text: string): string { method render (line 240) | render() { method _handleAction (line 274) | private async _handleAction(action: string) { type HTMLElementTagNameMap (line 306) | interface HTMLElementTagNameMap { FILE: frontends/webcomponent/src/components/rich-component-system.stories.ts type Story (line 20) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/rich-component-system.ts type RichComponent (line 11) | interface RichComponent { type ArtifactOpenedEventDetail (line 23) | interface ArtifactOpenedEventDetail { type GlobalEventHandlersEventMap (line 47) | interface GlobalEventHandlersEventMap { constant RICH_COMPONENT_STYLE_ATTR (line 53) | const RICH_COMPONENT_STYLE_ATTR = 'data-vanna-rich-component-styles'; function ensureRichComponentStyles (line 55) | function ensureRichComponentStyles(container: HTMLElement): void { type ComponentUpdate (line 71) | interface ComponentUpdate { type ComponentRenderer (line 82) | interface ComponentRenderer { method update (line 92) | update(element: HTMLElement, component: RichComponent, _updates?: Record... method remove (line 98) | remove(element: HTMLElement): void { class CardComponentRenderer (line 105) | class CardComponentRenderer extends BaseComponentRenderer { method render (line 106) | render(component: RichComponent): HTMLElement { method update (line 220) | update(element: HTMLElement, component: RichComponent, updates?: Recor... class TaskListComponentRenderer (line 250) | class TaskListComponentRenderer extends BaseComponentRenderer { method render (line 251) | render(component: RichComponent): HTMLElement { method renderTask (line 282) | private renderTask(task: any, showTimestamps: boolean): string { method getStatusIcon (line 310) | private getStatusIcon(status: string): string { class ProgressBarComponentRenderer (line 321) | class ProgressBarComponentRenderer extends BaseComponentRenderer { method render (line 322) | render(component: RichComponent): HTMLElement { method update (line 345) | update(element: HTMLElement, component: RichComponent, updates?: Recor... class NotificationComponentRenderer (line 377) | class NotificationComponentRenderer extends BaseComponentRenderer { method render (line 378) | render(component: RichComponent): HTMLElement { method getLevelIcon (line 423) | private getLevelIcon(level: string): string { class StatusIndicatorComponentRenderer (line 435) | class StatusIndicatorComponentRenderer extends BaseComponentRenderer { method render (line 436) | render(component: RichComponent): HTMLElement { method getStatusIcon (line 457) | private getStatusIcon(status: string): string { method update (line 467) | update(element: HTMLElement, component: RichComponent, updates?: Recor... class DataFrameComponentRenderer (line 496) | class DataFrameComponentRenderer extends BaseComponentRenderer { method render (line 497) | render(component: RichComponent): HTMLElement { method formatCellValue (line 617) | private formatCellValue(value: any, columnType: string): string { method escapeHtml (line 638) | private escapeHtml(text: string): string { method attachEventListeners (line 644) | private attachEventListeners(container: HTMLElement, data: any[], colu... method filterTable (line 674) | private filterTable(container: HTMLElement, data: any[], columns: stri... method sortTable (line 696) | private sortTable(container: HTMLElement, data: any[], columns: string... method exportToCSV (line 749) | private exportToCSV(data: any[], columns: string[]): void { class TextComponentRenderer (line 778) | class TextComponentRenderer extends BaseComponentRenderer { method render (line 779) | render(component: RichComponent): HTMLElement { method escapeHtml (line 820) | private escapeHtml(text: string): string { method renderMarkdown (line 826) | private renderMarkdown(text: string): string { class StatusCardComponentRenderer (line 843) | class StatusCardComponentRenderer extends BaseComponentRenderer { method render (line 844) | render(component: RichComponent): HTMLElement { method renderMetadataTable (line 903) | private renderMetadataTable(metadata: Record): string { method formatMetadataValue (line 929) | private formatMetadataValue(value: any): string { method escapeHtml (line 951) | private escapeHtml(text: string): string { method getStatusIcon (line 957) | private getStatusIcon(status: string): string { class ProgressDisplayComponentRenderer (line 972) | class ProgressDisplayComponentRenderer extends BaseComponentRenderer { method render (line 973) | render(component: RichComponent): HTMLElement { class LogViewerComponentRenderer (line 1000) | class LogViewerComponentRenderer extends BaseComponentRenderer { method render (line 1001) | render(component: RichComponent): HTMLElement { class BadgeComponentRenderer (line 1043) | class BadgeComponentRenderer extends BaseComponentRenderer { method render (line 1044) | render(component: RichComponent): HTMLElement { class IconTextComponentRenderer (line 1061) | class IconTextComponentRenderer extends BaseComponentRenderer { method render (line 1062) | render(component: RichComponent): HTMLElement { class ButtonComponentRenderer (line 1079) | class ButtonComponentRenderer extends BaseComponentRenderer { method render (line 1080) | render(component: RichComponent): HTMLElement { method update (line 1165) | update(element: HTMLElement, component: RichComponent, updates?: Recor... class ButtonGroupComponentRenderer (line 1191) | class ButtonGroupComponentRenderer extends BaseComponentRenderer { method render (line 1192) | render(component: RichComponent): HTMLElement { method applyButtonGroupClickState (line 1272) | private applyButtonGroupClickState(container: HTMLElement, clickedInde... method restoreButtonGroupState (line 1292) | private restoreButtonGroupState(container: HTMLElement): void { class ChartComponentRenderer (line 1314) | class ChartComponentRenderer extends BaseComponentRenderer { method render (line 1315) | render(component: RichComponent): HTMLElement { class ArtifactComponentRenderer (line 1378) | class ArtifactComponentRenderer extends BaseComponentRenderer { method render (line 1381) | render(component: RichComponent): HTMLElement { method attachEventListeners (line 1451) | private attachEventListeners(container: HTMLElement, component: RichCo... method fireArtifactOpenedEvent (line 1477) | private fireArtifactOpenedEvent(component: RichComponent, trigger: 'cr... method generateStandaloneHTML (line 1530) | private generateStandaloneHTML(component: RichComponent): string { method handleDefaultAction (line 1573) | private handleDefaultAction(component: RichComponent): void { method openFullscreen (line 1582) | private openFullscreen(component: RichComponent): void { method openEditor (line 1649) | private openEditor(component: RichComponent): void { method escapeHtml (line 1654) | private escapeHtml(html: string): string { class UserMessageComponentRenderer (line 1662) | class UserMessageComponentRenderer extends BaseComponentRenderer { method render (line 1663) | render(component: RichComponent): HTMLElement { class AssistantMessageComponentRenderer (line 1678) | class AssistantMessageComponentRenderer extends BaseComponentRenderer { method render (line 1679) | render(component: RichComponent): HTMLElement { class ComponentRegistry (line 1694) | class ComponentRegistry { method constructor (line 1697) | constructor() { method register (line 1727) | register(type: string, renderer: ComponentRenderer): void { method render (line 1731) | render(component: RichComponent): HTMLElement { method getWebComponentTag (line 1746) | private getWebComponentTag(type: string): string | null { method renderWebComponent (line 1756) | private renderWebComponent(tagName: string, component: RichComponent):... method getCurrentTheme (line 1775) | private getCurrentTheme(): string { method update (line 1785) | update(element: HTMLElement, component: RichComponent, updates?: Recor... method remove (line 1792) | remove(element: HTMLElement): void { method renderFallback (line 1796) | private renderFallback(component: RichComponent): HTMLElement { class ComponentManager (line 1813) | class ComponentManager { method constructor (line 1830) | constructor(container: HTMLElement) { method processUpdate (line 1835) | processUpdate(update: ComponentUpdate): void { method createComponent (line 1858) | private createComponent(update: ComponentUpdate): void { method updateComponent (line 1870) | private updateComponent(update: ComponentUpdate): void { method replaceComponent (line 1881) | private replaceComponent(update: ComponentUpdate): void { method removeComponent (line 1901) | private removeComponent(update: ComponentUpdate): void { method positionComponent (line 1910) | private positionComponent(element: HTMLElement): void { method triggerScroll (line 1918) | private triggerScroll(): void { method clear (line 1931) | clear(): void { method getComponent (line 1938) | getComponent(id: string): RichComponent | undefined { method getAllComponents (line 1942) | getAllComponents(): RichComponent[] { method normalizeComponent (line 1946) | private normalizeComponent(component: RichComponent): RichComponent { method isUIStateUpdate (line 1964) | private isUIStateUpdate(component: RichComponent): boolean { method processUIStateUpdate (line 1970) | private processUIStateUpdate(component: RichComponent): void { method updateStatusBar (line 1986) | private updateStatusBar(component: RichComponent): void { method updateTaskTracker (line 2010) | private updateTaskTracker(component: RichComponent): void { method updateChatInput (line 2063) | private updateChatInput(component: RichComponent): void { FILE: frontends/webcomponent/src/components/rich-progress-bar.stories.ts type Story (line 33) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/rich-progress-bar.ts class RichProgressBar (line 6) | class RichProgressBar extends LitElement { method percentage (line 148) | private get percentage(): number { method progressClasses (line 153) | private get progressClasses(): string { method render (line 171) | render() { type HTMLElementTagNameMap (line 199) | interface HTMLElementTagNameMap { FILE: frontends/webcomponent/src/components/rich-task-list.stories.ts type Story (line 27) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/rich-task-list.ts type TaskItem (line 5) | interface TaskItem { class RichTaskList (line 15) | class RichTaskList extends LitElement { method completedTasks (line 201) | private get completedTasks(): number { method progressPercentage (line 205) | private get progressPercentage(): number { method getStatusIcon (line 209) | private getStatusIcon(status: string): string { method renderTask (line 219) | private renderTask(task: TaskItem) { method render (line 246) | render() { type HTMLElementTagNameMap (line 269) | interface HTMLElementTagNameMap { FILE: frontends/webcomponent/src/components/vanna-chat.stories.ts type Story (line 35) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/vanna-chat.ts class VannaChat (line 14) | class VannaChat extends LitElement { method windowState (line 730) | get windowState() { method windowState (line 734) | set windowState(value: 'normal' | 'maximized' | 'minimized') { method constructor (line 747) | constructor() { method ensureApiClient (line 757) | private ensureApiClient() { method firstUpdated (line 774) | firstUpdated() { method requestStarterUI (line 811) | private async requestStarterUI(): Promise { method disconnectedCallback (line 830) | disconnectedCallback() { method updated (line 840) | updated(changedProperties: Map) { method handleInput (line 852) | private handleInput(e: Event) { method handleKeyPress (line 857) | private handleKeyPress(e: KeyboardEvent) { method sendMessage (line 868) | sendMessage(messageText?: string): Promise { method _sendMessageInternal (line 885) | private async _sendMessageInternal(messageText: string): Promise) { method updateEmptyState (line 1244) | private updateEmptyState() { method updateScrollIndicator (line 1258) | private updateScrollIndicator() { method scrollToLastMessage (line 1273) | scrollToLastMessage() { method clearMessages (line 1293) | clearMessages() { method addTestMessages (line 1304) | addTestMessages(count: number = 10) { method render (line 1314) | render() { FILE: frontends/webcomponent/src/components/vanna-message.stories.ts type Story (line 22) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/vanna-message.ts class VannaMessage (line 6) | class VannaMessage extends LitElement { method formatTimestamp (line 204) | private formatTimestamp(timestamp: number): string { method render (line 211) | render() { FILE: frontends/webcomponent/src/components/vanna-progress-tracker.stories.ts type Story (line 29) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/vanna-progress-tracker.ts type ProgressItem (line 5) | interface ProgressItem { class VannaProgressTracker (line 13) | class VannaProgressTracker extends LitElement { method addItem (line 183) | addItem(text: string, detail?: string, id?: string): string { method updateItem (line 194) | updateItem(id: string, status: ProgressItem['status'], detail?: string) { method clearItems (line 200) | clearItems() { method getStatusIcon (line 204) | private getStatusIcon(status: ProgressItem['status']) { method getProgressSummary (line 225) | private getProgressSummary() { method render (line 236) | render() { FILE: frontends/webcomponent/src/components/vanna-status-bar.stories.ts type Story (line 34) | type Story = StoryObj; FILE: frontends/webcomponent/src/components/vanna-status-bar.ts class VannaStatusBar (line 6) | class VannaStatusBar extends LitElement { method disconnectedCallback (line 349) | disconnectedCallback() { method updated (line 363) | updated(_changedProperties: Map) { method render (line 426) | render() { FILE: frontends/webcomponent/src/services/api-client.ts type ChatMessage (line 5) | interface ChatMessage { type ChatRequest (line 12) | interface ChatRequest { type ChatStreamChunk (line 20) | interface ChatStreamChunk { type ChatResponse (line 28) | interface ChatResponse { type ApiClientConfig (line 35) | interface ApiClientConfig { class VannaApiClient (line 44) | class VannaApiClient { method constructor (line 52) | constructor(config: ApiClientConfig = {}) { method setCustomHeaders (line 71) | setCustomHeaders(headers: Record) { method getCustomHeaders (line 78) | getCustomHeaders(): Record { method streamChat (line 85) | async *streamChat(request: ChatRequest): AsyncGenerator { method sendWebSocketMessage (line 191) | async sendWebSocketMessage( method sendPollMessage (line 265) | async sendPollMessage(request: ChatRequest): Promise { method generateId (line 288) | generateId(): string { FILE: frontends/webcomponent/test_backend.py class ChatRequest (line 61) | class ChatRequest(BaseModel): class UiComponent (line 69) | class UiComponent(BaseModel): function yield_chunk (line 82) | async def yield_chunk(component: RichComponent, conversation_id: str, re... function delay (line 93) | async def delay(mode: str, short: float = 0.1, long: float = 0.5): function test_text_component (line 101) | async def test_text_component(conversation_id: str, request_id: str, mod... function test_status_card (line 149) | async def test_status_card(conversation_id: str, request_id: str, mode: ... function test_progress_display (line 179) | async def test_progress_display(conversation_id: str, request_id: str, m... function test_card_component (line 208) | async def test_card_component(conversation_id: str, request_id: str, mod... function test_task_list (line 257) | async def test_task_list(conversation_id: str, request_id: str, mode: st... function test_progress_bar (line 296) | async def test_progress_bar(conversation_id: str, request_id: str, mode:... function test_notification (line 317) | async def test_notification(conversation_id: str, request_id: str, mode:... function test_status_indicator (line 330) | async def test_status_indicator(conversation_id: str, request_id: str, m... function test_badge (line 351) | async def test_badge(conversation_id: str, request_id: str, mode: str) -... function test_icon_text (line 362) | async def test_icon_text(conversation_id: str, request_id: str, mode: st... function test_buttons (line 373) | async def test_buttons(conversation_id: str, request_id: str, mode: str)... function test_dataframe (line 398) | async def test_dataframe(conversation_id: str, request_id: str, mode: st... function test_chart (line 450) | async def test_chart(conversation_id: str, request_id: str, mode: str) -... function test_artifact (line 511) | async def test_artifact(conversation_id: str, request_id: str, mode: str... function test_log_viewer (line 538) | async def test_log_viewer(conversation_id: str, request_id: str, mode: s... function test_ui_state_updates (line 573) | async def test_ui_state_updates(conversation_id: str, request_id: str, m... function run_comprehensive_test (line 640) | async def run_comprehensive_test(conversation_id: str, request_id: str, ... function handle_action_message (line 741) | async def handle_action_message(message: str, conversation_id: str, requ... function chat_sse (line 781) | async def chat_sse(chat_request: ChatRequest) -> StreamingResponse: function health (line 834) | async def health(): function root (line 840) | async def root(): FILE: src/evals/benchmarks/llm_comparison.py function get_sql_tools (line 27) | def get_sql_tools() -> ToolRegistry: function compare_llms (line 37) | async def compare_llms(): function main (line 159) | async def main(): FILE: src/vanna/capabilities/agent_memory/base.py class AgentMemory (line 23) | class AgentMemory(ABC): method save_tool_usage (line 27) | async def save_tool_usage( method save_text_memory (line 40) | async def save_text_memory( method search_similar_usage (line 47) | async def search_similar_usage( method search_text_memories (line 60) | async def search_text_memories( method get_recent_memories (line 72) | async def get_recent_memories( method get_recent_text_memories (line 79) | async def get_recent_text_memories( method delete_by_id (line 86) | async def delete_by_id(self, context: "ToolContext", memory_id: str) -... method delete_text_memory (line 91) | async def delete_text_memory(self, context: "ToolContext", memory_id: ... method clear_memories (line 96) | async def clear_memories( FILE: src/vanna/capabilities/agent_memory/models.py class ToolMemory (line 10) | class ToolMemory(BaseModel): class TextMemory (line 22) | class TextMemory(BaseModel): class ToolMemorySearchResult (line 30) | class ToolMemorySearchResult(BaseModel): class TextMemorySearchResult (line 38) | class TextMemorySearchResult(BaseModel): class MemoryStats (line 46) | class MemoryStats(BaseModel): FILE: src/vanna/capabilities/file_system/base.py class FileSystem (line 16) | class FileSystem(ABC): method list_files (line 20) | async def list_files(self, directory: str, context: "ToolContext") -> ... method read_file (line 25) | async def read_file(self, filename: str, context: "ToolContext") -> str: method write_file (line 30) | async def write_file( method exists (line 41) | async def exists(self, path: str, context: "ToolContext") -> bool: method is_directory (line 46) | async def is_directory(self, path: str, context: "ToolContext") -> bool: method search_files (line 51) | async def search_files( method run_bash (line 63) | async def run_bash( FILE: src/vanna/capabilities/file_system/models.py class FileSearchMatch (line 12) | class FileSearchMatch: class CommandResult (line 20) | class CommandResult: FILE: src/vanna/capabilities/sql_runner/base.py class SqlRunner (line 18) | class SqlRunner(ABC): method run_sql (line 22) | async def run_sql( FILE: src/vanna/capabilities/sql_runner/models.py class RunSqlToolArgs (line 10) | class RunSqlToolArgs(BaseModel): FILE: src/vanna/components/rich/containers/card.py class CardComponent (line 8) | class CardComponent(RichComponent): FILE: src/vanna/components/rich/data/chart.py class ChartComponent (line 8) | class ChartComponent(RichComponent): FILE: src/vanna/components/rich/data/dataframe.py class DataFrameComponent (line 8) | class DataFrameComponent(RichComponent): method __init__ (line 40) | def __init__(self, **kwargs: Any) -> None: method from_records (line 66) | def from_records( FILE: src/vanna/components/rich/feedback/badge.py class BadgeComponent (line 7) | class BadgeComponent(RichComponent): FILE: src/vanna/components/rich/feedback/icon_text.py class IconTextComponent (line 6) | class IconTextComponent(RichComponent): FILE: src/vanna/components/rich/feedback/log_viewer.py class LogEntry (line 10) | class LogEntry(BaseModel): class LogViewerComponent (line 19) | class LogViewerComponent(RichComponent): method add_entry (line 30) | def add_entry( FILE: src/vanna/components/rich/feedback/notification.py class NotificationComponent (line 8) | class NotificationComponent(RichComponent): FILE: src/vanna/components/rich/feedback/progress.py class ProgressBarComponent (line 7) | class ProgressBarComponent(RichComponent): class ProgressDisplayComponent (line 18) | class ProgressDisplayComponent(RichComponent): method update_progress (line 30) | def update_progress( FILE: src/vanna/components/rich/feedback/status_card.py class StatusCardComponent (line 8) | class StatusCardComponent(RichComponent): method set_status (line 21) | def set_status( FILE: src/vanna/components/rich/feedback/status_indicator.py class StatusIndicatorComponent (line 7) | class StatusIndicatorComponent(RichComponent): FILE: src/vanna/components/rich/interactive/button.py class ButtonComponent (line 7) | class ButtonComponent(RichComponent): method __init__ (line 31) | def __init__( class ButtonGroupComponent (line 57) | class ButtonGroupComponent(RichComponent): method __init__ (line 78) | def __init__( FILE: src/vanna/components/rich/interactive/task_list.py class Task (line 10) | class Task(BaseModel): class TaskListComponent (line 23) | class TaskListComponent(RichComponent): method add_task (line 34) | def add_task(self, task: Task) -> "TaskListComponent": method update_task (line 39) | def update_task(self, task_id: str, **updates: Any) -> "TaskListCompon... method complete_task (line 51) | def complete_task(self, task_id: str) -> "TaskListComponent": FILE: src/vanna/components/rich/interactive/ui_state.py class StatusBarUpdateComponent (line 9) | class StatusBarUpdateComponent(RichComponent): method __init__ (line 17) | def __init__(self, **kwargs: Any) -> None: class TaskOperation (line 23) | class TaskOperation(str, Enum): class TaskTrackerUpdateComponent (line 32) | class TaskTrackerUpdateComponent(RichComponent): method __init__ (line 43) | def __init__(self, **kwargs: Any) -> None: method add_task (line 49) | def add_task(cls, task: Task) -> "TaskTrackerUpdateComponent": method update_task (line 54) | def update_task( method remove_task (line 71) | def remove_task(cls, task_id: str) -> "TaskTrackerUpdateComponent": method clear_tasks (line 76) | def clear_tasks(cls) -> "TaskTrackerUpdateComponent": class ChatInputUpdateComponent (line 81) | class ChatInputUpdateComponent(RichComponent): method __init__ (line 90) | def __init__(self, **kwargs: Any) -> None: FILE: src/vanna/components/rich/specialized/artifact.py class ArtifactComponent (line 9) | class ArtifactComponent(RichComponent): FILE: src/vanna/components/rich/text.py class RichTextComponent (line 7) | class RichTextComponent(RichComponent): FILE: src/vanna/components/simple/image.py class SimpleImageComponent (line 8) | class SimpleImageComponent(SimpleComponent): FILE: src/vanna/components/simple/link.py class SimpleLinkComponent (line 8) | class SimpleLinkComponent(SimpleComponent): FILE: src/vanna/components/simple/text.py class SimpleTextComponent (line 7) | class SimpleTextComponent(SimpleComponent): FILE: src/vanna/core/_compat.py class StrEnum (line 13) | class StrEnum(str, Enum): # type: ignore[no-redef] FILE: src/vanna/core/agent/agent.py class Agent (line 56) | class Agent: method __init__ (line 82) | def __init__( method send_message (line 142) | async def send_message( method _send_message (line 231) | async def _send_message( method get_available_tools (line 1156) | async def get_available_tools(self, user: User) -> List[ToolSchema]: method _build_llm_request (line 1160) | async def _build_llm_request( method _send_llm_request (line 1241) | async def _send_llm_request(self, request: LlmRequest) -> LlmResponse: method _handle_streaming_response (line 1315) | async def _handle_streaming_response(self, request: LlmRequest) -> Llm... FILE: src/vanna/core/agent/config.py class UiFeature (line 17) | class UiFeature(StrEnum): class UiFeatures (line 35) | class UiFeatures(BaseModel): method can_user_access_feature (line 49) | def can_user_access_feature(self, feature_name: str, user: "User") -> ... method register_feature (line 75) | def register_feature(self, name: str, access_groups: List[str]) -> None: class AuditConfig (line 85) | class AuditConfig(BaseModel): class AgentConfig (line 113) | class AgentConfig(BaseModel): FILE: src/vanna/core/audit/base.py class AuditLogger (line 27) | class AuditLogger(ABC): method log_event (line 51) | async def log_event(self, event: AuditEvent) -> None: method log_tool_access_check (line 62) | async def log_tool_access_check( method log_tool_invocation (line 95) | async def log_tool_invocation( method log_tool_result (line 133) | async def log_tool_result( method log_ui_feature_access (line 171) | async def log_ui_feature_access( method log_ai_response (line 203) | async def log_ai_response( method query_events (line 243) | async def query_events( method _sanitize_parameters (line 266) | def _sanitize_parameters( FILE: src/vanna/core/audit/models.py class AuditEventType (line 16) | class AuditEventType(StrEnum): class AuditEvent (line 37) | class AuditEvent(BaseModel): class ToolAccessCheckEvent (line 63) | class ToolAccessCheckEvent(AuditEvent): class ToolInvocationEvent (line 73) | class ToolInvocationEvent(AuditEvent): class ToolResultEvent (line 88) | class ToolResultEvent(AuditEvent): class UiFeatureAccessCheckEvent (line 103) | class UiFeatureAccessCheckEvent(AuditEvent): class AiResponseEvent (line 112) | class AiResponseEvent(AuditEvent): FILE: src/vanna/core/component_manager.py class UpdateOperation (line 15) | class UpdateOperation(str, Enum): class Position (line 26) | class Position(BaseModel): class ComponentUpdate (line 34) | class ComponentUpdate(BaseModel): method serialize_for_frontend (line 45) | def serialize_for_frontend(self) -> Dict[str, Any]: class ComponentNode (line 58) | class ComponentNode(BaseModel): method find_child (line 65) | def find_child(self, component_id: str) -> Optional["ComponentNode"]: method remove_child (line 75) | def remove_child(self, component_id: str) -> bool: method get_all_ids (line 85) | def get_all_ids(self) -> Set[str]: class ComponentTree (line 93) | class ComponentTree(BaseModel): method add_component (line 99) | def add_component( method update_component (line 121) | def update_component( method replace_component (line 145) | def replace_component( method remove_component (line 164) | def remove_component(self, component_id: str) -> Optional[ComponentUpd... method get_component (line 184) | def get_component(self, component_id: str) -> Optional[RichComponent]: method _find_parent (line 189) | def _find_parent(self, position: Optional[Position]) -> Optional[Compo... class ComponentManager (line 211) | class ComponentManager: method __init__ (line 214) | def __init__(self) -> None: method emit (line 220) | def emit(self, component: RichComponent) -> Optional[ComponentUpdate]: method update_component (line 249) | def update_component( method replace_component (line 263) | def replace_component( method remove_component (line 278) | def remove_component(self, component_id: str) -> Optional[ComponentUpd... method get_component (line 290) | def get_component(self, component_id: str) -> Optional[RichComponent]: method get_all_components (line 294) | def get_all_components(self) -> List[RichComponent]: method start_batch (line 298) | def start_batch(self) -> str: method end_batch (line 303) | def end_batch(self) -> Optional[str]: method get_updates_since (line 309) | def get_updates_since( method clear_history (line 327) | def clear_history(self) -> None: FILE: src/vanna/core/components.py class UiComponent (line 14) | class UiComponent(BaseModel): method validate_components (line 33) | def validate_components(self) -> "UiComponent": FILE: src/vanna/core/enhancer/base.py class LlmContextEnhancer (line 16) | class LlmContextEnhancer(ABC): method enhance_system_prompt (line 54) | async def enhance_system_prompt( method enhance_user_messages (line 75) | async def enhance_user_messages( FILE: src/vanna/core/enhancer/default.py class DefaultLlmContextEnhancer (line 17) | class DefaultLlmContextEnhancer(LlmContextEnhancer): method __init__ (line 32) | def __init__(self, agent_memory: Optional["AgentMemory"] = None): method enhance_system_prompt (line 41) | async def enhance_system_prompt( method enhance_user_messages (line 103) | async def enhance_user_messages( FILE: src/vanna/core/enricher/base.py class ToolContextEnricher (line 15) | class ToolContextEnricher(ABC): method enrich_context (line 46) | async def enrich_context(self, context: "ToolContext") -> "ToolContext": FILE: src/vanna/core/errors.py class AgentError (line 8) | class AgentError(Exception): class ToolExecutionError (line 14) | class ToolExecutionError(AgentError): class ToolNotFoundError (line 20) | class ToolNotFoundError(AgentError): class PermissionError (line 26) | class PermissionError(AgentError): class ConversationNotFoundError (line 32) | class ConversationNotFoundError(AgentError): class LlmServiceError (line 38) | class LlmServiceError(AgentError): class ValidationError (line 44) | class ValidationError(AgentError): FILE: src/vanna/core/evaluation/base.py class ExpectedOutcome (line 17) | class ExpectedOutcome(BaseModel): class TestCase (line 40) | class TestCase(BaseModel): class AgentResult (line 61) | class AgentResult: method get_final_answer (line 77) | def get_final_answer(self) -> str: method get_tool_names_called (line 92) | def get_tool_names_called(self) -> List[str]: class EvaluationResult (line 97) | class EvaluationResult(BaseModel): class TestCaseResult (line 120) | class TestCaseResult: method overall_passed (line 128) | def overall_passed(self) -> bool: method overall_score (line 132) | def overall_score(self) -> float: class AgentVariant (line 140) | class AgentVariant: class Evaluator (line 157) | class Evaluator(ABC): method name (line 167) | def name(self) -> str: method evaluate (line 172) | async def evaluate( FILE: src/vanna/core/evaluation/dataset.py class EvaluationDataset (line 17) | class EvaluationDataset: method __init__ (line 33) | def __init__(self, name: str, test_cases: List[TestCase], description:... method from_yaml (line 46) | def from_yaml(cls, path: str) -> "EvaluationDataset": method from_json (line 61) | def from_json(cls, path: str) -> "EvaluationDataset": method _from_dict (line 76) | def _from_dict(cls, data: Dict[str, Any]) -> "EvaluationDataset": method _parse_test_case (line 97) | def _parse_test_case(cls, data: Dict[str, Any]) -> TestCase: method save_yaml (line 139) | def save_yaml(self, path: str) -> None: method save_json (line 149) | def save_json(self, path: str) -> None: method _to_dict (line 159) | def _to_dict(self) -> Dict[str, Any]: method _test_case_to_dict (line 173) | def _test_case_to_dict(self, test_case: TestCase) -> Dict[str, Any]: method filter_by_metadata (line 225) | def filter_by_metadata(self, **kwargs: Any) -> "EvaluationDataset": method __len__ (line 246) | def __len__(self) -> int: method __repr__ (line 250) | def __repr__(self) -> str: FILE: src/vanna/core/evaluation/evaluators.py class TrajectoryEvaluator (line 18) | class TrajectoryEvaluator(Evaluator): method name (line 26) | def name(self) -> str: method evaluate (line 29) | async def evaluate( class OutputEvaluator (line 93) | class OutputEvaluator(Evaluator): method name (line 101) | def name(self) -> str: method evaluate (line 104) | async def evaluate( class LLMAsJudgeEvaluator (line 171) | class LLMAsJudgeEvaluator(Evaluator): method __init__ (line 178) | def __init__(self, judge_llm: LlmService, criteria: str): method name (line 189) | def name(self) -> str: method evaluate (line 192) | async def evaluate( method _parse_score (line 265) | def _parse_score(self, judgment: str) -> float: method _parse_passed (line 276) | def _parse_passed(self, judgment: str) -> bool: method _parse_reasoning (line 284) | def _parse_reasoning(self, judgment: str) -> str: class EfficiencyEvaluator (line 292) | class EfficiencyEvaluator(Evaluator): method __init__ (line 298) | def __init__( method name (line 316) | def name(self) -> str: method evaluate (line 319) | async def evaluate( FILE: src/vanna/core/evaluation/report.py class EvaluationReport (line 17) | class EvaluationReport: method pass_rate (line 34) | def pass_rate(self) -> float: method average_score (line 41) | def average_score(self) -> float: method average_time (line 47) | def average_time(self) -> float: method total_tokens (line 53) | def total_tokens(self) -> int: method get_failures (line 57) | def get_failures(self) -> List[TestCaseResult]: method print_summary (line 61) | def print_summary(self) -> None: class ComparisonReport (line 89) | class ComparisonReport: method print_summary (line 106) | def print_summary(self) -> None: method get_best_variant (line 132) | def get_best_variant(self, metric: str = "score") -> str: method save_csv (line 150) | def save_csv(self, path: str) -> None: method save_html (line 194) | def save_html(self, path: str) -> None: method _generate_html (line 206) | def _generate_html(self) -> str: FILE: src/vanna/core/evaluation/runner.py class EvaluationRunner (line 29) | class EvaluationRunner: method __init__ (line 47) | def __init__( method run_evaluation (line 65) | async def run_evaluation( method compare_agents (line 89) | async def compare_agents( method compare_agents_streaming (line 135) | async def compare_agents_streaming( method _run_agent_variant (line 175) | async def _run_agent_variant( method _run_test_cases_parallel (line 214) | async def _run_test_cases_parallel( method _run_single_test_case (line 234) | async def _run_single_test_case( method _execute_agent (line 267) | async def _execute_agent( FILE: src/vanna/core/filter/base.py class ConversationFilter (line 15) | class ConversationFilter(ABC): method filter_messages (line 54) | async def filter_messages(self, messages: List["Message"]) -> List["Me... FILE: src/vanna/core/lifecycle/base.py class LifecycleHook (line 17) | class LifecycleHook(ABC): method before_message (line 39) | async def before_message(self, user: "User", message: str) -> Optional... method after_message (line 54) | async def after_message(self, result: Any) -> None: method before_tool (line 62) | async def before_tool(self, tool: "Tool[Any]", context: "ToolContext")... method after_tool (line 74) | async def after_tool(self, result: "ToolResult") -> Optional["ToolResu... FILE: src/vanna/core/llm/base.py class LlmService (line 13) | class LlmService(ABC): method send_request (line 17) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 22) | async def stream_request( method validate_tools (line 38) | async def validate_tools(self, tools: List[Any]) -> List[str]: FILE: src/vanna/core/llm/models.py class LlmMessage (line 15) | class LlmMessage(BaseModel): class LlmRequest (line 24) | class LlmRequest(BaseModel): class LlmResponse (line 41) | class LlmResponse(BaseModel): method is_tool_call (line 50) | def is_tool_call(self) -> bool: class LlmStreamChunk (line 55) | class LlmStreamChunk(BaseModel): FILE: src/vanna/core/middleware/base.py class LlmMiddleware (line 15) | class LlmMiddleware(ABC): method before_llm_request (line 46) | async def before_llm_request(self, request: "LlmRequest") -> "LlmReque... method after_llm_response (line 57) | async def after_llm_response( FILE: src/vanna/core/observability/base.py class ObservabilityProvider (line 14) | class ObservabilityProvider(ABC): method record_metric (line 48) | async def record_metric( method create_span (line 65) | async def create_span( method end_span (line 82) | async def end_span(self, span: Span) -> None: FILE: src/vanna/core/observability/models.py class Span (line 12) | class Span(BaseModel): method end (line 24) | def end(self) -> None: method duration_ms (line 29) | def duration_ms(self) -> Optional[float]: method set_attribute (line 35) | def set_attribute(self, key: str, value: Any) -> None: class Metric (line 40) | class Metric(BaseModel): FILE: src/vanna/core/recovery/base.py class ErrorRecoveryStrategy (line 18) | class ErrorRecoveryStrategy(ABC): method handle_tool_error (line 50) | async def handle_tool_error( method handle_llm_error (line 68) | async def handle_llm_error( FILE: src/vanna/core/recovery/models.py class RecoveryActionType (line 11) | class RecoveryActionType(str, Enum): class RecoveryAction (line 20) | class RecoveryAction(BaseModel): FILE: src/vanna/core/registry.py class _LocalToolWrapper (line 20) | class _LocalToolWrapper(Tool[T]): method __init__ (line 23) | def __init__(self, wrapped_tool: Tool[T], access_groups: List[str]): method name (line 28) | def name(self) -> str: method description (line 32) | def description(self) -> str: method access_groups (line 36) | def access_groups(self) -> List[str]: method get_args_schema (line 39) | def get_args_schema(self) -> Type[T]: method execute (line 42) | async def execute(self, context: ToolContext, args: T) -> ToolResult: class ToolRegistry (line 46) | class ToolRegistry: method __init__ (line 49) | def __init__( method register_local_tool (line 63) | def register_local_tool(self, tool: Tool[Any], access_groups: List[str... method get_tool (line 82) | async def get_tool(self, name: str) -> Optional[Tool[Any]]: method list_tools (line 86) | async def list_tools(self) -> List[str]: method get_schemas (line 90) | async def get_schemas(self, user: Optional[User] = None) -> List[ToolS... method _validate_tool_permissions (line 98) | async def _validate_tool_permissions(self, tool: Tool[Any], user: User... method transform_args (line 113) | async def transform_args( method execute (line 144) | async def execute( FILE: src/vanna/core/rich_component.py class ComponentType (line 19) | class ComponentType(str, Enum): class ComponentLifecycle (line 63) | class ComponentLifecycle(str, Enum): class RichComponent (line 72) | class RichComponent(BaseModel): method update (line 84) | def update(self: T, **kwargs: Any) -> T: method hide (line 92) | def hide(self: T) -> T: method show (line 96) | def show(self: T) -> T: method serialize_for_frontend (line 100) | def serialize_for_frontend(self) -> Dict[str, Any]: FILE: src/vanna/core/simple_component.py class SimpleComponentType (line 8) | class SimpleComponentType(str, Enum): class SimpleComponent (line 14) | class SimpleComponent(BaseModel): method serialize_for_frontend (line 25) | def serialize_for_frontend(self) -> Dict[str, Any]: FILE: src/vanna/core/storage/base.py class ConversationStore (line 14) | class ConversationStore(ABC): method create_conversation (line 18) | async def create_conversation( method get_conversation (line 25) | async def get_conversation( method update_conversation (line 32) | async def update_conversation(self, conversation: Conversation) -> None: method delete_conversation (line 37) | async def delete_conversation(self, conversation_id: str, user: User) ... method list_conversations (line 42) | async def list_conversations( FILE: src/vanna/core/storage/models.py class Message (line 16) | class Message(BaseModel): class Conversation (line 29) | class Conversation(BaseModel): method add_message (line 43) | def add_message(self, message: Message) -> None: FILE: src/vanna/core/system_prompt/base.py class SystemPromptBuilder (line 15) | class SystemPromptBuilder(ABC): method build_system_prompt (line 23) | async def build_system_prompt( FILE: src/vanna/core/system_prompt/default.py class DefaultSystemPromptBuilder (line 18) | class DefaultSystemPromptBuilder(SystemPromptBuilder): method __init__ (line 26) | def __init__(self, base_prompt: Optional[str] = None): method build_system_prompt (line 34) | async def build_system_prompt( FILE: src/vanna/core/tool/base.py class Tool (line 16) | class Tool(ABC, Generic[T]): method name (line 21) | def name(self) -> str: method description (line 27) | def description(self) -> str: method access_groups (line 32) | def access_groups(self) -> List[str]: method get_args_schema (line 37) | def get_args_schema(self) -> Type[T]: method execute (line 42) | async def execute(self, context: ToolContext, args: T) -> ToolResult: method get_schema (line 54) | def get_schema(self) -> ToolSchema: FILE: src/vanna/core/tool/models.py class ToolCall (line 20) | class ToolCall(BaseModel): class ToolContext (line 28) | class ToolContext(BaseModel): class Config (line 43) | class Config: class ToolResult (line 47) | class ToolResult(BaseModel): class ToolSchema (line 64) | class ToolSchema(BaseModel): class ToolRejection (line 75) | class ToolRejection(BaseModel): FILE: src/vanna/core/user/base.py class UserService (line 13) | class UserService(ABC): method get_user (line 17) | async def get_user(self, user_id: str) -> Optional[User]: method authenticate (line 22) | async def authenticate(self, credentials: Dict[str, Any]) -> Optional[... method has_permission (line 27) | async def has_permission(self, user: User, permission: str) -> bool: FILE: src/vanna/core/user/models.py class User (line 12) | class User(BaseModel): FILE: src/vanna/core/user/request_context.py class RequestContext (line 13) | class RequestContext(BaseModel): method get_cookie (line 43) | def get_cookie(self, name: str, default: Optional[str] = None) -> Opti... method get_header (line 55) | def get_header(self, name: str, default: Optional[str] = None) -> Opti... FILE: src/vanna/core/user/resolver.py class UserResolver (line 14) | class UserResolver(ABC): method resolve_user (line 30) | async def resolve_user(self, request_context: RequestContext) -> User: FILE: src/vanna/core/validation.py function validate_pydantic_models_in_package (line 14) | def validate_pydantic_models_in_package(package_name: str) -> Dict[str, ... function check_models_health (line 113) | def check_models_health() -> bool: FILE: src/vanna/core/workflow/base.py class WorkflowResult (line 32) | class WorkflowResult: class WorkflowHandler (line 74) | class WorkflowHandler(ABC): method try_handle (line 134) | async def try_handle( method get_starter_ui (line 197) | async def get_starter_ui( FILE: src/vanna/core/workflow/default.py class DefaultWorkflowHandler (line 32) | class DefaultWorkflowHandler(WorkflowHandler): method __init__ (line 42) | def __init__(self, welcome_message: Optional[str] = None): method try_handle (line 51) | async def try_handle( method get_starter_ui (line 164) | async def get_starter_ui( method _generate_starter_card (line 194) | def _generate_starter_card( method _generate_admin_starter_card (line 206) | def _generate_admin_starter_card(self, analysis: Dict[str, Any]) -> Ui... method _generate_user_starter_card (line 265) | def _generate_user_starter_card(self, analysis: Dict[str, Any]) -> UiC... method _analyze_setup (line 285) | def _analyze_setup(self, tool_names: List[str]) -> Dict[str, Any]: method _generate_setup_status_cards (line 332) | def _generate_setup_status_cards( method _generate_setup_guidance (line 399) | def _generate_setup_guidance( method _generate_status_check (line 455) | async def _generate_status_check( method _get_recent_memories (line 512) | async def _get_recent_memories( method _delete_memory (line 683) | async def _delete_memory( FILE: src/vanna/examples/__main__.py function main (line 9) | def main() -> None: FILE: src/vanna/examples/anthropic_quickstart.py function ensure_env (line 17) | def ensure_env() -> None: function main (line 35) | async def main() -> None: FILE: src/vanna/examples/artifact_example.py class ArtifactDemoAgent (line 18) | class ArtifactDemoAgent(Agent): method __init__ (line 21) | def __init__(self, llm_service: Optional[LlmService] = None) -> None: method send_message (line 34) | async def send_message( method create_html_artifact (line 63) | async def create_html_artifact(self) -> AsyncGenerator[UiComponent, No... method create_d3_visualization (line 90) | async def create_d3_visualization(self) -> AsyncGenerator[UiComponent,... method create_dashboard_artifact (line 163) | async def create_dashboard_artifact(self) -> AsyncGenerator[UiComponen... function create_demo_agent (line 221) | def create_demo_agent() -> ArtifactDemoAgent: function main (line 230) | async def main() -> None: FILE: src/vanna/examples/claude_sqlite_example.py function ensure_env (line 26) | def ensure_env() -> None: function main (line 44) | async def main() -> None: function create_demo_agent (line 166) | def create_demo_agent() -> "Agent": FILE: src/vanna/examples/coding_agent_example.py class CodingLlmService (line 35) | class CodingLlmService(LlmService): method send_request (line 44) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 49) | async def stream_request( method validate_tools (line 68) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_response (line 72) | def _build_response(self, request: LlmRequest) -> LlmResponse: function create_demo_agent (line 199) | def create_demo_agent() -> Agent: function main (line 232) | async def main() -> None: function _extract_filename (line 288) | def _extract_filename(message: str) -> Optional[str]: FILE: src/vanna/examples/custom_system_prompt_example.py class CustomSystemPromptBuilder (line 17) | class CustomSystemPromptBuilder(SystemPromptBuilder): method build_system_prompt (line 20) | async def build_system_prompt( class SQLAssistantSystemPromptBuilder (line 61) | class SQLAssistantSystemPromptBuilder(SystemPromptBuilder): method __init__ (line 64) | def __init__(self, database_name: str = "database"): method build_system_prompt (line 72) | async def build_system_prompt( function demo (line 107) | async def demo() -> None: FILE: src/vanna/examples/default_workflow_handler_example.py function demonstrate_setup_scenarios (line 26) | async def demonstrate_setup_scenarios(): function main (line 202) | async def main(): FILE: src/vanna/examples/email_auth_example.py class DemoEmailUserService (line 72) | class DemoEmailUserService(UserService): method __init__ (line 75) | def __init__(self): method get_user (line 80) | async def get_user(self, user_id: str) -> Optional[User]: method authenticate (line 84) | async def authenticate(self, credentials: Dict[str, Any]) -> Optional[... method has_permission (line 111) | async def has_permission(self, user: User, permission: str) -> bool: method _is_valid_email (line 115) | def _is_valid_email(self, email: str) -> bool: class AuthArgs (line 121) | class AuthArgs(BaseModel): class AuthTool (line 127) | class AuthTool(Tool[AuthArgs]): method __init__ (line 130) | def __init__(self, user_service: DemoEmailUserService): method name (line 134) | def name(self) -> str: method description (line 138) | def description(self) -> str: method get_args_schema (line 141) | def get_args_schema(self) -> Type[AuthArgs]: method execute (line 144) | async def execute(self, context: ToolContext, args: AuthArgs) -> ToolR... function create_demo_agent (line 194) | def create_demo_agent() -> Agent: function create_auth_agent (line 203) | def create_auth_agent() -> Agent: function demo_auth_flow (line 243) | async def demo_auth_flow(): function main (line 328) | async def main(): function run_interactive (line 333) | def run_interactive(): FILE: src/vanna/examples/evaluation_example.py function create_sample_dataset (line 30) | def create_sample_dataset() -> EvaluationDataset: function create_test_agent (line 78) | def create_test_agent(name: str, response_content: str) -> Agent: function demo_single_agent_evaluation (line 87) | async def demo_single_agent_evaluation(): function demo_agent_comparison (line 127) | async def demo_agent_comparison(): function demo_dataset_operations (line 196) | async def demo_dataset_operations(): function main (line 241) | async def main(): FILE: src/vanna/examples/extensibility_example.py class CachingMiddleware (line 37) | class CachingMiddleware(LlmMiddleware): method __init__ (line 40) | def __init__(self) -> None: method _compute_cache_key (line 45) | def _compute_cache_key(self, request: LlmRequest) -> str: method before_llm_request (line 50) | async def before_llm_request(self, request: LlmRequest) -> LlmRequest: method after_llm_response (line 58) | async def after_llm_response( class ExponentialBackoffStrategy (line 71) | class ExponentialBackoffStrategy(ErrorRecoveryStrategy): method __init__ (line 74) | def __init__(self, max_retries: int = 3) -> None: method handle_tool_error (line 77) | async def handle_tool_error( method handle_llm_error (line 98) | async def handle_llm_error( class UserPreferencesEnricher (line 121) | class UserPreferencesEnricher(ToolContextEnricher): method __init__ (line 124) | def __init__(self) -> None: method enrich_context (line 134) | async def enrich_context(self, context: ToolContext) -> ToolContext: class ContextWindowFilter (line 144) | class ContextWindowFilter(ConversationFilter): method __init__ (line 147) | def __init__(self, max_messages: int = 20) -> None: method filter_messages (line 150) | async def filter_messages(self, messages: List[Message]) -> List[Messa... class LoggingObservabilityProvider (line 168) | class LoggingObservabilityProvider(ObservabilityProvider): method __init__ (line 171) | def __init__(self) -> None: method record_metric (line 175) | async def record_metric( method create_span (line 188) | async def create_span( method end_span (line 196) | async def end_span(self, span: Span) -> None: function run_example (line 204) | async def run_example() -> None: FILE: src/vanna/examples/minimal_example.py function create_demo_agent (line 30) | def create_demo_agent() -> Agent: FILE: src/vanna/examples/mock_auth_example.py class UserEchoMiddleware (line 28) | class UserEchoMiddleware(LlmMiddleware): method after_llm_response (line 31) | async def after_llm_response( function create_demo_agent (line 48) | def create_demo_agent() -> Agent: function demo_authentication (line 81) | async def demo_authentication(): function main (line 215) | async def main(): function run_interactive (line 220) | def run_interactive(): FILE: src/vanna/examples/mock_custom_tool.py class CalculatorArgs (line 52) | class CalculatorArgs(BaseModel): class CalculatorTool (line 62) | class CalculatorTool(Tool[CalculatorArgs]): method name (line 66) | def name(self) -> str: method description (line 70) | def description(self) -> str: method get_args_schema (line 73) | def get_args_schema(self) -> Type[CalculatorArgs]: method execute (line 76) | async def execute(self, context: ToolContext, args: CalculatorArgs) ->... class MockCalculatorLlmService (line 158) | class MockCalculatorLlmService(LlmService): method __init__ (line 161) | def __init__(self, seed: Optional[int] = None): method send_request (line 164) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 169) | async def stream_request( method validate_tools (line 185) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_response (line 189) | def _build_response(self, request: LlmRequest) -> LlmResponse: method _random_operands (line 219) | def _random_operands(self) -> Tuple[str, float, float]: function create_demo_agent (line 237) | def create_demo_agent() -> Agent: function main (line 259) | async def main() -> None: function run_interactive (line 304) | def run_interactive() -> None: FILE: src/vanna/examples/mock_quickstart.py function create_demo_agent (line 25) | def create_demo_agent() -> Agent: function main (line 44) | async def main() -> None: function run_interactive (line 72) | def run_interactive() -> None: FILE: src/vanna/examples/mock_quota_example.py function demonstrate_quota_system (line 28) | async def demonstrate_quota_system() -> None: function main (line 139) | async def main() -> None: FILE: src/vanna/examples/mock_rich_components_demo.py class RichComponentsAgent (line 35) | class RichComponentsAgent(Agent): method send_message (line 38) | async def send_message( function create_rich_demo_agent (line 318) | def create_rich_demo_agent() -> RichComponentsAgent: function main (line 335) | async def main() -> None: function run_interactive (line 389) | def run_interactive() -> None: FILE: src/vanna/examples/mock_sqlite_example.py class MockSqliteLlmService (line 52) | class MockSqliteLlmService(LlmService): method __init__ (line 55) | def __init__(self, seed: Optional[int] = None): method send_request (line 68) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 73) | async def stream_request( method validate_tools (line 89) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_response (line 93) | def _build_response(self, request: LlmRequest) -> LlmResponse: function create_demo_agent (line 126) | def create_demo_agent() -> Agent: function main (line 160) | async def main() -> None: function run_interactive (line 215) | def run_interactive() -> None: FILE: src/vanna/examples/openai_quickstart.py function ensure_env (line 17) | def ensure_env() -> None: function main (line 35) | async def main() -> None: FILE: src/vanna/examples/primitive_components_demo.py class PrimitiveComponentsAgent (line 34) | class PrimitiveComponentsAgent(Agent): method send_message (line 37) | async def send_message( function create_primitive_demo_agent (line 220) | def create_primitive_demo_agent() -> PrimitiveComponentsAgent: function main (line 237) | async def main() -> None: function run_interactive (line 298) | def run_interactive() -> None: FILE: src/vanna/examples/quota_lifecycle_example.py class QuotaExceededError (line 13) | class QuotaExceededError(AgentError): class QuotaCheckHook (line 19) | class QuotaCheckHook(LifecycleHook): method __init__ (line 22) | def __init__(self, default_quota: int = 10) -> None: method set_user_quota (line 32) | def set_user_quota(self, user_id: str, quota: int) -> None: method get_user_quota (line 36) | def get_user_quota(self, user_id: str) -> int: method get_user_usage (line 40) | def get_user_usage(self, user_id: str) -> int: method get_user_remaining (line 44) | def get_user_remaining(self, user_id: str) -> int: method reset_user_usage (line 48) | def reset_user_usage(self, user_id: str) -> None: method before_message (line 52) | async def before_message(self, user: User, message: str) -> Optional[s... class LoggingHook (line 75) | class LoggingHook(LifecycleHook): method before_message (line 78) | async def before_message(self, user: User, message: str) -> Optional[s... method after_message (line 83) | async def after_message(self, result: Any) -> None: function run_example (line 88) | async def run_example() -> None: FILE: src/vanna/examples/visualization_example.py class VisualizationDemoLlmService (line 40) | class VisualizationDemoLlmService(LlmService): method __init__ (line 43) | def __init__(self) -> None: method send_request (line 47) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 52) | async def stream_request( method validate_tools (line 68) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_response (line 72) | def _build_response(self, request: LlmRequest) -> LlmResponse: function create_demo_agent (line 138) | def create_demo_agent() -> Agent: function main (line 188) | async def main() -> None: FILE: src/vanna/integrations/anthropic/llm.py class AnthropicLlmService (line 27) | class AnthropicLlmService(LlmService): method __init__ (line 38) | def __init__( method send_request (line 65) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 92) | async def stream_request( method validate_tools (line 123) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_payload (line 132) | def _build_payload(self, request: LlmRequest) -> Dict[str, Any]: method _parse_message_content (line 226) | def _parse_message_content(self, msg: Any) -> Tuple[str, List[ToolCall]]: FILE: src/vanna/integrations/azureopenai/llm.py function _is_reasoning_model (line 38) | def _is_reasoning_model(model: str) -> bool: class AzureOpenAILlmService (line 44) | class AzureOpenAILlmService(LlmService): method __init__ (line 62) | def __init__( method send_request (line 120) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 152) | async def stream_request( method validate_tools (line 233) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_payload (line 243) | def _build_payload(self, request: LlmRequest) -> Dict[str, Any]: method _extract_tool_calls_from_message (line 305) | def _extract_tool_calls_from_message(self, message: Any) -> List[ToolC... FILE: src/vanna/integrations/azuresearch/agent_memory.py class AzureAISearchAgentMemory (line 40) | class AzureAISearchAgentMemory(AgentMemory): method __init__ (line 43) | def __init__( method _get_index_client (line 65) | def _get_index_client(self): method _get_search_client (line 74) | def _get_search_client(self): method _ensure_index_exists (line 85) | def _ensure_index_exists(self): method _create_embedding (line 133) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 140) | async def save_tool_usage( method search_similar_usage (line 173) | async def search_similar_usage( method get_recent_memories (line 227) | async def get_recent_memories( method delete_by_id (line 261) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 275) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 298) | async def search_text_memories( method get_recent_text_memories (line 336) | async def get_recent_text_memories( method delete_text_memory (line 367) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 381) | async def clear_memories( FILE: src/vanna/integrations/bigquery/sql_runner.py class BigQueryRunner (line 10) | class BigQueryRunner(SqlRunner): method __init__ (line 13) | def __init__(self, project_id: str, cred_file_path: Optional[str] = No... method _get_client (line 38) | def _get_client(self): method run_sql (line 62) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/chromadb/__init__.py function get_device (line 8) | def get_device() -> str: function create_sentence_transformer_embedding_function (line 49) | def create_sentence_transformer_embedding_function( FILE: src/vanna/integrations/chromadb/agent_memory.py class NotFoundError (line 23) | class NotFoundError(Exception): class ChromaAgentMemory (line 42) | class ChromaAgentMemory(AgentMemory): method __init__ (line 102) | def __init__( method _get_client (line 120) | def _get_client(self): method _get_embedding_function (line 129) | def _get_embedding_function(self): method _get_collection (line 141) | def _get_collection(self): method _create_memory_id (line 160) | def _create_memory_id(self) -> str: method save_tool_usage (line 166) | async def save_tool_usage( method search_similar_usage (line 201) | async def search_similar_usage( method get_recent_memories (line 267) | async def get_recent_memories( method delete_by_id (line 315) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 333) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 356) | async def search_text_memories( method get_recent_text_memories (line 405) | async def get_recent_text_memories( method delete_text_memory (line 435) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 452) | async def clear_memories( FILE: src/vanna/integrations/clickhouse/sql_runner.py class ClickHouseRunner (line 10) | class ClickHouseRunner(SqlRunner): method __init__ (line 13) | def __init__( method run_sql (line 49) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/duckdb/sql_runner.py class DuckDBRunner (line 10) | class DuckDBRunner(SqlRunner): method __init__ (line 13) | def __init__( method _get_connection (line 39) | def _get_connection(self): method run_sql (line 47) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/faiss/agent_memory.py class FAISSAgentMemory (line 34) | class FAISSAgentMemory(AgentMemory): method __init__ (line 37) | def __init__( method _load_index (line 58) | def _load_index(self): method _save_index (line 77) | def _save_index(self): method _create_embedding (line 86) | def _create_embedding(self, text: str) -> np.ndarray: method save_tool_usage (line 104) | async def save_tool_usage( method search_similar_usage (line 139) | async def search_similar_usage( method get_recent_memories (line 207) | async def get_recent_memories( method delete_by_id (line 242) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 262) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 288) | async def search_text_memories( method get_recent_text_memories (line 346) | async def get_recent_text_memories( method delete_text_memory (line 377) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 397) | async def clear_memories( FILE: src/vanna/integrations/google/gemini.py class GeminiLlmService (line 27) | class GeminiLlmService(LlmService): method __init__ (line 39) | def __init__( method send_request (line 76) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 125) | async def stream_request( method validate_tools (line 175) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_payload (line 186) | def _build_payload(self, request: LlmRequest) -> tuple[List[Any], Any]: method _parse_response (line 292) | def _parse_response(self, response: Any) -> tuple[str, List[ToolCall]]: method _parse_response_chunk (line 328) | def _parse_response_chunk(self, chunk: Any) -> tuple[str, List[ToolCal... method _clean_schema_for_gemini (line 332) | def _clean_schema_for_gemini(self, schema: Dict[str, Any]) -> Dict[str... FILE: src/vanna/integrations/hive/sql_runner.py class HiveRunner (line 10) | class HiveRunner(SqlRunner): method __init__ (line 13) | def __init__( method run_sql (line 51) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/local/agent_memory/in_memory.py class DemoAgentMemory (line 28) | class DemoAgentMemory(AgentMemory): method __init__ (line 37) | def __init__(self, *, max_items: int = 10_000): method _now_iso (line 51) | def _now_iso() -> str: method _normalize (line 56) | def _normalize(text: str) -> str: method _tokenize (line 61) | def _tokenize(text: str) -> set[str]: method _similarity (line 66) | def _similarity(cls, a: str, b: str) -> float: method save_tool_usage (line 89) | async def save_tool_usage( method save_text_memory (line 115) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_similar_usage (line 127) | async def search_similar_usage( method search_text_memories (line 166) | async def search_text_memories( method get_recent_memories (line 199) | async def get_recent_memories( method get_recent_text_memories (line 207) | async def get_recent_text_memories( method delete_text_memory (line 214) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method delete_by_id (line 223) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method clear_memories (line 232) | async def clear_memories( FILE: src/vanna/integrations/local/audit.py class LoggingAuditLogger (line 17) | class LoggingAuditLogger(AuditLogger): method __init__ (line 31) | def __init__(self, log_level: int = logging.INFO): method log_event (line 39) | async def log_event(self, event: AuditEvent) -> None: FILE: src/vanna/integrations/local/file_system.py class LocalFileSystem (line 18) | class LocalFileSystem(FileSystem): method __init__ (line 21) | def __init__(self, working_directory: str = "."): method _get_user_directory (line 29) | def _get_user_directory(self, context: ToolContext) -> Path: method _resolve_path (line 47) | def _resolve_path(self, path: str, context: ToolContext) -> Path: method list_files (line 70) | async def list_files(self, directory: str, context: ToolContext) -> Li... method read_file (line 87) | async def read_file(self, filename: str, context: ToolContext) -> str: method write_file (line 99) | async def write_file( method exists (line 115) | async def exists(self, path: str, context: ToolContext) -> bool: method is_directory (line 123) | async def is_directory(self, path: str, context: ToolContext) -> bool: method search_files (line 131) | async def search_files( method run_bash (line 207) | async def run_bash( FILE: src/vanna/integrations/local/file_system_conversation_store.py class FileSystemConversationStore (line 19) | class FileSystemConversationStore(ConversationStore): method __init__ (line 29) | def __init__(self, base_dir: str = "conversations") -> None: method _get_conversation_dir (line 38) | def _get_conversation_dir(self, conversation_id: str) -> Path: method _get_metadata_path (line 42) | def _get_metadata_path(self, conversation_id: str) -> Path: method _get_messages_dir (line 46) | def _get_messages_dir(self, conversation_id: str) -> Path: method _save_metadata (line 50) | def _save_metadata(self, conversation: Conversation) -> None: method _load_messages (line 66) | def _load_messages(self, conversation_id: str) -> List[Message]: method _append_message (line 89) | def _append_message( method create_conversation (line 104) | async def create_conversation( method get_conversation (line 122) | async def get_conversation( method update_conversation (line 157) | async def update_conversation(self, conversation: Conversation) -> None: method delete_conversation (line 175) | async def delete_conversation(self, conversation_id: str, user: User) ... method list_conversations (line 208) | async def list_conversations( FILE: src/vanna/integrations/local/storage.py class MemoryConversationStore (line 14) | class MemoryConversationStore(ConversationStore): method __init__ (line 17) | def __init__(self) -> None: method create_conversation (line 20) | async def create_conversation( method get_conversation (line 32) | async def get_conversation( method update_conversation (line 41) | async def update_conversation(self, conversation: Conversation) -> None: method delete_conversation (line 45) | async def delete_conversation(self, conversation_id: str, user: User) ... method list_conversations (line 53) | async def list_conversations( FILE: src/vanna/integrations/marqo/agent_memory.py class MarqoAgentMemory (line 31) | class MarqoAgentMemory(AgentMemory): method __init__ (line 34) | def __init__( method _get_client (line 51) | def _get_client(self): method save_tool_usage (line 64) | async def save_tool_usage( method search_similar_usage (line 97) | async def search_similar_usage( method get_recent_memories (line 149) | async def get_recent_memories( method delete_by_id (line 184) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 198) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 222) | async def search_text_memories( method get_recent_text_memories (line 262) | async def get_recent_text_memories( method delete_text_memory (line 292) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 306) | async def clear_memories( FILE: src/vanna/integrations/milvus/agent_memory.py class MilvusAgentMemory (line 38) | class MilvusAgentMemory(AgentMemory): method __init__ (line 41) | def __init__( method _get_collection (line 62) | def _get_collection(self): method _create_embedding (line 120) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 127) | async def save_tool_usage( method search_similar_usage (line 161) | async def search_similar_usage( method get_recent_memories (line 234) | async def get_recent_memories( method delete_by_id (line 284) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 299) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 327) | async def search_text_memories( method get_recent_text_memories (line 382) | async def get_recent_text_memories( method delete_text_memory (line 417) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 432) | async def clear_memories( FILE: src/vanna/integrations/mock/llm.py class MockLlmService (line 15) | class MockLlmService(LlmService): method __init__ (line 18) | def __init__(self, response_content: str = "Hello! This is a mock resp... method send_request (line 22) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 36) | async def stream_request( method validate_tools (line 54) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method set_response (line 59) | def set_response(self, content: str) -> None: method reset_call_count (line 63) | def reset_call_count(self) -> None: FILE: src/vanna/integrations/mssql/sql_runner.py class MSSQLRunner (line 10) | class MSSQLRunner(SqlRunner): method __init__ (line 13) | def __init__(self, odbc_conn_str: str, **kwargs): method run_sql (line 50) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/mysql/sql_runner.py class MySQLRunner (line 10) | class MySQLRunner(SqlRunner): method __init__ (line 13) | def __init__( method run_sql (line 48) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/ollama/llm.py class OllamaLlmService (line 24) | class OllamaLlmService(LlmService): method __init__ (line 36) | def __init__( method send_request (line 65) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 98) | async def stream_request( method validate_tools (line 144) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_payload (line 156) | def _build_payload(self, request: LlmRequest) -> Dict[str, Any]: method _extract_tool_calls_from_message (line 216) | def _extract_tool_calls_from_message( FILE: src/vanna/integrations/openai/llm.py class OpenAILlmService (line 27) | class OpenAILlmService(LlmService): method __init__ (line 38) | def __init__( method send_request (line 68) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 100) | async def stream_request( method validate_tools (line 180) | async def validate_tools(self, tools: List[ToolSchema]) -> List[str]: method _build_payload (line 190) | def _build_payload(self, request: LlmRequest) -> Dict[str, Any]: method _extract_tool_calls_from_message (line 244) | def _extract_tool_calls_from_message(self, message: Any) -> List[ToolC... FILE: src/vanna/integrations/openai/responses.py class OpenAIResponsesService (line 14) | class OpenAIResponsesService(LlmService): method __init__ (line 15) | def __init__( method send_request (line 29) | async def send_request(self, request: LlmRequest) -> LlmResponse: method stream_request (line 42) | async def stream_request( method validate_tools (line 60) | async def validate_tools(self, tools: List[Any]) -> List[str]: method _payload (line 65) | def _payload(self, request: LlmRequest) -> Dict[str, Any]: method _debug_print (line 76) | def _debug_print(self, label: str, obj: Any) -> None: method _extract (line 86) | def _extract( method _serialize_tool (line 125) | def _serialize_tool(self, tool: Any) -> Dict[str, Any]: FILE: src/vanna/integrations/opensearch/agent_memory.py class OpenSearchAgentMemory (line 31) | class OpenSearchAgentMemory(AgentMemory): method __init__ (line 34) | def __init__( method _get_client (line 57) | def _get_client(self): method _create_embedding (line 99) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 106) | async def save_tool_usage( method search_similar_usage (line 141) | async def search_similar_usage( method get_recent_memories (line 205) | async def get_recent_memories( method delete_by_id (line 242) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 256) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 282) | async def search_text_memories( method get_recent_text_memories (line 335) | async def get_recent_text_memories( method delete_text_memory (line 368) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 382) | async def clear_memories( FILE: src/vanna/integrations/oracle/sql_runner.py class OracleRunner (line 10) | class OracleRunner(SqlRunner): method __init__ (line 13) | def __init__(self, user: str, password: str, dsn: str, **kwargs): method run_sql (line 36) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/pinecone/agent_memory.py class PineconeAgentMemory (line 31) | class PineconeAgentMemory(AgentMemory): method __init__ (line 34) | def __init__( method _get_client (line 56) | def _get_client(self): method _get_index (line 62) | def _get_index(self): method _create_embedding (line 79) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 87) | async def save_tool_usage( method search_similar_usage (line 119) | async def search_similar_usage( method get_recent_memories (line 174) | async def get_recent_memories( method delete_by_id (line 192) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 206) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 228) | async def search_text_memories( method get_recent_text_memories (line 272) | async def get_recent_text_memories( method delete_text_memory (line 287) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 301) | async def clear_memories( FILE: src/vanna/integrations/plotly/chart_generator.py class PlotlyChartGenerator (line 11) | class PlotlyChartGenerator: method generate_chart (line 26) | def generate_chart(self, df: pd.DataFrame, title: str = "Chart") -> Di... method _apply_standard_layout (line 105) | def _apply_standard_layout(self, fig: go.Figure) -> go.Figure: method _create_histogram (line 126) | def _create_histogram(self, df: pd.DataFrame, column: str, title: str)... method _create_bar_chart (line 138) | def _create_bar_chart( method _create_scatter_plot (line 155) | def _create_scatter_plot( method _create_correlation_heatmap (line 170) | def _create_correlation_heatmap( method _create_time_series_chart (line 197) | def _create_time_series_chart( method _create_grouped_bar_chart (line 224) | def _create_grouped_bar_chart( method _create_generic_chart (line 257) | def _create_generic_chart( method _create_table (line 278) | def _create_table(self, df: pd.DataFrame, title: str) -> go.Figure: FILE: src/vanna/integrations/postgres/sql_runner.py class PostgresRunner (line 10) | class PostgresRunner(SqlRunner): method __init__ (line 13) | def __init__( method run_sql (line 65) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/premium/agent_memory/premium.py class CloudAgentMemory (line 23) | class CloudAgentMemory(AgentMemory): method __init__ (line 26) | def __init__( method _get_headers (line 37) | def _get_headers(self) -> Dict[str, str]: method save_tool_usage (line 46) | async def save_tool_usage( method search_similar_usage (line 73) | async def search_similar_usage( method get_recent_memories (line 110) | async def get_recent_memories( method delete_by_id (line 130) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 142) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 146) | async def search_text_memories( method get_recent_text_memories (line 157) | async def get_recent_text_memories( method delete_text_memory (line 163) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 167) | async def clear_memories( FILE: src/vanna/integrations/presto/sql_runner.py class PrestoRunner (line 10) | class PrestoRunner(SqlRunner): method __init__ (line 13) | def __init__( method run_sql (line 64) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/qdrant/agent_memory.py class QdrantAgentMemory (line 39) | class QdrantAgentMemory(AgentMemory): method __init__ (line 42) | def __init__( method _get_client (line 63) | def _get_client(self): method _create_embedding (line 82) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 89) | async def save_tool_usage( method search_similar_usage (line 122) | async def search_similar_usage( method get_recent_memories (line 194) | async def get_recent_memories( method delete_by_id (line 240) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 267) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 291) | async def search_text_memories( method get_recent_text_memories (line 351) | async def get_recent_text_memories( method delete_text_memory (line 395) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 422) | async def clear_memories( FILE: src/vanna/integrations/snowflake/sql_runner.py class SnowflakeRunner (line 11) | class SnowflakeRunner(SqlRunner): method __init__ (line 14) | def __init__( method run_sql (line 77) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/sqlite/sql_runner.py class SqliteRunner (line 10) | class SqliteRunner(SqlRunner): method __init__ (line 13) | def __init__(self, database_path: str): method run_sql (line 21) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... FILE: src/vanna/integrations/weaviate/agent_memory.py class WeaviateAgentMemory (line 36) | class WeaviateAgentMemory(AgentMemory): method __init__ (line 39) | def __init__( method _get_client (line 58) | def _get_client(self): method _create_embedding (line 88) | def _create_embedding(self, text: str) -> List[float]: method save_tool_usage (line 95) | async def save_tool_usage( method search_similar_usage (line 129) | async def search_similar_usage( method get_recent_memories (line 191) | async def get_recent_memories( method delete_by_id (line 234) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method save_text_memory (line 249) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 277) | async def search_text_memories( method get_recent_text_memories (line 328) | async def get_recent_text_memories( method delete_text_memory (line 371) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 386) | async def clear_memories( FILE: src/vanna/legacy/ZhipuAI/ZhipuAI_Chat.py class ZhipuAI_Chat (line 10) | class ZhipuAI_Chat(VannaBase): method __init__ (line 11) | def __init__(self, config=None): method system_message (line 23) | def system_message(message: str) -> dict: method user_message (line 27) | def user_message(message: str) -> dict: method assistant_message (line 31) | def assistant_message(message: str) -> dict: method str_to_approx_token_count (line 35) | def str_to_approx_token_count(string: str) -> int: method add_ddl_to_prompt (line 39) | def add_ddl_to_prompt( method add_documentation_to_prompt (line 56) | def add_documentation_to_prompt( method add_sql_to_prompt (line 73) | def add_sql_to_prompt( method get_sql_prompt (line 89) | def get_sql_prompt( method get_followup_questions_prompt (line 121) | def get_followup_questions_prompt( method generate_question (line 153) | def generate_question(self, sql: str, **kwargs) -> str: method _extract_python_code (line 166) | def _extract_python_code(self, markdown_string: str) -> str: method _sanitize_plotly_code (line 184) | def _sanitize_plotly_code(self, raw_plotly_code: str) -> str: method generate_plotly_code (line 190) | def generate_plotly_code( method submit_prompt (line 214) | def submit_prompt( FILE: src/vanna/legacy/ZhipuAI/ZhipuAI_embeddings.py class ZhipuAI_Embeddings (line 7) | class ZhipuAI_Embeddings(VannaBase): method __init__ (line 15) | def __init__(self, config=None): method generate_embedding (line 22) | def generate_embedding(self, data: str, **kwargs) -> List[float]: class ZhipuAIEmbeddingFunction (line 31) | class ZhipuAIEmbeddingFunction(EmbeddingFunction[Documents]): method __init__ (line 48) | def __init__(self, config=None): method __call__ (line 60) | def __call__(self, input: Documents) -> Embeddings: FILE: src/vanna/legacy/__init__.py function error_deprecation (line 47) | def error_deprecation(): function __unauthenticated_rpc_call (line 60) | def __unauthenticated_rpc_call(method, params): function __dataclass_to_dict (line 72) | def __dataclass_to_dict(obj): function get_api_key (line 76) | def get_api_key(email: str, otp_code: Union[str, None] = None) -> str: function set_api_key (line 134) | def set_api_key(key: str) -> None: function get_models (line 138) | def get_models() -> List[str]: function create_model (line 142) | def create_model(model: str, db_type: str) -> bool: function add_user_to_model (line 146) | def add_user_to_model(model: str, email: str, is_admin: bool) -> bool: function update_model_visibility (line 150) | def update_model_visibility(public: bool) -> bool: function set_model (line 154) | def set_model(model: str): function add_sql (line 158) | def add_sql( function add_ddl (line 164) | def add_ddl(ddl: str) -> bool: function add_documentation (line 168) | def add_documentation(documentation: str) -> bool: class TrainingPlanItem (line 173) | class TrainingPlanItem: method __str__ (line 179) | def __str__(self): class TrainingPlan (line 192) | class TrainingPlan: method __init__ (line 207) | def __init__(self, plan: List[TrainingPlanItem]): method __str__ (line 210) | def __str__(self): method __repr__ (line 213) | def __repr__(self): method get_summary (line 216) | def get_summary(self) -> List[str]: method remove_item (line 233) | def remove_item(self, item: str): function get_training_plan_postgres (line 253) | def get_training_plan_postgres( function get_training_plan_generic (line 262) | def get_training_plan_generic(df) -> TrainingPlan: function get_training_plan_experimental (line 266) | def get_training_plan_experimental( function train (line 275) | def train( function flag_sql_for_review (line 287) | def flag_sql_for_review( function remove_sql (line 293) | def remove_sql(question: str) -> bool: function remove_training_data (line 297) | def remove_training_data(id: str) -> bool: function generate_sql (line 301) | def generate_sql(question: str) -> str: function get_related_training_data (line 305) | def get_related_training_data(question: str) -> TrainingData: function generate_meta (line 309) | def generate_meta(question: str) -> str: function generate_followup_questions (line 313) | def generate_followup_questions(question: str, df: pd.DataFrame) -> List... function generate_questions (line 317) | def generate_questions() -> List[str]: function ask (line 321) | def ask( function generate_plotly_code (line 338) | def generate_plotly_code( function get_plotly_figure (line 347) | def get_plotly_figure( function get_results (line 353) | def get_results(cs, default_database: str, sql: str) -> pd.DataFrame: function generate_explanation (line 357) | def generate_explanation(sql: str) -> str: function generate_question (line 361) | def generate_question(sql: str) -> str: function get_all_questions (line 365) | def get_all_questions() -> pd.DataFrame: function get_training_data (line 369) | def get_training_data() -> pd.DataFrame: function connect_to_sqlite (line 373) | def connect_to_sqlite(url: str): function connect_to_snowflake (line 377) | def connect_to_snowflake( function connect_to_postgres (line 388) | def connect_to_postgres( function connect_to_bigquery (line 398) | def connect_to_bigquery(cred_file_path: str = None, project_id: str = No... function connect_to_duckdb (line 402) | def connect_to_duckdb(url: str = "memory", init_sql: str = None): FILE: src/vanna/legacy/adapter.py class LegacySqlRunner (line 32) | class LegacySqlRunner(SqlRunner): method __init__ (line 40) | def __init__(self, vn: VannaBase): method run_sql (line 48) | async def run_sql(self, args: RunSqlToolArgs, context: ToolContext) ->... class LegacyVannaAdapter (line 66) | class LegacyVannaAdapter(ToolRegistry, AgentMemory): method __init__ (line 97) | def __init__( method _register_tools (line 116) | def _register_tools(self) -> None: method save_tool_usage (line 142) | async def save_tool_usage( method search_similar_usage (line 169) | async def search_similar_usage( method save_text_memory (line 221) | async def save_text_memory(self, content: str, context: ToolContext) -... method search_text_memories (line 241) | async def search_text_memories( method get_recent_memories (line 300) | async def get_recent_memories( method get_recent_text_memories (line 335) | async def get_recent_text_memories( method delete_by_id (line 378) | async def delete_by_id(self, context: ToolContext, memory_id: str) -> ... method delete_text_memory (line 392) | async def delete_text_memory(self, context: ToolContext, memory_id: st... method clear_memories (line 406) | async def clear_memories( FILE: src/vanna/legacy/advanced/__init__.py class VannaAdvanced (line 4) | class VannaAdvanced(ABC): method __init__ (line 5) | def __init__(self, config=None): method get_function (line 9) | def get_function(self, question: str, additional_data: dict = {}) -> d... method create_function (line 13) | def create_function( method update_function (line 19) | def update_function(self, old_function_name: str, updated_function: di... method delete_function (line 23) | def delete_function(self, function_name: str) -> bool: method get_all_functions (line 27) | def get_all_functions(self) -> list: FILE: src/vanna/legacy/anthropic/anthropic_chat.py class Anthropic_Chat (line 8) | class Anthropic_Chat(VannaBase): method __init__ (line 9) | def __init__(self, client=None, config=None): method system_message (line 33) | def system_message(self, message: str) -> any: method user_message (line 36) | def user_message(self, message: str) -> any: method assistant_message (line 39) | def assistant_message(self, message: str) -> any: method submit_prompt (line 42) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/azuresearch/azuresearch_vector.py class AzureAISearch_VectorStore (line 28) | class AzureAISearch_VectorStore(VannaBase): method __init__ (line 48) | def __init__(self, config=None): method _create_index (line 93) | def _create_index(self) -> bool: method _get_indexes (line 143) | def _get_indexes(self) -> list: method add_ddl (line 146) | def add_ddl(self, ddl: str) -> str: method add_documentation (line 157) | def add_documentation(self, doc: str) -> str: method add_question_sql (line 168) | def add_question_sql(self, question: str, sql: str) -> str: method get_related_ddl (line 182) | def get_related_ddl(self, text: str) -> List[str]: method get_related_documentation (line 200) | def get_related_documentation(self, text: str) -> List[str]: method get_similar_question_sql (line 220) | def get_similar_question_sql(self, question: str) -> List[str]: method get_training_data (line 240) | def get_training_data(self) -> List[str]: method remove_training_data (line 264) | def remove_training_data(self, id: str) -> bool: method remove_index (line 268) | def remove_index(self): method generate_embedding (line 271) | def generate_embedding(self, data: str, **kwargs) -> List[float]: FILE: src/vanna/legacy/base/base.py class VannaBase (line 72) | class VannaBase(ABC): method __init__ (line 73) | def __init__(self, config=None): method log (line 84) | def log(self, message: str, title: str = "Info"): method _response_language (line 87) | def _response_language(self) -> str: method generate_sql (line 93) | def generate_sql(self, question: str, allow_llm_to_see_data=False, **k... method extract_sql (line 170) | def extract_sql(self, llm_response: str) -> str: method is_sql_valid (line 238) | def is_sql_valid(self, sql: str) -> bool: method should_generate_chart (line 262) | def should_generate_chart(self, df: pd.DataFrame) -> bool: method generate_rewritten_question (line 284) | def generate_rewritten_question( method generate_followup_questions (line 320) | def generate_followup_questions( method generate_questions (line 356) | def generate_questions(self, **kwargs) -> List[str]: method generate_summary (line 369) | def generate_summary(self, question: str, df: pd.DataFrame, **kwargs) ... method generate_embedding (line 402) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method get_similar_question_sql (line 407) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 420) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 433) | def get_related_documentation(self, question: str, **kwargs) -> list: method add_question_sql (line 446) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 460) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 473) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 486) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 501) | def remove_training_data(self, id: str, **kwargs) -> bool: method system_message (line 521) | def system_message(self, message: str) -> any: method user_message (line 525) | def user_message(self, message: str) -> any: method assistant_message (line 529) | def assistant_message(self, message: str) -> any: method str_to_approx_token_count (line 532) | def str_to_approx_token_count(self, string: str) -> int: method add_ddl_to_prompt (line 535) | def add_ddl_to_prompt( method add_documentation_to_prompt (line 551) | def add_documentation_to_prompt( method add_sql_to_prompt (line 570) | def add_sql_to_prompt( method get_sql_prompt (line 586) | def get_sql_prompt( method get_followup_questions_prompt (line 660) | def get_followup_questions_prompt( method submit_prompt (line 692) | def submit_prompt(self, prompt, **kwargs) -> str: method generate_question (line 714) | def generate_question(self, sql: str, **kwargs) -> str: method _extract_python_code (line 727) | def _extract_python_code(self, markdown_string: str) -> str: method _sanitize_plotly_code (line 748) | def _sanitize_plotly_code(self, raw_plotly_code: str) -> str: method generate_plotly_code (line 754) | def generate_plotly_code( method connect_to_snowflake (line 780) | def connect_to_snowflake( method connect_to_sqlite (line 862) | def connect_to_sqlite(self, url: str, check_same_thread: bool = False,... method connect_to_postgres (line 896) | def connect_to_postgres( method connect_to_mysql (line 1026) | def connect_to_mysql( method connect_to_clickhouse (line 1113) | def connect_to_clickhouse( method connect_to_oracle (line 1191) | def connect_to_oracle( method connect_to_bigquery (line 1275) | def connect_to_bigquery( method connect_to_duckdb (line 1358) | def connect_to_duckdb(self, url: str, init_sql: str = None, **kwargs): method connect_to_mssql (line 1407) | def connect_to_mssql(self, odbc_conn_str: str, **kwargs): method connect_to_presto (line 1455) | def connect_to_presto( method connect_to_hive (line 1574) | def connect_to_hive( method run_sql (line 1673) | def run_sql(self, sql: str, **kwargs) -> pd.DataFrame: method ask (line 1692) | def ask( method train (line 1807) | def train( method _get_databases (line 1862) | def _get_databases(self) -> List[str]: method _get_information_schema_tables (line 1877) | def _get_information_schema_tables(self, database: str) -> pd.DataFrame: method get_training_plan_generic (line 1882) | def get_training_plan_generic(self, df) -> TrainingPlan: method get_training_plan_snowflake (line 1942) | def get_training_plan_snowflake( method get_plotly_figure (line 2072) | def get_plotly_figure( FILE: src/vanna/legacy/bedrock/bedrock_converse.py class Bedrock_Converse (line 10) | class Bedrock_Converse(VannaBase): method __init__ (line 11) | def __init__(self, client=None, config=None): method system_message (line 41) | def system_message(self, message: str) -> dict: method user_message (line 44) | def user_message(self, message: str) -> dict: method assistant_message (line 47) | def assistant_message(self, message: str) -> dict: method submit_prompt (line 50) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/chromadb/chromadb_vector.py class ChromaDB_VectorStore (line 15) | class ChromaDB_VectorStore(VannaBase): method __init__ (line 16) | def __init__(self, config=None): method generate_embedding (line 61) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method add_question_sql (line 67) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 84) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 93) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 102) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 167) | def remove_training_data(self, id: str, **kwargs) -> bool: method remove_collection (line 180) | def remove_collection(self, collection_name: str) -> bool: method _extract_documents (line 212) | def _extract_documents(query_results) -> list: method get_similar_question_sql (line 237) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 245) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 253) | def get_related_documentation(self, question: str, **kwargs) -> list: FILE: src/vanna/legacy/cohere/cohere_chat.py class Cohere_Chat (line 8) | class Cohere_Chat(VannaBase): method __init__ (line 9) | def __init__(self, client=None, config=None): method system_message (line 45) | def system_message(self, message: str) -> any: method user_message (line 51) | def user_message(self, message: str) -> any: method assistant_message (line 54) | def assistant_message(self, message: str) -> any: method submit_prompt (line 57) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/cohere/cohere_embeddings.py class Cohere_Embeddings (line 8) | class Cohere_Embeddings(VannaBase): method __init__ (line 9) | def __init__(self, client=None, config=None): method generate_embedding (line 41) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/deepseek/deepseek_chat.py class DeepSeekChat (line 18) | class DeepSeekChat(VannaBase): method __init__ (line 19) | def __init__(self, config=None): method system_message (line 35) | def system_message(self, message: str) -> any: method user_message (line 38) | def user_message(self, message: str) -> any: method assistant_message (line 41) | def assistant_message(self, message: str) -> any: method generate_sql (line 44) | def generate_sql(self, question: str, **kwargs) -> str: method submit_prompt (line 53) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/exceptions/__init__.py class ImproperlyConfigured (line 1) | class ImproperlyConfigured(Exception): class DependencyError (line 7) | class DependencyError(Exception): class ConnectionError (line 13) | class ConnectionError(Exception): class OTPCodeError (line 19) | class OTPCodeError(Exception): class SQLRemoveError (line 25) | class SQLRemoveError(Exception): class ExecutionError (line 31) | class ExecutionError(Exception): class ValidationError (line 37) | class ValidationError(Exception): class APIError (line 43) | class APIError(Exception): FILE: src/vanna/legacy/faiss/faiss.py class FAISS (line 14) | class FAISS(VannaBase): method __init__ (line 15) | def __init__(self, config=None): method _load_or_create_index (line 78) | def _load_or_create_index(self, filename): method _load_or_create_metadata (line 84) | def _load_or_create_metadata(self, filename): method _save_index (line 91) | def _save_index(self, index, filename): method _save_metadata (line 96) | def _save_metadata(self, metadata, filename): method generate_embedding (line 102) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method _add_to_index (line 109) | def _add_to_index(self, index, metadata_list, text, extra_metadata=Non... method add_question_sql (line 116) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 127) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 135) | def add_documentation(self, documentation: str, **kwargs) -> str: method _get_similar (line 146) | def _get_similar(self, index, metadata_list, text, n_results) -> list: method get_similar_question_sql (line 153) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 158) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 166) | def get_related_documentation(self, question: str, **kwargs) -> list: method get_training_data (line 177) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 189) | def remove_training_data(self, id: str, **kwargs) -> bool: method remove_collection (line 215) | def remove_collection(self, collection_name: str) -> bool: FILE: src/vanna/legacy/flask/__init__.py class Cache (line 21) | class Cache(ABC): method generate_id (line 27) | def generate_id(self, *args, **kwargs): method get (line 34) | def get(self, id, field): method get_all (line 41) | def get_all(self, field_list) -> list: method set (line 48) | def set(self, id, field, value): method delete (line 55) | def delete(self, id): class MemoryCache (line 62) | class MemoryCache(Cache): method __init__ (line 63) | def __init__(self): method generate_id (line 66) | def generate_id(self, *args, **kwargs): method set (line 69) | def set(self, id, field, value): method get (line 75) | def get(self, id, field): method get_all (line 84) | def get_all(self, field_list) -> list: method delete (line 90) | def delete(self, id): class VannaFlaskAPI (line 95) | class VannaFlaskAPI: method requires_cache (line 98) | def requires_cache(self, required_fields, optional_fields=[]): method requires_auth (line 130) | def requires_auth(self, f): method __init__ (line 145) | def __init__( method run (line 1176) | def run(self, *args, **kwargs): class VannaFlaskApp (line 1208) | class VannaFlaskApp(VannaFlaskAPI): method __init__ (line 1209) | def __init__( FILE: src/vanna/legacy/flask/auth.py class AuthInterface (line 6) | class AuthInterface(ABC): method get_user (line 8) | def get_user(self, flask_request) -> any: method is_logged_in (line 12) | def is_logged_in(self, user: any) -> bool: method override_config_for_user (line 16) | def override_config_for_user(self, user: any, config: dict) -> dict: method login_form (line 20) | def login_form(self) -> str: method login_handler (line 24) | def login_handler(self, flask_request) -> str: method callback_handler (line 28) | def callback_handler(self, flask_request) -> str: method logout_handler (line 32) | def logout_handler(self, flask_request) -> str: class NoAuth (line 36) | class NoAuth(AuthInterface): method get_user (line 37) | def get_user(self, flask_request) -> any: method is_logged_in (line 40) | def is_logged_in(self, user: any) -> bool: method override_config_for_user (line 43) | def override_config_for_user(self, user: any, config: dict) -> dict: method login_form (line 46) | def login_form(self) -> str: method login_handler (line 49) | def login_handler(self, flask_request) -> str: method callback_handler (line 52) | def callback_handler(self, flask_request) -> str: method logout_handler (line 55) | def logout_handler(self, flask_request) -> str: FILE: src/vanna/legacy/google/bigquery_vector.py class BigQuery_VectorStore (line 13) | class BigQuery_VectorStore(VannaBase): method __init__ (line 14) | def __init__(self, config: dict, **kwargs): method store_training_data (line 103) | def store_training_data( method fetch_similar_training_data (line 129) | def fetch_similar_training_data( method get_embeddings (line 157) | def get_embeddings(self, data: str, task: str) -> List[float]: method generate_question_embedding (line 179) | def generate_question_embedding(self, data: str, **kwargs) -> List[flo... method generate_storage_embedding (line 187) | def generate_storage_embedding(self, data: str, **kwargs) -> List[float]: method generate_embedding (line 206) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method get_similar_question_sql (line 209) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 219) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 227) | def get_related_documentation(self, question: str, **kwargs) -> list: method add_question_sql (line 237) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 249) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 256) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 266) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 273) | def remove_training_data(self, id: str, **kwargs) -> bool: FILE: src/vanna/legacy/google/gemini_chat.py class GoogleGeminiChat (line 6) | class GoogleGeminiChat(VannaBase): method __init__ (line 7) | def __init__(self, config=None): method system_message (line 62) | def system_message(self, message: str) -> any: method user_message (line 65) | def user_message(self, message: str) -> any: method assistant_message (line 68) | def assistant_message(self, message: str) -> any: method submit_prompt (line 71) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/hf/hf.py class Hf (line 7) | class Hf(VannaBase): method __init__ (line 8) | def __init__(self, config=None): method system_message (line 21) | def system_message(self, message: str) -> any: method user_message (line 24) | def user_message(self, message: str) -> any: method assistant_message (line 27) | def assistant_message(self, message: str) -> any: method extract_sql_query (line 30) | def extract_sql_query(self, text): method generate_sql (line 52) | def generate_sql(self, question: str, **kwargs) -> str: method submit_prompt (line 63) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/local.py class LocalContext_OpenAI (line 5) | class LocalContext_OpenAI(ChromaDB_VectorStore, OpenAI_Chat): method __init__ (line 6) | def __init__(self, config=None): FILE: src/vanna/legacy/marqo/marqo.py class Marqo_VectorStore (line 9) | class Marqo_VectorStore(VannaBase): method __init__ (line 10) | def __init__(self, config=None): method generate_embedding (line 33) | def generate_embedding(self, data: str, **kwargs) -> list[float]: method add_question_sql (line 37) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 52) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 65) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 78) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 115) | def remove_training_data(self, id: str, **kwargs) -> bool: method _extract_documents (line 130) | def _extract_documents(data) -> list: method get_similar_question_sql (line 155) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 160) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 165) | def get_related_documentation(self, question: str, **kwargs) -> list: FILE: src/vanna/legacy/milvus/milvus_vector.py class Milvus_VectorStore (line 24) | class Milvus_VectorStore(VannaBase): method __init__ (line 37) | def __init__(self, config=None): method _create_collections (line 55) | def _create_collections(self): method generate_embedding (line 60) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method _create_sql_collection (line 63) | def _create_sql_collection(self, name: str): method _create_ddl_collection (line 101) | def _create_ddl_collection(self, name: str): method _create_doc_collection (line 136) | def _create_doc_collection(self, name: str): method add_question_sql (line 171) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 182) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 193) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 204) | def get_training_data(self, **kwargs) -> pd.DataFrame: method get_similar_question_sql (line 251) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 275) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 296) | def get_related_documentation(self, question: str, **kwargs) -> list: method remove_training_data (line 317) | def remove_training_data(self, id: str, **kwargs) -> bool: FILE: src/vanna/legacy/mistral/mistral.py class Mistral (line 9) | class Mistral(VannaBase): method __init__ (line 10) | def __init__(self, config=None): method system_message (line 27) | def system_message(self, message: str) -> any: method user_message (line 30) | def user_message(self, message: str) -> any: method assistant_message (line 33) | def assistant_message(self, message: str) -> any: method generate_sql (line 36) | def generate_sql(self, question: str, **kwargs) -> str: method submit_prompt (line 45) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/mock/embedding.py class MockEmbedding (line 6) | class MockEmbedding(VannaBase): method __init__ (line 7) | def __init__(self, config=None): method generate_embedding (line 10) | def generate_embedding(self, data: str, **kwargs) -> List[float]: FILE: src/vanna/legacy/mock/llm.py class MockLLM (line 4) | class MockLLM(VannaBase): method __init__ (line 5) | def __init__(self, config=None): method system_message (line 8) | def system_message(self, message: str) -> any: method user_message (line 11) | def user_message(self, message: str) -> any: method assistant_message (line 14) | def assistant_message(self, message: str) -> any: method submit_prompt (line 17) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/mock/vectordb.py class MockVectorDB (line 6) | class MockVectorDB(VannaBase): method __init__ (line 7) | def __init__(self, config=None): method _get_id (line 10) | def _get_id(self, value: str, **kwargs) -> str: method add_ddl (line 14) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 17) | def add_documentation(self, doc: str, **kwargs) -> str: method add_question_sql (line 20) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method get_related_ddl (line 23) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 26) | def get_related_documentation(self, question: str, **kwargs) -> list: method get_similar_question_sql (line 29) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_training_data (line 32) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 66) | def remove_training_data(id: str, **kwargs) -> bool: FILE: src/vanna/legacy/ollama/ollama.py class Ollama (line 10) | class Ollama(VannaBase): method __init__ (line 11) | def __init__(self, config=None): method __pull_model_if_ne (line 40) | def __pull_model_if_ne(ollama_client, model): method system_message (line 48) | def system_message(self, message: str) -> any: method user_message (line 51) | def user_message(self, message: str) -> any: method assistant_message (line 54) | def assistant_message(self, message: str) -> any: method extract_sql (line 57) | def extract_sql(self, llm_response): method submit_prompt (line 92) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/openai/openai_chat.py class OpenAI_Chat (line 8) | class OpenAI_Chat(VannaBase): method __init__ (line 9) | def __init__(self, client=None, config=None): method system_message (line 44) | def system_message(self, message: str) -> any: method user_message (line 47) | def user_message(self, message: str) -> any: method assistant_message (line 50) | def assistant_message(self, message: str) -> any: method submit_prompt (line 53) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/openai/openai_embeddings.py class OpenAI_Embeddings (line 6) | class OpenAI_Embeddings(VannaBase): method __init__ (line 7) | def __init__(self, client=None, config=None): method generate_embedding (line 34) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/opensearch/opensearch_vector.py class OpenSearch_VectorStore (line 11) | class OpenSearch_VectorStore(VannaBase): method __init__ (line 12) | def __init__(self, config=None): method create_index (line 218) | def create_index(self): method create_index_if_not_exists (line 227) | def create_index_if_not_exists(self, index_name: str, index_settings: ... method add_ddl (line 240) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 249) | def add_documentation(self, doc: str, **kwargs) -> str: method add_question_sql (line 258) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method get_related_ddl (line 267) | def get_related_ddl(self, question: str, **kwargs) -> List[str]: method get_related_documentation (line 274) | def get_related_documentation(self, question: str, **kwargs) -> List[s... method get_similar_question_sql (line 280) | def get_similar_question_sql(self, question: str, **kwargs) -> List[str]: method get_training_data (line 291) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 340) | def remove_training_data(self, id: str, **kwargs) -> bool: method generate_embedding (line 357) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/opensearch/opensearch_vector_semantic.py class OpenSearch_Semantic_VectorStore (line 10) | class OpenSearch_Semantic_VectorStore(VannaBase): method __init__ (line 11) | def __init__(self, config=None): method add_ddl (line 77) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 82) | def add_documentation(self, documentation: str, **kwargs) -> str: method add_question_sql (line 87) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method get_related_ddl (line 100) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 106) | def get_related_documentation(self, question: str, **kwargs) -> list: method get_similar_question_sql (line 112) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_training_data (line 118) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 182) | def remove_training_data(self, id: str, **kwargs) -> bool: method generate_embedding (line 199) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/oracle/oracle_vector.py class Oracle_VectorStore (line 14) | class Oracle_VectorStore(VannaBase): method __init__ (line 15) | def __init__(self, config=None): method generate_embedding (line 43) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method add_question_sql (line 49) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 97) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 141) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 185) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 299) | def remove_training_data(self, id: str, **kwargs) -> bool: method update_training_data (line 316) | def update_training_data( method _extract_documents (line 369) | def _extract_documents(query_results) -> list: method get_similar_question_sql (line 389) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 408) | def get_related_ddl(self, question: str, **kwargs) -> list: method search_tables_metadata (line 430) | def search_tables_metadata( method get_related_documentation (line 442) | def get_related_documentation(self, question: str, **kwargs) -> list: method create_tables_if_not_exists (line 465) | def create_tables_if_not_exists(self) -> None: method create_collections_if_not_exists (line 495) | def create_collections_if_not_exists( method get_collection (line 531) | def get_collection(self, name) -> Optional[dict]: method get_by_name (line 534) | def get_by_name(self, name: str) -> Optional[dict]: method delete_collection (line 556) | def delete_collection(self, name) -> None: FILE: src/vanna/legacy/pgvector/pgvector.py class PG_VectorStore (line 16) | class PG_VectorStore(VannaBase): method __init__ (line 17) | def __init__(self, config=None): method add_question_sql (line 54) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 72) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 81) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_collection (line 90) | def get_collection(self, collection_name): method get_similar_question_sql (line 101) | def get_similar_question_sql(self, question: str) -> list: method get_related_ddl (line 107) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 113) | def get_related_documentation(self, question: str, **kwargs) -> list: method train (line 119) | def train( method get_training_data (line 155) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 210) | def remove_training_data(self, id: str, **kwargs) -> bool: method remove_collection (line 238) | def remove_collection(self, collection_name: str) -> bool: method generate_embedding (line 281) | def generate_embedding(self, *args, **kwargs): FILE: src/vanna/legacy/pinecone/pinecone_vector.py class PineconeDB_VectorStore (line 12) | class PineconeDB_VectorStore(VannaBase): method __init__ (line 36) | def __init__(self, config=None): method _set_index_host (line 82) | def _set_index_host(self, host: str) -> None: method _setup_index (line 85) | def _setup_index(self) -> None: method _get_indexes (line 109) | def _get_indexes(self) -> list: method _check_if_embedding_exists (line 112) | def _check_if_embedding_exists(self, id: str, namespace: str) -> bool: method add_ddl (line 118) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 129) | def add_documentation(self, doc: str, **kwargs) -> str: method add_question_sql (line 145) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method get_related_ddl (line 171) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 181) | def get_related_documentation(self, question: str, **kwargs) -> list: method get_similar_question_sql (line 195) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_training_data (line 215) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 259) | def remove_training_data(self, id: str, **kwargs) -> bool: method generate_embedding (line 272) | def generate_embedding(self, data: str, **kwargs) -> List[float]: FILE: src/vanna/legacy/qdrant/qdrant.py class Qdrant_VectorStore (line 13) | class Qdrant_VectorStore(VannaBase): method __init__ (line 41) | def __init__( method add_question_sql (line 85) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 105) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 121) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 139) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 202) | def remove_training_data(self, id: str, **kwargs) -> bool: method remove_collection (line 210) | def remove_collection(self, collection_name: str) -> bool: method embeddings_dimension (line 228) | def embeddings_dimension(self): method get_similar_question_sql (line 231) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 241) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 251) | def get_related_documentation(self, question: str, **kwargs) -> list: method generate_embedding (line 261) | def generate_embedding(self, data: str, **kwargs) -> List[float]: method _get_all_points (line 269) | def _get_all_points(self, collection_name: str): method _setup_collections (line 291) | def _setup_collections(self): method _format_point_id (line 321) | def _format_point_id(self, id: str, collection_name: str) -> str: method _parse_point_id (line 324) | def _parse_point_id(self, id: str) -> Tuple[str, str]: FILE: src/vanna/legacy/qianfan/Qianfan_Chat.py class Qianfan_Chat (line 6) | class Qianfan_Chat(VannaBase): method __init__ (line 7) | def __init__(self, client=None, config=None): method system_message (line 36) | def system_message(self, message: str) -> any: method user_message (line 39) | def user_message(self, message: str) -> any: method assistant_message (line 42) | def assistant_message(self, message: str) -> any: method get_sql_prompt (line 45) | def get_sql_prompt( method submit_prompt (line 121) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/qianfan/Qianfan_embeddings.py class Qianfan_Embeddings (line 6) | class Qianfan_Embeddings(VannaBase): method __init__ (line 7) | def __init__(self, client=None, config=None): method generate_embedding (line 24) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/qianwen/QianwenAI_chat.py class QianWenAI_Chat (line 8) | class QianWenAI_Chat(VannaBase): method __init__ (line 9) | def __init__(self, client=None, config=None): method system_message (line 52) | def system_message(self, message: str) -> any: method user_message (line 55) | def user_message(self, message: str) -> any: method assistant_message (line 58) | def assistant_message(self, message: str) -> any: method submit_prompt (line 61) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/qianwen/QianwenAI_embeddings.py class QianWenAI_Embeddings (line 6) | class QianWenAI_Embeddings(VannaBase): method __init__ (line 7) | def __init__(self, client=None, config=None): method generate_embedding (line 34) | def generate_embedding(self, data: str, **kwargs) -> list[float]: FILE: src/vanna/legacy/remote.py class VannaDefault (line 40) | class VannaDefault(VannaDB_VectorStore): method __init__ (line 41) | def __init__(self, model: str, api_key: str, config=None): method system_message (line 56) | def system_message(self, message: str) -> any: method user_message (line 59) | def user_message(self, message: str) -> any: method assistant_message (line 62) | def assistant_message(self, message: str) -> any: method submit_prompt (line 65) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/types/__init__.py class Status (line 8) | class Status: class StatusWithId (line 14) | class StatusWithId: class QuestionList (line 21) | class QuestionList: class FullQuestionDocument (line 26) | class FullQuestionDocument: class QuestionSQLPair (line 35) | class QuestionSQLPair: class Organization (line 42) | class Organization: class OrganizationList (line 49) | class OrganizationList: class QuestionStringList (line 54) | class QuestionStringList: class Visibility (line 59) | class Visibility: class UserEmail (line 64) | class UserEmail: class NewOrganization (line 69) | class NewOrganization: class NewOrganizationMember (line 75) | class NewOrganizationMember: class UserOTP (line 82) | class UserOTP: class ApiKey (line 88) | class ApiKey: class QuestionId (line 93) | class QuestionId: class Question (line 98) | class Question: class QuestionCategory (line 103) | class QuestionCategory: class AccuracyStats (line 118) | class AccuracyStats: class Followup (line 124) | class Followup: class QuestionEmbedding (line 129) | class QuestionEmbedding: class Connection (line 135) | class Connection: class SQLAnswer (line 141) | class SQLAnswer: class Explanation (line 149) | class Explanation: class DataResult (line 154) | class DataResult: class PlotlyResult (line 163) | class PlotlyResult: class WarehouseDefinition (line 168) | class WarehouseDefinition: class TableDefinition (line 174) | class TableDefinition: class ColumnDefinition (line 182) | class ColumnDefinition: class Diagram (line 192) | class Diagram: class StringData (line 198) | class StringData: class DataFrameJSON (line 203) | class DataFrameJSON: class TrainingData (line 208) | class TrainingData: class TrainingPlanItem (line 215) | class TrainingPlanItem: method __str__ (line 221) | def __str__(self): class TrainingPlan (line 234) | class TrainingPlan: method __init__ (line 249) | def __init__(self, plan: List[TrainingPlanItem]): method __str__ (line 252) | def __str__(self): method __repr__ (line 255) | def __repr__(self): method get_summary (line 258) | def get_summary(self) -> List[str]: method remove_item (line 275) | def remove_item(self, item: str): FILE: src/vanna/legacy/utils.py function validate_config_path (line 10) | def validate_config_path(path): function sanitize_model_name (line 23) | def sanitize_model_name(model_name): function deterministic_uuid (line 51) | def deterministic_uuid(content: Union[str, bytes]) -> str: FILE: src/vanna/legacy/vannadb/vannadb_vector.py class VannaDB_VectorStore (line 24) | class VannaDB_VectorStore(VannaBase, VannaAdvanced): method __init__ (line 25) | def __init__(self, vanna_model: str, vanna_api_key: str, config=None): method _rpc_call (line 44) | def _rpc_call(self, method, params): method _dataclass_to_dict (line 66) | def _dataclass_to_dict(self, obj): method get_all_functions (line 69) | def get_all_functions(self) -> list: method get_function (line 108) | def get_function(self, question: str, additional_data: dict = {}) -> d... method create_function (line 160) | def create_function( method update_function (line 202) | def update_function(self, old_function_name: str, updated_function: di... method delete_function (line 284) | def delete_function(self, function_name: str) -> bool: method create_model (line 309) | def create_model(self, model: str, **kwargs) -> bool: method get_models (line 335) | def get_models(self) -> list: method generate_embedding (line 356) | def generate_embedding(self, data: str, **kwargs) -> list[float]: method add_question_sql (line 360) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method add_ddl (line 377) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 389) | def add_documentation(self, documentation: str, **kwargs) -> str: method get_training_data (line 401) | def get_training_data(self, **kwargs) -> pd.DataFrame: method remove_training_data (line 416) | def remove_training_data(self, id: str, **kwargs) -> bool: method get_related_training_data_cached (line 431) | def get_related_training_data_cached(self, question: str) -> TrainingD... method get_similar_question_sql (line 446) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_related_ddl (line 454) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 462) | def get_related_documentation(self, question: str, **kwargs) -> list: FILE: src/vanna/legacy/vllm/vllm.py class Vllm (line 8) | class Vllm(VannaBase): method __init__ (line 9) | def __init__(self, config=None): method system_message (line 31) | def system_message(self, message: str) -> any: method user_message (line 34) | def user_message(self, message: str) -> any: method assistant_message (line 37) | def assistant_message(self, message: str) -> any: method extract_sql_query (line 40) | def extract_sql_query(self, text): method generate_sql (line 62) | def generate_sql(self, question: str, **kwargs) -> str: method submit_prompt (line 73) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/legacy/weaviate/weaviate_vector.py class WeaviateDatabase (line 8) | class WeaviateDatabase(VannaBase): method __init__ (line 9) | def __init__(self, config=None): method _create_collections_if_not_exist (line 49) | def _create_collections_if_not_exist(self): method _initialize_weaviate_client (line 75) | def _initialize_weaviate_client(self): method generate_embedding (line 91) | def generate_embedding(self, data: str, **kwargs): method _insert_data (line 96) | def _insert_data(self, cluster_key: str, data_object: dict, vector: li... method add_ddl (line 104) | def add_ddl(self, ddl: str, **kwargs) -> str: method add_documentation (line 111) | def add_documentation(self, doc: str, **kwargs) -> str: method add_question_sql (line 118) | def add_question_sql(self, question: str, sql: str, **kwargs) -> str: method _query_collection (line 128) | def _query_collection( method get_related_ddl (line 144) | def get_related_ddl(self, question: str, **kwargs) -> list: method get_related_documentation (line 149) | def get_related_documentation(self, question: str, **kwargs) -> list: method get_similar_question_sql (line 154) | def get_similar_question_sql(self, question: str, **kwargs) -> list: method get_training_data (line 164) | def get_training_data(self, **kwargs) -> list: method remove_training_data (line 175) | def remove_training_data(self, id: str, **kwargs) -> bool: FILE: src/vanna/legacy/xinference/xinference.py class Xinference (line 9) | class Xinference(VannaBase): method __init__ (line 10) | def __init__(self, config=None): method system_message (line 20) | def system_message(self, message: str) -> any: method user_message (line 23) | def user_message(self, message: str) -> any: method assistant_message (line 26) | def assistant_message(self, message: str) -> any: method submit_prompt (line 29) | def submit_prompt(self, prompt, **kwargs) -> str: FILE: src/vanna/servers/base/chat_handler.py class ChatHandler (line 12) | class ChatHandler: method __init__ (line 15) | def __init__( method handle_stream (line 26) | async def handle_stream( method handle_poll (line 48) | async def handle_poll(self, request: ChatRequest) -> ChatResponse: method _generate_conversation_id (line 63) | def _generate_conversation_id(self) -> str: FILE: src/vanna/servers/base/models.py class ChatRequest (line 16) | class ChatRequest(BaseModel): class ChatStreamChunk (line 33) | class ChatStreamChunk(BaseModel): method from_component (line 47) | def from_component( method from_component_update (line 79) | def from_component_update( class ChatResponse (line 92) | class ChatResponse(BaseModel): method from_chunks (line 101) | def from_chunks(cls, chunks: List[ChatStreamChunk]) -> "ChatResponse": FILE: src/vanna/servers/base/templates.py function get_vanna_component_script (line 8) | def get_vanna_component_script( function get_index_html (line 31) | def get_index_html( FILE: src/vanna/servers/cli/server_runner.py class ExampleAgentLoader (line 14) | class ExampleAgentLoader: method list_available_examples (line 18) | def list_available_examples() -> Dict[str, str]: method load_example_agent (line 34) | def load_example_agent(example_name: str) -> Agent: function main (line 104) | def main( FILE: src/vanna/servers/fastapi/app.py class VannaFastAPIServer (line 16) | class VannaFastAPIServer: method __init__ (line 19) | def __init__(self, agent: Agent, config: Optional[Dict[str, Any]] = No... method create_app (line 30) | def create_app(self) -> FastAPI: method run (line 82) | def run(self, **kwargs: Any) -> None: FILE: src/vanna/servers/fastapi/routes.py function register_chat_routes (line 17) | def register_chat_routes( FILE: src/vanna/servers/flask/app.py class VannaFlaskServer (line 16) | class VannaFlaskServer: method __init__ (line 19) | def __init__(self, agent: Agent, config: Optional[Dict[str, Any]] = No... method create_app (line 30) | def create_app(self) -> Flask: method run (line 60) | def run(self, **kwargs: Any) -> None: FILE: src/vanna/servers/flask/routes.py function register_chat_routes (line 17) | def register_chat_routes( FILE: src/vanna/tools/agent_memory.py class SaveQuestionToolArgsParams (line 25) | class SaveQuestionToolArgsParams(BaseModel): class SearchSavedCorrectToolUsesParams (line 37) | class SearchSavedCorrectToolUsesParams(BaseModel): class SaveTextMemoryParams (line 54) | class SaveTextMemoryParams(BaseModel): class SaveQuestionToolArgsTool (line 60) | class SaveQuestionToolArgsTool(Tool[SaveQuestionToolArgsParams]): method name (line 64) | def name(self) -> str: method description (line 68) | def description(self) -> str: method get_args_schema (line 73) | def get_args_schema(self) -> Type[SaveQuestionToolArgsParams]: method execute (line 76) | async def execute( class SearchSavedCorrectToolUsesTool (line 120) | class SearchSavedCorrectToolUsesTool(Tool[SearchSavedCorrectToolUsesPara... method name (line 124) | def name(self) -> str: method description (line 128) | def description(self) -> str: method get_args_schema (line 131) | def get_args_schema(self) -> Type[SearchSavedCorrectToolUsesParams]: method execute (line 134) | async def execute( class SaveTextMemoryTool (line 269) | class SaveTextMemoryTool(Tool[SaveTextMemoryParams]): method name (line 273) | def name(self) -> str: method description (line 277) | def description(self) -> str: method get_args_schema (line 280) | def get_args_schema(self) -> Type[SaveTextMemoryParams]: method execute (line 283) | async def execute( FILE: src/vanna/tools/file_system.py class FileSearchMatch (line 33) | class FileSearchMatch: class CommandResult (line 41) | class CommandResult: function _make_snippet (line 49) | def _make_snippet(text: str, query: str, context_window: int = 60) -> Op... class FileSystem (line 69) | class FileSystem(ABC): method list_files (line 73) | async def list_files(self, directory: str, context: ToolContext) -> Li... method read_file (line 78) | async def read_file(self, filename: str, context: ToolContext) -> str: method write_file (line 83) | async def write_file( method exists (line 90) | async def exists(self, path: str, context: ToolContext) -> bool: method is_directory (line 95) | async def is_directory(self, path: str, context: ToolContext) -> bool: method search_files (line 100) | async def search_files( method run_bash (line 112) | async def run_bash( class LocalFileSystem (line 123) | class LocalFileSystem(FileSystem): method __init__ (line 126) | def __init__(self, working_directory: str = "."): method _get_user_directory (line 134) | def _get_user_directory(self, context: ToolContext) -> Path: method _resolve_path (line 152) | def _resolve_path(self, path: str, context: ToolContext) -> Path: method list_files (line 175) | async def list_files(self, directory: str, context: ToolContext) -> Li... method read_file (line 192) | async def read_file(self, filename: str, context: ToolContext) -> str: method write_file (line 204) | async def write_file( method exists (line 220) | async def exists(self, path: str, context: ToolContext) -> bool: method is_directory (line 228) | async def is_directory(self, path: str, context: ToolContext) -> bool: method search_files (line 236) | async def search_files( method run_bash (line 301) | async def run_bash( class SearchFilesArgs (line 339) | class SearchFilesArgs(BaseModel): class SearchFilesTool (line 355) | class SearchFilesTool(Tool[SearchFilesArgs]): method __init__ (line 358) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 362) | def name(self) -> str: method description (line 366) | def description(self) -> str: method get_args_schema (line 369) | def get_args_schema(self) -> Type[SearchFilesArgs]: method execute (line 372) | async def execute(self, context: ToolContext, args: SearchFilesArgs) -... class ListFilesArgs (line 446) | class ListFilesArgs(BaseModel): class ListFilesTool (line 454) | class ListFilesTool(Tool[ListFilesArgs]): method __init__ (line 457) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 462) | def name(self) -> str: method description (line 466) | def description(self) -> str: method get_args_schema (line 469) | def get_args_schema(self) -> Type[ListFilesArgs]: method execute (line 472) | async def execute(self, context: ToolContext, args: ListFilesArgs) -> ... class ReadFileArgs (line 512) | class ReadFileArgs(BaseModel): class ReadFileTool (line 518) | class ReadFileTool(Tool[ReadFileArgs]): method __init__ (line 521) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 526) | def name(self) -> str: method description (line 530) | def description(self) -> str: method get_args_schema (line 533) | def get_args_schema(self) -> Type[ReadFileArgs]: method execute (line 536) | async def execute(self, context: ToolContext, args: ReadFileArgs) -> T... class WriteFileArgs (line 572) | class WriteFileArgs(BaseModel): class WriteFileTool (line 582) | class WriteFileTool(Tool[WriteFileArgs]): method __init__ (line 585) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 590) | def name(self) -> str: method description (line 594) | def description(self) -> str: method get_args_schema (line 597) | def get_args_schema(self) -> Type[WriteFileArgs]: method execute (line 600) | async def execute(self, context: ToolContext, args: WriteFileArgs) -> ... class LineEdit (line 639) | class LineEdit(BaseModel): method validate_line_range (line 657) | def validate_line_range(self) -> "LineEdit": class EditFileArgs (line 666) | class EditFileArgs(BaseModel): class EditFileTool (line 676) | class EditFileTool(Tool[EditFileArgs]): method __init__ (line 679) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 683) | def name(self) -> str: method description (line 687) | def description(self) -> str: method get_args_schema (line 690) | def get_args_schema(self) -> Type[EditFileArgs]: method execute (line 693) | async def execute(self, context: ToolContext, args: EditFileArgs) -> T... method _range_error (line 848) | def _range_error( function create_file_system_tools (line 868) | def create_file_system_tools( FILE: src/vanna/tools/python.py class RunPythonFileArgs (line 25) | class RunPythonFileArgs(BaseModel): class RunPythonFileTool (line 42) | class RunPythonFileTool(Tool[RunPythonFileArgs]): method __init__ (line 45) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 49) | def name(self) -> str: method description (line 53) | def description(self) -> str: method get_args_schema (line 56) | def get_args_schema(self) -> Type[RunPythonFileArgs]: method execute (line 59) | async def execute( class PipInstallArgs (line 86) | class PipInstallArgs(BaseModel): class PipInstallTool (line 107) | class PipInstallTool(Tool[PipInstallArgs]): method __init__ (line 110) | def __init__(self, file_system: Optional[FileSystem] = None): method name (line 114) | def name(self) -> str: method description (line 118) | def description(self) -> str: method get_args_schema (line 121) | def get_args_schema(self) -> Type[PipInstallArgs]: method execute (line 124) | async def execute(self, context: ToolContext, args: PipInstallArgs) ->... function create_python_tools (line 151) | def create_python_tools(file_system: Optional[FileSystem] = None) -> Lis... function _quote_command (line 161) | def _quote_command(parts: Sequence[str]) -> str: function _truncate (line 165) | def _truncate(text: str, limit: int = MAX_OUTPUT_LENGTH) -> str: function _result_from_command (line 171) | def _result_from_command( function _error_result (line 209) | def _error_result(message: str) -> ToolResult: FILE: src/vanna/tools/run_sql.py class RunSqlTool (line 18) | class RunSqlTool(Tool[RunSqlToolArgs]): method __init__ (line 21) | def __init__( method name (line 42) | def name(self) -> str: method description (line 46) | def description(self) -> str: method get_args_schema (line 53) | def get_args_schema(self) -> Type[RunSqlToolArgs]: method execute (line 56) | async def execute(self, context: ToolContext, args: RunSqlToolArgs) ->... FILE: src/vanna/tools/visualize_data.py class VisualizeDataArgs (line 23) | class VisualizeDataArgs(BaseModel): class VisualizeDataTool (line 32) | class VisualizeDataTool(Tool[VisualizeDataArgs]): method __init__ (line 35) | def __init__( method name (line 50) | def name(self) -> str: method description (line 54) | def description(self) -> str: method get_args_schema (line 57) | def get_args_schema(self) -> Type[VisualizeDataArgs]: method execute (line 60) | async def execute( FILE: src/vanna/web_components/__init__.py function get_component_files (line 13) | def get_component_files() -> Dict[str, Path]: function get_component_html (line 22) | def get_component_html() -> str: FILE: tests/conftest.py function pytest_configure (line 14) | def pytest_configure(config): function pytest_collection_modifyitems (line 29) | def pytest_collection_modifyitems(config, items): function chinook_db (line 70) | def chinook_db(tmp_path_factory): FILE: tests/test_agent_memory.py function test_user (line 19) | def test_user(): function create_test_context (line 29) | def create_test_context(test_user, agent_memory): function chromadb_memory (line 41) | def chromadb_memory(): function qdrant_memory (line 59) | def qdrant_memory(): function faiss_memory (line 75) | def faiss_memory(): class TestLocalAgentMemory (line 94) | class TestLocalAgentMemory: method test_save_and_search (line 98) | async def test_save_and_search(self, memory_fixture, test_user, request): method test_multiple_memories (line 126) | async def test_multiple_memories(self, memory_fixture, test_user, requ... method test_tool_filter (line 162) | async def test_tool_filter(self, memory_fixture, test_user, request): method test_clear_memories (line 194) | async def test_clear_memories(self, memory_fixture, test_user, request): method test_get_recent_memories (line 210) | async def test_get_recent_memories(self, memory_fixture, test_user, re... method test_delete_by_id (line 240) | async def test_delete_by_id(self, memory_fixture, test_user, request): method test_save_and_search_text_memories (line 276) | async def test_save_and_search_text_memories( method test_multiple_text_memories (line 312) | async def test_multiple_text_memories(self, memory_fixture, test_user,... method test_get_recent_text_memories (line 340) | async def test_get_recent_text_memories(self, memory_fixture, test_use... method test_delete_text_memory (line 363) | async def test_delete_text_memory(self, memory_fixture, test_user, req... method test_mixed_tool_and_text_memories (line 393) | async def test_mixed_tool_and_text_memories( FILE: tests/test_agent_memory_sanity.py class TestAgentMemoryInterface (line 18) | class TestAgentMemoryInterface: method test_agent_memory_import (line 21) | def test_agent_memory_import(self): method test_agent_memory_is_abstract (line 27) | def test_agent_memory_is_abstract(self): method test_agent_memory_has_required_methods (line 33) | def test_agent_memory_has_required_methods(self): method test_all_methods_are_async (line 56) | def test_all_methods_are_async(self): class TestToolMemoryModel (line 77) | class TestToolMemoryModel: method test_tool_memory_import (line 80) | def test_tool_memory_import(self): method test_tool_memory_is_pydantic_model (line 86) | def test_tool_memory_is_pydantic_model(self): method test_tool_memory_has_required_fields (line 93) | def test_tool_memory_has_required_fields(self): method test_tool_memory_instantiation (line 108) | def test_tool_memory_instantiation(self): class TestToolMemorySearchResultModel (line 126) | class TestToolMemorySearchResultModel: method test_memory_search_result_import (line 129) | def test_memory_search_result_import(self): method test_memory_search_result_instantiation (line 135) | def test_memory_search_result_instantiation(self): class TestTextMemoryModel (line 148) | class TestTextMemoryModel: method test_text_memory_import (line 151) | def test_text_memory_import(self): method test_text_memory_is_pydantic_model (line 157) | def test_text_memory_is_pydantic_model(self): method test_text_memory_has_required_fields (line 164) | def test_text_memory_has_required_fields(self): method test_text_memory_instantiation (line 179) | def test_text_memory_instantiation(self): class TestTextMemorySearchResultModel (line 191) | class TestTextMemorySearchResultModel: method test_text_memory_search_result_import (line 194) | def test_text_memory_search_result_import(self): method test_text_memory_search_result_instantiation (line 200) | def test_text_memory_search_result_instantiation(self): class TestChromaDBAgentMemory (line 213) | class TestChromaDBAgentMemory: method test_chromadb_import (line 216) | def test_chromadb_import(self): method test_chromadb_implements_agent_memory (line 225) | def test_chromadb_implements_agent_memory(self): method test_chromadb_has_all_methods (line 235) | def test_chromadb_has_all_methods(self): method test_chromadb_instantiation (line 261) | def test_chromadb_instantiation(self): class TestQdrantAgentMemory (line 279) | class TestQdrantAgentMemory: method test_qdrant_import (line 282) | def test_qdrant_import(self): method test_qdrant_implements_agent_memory (line 291) | def test_qdrant_implements_agent_memory(self): method test_qdrant_has_all_methods (line 301) | def test_qdrant_has_all_methods(self): method test_qdrant_instantiation (line 323) | def test_qdrant_instantiation(self): class TestPineconeAgentMemory (line 336) | class TestPineconeAgentMemory: method test_pinecone_import (line 339) | def test_pinecone_import(self): method test_pinecone_implements_agent_memory (line 348) | def test_pinecone_implements_agent_memory(self): method test_pinecone_has_all_methods (line 358) | def test_pinecone_has_all_methods(self): class TestMilvusAgentMemory (line 381) | class TestMilvusAgentMemory: method test_milvus_import (line 384) | def test_milvus_import(self): method test_milvus_implements_agent_memory (line 393) | def test_milvus_implements_agent_memory(self): method test_milvus_has_all_methods (line 403) | def test_milvus_has_all_methods(self): class TestWeaviateAgentMemory (line 426) | class TestWeaviateAgentMemory: method test_weaviate_import (line 429) | def test_weaviate_import(self): method test_weaviate_implements_agent_memory (line 438) | def test_weaviate_implements_agent_memory(self): method test_weaviate_has_all_methods (line 448) | def test_weaviate_has_all_methods(self): class TestFAISSAgentMemory (line 471) | class TestFAISSAgentMemory: method test_faiss_import (line 474) | def test_faiss_import(self): method test_faiss_implements_agent_memory (line 483) | def test_faiss_implements_agent_memory(self): method test_faiss_has_all_methods (line 493) | def test_faiss_has_all_methods(self): method test_faiss_instantiation (line 515) | def test_faiss_instantiation(self): class TestOpenSearchAgentMemory (line 530) | class TestOpenSearchAgentMemory: method test_opensearch_import (line 533) | def test_opensearch_import(self): method test_opensearch_implements_agent_memory (line 542) | def test_opensearch_implements_agent_memory(self): method test_opensearch_has_all_methods (line 552) | def test_opensearch_has_all_methods(self): class TestAzureAISearchAgentMemory (line 575) | class TestAzureAISearchAgentMemory: method test_azuresearch_import (line 578) | def test_azuresearch_import(self): method test_azuresearch_implements_agent_memory (line 587) | def test_azuresearch_implements_agent_memory(self): method test_azuresearch_has_all_methods (line 597) | def test_azuresearch_has_all_methods(self): class TestMarqoAgentMemory (line 620) | class TestMarqoAgentMemory: method test_marqo_import (line 623) | def test_marqo_import(self): method test_marqo_implements_agent_memory (line 632) | def test_marqo_implements_agent_memory(self): method test_marqo_has_all_methods (line 642) | def test_marqo_has_all_methods(self): class TestDemoAgentMemory (line 665) | class TestDemoAgentMemory: method test_demo_import (line 668) | def test_demo_import(self): method test_demo_implements_agent_memory (line 674) | def test_demo_implements_agent_memory(self): method test_demo_has_all_methods (line 681) | def test_demo_has_all_methods(self): method test_demo_instantiation (line 700) | def test_demo_instantiation(self): FILE: tests/test_agents.py class SimpleUserResolver (line 14) | class SimpleUserResolver(UserResolver): method resolve_user (line 17) | async def resolve_user(self, request_context: RequestContext) -> User: function create_agent (line 23) | def create_agent(llm_service, sql_runner): function test_agent_top_artist (line 55) | async def test_agent_top_artist(agent, expected_artist="Iron Maiden"): function test_anthropic_top_artist (line 110) | async def test_anthropic_top_artist(chinook_db): function test_openai_top_artist (line 123) | async def test_openai_top_artist(chinook_db): function test_azure_openai_top_artist (line 136) | async def test_azure_openai_top_artist(chinook_db): function test_ollama_top_artist (line 172) | async def test_ollama_top_artist(chinook_db): function test_gemini_top_artist (line 187) | async def test_gemini_top_artist(chinook_db): FILE: tests/test_azureopenai_llm.py class TestReasoningModelDetection (line 13) | class TestReasoningModelDetection: method test_is_reasoning_model_o1 (line 16) | def test_is_reasoning_model_o1(self): method test_is_reasoning_model_o3 (line 22) | def test_is_reasoning_model_o3(self): method test_is_reasoning_model_gpt5 (line 26) | def test_is_reasoning_model_gpt5(self): method test_is_not_reasoning_model (line 34) | def test_is_not_reasoning_model(self): method test_case_insensitive_detection (line 41) | def test_case_insensitive_detection(self): class TestAzureOpenAILlmServiceInitialization (line 48) | class TestAzureOpenAILlmServiceInitialization: method test_init_with_all_params (line 52) | def test_init_with_all_params(self, mock_azure_openai): method test_init_with_reasoning_model (line 72) | def test_init_with_reasoning_model(self, mock_azure_openai): method test_init_from_environment (line 93) | def test_init_from_environment(self, mock_azure_openai): method test_init_missing_model_raises (line 106) | def test_init_missing_model_raises(self, mock_azure_openai): method test_init_missing_endpoint_raises (line 115) | def test_init_missing_endpoint_raises(self, mock_azure_openai): method test_init_missing_auth_raises (line 124) | def test_init_missing_auth_raises(self, mock_azure_openai): method test_init_with_azure_ad_token_provider (line 133) | def test_init_with_azure_ad_token_provider(self, mock_azure_openai): method test_init_default_api_version (line 148) | def test_init_default_api_version(self, mock_azure_openai): class TestAzureOpenAILlmServicePayloadBuilding (line 161) | class TestAzureOpenAILlmServicePayloadBuilding: method test_build_payload_includes_temperature_for_standard_model (line 165) | def test_build_payload_includes_temperature_for_standard_model( method test_build_payload_excludes_temperature_for_reasoning_model (line 191) | def test_build_payload_excludes_temperature_for_reasoning_model( method test_build_payload_with_system_prompt (line 216) | def test_build_payload_with_system_prompt(self, mock_azure_openai): method test_build_payload_with_tools (line 240) | def test_build_payload_with_tools(self, mock_azure_openai): class TestImportError (line 276) | class TestImportError: method test_import_error_message (line 279) | def test_import_error_message(self): FILE: tests/test_chromadb_persistence_fix.py function test_user (line 19) | def test_user(): function create_test_context (line 29) | def create_test_context(test_user, agent_memory): function test_chromadb_collection_retrieval_without_embedding_function (line 41) | async def test_chromadb_collection_retrieval_without_embedding_function(... function test_chromadb_collection_creation_with_embedding_function (line 137) | async def test_chromadb_collection_creation_with_embedding_function(): FILE: tests/test_database_sanity.py class TestSqlRunnerInterface (line 19) | class TestSqlRunnerInterface: method test_sql_runner_import (line 22) | def test_sql_runner_import(self): method test_sql_runner_is_abstract (line 28) | def test_sql_runner_is_abstract(self): method test_sql_runner_has_run_sql_method (line 35) | def test_sql_runner_has_run_sql_method(self): method test_run_sql_method_signature (line 42) | def test_run_sql_method_signature(self): method test_run_sql_is_async (line 55) | def test_run_sql_is_async(self): class TestRunSqlToolArgsModel (line 64) | class TestRunSqlToolArgsModel: method test_run_sql_tool_args_import (line 67) | def test_run_sql_tool_args_import(self): method test_run_sql_tool_args_has_sql_field (line 73) | def test_run_sql_tool_args_has_sql_field(self): method test_run_sql_tool_args_is_pydantic_model (line 82) | def test_run_sql_tool_args_is_pydantic_model(self): class TestPostgresRunner (line 90) | class TestPostgresRunner: method test_postgres_runner_import (line 93) | def test_postgres_runner_import(self): method test_postgres_runner_implements_sql_runner (line 99) | def test_postgres_runner_implements_sql_runner(self): method test_postgres_runner_has_run_sql_method (line 106) | def test_postgres_runner_has_run_sql_method(self): method test_postgres_runner_instantiation_with_connection_string (line 114) | def test_postgres_runner_instantiation_with_connection_string(self): method test_postgres_runner_instantiation_with_params (line 124) | def test_postgres_runner_instantiation_with_params(self): method test_postgres_runner_requires_valid_params (line 141) | def test_postgres_runner_requires_valid_params(self): method test_postgres_runner_checks_psycopg2_import (line 148) | def test_postgres_runner_checks_psycopg2_import(self): class TestSqliteRunner (line 161) | class TestSqliteRunner: method test_sqlite_runner_import (line 164) | def test_sqlite_runner_import(self): method test_sqlite_runner_implements_sql_runner (line 170) | def test_sqlite_runner_implements_sql_runner(self): method test_sqlite_runner_has_run_sql_method (line 177) | def test_sqlite_runner_has_run_sql_method(self): method test_sqlite_runner_instantiation (line 185) | def test_sqlite_runner_instantiation(self): method test_sqlite_uses_builtin_sqlite3 (line 193) | def test_sqlite_uses_builtin_sqlite3(self): class TestLegacySqlRunner (line 202) | class TestLegacySqlRunner: method test_legacy_sql_runner_import (line 205) | def test_legacy_sql_runner_import(self): method test_legacy_sql_runner_implements_sql_runner (line 211) | def test_legacy_sql_runner_implements_sql_runner(self): method test_legacy_sql_runner_has_run_sql_method (line 218) | def test_legacy_sql_runner_has_run_sql_method(self): method test_legacy_sql_runner_instantiation (line 226) | def test_legacy_sql_runner_instantiation(self): class TestDatabaseIntegrationModules (line 239) | class TestDatabaseIntegrationModules: method test_postgres_module_import (line 242) | def test_postgres_module_import(self): method test_sqlite_module_import (line 251) | def test_sqlite_module_import(self): method test_postgres_module_exports_runner (line 260) | def test_postgres_module_exports_runner(self): method test_sqlite_module_exports_runner (line 266) | def test_sqlite_module_exports_runner(self): class TestLegacyVannaBaseConnections (line 273) | class TestLegacyVannaBaseConnections: method test_vanna_base_import (line 276) | def test_vanna_base_import(self): method test_vanna_base_has_connection_methods (line 282) | def test_vanna_base_has_connection_methods(self): method test_vanna_base_has_run_sql_method (line 303) | def test_vanna_base_has_run_sql_method(self): class TestLegacyVannaAdapter (line 310) | class TestLegacyVannaAdapter: method test_legacy_vanna_adapter_import (line 313) | def test_legacy_vanna_adapter_import(self): method test_legacy_vanna_adapter_is_tool_registry (line 319) | def test_legacy_vanna_adapter_is_tool_registry(self): class TestSnowflakeRunner (line 327) | class TestSnowflakeRunner: method test_snowflake_runner_import (line 330) | def test_snowflake_runner_import(self): method test_snowflake_runner_implements_sql_runner (line 336) | def test_snowflake_runner_implements_sql_runner(self): method test_snowflake_runner_has_run_sql_method (line 343) | def test_snowflake_runner_has_run_sql_method(self): method test_snowflake_runner_instantiation (line 350) | def test_snowflake_runner_instantiation(self): method test_snowflake_runner_key_pair_auth_with_path (line 363) | def test_snowflake_runner_key_pair_auth_with_path(self, tmp_path): method test_snowflake_runner_key_pair_auth_with_content (line 387) | def test_snowflake_runner_key_pair_auth_with_content(self): method test_snowflake_runner_key_pair_auth_without_passphrase (line 407) | def test_snowflake_runner_key_pair_auth_without_passphrase(self, tmp_p... method test_snowflake_runner_missing_auth_raises_error (line 426) | def test_snowflake_runner_missing_auth_raises_error(self): method test_snowflake_runner_invalid_key_path_raises_error (line 439) | def test_snowflake_runner_invalid_key_path_raises_error(self): method test_snowflake_runner_password_auth_backwards_compatible (line 452) | def test_snowflake_runner_password_auth_backwards_compatible(self): class TestMySQLRunner (line 470) | class TestMySQLRunner: method test_mysql_runner_import (line 473) | def test_mysql_runner_import(self): method test_mysql_runner_implements_sql_runner (line 479) | def test_mysql_runner_implements_sql_runner(self): method test_mysql_runner_has_run_sql_method (line 486) | def test_mysql_runner_has_run_sql_method(self): method test_mysql_runner_instantiation (line 493) | def test_mysql_runner_instantiation(self): class TestClickHouseRunner (line 504) | class TestClickHouseRunner: method test_clickhouse_runner_import (line 507) | def test_clickhouse_runner_import(self): method test_clickhouse_runner_implements_sql_runner (line 513) | def test_clickhouse_runner_implements_sql_runner(self): method test_clickhouse_runner_has_run_sql_method (line 520) | def test_clickhouse_runner_has_run_sql_method(self): method test_clickhouse_runner_instantiation (line 527) | def test_clickhouse_runner_instantiation(self): class TestOracleRunner (line 538) | class TestOracleRunner: method test_oracle_runner_import (line 541) | def test_oracle_runner_import(self): method test_oracle_runner_implements_sql_runner (line 547) | def test_oracle_runner_implements_sql_runner(self): method test_oracle_runner_has_run_sql_method (line 554) | def test_oracle_runner_has_run_sql_method(self): method test_oracle_runner_instantiation (line 561) | def test_oracle_runner_instantiation(self): class TestBigQueryRunner (line 572) | class TestBigQueryRunner: method test_bigquery_runner_import (line 575) | def test_bigquery_runner_import(self): method test_bigquery_runner_implements_sql_runner (line 581) | def test_bigquery_runner_implements_sql_runner(self): method test_bigquery_runner_has_run_sql_method (line 588) | def test_bigquery_runner_has_run_sql_method(self): method test_bigquery_runner_instantiation (line 595) | def test_bigquery_runner_instantiation(self): class TestDuckDBRunner (line 604) | class TestDuckDBRunner: method test_duckdb_runner_import (line 607) | def test_duckdb_runner_import(self): method test_duckdb_runner_implements_sql_runner (line 613) | def test_duckdb_runner_implements_sql_runner(self): method test_duckdb_runner_has_run_sql_method (line 620) | def test_duckdb_runner_has_run_sql_method(self): method test_duckdb_runner_instantiation_memory (line 627) | def test_duckdb_runner_instantiation_memory(self): method test_duckdb_runner_instantiation_file (line 635) | def test_duckdb_runner_instantiation_file(self): class TestMSSQLRunner (line 644) | class TestMSSQLRunner: method test_mssql_runner_import (line 647) | def test_mssql_runner_import(self): method test_mssql_runner_implements_sql_runner (line 653) | def test_mssql_runner_implements_sql_runner(self): method test_mssql_runner_has_run_sql_method (line 660) | def test_mssql_runner_has_run_sql_method(self): method test_mssql_runner_instantiation (line 667) | def test_mssql_runner_instantiation(self): class TestPrestoRunner (line 677) | class TestPrestoRunner: method test_presto_runner_import (line 680) | def test_presto_runner_import(self): method test_presto_runner_implements_sql_runner (line 686) | def test_presto_runner_implements_sql_runner(self): method test_presto_runner_has_run_sql_method (line 693) | def test_presto_runner_has_run_sql_method(self): method test_presto_runner_instantiation (line 700) | def test_presto_runner_instantiation(self): class TestHiveRunner (line 709) | class TestHiveRunner: method test_hive_runner_import (line 712) | def test_hive_runner_import(self): method test_hive_runner_implements_sql_runner (line 718) | def test_hive_runner_implements_sql_runner(self): method test_hive_runner_has_run_sql_method (line 725) | def test_hive_runner_has_run_sql_method(self): method test_hive_runner_instantiation (line 732) | def test_hive_runner_instantiation(self): FILE: tests/test_gemini_integration.py function test_user (line 18) | def test_user(): function test_gemini_import (line 30) | async def test_gemini_import(): function test_gemini_initialization_without_key (line 40) | async def test_gemini_initialization_without_key(): function test_gemini_initialization (line 61) | async def test_gemini_initialization(): function test_gemini_basic_request (line 81) | async def test_gemini_basic_request(test_user): function test_gemini_streaming_request (line 115) | async def test_gemini_streaming_request(test_user): function test_gemini_validate_tools (line 149) | async def test_gemini_validate_tools(): FILE: tests/test_legacy_adapter.py class SimpleUserResolver (line 15) | class SimpleUserResolver(UserResolver): method resolve_user (line 18) | async def resolve_user(self, request_context: RequestContext) -> User: function test_legacy_adapter_with_anthropic (line 29) | async def test_legacy_adapter_with_anthropic(): function test_legacy_adapter_memory_operations (line 100) | async def test_legacy_adapter_memory_operations(): FILE: tests/test_llm_context_enhancer.py class MockAgentMemory (line 25) | class MockAgentMemory(AgentMemory): method __init__ (line 28) | def __init__(self): method save_tool_usage (line 31) | async def save_tool_usage( method save_text_memory (line 36) | async def save_text_memory(self, content, context): method search_similar_usage (line 43) | async def search_similar_usage( method search_text_memories (line 54) | async def search_text_memories( method get_recent_memories (line 67) | async def get_recent_memories(self, context, limit=10): method get_recent_text_memories (line 70) | async def get_recent_text_memories(self, context, limit=10): method delete_by_id (line 73) | async def delete_by_id(self, context, memory_id): method delete_text_memory (line 76) | async def delete_text_memory(self, context, memory_id): method clear_memories (line 79) | async def clear_memories(self, context, tool_name=None, before_date=No... class MockLlmService (line 83) | class MockLlmService(LlmService): method __init__ (line 86) | def __init__(self): method send_request (line 90) | async def send_request(self, request): method stream_request (line 103) | async def stream_request(self, request): method validate_tools (line 112) | async def validate_tools(self, tools): class SimpleUserResolver (line 117) | class SimpleUserResolver(UserResolver): method resolve_user (line 120) | async def resolve_user(self, request_context: RequestContext) -> User: class TrackingEnhancer (line 126) | class TrackingEnhancer(LlmContextEnhancer): method __init__ (line 129) | def __init__(self): method enhance_system_prompt (line 133) | async def enhance_system_prompt( method enhance_user_messages (line 146) | async def enhance_user_messages( function test_custom_enhancer_system_prompt_is_called (line 166) | async def test_custom_enhancer_system_prompt_is_called(): function test_custom_enhancer_user_messages_is_called (line 214) | async def test_custom_enhancer_user_messages_is_called(): function test_default_enhancer_with_agent_memory (line 258) | async def test_default_enhancer_with_agent_memory(): function test_default_enhancer_without_agent_memory (line 322) | async def test_default_enhancer_without_agent_memory(): function test_no_enhancer_means_no_enhancement (line 363) | async def test_no_enhancer_means_no_enhancement(): FILE: tests/test_memory_tools.py function demo_agent_memory (line 19) | def demo_agent_memory(): function admin_user (line 25) | def admin_user(): function regular_user (line 31) | def regular_user(): function search_tool (line 37) | def search_tool(): class TestMemoryToolDetailedResults (line 42) | class TestMemoryToolDetailedResults: method test_admin_sees_detailed_results (line 46) | async def test_admin_sees_detailed_results( method test_non_admin_sees_simple_status (line 100) | async def test_non_admin_sees_simple_status( method test_detailed_results_include_all_memory_fields (line 145) | async def test_detailed_results_include_all_memory_fields( method test_no_results_works_for_both_admin_and_user (line 193) | async def test_no_results_works_for_both_admin_and_user( method test_llm_result_same_for_admin_and_user (line 245) | async def test_llm_result_same_for_admin_and_user( FILE: tests/test_ollama_direct.py function test_user (line 14) | def test_user(): function test_ollama_import (line 26) | async def test_ollama_import(): function test_ollama_initialization (line 39) | async def test_ollama_initialization(): function test_ollama_basic_request (line 63) | async def test_ollama_basic_request(test_user): function test_ollama_pydantic_response (line 104) | async def test_ollama_pydantic_response(test_user): function test_ollama_streaming (line 147) | async def test_ollama_streaming(test_user): function test_ollama_tool_calling_attempt (line 194) | async def test_ollama_tool_calling_attempt(test_user): function test_ollama_payload_building (line 262) | async def test_ollama_payload_building(test_user): FILE: tests/test_tool_permissions.py class SimpleToolArgs (line 25) | class SimpleToolArgs(BaseModel): class MockTool (line 31) | class MockTool(Tool[SimpleToolArgs]): method __init__ (line 34) | def __init__(self, tool_name: str = "mock_tool"): method name (line 38) | def name(self) -> str: method description (line 42) | def description(self) -> str: method get_args_schema (line 45) | def get_args_schema(self) -> Type[SimpleToolArgs]: method execute (line 48) | async def execute(self, context: ToolContext, args: SimpleToolArgs) ->... function agent_memory (line 55) | def agent_memory(): function admin_user (line 61) | def admin_user(): function regular_user (line 72) | def regular_user(): function analyst_user (line 83) | def analyst_user(): function guest_user (line 94) | def guest_user(): function test_tool_access_empty_groups_allows_all (line 102) | async def test_tool_access_empty_groups_allows_all(regular_user, agent_m... function test_tool_access_granted_matching_group (line 135) | async def test_tool_access_granted_matching_group(admin_user, agent_memo... function test_tool_access_denied_no_matching_group (line 167) | async def test_tool_access_denied_no_matching_group(regular_user, agent_... function test_tool_access_multiple_allowed_groups (line 202) | async def test_tool_access_multiple_allowed_groups( function test_tool_access_guest_user_denied (line 256) | async def test_tool_access_guest_user_denied(guest_user, agent_memory): function test_get_schemas_filters_by_user (line 286) | async def test_get_schemas_filters_by_user(admin_user, regular_user): function test_tool_not_found (line 319) | async def test_tool_not_found(agent_memory): function test_duplicate_tool_registration (line 347) | async def test_duplicate_tool_registration(): function test_tool_access_group_intersection (line 366) | async def test_tool_access_group_intersection(admin_user, agent_memory): function test_list_tools (line 398) | async def test_list_tools(): function test_transform_args_default_no_transformation (line 425) | async def test_transform_args_default_no_transformation(regular_user, ag... class CustomTransformRegistry (line 458) | class CustomTransformRegistry(ToolRegistry): method transform_args (line 461) | async def transform_args( function test_transform_args_custom_modification (line 479) | async def test_transform_args_custom_modification(regular_user, agent_me... class RejectionRegistry (line 511) | class RejectionRegistry(ToolRegistry): method transform_args (line 514) | async def transform_args( function test_transform_args_rejection (line 531) | async def test_transform_args_rejection(regular_user, agent_memory): function test_transform_args_allows_approved_content (line 565) | async def test_transform_args_allows_approved_content(regular_user, agen... class RowLevelSecurityRegistry (line 597) | class RowLevelSecurityRegistry(ToolRegistry): method transform_args (line 600) | async def transform_args( function test_transform_args_row_level_security (line 627) | async def test_transform_args_row_level_security( function test_transform_args_called_during_execution (line 686) | async def test_transform_args_called_during_execution(regular_user, agen... function test_transform_args_receives_correct_parameters (line 730) | async def test_transform_args_receives_correct_parameters(regular_user, ... function test_transform_args_called_during_agent_send_message (line 786) | async def test_transform_args_called_during_agent_send_message(): FILE: tests/test_workflow.py class SimpleUserResolver (line 19) | class SimpleUserResolver(UserResolver): method resolve_user (line 22) | async def resolve_user(self, request_context: RequestContext) -> User: class MockAgent (line 28) | class MockAgent: method __init__ (line 31) | def __init__(self, agent_memory=None, tool_registry=None): class MockToolRegistry (line 36) | class MockToolRegistry: method get_schemas (line 39) | async def get_schemas(self, user): class MockConversation (line 44) | class MockConversation: method __init__ (line 47) | def __init__(self, conversation_id=None): function test_user (line 52) | def test_user(): function admin_test_user (line 58) | def admin_test_user(): function test_conversation (line 64) | def test_conversation(): function workflow_handler (line 70) | def workflow_handler(): function agent_with_memory (line 76) | def agent_with_memory(): function agent_without_memory (line 83) | def agent_without_memory(): class TestWorkflowCommands (line 88) | class TestWorkflowCommands: method test_help_command (line 92) | async def test_help_command( method test_status_command (line 114) | async def test_status_command( method test_memories_command (line 130) | async def test_memories_command( method test_unknown_command (line 146) | async def test_unknown_command( class TestMemoriesView (line 157) | class TestMemoriesView: method test_memories_no_agent_memory (line 161) | async def test_memories_no_agent_memory( method test_memories_empty (line 176) | async def test_memories_empty( method test_memories_with_tool_memories (line 191) | async def test_memories_with_tool_memories( method test_memories_with_text_memories (line 244) | async def test_memories_with_text_memories( method test_memories_with_both_types (line 286) | async def test_memories_with_both_types( method test_memories_have_delete_buttons (line 336) | async def test_memories_have_delete_buttons( class TestMemoryDeletion (line 376) | class TestMemoryDeletion: method test_delete_no_agent_memory (line 380) | async def test_delete_no_agent_memory( method test_delete_no_id_provided (line 393) | async def test_delete_no_id_provided( method test_delete_nonexistent_memory (line 407) | async def test_delete_nonexistent_memory( method test_delete_tool_memory_success (line 420) | async def test_delete_tool_memory_success( method test_delete_text_memory_success (line 464) | async def test_delete_text_memory_success( method test_delete_command_parsing (line 501) | async def test_delete_command_parsing( class TestWorkflowComponentStructure (line 543) | class TestWorkflowComponentStructure: method test_help_has_rich_component (line 547) | async def test_help_has_rich_component( method test_memories_cards_have_proper_structure (line 561) | async def test_memories_cards_have_proper_structure( class TestStarterUI (line 602) | class TestStarterUI: method test_starter_ui_single_component (line 606) | async def test_starter_ui_single_component( method test_starter_ui_user_view (line 631) | async def test_starter_ui_user_view( method test_starter_ui_admin_view (line 664) | async def test_starter_ui_admin_view( method test_starter_ui_admin_without_memory (line 715) | async def test_starter_ui_admin_without_memory( class TestAdminOnlyCommands (line 755) | class TestAdminOnlyCommands: method test_non_admin_cannot_access_status (line 759) | async def test_non_admin_cannot_access_status( method test_non_admin_cannot_access_memories (line 777) | async def test_non_admin_cannot_access_memories( method test_non_admin_cannot_delete_memories (line 795) | async def test_non_admin_cannot_delete_memories( method test_admin_can_access_memories (line 813) | async def test_admin_can_access_memories( method test_help_shows_admin_commands_for_admin (line 832) | async def test_help_shows_admin_commands_for_admin( method test_help_hides_admin_commands_for_non_admin (line 853) | async def test_help_hides_admin_commands_for_non_admin(