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()"}' \
  --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_cli-0.8.0.tar.gz (125.3 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.8.0-py3-none-win_arm64.whl (14.2 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.8.0-py3-none-win_amd64.whl (15.8 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.8.0-py3-none-musllinux_1_2_x86_64.whl (15.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.8.0-py3-none-musllinux_1_2_riscv64.whl (14.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.8.0-py3-none-musllinux_1_2_aarch64.whl (14.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.8.0-py3-none-manylinux_2_31_riscv64.whl (14.8 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.8.0-py3-none-macosx_11_0_arm64.whl (16.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.8.0-py3-none-macosx_10_12_x86_64.whl (17.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_cli-0.8.0.tar.gz
  • Upload date:
  • Size: 125.3 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.8.0.tar.gz
Algorithm Hash digest
SHA256 fb285664b6d93ba26d04bd5830e390a84371872c6c9030826c5dd00fd0709b3e
MD5 b019c3e1120be8cd1a080e011f97f5d8
BLAKE2b-256 1820a7103b085065b588e6ef306aa5af49a785542cfde0bb2b2bd78bf84005bc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 14.2 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.8.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 10f83800d59f9c42a62d521186b83a1aa8b2e0714729b725591c365ae496f44e
MD5 29e73897baa4015232b4df300e020ce1
BLAKE2b-256 e704dc6df4102f6e69bc4e51a54e48613a65fc55a93dddc08ba4f6df8f23b8b9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.8 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.8.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4e2e85d43e15f53e4cc63651e266b978103b7726f780079b0852684f9f24d033
MD5 5e6c29055be5c5ba7897fa2a6e34f7e5
BLAKE2b-256 7a3c3590b155f252d99e06da1907a697e0d3a07270f0251324ba36a43b7f1552

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cc26e7550dc5ecc63d14609dec95e7d3ec99b40a8d474a90cfad4d44b5e30a79
MD5 fe24a772d78db313ac3e946bc69ee248
BLAKE2b-256 5b0501da1233456357a1ca75fe4bcdf2ff2e4e2ee29b49c379dc231a285a6de4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 0abe7b115e436395d0c4e4f64cd8f1f6cadd75185c7da50c7736fa1350dbb2c2
MD5 2204164259d1ecfcb5eea49a7d79dabf
BLAKE2b-256 a1694dc2e998e371fb27208fa95b323312b6e553175081e7987f8c2955bdbb62

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6343ac545726d482c3c1f033f2a7a5679ba885296fd6c65156e5df3538c3bf97
MD5 76dfbc5f619c81c674a5ebfe78d81abd
BLAKE2b-256 b25581ce9f9576a646c69f43948fe182ca53c9ca4cf9293b0697470d38d6b0b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 0e80feb76121017dde94160c0a228437ad5a8e3464449ee14c738c60ed45a22c
MD5 85d3caeafcbc70d1c45a4fd0864a9f11
BLAKE2b-256 0f48a03efeee0535a205a36a31491dcfd85d67a8c7bb26ff9f7de4d4f3dc544a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5b144bf4a4889df019e349e1f64736bfefaf6416ea667c532f0daf6315edd62
MD5 e1223970e6544f95c58fc6be6de602e8
BLAKE2b-256 5cbddd50ed468d9f92e0ccd2e779295bc5371ff41b0b99e7f93d2e2c79220781

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92e6e23155539315870c632900e8a32065d9ad8556ba552635eb9904b06ee592
MD5 86e4b6e50aea579d035a6cc88e61cf39
BLAKE2b-256 2f18f5517a06025fc2c21c4f620f0d00d65b00bd65d86e05f8d200ddebb57f5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c31543e68475c4b724227c5db1d1dee2964493416b11388d4255e3690f42822e
MD5 dd02e639830808a5a5a2fabdb344938e
BLAKE2b-256 8f7a6b9dc740012c007d34ed8ed555e94ad3479d04aec2bbb15b252c6c7a91bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56598bd3997bc138361530760eff52d947dd53b088f10dbe6ee16af6b00df43e
MD5 dbda23ccf5414c61606ebdf2c54bb8f7
BLAKE2b-256 d3a5159bb4145596a9ea68da283aba2d48628c9da9a812028eefaae6e2704e0d

See more details on using hashes here.

Provenance

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