Documentation
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package agent provides the high-level SDK for embedding pi's agent capabilities in Go programs.
|
Package agent provides the high-level SDK for embedding pi's agent capabilities in Go programs. |
|
assembly
Package assembly enumerates the compiled composition of the orb product — compiled extensions, first-party plugins, and MCP — as ordered rows with stable ids, resolves their enablement from settings, and loads the result.
|
Package assembly enumerates the compiled composition of the orb product — compiled extensions, first-party plugins, and MCP — as ordered rows with stable ids, resolves their enablement from settings, and loads the result. |
|
bridge
Package bridge adapts an existing Orb runtime to Bridge without owning its lifetime.
|
Package bridge adapts an existing Orb runtime to Bridge without owning its lifetime. |
|
bridge/tool
Package tool exposes independently opt-in, source-attributed bridge tools.
|
Package tool exposes independently opt-in, source-attributed bridge tools. |
|
examples/01_minimal
command
Minimal SDK usage with all defaults.
|
Minimal SDK usage with all defaults. |
|
examples/02_custom_model
command
Custom model selection and thinking level.
|
Custom model selection and thinking level. |
|
examples/03_custom_prompt
command
Custom system prompt replacement and extension through DefaultResourceLoader.
|
Custom system prompt replacement and extension through DefaultResourceLoader. |
|
examples/04_skills
command
Skills configuration through DefaultResourceLoader discovery and overrides.
|
Skills configuration through DefaultResourceLoader discovery and overrides. |
|
examples/05_tools
command
Tools configuration: tool allowlists and denylists.
|
Tools configuration: tool allowlists and denylists. |
|
examples/06_extensions
command
Extensions configuration through DefaultResourceLoader inline factories.
|
Extensions configuration through DefaultResourceLoader inline factories. |
|
examples/07_context_files
command
Context files discovered and extended through DefaultResourceLoader.
|
Context files discovered and extended through DefaultResourceLoader. |
|
examples/08_prompt_templates
command
Prompt templates discovered and extended through DefaultResourceLoader.
|
Prompt templates discovered and extended through DefaultResourceLoader. |
|
examples/09_api_keys
command
API key and OAuth configuration through ModelRegistry and runtime callbacks.
|
API key and OAuth configuration through ModelRegistry and runtime callbacks. |
|
examples/10_settings
command
Settings configuration through SettingsManager.
|
Settings configuration through SettingsManager. |
|
examples/11_sessions
command
Session management: in-memory, persistent, continue, list, and open.
|
Session management: in-memory, persistent, continue, list, and open. |
|
examples/12_full_control
command
Full control: explicit model, settings, session, ResourceLoader, and tools.
|
Full control: explicit model, settings, session, ResourceLoader, and tools. |
|
examples/13_session_runtime
command
Session runtime demonstrates recreating cwd-bound services when the active AgentSession is replaced and rebinding session-local host state.
|
Session runtime demonstrates recreating cwd-bound services when the active AgentSession is replaced and rebinding session-local host state. |
|
extensions
Package extensions provides the Go-native extension registry, API surface, and ordered event runner used by the coding agent.
|
Package extensions provides the Go-native extension registry, API surface, and ordered event runner used by the coding agent. |
|
extensions/host
Package host implements orb's original out-of-process JavaScript extension host protocol and lifecycle manager.
|
Package host implements orb's original out-of-process JavaScript extension host protocol and lifecycle manager. |
|
modes
Package modes contains coding-agent run-mode orchestration.
|
Package modes contains coding-agent run-mode orchestration. |
|
rpc
Package rpc is Orb's embedding protocol (DECISIONS.md P1, P10): upstream pi's strict-LF, bidirectional JSONL RPC mode served over any byte stream.
|
Package rpc is Orb's embedding protocol (DECISIONS.md P1, P10): upstream pi's strict-LF, bidirectional JSONL RPC mode served over any byte stream. |
|
session
Package session stores coding-agent conversations as pi-compatible JSONL trees.
|
Package session stores coding-agent conversations as pi-compatible JSONL trees. |
|
Package ai provides pi's provider-neutral message and streaming contracts.
|
Package ai provides pi's provider-neutral message and streaming contracts. |
|
api/all
Package all is the default provider registry: the CLI and SDK sessions that pass no stream function dispatch through it.
|
Package all is the default provider registry: the CLI and SDK sessions that pass no stream function dispatch through it. |
|
api/bedrock
Package bedrock is the AWS SDK backend of the Bedrock ConverseStream API.
|
Package bedrock is the AWS SDK backend of the Bedrock ConverseStream API. |
|
auth/accounts
Package accounts adds named credentials without changing the provider-keyed compatibility store.
|
Package accounts adds named credentials without changing the provider-keyed compatibility store. |
|
models
Package models contains the generated model catalog and its persisted refresh overlay.
|
Package models contains the generated model catalog and its persisted refresh overlay. |
|
models/cmd/genmodels
command
|
|
|
models/internal/cataloggen
Package cataloggen normalizes the models.dev api.json shape into pi models.
|
Package cataloggen normalizes the models.dev api.json shape into pi models. |
|
providers/faux
Package faux provides a scripted, in-memory provider for agent and provider tests.
|
Package faux provides a scripted, in-memory provider for agent and provider tests. |
|
Package bridge owns connectivity authority, never agent execution or sessions, and defines the non-owning, versioned Orb instance attachments it routes.
|
Package bridge owns connectivity authority, never agent execution or sessions, and defines the non-owning, versioned Orb instance attachments it routes. |
|
protocol
Package protocol implements the bounded, strict JSON stream used by Orb Bridge.
|
Package protocol implements the bounded, strict JSON stream used by Orb Bridge. |
|
Package chat implements the core of the orb chat gateway (D27): platform-agnostic messages, the synchronous turn processor with its durable turn ledger, a preview coalescer, and a local single-process runner with a durable spool.
|
Package chat implements the core of the orb chat gateway (D27): platform-agnostic messages, the synchronous turn processor with its durable turn ledger, a preview coalescer, and a local single-process runner with a durable spool. |
|
discord
Package discord implements the Discord adapter for the orb chat gateway: Gateway (WebSocket) ingress over the internal RFC 6455 client — hello/heartbeat/identify, READY capture, resume-first reconnects — plus REST delivery with a refreshed typing indicator, streamed preview edits, chunked finalization with mass-mention suppression, and pre-signed attachment download.
|
Package discord implements the Discord adapter for the orb chat gateway: Gateway (WebSocket) ingress over the internal RFC 6455 client — hello/heartbeat/identify, READY capture, resume-first reconnects — plus REST delivery with a refreshed typing indicator, streamed preview edits, chunked finalization with mass-mention suppression, and pre-signed attachment download. |
|
examples/localbot
command
Command localbot runs a minimal Telegram chat gateway: long-poll ingress, the durable local spool, and per-conversation agent sessions under a local data directory.
|
Command localbot runs a minimal Telegram chat gateway: long-poll ingress, the durable local spool, and per-conversation agent sessions under a local data directory. |
|
googlechat
Package googlechat implements the Google Chat adapter for the orb chat gateway: an HTTP-endpoint Chat app with bearer-JWT-verified ingress, service-account authenticated delivery, and authenticated media download.
|
Package googlechat implements the Google Chat adapter for the orb chat gateway: an HTTP-endpoint Chat app with bearer-JWT-verified ingress, service-account authenticated delivery, and authenticated media download. |
|
internal/ctxsleep
Package ctxsleep provides a context-aware sleep shared by the chat adapters and processor.
|
Package ctxsleep provides a context-aware sleep shared by the chat adapters and processor. |
|
internal/graphhook
Package graphhook holds the Meta Graph webhook plumbing shared by the Cloud API chat adapters (WhatsApp today, Messenger next): the one-time hub.challenge subscribe handshake and the X-Hub-Signature-256 raw-body HMAC check.
|
Package graphhook holds the Meta Graph webhook plumbing shared by the Cloud API chat adapters (WhatsApp today, Messenger next): the one-time hub.challenge subscribe handshake and the X-Hub-Signature-256 raw-body HMAC check. |
|
internal/runechunk
Package runechunk splits platform text at readable rune boundaries.
|
Package runechunk splits platform text at readable rune boundaries. |
|
internal/wsclient
Package wsclient implements a minimal RFC 6455 WebSocket client on the standard library alone: client role only, no extensions, no compression, no subprotocol negotiation.
|
Package wsclient implements a minimal RFC 6455 WebSocket client on the standard library alone: client role only, no extensions, no compression, no subprotocol negotiation. |
|
messenger
Package messenger implements the Facebook Messenger (Meta Messenger Platform for Pages) adapter for the orb chat gateway: webhook ingress over the Graph "page" object (hub handshake + HMAC-signed entry[].messaging[] events), final-message delivery via the Send API, sender-action typing, and direct-URL attachment download.
|
Package messenger implements the Facebook Messenger (Meta Messenger Platform for Pages) adapter for the orb chat gateway: webhook ingress over the Graph "page" object (hub handshake + HMAC-signed entry[].messaging[] events), final-message delivery via the Send API, sender-action typing, and direct-URL attachment download. |
|
slack
Package slack implements the Slack adapter for the orb chat gateway: Events API ingress over HTTP (v0 request signing, url_verification handshake, echo filtering), Web API delivery with a bot token (streamed preview edits via chat.update, mrkdwn finalization with chunking), and authenticated file download.
|
Package slack implements the Slack adapter for the orb chat gateway: Events API ingress over HTTP (v0 request signing, url_verification handshake, echo filtering), Web API delivery with a bot token (streamed preview edits via chat.update, mrkdwn finalization with chunking), and authenticated file download. |
|
teams
Package teams implements the Microsoft Teams (Bot Framework) adapter for the orb chat gateway, speaking the raw connector REST API with no SDK: JWT-validated webhook ingress, typing plus final-only delivery, markdown-subset formatting with UTF-16 chunking, and authenticated attachment download.
|
Package teams implements the Microsoft Teams (Bot Framework) adapter for the orb chat gateway, speaking the raw connector REST API with no SDK: JWT-validated webhook ingress, typing plus final-only delivery, markdown-subset formatting with UTF-16 chunking, and authenticated attachment download. |
|
telegram
Package telegram implements the Telegram Bot API adapter for the orb chat gateway: ingress (webhook and long poll), delivery (typing indicator, streamed preview edits, HTML finalization with chunking), and media download.
|
Package telegram implements the Telegram Bot API adapter for the orb chat gateway: ingress (webhook and long poll), delivery (typing indicator, streamed preview edits, HTML finalization with chunking), and media download. |
|
whatsapp
Package whatsapp implements the WhatsApp Business Cloud API adapter for the orb chat gateway: webhook ingress (hub handshake + HMAC-signed events), final-message delivery with reply threading, and authenticated media download.
|
Package whatsapp implements the WhatsApp Business Cloud API adapter for the orb chat gateway: webhook ingress (hub handshake + HMAC-signed events), final-message delivery with reply threading, and authenticated media download. |
|
cmd
|
|
|
orb
command
|
|
|
orb-wasm
command
orb-wasm translates worker messages into calls on the Wasm assembly.
|
orb-wasm translates worker messages into calls on the Wasm assembly. |
|
orb-worker
command
orb-worker is Orb inside a Durable Object.
|
orb-worker is Orb inside a Durable Object. |
|
conformance
|
|
|
runner
Package runner provides shared conformance-fixture test helpers.
|
Package runner provides shared conformance-fixture test helpers. |
|
harness/envtest
Package envtest is the shared conformance suite for harness.FileSystem port implementations (DECISIONS.md P10).
|
Package envtest is the shared conformance suite for harness.FileSystem port implementations (DECISIONS.md P10). |
|
search
Package search scans session storages for entries matching a text query.
|
Package search scans session storages for entries matching a text query. |
|
Package host bundles the ports through which the portable core reaches a platform (DECISIONS.md P10).
|
Package host bundles the ports through which the portable core reaches a platform (DECISIONS.md P10). |
|
internal
|
|
|
chromalexers
Package chromalexers is github.com/alecthomas/chroma/v2/lexers at v2.27.0 with two deliberate changes: the lexer registry is built lazily on first use instead of at package init, and the 279 embedded XML lexer configs ship as one gzip-compressed tar archive decoded on first use.
|
Package chromalexers is github.com/alecthomas/chroma/v2/lexers at v2.27.0 with two deliberate changes: the lexer registry is built lazily on first use instead of at package init, and the 279 embedded XML lexer configs ship as one gzip-compressed tar archive decoded on first use. |
|
chromalexers/gen
command
Command gen rebuilds embedded.tar.gz from the embedded/ XML lexer configs.
|
Command gen rebuilds embedded.tar.gz from the embedded/ XML lexer configs. |
|
filelock
Package filelock takes locks that upstream pi can interoperate with.
|
Package filelock takes locks that upstream pi can interoperate with. |
|
ignorerules
Package ignorerules holds the shared gitignore-rule matching loop that both skill loaders (engine/harness and agent) port from the npm `ignore` dependency.
|
Package ignorerules holds the shared gitignore-rule matching loop that both skill loaders (engine/harness and agent) port from the npm `ignore` dependency. |
|
jstrim
Package jstrim ports the ECMAScript String.prototype.trim whitespace set (WhiteSpace + LineTerminator), which differs from Go's unicode.IsSpace.
|
Package jstrim ports the ECMAScript String.prototype.trim whitespace set (WhiteSpace + LineTerminator), which differs from Go's unicode.IsSpace. |
|
mermaid
Package mermaid renders Mermaid diagram text (flowchart, sequence, state, class, er) as Unicode box-drawing art for terminals.
|
Package mermaid renders Mermaid diagram text (flowchart, sequence, state, class, er) as Unicode box-drawing art for terminals. |
|
nodepath
Package nodepath converts path inputs the way upstream's Node runtime does on the platform orb runs on: url.fileURLToPath, url.pathToFileURL, and the win32 Git Bash/MSYS drive-path rewrite from upstream utils/paths.ts.
|
Package nodepath converts path inputs the way upstream's Node runtime does on the platform orb runs on: url.fileURLToPath, url.pathToFileURL, and the win32 Git Bash/MSYS drive-path rewrite from upstream utils/paths.ts. |
|
orbalogo
Package orbalogo carries the official Ordalie mark as pre-rendered art.
|
Package orbalogo carries the official Ordalie mark as pre-rendered art. |
|
partialjson
Package partialjson parses the incomplete JSON emitted while tool-call arguments are streaming.
|
Package partialjson parses the incomplete JSON emitted while tool-call arguments are streaming. |
|
qr
Package qr encodes bytes as a QR code (ISO/IEC 18004: byte mode, error correction level L) so a phone can pair with a Bridge by photographing a terminal.
|
Package qr encodes bytes as a QR code (ISO/IEC 18004: byte mode, error correction level L) so a phone can pair with a Bridge by photographing a terminal. |
|
semver
Package semver implements the subset of npm's semver used by pi package management: exact versions, ranges (^ ~ x-ranges, hyphen, ||, primitives), Satisfies and MaxSatisfying with npm's prerelease-inclusion rule.
|
Package semver implements the subset of npm's semver used by pi package management: exact versions, ranges (^ ~ x-ranges, hyphen, ||, primitives), Satisfies and MaxSatisfying with npm's prerelease-inclusion rule. |
|
sync
Package upstreamsync analyzes and promotes pinned upstream revisions.
|
Package upstreamsync analyzes and promotes pinned upstream revisions. |
|
sync/cmd/orbsync
command
|
|
|
termcaps
Package termcaps detects terminal capabilities (image protocol, true color, OSC 8 hyperlinks) and provides the pure hyperlink escape helper.
|
Package termcaps detects terminal capabilities (image protocol, true color, OSC 8 hyperlinks) and provides the pure hyperlink escape helper. |
|
themefile
Package themefile is the pi theme JSON resource format: parsing, validation, variable resolution, and path discovery.
|
Package themefile is the pi theme JSON resource format: parsing, validation, variable resolution, and path discovery. |
|
uuidv7
Package uuidv7 generates the monotonic UUID and short entry identifiers used by upstream harness session storage.
|
Package uuidv7 generates the monotonic UUID and short entry identifiers used by upstream harness session storage. |
|
platforms
|
|
|
browser
Package browser assembles Orb's engine with an isolated, in-memory workspace.
|
Package browser assembles Orb's engine with an isolated, in-memory workspace. |
|
memory
Package memory is an in-memory harness.FileSystem port: POSIX virtual paths, files and directories, no symlinks.
|
Package memory is an in-memory harness.FileSystem port: POSIX virtual paths, files and directories, no symlinks. |
|
native/accounts
Package accounts backs the named-credential store with a private JSON file.
|
Package accounts backs the named-credential store with a private JSON file. |
|
native/bridge
Package bridge supplies explicit filesystem and IPC adapters for Orb Bridge.
|
Package bridge supplies explicit filesystem and IPC adapters for Orb Bridge. |
|
native/sandbox
Package sandbox limits filesystem effects of child commands.
|
Package sandbox limits filesystem effects of child commands. |
|
native/sqlite
Package sqlite supplies explicitly opened native persistence.
|
Package sqlite supplies explicitly opened native persistence. |
|
native/tailcat
Package tailcat supplies stream transport only.
|
Package tailcat supplies stream transport only. |
|
websocket
Package websocket carries Bridge's pinned TLS stream over browser WebSockets.
|
Package websocket carries Bridge's pinned TLS stream over browser WebSockets. |
|
worker
Package worker is the Worker host (DECISIONS.md P2, P10): the ports an Orb runtime needs inside a Cloudflare Durable Object or a self-hosted Celld cell, backed by the object's key-value storage, plus the assembly that resumes one session per object and serves it over kernel RPC frames.
|
Package worker is the Worker host (DECISIONS.md P2, P10): the ports an Orb runtime needs inside a Cloudflare Durable Object or a self-hosted Celld cell, backed by the object's key-value storage, plus the assembly that resumes one session per object and serves it over kernel RPC frames. |
|
worker/peer
Package peer makes a Worker object a Bridge peer (DECISIONS.md P11): a persisted identity in the object's Store, the object's own Orb attached as its orb.instance/1 service, pinned-TLS streams over the object's WebSockets, and the owner's admin surface.
|
Package peer makes a Worker object a Bridge peer (DECISIONS.md P11): a persisted identity in the object's Store, the object's own Orb attached as its orb.instance/1 service, pinned-TLS streams over the object's WebSockets, and the owner's admin surface. |
|
plugins
|
|
|
claudesessions
Package claudesessions adapts native Claude Agent SDK sessions to Orb events.
|
Package claudesessions adapts native Claude Agent SDK sessions to Orb events. |
|
herdr
Package herdr reports Orb's interactive lifecycle to a containing Herdr pane.
|
Package herdr reports Orb's interactive lifecycle to a containing Herdr pane. |
|
jobs
Package jobs lets Orb's own models run shell commands in the background, as Claude Code does: bash gains run_in_background and monitor, a message reports each job's end (and, when monitored, the lines it prints), and stop_job ends one.
|
Package jobs lets Orb's own models run shell commands in the background, as Claude Code does: bash gains run_in_background and monitor, a message reports each job's end (and, when monitored, the lines it prints), and stop_job ends one. |
|
mcp
Package mcp implements orb's bundled, settings-driven MCP extension.
|
Package mcp implements orb's bundled, settings-driven MCP extension. |
|
memory
Package memory defines orb's durable memory SDK seam.
|
Package memory defines orb's durable memory SDK seam. |
|
memory/agent
Package agentmemory attaches Orb's bounded persistent memory to a plain engine.Agent.
|
Package agentmemory attaches Orb's bounded persistent memory to a plain engine.Agent. |
|
permissions/native
Package native attaches filesystem containment to local tool operations.
|
Package native attaches filesystem containment to local tool operations. |
|
questions
Package questions is Orb's shared human-question capability and native tool.
|
Package questions is Orb's shared human-question capability and native tool. |
|
Package tui provides pi's differential terminal renderer and components.
|
Package tui provides pi's differential terminal renderer and components. |
Click to show internal directories.
Click to hide internal directories.