Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

277 support for sum constraints #278

Merged
merged 19 commits into from
May 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/eleven-terms-drop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@boostv/process-optimizer-frontend-core': minor
'@boostv/process-optimizer-frontend-api': minor
---

Support constraints
5 changes: 5 additions & 0 deletions .changeset/shy-toys-draw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@boostv/process-optimizer-frontend-api': minor
---

Update API to v3.2.0
2 changes: 1 addition & 1 deletion .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ services:
user: node

api:
image: ghcr.io/boostv/process-optimizer-api:3.0.3
image: ghcr.io/boostv/process-optimizer-api:3.2.0
restart: unless-stopped
expose:
- 9090
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion packages/api/openapi/.openapi-generator/FILES
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
apis/DefaultApi.ts
apis/index.ts
index.ts
models/Constraint.ts
models/Experiment.ts
models/ExperimentDataInner.ts
models/ExperimentDataInnerXiInner.ts
models/ExperimentExtras.ts
models/ExperimentOptimizerConfig.ts
models/ExperimentOptimizerConfigSpaceInner.ts
models/ModelError.ts
models/Result.ts
models/ResultPlotsInner.ts
models/ResultResult.ts
models/ResultResultModelsInner.ts
models/SpaceInner.ts
models/index.ts
runtime.ts
92 changes: 92 additions & 0 deletions packages/api/openapi/models/Constraint.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
/* tslint:disable */
/* eslint-disable */
/**
* Process Optimizer API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.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 { exists, mapValues } from '../runtime'
/**
*
* @export
* @interface Constraint
*/
export interface Constraint {
/**
*
* @type {string}
* @memberof Constraint
*/
type?: ConstraintTypeEnum
/**
*
* @type {Array<number>}
* @memberof Constraint
*/
dimensions: Array<number>
/**
*
* @type {number}
* @memberof Constraint
*/
value: number
}

/**
* @export
*/
export const ConstraintTypeEnum = {
Sum: 'sum',
} as const
export type ConstraintTypeEnum =
(typeof ConstraintTypeEnum)[keyof typeof ConstraintTypeEnum]

/**
* Check if a given object implements the Constraint interface.
*/
export function instanceOfConstraint(value: object): boolean {
let isInstance = true
isInstance = isInstance && 'dimensions' in value
isInstance = isInstance && 'value' in value

return isInstance
}

export function ConstraintFromJSON(json: any): Constraint {
return ConstraintFromJSONTyped(json, false)
}

export function ConstraintFromJSONTyped(
json: any,
ignoreDiscriminator: boolean
): Constraint {
if (json === undefined || json === null) {
return json
}
return {
type: !exists(json, 'type') ? undefined : json['type'],
dimensions: json['dimensions'],
value: json['value'],
}
}

export function ConstraintToJSON(value?: Constraint | null): any {
if (value === undefined) {
return undefined
}
if (value === null) {
return null
}
return {
type: value.type,
dimensions: value.dimensions,
value: value.value,
}
}
41 changes: 28 additions & 13 deletions packages/api/openapi/models/ExperimentOptimizerConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,18 @@
*/

import { exists, mapValues } from '../runtime'
import type { ExperimentOptimizerConfigSpaceInner } from './ExperimentOptimizerConfigSpaceInner'
import type { Constraint } from './Constraint'
import {
ExperimentOptimizerConfigSpaceInnerFromJSON,
ExperimentOptimizerConfigSpaceInnerFromJSONTyped,
ExperimentOptimizerConfigSpaceInnerToJSON,
} from './ExperimentOptimizerConfigSpaceInner'
ConstraintFromJSON,
ConstraintFromJSONTyped,
ConstraintToJSON,
} from './Constraint'
import type { SpaceInner } from './SpaceInner'
import {
SpaceInnerFromJSON,
SpaceInnerFromJSONTyped,
SpaceInnerToJSON,
} from './SpaceInner'

/**
*
Expand Down Expand Up @@ -58,10 +64,16 @@ export interface ExperimentOptimizerConfig {
xi?: number
/**
*
* @type {Array<ExperimentOptimizerConfigSpaceInner>}
* @type {Array<SpaceInner>}
* @memberof ExperimentOptimizerConfig
*/
space?: Array<ExperimentOptimizerConfigSpaceInner>
space?: Array<SpaceInner>
/**
*
* @type {Array<Constraint>}
* @memberof ExperimentOptimizerConfig
*/
constraints?: Array<Constraint>
}

/**
Expand Down Expand Up @@ -98,9 +110,10 @@ export function ExperimentOptimizerConfigFromJSONTyped(
xi: !exists(json, 'xi') ? undefined : json['xi'],
space: !exists(json, 'space')
? undefined
: (json['space'] as Array<any>).map(
ExperimentOptimizerConfigSpaceInnerFromJSON
),
: (json['space'] as Array<any>).map(SpaceInnerFromJSON),
constraints: !exists(json, 'constraints')
? undefined
: (json['constraints'] as Array<any>).map(ConstraintFromJSON),
}
}

Expand All @@ -122,8 +135,10 @@ export function ExperimentOptimizerConfigToJSON(
space:
value.space === undefined
? undefined
: (value.space as Array<any>).map(
ExperimentOptimizerConfigSpaceInnerToJSON
),
: (value.space as Array<any>).map(SpaceInnerToJSON),
constraints:
value.constraints === undefined
? undefined
: (value.constraints as Array<any>).map(ConstraintToJSON),
}
}
11 changes: 9 additions & 2 deletions packages/api/openapi/models/ResultResultModelsInner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@
*/

import { exists, mapValues } from '../runtime'
import type { ExperimentDataInnerXiInner } from './ExperimentDataInnerXiInner'
import {
ExperimentDataInnerXiInnerFromJSON,
ExperimentDataInnerXiInnerFromJSONTyped,
ExperimentDataInnerXiInnerToJSON,
} from './ExperimentDataInnerXiInner'

/**
*
* @export
Expand All @@ -21,10 +28,10 @@ import { exists, mapValues } from '../runtime'
export interface ResultResultModelsInner {
/**
*
* @type {Array<Array<number>>}
* @type {Array<Array<ExperimentDataInnerXiInner>>}
* @memberof ResultResultModelsInner
*/
expectedMinimum?: Array<Array<number>>
expectedMinimum?: Array<Array<ExperimentDataInnerXiInner>>
/**
*
* @type {object}
Expand Down
110 changes: 110 additions & 0 deletions packages/api/openapi/models/SpaceInner.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/* tslint:disable */
/* eslint-disable */
/**
* Process Optimizer API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.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 { exists, mapValues } from '../runtime'
/**
*
* @export
* @interface SpaceInner
*/
export interface SpaceInner {
/**
* Type of the dimension. Can be category, discrete or continuous
* @type {string}
* @memberof SpaceInner
*/
type: SpaceInnerTypeEnum
/**
*
* @type {string}
* @memberof SpaceInner
*/
name: string
/**
*
* @type {number}
* @memberof SpaceInner
*/
from?: number
/**
*
* @type {number}
* @memberof SpaceInner
*/
to?: number
/**
*
* @type {Array<string>}
* @memberof SpaceInner
*/
categories?: Array<string>
}

/**
* @export
*/
export const SpaceInnerTypeEnum = {
Category: 'category',
Discrete: 'discrete',
Continuous: 'continuous',
} as const
export type SpaceInnerTypeEnum =
(typeof SpaceInnerTypeEnum)[keyof typeof SpaceInnerTypeEnum]

/**
* Check if a given object implements the SpaceInner interface.
*/
export function instanceOfSpaceInner(value: object): boolean {
let isInstance = true
isInstance = isInstance && 'type' in value
isInstance = isInstance && 'name' in value

return isInstance
}

export function SpaceInnerFromJSON(json: any): SpaceInner {
return SpaceInnerFromJSONTyped(json, false)
}

export function SpaceInnerFromJSONTyped(
json: any,
ignoreDiscriminator: boolean
): SpaceInner {
if (json === undefined || json === null) {
return json
}
return {
type: json['type'],
name: json['name'],
from: !exists(json, 'from') ? undefined : json['from'],
to: !exists(json, 'to') ? undefined : json['to'],
categories: !exists(json, 'categories') ? undefined : json['categories'],
}
}

export function SpaceInnerToJSON(value?: SpaceInner | null): any {
if (value === undefined) {
return undefined
}
if (value === null) {
return null
}
return {
type: value.type,
name: value.name,
from: value.from,
to: value.to,
categories: value.categories,
}
}
3 changes: 2 additions & 1 deletion packages/api/openapi/models/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
/* tslint:disable */
/* eslint-disable */
export * from './Constraint'
export * from './Experiment'
export * from './ExperimentDataInner'
export * from './ExperimentDataInnerXiInner'
export * from './ExperimentExtras'
export * from './ExperimentOptimizerConfig'
export * from './ExperimentOptimizerConfigSpaceInner'
export * from './ModelError'
export * from './Result'
export * from './ResultPlotsInner'
export * from './ResultResult'
export * from './ResultResultModelsInner'
export * from './SpaceInner'
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"scripts": {
"build": "tsc && vite build",
"prepublishOnly": "vite build",
"openapi": "openapi-generator-cli generate -i https://raw.githubusercontent.com/BoostV/process-optimizer-api/v3.0.0/optimizerapi/openapi/specification.yml -g typescript-fetch -o ./openapi --additional-properties=nullSafeAdditionalProps && prettier --write ./openapi"
"openapi": "openapi-generator-cli generate -i https://raw.githubusercontent.com/BoostV/process-optimizer-api/v3.2.0/optimizerapi/openapi/specification.yml -g typescript-fetch -o ./openapi --additional-properties=nullSafeAdditionalProps && prettier --write ./openapi"
},
"devDependencies": {
"@openapitools/openapi-generator-cli": "2.5.2",
Expand Down
Loading