[public action registry]
Action
Registry.
Discover immutable workflow action packages, review manifests, and resolve exact versions before Studio imports them into a private registry.
Immutable
Versions are locked by manifest and artifact checksum.
Studio-aware
Discovery stays public; execution stays policy-controlled.
Worker-ready
Workers download bytes only after exact lock resolution.
Registry
[packages]
Published actions
Blob generate
@beam/blob-generate
Write a deterministic binary blob of sizeMiB MiB and publish it on a reference port (moved as a room object, not through Studio).
Blob verify
@beam/blob-verify
Stream a reference blob and check its size and sha256 against its declared metadata and the blob @beam/blob-generate produces for the same settings.
Dataset manifest
@beam/dataset-manifest
Turn the frozen source file collection of a Data node (@beam/source-files, bucket or Hugging Face) into a dataset-manifest/v1 catalog for a distributed run: one content-addressed unit per file, clocked by bytes, files or listing weight. Large catalogs are built page by page (fan-out over the pages Studio computes) and assembled.
Download
@beam/download
Download a remote object into a Beam artifact.
DRUN synthetic merge
@beam/drun-synthetic-merge
FedAvg of synthetic models for distributed runs: averages the losses of every admitted contribution and publishes the merged synthetic model and a JSON report. No model math.
DRUN synthetic train
@beam/drun-synthetic-train
Synthetic local training step for distributed runs: continues from the optional carried model (none: a fresh model) and publishes a small synthetic model whose loss decays per step, plus a JSON report with that loss. No model math.
Fan Out
@beam/fan-out
Partition a collection into parallel workflow branches.
File term map
@beam/file-term-map
Count ASCII word tokens in the frozen source files of one map task and publish one identified term counter.
Join
@beam/join
Join branch outputs back into one workflow payload.
JSON file process
@beam/json-file-process
Process four JSON files assigned to one room member.
JSON file seed
@beam/json-file-seed
Generate four deterministic JSON files for one frozen room member.
MNIST — petit réseau réel
@beam/mnist-mlp
Real 196 → 32 ReLU → 10 softmax neural network: MNIST SGD, sample-weighted FedAvg, held-out accuracy. CPU and Python standard library, no synthetic data or simulated compute.
Apply a Beam trainer model
@beam/model-predict
Loads a beam-trainer-model/v1 model made by a @beam/trainer-* program and serves the operations of its task: a table row or a CSV for classify, predict and anomaly, an image for vision, text for text. Python standard library, CPU.
Object Storage Endpoint
@beam/object-storage-endpoint
Resolve an object storage endpoint for downstream actions.
Detect objects with an ONNX model
@beam/predict-detector
Loads a DETR-style object detector exported to ONNX (RT-DETR, D-FINE, DETR and the like, as Optimum and transformers.js export them) and finds the objects of an image, as labelled boxes drawn over it, or of every frame of a video, as an annotated video and one line of boxes per frame. Classes and image size come from the model's config.json and preprocessor_config.json. ONNX Runtime on the machine's accelerator (CUDA in the CUDA image, CoreML on a Mac) or the CPU; video decoded and encoded by PyAV (FFmpeg).
Chat with a gguf model (llama.cpp)
@beam/predict-llamacpp
Loads a gguf language model once with llama.cpp and answers chat messages, streaming the reply token by token. CPU in a container; the Metal GPU of a Mac through the host runtime.
Chat with an MLX model (Apple GPU)
@beam/predict-mlx
Loads a chat model with MLX on an Apple Silicon GPU, alone or as a base model with the mlx-lora adapter of @beam/trainer-llm-lora, and answers chat messages streamed token by token. Host runtime only: MLX needs the Mac's GPU.
Tabular models in ONNX
@beam/predict-onnx
Loads a tabular model exported to ONNX (scikit-learn through skl2onnx and the like) and answers a table row, or every row of a CSV, with the predicted class and its probabilities, or a number for a regressor. Features and classes come from the model's config.json. ONNX Runtime on the CPU, in a container or natively.
Hugging Face transformers models
@beam/predict-transformers
Loads a Hugging Face transformers model once (safetensors) and serves what its architecture does: text classification (one text or a CSV), image classification, or chat and text generation streamed token by token. CPU in a container; the Metal GPU of a Mac (PyTorch MPS) through the host runtime.
Python synthetic evaluate
@beam/py-synthetic-evaluate
Deterministic score in [0, 1] per model (1 / (1 + mean square) for a synthetic float32 model): metric score for the model port, score.<i> per item of the candidate port, and a JSON report. Python standard library in beam-sandbox/v1.
Python synthetic merge
@beam/py-synthetic-merge
Weighted FedAvg of float32 models with the request's weights: associative, commutative and closed (a merged model carries its total weight and leaf count), with one documented rounding rule so every tree node agrees. Publishes the merged model and a JSON report. JSON score reports merge into a weights document (a synthetic consensus). Python standard library in beam-sandbox/v1.
Python synthetic prepare
@beam/py-synthetic-prepare
Initial model of a synthetic training run: a real float32 vector seeded by seed and the model size (mean square lossStart), continued from an optional model or salted by an optional dataset, plus a JSON report with its loss. Python standard library in beam-sandbox/v1.
Python synthetic train
@beam/py-synthetic-train
One synthetic training step on a real float32 vector: continues from the optional model (mixed with the optional neighbor), decays the loss by lossDecay, adds deterministic member noise, simulates compute time, stragglers and failures, and publishes the model and a JSON report with its loss. Python standard library in beam-sandbox/v1.
Ring batch seed
@beam/ring-batch-seed
Publish one deterministic initial batch for a frozen room member.
Ring batch transform
@beam/ring-batch-transform
Apply one deterministic processing step to an identified batch and route it to an explicit successor.
Room Transfer
@beam/room-transfer
Transfer an agent file or object-storage object to a frozen set of room members.
Synthetic merge (member-provided)
@beam/synthetic-merge
Member-provided merge interface with a Python OCI default using the beam-synthetic-f32/v1 model format.
Synthetic train (member-provided)
@beam/synthetic-train
Member-provided train interface with a Python OCI default using the beam-synthetic-f32/v1 model format.
Synthetic training output validator
@beam/synthetic-train-validator
Checks the report of a @beam/synthetic-train output before publication: train mode, size within bounds, well-formed digests, a finite positive loss and a positive iteration.
Term count merge
@beam/term-count-merge
Merge disjoint term partitions of one document collection (the outputs of keyed shuffle reducers) into one counter.
Term count reduce
@beam/term-count-reduce
Combine a closed, identified collection of term counters with exact membership validation.
Term count report
@beam/term-count-report
Publish a deterministic plain-text report from an identified aggregate counter.
Term count shuffle reduce
@beam/term-count-shuffle-reduce
Reducer r of a keyed shuffle: merge the term counters of a closed collection, keeping only the terms whose FNV-1a hash modulo the reducer count is r.
Text corpus seed
@beam/text-corpus-seed
Generate a deterministic corpus of short text documents as one JSON artifact (for scatter and broadcast workflows).
Text part term map
@beam/text-part-term-map
Count terms in one scattered part of a text corpus: the contiguous slice of documents given by the frozen scatter part and part count.
Anomaly detector
@beam/trainer-anomaly
Learns what normal rows look like from a CSV, TSV or JSON Lines file and spots the ones it cannot reconstruct. A small real autoencoder on the CPU; needs no labels, and measures itself on them when a column names the known anomalies.
Table classifier
@beam/trainer-classify
Learns to sort table rows into categories from a CSV, TSV or JSON Lines file with a label column. A small real neural network on the CPU; reports its accuracy on rows kept out of training.
Trainer merge
@beam/trainer-merge
Sample-weighted federated averaging of the models of @beam/trainer-classify, -predict, -vision, -text and -anomaly. Refuses models of different rounds or data.
Table predictor
@beam/trainer-predict
Learns to predict a number from a CSV, TSV or JSON Lines file with a target column. A small real neural network on the CPU; reports its error on rows kept out of training.
Text writer
@beam/trainer-text
Learns to write like your text, one character at a time, from a .txt or JSON Lines file. A small real language model on the CPU: it writes short samples, it does not answer questions or extract information.
Image classifier
@beam/trainer-vision
Learns to recognize categories of images from a .zip or .tar.gz with one folder per category. A small real neural network on grayscale thumbnails, on the CPU; reports its accuracy on images kept out of training.
Beam Transfer
@beam/transfer
Creates, resumes, polls and cancels a Beam transfer.
Vector score (member-provided)
@beam/vector-score
Scores a JSON vector with optional artifact weights. Members may bind their own program; others use the Python OCI default (weighted sum).
Vector score output validator
@beam/vector-score-validator
Checks the content of a @beam/vector-score output before publication: a finite score within +/-1e6 and at most 256 finite scaled values.
WAX-9 big output
@beam/wax9-big
WAX-9: an org-agent step returning a large inline output value (>32KiB) so taskexec holds it as a held artifact (for WAX-6 delivery/transfer-room tests).
WAX-9 blob emitter
@beam/wax9-blob
WAX-9: emit a held reference artifact of sizeKiB bytes on port blob (for transfer-room / large-output / worker-upload delivery tests).
WAX-9 blob v2
@beam/wax9-blobv2
WAX-9: emit a held reference artifact of sizeKiB bytes on port blob (for transfer-room / large-output / worker-upload delivery tests).
WAX-9 blob consumer
@beam/wax9-consume
WAX-9: read a reference artifact on port blob and return its size/sha inline (consumer for delivery tests).
WAX-9 escape probe
@beam/wax9-escape
WAX-9 acceptance: a hostile org-agent step that tries to read the agent state volume, keys, credentials, environment, docker socket, other sockets and the agent API, and reports what (if anything) it could reach. Must reach nothing.
WAX-9 gvisor-required
@beam/wax9-gvisor
WAX-9 acceptance: an org-agent step whose manifest requires execution.minIsolation=gvisor; it must be refused on a container-only executor and never run.
WAX-9 noop
@beam/wax9-noop
WAX-9 acceptance: a roomless org-agent step that returns a small inline JSON result (no inputs, no artifacts, no room).
WAX-9 slow
@beam/wax9-slow
WAX-9 acceptance: an org-agent step that runs for a configurable number of seconds (for fault injection: restart, cancel, lost reply).
Webhook
@beam/webhook
Send a signed HTTP request to an external endpoint.
[workflow templates]
Published templates
No workflow templates published yet.
[training topologies]
Training topologies
Roles, slots and round steps that Studio compiles into a training run; templates bind one by exact version.