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>
- 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>
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>
- 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>
- 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>
- 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>
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>