/* 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 CompletionEvent */ export interface CompletionEvent { /** * * @type {string} * @memberof CompletionEvent */ id: string; /** * * @type {CompletionEventTypeEnum} * @memberof CompletionEvent */ type: CompletionEventTypeEnum; /** * * @type {number} * @memberof CompletionEvent */ timestamp: number; /** * * @type {string} * @memberof CompletionEvent */ taskId?: string | null; /** * * @type {{ [key: string]: any; }} * @memberof CompletionEvent */ data: { [key: string]: any; }; } /** * @export */ export const CompletionEventTypeEnum = { CompactionComplete: 'compaction_complete' } as const; export type CompletionEventTypeEnum = typeof CompletionEventTypeEnum[keyof typeof CompletionEventTypeEnum]; /** * Check if a given object implements the CompletionEvent interface. */ export function instanceOfCompletionEvent(value: object): value is CompletionEvent { 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 CompletionEventFromJSON(json: any): CompletionEvent { return CompletionEventFromJSONTyped(json, false); } export function CompletionEventFromJSONTyped(json: any, ignoreDiscriminator: boolean): CompletionEvent { if (json == null) { return json; } return { 'id': json['id'], 'type': json['type'], 'timestamp': json['timestamp'], 'taskId': json['taskId'] == null ? undefined : json['taskId'], 'data': json['data'], }; } export function CompletionEventToJSON(json: any): CompletionEvent { return CompletionEventToJSONTyped(json, false); } export function CompletionEventToJSONTyped(value?: CompletionEvent | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'type': value['type'], 'timestamp': value['timestamp'], 'taskId': value['taskId'], 'data': value['data'], }; }