- Replace docker service create with docker run for agent deployment
- Add Docker CLI to control-center image for container management
- Mount Docker socket in control-center container
- Add AGENT_DATABASE_URL (Go format) to compose environment
- Fix container status check from Swarm service to docker inspect
- Verify container running after deploy with docker inspect
- Add LLM_BASE_URL and LLM_API_KEY env vars to control-center compose
- Restore agent-worker from commit 153399f: autonomous HTTP server per agent
(main.go 597 lines, main_test.go 438 lines, Dockerfile.agent-worker)
- Add container fields to agents table (serviceName, servicePort, containerImage, containerStatus)
- Update executor.go: real delegateToAgent() with HTTP POST to agent containers
- Update db.go: GetAgentByID, UpdateContainerStatus, GetAgentHistory, SaveHistory
- Update orchestrator.go: inject DB into executor for container address resolution
- Add tRPC endpoints: agents.deployContainer, agents.stopContainer, agents.containerStatus
- Add Docker Swarm deploy/stop logic in server/agents.ts
- Add Start/Stop container buttons to Agents.tsx with status badges
- Fix chat auto-scroll: replace ScrollArea with overflow-y-auto for direct scrollTop control
- Fix parallel chats: make isThinking per-conversation (thinkingConvId) instead of global
so switching between chats works while one is processing
drizzle-kit migrate hangs in Alpine container because it needs tsx
to run drizzle.config.ts. Tables already exist from previous deployments.
Seed handles schema idempotently.