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.7.4.tar.gz (64.0 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.7.4-py3-none-win_arm64.whl (4.6 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.7.4-py3-none-win_amd64.whl (4.7 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.7.4-py3-none-manylinux_2_31_riscv64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.7.4-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.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.7.4-py3-none-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.7.4-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.7.4.tar.gz.

File metadata

  • Download URL: act_build-0.7.4.tar.gz
  • Upload date:
  • Size: 64.0 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.7.4.tar.gz
Algorithm Hash digest
SHA256 ce4d66bf4a25b5a9a28d41d2160e65210f7da69e52090a4c1d00218a063caf40
MD5 7f72d229b1e4912f64c0184c5c23fd0c
BLAKE2b-256 b2ec647bc38a522a5a391995fc2b0a79de3e5f5c8c769ae91c76c9766880feeb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.4-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.6 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.7.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 5659014272a751eb6d97b2baec4c13835218c4e871ed33c7c599225728186e48
MD5 a36453cc0979b492ca152849391f1089
BLAKE2b-256 48f8168e9615d38ebbed1d46007657a99038abf98324b544bf195bf0894e647b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.7 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.7.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 32630ba09fb4f7dbfcf925c133a94ff102fa8f9d5af7ec0dca3df58aac4a0d92
MD5 b5b1684709abbe9b2d6a48dca67ca117
BLAKE2b-256 ca0e4aa847c555ea89b74b7583c81a2dbf74c47c32373dac001b02afd195b151

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 570a41e131b48e4575feda8b44595af82e0b094038474293c9f387f84b6650e1
MD5 7aaed5caca5a9a8c4aae7c3895d5b525
BLAKE2b-256 193827bbb0b5f2985fde8766988907cfcb44af60223ecb6ac7dd86982b1d749a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 e67e3f29ba16b7b6c788b085b802b568ea15bc86f16b487de676e8034b49974d
MD5 59cc37d934d53a1146599933fb4c355d
BLAKE2b-256 e336e1e625dc3b95b1769877941c2eb9a9b76eff88c8d96d913a2523b582ed65

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d7b9784a93fd1c3532b9aaa8e0e7b1fa566cc456aab19c47a88fb6c3d41ff0c5
MD5 700b9c3fd137b6da91124dd4eb70da77
BLAKE2b-256 fd484f68863668b97e4fbfec6baa134e6a52a9d18610964c50910608b772a936

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 ca376484afa6ae6e372810f35548ba6bf2a575cfa36630433d1efbcafeaa6c19
MD5 37585e888f3b5902c264b0d19d8a9776
BLAKE2b-256 2cc4a12903df2e94684ccbd30b0f559622e0654f66b335bad7564a625654940e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec634605faa7a88e66dc14861d8dfa3e7022906c0e1eda2276e496fa10a2e105
MD5 25bf61bab885eb83022d3dd0f8c4c929
BLAKE2b-256 ff1965a34914892c1cc9b6871afea3942e88adeeaab1ac23fc11f4737b8c499a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c74172fe6b83dd74b8398b187a4ed6254e3bc1bee70389039fd4f1471c8032aa
MD5 16889974fea171a96f810e831fbe54fe
BLAKE2b-256 e1693b1188f0db6470146e1399fcfa2078de3be30372cc72c2dc60f629f19ac8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bef85b79d58a31564d2ee907b7f354c1416294b32cafdf58df66b8fa57f61467
MD5 d76f57dc4806f1ebb95b5920db8850a6
BLAKE2b-256 8e91f9670385407b5b517cf1b1c9df25e4da96d84c04adcc0e12b16b342e18d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 297ff3edf784af9a9c85ae575e0c94e77bae8096044e7fbf988f9e29f69d1963
MD5 cc27f9de9c60a14a98ef9e09929b2b13
BLAKE2b-256 1dc14c605a8b70b494561382c39d097fdda8a4775bb0735fead5e273afa148b4

See more details on using hashes here.

Provenance

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