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

Uploaded Python 3Windows ARM64

act_cli-0.8.2-py3-none-win_amd64.whl (15.8 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

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

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.8.2-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.2.tar.gz.

File metadata

  • Download URL: act_cli-0.8.2.tar.gz
  • Upload date:
  • Size: 126.3 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.2.tar.gz
Algorithm Hash digest
SHA256 281b6e09bfe006e6166fabec8b06ed84b694198c8270052da2a567a2aab14f23
MD5 0b8d75b0076f41009cd491c3951a8b3b
BLAKE2b-256 dc8da5f82344048c06b35c945096c0f0633d7481bdc8dc5387f14bef9be1d6bb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.2-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.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 8629dba82034ace871fc747f99437f9cc28f19160b42032aadfe0e2baeec40da
MD5 1a340bbb8c2e2a082e189edcbb7a3413
BLAKE2b-256 ee1d9b02cf256fb3796e7b69c2e1f4f0e021d2c15e79abae4bbb7dc2fb1c7bd3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 15.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.8.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6a95fc31b87ea8b8ba46863fa7ee413bbc471febc5b126c9f571484b906f0f81
MD5 ef50ad810285c6b2962f01ce3990bf22
BLAKE2b-256 e69a80bfbc10c4ac5ab278054d77e1129157bd95384bf7b5f14dd04d72cb0281

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c13d7a1f5b4a6aaaa638bf09b5c4f126361f1a5f60bce24653fa5bf6c58a8504
MD5 1444dd0a28c0b8d8f31e0e54e20a16f7
BLAKE2b-256 2f730151dbcb98b03176c2f9587baa87961a7abc0de33c7282a0c07944e37796

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 ac6a2e1df882ea8c1a3eb4ea06ea8273c734b56884d4976f8b85aa951a2e7ad1
MD5 653a15c8064d275bf0a99fd5b413896d
BLAKE2b-256 4e36528145de65b705ecfbcd33d390a216c449d4572a647b4d14e24b55422ea2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5da436a64522cce61a80060275c64f3aa2946a514ea8d332e6e0f4634ed446af
MD5 f417b25d4ad4871927ad61d7396c5c49
BLAKE2b-256 19e353808607fc92863408f04f5211294f6188ea70d32df96a84b0973dfa9100

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 dbf224389ff899ea36f9bc592040a929b4e3ddc0d84384f1a4986a46d7a0eb62
MD5 2f6f0142cba8fe66e3f97b0913d161b6
BLAKE2b-256 5805f2f2ec24278689aad4e53eeea21e560d198c54b24a1f89645dce7b5b5f45

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c291201b511179b7cfa1dfc66623832858c73326bdf82edfffdcf076641c577a
MD5 1e23e9ce96267948bc668c14130be13b
BLAKE2b-256 f6b9136fcf437a71a0921f8a55979cc4d8c6b9369c7673ea1070892fd8dbc148

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5653b878f568147fbe56e3ce4d2fde5e106a4f27865dd9febddc1c0f74ea5333
MD5 e8da6eb9bff7fa78befb2fb6d56a3d90
BLAKE2b-256 a5b2bae2215d204bb8a694948f6b139d380d7ec70707652c3595fd06704644fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da2a9e9a246511a0e902244fc1a3cc8a036ef3f92e4fccd06e1eb296e16fabb3
MD5 26ff38e8a3f707189b5bf3ef77d16b7e
BLAKE2b-256 c1bb93760034d0640309102df44ce7b98a9eb46aa5acc03afa06800f77923dc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b0a811eed7777f627ce2bfadbbb74210bd07e6c8637b416d2177c4a08a1128dd
MD5 d0f919e8f89645ece42f88fc5a9fb60e
BLAKE2b-256 0036f957c401ed3dcc086023666a33f73746c68808ad12c340ad2811c3cf3f50

See more details on using hashes here.

Provenance

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