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.3.tar.gz (98.1 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.3-py3-none-win_arm64.whl (13.5 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

act_cli-0.7.3-py3-none-musllinux_1_2_x86_64.whl (14.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_cli-0.7.3-py3-none-musllinux_1_2_riscv64.whl (14.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_cli-0.7.3-py3-none-musllinux_1_2_aarch64.whl (13.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_cli-0.7.3-py3-none-manylinux_2_31_riscv64.whl (14.2 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_cli-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_cli-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_cli-0.7.3-py3-none-macosx_11_0_arm64.whl (15.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.7.3-py3-none-macosx_10_12_x86_64.whl (16.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_cli-0.7.3.tar.gz
  • Upload date:
  • Size: 98.1 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.3.tar.gz
Algorithm Hash digest
SHA256 f4ee5b508f69f67cdfcd51d12a2195079ff09110b03e18e12ddca02d169a79b5
MD5 209178a7a20999e7278229922ef08b74
BLAKE2b-256 e954dda792bb8c5b97a48309e2894443b455792352122312ed95785ce87d0e94

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.3-py3-none-win_arm64.whl
  • Upload date:
  • Size: 13.5 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.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 4e242a961de2265a90b940b7a92d3be7c1fdc8354b8f44ada5ef4989fb6d81a4
MD5 377438584c7061207f961873505d7deb
BLAKE2b-256 c49ce15bfe5374fe5c8d9a6b4cc1bcce8800d0082d78fb208bcbb5f87472d87c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.7.3-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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f857efffe7c3b6a4326f48f848c3d8e371cc329db0c64ff62ded41b7365643dd
MD5 f756070ffde1c9106d18c9cf62e8d440
BLAKE2b-256 d15360211df1ba34fb3139dbcd8a297f48e68350eac10a47d6b3a9fd7244c158

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b7513f4eca25d09f025f44fd6222609360ae57c835e4808692a1b1695f0fdc16
MD5 6424e271ddfe30a9e9ff535d60e9a6ba
BLAKE2b-256 a85d4bc4b578b6045a8b46403e383dbce6c208af37abf6b10a2baf3e5956db75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 8ad6ac371dacfd02be614fc9d672a8f8b1b2b3cf3aa0cec50e07f2f577d153ae
MD5 fa4d66a2cce6eefbbf3d7165e503acf4
BLAKE2b-256 75ecbf9aa80801445866449f6b077e31ca5269ed6659ae88a1ad5f26b36bc934

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 932993a182f20bb6f7a7ccbdaedcb1ae65cd456caa994bc90a5d6d9447dd4d7a
MD5 e4fc5e0495594055de3532b6d84f4461
BLAKE2b-256 cdfe67eeea582e9b4eb50e56c407522d48c3bae93d16e9bec411f68a7f77178a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 dac287792f9c34a5a7b8f7d943828d51357c475b6a5ff0f04198d50d366cff4d
MD5 e979a3517ee5e815161fd67b3a6e0951
BLAKE2b-256 47d6361dd8ffc0b1ba09f081c2a1ae694b4e6b25235d83a0904caa5b3fc3ca22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b75a7e4e4287643417467e9b6847d07c1ff9dca0a7acc8040858fb12caad832
MD5 068e337d3dbdf84eac420cacb1413771
BLAKE2b-256 529ede61f6d2de1bb9b65d62dd4009472eac96786d1baecf4bb8927659eefb2b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 34772256996a2ef80b0a2b5eecb533b901a72486894d6a0b8a754cef5dcaa018
MD5 449e07946470bf4671545474730b4d5d
BLAKE2b-256 7fc3cf9cd96c830589a87af639ff72ddb53d0bb2453079aacd8eee2679b28932

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62d2e730b177ff66c9f35abd79d4e66c6b51d84f038c9633ee6092d0ce7464f3
MD5 1d6452f93072f9cc4f8fd4bdab7c1ac7
BLAKE2b-256 616fa4838e39937aa2f396eba490525c8f9d9bac6ad9d393d2bbc3c0f31e78f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.7.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 90e18db8ec5bdf7de8f1dcb75a0d1d39dd60e281057032a220c455b54a4ace43
MD5 606f855c6a94812d32b0553b73e21aae
BLAKE2b-256 a22bc8c418fec4371cf810030a4f111e70a92775ede483fda5a4b918f291edd5

See more details on using hashes here.

Provenance

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