/* 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'; import type { SteerEventData } from './SteerEventData'; import { SteerEventDataFromJSON, SteerEventDataFromJSONTyped, SteerEventDataToJSON, SteerEventDataToJSONTyped, } from './SteerEventData'; /** * A message sent into a turn that was already running, via `POST /boxes/{boxId}/steer`. It is not a prompt run; the output it causes belongs to the turn that was already running. * @export * @interface SteerEvent */ export interface SteerEvent { /** * * @type {string} * @memberof SteerEvent */ id: string; /** * * @type {SteerEventTypeEnum} * @memberof SteerEvent */ type: SteerEventTypeEnum; /** * * @type {number} * @memberof SteerEvent */ timestamp: number; /** * Id of the steer record, as returned by POST /steer. * @type {string} * @memberof SteerEvent */ taskId?: string | null; /** * The conversation whose running turn was steered. * @type {string} * @memberof SteerEvent */ conversationId?: string | null; /** * * @type {SteerEventData} * @memberof SteerEvent */ data: SteerEventData; } /** * @export */ export const SteerEventTypeEnum = { Steer: 'steer' } as const; export type SteerEventTypeEnum = typeof SteerEventTypeEnum[keyof typeof SteerEventTypeEnum]; /** * Check if a given object implements the SteerEvent interface. */ export function instanceOfSteerEvent(value: object): value is SteerEvent { if (!('id' in value) || value['id'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('timestamp' in value) || value['timestamp'] === undefined) return false; if (!('data' in value) || value['data'] === undefined) return false; return true; } export function SteerEventFromJSON(json: any): SteerEvent { return SteerEventFromJSONTyped(json, false); } export function SteerEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): SteerEvent { if (json == null) { return json; } return { 'id': json['id'], 'type': json['type'], 'timestamp': json['timestamp'], 'taskId': json['taskId'] == null ? undefined : json['taskId'], 'conversationId': json['conversationId'] == null ? undefined : json['conversationId'], 'data': SteerEventDataFromJSON(json['data']), }; } export function SteerEventToJSON(json: any): SteerEvent { return SteerEventToJSONTyped(json, false); } export function SteerEventToJSONTyped(value?: SteerEvent | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'type': value['type'], 'timestamp': value['timestamp'], 'taskId': value['taskId'], 'conversationId': value['conversationId'], 'data': SteerEventDataToJSON(value['data']), }; }