Commit Graph

10 Commits

Author SHA1 Message Date
Artur Do Lago bb250deb3a refactor(config): extract shared config primitives
Create shared.ts with common configuration types that can be used
across agent-core and zee gateway:

- Session primitives: SessionScope, ReplyMode, TypingMode, ReplyToMode
- Policy types: DmPolicy, GroupPolicy
- Logging: LogLevel, ConsoleStyle, LoggingConfig
- Network: RetryConfig, BindMode
- Model/Provider: ModelApi, ModelDefinition, ProviderDefinition
- Processing: ThinkingLevel, QueueMode, QueueDropPolicy

Update types.ts to use shared primitives:
- GeneralSettings.logLevel now uses shared LogLevel
- WhatsAppConfig extended with dmPolicy, groupPolicy, allowFrom, retry
- TelegramConfig extended with dmPolicy, groupPolicy, allowFrom, retry

This is the first step toward config consolidation between agent-core
and zee gateway, enabling type-safe sharing of common configuration.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:30:39 +01:00
Artur Do Lago a9a2b256bf fix(mcp): use bun instead of npx tsx for MCP servers
- bun run works more reliably for spawning child processes
- npx tsx has PATH issues when spawned as subprocess
- Enable all persona MCP servers by default

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:30:39 +01:00
Artur Do Lago afb990b1db feat(mcp): add persona MCP servers for memory, calendar, and portfolio
Implements three MCP servers that expose persona capabilities to external
tools via the Model Context Protocol:

- personas-memory: Qdrant-backed semantic memory (store, search, list, delete, stats)
- personas-calendar: Google Calendar integration (events, create, update, delete, free slots, quick add)
- personas-portfolio: Financial tools bridging to Stanley CLI (portfolio, market data, SEC filings, research, backtest)

Each server uses @modelcontextprotocol/sdk with Zod schemas for type-safe
tool definitions and stdio transport for local process communication.

Config entries added (disabled by default):
- "personas-memory": npx tsx src/mcp/servers/memory.ts
- "personas-calendar": npx tsx src/mcp/servers/calendar.ts
- "personas-portfolio": npx tsx src/mcp/servers/portfolio.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:30:39 +01:00
Artur Do Lago ed54ff5801 feat(johny): add domain tools and update roadmap
Add Johny learning system domain tools:
- johny:study - Study session management
- johny:knowledge - Knowledge graph operations
- johny:mastery - Mastery level tracking
- johny:review - Spaced repetition reviews
- johny:practice - Practice problem management

Tools bridge to Python CLI via spawnSync for:
- Knowledge graph (topic DAG with prerequisites)
- Mastery tracking (6 levels: Unknown → Fluent)
- Spaced repetition (Ebbinghaus decay)
- FIRe (Fractional Implicit Repetition)

Update roadmap to mark Phase 2.3 Johny as COMPLETE.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:30:39 +01:00
Artur Do Lago fe0f8ecf64 refactor(ui): replace emojis with sober UTF-8 unicode symbols
Replace all emoji characters with standard Unicode symbols that render
correctly in terminals with UTF-8 support.

Persona icons:
- Zee: 🧠💜🤖 → ★ (U+2605 Black Star)
- Stanley: 📈 → ♦ (U+2666 Black Diamond)
- Johny: 📚🎓🧠 → ◎ (U+25CE Bullseye)

Status indicators:
- Working: ↻ → ⟳ (wider rotating arrow)
- Pending: ◔ → ◐ (wider half circle)
- Completed: ✓ → ✔ (heavier check)
- Hold mode: ◆ → ▣ (square with inner square)
- Release mode: ◇ → ▢ (rounded square)

Other changes:
- Status headers: 🔺📊 → ◆◈
- Calendar indicator: 📅 → ▦
- Make persona parameter required in createSessionPane()
- Fix keybind conflicts: mode_toggle → <leader>h,
  messages_toggle_conceal → <leader>/, tips_toggle → <leader>?
- Add persistent hold/release indicator in prompt

All symbols are in the Basic Multilingual Plane (BMP) for maximum
terminal compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:26:58 +01:00
Artur Do Lago 47d3e7ef9a feat(branding): rename package to agent-core and configure personas
- Rename packages/opencode to packages/agent-core
- Update bin entry from opencode to agent-core
- Set default_agent to "zee" for persona-first UX
- Update terminal title to show current persona name
- Fix persona colors:
  - Zee: #2563EB (blue)
  - Stanley: #059669 (emerald green)
  - Johny: #DC2626 (red)
- Update all documentation and build script references
- Update root package.json name and dev script

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 12:05:26 +01:00
Artur Do Lago 5984611c48 chore: rename Clawdis references to Zee
- Update all "Clawdis" references to "Zee gateway" in comments/docs
- Clawdis was the old name for the Zee messaging bot (clawdbot fork)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:52:35 +01:00
Artur Do Lago 550b02445b feat(zee): integrate Google Calendar with canvas sidecar
- Add Google Calendar client using OAuth2 tokens from ~/.zee/credentials/google/
- Update zee:calendar tool with real Google Calendar API integration
- Support today, week, month, and custom date range queries
- Auto-display calendar events in canvas sidecar
- Handle token refresh automatically

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:52:35 +01:00
Artur Do Lago ea937786d1 feat(canvas): implement WezTerm-native canvas sidecar
Add canvas TUI system using WezTerm CLI directly (no external deps).
Canvas panes render text, calendar, document, and table views via
ANSI escape codes and box-drawing characters.

New features:
- CanvasManager class with spawn/show/update/close lifecycle
- Built-in renderers: text, calendar, document, table
- IPC methods: canvas:spawn, canvas:show, canvas:update, canvas:close,
  canvas:selection, canvas:list
- Canvas tools now use real IPC instead of placeholders
- WezTerm keybinding: LEADER+c for canvas actions menu

The sidecar daemon now manages:
- LSP server (TCP:7777)
- IPC server (Unix socket)
- Tiara orchestrator (workers, tasks)
- Canvas manager (panes, rendering)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:52:35 +01:00
Artur Do Lago ac8aed235e feat: Agent-core customizations for Personas ecosystem
- Add Personas skills (johny, stanley, zee)
- Add domain tools (stanley finance, zee personal)
- Add personas orchestration and knowledge graphs
- Add LLM Council for multi-model deliberation
- Add memory types for Qdrant vector storage
- Add tiara submodule for orchestration
- Add CLAUDE.md project documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:51:37 +01:00