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.9.0.tar.gz (140.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_cli-0.9.0-py3-none-win_arm64.whl (14.6 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.9.0-py3-none-win_amd64.whl (16.1 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.9.0-py3-none-musllinux_1_2_x86_64.whl (15.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.9.0-py3-none-musllinux_1_2_riscv64.whl (15.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.9.0-py3-none-musllinux_1_2_aarch64.whl (14.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.9.0-py3-none-manylinux_2_31_riscv64.whl (15.1 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.9.0-py3-none-macosx_11_0_arm64.whl (16.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.9.0-py3-none-macosx_10_12_x86_64.whl (18.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_cli-0.9.0.tar.gz
  • Upload date:
  • Size: 140.8 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.9.0.tar.gz
Algorithm Hash digest
SHA256 f1eb1d5f1a0aefd31d90e8fd2b3d06dde268d46b434a29fbf5feab407c4921e7
MD5 a4f9cfff26b62ad6fd623700d2252ef4
BLAKE2b-256 b7359b045ff807fc2287b8a7f319053dabe7abb78b8eef4fa090e50a6ad8d1c7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.9.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 14.6 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.9.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e7b3e7a8ce09ab8c88d3db625fcfcba3e1ecba6a2d149cf8d5bfc3f8127beb1f
MD5 574c80aa53f2fc192b28eb334e7b7526
BLAKE2b-256 1c43d24ae006effde530cdd7dcde47d06e9e22302940eb144b71b8eb5ec61315

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.9.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 16.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.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b4a8a487ee0fb7d50c64f6e9f0b4176cfdd700f21de6373ddfc000bee4db70bd
MD5 5ad89d8dbd957f4671604d5a7830eb21
BLAKE2b-256 1a7a8506931e2c31ea045b22d90ded286aa6e920475d4f337c3bb1daeed2205d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b8ac944e48abfa69313afc5d2c9b38f5390d3b1eaeea46d6e6878886cf1df4ba
MD5 2765cfe6f03b2c0f47d9bd36844a1c14
BLAKE2b-256 bcc73ddc366cb4a690b0f19058765026fd39decca900386b4e2203e5ba6a23a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 9c9116d1811511549da8fd751735bb73b96bfdbb4d215c7f9205023a40486cd4
MD5 26f651fcdec14b43426ca39a2f67f6de
BLAKE2b-256 3d7a74d5a4364d4688943d186fa25d8ba756b8c7d4fd0d0829b7d3ef8980ddfc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d697d56b9513b56790e59ce53ce3f77cf653201987113d5db58737efd1c32540
MD5 73557bbb7616be7c7a47b2d760b43e6e
BLAKE2b-256 008274d4f1392c62cb7f3cf6296f3725dd78c692c2e31c5601d054d7e4dc5746

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 e57d9c1ac8267ca161e3642f40027fce004f75936326bee4d0f8cda7116f5245
MD5 e13a033d6a351b97c7fd93462f630a92
BLAKE2b-256 a0e0253d650290ded3dc2a2783a05e39e70af8dd3f51cc3c5a0cba243a255edc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24b2da3c1216bbe88ced6e6d4f38d1d82bfb20e1dc01c207e3f83de7f41ac8f9
MD5 c8907f114d92cc75b9368286da87aaa2
BLAKE2b-256 ad3ad2e0cf93507d032ac440207253a79525b15a0085aca3b41062e00ca82612

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68a0f5ff9a97ea870a51d6c4753e8f77393c0163ffcd2f2d21e934837b0dab49
MD5 ef3a2929cf313a56626437e305fb2af9
BLAKE2b-256 0d45ee29da91bdc25df693e8817ef861041850e11bb4d7e6ef88de47bccf1d02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44d25ee03f19dbbf41a2e435f2fbcc61e2a6786fee7e36857b86acb3223fd0cf
MD5 2317768ee38dad3791874b689d58a6b3
BLAKE2b-256 ee5027b5dd1493d40faea899a017c1d282d401c4234bca754596c1cb6f71393c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c010171d65e6e520f01cd920e11ee79408cf3a031ecbc2312d0990f8f4a7be4f
MD5 270605079e6c10163a280b39ec901817
BLAKE2b-256 aa9e1ae0b96fca62ed27c8170ede86788adbc6668241e6ece4d85e0ca7df7ece

See more details on using hashes here.

Provenance

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