import { ShapeDiverCommonsModelComputationStatus } from '../commons/SdCommonModelComputation'; /** * @swagger {components.schemas} ResponseModelComputation { "description": "Components of a model computation request.", "type": "object" } */ /** Components of a model computation request. */ export interface ShapeDiverResponseModelComputation { /** * @swagger {components.schemas.ResponseModelComputation.properties} id { "description": "ID of the model.", "type": "string", "format": "uuid" } * @swagger {components.schemas.ResponseModelComputation} required [ "id" ] */ /** ID of the model. */ id: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp { "description": "Numeric timestamp in format YYYYMMDDHHMMSSMMM.
Deprecated: Use timestamp_str instead.", "type": "number", "deprecated": true } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp" ] */ /** * Numeric timestamp in format YYYYMMDDHHMMSSMMM. * @deprecated Use {@link timestamp_str} instead. */ timestamp: number; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp_str { "description": "Timestamp in format YYYYMMDDHHMMSSMMM.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp_str" ] */ /** Timestamp in format YYYYMMDDHHMMSSMMM. */ timestamp_str: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} compute_request_id { "description": "The ID of the compute request that was processed.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "compute_request_id" ] */ /** The ID of the compute request that was processed. */ compute_request_id: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} exports { "description": "Requested export versions.", "type": "object", "additionalProperties": { "type": "string" } } * @swagger {components.schemas.ResponseModelComputation} required [ "exports" ] */ /** Requested export versions. */ exports: { [id: string]: string }; /** * @swagger {components.schemas.ResponseModelComputation.properties} outputs { "description": "Requested output versions.", "type": "object", "additionalProperties": { "type": "string" } } * @swagger {components.schemas.ResponseModelComputation} required [ "outputs" ] */ /** Requested output versions. */ outputs: { [id: string]: string }; /** * @swagger {components.schemas.ResponseModelComputation.properties} params { "description": "Parameter values.", "type": "object" } * @swagger {components.schemas.ResponseModelComputation} required [ "params" ] */ /** Parameter values. */ params: object; /** * @swagger {components.schemas.ResponseModelComputation.properties} stats { "description": "The stats of the computation request.", "$ref": "#/components/schemas/ResponseModelComputationStats" } * @swagger {components.schemas.ResponseModelComputation} required [ "stats" ] */ /** The stats of the computation request. */ stats: ShapeDiverResponseModelComputationStats; /** * @swagger {components.schemas.ResponseModelComputation.properties} status { "description": "Result of processing request.", "$ref": "#/components/schemas/ResponseModelComputationStatus" } * @swagger {components.schemas.ResponseModelComputation} required [ "status" ] */ /** Result of processing request. */ status: ShapeDiverResponseModelComputationStatus; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp_fin { "description": "Timestamp when the computation request was finished, in format YYYYMMDDhhmmssmmm.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp_fin" ] */ /** Timestamp when the computation request was finished, in format YYYYMMDDhhmmssmmm. */ timestamp_fin: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp_req { "description": "Timestamp when the work request was filed, UNIX format.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp_req" ] */ /** Timestamp when the work request was filed, UNIX format. */ timestamp_req: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp_req_iso { "description": "Timestamp when the computation request was filed, in format YYYYMMDDhhmmssmmm.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp_req_iso" ] */ /** Timestamp when the computation request was filed, in format YYYYMMDDhhmmssmmm. */ timestamp_req_iso: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} timestamp_resp { "description": "Timestamp when the computation request was picked up, in format YYYYMMDDhhmmssmmm.", "type": "string" } * @swagger {components.schemas.ResponseModelComputation} required [ "timestamp_resp" ] */ /** Timestamp when the computation request was picked up, in format YYYYMMDDhhmmssmmm. */ timestamp_resp: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} msg { "description": "Message containing information about the computation process.", "type": "string" } */ /** Message containing information about the computation process. */ msg?: string; /** * @swagger {components.schemas.ResponseModelComputation.properties} limit { "description": "Model's limits at the time of the computation process.", "$ref": "#/components/schemas/ResponseModelComputationLimits" } */ /** Model's limits at the time of the computation process. */ limit?: ShapeDiverResponseModelComputationLimits; /** * @swagger {components.schemas.ResponseModelComputation.properties} credits { "description": "The number of credits that are charged for this computation.", "type": "number" } */ /** The number of credits that are charged for this computation. */ credits?: number; } /** * @swagger {components.schemas} ResponseModelComputationStats { "description": "Stats of a computation request.", "type": "object" } */ /** Stats of a computation request. */ export interface ShapeDiverResponseModelComputationStats { /** * @swagger {components.schemas.ResponseModelComputationStats.properties} size_assets { "description": "Total size in bytes of the uncompressed resulting assets.", "type": "number" } */ /** Total size in bytes of the uncompressed resulting assets.*/ size_assets?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} size_assets_storage { "description": "Total size in bytes of the (potentially compressed) assets uploaded to storage.", "type": "number" } */ /** Total size in bytes of the (potentially compressed) assets uploaded to storage. */ size_assets_storage?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_completion { "description": "The number of milliseconds it took to answer the request.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_completion" ] */ /** The number of milliseconds it took to answer the request. */ time_completion: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_model_download { "description": "The number of milliseconds it took to download the model from storage.
0 in case model was already downloaded to the instance.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_model_download" ] */ /** The number of milliseconds it took to download the model from storage.
0 in case model was already downloaded to the instance. */ time_model_download: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_model_open { "description": "The number of milliseconds it took to load (open) the model.
0 in case model was already loaded.
Note: Does not include time for script compilation and first computation.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_model_open" ] */ /** The number of milliseconds it took to load (open) the model.
0 in case model was already loaded.
Note: Does not include time for script compilation and first computation. */ time_model_open: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_processing { "description": "The number of milliseconds it took to process the request.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_processing" ] */ /** The number of milliseconds it took to process the request. */ time_processing: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_check_stored { "description": "The number of milliseconds it took to carry out checks that are done before loading the model.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_check_stored" ] */ /** The number of milliseconds it took to carry out checks that are done before loading the model. */ time_check_stored: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_check_loaded { "description": "The number of milliseconds it took to carry out check that are done after loading the model.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_check_loaded" ] */ /** The number of milliseconds it took to carry out check that are done after loading the model. */ time_check_loaded: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_storage { "description": "The number of milliseconds it took to upload assets to storage.", "type": "number" } */ /** The number of milliseconds it took to upload assets to storage. */ time_storage?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_solver { "description": "The number of milliseconds for Grasshopper solver.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_solver" ] */ /** The number of milliseconds for Grasshopper solver. */ time_solver: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_solver_collect { "description": "The number of milliseconds it took to collect output and export data after computation.", "type": "number" } */ /** The number of milliseconds it took to collect output and export data after computation. */ time_solver_collect?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_solver_ext { "description": "The number of milliseconds it took to download and load the model and setting parameters, and to compute the solution.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_solver_ext" ] */ /** The number of milliseconds it took to download and load the model and setting parameters, and to compute the solution. */ time_solver_ext: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_wait { "description": "The number of milliseconds the request was waiting before being processed.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationStats} required [ "time_wait" ] */ /** The number of milliseconds the request was waiting before being processed. */ time_wait: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_cache_outputs { "description": "The number of milliseconds it took to store the results of the request in the cache.", "type": "number" } */ /** The number of milliseconds it took to store the results of the request in the cache. */ time_cache_outputs?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} model { "description": "Information about model computations.", "$ref": "#/components/schemas/ResponseModelComputationModel" } */ /** Information about model computations. */ model?: ShapeDiverResponseModelComputationModel; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_check_stored { "description": "The number of milliseconds the CPU was used to carry out checks which are done before loading the model.", "type": "number" } */ /** The number of milliseconds the CPU was used to carry out checks which are done before loading the model. */ cpu_time_check_stored?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_check_loaded { "description": "The number of milliseconds the CPU was used to carry out checks which are done after loading the model.", "type": "number" } */ /** The number of milliseconds the CPU was used to carry out checks which are done after loading the model. */ cpu_time_check_loaded?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_storage { "description": "The number of milliseconds the CPU was used to upload assets to storage.", "type": "number" } */ /** The number of milliseconds the CPU was used to upload assets to storage. */ cpu_time_storage?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_model_download { "description": "The number of milliseconds the CPU was used to download the model from storage.", "type": "number" } */ /** The number of milliseconds the CPU was used to download the model from storage. */ cpu_time_model_download?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_model_open { "description": "The number of milliseconds the CPU was used to load (open) the model.
0 in case model was already loaded.", "type": "number" } */ /** The number of milliseconds the CPU was used to load (open) the model.
0 in case model was already loaded. */ cpu_time_model_open?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_solver { "description": "The number of milliseconds the CPU was used for Grasshopper solver.", "type": "number" } */ /** The number of milliseconds the CPU was used for Grasshopper solver. */ cpu_time_solver?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_solver_collect { "description": "The number of milliseconds the CPU was used to collect output and export data after computation.", "type": "number" } */ /** The number of milliseconds the CPU was used to collect output and export data after computation. */ cpu_time_solver_collect?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_solver_ext { "description": "The number of milliseconds the CPU was used to download and load the model and setting parameters, and to compute the solution.", "type": "number" } */ /** The number of milliseconds the CPU was used to download and load the model and setting parameters, and to compute the solution. */ cpu_time_solver_ext?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_cache_outputs { "description": "The number of milliseconds the CPU was used to store the results of the request in the cache.", "type": "number" } */ /** The number of milliseconds the CPU was used to store the results of the request in the cache. */ cpu_time_cache_outputs?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} time_model_prepare { "description": "The number of milliseconds it took to prepare the model after loading it. As an example, preparation includes compilation of scripts.", "type": "number" } */ /** * The number of milliseconds it took to prepare the model after loading it. As an example, * preparation includes compilation of scripts. */ time_model_prepare?: number; /** * @swagger {components.schemas.ResponseModelComputationStats.properties} cpu_time_model_prepare { "description": "The number of milliseconds the CPU was used to prepare the model after loading it. As an example, preparation includes compilation of scripts.", "type": "number" } */ /** * The number of milliseconds the CPU was used to prepare the model after loading it. As an * example, preparation includes compilation of scripts. */ cpu_time_model_prepare?: number; } /** * @swagger {components.schemas} ResponseModelComputationModel { "description": "Information about model computations.", "type": "object" } */ /** Information about model computations. */ export interface ShapeDiverResponseModelComputationModel { /** * @swagger {components.schemas.ResponseModelComputationModel.properties} components { "description": "Information about the components taking most computation time in the model computations log.", "type": "object" } * @swagger {components.schemas.ResponseModelComputationModel} required [ "components" ] */ /** Information about the components taking most computation time in the model computations log. */ components: { /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties} computed { "description": "Components which were computed, ordered by descending processor time.", "type": "array", "items": { "type": "object" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components} required [ "computed" ] */ /** Components which were computed, ordered by descending processor time. */ computed: { /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items.properties} instance { "description": "Instance ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items} required [ "instance" ] */ /** Instance ID of component. */ instance: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items.properties} component { "description": "ID of the component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items} required [ "component" ] */ /** ID of the component. */ component: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items.properties} name { "description": "Name of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items} required [ "name" ] */ /** Name of component. */ name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items.properties} nick_name { "description": "Nickname of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items} required [ "nick_name" ] */ /** Nickname of component. */ nick_name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items.properties} time { "description": "Computation time used in milliseconds.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computed.items} required [ "time" ] */ /** Computation time used in milliseconds. */ time: number; }[]; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties} computing { "description": "Components which were currently computing at the time the computation was stopped.", "type": "array", "items": { "type": "object" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components} required [ "computing" ] */ /** Components which were currently computing at the time the computation was stopped. */ computing: { /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items.properties} instance { "description": "Instance ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items} required [ "instance" ] */ /** Instance ID of component. */ instance: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items.properties} component { "description": "ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items} required [ "component" ] */ /** ID of component. */ component: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items.properties} name { "description": "Name of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items} required [ "name" ] */ /** Name of component. */ name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items.properties} nick_name { "description": "Nickname of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.computing.items} required [ "nick_name" ] */ /** Nickname of component. */ nick_name: string; }[]; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties} errors { "description": "Component Errors.", "type": "array", "items": { "type": "object" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components} required [ "errors" ] */ /** Component Errors. */ errors: { /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} component { "description": "ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "component" ] */ /** ID of component. */ component: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} errors { "description": "Component Error descriptions.", "type": "array", "items": { "type": "string" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "errors" ] * */ /** Component Errors descriptions. */ errors: string[]; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} instance { "description": "Instance ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "instance" ] */ /** Instance ID of component. */ instance: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} name { "description": "Name of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "name" ] */ /** Name of component. */ name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} nick_name { "description": "Nickname of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "nick_name" ] */ /** Nickname of component. */ nick_name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items.properties} warnings { "description": "Component Warnings descriptions.", "type": "array", "items": { "type": "string" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.errors.items} required [ "warnings" ] */ /** Component Warnings descriptions. */ warnings: string[]; }[]; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties} warnings { "description": "Component Warnings.", "type": "array", "items": { "type": "object" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components} required [ "warnings" ] */ /** Component Warnings. */ warnings: { /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items.properties} component { "description": "ID of component.", "type": "string" } */ /** ID of component. */ component: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items.properties} instance { "description": "Instance ID of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items} required [ "instance" ] */ /** Instance ID of component. */ instance: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items.properties} name { "description": "Name of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items} required [ "name" ] */ /** Name of component. */ name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items.properties} nick_name { "description": "Nickname of component.", "type": "string" } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items} required [ "nick_name" ] */ /** Nickname of component. */ nick_name: string; /** * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items.properties} warnings { "description": "Component Warnings descriptions.", "type": "array", "items": { "type": "string" } } * @swagger {components.schemas.ResponseModelComputationModel.properties.components.properties.warnings.items} required [ "warnings" ] */ /** Component Warnings descriptions. */ warnings: string[]; }[]; }; /** * @swagger {components.schemas.ResponseModelComputationModel.properties} count_success { "description": "Count of successful computations for the given loaded instance of the model.", "type": "number" } */ /** Count of successful computations for the given loaded instance of the model */ count_success?: number; /** * @swagger {components.schemas.ResponseModelComputationModel.properties} count_timeout { "description": "Count of timed-out computations for the given loaded instance of the model.", "type": "number" } */ /** Count of timed-out computations for the given loaded instance of the model */ count_timeout?: number; /** * @swagger {components.schemas.ResponseModelComputationModel.properties} changes { "description": "Lists the ids of the parameters whose values were changed before the computation.", "type": "array", "items": { "type": "string" } } */ /** Lists the ids of the parameters whose values were changed before the computation. */ changes?: string[]; } /** * @swagger {components.schemas} ResponseModelComputationStatus { "allOf": [ { "$ref": "#/components/schemas/CommonsModelComputationStatus" } ] } */ /** Result of a computation request.*/ export const ShapeDiverResponseModelComputationStatus = { ...ShapeDiverCommonsModelComputationStatus, }; export type ShapeDiverResponseModelComputationStatus = (typeof ShapeDiverResponseModelComputationStatus)[keyof typeof ShapeDiverResponseModelComputationStatus]; /** * @swagger {components.schemas} ResponseModelComputationLimits { "description": "Limits of a computation process.", "type": "object" } */ /** Limits of a computation process. */ export interface ShapeDiverResponseModelComputationLimits { /** * @swagger {components.schemas.ResponseModelComputationLimits.properties} max_comp_time { "description": "Maximum computation time in milliseconds allowed for the model.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationLimits} required [ "max_comp_time" ] */ /** Maximum computation time in milliseconds allowed for the model. */ max_comp_time: number; /** * @swagger {components.schemas.ResponseModelComputationLimits.properties} max_output_size { "description": "Maximum output size in bytes allowed for the model.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationLimits} required [ "max_output_size" ] */ /** Maximum output size in bytes allowed for the model. */ max_output_size: number; /** * @swagger {components.schemas.ResponseModelComputationLimits.properties} max_export_size { "description": "Maximum export size in bytes allowed for the model.", "type": "number" } * @swagger {components.schemas.ResponseModelComputationLimits} required [ "max_export_size" ] */ /** Maximum export size in bytes allowed for the model. */ max_export_size: number; }