diff --git a/doc/specs/schemas/GamePlayerAi.yaml b/doc/specs/schemas/GamePlayerAi.yaml new file mode 100644 index 00000000..e855f1d9 --- /dev/null +++ b/doc/specs/schemas/GamePlayerAi.yaml @@ -0,0 +1,26 @@ +type: object + +description: | + One side of a game played by the Stockfish AI. AI sides carry the + strength level instead of `user` and `rating`. + +properties: + aiLevel: + type: integer + analysis: + type: object + properties: + inaccuracy: + type: integer + mistake: + type: integer + blunder: + type: integer + acpl: + type: integer + accuracy: + type: integer + required: [inaccuracy, mistake, blunder, acpl] + +required: + - aiLevel diff --git a/doc/specs/schemas/GamePlayerUser.yaml b/doc/specs/schemas/GamePlayerUser.yaml index 17724a90..6439ba12 100644 --- a/doc/specs/schemas/GamePlayerUser.yaml +++ b/doc/specs/schemas/GamePlayerUser.yaml @@ -11,8 +11,6 @@ properties: type: string provisional: type: boolean - aiLevel: - type: integer analysis: type: object properties: diff --git a/doc/specs/schemas/GamePlayers.yaml b/doc/specs/schemas/GamePlayers.yaml index b4248c8e..057df6b5 100644 --- a/doc/specs/schemas/GamePlayers.yaml +++ b/doc/specs/schemas/GamePlayers.yaml @@ -2,9 +2,13 @@ type: object properties: white: - $ref: "./GamePlayerUser.yaml" + oneOf: + - $ref: "./GamePlayerUser.yaml" + - $ref: "./GamePlayerAi.yaml" black: - $ref: "./GamePlayerUser.yaml" + oneOf: + - $ref: "./GamePlayerUser.yaml" + - $ref: "./GamePlayerAi.yaml" required: - white diff --git a/doc/specs/schemas/_index.yaml b/doc/specs/schemas/_index.yaml index 9ad990dd..b22d3459 100644 --- a/doc/specs/schemas/_index.yaml +++ b/doc/specs/schemas/_index.yaml @@ -55,6 +55,9 @@ BulkPairing: GamePlayerUser: $ref: "./GamePlayerUser.yaml" +GamePlayerAi: + $ref: "./GamePlayerAi.yaml" + GameJson: $ref: "./GameJson.yaml"