Documentation
¶
Overview ¶
Package agent is the Ion Alpha open-source agent runtime.
It is transport- and provider-agnostic, builds to a single static binary (see cmd/flynn), and exposes importable packages so a host application can embed it directly. Persistence is reached only through the interfaces in the state package, and observability through the observe package: the open agent ships local implementations and no-op defaults, while a richer host (e.g. an Ion Alpha instance) can supply its own, without this package depending on the host.
Index ¶
Constants ¶
const DefaultSystemPrompt = `` /* 465-byte string literal not displayed */
DefaultSystemPrompt frames the agent for a coding or automation task. It is kept short on purpose: a capable model works better from a clear goal than from a long list of rules.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
Agent is the core runtime.
func (*Agent) Goal ¶
Goal drives objective to completion through the sandboxed toolset and returns the model's final answer. It resolves the model from Config.Model (reading the provider's API key from the environment), confines every tool to the working directory, and governs each model call and tool call through the dispatch waist.
func (*Agent) Run ¶
Run drives Config.Objective to completion and writes the model's final answer to Config.Out. It is the embedding entry point: a host sets a model and an objective and calls Run. With no objective configured it reports that nothing was given to do; programmatic callers that want a returned result call Goal instead.
type Config ¶
type Config struct {
// Model is the provider:model identifier (e.g. "anthropic:claude-opus-4-8").
// Goal resolves it to a concrete model, reading the provider's API key from the
// environment.
Model string
// Objective, when set, is the goal Run drives to completion. Programmatic
// callers can pass the objective to Goal directly instead.
Objective string
// WorkDir is the sandbox root every tool is confined to. Defaults to the current
// working directory.
WorkDir string
// Driver selects the run loop by name from the built-in registry (e.g.
// "single-shot"). Empty uses the default general-purpose software loop, so a
// zero-config agent is unchanged. An unknown name fails closed at run start.
Driver string
// Agent, when set, runs the goal as a specific Agent archetype: its system
// prompt frames the run and its declared capabilities become the run's grant, so
// a tool the archetype does not list is refused at the waist even though the host
// offers it. Nil runs the default generalist (all tools granted). The model call
// is always permitted.
Agent *archetype.Spec
// State is the durable backend for sessions, skills, and memory. If nil, an
// in-memory provider is used so the agent runs with zero setup.
State state.Provider
// Obs carries the logger and tracer. If nil, no-op defaults are used.
Obs *observe.Observability
// Out is where human-facing output is written. Defaults to io.Discard.
Out io.Writer
}
Config configures an Agent. The zero value is usable: New fills in safe, standalone defaults so the agent always runs without external services.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package approval is the cryptographic authorization layer for privileged actions.
|
Package approval is the cryptographic authorization layer for privileged actions. |
|
Package brakes is the run's safety governor: a control loop that halts a run from outside the model's reasoning.
|
Package brakes is the run's safety governor: a control loop that halts a run from outside the model's reasoning. |
|
Package budget is the agent's spend ceiling: a per-run pool of tokens and cost that every model and tool call is charged against at the dispatch waist, so a run, or a whole fan-out of runs sharing one pool, cannot exceed the limit set for it.
|
Package budget is the agent's spend ceiling: a per-run pool of tokens and cost that every model and tool call is charged against at the dispatch waist, so a run, or a whole fan-out of runs sharing one pool, cannot exceed the limit set for it. |
|
Package bus is the agent's pub/sub messaging port: ambient, fire-and-forget signals that decouple producers from consumers.
|
Package bus is the agent's pub/sub messaging port: ambient, fire-and-forget signals that decouple producers from consumers. |
|
bustest
Package bustest is the conformance suite for bus.Bus.
|
Package bustest is the conformance suite for bus.Bus. |
|
Package capability is the agent's least-privilege model: a Grant names exactly what a run is permitted to do, and an Admitter enforces it at the dispatch waist so an action outside the grant is denied before any side effect.
|
Package capability is the agent's least-privilege model: a Grant names exactly what a run is permitted to do, and an Admitter enforces it at the dispatch waist so an action outside the grant is denied before any side effect. |
|
Package chain defines the canonical wire format of a spine event and the verification layers over a canonical event stream, from structural checks up to independent cryptographic proof.
|
Package chain defines the canonical wire format of a spine event and the verification layers over a canonical event stream, from structural checks up to independent cryptographic proof. |
|
conformance
Package conformance defines the Provetrail conformance vector suite: a fixed set of artifacts a conforming verifier must accept, and malformed ones it must reject with a specific failure code.
|
Package conformance defines the Provetrail conformance vector suite: a fixed set of artifacts a conforming verifier must accept, and malformed ones it must reject with a specific failure code. |
|
Package clock is the agent's source of time.
|
Package clock is the agent's source of time. |
|
cmd
|
|
|
flynn
command
Command flynn is the standalone Flynn agent binary.
|
Command flynn is the standalone Flynn agent binary. |
|
Package controlplane is the authenticated API surface over the agent's resource store: the one boundary the CLI, the web dashboard, and remote peers read and act through.
|
Package controlplane is the authenticated API surface over the agent's resource store: the one boundary the CLI, the web dashboard, and remote peers read and act through. |
|
Package dispatch is the agent's single execution chokepoint.
|
Package dispatch is the agent's single execution chokepoint. |
|
Package driver makes the agent run-loop a swappable port.
|
Package driver makes the agent run-loop a swappable port. |
|
Package envelope is the one definition of the sync envelope: the five fields every replicated record carries (SyncVersion, OriginInstanceID, UpdatedHLC, LastWriterID, Deleted) and the stamping rules over them.
|
Package envelope is the one definition of the sync envelope: the five fields every replicated record carries (SyncVersion, OriginInstanceID, UpdatedHLC, LastWriterID, Deleted) and the stamping rules over them. |
|
Package extension defines the one model every runtime-authored capability conforms to.
|
Package extension defines the one model every runtime-authored capability conforms to. |
|
catalog
Package catalog ships a curated set of official Extension specs inside the binary and syncs them into the resource store, so a freshly installed Flynn already knows how to reach common services.
|
Package catalog ships a curated set of official Extension specs inside the binary and syncs them into the resource store, so a freshly installed Flynn already knows how to reach common services. |
|
Package externagent runs another agent's command-line harness as a backend, so a run can be driven by an external agent CLI (installed on the host, authenticated on its own subscription) instead of a single model call.
|
Package externagent runs another agent's command-line harness as a backend, so a run can be driven by an external agent CLI (installed on the host, authenticated on its own subscription) instead of a single model call. |
|
Package fault is the agent's canonical error model: typed, wrapped errors classified by how a caller should react.
|
Package fault is the agent's canonical error model: typed, wrapped errors classified by how a caller should react. |
|
Package goal is the agent's first desired-state kind: a Goal declares an objective and a stop condition (the desired state), and a reconciler drives it toward that condition by dispatching work steps and observing progress (the observed state).
|
Package goal is the agent's first desired-state kind: a Goal declares an objective and a stop condition (the desired state), and a reconciler drives it toward that condition by dispatching work steps and observing progress (the observed state). |
|
Package govbench measures the decision-layer governance gate the way the escape matrix measures isolation: with a fixed, versioned corpus and a top-line number that cannot silently regress.
|
Package govbench measures the decision-layer governance gate the way the escape matrix measures isolation: with a fixed, versioned corpus and a top-line number that cannot silently regress. |
|
Package harness decides how much scaffolding the agent loop applies to a given model.
|
Package harness decides how much scaffolding the agent loop applies to a given model. |
|
Package hlc is a Hybrid Logical Clock: physical wall-clock milliseconds plus a logical counter.
|
Package hlc is a Hybrid Logical Clock: physical wall-clock milliseconds plus a logical counter. |
|
Package ids generates time-sortable, globally-unique identifiers (UUIDv7): a 48-bit millisecond timestamp followed by randomness.
|
Package ids generates time-sortable, globally-unique identifiers (UUIDv7): a 48-bit millisecond timestamp followed by randomness. |
|
Package inbox is the agent's unified inbound boundary.
|
Package inbox is the agent's unified inbound boundary. |
|
internal
|
|
|
acquire
Package acquire obtains a pinned binary artifact and places it on disk, verified.
|
Package acquire obtains a pinned binary artifact and places it on disk, verified. |
|
archetype
Package archetype defines the Agent resource kind: a versioned, addressable description of how an agent runs.
|
Package archetype defines the Agent resource kind: a versioned, addressable description of how an agent runs. |
|
bindguard
Package bindguard is the inbound network policy every listener Flynn opens is bound through: a default-loopback gate that decides whether a given listen address may be bound.
|
Package bindguard is the inbound network policy every listener Flynn opens is bound through: a default-loopback gate that decides whether a given listen address may be bound. |
|
catalog
Package catalog is the model catalog: a vetted, versioned list of models with provenance, so a user (or the agent) can discover, compare, and choose a model on evidence instead of guessing.
|
Package catalog is the model catalog: a vetted, versioned list of models with provenance, so a user (or the agent) can discover, compare, and choose a model on evidence instead of guessing. |
|
credential
Package credential models a stored credential as metadata on the resource store, kept strictly separate from the secret value it points at.
|
Package credential models a stored credential as metadata on the resource store, kept strictly separate from the secret value it points at. |
|
dependency
Package dependency manages the external command-line programs Flynn needs to operate but does not ship in its own binary (for example a hosting provider's CLI).
|
Package dependency manages the external command-line programs Flynn needs to operate but does not ship in its own binary (for example a hosting provider's CLI). |
|
exposure
Package exposure is the registry of everything Flynn has open to the network: the record that makes the inbound-exposure boundary observable and time-bounded.
|
Package exposure is the registry of everything Flynn has open to the network: the record that makes the inbound-exposure boundary observable and time-bounded. |
|
fetch
Package fetch downloads a file from an untrusted source and verifies it before it is installed: the generic, security-first transport for pulling any file (model weights, a plugin, a dataset) onto the local machine.
|
Package fetch downloads a file from an untrusted source and verifies it before it is installed: the generic, security-first transport for pulling any file (model weights, a plugin, a dataset) onto the local machine. |
|
flow
Package flow is the declarative action interpreter: it lets an extension express multi-step behaviour as data instead of compiled code.
|
Package flow is the declarative action interpreter: it lets an extension express multi-step behaviour as data instead of compiled code. |
|
fsatomic
Package fsatomic writes files so a reader never observes a partial file and a crash cannot lose the previous contents: write to a sibling temp file, fsync it, rename over the destination, then fsync the directory so the rename itself is durable.
|
Package fsatomic writes files so a reader never observes a partial file and a crash cannot lose the previous contents: write to a sibling temp file, fsync it, rename over the destination, then fsync the directory so the rename itself is durable. |
|
gbnf
Package gbnf compiles a tool's JSON Schema into a GBNF grammar that a local inference runtime applies as a token mask during decoding, so a model cannot emit a structurally invalid tool call no matter how small or weak it is.
|
Package gbnf compiles a tool's JSON Schema into a GBNF grammar that a local inference runtime applies as a token mask during decoding, so a model cannot emit a structurally invalid tool call no matter how small or weak it is. |
|
gguf
Package gguf reads the metadata header of a GGUF model file safely.
|
Package gguf reads the metadata header of a GGUF model file safely. |
|
grade
Package grade scores how far an agent got toward an objective, not just whether it finished.
|
Package grade scores how far an agent got toward an objective, not just whether it finished. |
|
hardware
Package hardware probes the local machine for the resources that decide which models it can run: the GPU and its memory, and the system RAM a CPU-only run draws on.
|
Package hardware probes the local machine for the resources that decide which models it can run: the GPU and its memory, and the system RAM a CPU-only run draws on. |
|
huggingface
Package huggingface is a read-only client for the Hugging Face Hub HTTP API: it searches the Hub for models, lists the files in a model repository, and reads a model's card metadata, all over the same hardened, public-only transport the file downloader uses.
|
Package huggingface is a read-only client for the Hugging Face Hub HTTP API: it searches the Hub for models, lists the files in a model repository, and reads a model's card metadata, all over the same hardened, public-only transport the file downloader uses. |
|
inference
Package inference describes the local model runtimes Flynn can drive and gates them on their security posture.
|
Package inference describes the local model runtimes Flynn can drive and gates them on their security posture. |
|
inference/launch
Package launch builds the exact command that serves a local model, without running it.
|
Package launch builds the exact command that serves a local model, without running it. |
|
inference/modelsource
Package modelsource classifies where a model's weights come from and how far that source can be trusted, so a model from anywhere (a curated catalog entry, a model-hub reference, a raw URL, or a file a user drops in) goes through one trust decision before it is ever fetched or run.
|
Package modelsource classifies where a model's weights come from and how far that source can be trusted, so a model from anywhere (a curated catalog entry, a model-hub reference, a raw URL, or a file a user drops in) goes through one trust decision before it is ever fetched or run. |
|
inference/orchestrate
Package orchestrate decides which local models stay resident in limited device memory.
|
Package orchestrate decides which local models stay resident in limited device memory. |
|
inference/provision
Package provision installs a local inference runtime that Flynn fetches itself, so a machine with no runtime can still run a model with no manual setup step.
|
Package provision installs a local inference runtime that Flynn fetches itself, so a machine with no runtime can still run a model with no manual setup step. |
|
inference/serve
Package serve runs a local model server and keeps track of it.
|
Package serve runs a local model server and keeps track of it. |
|
instance
Package instance defines the Instance resource kind: a record of one running flynn process.
|
Package instance defines the Instance resource kind: a record of one running flynn process. |
|
integrations
Package integrations turns an Extension's "integration" surface into callable tools.
|
Package integrations turns an Extension's "integration" surface into callable tools. |
|
integrations/auth
Package auth applies an integration's credentials to an outbound HTTP request.
|
Package auth applies an integration's credentials to an outbound HTTP request. |
|
integrations/request
Package request is the shared HTTP transport every integration surface runs on: the API surface, the scraper, and the search providers all make their outbound calls through one Transport rather than each holding its own *http.Client.
|
Package request is the shared HTTP transport every integration surface runs on: the API surface, the scraper, and the search providers all make their outbound calls through one Transport rather than each holding its own *http.Client. |
|
migrate
Package migrate applies versioned SQL migrations to a SQL database, safely.
|
Package migrate applies versioned SQL migrations to a SQL database, safely. |
|
modelformat
Package modelformat identifies a model file's real format from its leading bytes and refuses the formats that execute code when loaded.
|
Package modelformat identifies a model file's real format from its leading bytes and refuses the formats that execute code when loaded. |
|
modeltrust
Package modeltrust classifies how far a model run is trusted, which sets how strongly it must be contained.
|
Package modeltrust classifies how far a model run is trusted, which sets how strongly it must be contained. |
|
ops
Package ops turns an Extension's "ops" surface into a hosting/operations provider: the deploy, status, logs, list, teardown (and optional provision) operations a provider like Cloudflare, Vercel, or Hetzner exposes.
|
Package ops turns an Extension's "ops" surface into a hosting/operations provider: the deploy, status, logs, list, teardown (and optional provision) operations a provider like Cloudflare, Vercel, or Hetzner exposes. |
|
playbook
Package playbook turns a multi-step operational procedure into a typed resource that Flynn can run: provision the command-line tools it needs, run them, verify the outcome, and register what it produced as a supervised Service.
|
Package playbook turns a multi-step operational procedure into a typed resource that Flynn can run: provision the command-line tools it needs, run them, verify the outcome, and register what it produced as a supervised Service. |
|
profilestore
Package profilestore persists a model's measured capability profile as a typed resource and reads it back as a harness.ProfileSource, so a reliability measurement made once drives how hard the harness scaffolds that model on every later run.
|
Package profilestore persists a model's measured capability profile as a typed resource and reads it back as a harness.ProfileSource, so a reliability measurement made once drives how hard the harness scaffolds that model on every later run. |
|
reliability
Package reliability measures whether a model is dependable enough to drive an agent loop, which is a different question from whether a machine can run it.
|
Package reliability measures whether a model is dependable enough to drive an agent loop, which is a different question from whether a machine can run it. |
|
rigor
Package rigor enforces the project's engineering-rigor floor as a test rather than a hope: every production package must carry a property test (rapid or the testkit harness), a declared set must carry a fuzz target, and a declared set must carry a benchmark (so a hot path, once measured, can never silently lose its measurement).
|
Package rigor enforces the project's engineering-rigor floor as a test rather than a hope: every production package must carry a property test (rapid or the testkit harness), a declared set must carry a fuzz target, and a declared set must carry a benchmark (so a hot path, once measured, can never silently lose its measurement). |
|
service
Package service models a deployed workload as a typed resource on the event-sourced foundation.
|
Package service models a deployed workload as a typed resource on the event-sourced foundation. |
|
source/signalcli
Package signalcli adapts the Signal messenger to the inbox Source and Sink ports by speaking JSON-RPC to a signal-cli daemon.
|
Package signalcli adapts the Signal messenger to the inbox Source and Sink ports by speaking JSON-RPC to a signal-cli daemon. |
|
source/telegram
Package telegram adapts the Telegram Bot API to the inbox Source and Sink ports.
|
Package telegram adapts the Telegram Bot API to the inbox Source and Sink ports. |
|
spinesink
Package spinesink adapts the dispatch waist to the event spine: it implements dispatch.EventSink by translating each dispatched action's lifecycle events into spine events on a run's stream.
|
Package spinesink adapts the dispatch waist to the event spine: it implements dispatch.EventSink by translating each dispatched action's lifecycle events into spine events on a run's stream. |
|
sqlitex
Package sqlitex is the shared SQLite engine for the agent's durable backends.
|
Package sqlitex is the shared SQLite engine for the agent's durable backends. |
|
testkit
Package testkit is shared test infrastructure for the agent: deterministic fault injection and invariant checks that make rigorous tests cheap to write.
|
Package testkit is shared test infrastructure for the agent: deterministic fault injection and invariant checks that make rigorous tests cheap to write. |
|
text
Package text holds the small string helpers that were re-implemented across the tree: rune-safe clipping (one of the copies sliced bytes and could split a multibyte character), single-line collapsing, and multi-substring matching.
|
Package text holds the small string helpers that were re-implemented across the tree: rune-safe clipping (one of the copies sliced bytes and could split a multibyte character), single-line collapsing, and multi-substring matching. |
|
tui/app
Package app is the interactive session shell: one event loop composing the input reader, the composer editor, and the screen painter into a running terminal application.
|
Package app is the interactive session shell: one event loop composing the input reader, the composer editor, and the screen painter into a running terminal application. |
|
tui/editor
Package editor is the composer's line editor: the multi-line buffer the user types a prompt into, with grapheme-correct cursor movement, a kill ring, undo, and atomic paste chips.
|
Package editor is the composer's line editor: the multi-line buffer the user types a prompt into, with grapheme-correct cursor movement, a kill ring, undo, and atomic paste chips. |
|
tui/fuzzy
Package fuzzy ranks completion candidates against a typed pattern.
|
Package fuzzy ranks completion candidates against a typed pattern. |
|
tui/input
Package input decodes the terminal's raw byte stream into typed events: keys with modifiers, bracketed pastes, and focus changes.
|
Package input decodes the terminal's raw byte stream into typed events: keys with modifiers, bracketed pastes, and focus changes. |
|
tui/mdstream
Package mdstream partitions streamed markdown into a stable prefix and a mutable tail.
|
Package mdstream partitions streamed markdown into a stable prefix and a mutable tail. |
|
tui/render
Package render turns session content into pre-styled, pre-wrapped terminal lines: markdown through a goldmark AST walk, fenced code through a chroma highlighter bucketed into the theme's syntax roles, and file changes through a width-adaptive diff view.
|
Package render turns session content into pre-styled, pre-wrapped terminal lines: markdown through a goldmark AST walk, fenced code through a chroma highlighter bucketed into the theme's syntax roles, and file changes through a width-adaptive diff view. |
|
tui/screen
Package screen is the terminal renderer core for the interactive session: line-array components, a diffing painter, and scrollback-native output.
|
Package screen is the terminal renderer core for the interactive session: line-array components, a diffing painter, and scrollback-native output. |
|
tui/term
Package term manages the terminal's lifecycle around an interactive session: raw mode, the private modes the session needs (bracketed paste, focus reporting, the kitty keyboard enhancement), the terminal size, and a portable resize watcher.
|
Package term manages the terminal's lifecycle around an interactive session: raw mode, the private modes the session needs (bracketed paste, focus reporting, the kitty keyboard enhancement), the terminal size, and a portable resize watcher. |
|
tui/theme
Package theme is the semantic styling layer for the terminal session.
|
Package theme is the semantic styling layer for the terminal session. |
|
vault
Package vault is Flynn's credential store: a secret.Source that holds API keys and other credentials encrypted at rest, so a user enters a key once and it is never written to disk in plaintext, never echoed, and revealed only at the point of use (the model request's authorization header).
|
Package vault is Flynn's credential store: a secret.Source that holds API keys and other credentials encrypted at rest, so a user enters a key once and it is never written to disk in plaintext, never echoed, and revealed only at the point of use (the model request's authorization header). |
|
version
Package version holds build version metadata for the agent binary.
|
Package version holds build version metadata for the agent binary. |
|
Package jobs is the agent's durable work queue: a port for work that must survive a restart and be retried until it succeeds or is exhausted.
|
Package jobs is the agent's durable work queue: a port for work that must survive a restart and be retried until it succeeds or is exhausted. |
|
jobstest
Package jobstest is the conformance suite for jobs.Queue.
|
Package jobstest is the conformance suite for jobs.Queue. |
|
Package learn is the agent's learning loop: it turns a finished run into durable knowledge the agent can reuse, so experience compounds across runs instead of being discarded when a conversation ends.
|
Package learn is the agent's learning loop: it turns a finished run into durable knowledge the agent can reuse, so experience compounds across runs instead of being discarded when a conversation ends. |
|
Package llm is the agent's provider-agnostic language-model port: the single interface every model backend implements, and the neutral message/tool vocabulary the agent reasons in.
|
Package llm is the agent's provider-agnostic language-model port: the single interface every model backend implements, and the neutral message/tool vocabulary the agent reasons in. |
|
anthropic
Package anthropic adapts Anthropic's Messages API to the provider-agnostic llm.Model port.
|
Package anthropic adapts Anthropic's Messages API to the provider-agnostic llm.Model port. |
|
internal/httpapi
Package httpapi is the shared HTTP core for the hosted-provider adapters: one governed POST-JSON pipeline (netguard-dialed by default, capped response read, retry with Retry-After through the integrations transport) and one quota classifier, so every adapter makes the same retry-vs-fail decision and a hardening fix lands once instead of per provider.
|
Package httpapi is the shared HTTP core for the hosted-provider adapters: one governed POST-JSON pipeline (netguard-dialed by default, capped response read, retry with Retry-After through the integrations transport) and one quota classifier, so every adapter makes the same retry-vs-fail decision and a hardening fix lands once instead of per provider. |
|
llmtest
Package llmtest provides a deterministic in-memory llm.Model for tests: a scripted backend that returns a fixed sequence of turns and records the requests it was given, so the conversation loop and the agent runtime can be driven end to end without a real provider or any network.
|
Package llmtest provides a deterministic in-memory llm.Model for tests: a scripted backend that returns a fixed sequence of turns and records the requests it was given, so the conversation loop and the agent runtime can be driven end to end without a real provider or any network. |
|
openai
Package openai adapts OpenAI's Chat Completions API to the provider-agnostic llm.Model port.
|
Package openai adapts OpenAI's Chat Completions API to the provider-agnostic llm.Model port. |
|
Package mcp serves a set of the agent's tools to a Model Context Protocol client over a JSON-RPC 2.0 stdio transport, so an external program (another agent's harness, an editor, any MCP client) can call the agent's tools without being handed the host directly.
|
Package mcp serves a set of the agent's tools to a Model Context Protocol client over a JSON-RPC 2.0 stdio transport, so an external program (another agent's harness, an editor, any MCP client) can call the agent's tools without being handed the host directly. |
|
Package memory provides the agent's memory as a typed facade over the unified resource foundation.
|
Package memory provides the agent's memory as a typed facade over the unified resource foundation. |
|
guard
Package guard defends the agent's durable memory against context poisoning (OWASP ASI06): the attack that writes a hidden instruction into memory now and triggers it days later, through an unrelated turn.
|
Package guard defends the agent's durable memory against context poisoning (OWASP ASI06): the attack that writes a hidden instruction into memory now and triggers it days later, through an unrelated turn. |
|
memorytest
Package memorytest is the conformance suite for state.MemoryStore.
|
Package memorytest is the conformance suite for state.MemoryStore. |
|
Package mission turns a Goal into real work: it drives a goal as a tool-using conversation with a language model, through the provider-agnostic llm port.
|
Package mission turns a Goal into real work: it drives a goal as a tool-using conversation with a language model, through the provider-agnostic llm port. |
|
Package netguard is the outbound network policy the agent dials its own connections through: a default-deny gate that decides whether a given address may be reached.
|
Package netguard is the outbound network policy the agent dials its own connections through: a default-deny gate that decides whether a given address may be reached. |
|
Package observe is the agent's observability layer: structured logging, tracing, and metrics, all reached through Flynn-owned ports so the agent never depends on a concrete backend.
|
Package observe is the agent's observability layer: structured logging, tracing, and metrics, all reached through Flynn-owned ports so the agent never depends on a concrete backend. |
|
Package orchestration turns a single goal into a graph: its Spawner is the concrete fan-out that creates and governs child goals.
|
Package orchestration turns a single goal into a graph: its Spawner is the concrete fan-out that creates and governs child goals. |
|
Package provider resolves a "provider:model" string to a concrete llm.Model.
|
Package provider resolves a "provider:model" string to a concrete llm.Model. |
|
Package reconcile is the agent's desired-state execution engine: a small, in-process control loop in the Kubernetes mould (a level-triggered reconciler driven by a deduplicating work queue) but with no cluster, no apiserver, and no etcd.
|
Package reconcile is the agent's desired-state execution engine: a small, in-process control loop in the Kubernetes mould (a level-triggered reconciler driven by a deduplicating work queue) but with no cluster, no apiserver, and no etcd. |
|
Package resource is the agent's unified foundation: everything in the system is a Resource, a typed, versioned, schema-validated record on one event-sourced store.
|
Package resource is the agent's unified foundation: everything in the system is a Resource, a typed, versioned, schema-validated record on one event-sourced store. |
|
resourcetest
Package resourcetest is the conformance suite for resource.Store.
|
Package resourcetest is the conformance suite for resource.Store. |
|
Package runtime assembles the agent's goal control plane into one startable unit: the resource store, the durable job queue, the message bus, the reconcile manager, and the goal reconciler and step worker, wired together.
|
Package runtime assembles the agent's goal control plane into one startable unit: the resource store, the durable job queue, the message bus, the reconcile manager, and the goal reconciler and step worker, wired together. |
|
Package sandbox is the agent's execution boundary: the port every run's work - shell commands and file operations today, computer-use and plugin code later - goes through rather than touching the host directly.
|
Package sandbox is the agent's execution boundary: the port every run's work - shell commands and file operations today, computer-use and plugin code later - goes through rather than touching the host directly. |
|
Package secret is the agent's in-memory credential primitive: a string-like value that holds an API key, token, or password but refuses to render itself.
|
Package secret is the agent's in-memory credential primitive: a string-like value that holds an API key, token, or password but refuses to render itself. |
|
Package session is the agent's conversational front door: a streaming Session over the goal runtime that a chat UI drives turn by turn and renders live.
|
Package session is the agent's conversational front door: a streaming Session over the goal runtime that a chat UI drives turn by turn and renders live. |
|
Package skill provides skills as a typed facade over the unified resource foundation.
|
Package skill provides skills as a typed facade over the unified resource foundation. |
|
skilltest
Package skilltest is the conformance suite for state.SkillStore.
|
Package skilltest is the conformance suite for state.SkillStore. |
|
Package spine is the agent's canonical event log: one durable, ordered, replayable stream of events per run.
|
Package spine is the agent's canonical event log: one durable, ordered, replayable stream of events per run. |
|
spinetest
Package spinetest is the conformance suite for spine.Log.
|
Package spinetest is the conformance suite for spine.Log. |
|
Package state defines the persistence boundary between the open-source agent and any host.
|
Package state defines the persistence boundary between the open-source agent and any host. |
|
statetest
Package statetest is the conformance suite for state.Provider.
|
Package statetest is the conformance suite for state.Provider. |
|
storage
|
|
|
sqlite
Package sqlite is the agent's durable, single-file backend.
|
Package sqlite is the agent's durable, single-file backend. |
|
Package tools is the agent's default toolset: the standard capable surface a coding agent needs to do real work - run a command, and read, write, edit, glob, and grep files - each exposed as a mission.Tool the model can call.
|
Package tools is the agent's default toolset: the standard capable surface a coding agent needs to do real work - run a command, and read, write, edit, glob, and grep files - each exposed as a mission.Tool the model can call. |
|
Package watch turns in-tree source comments into governed run inputs.
|
Package watch turns in-tree source comments into governed run inputs. |