feat(ux): epic UX design improvements across agents, chat, notes, and i18n
Comprehensive UI/UX updates including agent card redesign, chat container improvements, note editor enhancements, memory echo notifications, and updated translations for all 15 locales. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,8 +9,11 @@ import { z } from 'zod'
|
||||
|
||||
export interface ToolContext {
|
||||
userId: string
|
||||
agentId: string
|
||||
actionId: string
|
||||
agentId?: string
|
||||
actionId?: string
|
||||
conversationId?: string
|
||||
notebookId?: string
|
||||
webSearch?: boolean
|
||||
config: Record<string, string>
|
||||
}
|
||||
|
||||
@@ -43,6 +46,29 @@ class ToolRegistry {
|
||||
return built
|
||||
}
|
||||
|
||||
/**
|
||||
* Build tools for the chat endpoint.
|
||||
* Includes internal tools (note_search, note_read) and web tools when configured.
|
||||
*/
|
||||
buildToolsForChat(ctx: ToolContext): Record<string, any> {
|
||||
const toolNames: string[] = ['note_search', 'note_read']
|
||||
|
||||
// Add web tools only when user toggled web search AND config is present
|
||||
if (ctx.webSearch) {
|
||||
const hasWebSearch = ctx.config.WEB_SEARCH_PROVIDER || ctx.config.BRAVE_SEARCH_API_KEY || ctx.config.SEARXNG_URL
|
||||
if (hasWebSearch) {
|
||||
toolNames.push('web_search')
|
||||
}
|
||||
|
||||
const hasWebScrape = ctx.config.JINA_API_KEY
|
||||
if (hasWebScrape) {
|
||||
toolNames.push('web_scrape')
|
||||
}
|
||||
}
|
||||
|
||||
return this.buildToolsForAgent(toolNames, ctx)
|
||||
}
|
||||
|
||||
getAvailableTools(): Array<{ name: string; description: string; isInternal: boolean }> {
|
||||
return Array.from(this.tools.values()).map(t => ({
|
||||
name: t.name,
|
||||
|
||||
Reference in New Issue
Block a user