Replace the plugin list activation dropdown and advanced shortcut with a one-click ON/OFF switch. Keep project/profile-specific activation inside the plugin config flow, remove the old advanced-only modal, update plugin docs, and add regression coverage for the binary list toggle contract.
Surface the active Agent Profile beside the model preset switcher and let users switch profiles through the existing settings flow.
- add agent profile metadata to state snapshots
- list available profiles in the chat composer profile dropdown
- persist profile changes via settings_get/settings_set
- add a Create new Agent Profile action that opens a guided a0-create-agent chat
- rename the agent-profile creation skill/docs from a0-new-agent to a0-create-agent
- clean up fetchApi imports for related WebUI modules
Move plugin config modal initialization into pluginSettingsStore.openConfig(), so callers only pass plugin name and optional scope. Resolve invalid project/agent scopes inside the store, initialize toggle state on the resolved scope, remove the old saveMode/core-save path, and delete stale saveMode guidance from docs and plugin skills.
- Added a shortcut "Open Advanced" icon next to the dropdown (visible only in Advanced mode) to quickly open the Switch modal.
- Fixed the Switch modal so the "Configure Plugin" button only appears if the plugin actually has settings.
- Redesigned scope rule creation in the Switch modal: switching project/agent profiles no longer auto-creates .toggle-1 files silently. Users must now intentionally click a + button to create a rule for that scope before the switch becomes active.
- Added a shortcut "Open Advanced" icon next to the dropdown (visible only in Advanced mode) to quickly open the Switch modal.
- Fixed the Switch modal so the "Configure Plugin" button only appears if the plugin actually has settings.
- Redesigned scope rule creation in the Switch modal: switching project/agent profiles no longer auto-creates .toggle-1 files silently. Users must now intentionally click a + button to create a rule for that scope before the switch becomes active.
- Updated documentation to reflect the new plugin structure and activation rules.
- Refactored activation rules related code in the API and frontend to accommodate the new plugin settings and activation logic.
- Added support for clearing per-scope overrides when toggling plugins.
Remove a temporary test extension and add UI and Python support for plugin toggles/settings. Highlights:
- Deleted plugins/memory/extensions/webui/.../testingext.js (temporary test code removed).
- API: python/api/plugins.py: add asset_type input to list_configs and route to toggle asset pattern when requested.
- Helpers: python/helpers/plugins.py: add typing for toggle state, TOGGLE_FILE_PATTERN, always_enabled metadata flag, stub get_toggle_state/toggle_plugin, and small refactor in get_enabled_plugins to import subagents only when needed.
- Subagents: python/helpers/subagents.py: iterate over get_plugins_list() and adjust path usage.
- Web UI: add new components under webui/components/plugins/toggle: plugin-toggle-advanced.html (plugin settings modal), plugin-toggle-store.js (Alpine store for plugin settings), and plugin-toggles.html (list of existing plugin configurations).
These changes add the front-end modal and store for per-project/agent plugin settings and introduce backend patterns/constants and stubs to support toggles (get_toggle_state/toggle_plugin) and listing toggle assets. Further implementation is needed to persist toggle state and fully integrate TOGGLE_FILE_PATTERN handling.