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.1.tar.gz (125.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.8.1-py3-none-win_arm64.whl (14.3 MB view details)

Uploaded Python 3Windows ARM64

act_cli-0.8.1-py3-none-win_amd64.whl (15.9 MB view details)

Uploaded Python 3Windows x86-64

act_cli-0.8.1-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.1-py3-none-musllinux_1_2_riscv64.whl (14.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.8.1-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.1-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.1-py3-none-macosx_11_0_arm64.whl (16.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.8.1-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.1.tar.gz.

File metadata

  • Download URL: act_cli-0.8.1.tar.gz
  • Upload date:
  • Size: 125.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.8.1.tar.gz
Algorithm Hash digest
SHA256 c5fbd263c31a5abbe03f5991682a0c47e8c822d879edf0ae10858adc26ac6a7d
MD5 594939fa047ff913c46c2139a77cc6e8
BLAKE2b-256 f01640c5c432c02cd80e1a6c4272916b901b8c7adf2359ce451a17a6af5d85d7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 14.3 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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 272ec8142c4c53f5b353f7d36ff523ab0ff466ee756eb1d3cab6ef4e83cf4d99
MD5 46ba97f240975959ea4e918fa4ca8da8
BLAKE2b-256 c4425b97b8b230dcdf39afc57f03c9ab7950b3e279b0c6c126e52ff988938b16

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.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.8.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d315220c8338a1c15b13ac2daf594311b808366d543f6383d9d1b7582983909b
MD5 9087051aa5ac74d842b19914871f35e3
BLAKE2b-256 5154676d1863a5baba22f7a58eee7eed371d3ae834ca561d59803445bb82c31a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ab607034d387439c8d9abad71bcea240b7c2d16e61b7e8c7f7cc718d8f19402
MD5 e81a4f4f18c947ebdc201818575f5a61
BLAKE2b-256 35108dd4312224733ccabeab442455ef113296a1e49b9ba0500a6ddec3b5bfb4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 06db790a249f2aee0c40fec3c7477d51a2389c837a0d309efe7bd7616f54bd0d
MD5 b343bb8de568ad348cf04cc0064699bf
BLAKE2b-256 a4da03e8fc7107ff11563c4afe4f49bf3f55411b228a145ae5a4980532e1ea64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 037c10bbe1cc3a1e9b6585372103b00303011e0753c58a5b1067c6a1a8179d66
MD5 e347bb9f3abf7e0dab3c401a4f856227
BLAKE2b-256 4a7059fa1b8e0067b30d4cf402fea90b27e3565c78e6c5cda52cbe418dff2a9b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 a52aadfae9d63f7f8f66c048c62a6e6551237737fd1c1419295bdf8d2f75c51c
MD5 fc15b390ac9fca9eaf11bbe1ef66d813
BLAKE2b-256 49d9bf41b3b94c4c2abc7338937d0938072c7c5d334960d5c303d1416e8a81f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a788bd5230ab64a6c178655dee5f96f2e7df792510657b2de65ddc54ca0bb546
MD5 d3e8f5319e50856c26381064fdf47287
BLAKE2b-256 36c51cb4f81a8ecf3c4bdf509fa1a534f0ebc6764efd85b26c2a75f8de322d2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 db0110c68287d7e608e767af126f6ff166ad389fe8524ad56e481b6595c40b25
MD5 1718e952459a92ff7195bc4f160d3ac5
BLAKE2b-256 5c6d9c063c0bb7d99d7c500df06c3cbeae3dbf0e8adc5e28ba860cb42a7e216e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fabd24b884ce7869f4d1d35f18fe9906190b4341e0abe86e450bd225da1de311
MD5 d00179565b8556a385ca66b9d578f78e
BLAKE2b-256 2a110b48cf81d7aa6246f0990081524b881d4e7e0d2444ff9365adb0c0f8998b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 54405d3daa8cb183c61561a60b25be5d808b09005a514f01d1a6fd5b0d428c05
MD5 f4f1cfe8b38984c7c05c3355e1b23208
BLAKE2b-256 6f1946102f8e4a10a64711380c5b852a0cc4c6bf3b0dcf2431adff505a4ab914

See more details on using hashes here.

Provenance

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