@playerthree/cli

Programmatic API of the playerthree CLI (use it from CI scripts or tests).

Interfaces

AuditOptions

Defined in: packages/cli/src/audit.ts:738

Programmatic API of the playerthree CLI (use it from CI scripts or tests).

Extended by

Properties

PropertyTypeDescriptionDefined in
expectHash?stringRemote only: fail if the endpoint's surface hash differs.packages/cli/src/audit.ts:745
hugeBytes?numberSize of "huge" fuzz strings. Default 256 KiB in-process, 64 KiB remote.packages/cli/src/audit.ts:741
seed?number-packages/cli/src/audit.ts:739
timeoutMs?numberPer-call timeout in ms (default 5000).packages/cli/src/audit.ts:743

AuditReport

Defined in: packages/cli/src/audit.ts:49

Programmatic API of the playerthree CLI (use it from CI scripts or tests).

Properties

PropertyTypeDescriptionDefined in
casesnumber-packages/cli/src/audit.ts:57
checksCheckResult[]-packages/cli/src/audit.ts:58
durationMsnumber-packages/cli/src/audit.ts:61
gameobject-packages/cli/src/audit.ts:52
game.idstring-packages/cli/src/audit.ts:52
game.titlestring-packages/cli/src/audit.ts:52
game.versionstring-packages/cli/src/audit.ts:52
generatedAtstring-packages/cli/src/audit.ts:62
mode"in-process" | "remote" | "custom"-packages/cli/src/audit.ts:51
notesstring[]-packages/cli/src/audit.ts:59
okboolean-packages/cli/src/audit.ts:60
seatsobject[]-packages/cli/src/audit.ts:54
surfaceSeatSurfaceWhat the first audited seat's agent learns (core briefing, topics, schemas), for the Safety Card.packages/cli/src/audit.ts:56
surfaceHashstring-packages/cli/src/audit.ts:53
targetstring-packages/cli/src/audit.ts:50

AuditSeat

Defined in: packages/cli/src/audit.ts:164

Programmatic API of the playerthree CLI (use it from CI scripts or tests).

Properties

PropertyTypeDescriptionDefined in
invokeInvoke-packages/cli/src/audit.ts:167
objectArgsOnly?booleanThe transport only carries object arguments (MCP): skip whole-argument non-object cases.packages/cli/src/audit.ts:169
rolestring-packages/cli/src/audit.ts:166
teamstring-packages/cli/src/audit.ts:165

AuditSeatsOptions

Defined in: packages/cli/src/audit.ts:849

Programmatic API of the playerthree CLI (use it from CI scripts or tests).

Extends

Properties

PropertyTypeDescriptionInherited fromDefined in
backoffMs?number--packages/cli/src/audit.ts:854
batch?numberIntent batch size per call (default 16) and back-off when rate-limited (default 250 ms).-packages/cli/src/audit.ts:853
expectHash?stringRemote only: fail if the endpoint's surface hash differs.AuditOptions.expectHashpackages/cli/src/audit.ts:745
hugeBytes?numberSize of "huge" fuzz strings. Default 256 KiB in-process, 64 KiB remote.AuditOptions.hugeBytespackages/cli/src/audit.ts:741
labelstringShown as the audit target.-packages/cli/src/audit.ts:851
seed?number-AuditOptions.seedpackages/cli/src/audit.ts:739
timeoutMs?numberPer-call timeout in ms (default 5000).AuditOptions.timeoutMspackages/cli/src/audit.ts:743

CheckResult

Defined in: packages/cli/src/audit.ts:38

One audit check: counts of passing and failing cases.

Properties

PropertyTypeDescriptionDefined in
failednumber-packages/cli/src/audit.ts:42
failuresobject[]First few failures (developer-facing).packages/cli/src/audit.ts:44
idstring-packages/cli/src/audit.ts:39
passednumber-packages/cli/src/audit.ts:41
skipped?stringWhy the check could not run on this target.packages/cli/src/audit.ts:46
titlestring-packages/cli/src/audit.ts:40

CostRow

Defined in: packages/cli/src/lint.ts:56

Properties

PropertyTypeDefined in
modelstringpackages/cli/src/lint.ts:57
typicalPerHour?numberpackages/cli/src/lint.ts:59
usdPerMtoknumberpackages/cli/src/lint.ts:58
worstPerHournumberpackages/cli/src/lint.ts:60

DevServer

Defined in: packages/cli/src/dev.ts:25

Properties

PropertyModifierTypeDescriptionDefined in
devtoolsUrlreadonlystringOperator console (DevTools) deep link to this session; local mode, no credential (loopback only).packages/cli/src/dev.ts:32
hostreadonlyPlayerThreeHost-packages/cli/src/dev.ts:27
matchreadonlyPlayerThreeMatch-packages/cli/src/dev.ts:28
mcpUrlreadonlystring-packages/cli/src/dev.ts:30
seatreadonlyobject-packages/cli/src/dev.ts:33
seat.rolepublicstring-packages/cli/src/dev.ts:33
seat.teampublicstring-packages/cli/src/dev.ts:33
seat.tokenpublicstring-packages/cli/src/dev.ts:33
serverreadonlyServer-packages/cli/src/dev.ts:26
urlreadonlystring-packages/cli/src/dev.ts:29
waitsForAgentreadonlybooleanTrue until the agent's first observe/act starts the match clock.packages/cli/src/dev.ts:35

Methods

close()
close(): Promise<void>;

Defined in: packages/cli/src/dev.ts:36

Returns

Promise<void>


DevServerOptions

Defined in: packages/cli/src/dev.ts:15

Listen address (default 127.0.0.1:8787), the agent's seat and the match seed (default 1).

Properties

PropertyTypeDescriptionDefined in
host?string-packages/cli/src/dev.ts:17
port?number-packages/cli/src/dev.ts:16
seat?stringSeat handed to an agent: team/role. Default: first team, first role.packages/cli/src/dev.ts:19
seed?number-packages/cli/src/dev.ts:20
startNow?booleanStart the clock immediately instead of when the agent first observes or acts.packages/cli/src/dev.ts:22

Finding

Defined in: packages/cli/src/lint.ts:12

One lint result; any error fails the report.

Properties

PropertyTypeDescriptionDefined in
codestringStable machine code, e.g. obs.too_large.packages/cli/src/lint.ts:15
levelLevel-packages/cli/src/lint.ts:13
messagestring-packages/cli/src/lint.ts:18
pathstringManifest path the finding is about.packages/cli/src/lint.ts:17

Io

Defined in: packages/cli/src/main.ts:43

Output and terminal capabilities of one CLI run, injectable for tests.

Properties

PropertyTypeDescriptionDefined in
colorboolean-packages/cli/src/main.ts:46
env?Record<string, string | undefined>Environment for db (default process.env).packages/cli/src/main.ts:48
interactive?booleanstdin and stdout are both terminals (default false).packages/cli/src/main.ts:50

Methods

err()
err(text): void;

Defined in: packages/cli/src/main.ts:45

Parameters
ParameterType
textstring
Returns

void

out()
out(text): void;

Defined in: packages/cli/src/main.ts:44

Parameters
ParameterType
textstring
Returns

void

prompt()?
prompt?(question): Promise<string>;

Defined in: packages/cli/src/main.ts:52

Reads one answer line (required when interactive).

Parameters
ParameterType
questionstring
Returns

Promise<string>


LintOptions

Defined in: packages/cli/src/lint.ts:33

Properties

PropertyTypeDescriptionDefined in
everySeconds?numberAgent polling cadence for the cost estimate, seconds of real time. Default 10.packages/cli/src/lint.ts:35
maxTokens?number… and above this fail (default 64 000).packages/cli/src/lint.ts:44
prices?Record<string, number>Override / extend the price table ($/Mtok input).packages/cli/src/lint.ts:37
sampleTicks?numberTicks of bot-vs-bot play to sample typical observations from. Default 600.packages/cli/src/lint.ts:39
seed?number-packages/cli/src/lint.ts:40
warnTokens?numberWorst-case observation tokens above this warn (default 8 000) …packages/cli/src/lint.ts:42

LintReport

Defined in: packages/cli/src/lint.ts:63

Properties


ObservationStats

Defined in: packages/cli/src/lint.ts:47

Properties

PropertyTypeDescriptionDefined in
sampledMax?SizeLargest sampled observation.packages/cli/src/lint.ts:52
samplesnumber-packages/cli/src/lint.ts:53
typical?SizeMean over sampled observations. Undefined if sampling failed.packages/cli/src/lint.ts:50
worstSize-packages/cli/src/lint.ts:48

Size

Defined in: packages/cli/src/size.ts:21

Properties

PropertyTypeDefined in
bytesnumberpackages/cli/src/size.ts:22
tokensnumberpackages/cli/src/size.ts:23

Type Aliases

Invoke

type Invoke = (method, args) => Promise<unknown>;

Defined in: packages/cli/src/audit.ts:162

Calls one control method with raw arguments (exactly the MCP tool argument object, e.g. { intents } for act), so malformed shapes reach the endpoint unaltered. Throws an Error with a code on a failed call.

Parameters

ParameterType
methodControlMethod
argsunknown

Returns

Promise<unknown>

Variables

DEFAULT_PRICES

const DEFAULT_PRICES: Readonly<Record<string, number>>;

Defined in: packages/cli/src/lint.ts:22

Input price per million tokens, USD. List prices checked 2026-11-02 on each provider's pricing page.


PRICES_CHECKED

const PRICES_CHECKED: "2026-11-02" = '2026-11-02';

Defined in: packages/cli/src/lint.ts:31

Functions

auditDefinition()

function auditDefinition(def, opts?): Promise<AuditReport>;

Defined in: packages/cli/src/audit.ts:749

Audit a game definition on an in-process PlayerThreeHost (every role of the first team, plus local-only checks).

Parameters

ParameterType
defGameDefinition
opts?AuditOptions

Returns

Promise<AuditReport>


auditRemote()

function auditRemote(
   url, 
   token, 
   opts?
): Promise<AuditReport>;

Defined in: packages/cli/src/audit.ts:810

Audit a live MCP endpoint through a seat token (the seat should be under agent control).

Parameters

ParameterType
urlstring
tokenstring
opts?AuditOptions

Returns

Promise<AuditReport>


auditSeats()

function auditSeats(seats, opts): Promise<AuditReport>;

Defined in: packages/cli/src/audit.ts:861

Audit seats reached through any binding (e.g. your own WebSocket transport): give one Invoke per seat that forwards raw tool-shaped arguments. Runs the fuzz, echo, vocabulary, schema and rate-limit checks.

Parameters

ParameterType
seatsAuditSeat[]
optsAuditSeatsOptions

Returns

Promise<AuditReport>


devBanner()

function devBanner(
   d, 
   def, 
   color?
): string;

Defined in: packages/cli/src/dev.ts:95

The terminal banner playerthree dev prints: the match, its links and harness setup for the seat.

Parameters

ParameterTypeDefault value
dDevServerundefined
defGameDefinitionundefined
color?booleanfalse

Returns

string


estimateTokens()

function estimateTokens(text): number;

Defined in: packages/cli/src/size.ts:14

Estimated LLM tokens of text (see TOKEN_RE).

Parameters

ParameterType
textstring

Returns

number


formatAuditReport()

function formatAuditReport(r, color?): string;

Defined in: packages/cli/src/audit.ts:888

Human-readable audit report (ANSI colours when color).

Parameters

ParameterTypeDefault value
rAuditReportundefined
color?booleanfalse

Returns

string


formatLintReport()

function formatLintReport(r, color?): string;

Defined in: packages/cli/src/lint.ts:303

Human-readable lint report (ANSI colours when color).

Parameters

ParameterTypeDefault value
rLintReportundefined
color?booleanfalse

Returns

string


lintDefinition()

function lintDefinition(def, opts?): LintReport;

Defined in: packages/cli/src/lint.ts:235

Runs every design-time check on a game definition; ok is false when any finding is an error.

Parameters

ParameterType
defGameDefinition
opts?LintOptions

Returns

LintReport


loadDefinition()

function loadDefinition(modulePath, exportName?): Promise<GameDefinition<AnyManifest>>;

Defined in: packages/cli/src/load.ts:7

Import a game module and return its definition export (or the named export).

Parameters

ParameterTypeDefault value
modulePathstringundefined
exportName?string'definition'

Returns

Promise<GameDefinition<AnyManifest>>


localInvoke()

function localInvoke(c): Invoke;

Defined in: packages/cli/src/audit.ts:173

Raw-argument invocation of an in-process SeatControl (for auditSeats).

Parameters

ParameterType
cSeatControl

Returns

Invoke


main()

function main(argv, io?): Promise<number>;

Defined in: packages/cli/src/main.ts:232

Runs one CLI invocation (argv without the node and script paths); resolves to the process exit code.

Parameters

ParameterTypeDefault value
argvstring[]undefined
io?IodefaultIo

Returns

Promise<number>


prosiness()

function prosiness(literal): string | undefined;

Defined in: packages/cli/src/lint.ts:79

Heuristic: an enum literal "looks like prose" when it has many words or contains sentence/instruction words.

Parameters

ParameterType
literalstring

Returns

string | undefined


safetyCard()

function safetyCard(r): string;

Defined in: packages/cli/src/safety.ts:45

Renders the Safety Card markdown from an audit report.

Parameters

ParameterType
rAuditReport

Returns

string


startDevServer()

function startDevServer(def, opts?): Promise<DevServer>;

Defined in: packages/cli/src/dev.ts:40

Serves def on one HTTP server — MCP at /mcp, DevTools at /playerthree/devtools — with one match whose seat opts.seat is agent-controlled and has a minted seat token.

Parameters

ParameterType
defGameDefinition
opts?DevServerOptions

Returns

Promise<DevServer>


worstCase()

function worstCase(s): Size;

Defined in: packages/cli/src/size.ts:57

Conservative JSON encoding bound (every optional field present, every array full). Bounded text includes worst-case escaping; integer arrays use exact integer endpoint widths.

Parameters

ParameterType
sSchema

Returns

Size