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.2.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.2-py3-none-win_arm64.whl (4.5 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.8.2-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.2-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.2-py3-none-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.8.2-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.2.tar.gz.

File metadata

  • Download URL: act_build-0.8.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c2526aa80f23efb9e165e568e6dd85e10004609b9dc4004a7d9827268cd42f42
MD5 607f12c00db51691cf71c22123216e15
BLAKE2b-256 91548299995de5610c2e11f8ab56f3e02079f3f7d30dcadd52129cdf65ae6f54

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.2-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.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 2c12fef5294ee19d9eb8134bf16e14712f0971814221239647ef8ad1414c3636
MD5 02ded86d9b2d46ba33c68c41484339e1
BLAKE2b-256 a7b619f180fb2163c51e185e534375d6f41c5edd99f90d072c3aa5b9b3c30785

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.2-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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 abf28186fddee11ad826ea4da2b5e7f207cce436b3214a20b298bf58d008932f
MD5 988819587ec6fa44e24e76ffa79af434
BLAKE2b-256 abdcd0b70cfb79b5f5485d3c78dd3b918e30583ef86322ace8c495ac732b0c74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f39d6ec83d46474bfc9251a85c30e985ab66958153efbae15f57581db70e1b6a
MD5 2b2fa5397da013da28a0bc9c2e9a87ee
BLAKE2b-256 7b6def1b243aa81438e16a1b1acdf5f249cc124141e784eb3f19257d516d3a57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 befb373b5d38d67060288a8bbf58550e0bc27dfcdc8928ddf8e6b52a74937499
MD5 47f27e6812e079c058d3c5d6d2f68cd1
BLAKE2b-256 a1d61958a7af17aa5a0ec83aa5d8b35bf57513a96d9aba431a20c89512ae2f18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 95e57ecf5223d00cf7798ed74689308454f3127e1b406f7bcf2a6701a3b71215
MD5 49a61982e2d2ab83f6f4b555a2eb1eed
BLAKE2b-256 03295344f0e4141b8bac0d53aa8bc00d63c001b3e9961d24a772ca1d96306bad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 faf3e28b874bec79d95f0f6648e24a37e7b16aa64c5ba9b02f709cb8a476bc7b
MD5 f72d2ab783ee7fb4c1b33dc2d3e57333
BLAKE2b-256 9c9f823995e6105256fb0caf1322f10be42edd440701d05b5207e61dc7184a81

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e45dd3c8cd8a30109e20b1ec4b698eee52878509db4205f75865a3ef7444c476
MD5 a1f5279832358b31d40001b2c9f887d7
BLAKE2b-256 35dbadf1bb9960e30a385662f5cbc2c97281a9b37b3bbb071168a2f0a3ff1892

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f29a00723c2e8dd042d92b4b55b954a5a03b4f713626a3aa97997a7a3aee3309
MD5 298f417fd776e3012b333f2802d7a2a5
BLAKE2b-256 7a50f2d0ba4c9cde01355c485a97f6bf6ff017288b524bb615eca0c8ca080fad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8baf688102f52403eb0adc79b828a794c0fa9c946fab4564fd0689c25916ea86
MD5 6abfc481c4f444ebf2e61565ab058f64
BLAKE2b-256 7c7efd4a4f24187271919970a37c72aa4a7930efe9d2a7ac52c515d3905b25d6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7fb0d24061bd192361a23d5d3a50a6a8b2366d3b4c30c7d13bcd93732573e854
MD5 a11a61e15a0820e62b914879fdd7615b
BLAKE2b-256 9227e31a0225ac389993fa0ade348d74fa18c138c28c1f68d9ac4d99c781419b

See more details on using hashes here.

Provenance

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