agent-Specialization/static/src/utils/icons.ts
JOJO b7fe5f2b02 feat(memory): improve workspace memory and skill workflows
Implement workspace-scoped conversation storage with legacy migration based on host workspace metadata, active host workspace state protection, and frontend/backend conversation list scoping.

Add proactive recent-conversation prompt support with a configurable personal-space limit, frozen per conversation metadata, empty-conversation filtering, and a dedicated prompt template.

Add conversation_search and conversation_review tools with readable formatted results, workspace-only access, current-conversation exclusion, multi-keyword search, list mode, message/tool counts, read/save review modes, long-review fallback to .agents/review, and frontend detail renderers.

Move internal workspace artifacts under .agents, update upload/skills/compact/review paths, show .agents internal directories in prompt file trees, and adjust versioning ignores.

Add create_skill and a Skills tool category, move read_skill into that category, validate and archive skill folders, support host global skills and Docker/API private skills, and sync private skills into .agents/skills and prompts.

Update memory stamping with conversation/time source metadata and include frontend icon/status/display updates plus tests for workspace conversation storage and skills management.
2026-05-27 03:04:43 +08:00

98 lines
2.9 KiB
TypeScript

export const ICONS = Object.freeze({
bot: '/static/icons/bot.svg',
book: '/static/icons/book.svg',
brain: '/static/icons/brain.svg',
brainCog: '/static/icons/brain-cog.svg',
camera: '/static/icons/camera.svg',
check: '/static/icons/check.svg',
checkbox: '/static/icons/checkbox.svg',
circleAlert: '/static/icons/circle-alert.svg',
clipboard: '/static/icons/clipboard.svg',
clock: '/static/icons/clock.svg',
eye: '/static/icons/eye.svg',
file: '/static/icons/file.svg',
flag: '/static/icons/flag.svg',
folder: '/static/icons/folder.svg',
folderOpen: '/static/icons/folder-open.svg',
globe: '/static/icons/globe.svg',
hammer: '/static/icons/hammer.svg',
info: '/static/icons/info.svg',
laptop: '/static/icons/laptop.svg',
layers: '/static/icons/layers.svg',
keyboard: '/static/icons/keyboard.svg',
menu: '/static/icons/menu.svg',
mcpLogo: '/static/icons/mcp-logo.svg',
monitor: '/static/icons/monitor.svg',
navigation: '/static/icons/navigation.svg',
octagon: '/static/icons/octagon.svg',
pencil: '/static/icons/pencil.svg',
python: '/static/icons/python.svg',
recycle: '/static/icons/recycle.svg',
save: '/static/icons/save.svg',
search: '/static/icons/search.svg',
settings: '/static/icons/settings.svg',
sparkles: '/static/icons/sparkles.svg',
stickyNote: '/static/icons/sticky-note.svg',
terminal: '/static/icons/terminal.svg',
trash: '/static/icons/trash.svg',
triangleAlert: '/static/icons/triangle-alert.svg',
bell: '/static/icons/bell.svg',
user: '/static/icons/user.svg',
userPen: '/static/icons/user-pen.svg',
wrench: '/static/icons/wrench.svg',
x: '/static/icons/x.svg',
zap: '/static/icons/zap.svg'
});
export const TOOL_ICON_MAP = Object.freeze({
close_sub_agent: 'bot',
create_file: 'file',
create_skill: 'sparkles',
manage_personalization: 'userPen',
create_folder: 'folder',
create_sub_agent: 'bot',
delete_file: 'trash',
extract_webpage: 'globe',
write_file: 'pencil',
edit_file: 'pencil',
vlm_analyze: 'camera',
ocr_image: 'camera',
read_file: 'book',
read_skill: 'book',
rename_file: 'pencil',
run_command: 'terminal',
run_python: 'python',
save_webpage: 'save',
sleep: 'clock',
todo_create: 'stickyNote',
todo_update_task: 'check',
terminal_input: 'keyboard',
terminal_session: 'monitor',
terminal_snapshot: 'clipboard',
unfocus_file: 'eye',
update_memory: 'brain',
conversation_search: 'search',
conversation_review: 'book',
get_sub_agent_status: 'bot',
web_search: 'search',
trigger_easter_egg: 'sparkles',
list_mcp_servers: 'mcpLogo',
view_image: 'camera',
view_video: 'eye'
});
export const TOOL_CATEGORY_ICON_MAP = Object.freeze({
network: 'globe',
mcp: 'mcpLogo',
file_edit: 'pencil',
personalization: 'userPen',
read_focus: 'eye',
skills: 'sparkles',
terminal_realtime: 'monitor',
terminal_command: 'terminal',
memory: 'brain',
todo: 'stickyNote',
sub_agent: 'bot',
easter_egg: 'sparkles'
});