Skip to main content

CLI host for ACT (Agent Component Tools) WebAssembly 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()"}' \
  -m 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|toon)
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_cli-0.10.1.tar.gz (149.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

act_cli-0.10.1-py3-none-win_arm64.whl (13.7 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.10.1-py3-none-win_amd64.whl (15.1 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.10.1-py3-none-musllinux_1_2_x86_64.whl (15.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.10.1-py3-none-musllinux_1_2_riscv64.whl (14.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.10.1-py3-none-musllinux_1_2_aarch64.whl (13.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.10.1-py3-none-manylinux_2_31_riscv64.whl (14.4 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.10.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.10.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.10.1-py3-none-macosx_11_0_arm64.whl (15.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.10.1-py3-none-macosx_10_12_x86_64.whl (17.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file act_cli-0.10.1.tar.gz.

File metadata

  • Download URL: act_cli-0.10.1.tar.gz
  • Upload date:
  • Size: 149.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for act_cli-0.10.1.tar.gz
Algorithm Hash digest
SHA256 74ff568e3d1c1d74d129540825f8cdbb22d47c7a8fb06d1b81b20dc9b020de63
MD5 3aea0c9d0a8b889fd9a14691fb4c20c5
BLAKE2b-256 705b441a5f1fb007f697bbed6d8519ae3b478e1eb5180d4508c3c018913dfe6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-win_arm64.whl.

File metadata

  • Download URL: act_cli-0.10.1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 13.7 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_cli-0.10.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 ba219830e2cb29c1e3186d9a5a27f7dc722c484f8c0e3d84bf2653b18578518d
MD5 bae5fc4663722455ffdc5d3710005ddd
BLAKE2b-256 e4496ce2a9e44e8fa006d804a9cc55309e27b5e464da86e7db198cd04e93d36a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: act_cli-0.10.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.1 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_cli-0.10.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9a92bd4365e8ce768e868a337c341f83403b3818048bc524538bfa6f0ebe4e50
MD5 a0ac403232676d43a67ee7a7e1a1d6a5
BLAKE2b-256 7700d676e0cdba4a8543b86a047fb84d6cff805b18467e20cbde2dc9594d476a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d1917e28a6dbc0363ed913d571d494f9215f91ca030259ca61522f65ccaf998
MD5 6405c90faf19aef23db991d96e9f314b
BLAKE2b-256 f15929042c5574f605cc2ed50b186896de043721ba5c3c60cb844e4cb45fba5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 a2aac13b70ec0b4b4bb51c423607ad57b73fca5bf24aea33a3240e98b6959d40
MD5 fdb4fd22380c50f8957317d3910a24f4
BLAKE2b-256 d4318755e2b82b621e6840deec8ead0f21cc2cf9c2d20f14c189780f5e51502d

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3c3178f9e009833d6451c9148322ec8c51636929f0fe60549eddf79c9d131cc4
MD5 ab26e0dafe1c3ea2da9d267ba557c1e3
BLAKE2b-256 7957dc50dd1c4ed3a9f5296ada229623adc529ee147080e18b8903786a76ec49

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 37aca1b17aefd89046de614d132dca87cf9e7b7383a8a30fd2a88ebca166ca4d
MD5 2102be761585b0d9f7c57c60054b983b
BLAKE2b-256 e29645d9edfbc3efc43a3cc062c1d3b88914dd0f919674aaa1a5d5253d750bed

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eb024079963cb2cf14df62518d72b3f1b8f0a548e915e1413df526ce9a7b2f4
MD5 442ddc3b07a90ec794bdd25e275b0f22
BLAKE2b-256 c4c5d27976868f90ab86109668c13cf5bc809614af80f6fce7e16d97b474a924

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6194bc9524949acc6e006416ed008c315d3e93f808e0ec66d1adb635324f8567
MD5 4e69e1c230e816d3b7ab5b9b45dfb599
BLAKE2b-256 3ee35ba1b2b57b90ccc30af02d9b8d3cdda6b9478127b84ed4152489ffafe84f

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9893efd46aac36d9a48f44fbb43131ac84b6c0df8195e12342fffcafaaab4cc
MD5 1ba643060a87be9069e88955188eecca
BLAKE2b-256 1699e8dfa6e727f1c494ecf34758889e039e1d5a6d1742efc6688806377a7b33

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_cli-0.10.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_cli-0.10.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for act_cli-0.10.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 243d3b4e8f9a48686338f62d2d577b2b8aa9dbb59608945ebc83aa1d1e6bd640
MD5 a9a8d66f996a207e9e481a109ecfa533
BLAKE2b-256 294df6b40e43b257a99affbf1b778e08b52b27edb009a187eb9926f0c1f9b23c

See more details on using hashes here.

Provenance

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