/* tslint:disable */ /* eslint-disable */ /** * Boat Public API v1 * Public JSON API for creating, operating, prompting, observing, and exposing Boat sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1. * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; /** * * @export * @interface SteerEventData */ export interface SteerEventData { /** * * @type {string} * @memberof SteerEventData */ message: string; /** * True when the turn that was already running took the message (both native modes); false when Box interrupted that turn and immediately continued the same conversation with it. * @type {boolean} * @memberof SteerEventData */ _native: boolean; /** * `native`: the harness folded the message into the running turn. `native-continued`: the harness accepted it but its turn ended without acting on it, so Box ran it immediately as its own turn on the same session (nothing interrupted, the instruction lands one turn boundary later). `fallback`: the harness has no mid-turn primitive, so Box interrupted that turn and continued the same conversation with the instruction. `late`: the turn had already finished, so it ran as an ordinary new turn. * @type {SteerEventDataModeEnum} * @memberof SteerEventData */ mode: SteerEventDataModeEnum; } /** * @export */ export const SteerEventDataModeEnum = { Native: 'native', NativeContinued: 'native-continued', Fallback: 'fallback', Late: 'late' } as const; export type SteerEventDataModeEnum = typeof SteerEventDataModeEnum[keyof typeof SteerEventDataModeEnum]; /** * Check if a given object implements the SteerEventData interface. */ export function instanceOfSteerEventData(value: object): value is SteerEventData { if (!('message' in value) || value['message'] === undefined) return false; if (!('_native' in value) || value['_native'] === undefined) return false; if (!('mode' in value) || value['mode'] === undefined) return false; return true; } export function SteerEventDataFromJSON(json: any): SteerEventData { return SteerEventDataFromJSONTyped(json, false); } export function SteerEventDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SteerEventData { if (json == null) { return json; } return { 'message': json['message'], '_native': json['native'], 'mode': json['mode'], }; } export function SteerEventDataToJSON(json: any): SteerEventData { return SteerEventDataToJSONTyped(json, false); } export function SteerEventDataToJSONTyped(value?: SteerEventData | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'message': value['message'], 'native': value['_native'], 'mode': value['mode'], }; }