Skip to content

Integrations

AML integrations are deliberately compositional. Choose one provider for each responsibility, then check the compatibility and prerequisite contract of the resulting stack.

import { AmlRuntime, localSandbox, localWorkspace, opencodeAgent } from "@aml-jsx/sdk"
const runtime = new AmlRuntime({
agentProvider: opencodeAgent({}),
sandboxProvider: localSandbox(),
workspaceProvider: localWorkspace({ directory: "/absolute/path/to/project" }),
})

localSandbox() runs trusted host processes. It is appropriate for a developer-owned checkout, not a hostile-code boundary.

Application request
AML Runtime ── limits, cancellation, traces, scopes
│ │ │
▼ ▼ ▼
Agent Sandbox Workspace
ACP lease materialization/revision

The Agent provider does not own durable files. The Sandbox provider does not publish revisions. The Workspace provider does not decide which model or ACP executable runs. Keeping those responsibilities separate makes failure and replacement boundaries explicit.

Stack partVerify before running
AgentExecutable/ACP adapter, credentials, model configuration, provider-specific permissions, and supportsSandbox() compatibility
SandboxProvider CLI/SDK, image or snapshot, process APIs, working-directory behavior, output/timeouts, and cleanup permissions
WorkspaceIdentity, materialization format, lock/revision semantics, storage credentials, save policy, and cleanup permissions
RuntimeFinite limits, allowed Tools/MCP names, cancellation deadline, trace sink, and content handling policy
import { Agent, File, Sandbox, Workspace } from "@aml-jsx/sdk"
export function Review() {
return (
<Workspace id="review-42" save={{ on: "success" }}>
<File path="artifacts/review.md">The review is ready.</File>
<Sandbox access="read-write">
<Agent system="Return a concise review and a recommended patch plan.">
Inspect the repository and write the final review.
</Agent>
</Sandbox>
</Workspace>
)
}

In a real application supply the providers through the runtime or explicit props. <File /> is shown at the <Workspace /> boundary because it persists text through the Workspace provider. Host-backed <Agent /> providers and <Script /> can use trusted local execution; place them inside <Sandbox /> when their processes must run in that selected environment.

  1. Start with a deterministic provider stack to validate tree shape and placement.
  2. Select the Agent provider and confirm its executable and credentials in the target environment.
  3. Select a Sandbox whose process/filesystem boundary matches the threat model.
  4. Add a Workspace only when persistence, sharing, or revision publication is required.
  5. Set finite runtime limits and exact Tool/MCP allowlists.
  6. Exercise cancellation, provider failure, cleanup, Workspace conflict, and revision recovery.
  7. Enable metadata-only tracing by default and review content capture separately.

See the compatibility guide for the supported matrix and provider guides for provider-specific setup.