Skip to content

0.6.0

Latest

Choose a tag to compare

@andreisavu andreisavu released this 04 Oct 15:41
· 38 commits to main since this release
18e533c

Install: npm install @ambionframework/ambion@0.6.0

Ambion 0.6.0: code mode and macros. Every seat runs short code over its tools in one call, and a skill stores a procedure as a macro. Code mode: the compose tool runs short code over the tools of a seat, the room tools included, and the core checks and traces each call; the model runs a macro by name with arguments and reads one value. Declared outputs: a tool declares the shape of its details, describe returns its signature, and compose checks every result against it. Free code: short code joins tools in one call, for precision and typed chains, and the live runs measured no token saving for it. The assistant: defineAssistant takes an executor function and needs no Pi package. Also new: the twelfth package, compose, with the QuickJS and child process runtimes, $PORT and fetch for processes, and seating: false for a room. Fixes: a Pi seat reads its prompt as the system prompt, and a Claude seat answers a late steer. Breaking: every seat holds compose, fetch replaces the sensor tools, and defineAssistant takes an executor function.

0.6.0 brings code mode and macros. Every Pi, Claude, and Codex seat
holds the compose and describe tools. The model writes short code over
the tools of the seat, the room tools included, and the core runs it in one
call. The core checks each nested call against the schema of its tool and
records it in the trace. See Compose.

Macros are the main use of code mode. A skill stores a procedure as a
macro, and the model runs the macro by name with arguments. The model writes
no code and reads only the value that the macro returns. Free code serves
precision, the exploration of large results, and chains of typed tools. The
live evidence in planning/ shows no token saving for free code, and the
docs claim none. See Macros.

A tool declares its output. defineTool types details from a TypeBox
schema, and compose checks each result against it. Every workspace tool
except write and edit declares its output. describe returns the typed
signatures that a compose call reads.

A process serves HTTP on its own port. bash sets $PORT for each
command, and the fetch tool reads a path of a running process. The sensor
templates use both, so the kernel holds no sensor code.

The assistant runs on any harness. defineAssistant takes an executor
function, and @ambionframework/assistant no longer depends on
@ambionframework/pi. The assistant routes a request first, and a closing
summary rests only on the messages of its exchange.

The host decides who seats agents. A room offers seat only when its
reserve held an agent as the room composed. seating: false keeps every
seat from seating or unseating an agent.

The release fixes three defects. A Pi seat reads the seat prompt as the
system prompt. A Claude seat answers a line that lands during its final
answer. Camera Chat keeps its preview frame on a refresh.

The composition entry gains two optional fields. The other journal
bodies and stored formats stay as they are, and a journal of 0.5.0 opens on
0.6.0. See Breaking changes.

Packages

The eleven packages of 0.5.0 ship at 0.6.0, and one package joins.
@ambionframework/compose is the twelfth publishable package. The examples
examples/workbench and examples/camera-chat stay private. Every library
package needs Node 22.19 or newer. processRuntime needs Node 26 or newer.

  • Compose. @ambionframework/compose has one entry point,
    @ambionframework/compose/runtime, and no root export. It exports
    quickjsRuntime and processRuntime. It depends on
    @ambionframework/ambion and on quickjs-emscripten 0.32.0, pinned
    exactly.
  • Executors. @ambionframework/pi, @ambionframework/claude, and
    @ambionframework/codex depend on @ambionframework/compose, for the
    default runtime of a seat.
  • Assistant. @ambionframework/assistant drops @ambionframework/pi
    from its dependencies and depends on @ambionframework/ambion only. Its
    tests take @ambionframework/pi, @ambionframework/claude, and
    @ambionframework/codex as development dependencies.
  • Workspace. @ambionframework/workspace drops the entry points
    ./sensors and ./sensor-api.schema.json.
  • Other packages. No other package adds or removes an entry point or a
    dependency.

The full notes, with every change and the breaking changes, are in CHANGELOG.md.