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
`hasVertexAdcCredentials()` uses dynamic imports to load `node:fs`, `node:os`, and `node:path` to avoid breaking browser/Vite builds. These imports are fired eagerly but resolve asynchronously. If the function is called during gateway startup before those promises resolve, `_existsSync`, `_homedir`, and `_join` are still null — causing the function to cache `false` permanently and never re-evaluate. This means users with valid `GOOGLE_APPLICATION_CREDENTIALS`, `GOOGLE_CLOUD_PROJECT`, and `GOOGLE_CLOUD_LOCATION` configured are silently treated as unauthenticated for Vertex AI. Calls fall back to the AI Studio endpoint (generativelanguage.googleapis.com) which has much stricter rate limits, causing unexpected 429 errors even though Vertex credentials are correctly configured. Fix: in Node.js/Bun environments, return false without caching when the async modules aren't loaded yet, so the next call retries. Only cache false permanently in browser environments where `fs` is genuinely unavailable. Co-authored-by: Jeremiah Gaylord <jeremiahgaylord-web@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .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 | ||
🏖️ OSS Vacation
Issue tracker and PRs reopen March 2, 2026.
All PRs will be auto-closed until then. Approved contributors can submit PRs after vacation without reapproval. For support, join Discord.
pi.dev domain graciously donated by
![]()
exe.dev
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