agent-zero/python/api
frdel 5acb733b9e Refactor plugin/project helpers; add plugin UI
Major refactor of plugin and project helper APIs and add a plugin management UI.

Key changes:
- Rename project meta helpers from get_project_meta_folder -> get_project_meta and update callers across many modules (projects, memory, skills_import, secrets, subagents, skills).
- Overhaul python/helpers/plugins.py: introduce PluginMetadata and PluginListItem (Pydantic), new get_plugins_list/get_enhanced_plugins_list, support for reading plugin config (config.json), enable/disable logic (.enabled/.disabled), get_enabled_plugin_paths(), and helpers to find/read/save plugin assets. Plugin discovery now supports webui/main/config detection.
- Use enabled-plugin-aware lookups in subagents, extension loading, and other places (plugins.get_enabled_plugin_paths / get_enhanced_plugins_list used instead of previous list_plugins/get_plugin_paths where appropriate).
- Add API endpoint python/api/plugins_list.py to return JSON plugin lists.
- Add frontend plugin management UI: web components webui/components/plugins/list/plugin-list.html and pluginListStore.js; wire quick-actions button to open the plugins modal.
- Add new webui assets and config pages for example_agent and memory plugins; add plugins/plugin.json metadata for example_agent and memory.
- Memory plugin fixes: updated calls to use get_project_meta and adjusted memory path helpers to use project meta layout.
- File helper: add read_file_json to read JSON files directly.
- run_ui: tightened plugin asset serving security (only serve from plugin webui or plugin extensions/webui), added unified _serve_plugin_asset helper, and load plugin API handlers using enhanced plugin list.
- Small fixes: adjustments to parse_prompt/read_prompt/tool lookup to use updated subagents.get_paths signature, extension loader now uses enabled plugin paths, and web UI extensions JS updated to expect string paths.

These changes centralize project meta handling, improve plugin discovery and enable/disable behavior, and add a basic plugin management UI and API.
2026-02-19 17:20:14 +01:00
..
agents.py polish skills import, bugfixes 2026-02-06 13:41:56 +01:00
api_files_get.py refactor: migrate user data to usr/ + update frontend paths 2025-12-12 10:11:12 +08:00
api_log_get.py WebSocket merge 2026-02-01 16:07:45 +01:00
api_message.py Merge branch 'pr/842' into development 2026-01-30 16:31:20 +01:00
api_reset_chat.py skills cleanup, minor fixes 2026-02-02 19:03:58 +01:00
api_terminate_chat.py projects continued 2025-11-03 16:17:12 +01:00
backup_create.py fix backup and file limit 2026-02-06 14:11:57 +01:00
backup_get_defaults.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
backup_inspect.py fix backup and file limit 2026-02-06 14:11:57 +01:00
backup_preview_grouped.py fix backup and file limit 2026-02-06 14:11:57 +01:00
backup_restore.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
backup_restore_preview.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
backup_test.py fix backup and file limit 2026-02-06 14:11:57 +01:00
banners.py plugins - frontend PoC 2026-02-16 20:01:25 +01:00
chat_create.py WebSocket merge 2026-02-01 16:07:45 +01:00
chat_export.py projects continued 2025-11-03 16:17:12 +01:00
chat_files_path_get.py simplification and further memory decoupling 2026-02-15 03:25:33 +01:00
chat_load.py v0.8.1 release 2025-01-17 22:50:17 +01:00
chat_remove.py WebSocket merge 2026-02-01 16:07:45 +01:00
chat_reset.py WebSocket merge 2026-02-01 16:07:45 +01:00
csrf_token.py fixes - allowed hosts, image get folders, extensions after termination 2026-01-20 16:40:16 +01:00
ctx_window_get.py projects continued 2025-11-03 16:17:12 +01:00
delete_work_dir_file.py file/dir renaming, file actions dropdown, extend APIs 2026-01-29 23:54:13 +01:00
download_work_dir_file.py fix file name download issue 2025-11-20 13:25:30 +01:00
edit_work_dir_file.py clean error msgs in file browser 2026-01-31 16:14:23 +01:00
file_info.py v0.8.1 release 2025-01-17 22:50:17 +01:00
get_work_dir_files.py projects continued 2025-11-03 16:17:12 +01:00
health.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
history_get.py projects continued 2025-11-03 16:17:12 +01:00
image_get.py fix code break in tables, remove folder restriction in image_get 2026-01-22 10:02:16 +01:00
load_webui_extensions.py Support webui JS/HTML extensions and plugin paths 2026-02-17 10:17:19 +01:00
logout.py Settings polishing, logout button 2026-02-05 22:02:49 +01:00
mcp_server_get_detail.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
mcp_server_get_log.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
mcp_servers_apply.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
mcp_servers_status.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
message.py Merge branch 'pr/842' into development 2026-01-30 16:31:20 +01:00
message_async.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
message_queue_add.py WebSocket merge 2026-02-01 16:07:45 +01:00
message_queue_remove.py WebSocket merge 2026-02-01 16:07:45 +01:00
message_queue_send.py WebSocket merge 2026-02-01 16:07:45 +01:00
notification_create.py notifications polishing 2025-08-04 13:07:25 +02:00
notifications_clear.py notifications polishing 2025-08-04 13:07:25 +02:00
notifications_history.py WebSocket merge 2026-02-01 16:07:45 +01:00
notifications_mark_read.py WebSocket merge 2026-02-01 16:07:45 +01:00
nudge.py projects continued 2025-11-03 16:17:12 +01:00
pause.py projects continued 2025-11-03 16:17:12 +01:00
plugins_list.py Refactor plugin/project helpers; add plugin UI 2026-02-19 17:20:14 +01:00
poll.py WebSocket merge 2026-02-01 16:07:45 +01:00
projects.py polish skills import, bugfixes 2026-02-06 13:41:56 +01:00
rename_work_dir_file.py file/dir renaming, file actions dropdown, extend APIs 2026-01-29 23:54:13 +01:00
restart.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00
rfc.py local TTY implementation 2025-08-07 13:32:56 +02:00
scheduler_task_create.py Squashed commit of the following: 2025-11-13 09:00:10 +01:00
scheduler_task_delete.py Fix: proper task cancellation in scheduler, leakage in defer.py 2025-11-19 12:50:43 +01:00
scheduler_task_run.py (WIP) feat: Task Scheduler Management UI/UX and tools - Part 3 2025-05-01 15:38:51 +02:00
scheduler_task_update.py Squashed commit of the following: 2025-11-13 09:00:10 +01:00
scheduler_tasks_list.py Squashed commit of the following: 2025-11-13 09:00:10 +01:00
scheduler_tick.py security fixes 2025-06-24 14:19:49 +02:00
settings_get.py setting refactor - backend conversions 2025-12-22 13:47:50 +01:00
settings_set.py setting refactor - backend conversions 2025-12-22 13:47:50 +01:00
settings_workdir_file_structure.py workdir outside project, gitkeeps 2026-02-08 14:54:49 +01:00
skills.py Refactor plugin/project helpers; add plugin UI 2026-02-19 17:20:14 +01:00
skills_import.py polish skills import, bugfixes 2026-02-06 13:41:56 +01:00
skills_import_preview.py polish skills import, bugfixes 2026-02-06 13:41:56 +01:00
subagents.py subagents preparation 2025-11-26 09:07:30 +01:00
synthesize.py projects continued 2025-11-03 16:17:12 +01:00
transcribe.py projects continued 2025-11-03 16:17:12 +01:00
tunnel.py feat: Microsoft Dev Tunnels 2026-01-01 19:26:46 +08:00
tunnel_proxy.py csrf ALLOWED_ORIGINS protection 2025-10-06 12:20:15 +02:00
upload.py Merge branch 'pr/842' into development 2026-01-30 16:31:20 +01:00
upload_work_dir_files.py api cleanup, microphone permission 2025-07-15 21:04:56 +02:00