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.3.tar.gz (54.8 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.3-py3-none-win_arm64.whl (3.9 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.7.3-py3-none-win_amd64.whl (4.0 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.7.3-py3-none-musllinux_1_2_x86_64.whl (4.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_build-0.7.3-py3-none-musllinux_1_2_riscv64.whl (3.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.7.3-py3-none-musllinux_1_2_aarch64.whl (4.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.7.3-py3-none-manylinux_2_31_riscv64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.7.3-py3-none-macosx_11_0_arm64.whl (4.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.7.3-py3-none-macosx_10_12_x86_64.whl (4.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_build-0.7.3.tar.gz
  • Upload date:
  • Size: 54.8 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.3.tar.gz
Algorithm Hash digest
SHA256 6ad04072d598dbec148467968f4ca521ae2e5e80672ba2f00e6f9cf1ccceae5f
MD5 1b3d4347eacf77b49b904c265abb61a7
BLAKE2b-256 9cf046a6fe336777f29986b026d32acf266659e736046bf5f0e8c6ccf689a34e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.3-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.9 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.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a8172a4545b79616e9d60ed8fe5c4a4323c654e3697b106fb9f8e406a3f512fd
MD5 5af6bea17ac0a7d3a765401ef62cfc58
BLAKE2b-256 3dd7685448179789334f039fd08270e13143b509b9ceb05d8210dafe99dfcd12

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.0 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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 23b14205ba3bf2889ea9504e2d9f1a07f173391e443ab7fd95abdd0b51eb623a
MD5 4ad7c102cddaf2cc2cbf9014e7a25e42
BLAKE2b-256 8f43068cd996ff96b21a3a95f51dc952a79a1af598360fff6e725d07a76d0c4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eebae11f20bac95e721fc33fe605b23a08954bb8ee27e9afcdabc272da8688e6
MD5 5e07c125a46f6f7676d58e91b15f9fd6
BLAKE2b-256 db170dcd5ad3636e77a92bf8cec741ac7130389ca2811fa30eaf701cd6c41d84

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 d2691adb058c8c1f61b2faf584e45aeb99cc75b3b42ad421cfb8745e0581f02d
MD5 1aa9653bd3b10066f69d2a152e1c7259
BLAKE2b-256 3518dc5c644a50009bb24bed3c25d56d1a57d091773888ce4ac8d049ba5f1f6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ea1a770f943f85439310464d9e463a15d14849f2bea453a97ae4d3d271c5f74
MD5 aefea04e12e5af606136d103561b854b
BLAKE2b-256 10a7d021b8ab414ec604de7175cb17bdc8fb359da26bda4e99ac6f5ff5791ba3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 09be0ad821833df447cd6600678023d5d3f24cde4fbd63334beb670cfb02012a
MD5 9fe5456ae5139fd029cd7da0feabfcc2
BLAKE2b-256 1c1f1c9080f327d2426a4a595692ad51f64e181fd02bdd3acbff2ffadd5d896a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3d854abcbf5c6ce00da5353239170a3e50a4c9dc7e60fd80456e398c6c4530c
MD5 fd700d28d16442cf00332f4669015ef4
BLAKE2b-256 84c55d7538cb5db65bce0c67ae288a16acea18cdf6e420f50d2bba4f238de64b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 affc1ed27ec6c40ebf8dd7cb5c2f02464fbb0f8d4d8ef47009a83ffe158f161d
MD5 58b50db889b28b3f74e885665f8331b5
BLAKE2b-256 40c84c67232e58113b3ff9aa4915463a3fe7350d31e6706201eba76bbfce5898

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4a477f9645c466648a364f794b7da111ee2c39b95b9f758a5c7a25de137a3dd
MD5 a6427080338d3133b5f81d5adff0aae4
BLAKE2b-256 3b1b60fb095c32ffd2c41b7649383c1f4f6a6420fa668d58a68b33a84b613beb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0a001ec3d758cf03e31f5fe345fbea049e372c6d5376434665d3ee4a4078a994
MD5 c8df7ab541edf7fdc21a32b924e04e1d
BLAKE2b-256 e5b959d22f026daa039b68b5443d17ae0ebd10688c739a35d83e9b6c328fdec6

See more details on using hashes here.

Provenance

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