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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

act_build-0.8.1-py3-none-musllinux_1_2_x86_64.whl (4.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.8.1-py3-none-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.8.1-py3-none-macosx_10_12_x86_64.whl (5.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_build-0.8.1.tar.gz
  • Upload date:
  • Size: 67.6 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.1.tar.gz
Algorithm Hash digest
SHA256 0e3952c39da225a2484873577e8702604cca1b8bc8f6912a0cd1cdb028cb3935
MD5 d212397b8c2fae58ddbe6fd5ce4f1633
BLAKE2b-256 2d29d17ebf8b1a8c0688e97953bcf1cbcb008bb6029ad260119533b4d2e8c064

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a3bc92314097d73dd70798530d054da930010e0ea2f81baac8d5181de026753a
MD5 034a7c2b543bf7b355a0d2073ed47160
BLAKE2b-256 296e6b8e5137e11808a7eb0c6526e3573bfa9df7c0cbc0cfeb4b1bfa19a03a4f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 42818f1ec8215f4e5e9b3abe92c3d0e400d74cedec9cf5c673bfe209972d1bc6
MD5 20ea3f3211ecc5efcdfe555292b6f9e1
BLAKE2b-256 23b1fb3653be38153ab3063f3f4988ec948f0180d71bcae0ab6c88fde3ba6221

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d56d11c78b4e6b554cf71f59feac63ecf8e7f0589715f62d9d9c10e0fab601f6
MD5 6ee8c73adff235647c0f03d2ee291156
BLAKE2b-256 8445b8fd7b24f44e38e6a32a8c9da6519bc7a89c90ffe44e4448d4eaa7339a95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 666be2a6965aadb16cf535e8b1de3e2668ac610fb0614c85d5a5d136c773a07c
MD5 d76b937dcd69c43314d0cb9e94f1cb6c
BLAKE2b-256 48885e0e64bc545a9e819be14725d05190c6f81f039b8dbdb68ce948734e55b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 944309f6164d9afc8688ab834f6ba6c547ecde9ce665612a693b2e1c2c1aca73
MD5 a02bb33411b1b5c3a54b242b15bff972
BLAKE2b-256 162d698f9e9ae64af65941e401af57f9627abe4ce00850b03f8b260aa1a52f03

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 ec229f8c89207eb8896ba972937992c5f846db56542840f5df5996dc7c4b9654
MD5 565af6de2a0c548ff8bd1f2a82f52753
BLAKE2b-256 0d42a796bd312ae202a296be3ffcd3a1da35c431416a1f2651a6b5c7eec062be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c6f78d728337952a4953ca7caf46583979d3f413af12c63282fa55b35f93a9c3
MD5 cf792b607af194670f22d31e6c5e466e
BLAKE2b-256 a565b3f0264b9c341e1ada74b542ce5b4724faccd87a32c7c6955beaa5b4c2c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 548dae5451a16315bf02fc429634a31a4ffa43f0fab904e0ab15bb2c7f5f6741
MD5 45a8d5f4ed4fa849ad3298699bf7ae14
BLAKE2b-256 19c9a6196bdeaf597ead3d767e9feeb5bf3f2baf2363e2f5019c1d280569cb3a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84f107b42d8ea57782a12595ccefcde7d014dd62c33bf03bb96a1212da171070
MD5 196d0e99be46c52a5a313d47d76e5dbd
BLAKE2b-256 ca160d099601795c6d4dc8d954f0b0fa274ef69d357abeb8e5bc77f65302f451

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 63c92d9ae12cd3809494a122d777ed5e98d65d4fec8ce1ea902dc69ddd5fdc7b
MD5 cb829579fafa5d93404c4ad01df2aebc
BLAKE2b-256 0be18c97b6c3d542e929543d3f8151c8748fc72dae54cf21c7cf9b6e5803ec29

See more details on using hashes here.

Provenance

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

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