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()"}' \
  --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_build-0.7.5.tar.gz (63.9 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.7.5-py3-none-win_arm64.whl (4.6 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.7.5-py3-none-win_amd64.whl (4.7 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.7.5-py3-none-musllinux_1_2_x86_64.whl (5.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

act_build-0.7.5-py3-none-musllinux_1_2_riscv64.whl (4.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.7.5-py3-none-musllinux_1_2_aarch64.whl (4.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.7.5-py3-none-manylinux_2_31_riscv64.whl (4.5 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.7.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.7.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.7.5-py3-none-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.7.5-py3-none-macosx_10_12_x86_64.whl (5.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_build-0.7.5.tar.gz
  • Upload date:
  • Size: 63.9 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.7.5.tar.gz
Algorithm Hash digest
SHA256 f7eaaca0737eadca11c258854c1b8a028ab046f4a0767f02a87dddde921189aa
MD5 79dfb969bb166176d2aa36716ddcf977
BLAKE2b-256 b842e3e31f8cd5da6c084be700d759b311a1908d6c2f60eca48a8ce116ff8c92

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.6 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.7.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 20072b61317f54b0f9aa03166f59ed6e1ef6305375a7e68a4525f770630704d3
MD5 b779b3d42c8ef35554448f7acec5efc6
BLAKE2b-256 76b3fcff86d5e69de372f578dd8b26d8aa69776328fadb47b7817b1b1bcd99f7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.7.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.7 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.7.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fe7c587a90b0e2dff304c88a1b327cadbf88665cc2b7081f6e1bd2b491d5b932
MD5 a5a5797eff5dcf33a5620bf6081441ae
BLAKE2b-256 cc06b60bfb96cdcc9d399515ded5bb59b6dc088ad9b5796081fb39f4f56a8222

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6cf993a79a38993bef9d12f21d0af09fe74eba40b0788f1e65ba344a293855ad
MD5 6d7f929a7b2209d371b0ad25aec424b2
BLAKE2b-256 f19d01b00a4fed7f1ac8f0d6dc7a39ae7c06c58031725e39de381618be04e208

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 06b169c939d0e0e7e1ff587abee19e3201d5b4a6b9a11fc747cbedb9db24ccc3
MD5 8a3b3adc1f22c67f8c385b637aec12de
BLAKE2b-256 46c94e5a5faa685710b67f9cb01ee044b4021f70a46a6b1bb4633e91be7ff7f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9c9ea72cf2feb4a51bf75d8111cae494d7dfa2aaefc10d8c51ec13d76b5f7c80
MD5 ba61229c6e2b7efa3c5f9cd2786756e7
BLAKE2b-256 c0542777a162d8bda96ac19ccdb72360052e697ed771990e789a7a5d95d0f965

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 2b4bcd6e34541f3bb7daa3fe7c7b939c639c130955ad15005c03e22a43a3875e
MD5 0d39e2fd7ae2fb2a4b586e58e3aadab3
BLAKE2b-256 e312cfa56a139b175f5f1fc713055c0a0b24442db84eaf2306a3e6494b88b32c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec776033cc8f93a5b89433dfd031555670cd1946287bd7a69e9e3234159dd91f
MD5 510f2d0b309dfb063b20824ebbc2fee0
BLAKE2b-256 0b0d94d21a9e8c9c1a84a74c95d9f0d2a0c8c3f9edc64866969ef4a60090baec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9f359d267f532df475769c534fe6fd1c08c5c5bf2c709fe3601cf241c04a1103
MD5 3df8f7afc3dd536167a7862b36fae5d0
BLAKE2b-256 ebb17d9a1e72a52eefcfa483caa55ded8ffda85f0ac99d69955181a7fa2ff0dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b74d27568f5594d48821635cfb3a8561460323e078bf1d90eb0a414b649cbc1d
MD5 97579b407e5d655ff1d64bc89e9b0092
BLAKE2b-256 f11a1b77d1e514c739db7389d7000ac44010a5a8786395f5c0bb3864fdcaec2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.7.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 247fb5545f80d3584293d6d6db7d365fbc8b9b931e9964b99a1a90b0bb30f0cc
MD5 e73a66fcaed8961a917a721e5e47af03
BLAKE2b-256 a0868602c8be81559052d5a449dbddf2c68687aaa77cd74bb988b5dad7f8201a

See more details on using hashes here.

Provenance

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