/* 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 SteerResponse */ export interface SteerResponse { /** * * @type {boolean} * @memberof SteerResponse */ ok: boolean; /** * * @type {SteerResponseTypeEnum} * @memberof SteerResponse */ type: SteerResponseTypeEnum; /** * Box id. * @type {string} * @memberof SteerResponse */ id: string; /** * The conversation whose running turn was steered. * @type {string} * @memberof SteerResponse */ conversationId: string; /** * Id of the steer record. It appears in `GET /events` as a `steer` event; it is not a prompt run and has no lifecycle to poll. * @type {string} * @memberof SteerResponse */ promptId: string; /** * `true` when the harness accepted the message into the turn that was already running, so nothing was interrupted. `false` when Box interrupted that turn and immediately continued the SAME conversation with the instruction, which keeps the harness session and all of its memory but may repeat a little of the work in flight. * @type {boolean} * @memberof SteerResponse */ _native: boolean; /** * How the message was delivered. `native` and `fallback` mirror the `native` field; `late` means the turn finished between the request and its delivery, so the message ran as an ordinary new turn on the conversation. A steer reported `native` here can settle as `native-continued` on the `steer` event: the harness accepted it but its turn ended without acting on it, so Box continued it immediately as its own turn on the same session. Read the event for the settled mode. * @type {SteerResponseModeEnum} * @memberof SteerResponse */ mode?: SteerResponseModeEnum; /** * * @type {SteerResponseStatusEnum} * @memberof SteerResponse */ status: SteerResponseStatusEnum; } /** * @export */ export const SteerResponseTypeEnum = { PromptSteered: 'prompt.steered' } as const; export type SteerResponseTypeEnum = typeof SteerResponseTypeEnum[keyof typeof SteerResponseTypeEnum]; /** * @export */ export const SteerResponseModeEnum = { Native: 'native', Fallback: 'fallback', Late: 'late' } as const; export type SteerResponseModeEnum = typeof SteerResponseModeEnum[keyof typeof SteerResponseModeEnum]; /** * @export */ export const SteerResponseStatusEnum = { Steered: 'steered' } as const; export type SteerResponseStatusEnum = typeof SteerResponseStatusEnum[keyof typeof SteerResponseStatusEnum]; /** * Check if a given object implements the SteerResponse interface. */ export function instanceOfSteerResponse(value: object): value is SteerResponse { if (!('ok' in value) || value['ok'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('id' in value) || value['id'] === undefined) return false; if (!('conversationId' in value) || value['conversationId'] === undefined) return false; if (!('promptId' in value) || value['promptId'] === undefined) return false; if (!('_native' in value) || value['_native'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; return true; } export function SteerResponseFromJSON(json: any): SteerResponse { return SteerResponseFromJSONTyped(json, false); } export function SteerResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SteerResponse { if (json == null) { return json; } return { 'ok': json['ok'], 'type': json['type'], 'id': json['id'], 'conversationId': json['conversationId'], 'promptId': json['promptId'], '_native': json['native'], 'mode': json['mode'] == null ? undefined : json['mode'], 'status': json['status'], }; } export function SteerResponseToJSON(json: any): SteerResponse { return SteerResponseToJSONTyped(json, false); } export function SteerResponseToJSONTyped(value?: SteerResponse | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'ok': value['ok'], 'type': value['type'], 'id': value['id'], 'conversationId': value['conversationId'], 'promptId': value['promptId'], 'native': value['_native'], 'mode': value['mode'], 'status': value['status'], }; }