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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ riscv64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

act_build-0.9.0-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.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

act_build-0.9.0-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.9.0.tar.gz.

File metadata

  • Download URL: act_build-0.9.0.tar.gz
  • Upload date:
  • Size: 69.4 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.9.0.tar.gz
Algorithm Hash digest
SHA256 f9f7267dd7fc785c1e4ca8f317b6b8f466dd1736be31c7ddb35c310db7f5485f
MD5 974ec1b3161687362df09cc6ed359962
BLAKE2b-256 24f080ee1f4340537b94903b16f7dedf7d6bdadf7ce1f02d9daba07ae0f1e3fc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.9.0-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.9.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f7e4c96c58578bbd631e2bb7b531fe628a33248c491313ac44aafa493a47dbb4
MD5 2a8158bc384abac291b83d793f1d249a
BLAKE2b-256 45e0366bb487f7aad8e7f1ed04eebb264ac1bbee072e70aee2c487aff59b86a6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: act_build-0.9.0-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.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8ba95d3f621a43584399551ad620ee9fcb5e97c291e66b24bcdf9dd351ae8f71
MD5 378ac5f61e7d7179b2fd6de01a61b79c
BLAKE2b-256 8ce44c82a9bebeb31947a8ee819f7761794941abf985e1d385757288fabbd1f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5a19796bc9e095e626b716be3a8b0f0cc5f6a45d86cfd0bdadd306484fa140d1
MD5 b102aefeece59112823335ce6d7bf707
BLAKE2b-256 4d3673ba951ea07d4b54c8c02302baca7975e9f9415c2791130cc9913ce08940

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-musllinux_1_2_riscv64.whl
Algorithm Hash digest
SHA256 0b0081673a98a23409619d7e4831fb60f40e655ca0e30e72f4b5378508c7e42a
MD5 09647d9833c059734ca0a67b1478a16b
BLAKE2b-256 de0b3ffb2535be29f978e87091806b34a913a6db10c1c08e76c391874392caf1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b15976ee9cc1196c5affdcb5565022bb31e213868b027a03a4c76cf64dcbd3a1
MD5 99b6dc9d3564026e5dd3b94dd8e865b0
BLAKE2b-256 c15ee1fb2790ca4f9a57fdeb047fb0b43b495a21575785260e692a15eb2e74db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 39bee140b804eaa7605ba16e4ab921e14ffea683ac376c11260b61b480b7cb4d
MD5 3bf8e9c5513b0c53bc093b06875238a9
BLAKE2b-256 b223ddc0227ccb8f3880dfad3b96297cdba7469c0a48100c2cb056e551661a25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22b984787b6940f99698560e1227a950791f7654a57ad5b8516a9970e6b89d29
MD5 5751adeb945ceb4432399f2074301ad3
BLAKE2b-256 b733c37be6100d306307b2e77f4574829573e1a43c7750455a4bdb461ec0adc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4cd9bb5f326d40d7b0a3846d38e9b01640671945359c7ad36f7f15b3fa1334a5
MD5 d8eecbd9e7abd6180ee5d7f8d8b4613b
BLAKE2b-256 be6cedd252986f933db1158c34dda2dd8528d7f7fcdf6b4ad0f706ec58f62ba5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3d78c364d05cdf440acc7d724bb22708e18e149f59090d50c106aa454c26fb4
MD5 677c4992d4794e6cb986180c3fc58d5d
BLAKE2b-256 7a1cf0e32daaf68303b82ff811296c80f40937637d49d54ede0d11960e2e2f59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for act_build-0.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2c2247801099d35b5bb8f4c9af4c0850cb8c29ca362642603d88fa46967af4d6
MD5 d7ab4613d0cfb166e25413af2b2a4a81
BLAKE2b-256 48f7c9af487303bae350eb1d60af1182c539a2f8931fbbf3011d0c5036ef9524

See more details on using hashes here.

Provenance

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