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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

act_build-0.7.6-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.6-py3-none-musllinux_1_2_riscv64.whl (4.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.7.6-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.6-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.6-py3-none-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.7.6-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.6.tar.gz.

File metadata

  • Download URL: act_build-0.7.6.tar.gz
  • Upload date:
  • Size: 63.9 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.6.tar.gz
Algorithm Hash digest
SHA256 d67dbccf42c65aaa35b21c402fa6f2198ba606dedbf54e0616abd5c959ee33e8
MD5 a26bb9989d5a1b3b34c5ba15b0e1c58b
BLAKE2b-256 d1e18fb07205931481eef61dd8981ec69749684d739491868755fbeb98203215

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.6-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.6-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 3728cb85b36fb083fc0195459b66236352eaae5db3478da83c6d45bc6b5556d3
MD5 24a6e91831b02ac5fce26f3ec189f49b
BLAKE2b-256 4903b7b718b5dba07e4eba21d508d43d27f94622cf49ebc58c223519bc8df822

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.6-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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 17f3c50bf9ce8814fafc87cf4614251c73624619e9aff6f4a1935fc07e57ad99
MD5 e9e3f90d4ccd5ba2b4eb0d4a617d5704
BLAKE2b-256 7ef0e4eddc88242a284803ebbf5c5482e83df932f622ecf641ee161f448e5eb1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a097d4c3cd95ae078ffd1e1f5154354cd94c00cbd3562cc82ba5aeb88f4400cd
MD5 0389ffc8e4b01d847f561e0c9a9c3796
BLAKE2b-256 8fcce28b2111b5b8e2e16b2d406fbc11f53a1fd383cb0f2d222deda40a5bef70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 4bc27db0e56e61da28ad6d8cf4f28e280d623ffb9a1db13e645cc6478ad5272a
MD5 9880d18f5954433345b66b1c60a1d727
BLAKE2b-256 a01e19c878b9ca066b69decb2f56c4817c2647c043760ba3860a114cf3face7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a787b5b2b2e1595a48686f68a9656b7db9a10bb42aa088859966c50c553bdef5
MD5 625f4e24bd004bf781db36f27445e180
BLAKE2b-256 4b85994b76b3a6dd396aeea86a27e1acca0b4143a26b498351d820d0ef3069ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 c354f6141c1112d8a04141efa8336264188610cad38fe61554e6c8a741ad0a07
MD5 b4b8553c345e006fc0a29c732f583b78
BLAKE2b-256 6c6f8751c76d09e4ec34899e50120e637445ef18847d054cde8d871a145f8714

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26b74ab2468f988cfb8254a6cced909d194800a4881060e3e05ec02784f2a5c1
MD5 b57ee1eda471be9afd6c5613cd0226b5
BLAKE2b-256 677405a75eacb797f3de204f36f5e8b78b1185bdfa04f29e936c791e6a2d2594

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68858ec15eaeb87391424708e6478bcef28c319bfae575af752424e5ab484016
MD5 283f8366e342e335ebde78828c393ae3
BLAKE2b-256 77e9e4ed7fc8745029b5024ecb779d9c8040dedac081ad1bf681bbd4864b8659

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 232f6fc2917aabd0d7c2020944f0162a258902c8272e4fd517944c8637e6d36d
MD5 91f0a29717432dde045801283bbef80e
BLAKE2b-256 175378d88076427c80e9f35369c9789f56733dcffe3dcf8a87fd24c3989a67d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8c183e7df405494db8b9715e7c5a0683b4a6cd12ca4ad41d9e48e571565c1173
MD5 6ad5572c19573aedfd16bebf6b860358
BLAKE2b-256 475ddbd817afdb34998c81bc720937936a22569c953cf0d0c747beaef34f5619

See more details on using hashes here.

Provenance

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