Voice and chat agents written as a class, on the phone, in the browser, in chat and on WhatsApp. This repository holds the runtime that runs the calls, the console it serves, the SDKs an agent is written with, and the CLI that drives them. Every package is released together, at one version, by one tag.
| folder | what it is | published as |
|---|---|---|
runtime/ |
the gateway that answers every door of the API and the worker that runs the calls, on LiveKit; its infrastructure in runtime/infra/ |
pinecall-runtime on PyPI |
cli/ |
the pinecall CLI, the same for every language |
pinecall on npm |
sdks/typescript/ |
the TypeScript framework an agent is written in | @pinecall/agents on npm |
sdks/python/ |
the Python SDK | pinecall on PyPI |
sdks/ruby/ |
the Ruby SDK | pinecall on RubyGems |
web/console/ |
the page the gateway serves, both worlds in it | inside pinecall-runtime |
web/widget/ |
one agent as one button on any page | inside pinecall-runtime |
web/room/ |
the caller's side of a call, for a page's own UI | @pinecall/room on npm |
Each folder's README.md says what it is and how to use it; the docs are at
docs.pinecall.io.
$ git clone https://github.com/pinecall/pinecall && cd pinecall
$ pnpm install # every TypeScript package, one workspace and one lockfile (Node 24, pnpm 11)
$ cd runtime && uv sync # each Python package is a project of its own, with its own uv.lockThe TypeScript packages share the root's workspace (pnpm-workspace.yaml). runtime/ and
sdks/python/ both ship the module pinecall, so they are never one environment: each keeps its
own uv.lock. sdks/ruby/ has its Gemfile. Each package's own check is what CI runs for it
(.github/workflows/check.yml), only when its folder changed.
Every published package carries the same version. scripts/version prints it, or says which
package disagrees; scripts/version X.Y.Z writes it into all six. A v* tag publishes them all
(.github/workflows/release.yml), each registry by Trusted Publishing, and a GitHub Release whose
notes are each package's CHANGELOG.md section for that version.