@rodrigocoliveira/agno-react 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,7 +48,9 @@ export interface ToolExecutionEvent {
48
48
  * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);
49
49
  * ```
50
50
  */
51
- export declare function useAgnoToolExecution(handlers?: Record<string, ToolHandler>, autoExecute?: boolean): {
51
+ export declare function useAgnoToolExecution(handlers?: Record<string, ToolHandler>, autoExecute?: boolean, options?: {
52
+ skipHydration?: string[];
53
+ }): {
52
54
  /** Whether the run is currently paused awaiting tool execution */
53
55
  isPaused: boolean;
54
56
  /** Whether tools are currently being executed */
@@ -1 +1 @@
1
- {"version":3,"file":"useAgnoToolExecution.d.ts","sourceRoot":"","sources":["../../src/hooks/useAgnoToolExecution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAGR,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AAItC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAiBtE;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE7E;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB,CAoDA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EAC1C,WAAW,GAAE,OAAc;IAwOzB,kEAAkE;;IAElE,iDAAiD;;IAEjD,+BAA+B;;IAE/B,qDAAqD;;IAErD,mEAAmE;0BAlErD,QAAQ,EAAE,KAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoE9C,2DAA2D;iCAjC7C,QAAQ,EAAE,YAAY;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAmCzG,wCAAwC;;EAG3C"}
1
+ {"version":3,"file":"useAgnoToolExecution.d.ts","sourceRoot":"","sources":["../../src/hooks/useAgnoToolExecution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EAGR,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AAItC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAiBtE;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE7E;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB,CAoDA;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAM,EAC1C,WAAW,GAAE,OAAc,EAC3B,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;IA4OpC,kEAAkE;;IAElE,iDAAiD;;IAEjD,+BAA+B;;IAE/B,qDAAqD;;IAErD,mEAAmE;0BAlErD,QAAQ,EAAE,KAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoE9C,2DAA2D;iCAjC7C,QAAQ,EAAE,YAAY;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAmCzG,wCAAwC;;EAG3C"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export { useAgnoSession } from './hooks/useAgnoSession';
17
17
  export { useAgnoActions } from './hooks/useAgnoActions';
18
18
  export { useAgnoToolExecution, getCustomRender } from './hooks/useAgnoToolExecution';
19
19
  export type { ToolHandler, ToolExecutionEvent } from './hooks/useAgnoToolExecution';
20
+ export type { ToolResultRenderer } from './ui/composed/agno-chat/context';
20
21
  export { useAgnoCustomEvents } from './hooks/useAgnoCustomEvents';
21
22
  export { useAgnoMemory } from './hooks/useAgnoMemory';
22
23
  export { useAgnoKnowledge } from './hooks/useAgnoKnowledge';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -244,7 +244,7 @@ function processToolResult(result, _tool) {
244
244
  uiComponent: undefined
245
245
  };
246
246
  }
247
- function useAgnoToolExecution(handlers = {}, autoExecute = true) {
247
+ function useAgnoToolExecution(handlers = {}, autoExecute = true, options) {
248
248
  const client = useAgnoClient();
249
249
  const toolHandlerContext = useToolHandlers();
250
250
  const isTeamMode = client.getConfig().mode === "team";
@@ -343,6 +343,8 @@ function useAgnoToolExecution(handlers = {}, autoExecute = true) {
343
343
  for (const tool of message.tool_calls) {
344
344
  if (tool.ui_component)
345
345
  continue;
346
+ if (options?.skipHydration?.includes(tool.tool_name))
347
+ continue;
346
348
  const handler = mergedHandlers[tool.tool_name];
347
349
  if (!handler)
348
350
  continue;
@@ -386,13 +388,13 @@ function useAgnoToolExecution(handlers = {}, autoExecute = true) {
386
388
  }
387
389
  }));
388
390
  }, [mergedHandlers]);
389
- const continueWithResults = import_react3.useCallback(async (tools, options) => {
391
+ const continueWithResults = import_react3.useCallback(async (tools, options2) => {
390
392
  if (!isPaused) {
391
393
  throw new Error("No paused run to continue");
392
394
  }
393
395
  setIsExecuting(true);
394
396
  try {
395
- await client.continueRun(tools, options);
397
+ await client.continueRun(tools, options2);
396
398
  } catch (error) {
397
399
  setIsExecuting(false);
398
400
  throw error;
@@ -1711,4 +1713,4 @@ function useAgnoTraces() {
1711
1713
  };
1712
1714
  }
1713
1715
 
1714
- //# debugId=FAB6677E5749DDF164756E2164756E21
1716
+ //# debugId=EDC9872997598D6964756E2164756E21
package/dist/index.js.map CHANGED
@@ -6,7 +6,7 @@
6
6
  "import React, { createContext, useContext, useState, useCallback } from 'react';\nimport type { ToolHandler } from '../hooks/useAgnoToolExecution';\n\n/**\n * Context value for tool handler registry\n */\nexport interface ToolHandlerContextValue {\n handlers: Record<string, ToolHandler>;\n registerHandler: (name: string, handler: ToolHandler) => void;\n unregisterHandler: (name: string) => void;\n}\n\n/**\n * Context for providing global tool handlers\n */\nconst ToolHandlerContext = createContext<ToolHandlerContextValue | null>(null);\n\nexport interface ToolHandlerProviderProps {\n handlers?: Record<string, ToolHandler>;\n children: React.ReactNode;\n}\n\n/**\n * Provider component that manages global tool handlers\n *\n * @example\n * ```tsx\n * const globalHandlers = {\n * fill_form: async (args) => {\n * // Implementation\n * return { success: true };\n * }\n * };\n *\n * <ToolHandlerProvider handlers={globalHandlers}>\n * <App />\n * </ToolHandlerProvider>\n * ```\n */\nexport function ToolHandlerProvider({ handlers: initialHandlers = {}, children }: ToolHandlerProviderProps) {\n const [handlers, setHandlers] = useState<Record<string, ToolHandler>>(initialHandlers);\n\n /**\n * Register a new tool handler or update an existing one\n */\n const registerHandler = useCallback((name: string, handler: ToolHandler) => {\n setHandlers(prev => ({ ...prev, [name]: handler }));\n }, []);\n\n /**\n * Unregister a tool handler\n */\n const unregisterHandler = useCallback((name: string) => {\n setHandlers(prev => {\n const { [name]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const value: ToolHandlerContextValue = {\n handlers,\n registerHandler,\n unregisterHandler,\n };\n\n return (\n <ToolHandlerContext.Provider value={value}>\n {children}\n </ToolHandlerContext.Provider>\n );\n}\n\n/**\n * Hook to access global tool handlers\n *\n * @returns Tool handler context value or null if not within ToolHandlerProvider\n *\n * @example\n * ```tsx\n * const { handlers, registerHandler } = useToolHandlers() || { handlers: {} };\n * ```\n */\nexport function useToolHandlers(): ToolHandlerContextValue | null {\n return useContext(ToolHandlerContext);\n}\n",
7
7
  "/**\n * Generative UI Renderer\n *\n * Renders UI components based on specifications from the agent.\n * Supports both registry-based components and custom render functions.\n */\n\nimport React from 'react';\nimport type { UIComponentSpec } from '@rodrigocoliveira/agno-types';\nimport { getComponentRegistry } from '../utils/component-registry';\nimport { getCustomRender } from '../hooks/useAgnoToolExecution';\n\nexport interface GenerativeUIRendererProps {\n /** The UI component specification to render */\n spec: UIComponentSpec;\n /** Optional className for styling */\n className?: string;\n /** Error boundary fallback */\n onError?: (error: Error) => void;\n}\n\n/**\n * Error Boundary for UI rendering errors\n */\nclass UIErrorBoundary extends React.Component<\n { children: React.ReactNode; onError?: (error: Error) => void; fallback?: React.ReactNode },\n { hasError: boolean; error?: Error }\n> {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error('[GenerativeUIRenderer] Error rendering component:', error, errorInfo);\n this.props.onError?.(error);\n }\n\n render() {\n if (this.state.hasError) {\n return (\n this.props.fallback || (\n <div className=\"p-4 border border-red-300 rounded-md bg-red-50 text-red-800\">\n <p className=\"font-semibold\">Failed to render UI component</p>\n <p className=\"text-sm mt-1\">{this.state.error?.message || 'Unknown error'}</p>\n </div>\n )\n );\n }\n\n return this.props.children;\n }\n}\n\n/**\n * Main Generative UI Renderer component\n */\nexport function GenerativeUIRenderer({\n spec,\n className,\n onError,\n}: GenerativeUIRendererProps): React.ReactElement {\n const registry = getComponentRegistry();\n\n // Handle custom render functions\n if (spec.type === 'custom') {\n const customSpec = spec as any;\n if (customSpec.renderKey) {\n const renderFn = getCustomRender(customSpec.renderKey);\n if (renderFn) {\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>{renderFn(customSpec.props || {})}</div>\n </UIErrorBoundary>\n );\n }\n }\n // Fallback if custom render not found\n return (\n <div className={`p-4 border border-yellow-300 rounded-md bg-yellow-50 text-yellow-800 ${className || ''}`}>\n <p className=\"font-semibold\">Custom component not available</p>\n <p className=\"text-sm mt-1\">The custom render function for this component is not available.</p>\n </div>\n );\n }\n\n // Handle chart components\n if (spec.type === 'chart') {\n const chartSpec = spec as any;\n const chartType = `chart:${chartSpec.component}`;\n\n if (registry.has(chartType)) {\n const ChartRenderer = registry.get(chartType)!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {chartSpec.title && <h3 className=\"font-semibold mb-2\">{chartSpec.title}</h3>}\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{chartSpec.description}</p>}\n <ChartRenderer {...chartSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Fallback: render data as JSON\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold mb-2\">{chartSpec.title || 'Chart Data'}</p>\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-2\">{chartSpec.description}</p>}\n <pre className=\"text-xs bg-gray-100 p-2 rounded overflow-auto\">\n {JSON.stringify(chartSpec.props.data, null, 2)}\n </pre>\n </div>\n );\n }\n\n // Handle card grid\n if (spec.type === 'card-grid') {\n const cardGridSpec = spec as any;\n if (registry.has('card-grid')) {\n const CardGridRenderer = registry.get('card-grid')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {cardGridSpec.title && <h3 className=\"font-semibold mb-2\">{cardGridSpec.title}</h3>}\n {cardGridSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{cardGridSpec.description}</p>}\n <CardGridRenderer {...cardGridSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle table\n if (spec.type === 'table') {\n const tableSpec = spec as any;\n if (registry.has('table')) {\n const TableRenderer = registry.get('table')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {tableSpec.title && <h3 className=\"font-semibold mb-2\">{tableSpec.title}</h3>}\n {tableSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{tableSpec.description}</p>}\n <TableRenderer {...tableSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle markdown\n if (spec.type === 'markdown') {\n const markdownSpec = spec as any;\n if (registry.has('markdown')) {\n const MarkdownRenderer = registry.get('markdown')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n <MarkdownRenderer {...markdownSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n // Fallback: render as plain text\n return <div className={className}>{markdownSpec.props.content}</div>;\n }\n\n // Handle artifact (container with multiple children)\n if (spec.type === 'artifact') {\n const artifactSpec = spec as any;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={`p-4 border rounded-md ${className || ''}`}>\n {artifactSpec.title && <h3 className=\"font-semibold mb-4\">{artifactSpec.title}</h3>}\n {artifactSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{artifactSpec.description}</p>}\n <div className=\"space-y-4\">\n {artifactSpec.props.content?.map((childSpec: UIComponentSpec, index: number) => (\n <GenerativeUIRenderer key={index} spec={childSpec} onError={onError} />\n ))}\n </div>\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Unknown type fallback\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold\">Unsupported UI component</p>\n <p className=\"text-sm text-gray-600 mt-1\">Component type: {spec.type}</p>\n </div>\n );\n}\n",
8
8
  "/**\n * Component Registry for Generative UI\n *\n * Maps component specifications to actual React components.\n * Allows registering custom components at runtime.\n */\n\n/**\n * Component renderer function type\n */\nexport type ComponentRenderer = (props: any) => any; // React.ReactNode in React context\n\n/**\n * Component registry class\n */\nexport class ComponentRegistry {\n private static instance: ComponentRegistry;\n private components: Map<string, ComponentRenderer> = new Map();\n\n private constructor() {\n // Private constructor for singleton\n }\n\n /**\n * Get the singleton instance\n */\n static getInstance(): ComponentRegistry {\n if (!ComponentRegistry.instance) {\n ComponentRegistry.instance = new ComponentRegistry();\n }\n return ComponentRegistry.instance;\n }\n\n /**\n * Register a component renderer\n */\n register(type: string, renderer: ComponentRenderer): void {\n this.components.set(type, renderer);\n }\n\n /**\n * Register multiple components at once\n */\n registerBatch(components: Record<string, ComponentRenderer>): void {\n Object.entries(components).forEach(([type, renderer]) => {\n this.register(type, renderer);\n });\n }\n\n /**\n * Get a registered component renderer\n */\n get(type: string): ComponentRenderer | undefined {\n return this.components.get(type);\n }\n\n /**\n * Check if a component is registered\n */\n has(type: string): boolean {\n return this.components.has(type);\n }\n\n /**\n * Unregister a component\n */\n unregister(type: string): void {\n this.components.delete(type);\n }\n\n /**\n * Get all registered component types\n */\n getRegisteredTypes(): string[] {\n return Array.from(this.components.keys());\n }\n\n /**\n * Clear all registered components\n */\n clear(): void {\n this.components.clear();\n }\n}\n\n/**\n * Get the global component registry instance\n */\nexport function getComponentRegistry(): ComponentRegistry {\n return ComponentRegistry.getInstance();\n}\n\n/**\n * Helper to register a chart component\n */\nexport function registerChartComponent(name: string, renderer: ComponentRenderer): void {\n getComponentRegistry().register(`chart:${name}`, renderer);\n}\n\n/**\n * Helper to get a chart component\n */\nexport function getChartComponent(name: string): ComponentRenderer | undefined {\n return getComponentRegistry().get(`chart:${name}`);\n}\n",
9
- "import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n CustomRenderFunction\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\n/**\n * Tool handler function type (now supports generative UI)\n */\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\n/**\n * Runtime registry for custom render functions (not serializable)\n * These are React components/functions that can't be stored in JSON\n */\nconst customRenderRegistry = new Map<string, CustomRenderFunction>();\n\n/**\n * Store a custom render function and return its unique key\n */\nfunction registerCustomRender(renderFn: CustomRenderFunction): string {\n const key = `custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n customRenderRegistry.set(key, renderFn);\n return key;\n}\n\n/**\n * Get a custom render function by key\n */\nexport function getCustomRender(key: string): CustomRenderFunction | undefined {\n return customRenderRegistry.get(key);\n}\n\n/**\n * Check if a value is a ToolHandlerResult with UI spec\n */\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\n/**\n * Check if a value is a UIComponentSpec\n */\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Process tool handler result and extract data/UI\n * Exported for use in session loading UI hydration\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n // Case 1: ToolHandlerResult with data and ui\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n\n let uiComponent: any = undefined;\n if (ui) {\n // Handle custom render functions\n if (ui.type === 'custom' && typeof (ui as any).render === 'function') {\n const renderKey = registerCustomRender((ui as any).render);\n uiComponent = {\n ...ui,\n renderKey,\n render: undefined, // Don't store the function itself\n };\n } else {\n // Serializable UI spec\n uiComponent = ui;\n }\n }\n\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent,\n };\n }\n\n // Case 2: Direct UI component spec (no separate data)\n if (isUIComponentSpec(result)) {\n let uiComponent: any;\n if (result.type === 'custom' && typeof (result as any).render === 'function') {\n const renderKey = registerCustomRender((result as any).render);\n uiComponent = {\n ...result,\n renderKey,\n render: undefined,\n };\n } else {\n uiComponent = result;\n }\n\n return {\n resultData: JSON.stringify(result),\n uiComponent,\n };\n }\n\n // Case 3: Legacy format - plain data (backward compatible)\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true\n) {\n const client = useAgnoClient();\n const toolHandlerContext = useToolHandlers();\n\n // Check if in team mode - teams don't support HITL\n const isTeamMode = client.getConfig().mode === 'team';\n\n // Log warning once if in team mode\n useEffect(() => {\n if (isTeamMode) {\n console.warn(\n '[useAgnoToolExecution] HITL (Human-in-the-Loop) frontend tool execution is not supported for teams. ' +\n 'Only agents support the continue endpoint. This hook will not function in team mode.'\n );\n }\n }, [isTeamMode]);\n\n // Merge global handlers with local handlers (local takes precedence)\n const mergedHandlers = useMemo(() => {\n const globalHandlers = toolHandlerContext?.handlers || {};\n return { ...globalHandlers, ...handlers };\n }, [toolHandlerContext?.handlers, handlers]);\n\n const [pendingTools, setPendingTools] = useState<ToolCall[]>([]);\n const [isPaused, setIsPaused] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [executionError, setExecutionError] = useState<string | undefined>();\n\n // Listen for run:paused events (only for agents, not teams)\n useEffect(() => {\n // Don't register listeners if in team mode\n if (isTeamMode) {\n return;\n }\n\n const handleRunPaused = (event: ToolExecutionEvent) => {\n setIsPaused(true);\n setPendingTools(event.tools);\n setExecutionError(undefined);\n };\n\n const handleRunContinued = () => {\n setIsPaused(false);\n setPendingTools([]);\n setIsExecuting(false);\n setExecutionError(undefined);\n };\n\n client.on('run:paused', handleRunPaused);\n client.on('run:continued', handleRunContinued);\n\n return () => {\n client.off('run:paused', handleRunPaused);\n client.off('run:continued', handleRunContinued);\n };\n }, [client, isTeamMode]);\n\n /**\n * Execute all pending tools and continue the run\n */\n const executeAndContinue = useCallback(async () => {\n if (!isPaused || pendingTools.length === 0) {\n console.warn('[useAgnoToolExecution] Cannot execute: no pending tools');\n return;\n }\n\n setIsExecuting(true);\n setExecutionError(undefined);\n\n try {\n // Execute each tool\n const updatedTools = await Promise.all(\n pendingTools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n\n if (!handler) {\n return {\n ...tool,\n result: JSON.stringify({\n error: `No handler registered for ${tool.tool_name}`,\n }),\n };\n }\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n\n // Store UI components in the client's message store before continuing\n // This ensures the UI components are visible even if the backend doesn't echo them back\n const toolsWithUI = updatedTools.filter(t => (t as any).ui_component);\n if (toolsWithUI.length > 0) {\n // Emit a custom event with the UI data\n client.emit('ui:render', {\n tools: updatedTools,\n runId: client.getState().pausedRunId,\n });\n }\n\n // Add frontend-executed tool calls to the message before continuing\n // This ensures they appear in the UI and persist in the message\n client.addToolCallsToLastMessage(updatedTools);\n\n // Continue the run with results\n await client.continueRun(updatedTools);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n setExecutionError(errorMessage);\n setIsExecuting(false);\n throw error;\n }\n }, [client, mergedHandlers, isPaused, pendingTools]);\n\n /**\n * Hydrate tool calls with UI when session loads\n */\n useEffect(() => {\n const handleSessionLoaded = async (_sessionId: string) => {\n const messages = client.getMessages();\n\n for (const message of messages) {\n if (!message.tool_calls) continue;\n\n for (const tool of message.tool_calls) {\n // Skip if already has UI\n if ((tool as any).ui_component) continue;\n\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) continue;\n\n try {\n const result = await handler(tool.tool_args);\n const { uiComponent } = processToolResult(result, tool);\n\n if (uiComponent) {\n client.hydrateToolCallUI(tool.tool_call_id, uiComponent);\n }\n } catch (err) {\n console.error(`Failed to hydrate UI for ${tool.tool_name}:`, err);\n }\n }\n }\n };\n\n client.on('session:loaded', handleSessionLoaded);\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n };\n }, [client, mergedHandlers]);\n\n /**\n * Execute tools manually (for user confirmation flows)\n * Returns the updated tools with results set\n */\n const executeTools = useCallback(\n async (tools: ToolCall[]): Promise<ToolCall[]> => {\n return Promise.all(\n tools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) return tool;\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n },\n [mergedHandlers]\n );\n\n /**\n * Manually continue the run with custom tool results\n */\n const continueWithResults = useCallback(\n async (tools: ToolCall[], options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n if (!isPaused) {\n throw new Error('No paused run to continue');\n }\n setIsExecuting(true);\n try {\n await client.continueRun(tools, options);\n } catch (error) {\n setIsExecuting(false);\n throw error;\n }\n },\n [client, isPaused]\n );\n\n // Auto-execute when paused (if enabled)\n useEffect(() => {\n if (autoExecute && isPaused && !isExecuting && pendingTools.length > 0) {\n executeAndContinue();\n }\n }, [autoExecute, isPaused, isExecuting, pendingTools.length, executeAndContinue]);\n\n return {\n /** Whether the run is currently paused awaiting tool execution */\n isPaused,\n /** Whether tools are currently being executed */\n isExecuting,\n /** Tools awaiting execution */\n pendingTools,\n /** Execute all pending tools and continue the run */\n executeAndContinue,\n /** Execute specific tools and return results without continuing */\n executeTools,\n /** Continue the run with manually provided tool results */\n continueWithResults,\n /** Error from tool execution, if any */\n executionError,\n };\n}\n",
9
+ "import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n CustomRenderFunction\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\n/**\n * Tool handler function type (now supports generative UI)\n */\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\n/**\n * Runtime registry for custom render functions (not serializable)\n * These are React components/functions that can't be stored in JSON\n */\nconst customRenderRegistry = new Map<string, CustomRenderFunction>();\n\n/**\n * Store a custom render function and return its unique key\n */\nfunction registerCustomRender(renderFn: CustomRenderFunction): string {\n const key = `custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n customRenderRegistry.set(key, renderFn);\n return key;\n}\n\n/**\n * Get a custom render function by key\n */\nexport function getCustomRender(key: string): CustomRenderFunction | undefined {\n return customRenderRegistry.get(key);\n}\n\n/**\n * Check if a value is a ToolHandlerResult with UI spec\n */\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\n/**\n * Check if a value is a UIComponentSpec\n */\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Process tool handler result and extract data/UI\n * Exported for use in session loading UI hydration\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n // Case 1: ToolHandlerResult with data and ui\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n\n let uiComponent: any = undefined;\n if (ui) {\n // Handle custom render functions\n if (ui.type === 'custom' && typeof (ui as any).render === 'function') {\n const renderKey = registerCustomRender((ui as any).render);\n uiComponent = {\n ...ui,\n renderKey,\n render: undefined, // Don't store the function itself\n };\n } else {\n // Serializable UI spec\n uiComponent = ui;\n }\n }\n\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent,\n };\n }\n\n // Case 2: Direct UI component spec (no separate data)\n if (isUIComponentSpec(result)) {\n let uiComponent: any;\n if (result.type === 'custom' && typeof (result as any).render === 'function') {\n const renderKey = registerCustomRender((result as any).render);\n uiComponent = {\n ...result,\n renderKey,\n render: undefined,\n };\n } else {\n uiComponent = result;\n }\n\n return {\n resultData: JSON.stringify(result),\n uiComponent,\n };\n }\n\n // Case 3: Legacy format - plain data (backward compatible)\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true,\n options?: { skipHydration?: string[] }\n) {\n const client = useAgnoClient();\n const toolHandlerContext = useToolHandlers();\n\n // Check if in team mode - teams don't support HITL\n const isTeamMode = client.getConfig().mode === 'team';\n\n // Log warning once if in team mode\n useEffect(() => {\n if (isTeamMode) {\n console.warn(\n '[useAgnoToolExecution] HITL (Human-in-the-Loop) frontend tool execution is not supported for teams. ' +\n 'Only agents support the continue endpoint. This hook will not function in team mode.'\n );\n }\n }, [isTeamMode]);\n\n // Merge global handlers with local handlers (local takes precedence)\n const mergedHandlers = useMemo(() => {\n const globalHandlers = toolHandlerContext?.handlers || {};\n return { ...globalHandlers, ...handlers };\n }, [toolHandlerContext?.handlers, handlers]);\n\n const [pendingTools, setPendingTools] = useState<ToolCall[]>([]);\n const [isPaused, setIsPaused] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [executionError, setExecutionError] = useState<string | undefined>();\n\n // Listen for run:paused events (only for agents, not teams)\n useEffect(() => {\n // Don't register listeners if in team mode\n if (isTeamMode) {\n return;\n }\n\n const handleRunPaused = (event: ToolExecutionEvent) => {\n setIsPaused(true);\n setPendingTools(event.tools);\n setExecutionError(undefined);\n };\n\n const handleRunContinued = () => {\n setIsPaused(false);\n setPendingTools([]);\n setIsExecuting(false);\n setExecutionError(undefined);\n };\n\n client.on('run:paused', handleRunPaused);\n client.on('run:continued', handleRunContinued);\n\n return () => {\n client.off('run:paused', handleRunPaused);\n client.off('run:continued', handleRunContinued);\n };\n }, [client, isTeamMode]);\n\n /**\n * Execute all pending tools and continue the run\n */\n const executeAndContinue = useCallback(async () => {\n if (!isPaused || pendingTools.length === 0) {\n console.warn('[useAgnoToolExecution] Cannot execute: no pending tools');\n return;\n }\n\n setIsExecuting(true);\n setExecutionError(undefined);\n\n try {\n // Execute each tool\n const updatedTools = await Promise.all(\n pendingTools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n\n if (!handler) {\n return {\n ...tool,\n result: JSON.stringify({\n error: `No handler registered for ${tool.tool_name}`,\n }),\n };\n }\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n\n // Store UI components in the client's message store before continuing\n // This ensures the UI components are visible even if the backend doesn't echo them back\n const toolsWithUI = updatedTools.filter(t => (t as any).ui_component);\n if (toolsWithUI.length > 0) {\n // Emit a custom event with the UI data\n client.emit('ui:render', {\n tools: updatedTools,\n runId: client.getState().pausedRunId,\n });\n }\n\n // Add frontend-executed tool calls to the message before continuing\n // This ensures they appear in the UI and persist in the message\n client.addToolCallsToLastMessage(updatedTools);\n\n // Continue the run with results\n await client.continueRun(updatedTools);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n setExecutionError(errorMessage);\n setIsExecuting(false);\n throw error;\n }\n }, [client, mergedHandlers, isPaused, pendingTools]);\n\n /**\n * Hydrate tool calls with UI when session loads\n */\n useEffect(() => {\n const handleSessionLoaded = async (_sessionId: string) => {\n const messages = client.getMessages();\n\n for (const message of messages) {\n if (!message.tool_calls) continue;\n\n for (const tool of message.tool_calls) {\n // Skip if already has UI\n if ((tool as any).ui_component) continue;\n\n // Skip HITL/interactive tools — re-invoking would trigger side effects (modals, panels).\n // Tools with a toolResultRenderer are handled at display time via the preserved result.\n if (options?.skipHydration?.includes(tool.tool_name)) continue;\n\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) continue;\n\n try {\n const result = await handler(tool.tool_args);\n const { uiComponent } = processToolResult(result, tool);\n\n if (uiComponent) {\n client.hydrateToolCallUI(tool.tool_call_id, uiComponent);\n }\n } catch (err) {\n console.error(`Failed to hydrate UI for ${tool.tool_name}:`, err);\n }\n }\n }\n };\n\n client.on('session:loaded', handleSessionLoaded);\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n };\n }, [client, mergedHandlers]);\n\n /**\n * Execute tools manually (for user confirmation flows)\n * Returns the updated tools with results set\n */\n const executeTools = useCallback(\n async (tools: ToolCall[]): Promise<ToolCall[]> => {\n return Promise.all(\n tools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) return tool;\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n },\n [mergedHandlers]\n );\n\n /**\n * Manually continue the run with custom tool results\n */\n const continueWithResults = useCallback(\n async (tools: ToolCall[], options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n if (!isPaused) {\n throw new Error('No paused run to continue');\n }\n setIsExecuting(true);\n try {\n await client.continueRun(tools, options);\n } catch (error) {\n setIsExecuting(false);\n throw error;\n }\n },\n [client, isPaused]\n );\n\n // Auto-execute when paused (if enabled)\n useEffect(() => {\n if (autoExecute && isPaused && !isExecuting && pendingTools.length > 0) {\n executeAndContinue();\n }\n }, [autoExecute, isPaused, isExecuting, pendingTools.length, executeAndContinue]);\n\n return {\n /** Whether the run is currently paused awaiting tool execution */\n isPaused,\n /** Whether tools are currently being executed */\n isExecuting,\n /** Tools awaiting execution */\n pendingTools,\n /** Execute all pending tools and continue the run */\n executeAndContinue,\n /** Execute specific tools and return results without continuing */\n executeTools,\n /** Continue the run with manually provided tool results */\n continueWithResults,\n /** Error from tool execution, if any */\n executionError,\n };\n}\n",
10
10
  "/**\n * Helper utilities for creating UI component specifications\n *\n * These helpers make it easy to create common UI patterns without\n * manually constructing the full specification object.\n */\n\nimport type {\n ChartComponentSpec,\n CardGridComponentSpec,\n CardData,\n TableComponentSpec,\n TableColumn,\n MarkdownComponentSpec,\n ArtifactComponentSpec,\n UIComponentSpec,\n ToolHandlerResult,\n} from '@rodrigocoliveira/agno-types';\n\n/**\n * Chart helper options\n */\nexport interface ChartHelperOptions {\n /** Chart title */\n title?: string;\n /** Chart description */\n description?: string;\n /** Layout preference */\n layout?: 'inline' | 'artifact';\n /** Show legend */\n showLegend?: boolean;\n /** Show grid */\n showGrid?: boolean;\n /** Chart height */\n height?: number | string;\n /** Chart width */\n width?: number | string;\n}\n\n/**\n * Create a bar chart specification\n */\nexport function createBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'BarChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n bars: bars.map(bar => ({\n key: bar.key,\n label: bar.label || bar.key,\n color: bar.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a line chart specification\n */\nexport function createLineChart(\n data: any[],\n xKey: string,\n lines: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'LineChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n lines: lines.map(line => ({\n key: line.key,\n label: line.label || line.key,\n color: line.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a pie chart specification\n */\nexport function createPieChart(\n data: any[],\n dataKey: string,\n nameKey: string,\n options?: ChartHelperOptions & { showLabel?: boolean }\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'PieChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n pie: {\n dataKey,\n nameKey,\n label: options?.showLabel ?? true,\n },\n showLegend: options?.showLegend ?? true,\n height: options?.height || 400,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create an area chart specification\n */\nexport function createAreaChart(\n data: any[],\n xKey: string,\n areas: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'AreaChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n areas: areas.map(area => ({\n key: area.key,\n label: area.label || area.key,\n color: area.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Card grid helper options\n */\nexport interface CardGridHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n columns?: {\n default?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n };\n variant?: 'default' | 'bordered' | 'elevated';\n}\n\n/**\n * Create a card grid specification\n */\nexport function createCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): CardGridComponentSpec {\n return {\n type: 'card-grid',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n cards,\n columns: options?.columns || { default: 1, md: 2, lg: 3 },\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Create a simple card\n */\nexport function createCard(\n id: string,\n title: string,\n description?: string,\n options?: {\n image?: string;\n metadata?: Record<string, any>;\n actions?: CardData['actions'];\n }\n): CardData {\n return {\n id,\n title,\n description,\n image: options?.image,\n metadata: options?.metadata,\n actions: options?.actions,\n };\n}\n\n/**\n * Table helper options\n */\nexport interface TableHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n sortable?: boolean;\n filterable?: boolean;\n pagination?: {\n pageSize?: number;\n pageSizeOptions?: number[];\n };\n density?: 'comfortable' | 'compact';\n}\n\n/**\n * Create a table specification\n */\nexport function createTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): TableComponentSpec {\n return {\n type: 'table',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n columns,\n sortable: options?.sortable ?? true,\n filterable: options?.filterable,\n pagination: options?.pagination,\n density: options?.density || 'comfortable',\n },\n };\n}\n\n/**\n * Create a table column definition\n */\nexport function createColumn(\n key: string,\n header: string,\n options?: {\n width?: number | string;\n sortable?: boolean;\n cellType?: 'text' | 'number' | 'date' | 'badge' | 'link';\n format?: TableColumn['format'];\n }\n): TableColumn {\n return {\n key,\n header,\n width: options?.width,\n sortable: options?.sortable,\n cellType: options?.cellType || 'text',\n format: options?.format,\n };\n}\n\n/**\n * Create a markdown specification\n */\nexport function createMarkdown(\n content: string,\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n syntaxHighlight?: boolean;\n }\n): MarkdownComponentSpec {\n return {\n type: 'markdown',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n content,\n syntaxHighlight: options?.syntaxHighlight ?? true,\n },\n };\n}\n\n/**\n * Create an artifact container with multiple child components\n */\nexport function createArtifact(\n content: UIComponentSpec[],\n options?: {\n title?: string;\n description?: string;\n variant?: 'default' | 'bordered' | 'elevated';\n }\n): ArtifactComponentSpec {\n return {\n type: 'artifact',\n title: options?.title,\n description: options?.description,\n props: {\n content,\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Smart chart creator - automatically chooses the best chart type based on data\n */\nexport function createSmartChart(\n data: any[],\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n xKey?: string;\n yKeys?: string[];\n preferredType?: 'bar' | 'line' | 'area' | 'pie';\n }\n): ChartComponentSpec {\n // If no data, return a default bar chart\n if (!data || data.length === 0) {\n return createBarChart([], '', [], options);\n }\n\n // Auto-detect keys if not provided\n const firstItem = data[0];\n const keys = Object.keys(firstItem);\n\n // Try to find suitable xKey (first string key or 'name', 'label', 'category', etc.)\n const xKey =\n options?.xKey ||\n keys.find(k =>\n ['name', 'label', 'category', 'date', 'time', 'month', 'year'].includes(k.toLowerCase())\n ) ||\n keys[0];\n\n // Get numeric keys for yKeys\n const numericKeys = keys.filter(k => k !== xKey && typeof firstItem[k] === 'number');\n const yKeys = options?.yKeys || numericKeys;\n\n // Respect explicit preferredType first\n if (options?.preferredType) {\n switch (options.preferredType) {\n case 'bar':\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'line':\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'area':\n return createAreaChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'pie':\n return createPieChart(data, yKeys[0], xKey, options);\n }\n }\n\n // Auto-detect based on data characteristics\n // If only one value key and non-numeric xKey, consider pie chart\n if (yKeys.length === 1 && typeof firstItem[xKey] === 'string') {\n return createPieChart(data, yKeys[0], xKey, options);\n }\n\n // If xKey looks like a date/time, prefer line chart\n if (\n xKey.toLowerCase().includes('date') ||\n xKey.toLowerCase().includes('time') ||\n xKey.toLowerCase().includes('month') ||\n xKey.toLowerCase().includes('year')\n ) {\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n }\n\n // Default to bar chart for comparisons\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n}\n\n/**\n * Wrap data and UI into a ToolHandlerResult\n */\nexport function createToolResult(data: any, ui: UIComponentSpec): ToolHandlerResult {\n return { data, ui };\n}\n\n/**\n * Quick helper: create a tool result with a bar chart\n */\nexport function resultWithBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createBarChart(data, xKey, bars, options));\n}\n\n/**\n * Quick helper: create a tool result with a smart chart\n */\nexport function resultWithSmartChart(\n data: any[],\n options?: Parameters<typeof createSmartChart>[1]\n): ToolHandlerResult {\n return createToolResult(data, createSmartChart(data, options));\n}\n\n/**\n * Quick helper: create a tool result with a card grid\n */\nexport function resultWithCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): ToolHandlerResult {\n return createToolResult(cards, createCardGrid(cards, options));\n}\n\n/**\n * Quick helper: create a tool result with a table\n */\nexport function resultWithTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createTable(data, columns, options));\n}\n",
11
11
  "import { useState, useEffect, useCallback } from 'react';\nimport type { ChatMessage, ClientState } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Main hook for chat interactions\n * Provides messages, state, and methods to interact with the agent\n */\nexport function useAgnoChat() {\n const client = useAgnoClient();\n const [messages, setMessages] = useState<ChatMessage[]>(client.getMessages());\n const [state, setState] = useState<ClientState>(client.getState());\n\n // Listen to client events and update React state\n useEffect(() => {\n const handleMessageUpdate = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageComplete = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageRefreshed = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleStateChange = (newState: ClientState) => {\n setState(newState);\n };\n\n // Handle UI render event from frontend tool execution\n const handleUIRender = (event: any) => {\n const { tools } = event;\n\n // Update each tool call with its UI component\n for (const tool of tools) {\n if ((tool as any).ui_component) {\n client.hydrateToolCallUI(tool.tool_call_id, (tool as any).ui_component);\n }\n }\n };\n\n // Handle run cancelled event\n const handleRunCancelled = () => {\n // State is already updated via state:change event\n // This handler can be used for additional cancellation logic if needed\n };\n\n client.on('message:update', handleMessageUpdate);\n client.on('message:complete', handleMessageComplete);\n client.on('message:refreshed', handleMessageRefreshed);\n client.on('state:change', handleStateChange);\n client.on('ui:render', handleUIRender);\n client.on('run:cancelled', handleRunCancelled);\n\n // Initialize state\n setMessages(client.getMessages());\n setState(client.getState());\n\n return () => {\n client.off('message:update', handleMessageUpdate);\n client.off('message:complete', handleMessageComplete);\n client.off('message:refreshed', handleMessageRefreshed);\n client.off('state:change', handleStateChange);\n client.off('ui:render', handleUIRender);\n client.off('run:cancelled', handleRunCancelled);\n };\n }, [client]);\n\n /**\n * Send a message to the agent/team\n */\n const sendMessage = useCallback(\n async (message: string | FormData, options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n try {\n await client.sendMessage(message, options);\n } catch (err) {\n throw err;\n }\n },\n [client]\n );\n\n /**\n * Clear all messages\n */\n const clearMessages = useCallback(() => {\n client.clearMessages();\n setMessages([]);\n }, [client]);\n\n /**\n * Cancel the current run\n */\n const cancelRun = useCallback(async () => {\n await client.cancelRun();\n }, [client]);\n\n return {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming: state.isStreaming,\n isRefreshing: state.isRefreshing,\n isPaused: state.isPaused,\n isCancelling: state.isCancelling,\n currentRunId: state.currentRunId,\n error: state.errorMessage,\n state,\n };\n}\n",
12
12
  "import { useState, useEffect, useCallback } from 'react';\nimport type {\n SessionEntry,\n ChatMessage,\n AgentSessionDetailSchema,\n TeamSessionDetailSchema,\n RunSchema,\n TeamRunSchema,\n CreateSessionRequest,\n UpdateSessionRequest,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for session management\n */\nexport function useAgnoSession() {\n const client = useAgnoClient();\n const [sessions, setSessions] = useState<SessionEntry[]>([]);\n const [currentSessionId, setCurrentSessionId] = useState<string | undefined>(\n client.getConfig().sessionId\n );\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to session events\n useEffect(() => {\n const handleSessionLoaded = (sessionId: string) => {\n setCurrentSessionId(sessionId);\n };\n\n const handleSessionCreated = (session: SessionEntry) => {\n setSessions((prev) => [session, ...prev]);\n setCurrentSessionId(session.session_id);\n };\n\n const handleStateChange = () => {\n const config = client.getConfig();\n setCurrentSessionId(config.sessionId);\n setSessions(client.getState().sessions);\n };\n\n client.on('session:loaded', handleSessionLoaded);\n client.on('session:created', handleSessionCreated);\n client.on('state:change', handleStateChange);\n\n // Initialize\n setSessions(client.getState().sessions);\n setCurrentSessionId(client.getConfig().sessionId);\n\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n client.off('session:created', handleSessionCreated);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Load a specific session\n */\n const loadSession = useCallback(\n async (sessionId: string, options?: { params?: Record<string, string> }): Promise<ChatMessage[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const messages = await client.loadSession(sessionId, options);\n setCurrentSessionId(sessionId);\n return messages;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch all sessions\n */\n const fetchSessions = useCallback(async (options?: { params?: Record<string, string> }): Promise<SessionEntry[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const fetchedSessions = await client.fetchSessions(options);\n setSessions(fetchedSessions);\n return fetchedSessions;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n }, [client]);\n\n /**\n * Get a session by ID\n */\n const getSessionById = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getSessionById(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get a run by ID\n */\n const getRunById = useCallback(\n async (\n sessionId: string,\n runId: string,\n options?: { params?: Record<string, string> }\n ): Promise<RunSchema | TeamRunSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getRunById(sessionId, runId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Create a new session\n */\n const createSession = useCallback(\n async (\n request?: CreateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const session = await client.createSession(request, options);\n return session;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Update a session\n */\n const updateSession = useCallback(\n async (\n sessionId: string,\n request: UpdateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateSession(sessionId, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Rename a session\n */\n const renameSession = useCallback(\n async (\n sessionId: string,\n newName: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.renameSession(sessionId, newName, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete a session\n */\n const deleteSession = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteSession(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete multiple sessions\n */\n const deleteMultipleSessions = useCallback(\n async (\n sessionIds: string[],\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteMultipleSessions(sessionIds, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n sessions,\n currentSessionId,\n loadSession,\n fetchSessions,\n getSessionById,\n getRunById,\n createSession,\n updateSession,\n renameSession,\n deleteSession,\n deleteMultipleSessions,\n isLoading,\n error,\n };\n}\n",
@@ -18,7 +18,7 @@
18
18
  "import { useState, useCallback } from 'react';\nimport type {\n EvalSchema,\n EvalRunsListResponse,\n ListEvalRunsParams,\n ExecuteEvalRequest,\n UpdateEvalRunRequest,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for evaluation management\n */\nexport function useAgnoEvals() {\n const client = useAgnoClient();\n const [evalRuns, setEvalRuns] = useState<EvalSchema[]>([]);\n const [pagination, setPagination] = useState<EvalRunsListResponse['meta'] | undefined>();\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n /**\n * List evaluation runs with optional filtering and pagination\n */\n const listEvalRuns = useCallback(\n async (\n listParams: ListEvalRunsParams = {},\n options?: { params?: Record<string, string> }\n ): Promise<EvalRunsListResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const response = await client.listEvalRuns(listParams, options);\n setEvalRuns(response.data);\n setPagination(response.meta);\n return response;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get a specific evaluation run by ID\n */\n const getEvalRun = useCallback(\n async (\n evalRunId: string,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getEvalRun(evalRunId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Execute a new evaluation\n */\n const executeEval = useCallback(\n async (\n request: ExecuteEvalRequest,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.executeEval(request, options);\n // Add the new eval run to the list\n setEvalRuns((prev) => [result, ...prev]);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Update an evaluation run (rename)\n */\n const updateEvalRun = useCallback(\n async (\n evalRunId: string,\n request: UpdateEvalRunRequest,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.updateEvalRun(evalRunId, request, options);\n // Update the eval run in the list\n setEvalRuns((prev) =>\n prev.map((evalRun) => (evalRun.id === evalRunId ? result : evalRun))\n );\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete multiple evaluation runs\n */\n const deleteEvalRuns = useCallback(\n async (\n evalRunIds: string[],\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteEvalRuns(evalRunIds, options);\n // Remove deleted eval runs from the list\n const deletedSet = new Set(evalRunIds);\n setEvalRuns((prev) => prev.filter((evalRun) => !deletedSet.has(evalRun.id)));\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Rename an evaluation run (convenience method)\n */\n const renameEvalRun = useCallback(\n async (\n evalRunId: string,\n newName: string,\n options?: { dbId?: string; table?: string; params?: Record<string, string> }\n ): Promise<EvalSchema> => {\n return updateEvalRun(evalRunId, { name: newName }, options);\n },\n [updateEvalRun]\n );\n\n return {\n // State\n evalRuns,\n pagination,\n isLoading,\n error,\n\n // Methods\n listEvalRuns,\n getEvalRun,\n executeEval,\n updateEvalRun,\n deleteEvalRuns,\n renameEvalRun,\n };\n}\n",
19
19
  "import { useState, useEffect, useCallback } from 'react';\nimport type {\n TraceSummary,\n TraceDetail,\n TraceNode,\n TraceSessionStats,\n ListTracesOptions,\n GetTraceOptions,\n GetTraceSessionStatsOptions,\n} from '@rodrigocoliveira/agno-types';\nimport type {\n PaginatedTracesResult,\n PaginatedTraceSessionStatsResult,\n} from '@rodrigocoliveira/agno-client';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n// Re-export for convenience\nexport type { PaginatedTracesResult, PaginatedTraceSessionStatsResult };\n\n/**\n * Hook for traces management\n *\n * Provides methods to:\n * - List traces with filters (fetchTraces)\n * - Get trace detail or specific span (getTraceDetail)\n * - Get trace session statistics (fetchTraceSessionStats)\n *\n * @example\n * ```tsx\n * const { traces, fetchTraces, isLoading, error } = useAgnoTraces();\n *\n * // Fetch traces for a specific session\n * useEffect(() => {\n * fetchTraces({ session_id: 'my-session-id' });\n * }, []);\n *\n * // Fetch traces with pagination\n * const result = await fetchTraces({ page: 1, limit: 10 });\n * console.log(result.pagination.total_count);\n * ```\n */\nexport function useAgnoTraces() {\n const client = useAgnoClient();\n const [traces, setTraces] = useState<TraceSummary[]>([]);\n const [traceSessionStats, setTraceSessionStats] = useState<TraceSessionStats[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to state changes from client\n useEffect(() => {\n const handleStateChange = () => {\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n };\n\n client.on('state:change', handleStateChange);\n\n // Initialize from current state\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n\n return () => {\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Fetch traces with optional filters\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Traces result with pagination info\n */\n const fetchTraces = useCallback(\n async (\n options: ListTracesOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTracesResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraces(options, requestOptions);\n setTraces(result.traces);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get trace detail or a specific span\n *\n * @param traceId - The trace ID to fetch\n * @param options - Options including optional span_id, run_id, db_id\n * @param requestOptions - Optional per-request headers and params\n * @returns TraceDetail (full trace) or TraceNode (specific span)\n */\n const getTraceDetail = useCallback(\n async (\n traceId: string,\n options: GetTraceOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<TraceDetail | TraceNode> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getTraceDetail(traceId, options, requestOptions);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch trace session statistics\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Trace session stats result with pagination info\n */\n const fetchTraceSessionStats = useCallback(\n async (\n options: GetTraceSessionStatsOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTraceSessionStatsResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraceSessionStats(options, requestOptions);\n setTraceSessionStats(result.stats);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n /** Current list of traces (from last fetchTraces call) */\n traces,\n /** Current trace session statistics (from last fetchTraceSessionStats call) */\n traceSessionStats,\n /** Fetch traces with optional filters and pagination */\n fetchTraces,\n /** Get trace detail or specific span */\n getTraceDetail,\n /** Fetch trace session statistics */\n fetchTraceSessionStats,\n /** Loading state */\n isLoading,\n /** Error message if last operation failed */\n error,\n };\n}\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "FAB6677E5749DDF164756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "EDC9872997598D6964756E2164756E21",
23
23
  "names": []
24
24
  }
package/dist/index.mjs CHANGED
@@ -161,7 +161,7 @@ function processToolResult(result, _tool) {
161
161
  uiComponent: undefined
162
162
  };
163
163
  }
164
- function useAgnoToolExecution(handlers = {}, autoExecute = true) {
164
+ function useAgnoToolExecution(handlers = {}, autoExecute = true, options) {
165
165
  const client = useAgnoClient();
166
166
  const toolHandlerContext = useToolHandlers();
167
167
  const isTeamMode = client.getConfig().mode === "team";
@@ -260,6 +260,8 @@ function useAgnoToolExecution(handlers = {}, autoExecute = true) {
260
260
  for (const tool of message.tool_calls) {
261
261
  if (tool.ui_component)
262
262
  continue;
263
+ if (options?.skipHydration?.includes(tool.tool_name))
264
+ continue;
263
265
  const handler = mergedHandlers[tool.tool_name];
264
266
  if (!handler)
265
267
  continue;
@@ -303,13 +305,13 @@ function useAgnoToolExecution(handlers = {}, autoExecute = true) {
303
305
  }
304
306
  }));
305
307
  }, [mergedHandlers]);
306
- const continueWithResults = useCallback2(async (tools, options) => {
308
+ const continueWithResults = useCallback2(async (tools, options2) => {
307
309
  if (!isPaused) {
308
310
  throw new Error("No paused run to continue");
309
311
  }
310
312
  setIsExecuting(true);
311
313
  try {
312
- await client.continueRun(tools, options);
314
+ await client.continueRun(tools, options2);
313
315
  } catch (error) {
314
316
  setIsExecuting(false);
315
317
  throw error;
@@ -1666,4 +1668,4 @@ export {
1666
1668
  AgnoProvider
1667
1669
  };
1668
1670
 
1669
- //# debugId=414F45CD3B3482F064756E2164756E21
1671
+ //# debugId=124D08F7DF0A0ECE64756E2164756E21