Public beta — not for production use. Data may be wiped at any time. Questions? Contact us.
Documentation menu

Glossary

Canonical definitions for every Axiom term — the single authority for terminology used across the docs, the CLI, the canvas, and the API.

View as Markdown

This page is the authority for Axiom terminology. Every concept has exactly one name; the docs never use a synonym ("component", "workflow", "graph") where one of these terms applies.

Node

A node is the single unit of compute in Axiom: a user-written handler function with a typed input message and a typed output message, both defined in Protocol Buffers. Node code runs in an isolated container and interacts with the platform only through the sidecar. Nodes are declared in a package's axiom.yaml and become available to flows once the package is published. A node is either unary (one input message in, one output message out per invocation) or a pipeline node (a streaming generator that emits a sequence of output frames).

Package

A package is the unit of publishing: a versioned bundle of node definitions and Protocol Buffers message types, described by an axiom.yaml manifest (name, version, language, nodes, imports). Running axiom push publishes a package to the marketplace, where its nodes can be placed into flows. A proto-only package contains no nodes — only message types for other packages to import.

Flow

A flow is a directed graph of nodes composed in the canvas (or via the API). An edge from node A to node B means "A's output message is B's input message"; edge type compatibility is checked at compile time. Invoking a flow always means executing its compiled artifact, never an editable draft.

Message

A message is a Protocol Buffers message: the only data type that crosses a node boundary. Every node input, node output, and edge payload is a message. Message types are defined in .proto files inside packages and may be imported across packages.

Execution

An execution is a single run of a flow, from invocation to completion, identified by an execution ID that the platform assigns when the request is accepted. The execution ID is threaded through every hop — traces, debug events, results, and the HTTP API all reference it.

Entry node

The entry node is the node where an execution starts: the flow's single node with no incoming edges. The entry node's input message defines the flow's input schema — it is what callers send when invoking the flow via the API.

Terminal node

The terminal node is the node where an execution ends: the flow's single node with no outgoing edges. Its output message defines the flow's result schema; an execution completes when the terminal node finishes.

Compiled artifact

A compiled artifact is the immutable, optimized representation of a flow that the platform produces at compile time and that workers execute. Compile validates edge type compatibility and resolves every node placement; once compiled, an artifact never changes — editing a flow produces a new artifact.

Sidecar

The sidecar is the platform proxy that runs alongside every node container and is the node's only channel to the platform. All platform capabilities — logging, secrets, memory, telemetry — reach node code through the sidecar, and the sidecar enforces tenant isolation. Node code never calls platform services directly.

Tenant

A tenant is an isolated account scope. Every execution carries the tenant identity resolved from the authenticated API key, and the platform — not node code — enforces that one tenant's data (secrets, memory, results) is never visible to another.

Pipeline mode

Pipeline mode is the streaming execution mode of a flow: instead of one request producing one response (unary mode), frames flow continuously between nodes and results are delivered to the caller progressively as a stream. A flow runs in pipeline mode when it contains pipeline nodes.

Session

A session is the scope of one conversation or interaction in agent memory, identified by a session ID that always comes from the caller's typed input message — the platform never infers or injects it. Episodic memory (the record of what happened) is scoped to a session.

Consolidation

Consolidation is the background process that promotes episodic memories (session-scoped records of what happened) into durable semantic facts that persist across sessions — for example, turning repeated conversation turns into "this user prefers TypeScript."

Flow config

A flow config is a named profile of parameter values (and secret references) attached to a flow. Callers select a config by name at invocation time; the platform resolves the profile and injects the resolved values into the execution, so the same flow runs with different settings — say, staging and production — without recompiling.

Secret

A secret is a named, tenant-scoped credential (an API key, a token) stored in the console and read by node code through AxiomContext at runtime. Secrets never appear in package source or flow definitions; a node declares the secret names it needs in axiom.yaml (required_secrets) so users know what to register before invoking.

Client

A client is a named, account-scoped bundle of marketplace nodes and flows, assembled in Console → Client Builder, that compiles into a typed SDK. Each bundled node or flow is a member with a unique alias that becomes its method name in the SDK. Building a client produces an immutable, numbered version — a frozen snapshot of its members — that can be compiled into any of six languages (Python, Go, TypeScript, Java, C#, Rust). See Build a client SDK.