Skip to main content

ACT CLI & Build Tools

Host and build ACT (Agent Component Tools) WebAssembly components.

This repo contains two tools:

  • act — run, call, inspect, and serve ACT components from local files, HTTP URLs, or OCI registries
  • act-build — post-process compiled WASM components: embed metadata, skills, and custom sections

Install

# act (CLI host)
npm i -g @actcore/act
pip install act-cli
cargo install act-cli

# act-build (build tool)
npm i -g @actcore/act-build
pip install act-build
cargo install act-build

Pre-built binaries available on GitHub Releases and Docker (ghcr.io/actcore/act).

act — Component Host

# Discover tools in a component
act info --tools ghcr.io/actpkg/sqlite:0.1.0

# Call a tool
act call ghcr.io/actpkg/sqlite:0.1.0 query \
  --args '{"sql":"SELECT sqlite_version()"}' \
  -m database_path=/data/app.db \
  --grant '{"wasi:filesystem":{"mode":"allowlist","allow":[{"path":"/data/**","mode":"rw"}]}}'

# Serve over HTTP
act run -l ghcr.io/actpkg/sqlite:0.1.0

# Serve over MCP stdio
act run --mcp ghcr.io/actpkg/sqlite:0.1.0

Components can be referenced as:

  • OCI refs: ghcr.io/actpkg/sqlite:0.1.0
  • HTTP URLs: https://example.com/component.wasm
  • Local paths: ./component.wasm

Remote components are cached in ~/.cache/act/components/.

Commands

Command Description
run Serve a component over ACT-HTTP (-l) or MCP stdio (--mcp)
call Call a tool directly, print result to stdout
info Show component metadata, tools, and schemas (--tools, --format text|json|toon)
pull Download a component from OCI or HTTP to local file

Audit trail

run and call write a structured audit trail to stderr: what component is running and under what capability modes, every capability decision as it resolves, and a per-call summary. It is on by default and independent of RUST_LOG — only --no-audit (or [audit] enabled = false in the config file) turns it off.

audit: act-cli/tests/fixtures/fs-canary.wasm sha256:92342c │ wasi:filesystem=ask wasi:http=deny wasi:sockets=deny
audit: ⚠ declared ask, no prompt channel — every access will be denied: wasi:filesystem
audit: ? ask-deny  wasi:filesystem  /tmp/probe.txt   denied by user
audit: ● read  tool-error 1ms  args:43ebc7  req:00392e

That's a real, captured transcript of one headless call with no --grant: the first line is the instantiation header (component, digest, resolved mode per capability class); the second warns that a declared ask capability has no prompt channel to answer it, so every access degrades to deny; the third is the immediate denial (denials and asks print the moment they resolve, never batched); the fourth is the per-call rollup — outcome, duration, an args: digest of the tool arguments (or the full values with --audit-args), and a req: id for joining this line back to a client log. Allowed operations coalesce into that rollup line instead of one line each, e.g. filesystem: 12 read under /data/**.

HTTP Endpoints (run -l)

Method Path Description
GET /info Component metadata
POST /metadata-schema JSON Schema for metadata
POST/QUERY /tools List tools
POST/QUERY /tools/{name} Call a tool (SSE with Accept: text/event-stream)

act-build — Component Build Tool

# Embed act:component metadata, act:skill, and WASM custom sections
act-build pack target/wasm32-wasip2/release/my_component.wasm

# Validate without modifying
act-build validate target/wasm32-wasip2/release/my_component.wasm

# Publish as a CNCF Wasm OCI Artifact
act-build push my_component.wasm ghcr.io/actpkg/my-component:0.1.0 \
  --also-tag latest \
  --source https://github.com/actpkg/my-component \
  --skip-if-identical

Metadata is resolved via merge-patch from project manifests:

  1. Base from Cargo.toml, pyproject.toml, or package.json (name, version, description)
  2. Inline patch from the same manifest ([package.metadata.act-component], [tool.act-component], or actComponent)
  3. act.toml — highest priority, applied last

act-build push produces artifacts conformant with the CNCF TAG-Runtime Wasm OCI Artifact spec: manifest config has media type application/vnd.wasm.config.v0+json (with architecture, os, layerDigests, and component.{exports,imports} derived from the component's exports and imports), and the layer is application/wasm.

Authentication is resolved in order: OCI_USERNAME/OCI_PASSWORD env, then GITHUB_TOKEN for ghcr.io, then ~/.docker/config.json (or $DOCKER_CONFIG/config.json), then anonymous.

Platform Support

Architecture Linux (GNU) Linux (musl) macOS Windows Docker
x86_64
aarch64
riscv64

RISC-V (riscv64) is a first-class target. Regressions on RISC-V are release-blocking.

Building

cargo build --release        # both tools
cargo build -p act-cli       # act only
cargo build -p act-build     # act-build only

Set RUST_LOG=act=debug for verbose output.

License

MIT OR Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

act_build-0.11.1.tar.gz (72.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

act_build-0.11.1-py3-none-win_arm64.whl (5.0 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.11.1-py3-none-win_amd64.whl (5.1 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.11.1-py3-none-musllinux_1_2_x86_64.whl (5.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_build-0.11.1-py3-none-musllinux_1_2_riscv64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.11.1-py3-none-musllinux_1_2_aarch64.whl (5.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.11.1-py3-none-manylinux_2_31_riscv64.whl (4.9 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.11.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.11.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.11.1-py3-none-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.11.1-py3-none-macosx_10_12_x86_64.whl (5.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file act_build-0.11.1.tar.gz.

File metadata

  • Download URL: act_build-0.11.1.tar.gz
  • Upload date:
  • Size: 72.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for act_build-0.11.1.tar.gz
Algorithm Hash digest
SHA256 d384f2472f8de5786022a74baed36aa5cd1db282710167410784c0026893e726
MD5 748108f5c16dfb0fa13564b9b4262894
BLAKE2b-256 457721fbd2dd395a20be8a8b96342abc7b901922266e4a047b00bc4eeb668352

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1.tar.gz:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: act_build-0.11.1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for act_build-0.11.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e0271cc911ea15e38febead687bfe15af1095f8b03e0c4103ed4511f9a6e56bf
MD5 f3c4876ae1e451b788b50de87314e64c
BLAKE2b-256 e9e00ad792c7faa27e1efd859384dcec73a98fc62615bce4d01c663a05a08ac3

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-win_arm64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: act_build-0.11.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for act_build-0.11.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 374f80711bf34d8ff691cbd6b9d97c95d1ac4f858ab67f24d7711630ce798a7a
MD5 0c4245466dba2e543f425388704eddd5
BLAKE2b-256 7e45c734210706d04eb9b70831e7d8cb2b5ce978edd648fd2233212d913dfa5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-win_amd64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 efbdc6d352cddb8ec17efcaad99fc75b142034e7c5ed7661bb22021b1267033f
MD5 4c472ec66a9982fe82bcd01cc5ab6975
BLAKE2b-256 bdaf8f68a067e84e881ffee86dfb960d24b25cf2fcc0aa3483902a665d89ad59

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 29df1e50946508d4c1f3e4d788cea6ab9499a85476fb672dddce126e4db03f33
MD5 33b05cf4b61bf8436ef9c5aeb9b5cf29
BLAKE2b-256 4edf6a3bb87a9bf9f910ced4df4b3cca6a32b20c0dd521cd091f2f804770b0a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-musllinux_1_2_riscv64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e2dade74da383cd7a919d7df5026afd1140770e1f381f5afd34875282b78bdc6
MD5 dcca41af42648550193dee3dd4b93db7
BLAKE2b-256 8bab3a5f231703ba5a6f878fc44e4ddcc7e622851adea69a7dd10cda2f76b22f

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 2dfbea8f9a8451bace4594d1c32f34e45b2c5bae418431c8c2cba0358c188e27
MD5 2f3b52852481358b9ab04921c3e8ea7f
BLAKE2b-256 98e44fa12c89616f8cc7f4c98701a730888b7e5242177b6edfedd8483e78319a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-manylinux_2_31_riscv64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dab883239e5d05dd18043fe495576c5a721f77fe658ba0c0c33b2f8d42312426
MD5 7aaa5b6ed3565d1752d7e9ede018ab6b
BLAKE2b-256 16887df89721773dcd6d3a499d2c84a5952896b65962d5c868043b0fb2d409b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ccc301ca3dfa74e28d57a9ada08c5fcc612e6ee1b4ba375b014479f89f7d1b59
MD5 dbfd915af3c64fd510451de9d1ddc817
BLAKE2b-256 9d457d05a639452545eebf46c27647eed9883d01f957b2fc42f7709bcb7e7b54

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bb90669ad566586b74f463f768a0674e5367a309675b6b0f9237861f204f1a9
MD5 53166178c536e6625558b3aa210c04ab
BLAKE2b-256 7d59aa93cec0801fa6dd6bb8738afe9da87e9c879acf9009baee2b30078b6cb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file act_build-0.11.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.11.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 32b28a0b056bdbd6725996dd7ba7046fa59b456b9103cdc3c23c3ed6eb231586
MD5 c7dac50b9dc39f58aca3141046926f79
BLAKE2b-256 e7f286bb11cd22f32b26b901fb06ff04c28e0ba491e1b9b47b72a51a79524997

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.11.1-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on actcore/act-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.11.1 This release

11 files

0.10.1

11 files

0.10.0

11 files

0.9.0

11 files

0.8.3

11 files

0.8.2

11 files

0.8.1

11 files

0.8.0

11 files

0.7.6

11 files

0.7.5

11 files

0.7.4

11 files

0.7.3

11 files

0.7.2

11 files

0.7.1

11 files

0.7.0

11 files

0.6.0

11 files

0.5.1

11 files

0.5.0

11 files

0.4.0

11 files

0.3.10

11 files

0.3.9

11 files

0.3.8

11 files

0.3.7

10 files

0.3.6

10 files

0.3.5

10 files

0.3.4

10 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page