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.0.tar.gz (149.0 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.0-py3-none-win_arm64.whl (13.7 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.10.0-py3-none-win_amd64.whl (15.2 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.10.0-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.0-py3-none-musllinux_1_2_riscv64.whl (14.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.10.0-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.0-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.0-py3-none-macosx_11_0_arm64.whl (15.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.10.0-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.0.tar.gz.

File metadata

  • Download URL: act_cli-0.10.0.tar.gz
  • Upload date:
  • Size: 149.0 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.0.tar.gz
Algorithm Hash digest
SHA256 bba064f1993e96560c9c0ad90d2608692ca8a1c36ae4a565487c40898d770808
MD5 7eefbcb998342453f52a1fa0f517bede
BLAKE2b-256 73e3ac574a813c306bc2a59ca45301a7b35eda18cb65bc360449b4df71a6785c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.10.0-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.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 0cb64b2f447d53e656d4c29e5c4741fc06818e8b0abe12e2cafb8050a245a7e2
MD5 fcfde79a97b07a398444c27b4e2ec383
BLAKE2b-256 c7c0df5845f4961ac3f8034c77b0ed543e3d4d78282e595ca685c44b99eab03c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.10.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.2 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.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6b34b505dd53ac39da7126af78422e0d5564fc56f223be3a8939529a2a84ee8d
MD5 2ece189e12c154dbde85c977bd2c2a49
BLAKE2b-256 2aa47a27fd6dc106fe225ef0b33ac7ae6f995d2bd90816c34f0d543c02b2f112

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0359356e2f9997491104dad4e542cc45ee7d53c655255438ff498161fc76c163
MD5 ff470a94d4ae87f6b3364beaa9b568c4
BLAKE2b-256 88779466da8e377e72ead1361a86faba637eaa7daecf2770cf29b1975c63e618

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 2416fe5269731e08198b7cb30198f4b82c6937e02355356f01970fea2aad963a
MD5 7d97159e82b3666cad2d4d1b907b187d
BLAKE2b-256 fd4b1362398cebcef643ff7fcd976b0a73617b581194aab598ca74745902816f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7b3f0c3db2a072303d984e73fd15b07b0cea3d20c1ba007f82ed6234f7b955ac
MD5 510fc43a9a52f2c542c7b98689ff51c7
BLAKE2b-256 48a882027569c57844eb0917f22fbbd6a34e72edcd274a2fbacb7b2db081fdd8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 507d7249f6d4509319a18006be9aa6365c545da1fd5755164929a44d80d77fbc
MD5 3bc78e40355810d9458ab084fcd90b44
BLAKE2b-256 7851b99154aeda9138cb4bb5081dff028b07cff510e45a2954a5c34a36ccae7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 200ea4b2cfb2a8e7c39b71a71a0873f805ecb2eb65113ab4210ea9fa36a7dae5
MD5 d015ff5824cd9ce37faaf35f4ad43937
BLAKE2b-256 242d41d42099c853b26e2df55176b40719c70e7062055af27118dd22f8c3e8ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e816c8c05e8537c84444c5f4d6190cb38e1d42b5e93e0eae5b429a1c7c0a6855
MD5 be3bb38aa233c2b80a4aa78c9adfd878
BLAKE2b-256 1bb1640bed4d78aaf636ffe18432ae4f7e67ba6edc54c19c3892e79aba3f6534

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83c681607aa9c80567e2d1b9c03ff27ca0b60d6c49413cfcfd0073654ca708f5
MD5 9e9d520a772931b67c13131b975df05c
BLAKE2b-256 835eadbaa0cb2aecf9b9cabcb5d46da7d8941a3d3d6d44bfef41a81da865c7a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.10.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 859b4140561debca480c5a48a7a4a58e4d2270a3b20cef72661fe6db805495a6
MD5 e888ce7c6e6d79130fcfd87abb78597f
BLAKE2b-256 b055817e8077e75238aabc57ad3badaf0d91ac993eb444b61658ce254169b7b3

See more details on using hashes here.

Provenance

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