mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 08:03:39 +00:00
Composable agent runtime monorepo built on the pi ecosystem
* fix(coding-agent): tree selector focuses nearest visible ancestor When the selected entry is not visible (filtered out by mode change or a metadata entry like model_change), walk up the parent chain to find the nearest visible ancestor instead of jumping to the last item. Fixes selection behavior for: - Initial selection when currentLeafId is a metadata entry - Filter switching, e.g. Ctrl+U for user-only mode * fix(coding-agent): tree selector preserves selection through empty filters When switching to a filter with no results, e.g. labeled-only with no labels and back, the cursor would reset to the first message instead of the original selection. Track lastSelectedId as a class member and only update it when filteredNodes is non-empty, preserving the selection across empty filter results. * test(coding-agent): add tree selector filter and selection tests - Test metadata entry handling (model_change, thinking_level_change) - Test filter switching with parent traversal (default ↔ user-only) - Test empty filter preservation (labeled-only with no labels) |
||
|---|---|---|
| .github | ||
| .husky | ||
| .pi | ||
| packages | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| biome.json | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| pi-mono.code-workspace | ||
| pi-test.sh | ||
| README.md | ||
| test.sh | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
Pi Monorepo
Looking for the pi coding agent? See packages/coding-agent for installation and usage.
Tools for building AI agents and managing LLM deployments.
Packages
| Package | Description |
|---|---|
| @mariozechner/pi-ai | Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.) |
| @mariozechner/pi-agent-core | Agent runtime with tool calling and state management |
| @mariozechner/pi-coding-agent | Interactive coding agent CLI |
| @mariozechner/pi-mom | Slack bot that delegates messages to the pi coding agent |
| @mariozechner/pi-tui | Terminal UI library with differential rendering |
| @mariozechner/pi-web-ui | Web components for AI chat interfaces |
| @mariozechner/pi-pods | CLI for managing vLLM deployments on GPU pods |
Contributing
See CONTRIBUTING.md for contribution guidelines and AGENTS.md for project-specific rules (for both humans and agents).
Development
npm install # Install all dependencies
npm run build # Build all packages
npm run check # Lint, format, and type check
./test.sh # Run tests (skips LLM-dependent tests without API keys)
./pi-test.sh # Run pi from sources (must be run from repo root)
Note:
npm run checkrequiresnpm run buildto be run first. The web-ui package usestscwhich needs compiled.d.tsfiles from dependencies.
License
MIT