Skip to main content

Build tool for ACT WASM components

Project description

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()"}' \
  --metadata '{"database_path":"/data/app.db"}' \
  --allow-dir /data:./data

# 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)
pull Download a component from OCI or HTTP to local file

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

Project details


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.8.0.tar.gz (64.1 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.8.0-py3-none-win_arm64.whl (4.5 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.8.0-py3-none-win_amd64.whl (4.6 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.8.0-py3-none-musllinux_1_2_x86_64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_build-0.8.0-py3-none-musllinux_1_2_riscv64.whl (4.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.8.0-py3-none-musllinux_1_2_aarch64.whl (4.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.8.0-py3-none-manylinux_2_31_riscv64.whl (4.4 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.8.0-py3-none-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.8.0-py3-none-macosx_10_12_x86_64.whl (5.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_build-0.8.0.tar.gz
  • Upload date:
  • Size: 64.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for act_build-0.8.0.tar.gz
Algorithm Hash digest
SHA256 ca249642dfb844f8bf391681783728a96b7219906b47eaf497e4ae4070d424cd
MD5 044c6ac5a7fce5f6e2229e3fac571add
BLAKE2b-256 f791bef8c2a1d92db4264849e6e9c2ab912ce2c01f818b22a00e761023d7ce23

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0.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.8.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: act_build-0.8.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for act_build-0.8.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 17d697b7b48ba617e01391422145777ad88f950801d0be5fc2217ae2a3af0627
MD5 128e4a6dec7f4b2fb24baee4b3b16d1a
BLAKE2b-256 9b2a1052c320a5a0ff614c27ac4927dc3f868b660805586e6c749a8ecb3e0308

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for act_build-0.8.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8c88976148f50fa11145528bb26e18410b4e3d0829f8440648bb8d1452b965bb
MD5 2021277c5134ef4d98bab539956670dc
BLAKE2b-256 5507017bf31f78b0b009a857c8a3c3bbd7bbfefcab3492aefade32fada4c6e6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dae7915917019028ee802cede9c84a6f50452fea5f5a799e9dc7a4406f884a98
MD5 2ebc8a096aeadbabb50e96f71296dd77
BLAKE2b-256 4eacf53f29a7469e7c253d7841f689509d0b3fd0387c3904f204ae46716f8d0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 facbc65dcf317b75594a69dc610ab5551b637b71eb5ff61f9374c37b5b6caf8a
MD5 e95aceb1518b63950538fa1b23329943
BLAKE2b-256 b5c28d642dd11dd3a5dd4036a78a02e0eb81c4538c5a502ea67ea90d478a25f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4639e2e25003825549c680d7f80e4949ebd479a618b4993cd46fa21f0978ac14
MD5 6079a1660e447da71ce6087b97419e65
BLAKE2b-256 10766906773560f0e35680dfbad9b06e965157508246564f3d2290b257f8ca74

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 2749a4b3ff2bf0f58232d804544a0a2b20fb54a7c2ebc7ff4f42cd30e0640c6e
MD5 6a5565d3f60faafcb64bd091f3117f2a
BLAKE2b-256 005015a8523ad53a20091e13aefd7ff47933dc3e5af5fd1115c8680ba059d801

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5766bf6424c50ea59bbcf6fdf5e0673750ff363447d5ecb8c4b9eac30338359f
MD5 96f4bb4ea1b072f946717097ea638646
BLAKE2b-256 a363be578fde4c1080d2d2deff717986a52e8c09cf6d138650bc5cc70e87a74a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c818401383dbd2fe4d75138befb8ec78ee0489dc597f94920d1a8968eb66ad1e
MD5 d11d781ee074fd091d77c7220b72cb93
BLAKE2b-256 07a88e3b7d32e4f0b588d979d7520b5481ecc8bd38098af85c3a6b5d34304223

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cfac24326a22cd505bdcef9e2b574f74aa34d8ecb87fac3ae0a56e5528f43b4
MD5 36f9bafd590429a2449cf80accc41ecb
BLAKE2b-256 9394a1c1354ad71875cdd308b23a7798257f75081b51bfda28547742cb2de306

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.8.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 624d3f58d4b1e1924a0986c208a2fb46039c720bcd0ffc4b3de6fe132c898491
MD5 b5649839806142a29e4c6c4e8f1eb8f7
BLAKE2b-256 7539a9922010725ac189bd83ee5d6d6b886f7c0706c952f40b750fafdf8351e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.8.0-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.

Supported by

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