Skip to content

Supported services configuration file

ogavb edited this page Jul 25, 2023 · 2 revisions

Available services

Title: Available services

Type object
Additional properties [Not allowed]

Description: This configuration file allows you to list services supported by the application. In particular, you can specify the logical languages that the user can use. Each logic language will have a number of configurable attributes, including syntax-highlighter and solver. Each solver will be able to have a set of registered executors. The user interface will contain the services that are active and listed in this file. Therefore, for example, to allow the use of a new language, it will be sufficient to configure it with at least one solver and executor, so the user will have the ability to select it from the interface and execute its code.

Property Pattern Type Title/Description
+ languages No array Supported languages.

1. [Required] Property Available services > languages

Title: Supported languages.

Type array

Description: At least one language must be configured to allow compilation of the code sent by the user interface. Each language listed must contain at least one solver and one executor. Once the languages are surveyed, they will be selectable from the user interface.

Array restrictions
Min items 1
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
language -

1.1. Available services > languages > language

Type object
Additional properties [Any type: allowed]
Defined in #/definitions/language
Property Pattern Type Title/Description
+ name No string Language name.
+ value No string Language value.
- syntax-highlighter No object Syntax-Highlighter path.
+ solvers No array Supported solvers.

1.1.1. Property Available services > languages > languages items > name

Title: Language name.

Type string

Description: This property indicates the language name in the user interface.

1.1.2. Property Available services > languages > languages items > value

Title: Language value.

Type string

Description: This property indicates the unique identifier of the language used in communication with the solver and the executor.

1.1.3. Property Available services > languages > languages items > syntax-highlighter

Title: Syntax-Highlighter path.

Type object
Additional properties [Not allowed]

Description: This property indicates the syntax highlighter path corresponding to this language.

Property Pattern Type Title/Description
+ name No string Syntax-Highlighter name.
- description No string Syntax-Highlighter description.
+ path No string Syntax-Highlighter path.
1.1.3.1. Property Available services > languages > languages items > syntax-highlighter > name

Title: Syntax-Highlighter name.

Type string

Description: This property indicates the syntax-highlighter name.

1.1.3.2. Property Available services > languages > languages items > syntax-highlighter > description

Title: Syntax-Highlighter description.

Type string

Description: This property indicates the syntax-highlighter description.

1.1.3.3. Property Available services > languages > languages items > syntax-highlighter > path

Title: Syntax-Highlighter path.

Type string
Format uri-reference

Description: This property indicates the syntax-highlighter file path.

1.1.4. Property Available services > languages > languages items > solvers

Title: Supported solvers.

Type array

Description: This property indicates all supported solvers for this language. At least one solver must be configured for each language to allow execution of the code sent from the user interface. Each solver listed must contain at least one executor. Once listed, the solvers will be selectable from the user interface.

Array restrictions
Min items 1
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
solver -
1.1.4.1. Available services > languages > languages items > solvers > solver
Type object
Additional properties [Any type: allowed]
Defined in #/definitions/solver
Property Pattern Type Title/Description
+ name No string Solver name.
+ value No string Solver value.
+ executors No array Supported executors.
+ options No array of object Solver option
1.1.4.1.1. Property Available services > languages > languages items > solvers > solvers items > name

Title: Solver name.

Type string

Description: This property indicates the solver name in the user interface.

1.1.4.1.2. Property Available services > languages > languages items > solvers > solvers items > value

Title: Solver value.

Type string

Description: This property indicates the unique identifier of the solver used in communication with the executor.

1.1.4.1.3. Property Available services > languages > languages items > solvers > solvers items > executors

Title: Supported executors.

Type array

Description: This property indicates all supported executors for this solver. At least one executor must be configured for each solver to allow execution of the code sent from the user interface. Once listed, the executors will be selectable from the user interface.

Array restrictions
Min items 1
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
executor -
1.1.4.1.3.1. Available services > languages > languages items > solvers > solvers items > executors > executor
Type object
Additional properties [Any type: allowed]
Defined in #/definitions/executor
Property Pattern Type Title/Description
+ protocol No enum (of string) Protocol name.
+ url No Combination Executor URL.
- name No string Executor name.
- value No string Executor value.
+ path No string Executor path.
+ port No number Executor port.
1.1.4.1.3.1.1. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > protocol

Title: Protocol name.

Type enum (of string)

Description: This property indicates the protocol name to use for a connection with this executor.

Must be one of:

  • "ws"
  • "http"
  • "wss"
1.1.4.1.3.1.2. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > url

Title: Executor URL.

Type combining

Description: This property indicates the executor URL to connect with it.

One of(Option)
item 0
item 1
item 2
1.1.4.1.3.1.2.1. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > url > oneOf > item 0
Type object
Format hostname
Additional properties [Any type: allowed]
1.1.4.1.3.1.2.2. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > url > oneOf > item 1
Type object
Format ipv4
Additional properties [Any type: allowed]
1.1.4.1.3.1.2.3. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > url > oneOf > item 2
Type object
Format ipv6
Additional properties [Any type: allowed]
1.1.4.1.3.1.3. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > name

Title: Executor name.

Type string

Description: This property indicates the executor name in the user interface.

1.1.4.1.3.1.4. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > value

Title: Executor value.

Type string

Description: This property indicates the executor unique identifier.

1.1.4.1.3.1.5. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > path

Title: Executor path.

Type string
Format uri-reference

Description: This property indicates the executor path relative to its URL.

1.1.4.1.3.1.6. Property Available services > languages > languages items > solvers > solvers items > executors > executors items > port

Title: Executor port.

Type number

Description: The application will use this port to communicate with the executor.

Restrictions
Minimum ≥ 0
Maximum ≤ 65535
1.1.4.1.4. Property Available services > languages > languages items > solvers > solvers items > options

Title: Solver option

Type array of object

Description: For each solver you can list the supported options. The user can choose the options they want to pass to the solver along with the code via the user interface.

Array restrictions
Min items 1
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
options items -
1.1.4.1.4.1. Available services > languages > languages items > solvers > solvers items > options > options items
Type object
Additional properties [Not allowed]
Property Pattern Type Title/Description
+ name No string Option name.
+ value No string Option value.
+ word_argument No boolean Word argument.
+ description No string Option description.
1.1.4.1.4.1.1. Property Available services > languages > languages items > solvers > solvers items > options > options items > name

Title: Option name.

Type string

Description: This property indicates the option name in the user interface.

1.1.4.1.4.1.2. Property Available services > languages > languages items > solvers > solvers items > options > options items > value

Title: Option value.

Type string

Description: This property indicates the unique identifier of the option that will be passed as a command line argument to the solver along with the user code to be executed.

1.1.4.1.4.1.3. Property Available services > languages > languages items > solvers > solvers items > options > options items > word_argument

Title: Word argument.

Type boolean

Description: This property indicates if this type of command line argument requires the second argument or it's just a word argument. For example, '-silent' option hasn't a word argument. Insteed '-filter=' has a word argument.

1.1.4.1.4.1.4. Property Available services > languages > languages items > solvers > solvers items > options > options items > description

Title: Option description.

Type string

Description: This property contains the description of the option.


Generated using json-schema-for-humans

Clone this wiki locally