Skip to content
WIP

This guide is a work in progress. Barry is also a work in progress.

@barry-rocks/sdk/acp

Barry’s side of the Agent Client Protocol (ACP): acpHosted and the types for serving a session to an editor that speaks ACP. The <identity> acp command uses it.

import { … } from "@barry-rocks/sdk/acp";
Property Type Description Inherited from
approvalContinuation? ApprovalContinuation Conversation resume alone never establishes approval continuation. Mode.approvalContinuation
attachesTo? "hosted" Set on a launch mode whose TUI renders the hosted session rather than running its own: it attaches to the engine Barry already holds, so it may declare guarantees up to the hosted mode’s. Mode.attachesTo
authMethod? string An auth method id to use, when the harness advertises it. -
build? "binary" | "bundled" What this mode runs: the binary requirements.binary names (the default), or a build the adapter carries itself, such as an SDK’s bundled CLI or a library run in-process. The binary on PATH says nothing about a bundled build, so a launch checks its version only for binary. Mode.build
egressSandbox boolean Whether Barry’s egress proxy holds in this mode. Mode.egressSandbox
evidence object The runnable check that showed them — a claim with no check is not declared. Mode.evidence
evidence.check string - -
evidence.proves string - -
guarantees Guarantees - Mode.guarantees
identifyTool? (call) => AcpToolIdentity | undefined How the harness’s tool calls are named in Barry’s policy. -
native? NativeControl - Mode.native
platforms? Platform[] Where they were shown. Other platforms are unverified, not broken. Mode.platforms
structuredOutput "native" | "prompted" - -
verifiedOn string The harness build these guarantees were shown on. A session that observes another build records its guarantees as unverified rather than as fact. Mode.verifiedOn

command(config): Command

How to start the harness speaking ACP on stdio.

Parameter Type
config SessionConfig

Command


What a harness has said about one tool call so far, across its updates.

Property Type
kind? string | null
rawInput? unknown
title? string | null
toolCallId? string

A tool call as Barry’s policy knows it. Harnesses title calls for display, and a title is not a name a denial list or a server scope can match.

Property Type
input unknown
name string

acpHosted(harness): SessionMode

Parameter Type
harness AcpHarness

SessionMode