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.6.tar.gz (107.4 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.6-py3-none-win_arm64.whl (13.4 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.7.6-py3-none-win_amd64.whl (14.8 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.7.6-py3-none-musllinux_1_2_x86_64.whl (14.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.7.6-py3-none-musllinux_1_2_riscv64.whl (14.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.7.6-py3-none-musllinux_1_2_aarch64.whl (13.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.7.6-py3-none-manylinux_2_31_riscv64.whl (14.0 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.7.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.7.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.7.6-py3-none-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.7.6-py3-none-macosx_10_12_x86_64.whl (16.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_cli-0.7.6.tar.gz
  • Upload date:
  • Size: 107.4 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.6.tar.gz
Algorithm Hash digest
SHA256 f09fc4eef5f2225bf8c98e3c47fc55e4938effb0eff1d83d50e540b07dffaaa7
MD5 320e6da120f3f1c8683692f400356c40
BLAKE2b-256 5bf1b3b5bcba3ead26d9e9e0a440f4a5f624849282725bca855fbb4a486fabfc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.6-py3-none-win_arm64.whl
  • Upload date:
  • Size: 13.4 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.6-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 61fe4155c00391d61827d443c46dbd8abb1e5e40483df11d1270237e55a31e4a
MD5 9d3c0ae207a49e2581a4da13930bec17
BLAKE2b-256 b93263b6326a7aa2cf3dde86f7605616953a1e5de34d774d1f98a20aa5e56cb2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 14.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.7.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 767b58e0b639240a6bc4c244a8932adbda0b272c7268763841958d75c10079fd
MD5 349d804f7b3d8464a6884df1ae340217
BLAKE2b-256 db2fd63fe07f5836101396a94ff3d87cb64ec169168245effbb2a1ace72f6f62

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c143487656ef9fab5cf27dd2809a50c243544ecb55d319a46caed530f134f98
MD5 eec464175b3b93bff1dad524fa1b7223
BLAKE2b-256 042f0127d1af48f2bef9de45357488cbb80d4e3e1208f07c500c77ae88f7a652

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 cc2f0e0f94f64759c2c460b5a53fc00ab642e20e3a2cd6bf308425688d902fdf
MD5 37f4c41948b8ea77c7642df5dac1adad
BLAKE2b-256 13c401c421219cdd56a6b0586e8af1b6465ecaeb3a860acdebee709cdab68fe8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d1bdd2a6c03e51a9ba27405af9802eb4f67a876896519e6d56779cc3ecbc17f8
MD5 0a8be0858b6ea31270e84d450435c7d8
BLAKE2b-256 85749e5d1efd884b0dc496c790476881d5a6ba84d23a1749fd5c69879cdf973d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 3df6cb0b39c72c633eccaf4003f309274e90fe7f40a921044ddb6294c3df2873
MD5 84c099925d5ee11df0047a98b93bf4db
BLAKE2b-256 316eb119786b05cc94308c4e0674cee83dd8ff20afcb1e8c01974d9bdf0c096f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7f80ffe276e590bf43afdeaa4f27590afaf167dc3662dfbdf7d74de90f57a53
MD5 5716c81cea0aaab246bd81fdfda84713
BLAKE2b-256 0df8a462747842d90269f8d79ec080f903b055032c25f0a96e716f62bb6b1877

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3633b4ce128696f077d5f4ad2b4b9d0361246d9e3ce3d276b9252e6c4c56cd40
MD5 aae8c1886ea6550466e8d584ea402f91
BLAKE2b-256 2eb15138b48b40d991abed15ca5ecf248a98e774a2a6dac1722cee9d73c5cee6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3df7ab3fa65abfd99981e35f887ca49a9db8ac07424f863c311558e16312e64c
MD5 658de43247ca2ca4feb02a06bc005639
BLAKE2b-256 06922c8ebdb46f1ef6942ae17e11e90d52e17c8d7e480b19175f0a2dd5a732d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 189e2b0b1618c0db7540109515c821098cb51385612fb7d000f1abe7e61327ee
MD5 1ab85594b624ab66ba8349990bbcea3c
BLAKE2b-256 1a2cc0d80994bd690c3c909905d6700ab9554a8a3f6153ca0d20b72288f5ae4b

See more details on using hashes here.

Provenance

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