auto(0131): agents v0.2 — per-agent goroutine control + clear_memory + delete_cache #2

Open
dataforge wants to merge 0 commits from auto/0131-agents-v02 into master
Owner

Resumen

  • Per-agent unified control: stop/start individual agent goroutines sin matar el launcher (context.WithCancel per agent, RegisterUnifiedAgent/StopUnifiedAgent en process.Manager).
  • Nuevos endpoints: POST /agents/{id}/clear_memory (borra messages+facts de memory.db) y POST /agents/{id}/delete_cache (elimina crypto/ + cache/).
  • Nuevos campos en /agents: uptime_seconds (desde startedAt) y messages_24h (SQLite read-only, TTL 30s).
  • AgentController interface en api package para evitar dependencia circular con launcher.

task_run_id

task_e5a42e5ace47bcd8

Verificar antes de mergear

  • Go tests: CGO_ENABLED=0 go test -tags goolm ./...
  • Deploy backend: ./dev-scripts/server/restart.sh en organic-machine.com
  • E2E tests: pytest -x -q projects/element_agents/apps/agents_dashboard/tests/test_connect_e2e.py
## Resumen - **Per-agent unified control**: stop/start individual agent goroutines sin matar el launcher (context.WithCancel per agent, RegisterUnifiedAgent/StopUnifiedAgent en process.Manager). - **Nuevos endpoints**: `POST /agents/{id}/clear_memory` (borra messages+facts de memory.db) y `POST /agents/{id}/delete_cache` (elimina crypto/ + cache/). - **Nuevos campos en /agents**: `uptime_seconds` (desde startedAt) y `messages_24h` (SQLite read-only, TTL 30s). - **AgentController interface** en api package para evitar dependencia circular con launcher. ## task_run_id task_e5a42e5ace47bcd8 ## Verificar antes de mergear - [ ] Go tests: `CGO_ENABLED=0 go test -tags goolm ./...` - [ ] Deploy backend: `./dev-scripts/server/restart.sh` en organic-machine.com - [ ] E2E tests: `pytest -x -q projects/element_agents/apps/agents_dashboard/tests/test_connect_e2e.py`
dataforge added 1 commit 2026-05-22 21:07:33 +00:00
- Manager: RegisterUnifiedAgent/UnregisterUnifiedAgent/StopUnifiedAgent/
  IsUnifiedAgentRunning/UptimeSeconds — cancela goroutines individuales sin
  matar el launcher
- Manager: UptimeSeconds en AgentStatus via startedAt map
- api/server: AgentController interface + WithController/WithDataDir builders
  + rutas POST /agents/{id}/clear_memory y /agents/{id}/delete_cache
- api/handlers: handleStartAgent/Stop/Restart delegan a controller en modo
  unified; Messages24h enriquecido via queryMessages24h (cache 30s)
- api/handlers: handleClearMemory — para la goroutine, borra messages+facts de
  memory.db, responde {status,messages_deleted,facts_deleted}
- api/handlers: handleDeleteCache — para la goroutine, elimina crypto/ y cache/,
  responde {status,paths_deleted}
- launcher/registry: launchGoroutine extrae goroutine con contexto per-agente;
  deps.procMgr hookea RegisterUnified; startAgent permite relanzar via reload
- launcher/main: agentController implementa api.AgentController sobre registry;
  mgr compartido entre API y registry; WithController+WithDataDir cableados

Co-Authored-By: fn-orquestador <noreply@fn-registry>
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin auto/0131-agents-v02:auto/0131-agents-v02
git checkout auto/0131-agents-v02
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dataforge/agents_and_robots#2