Skip to main content

Build tool for ACT WASM 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()"}' \
  -m 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|toon)
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_build-0.10.0.tar.gz (71.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

act_build-0.10.0-py3-none-win_arm64.whl (4.9 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.10.0-py3-none-win_amd64.whl (5.0 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.10.0-py3-none-musllinux_1_2_x86_64.whl (5.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_build-0.10.0-py3-none-musllinux_1_2_riscv64.whl (4.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.10.0-py3-none-musllinux_1_2_aarch64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.10.0-py3-none-manylinux_2_31_riscv64.whl (4.8 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.10.0-py3-none-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.10.0-py3-none-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file act_build-0.10.0.tar.gz.

File metadata

  • Download URL: act_build-0.10.0.tar.gz
  • Upload date:
  • Size: 71.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for act_build-0.10.0.tar.gz
Algorithm Hash digest
SHA256 f2d193b65671389d81d56baf240aa1287d9e37b8888e70d8203ab77865bf680d
MD5 410165503e4fb2dbd7a2a9194e14677f
BLAKE2b-256 fb508744f8f24bc83d90eb8b098acc8a84d4a83426df49129bcec06048af3653

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0.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_build-0.10.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: act_build-0.10.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.9 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_build-0.10.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 0bcc6233c544f4ca20002717fd4a73f93f449aaea7badf1a01b02ed304b4a32c
MD5 1a9fcf05b2de1314c68f577c6e8705f4
BLAKE2b-256 ef4b9634b048b5d0412da8b4908c4d18e8059444a1d81134b760a68356baaaf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: act_build-0.10.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 5.0 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_build-0.10.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bd2814cf35bcba1dee2c1c59276076a533206a270480a22bdb3d4d23ee260145
MD5 64e645a1d4d02635dcc51e17f6bff3b7
BLAKE2b-256 aacdb1bac696ecf28199386aa94d396cff47e2b02bd8fb7d0a391db2e0e7ecdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c78ee9c46cd8e1587f0baade4c35e64724cda01e0aebe80297f07a495e18bbaf
MD5 a58ce42a9aa9481d30ac74a6d446b133
BLAKE2b-256 a7fd683e1783233717cbe8c308573899165e545d36891429ea992ff56c89979f

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-musllinux_1_2_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 6331c3dbab7aa8f401d0a28a04a801b3f727ad354708aaa760b96d2f785e3f73
MD5 112b3ada4c86f790dc6ee32776bbabcf
BLAKE2b-256 301ab36e84f60670124062323ea29a5b5f40b2046e7e9498ab72f2a1bfc7bd15

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ae991cd01e882c36d3795d93158b6f48e1d14101329b6e06aa45d5d496752cc3
MD5 9a4d0351d8eab64fd7bc10ecc6290891
BLAKE2b-256 ed06c7ee44f5550983baf9923683b89ff98632e7255d78d4dd076c5459c1c9b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 91f6f21f713e4d2806917d84dffdb2e02fc3f3b24e8e76096ee62c74a7a96251
MD5 d3993815202bfe9a99b85f639f1e9a86
BLAKE2b-256 8be0f6011a253cf1728986f8f4b54ef329f3e02583fa7218306466887be13d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e586607479bba50470f66afe0223137bab53c020b7932075dc53c442fe0b19f
MD5 49c45d656adb498561423fd608694529
BLAKE2b-256 64a105fbcad63f21785ad179c0358b32f3f5e4d052d4427c8c95c2f00205179a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3fceee54fd40ea13a91530dcb601da346aa85b7bc06b7b25f82e174f7e54bca4
MD5 48604713064dd02f7dfac97f5d30c6fe
BLAKE2b-256 fd98c3c2d0ebc5e2443b29d75366db9142d2dab7739c13f0e7c0b7d5ef65250c

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25c19ca4c0a5accaa115200c28f52c0943fed30cbebf54a1aa5f4ae7b40bb1ec
MD5 b6252e18fe3d75eb0e9d934c7c37207b
BLAKE2b-256 e27f1e04686ef3980a23b12ced96aa801de30430d856dc25374a83080c7b3ef5

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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_build-0.10.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for act_build-0.10.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d8b30d9e5f97a666b76f98af065ef3acb94107c039e45ef6edaa37de342a33ef
MD5 122321e7f0c7bad428799f37a8bf9602
BLAKE2b-256 2da0a6762a49cf1b992405b496bd0b0ab32407411fd090f225e296039708e22a

See more details on using hashes here.

Provenance

The following attestation bundles were made for act_build-0.10.0-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