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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

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

Uploaded Python 3macOS 11.0+ ARM64

act_cli-0.8.3-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.3.tar.gz.

File metadata

  • Download URL: act_cli-0.8.3.tar.gz
  • Upload date:
  • Size: 126.2 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.3.tar.gz
Algorithm Hash digest
SHA256 444b7ee1467fa06ecbd75c9d8a16496f7e7730d89ae8efa267d7dcd264766bb6
MD5 8ba2c031411da0e6de279419e8801a63
BLAKE2b-256 f9805e249e57177bd890e60fe8c3b16b1661eb13ac41e88f168c19041f30fde4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.3-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.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 80a396e4202e4878360963eb8d3cd9611bacc0d8df410687ca7767d535c59559
MD5 8dd5426efdd9b1ee40680cb57b9b2a49
BLAKE2b-256 9de49958a74018f94727d00d76d80760d10693cea3d33f878804fb7dae2a6e15

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_cli-0.8.3-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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 91a1e7f06104bc2cc219e6b84eef3c1f4f555eea4b8e108e23f7dd9a185c97a4
MD5 403e41d66fe55ff4b5ee1b88f032f7ae
BLAKE2b-256 8a0d6fc0143d8980e64cdb9a2a11a350f0cbe5238ad79c55f936819682ea8513

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0068393e250f24126d093bdf4a2a2f29395ed5404f8e76f3c29ba97f8a952b3b
MD5 dc29594cd0b95405ba2d2876895439fb
BLAKE2b-256 fd0138b88be995139d2bfeb04844d739be38f9680e9a3774a5be508204393e7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 0578c86f947961267136bbe4f0bbccb92c9e71fff4edc0a768817df29602d903
MD5 18265c662091790fea30640ddfbc9d7b
BLAKE2b-256 d1ab6f87fbabc5a96a04acb707a1db321d3d8a26b6ea6275fc0b5de2c06bef27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 72bb65970ef3b6298d68849e011becc0d55bede27d3ca706fcf80fd53b335876
MD5 4c4a1fdad1d4bf40aad2eeef8968d550
BLAKE2b-256 9ef903f1cb53568c0cba609e15bc11a543c883d5838d4d61bd8f9f8c16a412b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 48d9047f54d52fccdefee135dc52e90508e3b4f0c20506d89647fd14846cde2a
MD5 7efd96cac11b013ca7e0ba7363546b0a
BLAKE2b-256 af04bf4ee1ced3391aa40892a69ac0d4b4f342ad3baaff99adb2b89b29a4be8f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33ddb93d08126397e348e9a783335176d5c3cf4ab4b3badda9dc25577b533c83
MD5 1ea13f0addfb9b33bc6516788d243df7
BLAKE2b-256 034051b491cbabe0bb0b5b8235704a5e61f7b39ccf929d036e6605508ac736cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0253eda43e2f9e689d99f9c8deaeb463a97dd6c5243abd40769c37828196cf46
MD5 37f3cf9c648b7d7e35bc41809a5a3596
BLAKE2b-256 7269597bdc0900869ffd629369a58299feede9a645f889f2a294eec767554279

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9e935264fc9a08bd605cf4c418293a344dd4674765967c00acec722b86263f1
MD5 7fb61ca4e75e4995debb2b48343396c8
BLAKE2b-256 94a0b23d8630cb0496bd335f902522c078d37a3db5408682c2d1c56efd134ba9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_cli-0.8.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1b99effc8f8cc872154a228c07e4ccbe99954971017cc858bb0c036181cb26b2
MD5 7e4caf0766846e3784fe703ef8ca6ba1
BLAKE2b-256 a22949c1d7c02585afe9ce0526b38e894324c023e9126b53ac82bc88513642ff

See more details on using hashes here.

Provenance

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