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.8.3.tar.gz (68.6 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.8.3-py3-none-win_arm64.whl (4.5 MB view details)

Uploaded Python 3Windows ARM64

act_build-0.8.3-py3-none-win_amd64.whl (4.6 MB view details)

Uploaded Python 3Windows x86-64

act_build-0.8.3-py3-none-musllinux_1_2_x86_64.whl (4.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

act_build-0.8.3-py3-none-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

act_build-0.8.3-py3-none-manylinux_2_31_riscv64.whl (4.4 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

act_build-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

act_build-0.8.3-py3-none-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.8.3-py3-none-macosx_10_12_x86_64.whl (5.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: act_build-0.8.3.tar.gz
  • Upload date:
  • Size: 68.6 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.8.3.tar.gz
Algorithm Hash digest
SHA256 8e1c880ff18559276e42e7b8e0ef69f676ff1050743ecfcfc5a7edae7e8b033d
MD5 fc6540d17ae471f8c0467bfb02ce2880
BLAKE2b-256 7858604ad255ea85e86e8c74fbd163c39abe3f2b13562eb7e091f95211092381

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.3-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.5 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.8.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 471edf2010bc207265a905f838eeca881da5ef69e4796a2e1f894979d9bea4ac
MD5 81c5ac21e2b757c66b70f5bafe76e6c0
BLAKE2b-256 c9c9196de7240d15ec6bc75530da8f0228d64038f799cd20e85388f26dd109d3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.8.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.8.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6c14b181540301b77f450410d8439254f4a5c714dffed5d28b93b64ba0570d05
MD5 30395eea4427968261342713c4038c70
BLAKE2b-256 87ff8fa6205079ec42a8b811eb8d10f695e91f1db47bd7c315baba07fd085d6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a39c070108c016d00aad34b96ebe9c7e541146e9a4794757dbcf04aeef378719
MD5 44332ad9c7d69ba5627aed44371374f6
BLAKE2b-256 74274ed5cb9271b73bfcc2ddf1a771587ba38c6c3eb45d8774abaffcdc8e9203

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 2e74f5a0cce214a324fef9eb759bdf0ce7f795174daa8397b17aea07a3ac9bf3
MD5 fe6a5e4142e551a8820c5bc3afc09484
BLAKE2b-256 89afea9989eff586fe23e6f04103e33ead0b1783cc20bd3b8654d63e84674a27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f82dda55fc0814f110707105445675de58da5c624b0f7b712666980fc811d8a
MD5 21618cd12e64c591061f435241049b56
BLAKE2b-256 69c4fecd36480e5eecbe7791a04cbf1973918dcf3b1c960bc5f3b68ba23ef5c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 8180c03996a69d8028574f81ef6258812876af07504bcc90fb2e9d38761b82f3
MD5 4e67a1a1b28da66f144d1a574fcbbbf8
BLAKE2b-256 a9996754ed95387ea750a740e0d9f58773a239a1d6b70d79e26a032c133dec18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94aee96d457241ba1c0d52ab8e531337ddc666d2bad1ca6a29b591f9ffb29003
MD5 5ddf2a1cacea84f68c743c5e54ca12a2
BLAKE2b-256 f12ecbe8380eeb26aacc6165de83ae4ec6df0b17db6fb6526d758a3912bf06ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc1c462034d79e0bd025bdf57220a16cba4008a771bdb605072a3f9ba51d458e
MD5 3d159864a4930914a03423ca25340990
BLAKE2b-256 6567fdeaaea1ca1c3b79e06a22ae4f470e44a5bddf163744a765bc18f41ee818

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba1031534174e71013a12e3ddcdc0836fe341b299056ced65206693dc8b99261
MD5 5eac90d9cd5611a5a538abd321b138f6
BLAKE2b-256 b6ef29719a81191a5e0dd14c38f686bc39a99bb2c0b9203252b6a9c99cfedbe5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.8.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2ad3aec30e70901e3c3a72880e5aefd85ac3167776636b979a5ea0d36aa05447
MD5 064510cdde0b0d73474514acd8f8dbb6
BLAKE2b-256 36f37965a90353c7b4a3438cbbb31275a3c7da08aa328243f0a2b1e9a2ea6791

See more details on using hashes here.

Provenance

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