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.7.4.tar.gz (105.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.7.4-py3-none-win_arm64.whl (13.9 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.7.4-py3-none-win_amd64.whl (15.4 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.7.4-py3-none-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.7.4-py3-none-musllinux_1_2_riscv64.whl (14.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.7.4-py3-none-musllinux_1_2_aarch64.whl (13.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.7.4-py3-none-manylinux_2_31_riscv64.whl (14.6 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.7.4-py3-none-macosx_11_0_arm64.whl (16.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.7.4-py3-none-macosx_10_12_x86_64.whl (17.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_cli-0.7.4.tar.gz
  • Upload date:
  • Size: 105.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.7.4.tar.gz
Algorithm Hash digest
SHA256 8616dff52d2ec900ea43b4fea8b2ae7ae5711342a893195cb2bc2dbf6929a261
MD5 0193ee25af90637700273849b5451ba3
BLAKE2b-256 9e8ec33bce78c42ef9cac978d7baa4177c725f1c092a8d0d4583c6420e212fb6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.4-py3-none-win_arm64.whl
  • Upload date:
  • Size: 13.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_cli-0.7.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 271f56356e67b171853b284e0b9e59e2bff0ff122c104cf69b658216b5a5a342
MD5 fc2a6e362671155ed9bb679f311c81db
BLAKE2b-256 e73e309f3b186154a94fff3bf4899c5369ecf7ace50cdcf3fa8a0dd862882f96

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.4 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.7.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4455b4bfb01c441d38dc5808a0679369d5412e17313b39da705323bd681b2351
MD5 14f69de3181c9eff07579e0bb44e5f29
BLAKE2b-256 b5236a6c530ff67dcfb9bfe2be8bb4d9a998f5485512d93874c2b6b6bcd99df3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f4dcf4debd2d1986f0e07bbb05706d96def7fc0b029d2c980f729dcee31b8fc2
MD5 ffb2dd0e0448733940a227bb08704d4f
BLAKE2b-256 00cf6fac1c67d8a6e6364d537f6fc8232aec66d7125a35b238948535de1fb02f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 ae016ff78f94d2db7af8b575f26fc21afd7c8c8cd5b445315456bd5620b675b3
MD5 8bd886d4e0b8a92ed4204470919d2c74
BLAKE2b-256 f125c2d2f49f5e3d444aa9afbb792d11bacd80c21521370fdec1168308d7eae6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 da3377679e6975123b8a8febfa4044db70aa0eb2000488f54edff67e3635540a
MD5 a8d0c5dfcd003467230b13f44c97fa26
BLAKE2b-256 bfb195d65fd2f5024554b0504419b8679f0cbb6ee3887e0f2fd12aa435b4886e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 e6389441ef91c6e7d06e53689498efecef0dbcc1d28792ef850c199790ab7415
MD5 0afa4186a020559672d8262044358b52
BLAKE2b-256 221cdd1d7c2dd5e19f96ab0edd68aadc10377adb64fd6635d834070c9c0a385d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa63381f271c95d9731bb6afab0a8a8c7105459efad2cbe32ad1d1ae5db5c2dc
MD5 d494f14382e7ac8c1a6a79856c411804
BLAKE2b-256 ccb3402385f3f84c5959729e336c202bd6cd526ba4758ff0e355d261df9f461e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5492b838c337f44796911c999d9eb5d40e1e75282c31af5bc46b259cd88eb2c0
MD5 68beffb18c923c2a6721a0bb06673e38
BLAKE2b-256 488790a70b2b929126fcc08a635e77b28cfa6466f5bc67d26ab4c10073907c43

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c29df59ce640d1e29a290676c977901391cea8968d887fa7c3520a9d936f3bb
MD5 c676a259e4f794b7060907a27edde4c9
BLAKE2b-256 75f938f9597ff24d054ce40a7ce8499c7e693862a35bb524333d464e5d60b29c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 430bfb6a41d992a8d73e4a6800dcc67636dfb956d62275f8625bd3c21cc6615e
MD5 854a9b3246c130139ef4165c6b6fb934
BLAKE2b-256 4e077e6502adf88f8aadb27dea90ae2f52a815a202fedac5aea287984551cc83

See more details on using hashes here.

Provenance

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