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

Uploaded Python 3Windows ARM64

act_cli-0.7.5-py3-none-win_amd64.whl (14.9 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.7.5-py3-none-musllinux_1_2_x86_64.whl (14.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.7.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.7.5-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.5-py3-none-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.7.5-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.5.tar.gz.

File metadata

  • Download URL: act_cli-0.7.5.tar.gz
  • Upload date:
  • Size: 105.7 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.5.tar.gz
Algorithm Hash digest
SHA256 aa920f44a3c4ed97cee24c487e1fc2b3ca16b74d6e3b4b5e0a0b3c2eb6a6d7ed
MD5 fb3c4425f647420697f839523f25a9bf
BLAKE2b-256 e5ce4097a652350b4fb4843f3bac1ddeea6c362a68a88fb3a771a00d78116b41

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.5-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.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a39e1fe3f5c312876b20940d003d69cf404ea76f9e8512339da59c44b38229c4
MD5 e66add2be852e359221f573eb388c204
BLAKE2b-256 c79944f0b0495b1ec8857a49ac0224bdab2024c015ce64f03ccb39a2dab7fe15

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 14.9 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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cf6aaadf4db33230464eafd7cea0df9b6cef1a202b2805ae4dc8d28382653c7d
MD5 67d22d0ecce02475324a1274c681f700
BLAKE2b-256 f2eb1fdaee5fd375296f939afda3cadcfec84724ec5344fe1e2985559d43195e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7edec5942eded06e20961eefdbb96e0c65408a4e151f64a0494936585bb89f3d
MD5 c27ca0b69eb48c6a648eaa3101710b63
BLAKE2b-256 fae67271b5366c2980de087825b3dcb7ed781d143a752507c6a835ac9c8f8447

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 55208f18a0b054ccc5b0f621d2774f827cf44ebd22a421ed730347a399e88658
MD5 abb89fabde336a41ae3dd8d6ebcf487b
BLAKE2b-256 2f2f671b709333460cd1ec8abc1fb5d50013ac618fde8d1f0fc91a04e3c20c52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 00e343b4628f03cd104959c4a514ac5f37deade6e30c8afb5df3ef848afc46b7
MD5 fd259dbb6a0b71b84ea43297662c5d61
BLAKE2b-256 1c3245c48ce10399a096bf307d2f133ee463c9d532972c07da413bb78c53e20a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 716abb2703ee92df62824fecf43477fe0075bb9e8127d0900360bc4405189091
MD5 81c5405df5f7de99baeeb7163a54f93c
BLAKE2b-256 4ea5ba41dacae51fe4424e432bbb9165cd8ac027f2e652f9a4a2cf3a69611413

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4684345faacc6b1532b051b122e5ba5f8aa3583fc3273a78d76f300495e91abb
MD5 a22fbfd85fd2f4f53b2569ad1f8287f4
BLAKE2b-256 4764e3daed73b3135893b4da53c1b5a9612c0ebfbc602eadf97acbedc213399d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 10a8f03152ff3a63edf44228b71b6443d68eca9668bc5a321e24d67b62663c8a
MD5 4611f34212de329094de9510ceb3d279
BLAKE2b-256 0f91b4d701030576bf603aaf1474951227c8e981ecd9c830c06ad0d7cd6edd8a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0133af2a3dbd6d0843b16285ece689afeee57a943b2decf19f6f084ece79fb7b
MD5 1be651061e456923054f79cdfeea4f65
BLAKE2b-256 3c91e39cb190c9ae60a10d902c1d429cfb58fa7071901b1dfee3381370230a5f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 30da5e3b48a512dc1603c25d44c54bb29a8bb9f51a446c7383c8143dc59237d9
MD5 81eb9621a9fbdb53ed5d7a35ba028366
BLAKE2b-256 85eea10b6f4f29a6e9fe91a5d9f0b3fc4b98e5c56eb812756c15a203a7ce1bbd

See more details on using hashes here.

Provenance

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