Generated from services/crossfire/node/packages/contracts/src/runtime.ts at
52bf0279Definitions#
These TypeScript definitions document server validation. check.object rejects unknown fields. Custom functions and refinements specify additional checks.
Imported definitions#
services/crossfire/node/packages/contracts/src/schema/validation.tsservices/crossfire/node/packages/domain/src/runtime/values.ts
implementedRuntime#
implementedRuntime = check.choice(...implementedRuntimes)Related definitions:
runtimeState#
runtimeState = check.choice('idle', 'working', 'waiting-approval', 'waiting-answer', 'failed', 'unavailable', 'sleeping', 'waking')Related definitions:
nativeRuntimeSummary#
nativeRuntimeSummary = check.object({ state: check.choice('idle', 'working', 'waiting-approval', 'waiting-answer', 'failed', 'unavailable', 'sleeping', 'waking', 'stopped'), observedAt: check.integer(),
lastActivityAt: check.nullable(check.integer()), historyAvailable: check.nullable(check.boolean) })Related definitions:
listenerOptions#
listenerOptions = check.object({ history_mode: check.optional(check.choice('shared', 'per-room')) })Related definitions:
option#
option = check.object({ id: check.text(255), label: check.text(1000), description: check.plainText(4000) })Related definitions:
decisionQuestion#
decisionQuestion = check.object({ id: check.text(255), title: check.text(1000), prompt: check.plainText(16000),
secret: check.boolean, allowText: check.boolean, options: check.list(option, 100) })Related definitions:
decisionFields#
decisionFields = { id: check.identifier, runId: check.identifier, runtime: check.name,
sessionId: check.text(255), requestId: check.text(255), turnId: check.text(255), itemId: check.text(255),
kind: check.choice('permission', 'question'), action: check.text(255), review: check.refine(check.plainText(MAX_REVIEW_BYTES), value => new TextEncoder().encode(value).byteLength <= MAX_REVIEW_BYTES, 'Native review exceeds the separate UTF-8 resource bound'),
blocking: check.boolean, expiresAt: check.nullable(check.integer()), questions: check.list(decisionQuestion, 100, 1) }Related definitions:
decisionCreation#
decisionCreation = check.object({ ...decisionFields, runtime: implementedRuntime }) satisfies check.Parser<DecisionCreation>Related definitions:
decisionAnswer#
decisionAnswer = check.object({ questionId: check.text(255), optionId: check.nullable(check.text(255)), text: check.nullable(check.plainText(16000)) }) satisfies check.Parser<DecisionAnswer>Related definitions:
decisionSubmission#
decisionSubmission = check.object({ answers: check.list(decisionAnswer, 100, 1) })Related definitions:
decisionStatus#
decisionStatus = check.choice('pending', 'answered', 'responded', 'cancelled', 'expired')Related definitions:
decisionView#
decisionView = check.object({ ...decisionFields, agentId: check.identifier, status: decisionStatus, createdAt: check.integer() }) satisfies check.Parser<DecisionView>Related definitions:
summaryFields#
{ review: _review, questions: _questions, ...summaryFields } = decisionFieldsRelated definitions:
decisionSummary#
decisionSummary = check.object({ ...summaryFields, agentId: check.identifier, status: decisionStatus, createdAt: check.integer() }) satisfies check.Parser<DecisionSummary>Related definitions:
decisionReceipt#
decisionReceipt = check.object({ status: check.choice('responded', 'cancelled') })Related definitions:
decisionPoll#
decisionPoll = check.object({ status: decisionStatus, answers: check.list(decisionAnswer, 100) })Related definitions:
setting#
setting = check.object({ name: check.text(100), configured: check.nullable(check.text(1000)), effective: check.nullable(check.text(1000)) })Related definitions:
observationFields#
observationFields = { sessionId: check.text(255), roomId: check.nullable(check.roomId), runtime: check.name, state: runtimeState,
observedAt: check.integer(), lastActivityAt: check.nullable(check.integer()), historyAvailable: check.nullable(check.boolean),
historyMode: check.choice('shared', 'per-room'), maxInputBytes: check.integer(1024, MAX_INPUT_BYTES),
settings: check.list(setting, 100), errorMessage: check.nullable(check.plainText(4000)) }Related definitions:
observation#
observation = check.object({ ...observationFields, runtime: implementedRuntime }) satisfies check.Parser<RuntimeObservation>Related definitions:
observationView#
observationView = check.object({ runId: check.identifier, ...observationFields }) satisfies check.Parser<RuntimeObservationView>Related definitions:
observations#
observations = check.list(observationView, 2002)Related definitions:
failureReport#
failureReport = check.object({ episodeId: check.identifier, agentId: check.identifier, sessionId: check.nullable(check.text(255)), message: check.plainText(4000) })Related definitions: