Skip to content
AdiosDocumentation
Browse documentation

Functions and testing

A function runs code with declared JSON input and output schemas. It can return artifacts and proposals for the host to process. Returning a proposed action does not grant permission to execute it.

Test a function locally

From an AgentKit source checkout, create the built-in Python starter:

make build
./dist/agentkit init --name my-agent /tmp/my-agent
./dist/agentkit test /tmp/my-agent
./dist/agentkit integration /tmp/my-agent
./dist/agentkit build /tmp/my-agent

Python must be installed. The starter needs no model key, SDK installation, or production credential. Its integration suite checks outputs, artifacts, admission rules, and replay behavior through the shared host contract.

After editing a file, refresh the lock and repeat the checks:

./dist/agentkit lock /tmp/my-agent
./dist/agentkit integration /tmp/my-agent
./dist/agentkit build /tmp/my-agent

Native execution is a development convenience with access to your machine. For the supported Python container profile, start Docker and obtain the image before running:

docker pull python:3.12-slim
./dist/agentkit integration --executor docker /tmp/my-agent

This checks a network-disabled container with bounded resources. It does not qualify or publish a hosted kit.

Adios Sandbox

Adios Sandbox is the separate local runtime project used to run applications in a Linux environment closer to Adios hosting. Native execution, a development Docker container, and Adios Sandbox are distinct test environments.

The AgentKit-specific Sandbox adapter is still to be connected. Until then, adios up --local exercises supported application manifests; it does not by itself provide an AgentKit function executor or hosted credential resolution.

The desired execution model lets agents and functions choose their locations independently while preserving the function request, response, and policy contract. Test actual runtime versions and enforced limits in each environment before claiming parity.

Verify in stages

StageEvidence to collect
Recorded workflowStep order, output schemas, approval waits, resume, and artifact contents
Native functionInput rejection, output validation, timeout, artifacts, and replay
Local isolationRuntime version, environment filtering, network policy, and resource limits
Hosted testSame kit version and fixtures, scoped connections, outputs, artifacts, and audit events

Compare normalized results rather than run IDs or timestamps. Record which effects were simulated. Test a missing credential, a denied approval, a retry, and cancellation before enabling actions against real services.

For agent workflows, use the quickstart as the first local and hosted comparison. Expand it with your own fixtures before adding live effects.