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.1.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.1-py3-none-win_arm64.whl (4.9 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

act_build-0.10.1-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.1-py3-none-musllinux_1_2_riscv64.whl (4.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.10.1-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.1-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.1-py3-none-macosx_11_0_arm64.whl (5.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.10.1-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.1.tar.gz.

File metadata

  • Download URL: act_build-0.10.1.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.1.tar.gz
Algorithm Hash digest
SHA256 aeabae1f6fc247f70ae07298f11be05c6d66a21f4f24042c216ec7ead33308aa
MD5 a578e60b78125f1f055d53c847cade6e
BLAKE2b-256 15e75c20fa8d97f361903040c951b2a0c8e3d985f11c7cdcebe91beabfc1f66c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.10.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 347462a6df4d0a0b82fea4bfd59c4c3b87de3b173c2a31d03fef8bb2c197dbaa
MD5 c27b5fad1989f56bcdaf4fc6956a7b9d
BLAKE2b-256 6bb4b302c6cea621a3c6603ad33dfa9618be2f3697ea70474544914d7d3e4361

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.10.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 efb82ff4c7becf70366dcd8cd6f45c7235c4bbca712860c0df7f40c07fa4cfc3
MD5 b8d597a806ca8b2cd125ba91f0d1262e
BLAKE2b-256 e827b2b792126680bccc0a01e7aa3c6ea42d21ce18faf8470767b0507496b41c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4375188b0912fc81a976e7a3b4730cb73b4159dcad56242d42b766e5ff5c4463
MD5 72e4ae310561bcd1150bcc1caff9ef4a
BLAKE2b-256 251e8079bf9d518589ef4fd374c37bffb883866f73803559b1ebf57b9ade8257

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 6de84ce78636f758057c26dd42c0328205f13724088e0a16c47c5ea80fdba120
MD5 77e597f6278122932d93542fe3d1a661
BLAKE2b-256 badb6ce14b2f76406a82d90d9b24185fb7c93d96f7b319c4692dbbfec0526ea2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0a89644bb8856330656194028784cd9cf68d915c0b947b326d8bb17c48823f72
MD5 5f9ffc78cc9fe918c795b0a100523ced
BLAKE2b-256 bf0ba455041377ebdfd018196a6f0e5124730830d22eb2965fe8858e8613cf72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 b5411a429a59a481615edbf44e964d8392158e1e08d1b482c4f2c17c1033f3ce
MD5 9054d67320aa01b64091fd71e3b87541
BLAKE2b-256 97b2b8d718163af432dd147767ed5fa5040644c29dbbf6d1483a13b73bfb878f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9efeea87ea5c25b7f6d85707e5e73e325fcd15d8565fedc5355baa7c1ed2666c
MD5 a4d2e92b7938d515f11a9659173cb838
BLAKE2b-256 bb45d779325a3baa9fd9a3b66a4cb9e15dbc42cbab61e1c534287311178773c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d3aac37b8f6a950040cefca7d6875bd3245f04248f6c0da830863176b22a4ee
MD5 49f9d6d5d163dab9ba6f1ae17eb8d76e
BLAKE2b-256 9cddb970d4d79b38d480b3013140e728fbea40c53499c8ebd2f7c1dc9d257bef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ce1b876a060a3f53082b96ef2778f2ff1f163454d1cb2ccbc7018c1051e0aeb
MD5 7b3f7e01e7ae5c3dcdfe0943639a41d7
BLAKE2b-256 87ebb8a29bafbf020187bc3bce4c8b38b1c6018efc03a7f86f0342a97d316aeb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.10.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f6f8f3ed4ee3099832dfa2961c97fd41a9ee79c7180dd3d02726f57570a2ad3
MD5 349b85f81631377a952b389c2adefaf7
BLAKE2b-256 e1b4ebfd6c70f62433e9898142aeefff40603414e6b540cc1481afd6c300989b

See more details on using hashes here.

Provenance

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