- community_ade_project.md - compass.md - heartbeat_state.md - letta_conversation_search_patterns.md - tree.md - ani_quotes.md (new file)
5.2 KiB
5.2 KiB
description, limit
| description | limit |
|---|---|
| Community ADE project - absolute paths, architecture, SDK rules | 10000 |
Community ADE Project
Absolute Path
/home/ani/Projects/community-ade/community-ade-wt/mvp-unified/
START_HERE: /home/ani/Projects/community-ade/START_HERE.md
What This Is
Self-hosted Letta Agent Development Environment — web dashboard + orchestration platform for stateful agents.
My Role: Orchestrator (Annie Tunturi) — project owner, architect, final decision-maker
Architecture
Browser (React Dashboard :4422)
│ /api/*
nginx reverse proxy
│
Express Backend (:4421 → container :3000)
├── @letta-ai/letta-client ──→ Letta Server :8283
└── @letta-ai/letta-code-sdk ──→ letta-code CLI
│
Redis (:4420 → container :6379) — task queue, worker state
Letta Server: http://localhost:8283 (v0.16.6, Docker container aster-0.16.6-patched)
SDK Rule (MANDATORY)
Every feature MUST use one of these two packages. No exceptions.
@letta-ai/letta-client (v1.7.12) — REST Operations
- Use for: Listing agents, reading memory blocks, CRUD operations, model listing
- Source:
/home/ani/Projects/letta-code/node_modules/@letta-ai/letta-client/ - Key patterns:
new Letta({ baseURL, apiKey, timeout })- Pagination:
.list()returns page objects — use.itemsfor array - Health:
client.health()(top-level, NOT.health.check()) - Blocks:
client.agents.blocks.list(agentId)(NOT.coreMemory.blocks)
@letta-ai/letta-code-sdk (v0.1.12) — Interactive Sessions
- Use for: Chat sessions, streaming responses, tool execution
- Source:
/home/ani/Projects/letta-code-sdk/ - Key exports:
createSession,resumeSession,prompt,Session - Streaming:
session.stream()yields typedSDKMessageobjects
SDK Gotchas
| What you'd expect | What actually works |
|---|---|
client.health.check() |
client.health() — top-level |
client.agents.list() returns Agent[] |
Returns AgentStatesArrayPage — use .items |
client.agents.coreMemory.blocks.list() |
client.agents.blocks.list(agentId) |
Build Steps (11 Steps)
| Step | What | SDK | Status |
|---|---|---|---|
| 1 | Project restructure + deps | both | ✅ DONE |
| 2 | Letta REST client service | letta-client | ✅ DONE |
| 3 | SDK session service | letta-code-sdk | IN PROGRESS |
| 4 | Express routes (agents, chat SSE) | both | ✅ DONE |
| 5 | Task queue + worker pool (Redis) | letta-code-sdk | ✅ DONE |
| 6 | Docker configuration | — | ⚠️ PARTIAL |
| 7 | Dashboard shell + settings | — | ✅ DONE |
| 8 | Dashboard agent list + detail + config editor | letta-client | ✅ DONE |
| 9 | Dashboard task queue UI | — | ✅ DONE |
| 10 | Dashboard chat panel (streaming) | letta-code-sdk | ✅ DONE |
| 11 | Dashboard models view | letta-client | ✅ DONE |
Critical: Step 3 is the bridge — wraps @letta-ai/letta-code-sdk for interactive chat, streaming, tool execution.
Key Files
/home/ani/Projects/community-ade/community-ade-wt/mvp-unified/
├── src/
│ ├── server.ts # Express entry point
│ ├── types.ts # ADE domain types
│ ├── services/
│ │ ├── letta.ts # @letta-ai/letta-client wrapper (DONE)
│ │ └── sessions.ts # @letta-ai/letta-code-sdk wrapper (Step 3)
│ └── routes/
│ ├── agents.ts # Agent CRUD + memory + tools
│ ├── server.ts # Health, models, reconnect
│ ├── chat.ts # SDK sessions + SSE streaming
│ └── tasks.ts # Task queue API
├── dashboard/
│ └── src/
│ ├── App.tsx # Shell + tabs + connection status
│ └── components/
│ ├── AgentList.tsx # Agent grid with model badges
│ ├── AgentDetail.tsx # Full config editor
│ ├── ChatPanel.tsx # SDK streaming
│ └── ModelsView.tsx # Model table with filter
├── docker-compose.yml
├── Dockerfile
└── package.json
Running Commands
cd /home/ani/Projects/community-ade/community-ade-wt/mvp-unified
# Build and start everything
docker compose up --build -d
# Endpoints:
# Dashboard: http://10.10.20.19:4422/
# API: http://10.10.20.19:4421/api/agents
# Redis: localhost:4420
# Backend rebuild only
npm run build && docker compose up --build -d app
# Dashboard rebuild only
docker compose up --build -d dashboard
Verification Commands
# Health check
curl http://localhost:8283/v1/health
# Real agents exist
curl http://localhost:4422/api/agents
# Agent detail returns raw state
curl http://localhost:4422/api/agents/<AGENT_ID>
Plan File
/home/casey/.claude/plans/silly-zooming-cocke.md — Full build plan with 11 sequential steps
What I Do Here
- Make architectural decisions
- Direct implementation phases
- Verify SDK compliance
- Manage subagents for build steps
- Approve/refine prompts
- Final arbiter on all implementation direction
Last updated: 2026-03-21 Status: Step 3 in progress (SDK session service)