Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
podium
command
Command podium is the Podium CLI: it submits tasks, follows them, and inspects the control plane.
|
Command podium is the Podium CLI: it submits tasks, follows them, and inspects the control plane. |
|
podium-agent
command
Command podium-agent is the Podium conductor: it holds the bot's identity in Slack, turns a mention into one Podium task running the agent runtime image, relays what the agent says back into the conversation and records the turn.
|
Command podium-agent is the Podium conductor: it holds the bot's identity in Slack, turns a mention into one Podium task running the agent runtime image, relays what the agent says back into the conversation and records the turn. |
|
podium-node
command
Command podium-node is the Podium worker daemon: it enrolls with the control plane, holds one bidirectional stream to it, and runs assigned tasks as containers on the local Docker engine.
|
Command podium-node is the Podium worker daemon: it enrolls with the control plane, holds one bidirectional stream to it, and runs assigned tasks as containers on the local Docker engine. |
|
podium-runner
command
Command podium-runner is PID 1 inside a Podium task container.
|
Command podium-runner is PID 1 inside a Podium task container. |
|
podium-sandbox-agent
command
Command podium-sandbox-agent runs one Podium task inside a cloud sandbox.
|
Command podium-sandbox-agent runs one Podium task inside a cloud sandbox. |
|
podium-server
command
Command podium-server is the Podium control plane: the Connect API, the node streams and the scheduler.
|
Command podium-server is the Podium control plane: the Connect API, the node streams and the scheduler. |
|
internal
|
|
|
agent
Package agent wires the conductor together: its own store, a Podium API client, the profile directory, the sources, and one HTTP server for the AgentService, health and metrics.
|
Package agent wires the conductor together: its own store, a Podium API client, the profile directory, the sources, and one HTTP server for the AgentService, health and metrics. |
|
agent/api
Package api is the conductor's own HTTP surface: the AgentService handlers, the bearer that guards them, and the health and metrics endpoints.
|
Package api is the conductor's own HTTP surface: the AgentService handlers, the bearer that guards them, and the health and metrics endpoints. |
|
agent/chat
Package chat is the web chat: the third conductor.Source, and the only one whose conversation Podium itself holds.
|
Package chat is the web chat: the third conductor.Source, and the only one whose conversation Podium itself holds. |
|
agent/chathost
Package chathost runs the conductor's chat host: one opencode 2 service on the conductor's own machine that answers every assistant conversation, instead of a runtime and a harness started for each turn.
|
Package chathost runs the conductor's chat host: one opencode 2 service on the conductor's own machine that answers every assistant conversation, instead of a runtime and a harness started for each turn. |
|
agent/conductor
Package conductor is the turn loop: an inbound message becomes one Podium task running the agent runtime image, what the task says is relayed back to where the message came from, and the turn is recorded.
|
Package conductor is the turn loop: an inbound message becomes one Podium task running the agent runtime image, what the task says is relayed back to where the message came from, and the turn is recorded. |
|
agent/conductor/fakesource
Package fakesource is an in-memory conductor.Source: a channel of inbound events and an ordered record of everything the conductor said back.
|
Package fakesource is an in-memory conductor.Source: a channel of inbound events and an ordered record of everything the conductor said back. |
|
agent/config
Package config is the whole of podium-agent's configuration.
|
Package config is the whole of podium-agent's configuration. |
|
agent/connections
Package connections is the Slack and GitHub configuration an operator saves from Settings.
|
Package connections is the Slack and GitHub configuration an operator saves from Settings. |
|
agent/ghreview
Package ghreview is the GitHub App as a conductor.Source: webhooks turned into inbound events, comments posted back as the App, and Slack threads that asked for the same pull-request review joined onto the same session.
|
Package ghreview is the GitHub App as a conductor.Source: webhooks turned into inbound events, comments posted back as the App, and Slack threads that asked for the same pull-request review joined onto the same session. |
|
agent/github
Package github is the conductor's client of a GitHub App: it turns an App id and a private key into the short-lived installation tokens a turn clones, fetches and pushes with.
|
Package github is the conductor's client of a GitHub App: it turns an App id and a private key into the short-lived installation tokens a turn clones, fetches and pushes with. |
|
agent/linear
Package linear is the bot's Linear identity: assigned issues polled into inbound events, and the five ways the conductor talks back.
|
Package linear is the bot's Linear identity: assigned issues polled into inbound events, and the five ways the conductor talks back. |
|
agent/mcp
Package mcp is the conductor's registry of MCP servers: what one is, what a name may be, and which Podium secret and environment variable a server's credential travels in.
|
Package mcp is the conductor's registry of MCP servers: what one is, what a name may be, and which Podium secret and environment variable a server's credential travels in. |
|
agent/memory
Package memory is the conductor's client of Hindsight, the agents' shared memory.
|
Package memory is the conductor's client of Hindsight, the agents' shared memory. |
|
agent/notify
Package notify is how the conductor tells a person something outside any conversation: a Slack direct message, or an email.
|
Package notify is how the conductor tells a person something outside any conversation: a Slack direct message, or an email. |
|
agent/podium
Package podium is the conductor's client of the Podium API.
|
Package podium is the conductor's client of the Podium API. |
|
agent/profiles
Package profiles is the bot's identity and its playbooks: what a playbook is, how one is validated, and how the directory on disk (PODIUM_AGENT_PROFILE_DIR) is loaded.
|
Package profiles is the bot's identity and its playbooks: what a playbook is, how one is validated, and how the directory on disk (PODIUM_AGENT_PROFILE_DIR) is loaded. |
|
agent/skills
Package skills is a third-party Agent Skill on its way into a task container: what a bundle is, how one is read off the conductor's own disk, and the guards it has to pass before any of it reaches a turn.
|
Package skills is a third-party Agent Skill on its way into a task container: what a bundle is, how one is read off the conductor's own disk, and the guards it has to pass before any of it reaches a turn. |
|
agent/slack
Package slack holds the bot's Slack identity: a Socket Mode connection, mentions turned into inbound events, and the four ways the conductor talks back.
|
Package slack holds the bot's Slack identity: a Socket Mode connection, mentions turned into inbound events, and the four ways the conductor talks back. |
|
agent/store
Package store is the conductor's own Postgres database (podium_agent): sessions, turns, the relay ledger and its settings.
|
Package store is the conductor's own Postgres database (podium_agent): sessions, turns, the relay ledger and its settings. |
|
cli
Package cli is the podium command-line client.
|
Package cli is the podium command-line client. |
|
ids
Package ids mints the lowercase, prefixed ULIDs Podium uses for every entity.
|
Package ids mints the lowercase, prefixed ULIDs Podium uses for every entity. |
|
netlisten
Package netlisten opens Podium's TCP listeners as plain TCP.
|
Package netlisten opens Podium's TCP listeners as plain TCP. |
|
node
Package node is the podium-node daemon: it holds the node's identity, keeps one bidirectional stream to the control plane, and turns each Assign into a container run whose events are batched, buffered and replayed until the server acks them.
|
Package node is the podium-node daemon: it holds the node's identity, keeps one bidirectional stream to the control plane, and turns each Assign into a container run whose events are batched, buffered and replayed until the server acks them. |
|
node/docker
Package docker runs Podium tasks as containers on a local Docker engine and streams ordered lifecycle events for them.
|
Package docker runs Podium tasks as containers on a local Docker engine and streams ordered lifecycle events for them. |
|
node/sandboxexec
Package sandboxexec runs tasks in cloud sandboxes for podium-node.
|
Package sandboxexec runs tasks in cloud sandboxes for podium-node. |
|
node/sandboxexec/agentbin
Package agentbin carries podium-sandbox-agent inside podium-node, the way the docker executor carries podium-runner.
|
Package agentbin carries podium-sandbox-agent inside podium-node, the way the docker executor carries podium-runner. |
|
proto/podium/v1
Package podiumv1 holds the generated podium.v1 wire types plus the hand-written log redaction helper below.
|
Package podiumv1 holds the generated podium.v1 wire types plus the hand-written log redaction helper below. |
|
runner
Package runner is podium-runner: PID 1 of every Podium task container.
|
Package runner is podium-runner: PID 1 of every Podium task container. |
|
sandbox
Package sandbox is the provider-neutral face of a cloud sandbox: a Linux machine or container somebody else runs, that podium-node can create, put files in, start one process in, reach one port of, and delete.
|
Package sandbox is the provider-neutral face of a cloud sandbox: a Linux machine or container somebody else runs, that podium-node can create, put files in, start one process in, reach one port of, and delete. |
|
sandbox/boat
Package boat is the boat.dev sandbox provider: each sandbox is a VM with Docker, made from boat's base image or from a named snapshot, driven over https://boat.dev/api/v1.
|
Package boat is the boat.dev sandbox provider: each sandbox is a VM with Docker, made from boat's base image or from a named snapshot, driven over https://boat.dev/api/v1. |
|
sandbox/modal
Package modal is the Modal sandbox provider: each sandbox is a Modal Sandbox in one App, made from a registry image or a filesystem snapshot, driven with Modal's Go SDK.
|
Package modal is the Modal sandbox provider: each sandbox is a Modal Sandbox in one App, made from a registry image or a filesystem snapshot, driven with Modal's Go SDK. |
|
sandbox/sandboxtest
Package sandboxtest has a sandbox provider backed by the local Docker engine, and the conformance suite every provider has to pass.
|
Package sandboxtest has a sandbox provider backed by the local Docker engine, and the conformance suite every provider has to pass. |
|
sandboxagent
Package sandboxagent is podium-sandbox-agent: the process podium-node starts inside a cloud sandbox.
|
Package sandboxagent is podium-sandbox-agent: the process podium-node starts inside a cloud sandbox. |
|
sandboxagent/wire
Package wire is the protocol between podium-node and the agent it runs inside a cloud sandbox: the run request, and the frames the agent streams back over a WebSocket.
|
Package wire is the protocol between podium-node and the agent it runs inside a cloud sandbox: the run request, and the frames the agent streams back over a WebSocket. |
|
server
Package server wires the control plane together: store, transport, Connect handlers, the scheduler and the log fan-out, behind one HTTP server.
|
Package server wires the control plane together: store, transport, Connect handlers, the scheduler and the log fan-out, behind one HTTP server. |
|
server/api
Package api holds the operator-facing Connect handlers: tasks and node administration.
|
Package api holds the operator-facing Connect handlers: tasks and node administration. |
|
server/artifacts
Package artifacts is the control plane's half of the object store: the S3 client, the key layout, presigned URLs, and the service that records what has been stored.
|
Package artifacts is the control plane's half of the object store: the S3 client, the key layout, presigned URLs, and the service that records what has been stored. |
|
server/artifacts/fakes3
Package fakes3 is an in-process S3-compatible endpoint for Podium's own tests.
|
Package fakes3 is an in-process S3-compatible endpoint for Podium's own tests. |
|
server/auth
Package auth is Google Workspace sign-in and the instance claim that hangs off it.
|
Package auth is Google Workspace sign-in and the instance claim that hangs off it. |
|
server/logs
Package logs owns the write side of a task's event history: it turns a node's event batch into rows, applies the status transitions those events imply, and fans the result out to live subscribers.
|
Package logs owns the write side of a task's event history: it turns a node's event batch into rows, applies the status transitions those events imply, and fans the result out to live subscribers. |
|
server/nodes
Package nodes owns node identity and the node stream: enrollment, the in-memory session registry, heartbeat bookkeeping and the event batches nodes push back.
|
Package nodes owns node identity and the node stream: enrollment, the in-memory session registry, heartbeat bookkeeping and the event batches nodes push back. |
|
server/sandboxes
Package sandboxes runs cloud sandboxes for podium-server.
|
Package sandboxes runs cloud sandboxes for podium-server. |
|
server/sandboxsnaps
Package sandboxsnaps keeps the session workspaces a sandbox provider stores as images of its own (a Modal directory snapshot) instead of as tars in the object store.
|
Package sandboxsnaps keeps the session workspaces a sandbox provider stores as images of its own (a Modal directory snapshot) instead of as tars in the object store. |
|
server/scheduler
Package scheduler decides which node runs which task, and keeps the promises that decision makes: a lease per assignment, a deadline for accepting one, the spec's own timeout, and the node-health policy that turns a machine going away into either a new attempt or an honest `lost`.
|
Package scheduler decides which node runs which task, and keeps the promises that decision makes: a lease per assignment, a deadline for accepting one, the spec's own timeout, and the node-health policy that turns a machine going away into either a new attempt or an honest `lost`. |
|
server/secrets
Package secrets is the control plane's encrypted secret store: the master key, the AES-256-GCM envelope around every stored value, and the resolution step that turns a task's SecretRefs into the plaintext an Assign carries to a node.
|
Package secrets is the control plane's encrypted secret store: the master key, the AES-256-GCM envelope around every stored value, and the resolution step that turns a task's SecretRefs into the plaintext an Assign carries to a node. |
|
server/snapshots
Package snapshots stores one workspace tar per conversation, and one base tar per repository, in the same S3 bucket artifacts use.
|
Package snapshots stores one workspace tar per conversation, and one base tar per repository, in the same S3 bucket artifacts use. |
|
server/store
Package store is the only place SQL lives.
|
Package store is the only place SQL lives. |
|
transport
Package transport is the seam between how a request reaches the server and who the server thinks made it.
|
Package transport is the seam between how a request reaches the server and who the server thinks made it. |
|
transport/local
Package local is the single-machine transport: no Tailscale, no mTLS, one shared bearer token.
|
Package local is the single-machine transport: no Tailscale, no mTLS, one shared bearer token. |
|
transport/tailnet
Package tailnet is the Tailscale transport.
|
Package tailnet is the Tailscale transport. |
|
version
Package version carries the build identity of every Podium binary.
|
Package version carries the build identity of every Podium binary. |
|
pkg
|
|
|
spec
Package spec defines the public task specification: the YAML/JSON document an operator writes and the validated Go type every Podium component codes against.
|
Package spec defines the public task specification: the YAML/JSON document an operator writes and the validated Go type every Podium component codes against. |
|
Package web carries the built single-page UI into the server binary.
|
Package web carries the built single-page UI into the server binary. |
Click to show internal directories.
Click to hide internal directories.