Skip to content
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
4 changes: 4 additions & 0 deletions doc/specs/examples/puzzles-createAndJoinPuzzleRace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"id": "aU5t3",
"url": "https://lichess.org/racer/aU5t3"
}
34 changes: 34 additions & 0 deletions doc/specs/examples/puzzles-getDailyPuzzle.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"game": {
"id": "HcVUWf38",
"perf": {
"key": "rapid",
"name": "Rapid"
},
"rated": true,
"players": [
{
"name": "ajdin_derlic",
"id": "ajdin_derlic",
"color": "white",
"rating": 1908
},
{
"name": "magnusrex",
"id": "magnusrex",
"color": "black",
"rating": 1843
}
],
"pgn": "e4 d5 exd5 Nf6 c4 e6 dxe6 Bxe6 Nc3 Nc6 Nf3 Bc5 h3 Qe7 Be2 Bxc4 O-O O-O-O Bxc4 Nd4 Nxd4 Rxd4 Bb3 g5 Re1 Qd7 Bc2 g4 hxg4 Nxg4 Re4",
"clock": "5+5"
},
"puzzle": {
"id": "OT8q6",
"rating": 1837,
"plays": 105506,
"solution": ["g4f2", "d1h5", "f2e4"],
"themes": ["middlegame", "short", "advantage"],
"initialPly": 30
}
}
34 changes: 34 additions & 0 deletions doc/specs/examples/puzzles-getNewPuzzle.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"game": {
"id": "HCQantrf",
"perf": {
"key": "bullet",
"name": "Bullet"
},
"rated": true,
"players": [
{
"name": "AB123456",
"id": "ab123456",
"color": "white",
"rating": 1998
},
{
"name": "taha_arowana",
"id": "taha_arowana",
"color": "black",
"rating": 1935
}
],
"pgn": "d4 Nf6 c4 e6 Nf3 Be7 Nc3 O-O g3 b6 Bg2 Bb7 O-O c6 Qc2 d5 Bg5 Nbd7 cxd5 Nxd5 Bxe7 Nxe7 Ng5 Ng6 h4 Rc8 Rac1 h6 Nge4 Nxh4 gxh4 Qxh4 Ng3 f5 Qb3 Rf6 e4 f4 e5 Rg6 Nce4 fxg3 fxg3 Qe7 Nd6 Rb8 Nxb7 Rxb7 Bxc6 Rb8 Be4 Rg5 Qf3 Rf8 Qe3 Rg4 Kg2 Qh4 Bb1 Qe7 Rxf8+ Nxf8 Rf1 h5 Qd3 h4",
"clock": "2+1"
},
"puzzle": {
"id": "oH5Ar",
"rating": 1756,
"plays": 11281,
"solution": ["f1f8", "g8f8", "d3f3", "f8e8", "f3g4"],
"themes": ["endgame", "crushing", "attraction", "fork", "long", "sacrifice"],
"initialPly": 65
}
}
38 changes: 38 additions & 0 deletions doc/specs/examples/puzzles-getPuzzleById.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"game": {
"id": "AHGPPS44",
"perf": {
"key": "blitz",
"name": "Blitz"
},
"rated": true,
"players": [
{
"name": "EricRosen",
"title": "IM",
"flair": "travel-places.ambulance",
"patron": true,
"id": "ericrosen",
"color": "white",
"rating": 2642
},
{
"name": "Anton_Volovikov",
"title": "FM",
"id": "anton_volovikov",
"color": "black",
"rating": 2619
}
],
"pgn": "d4 d5 Bf4 Bf5 Nf3 e6 c4 Nf6 Nc3 Bd6 Bg3 Nbd7 e3 O-O c5 Bxg3 hxg3 h6 Bd3 Ne4 Qc2 Ndf6 Nd2 Nxc3 Bxf5 exf5 bxc3 Ne4 Nxe4 fxe4 Rb1 b6 Rh5 bxc5 Rb5 cxd4 cxd4 c6 Qxc6 Rc8 Qxd5 Qf6 Qxe4 Rc1+ Ke2 Qa6 Qd5 Rc2+ Kf3 g6 Rxh6 Qf6+ Ke4",
"clock": "3+0"
},
"puzzle": {
"id": "PSjmf",
"rating": 2708,
"plays": 674,
"solution": ["g8g7", "d5e5", "f6e5"],
"themes": ["endgame", "master", "short", "masterVsMaster", "crushing"],
"initialPly": 52
}
}
13 changes: 13 additions & 0 deletions doc/specs/examples/puzzles-getPuzzlesToReplay.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"replay": {
"days": 90,
"theme": "mix",
"nb": 6,
"remaining": ["0e7Q3", "1EFXE", "C3VR4", "0UIdY", "E27v9", "3rPs6"]
},
"angle": {
"key": "mix",
"name": "Puzzle Themes",
"desc": "A mix of everything. You don't know what to expect, so you remain ready for anything! Just like in real games."
}
}
40 changes: 40 additions & 0 deletions doc/specs/examples/puzzles-getStormDashboardOfPlayer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"high": {
"day": 0,
"week": 0,
"month": 0,
"allTime": 33
},
"days": [
{
"_id": "2025/2/8",
"moves": 1,
"errors": 0,
"highest": 1020,
"score": 1,
"runs": 1,
"combo": 1,
"time": 180
},
{
"_id": "2025/1/23",
"moves": 35,
"errors": 3,
"highest": 1314,
"score": 17,
"runs": 1,
"combo": 17,
"time": 164
},
{
"_id": "2024/12/11",
"moves": 41,
"errors": 6,
"highest": 1315,
"score": 16,
"runs": 1,
"combo": 20,
"time": 141
}
]
}
13 changes: 13 additions & 0 deletions doc/specs/examples/puzzles-getYourPuzzleActivity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"date": 1745994457811,
"win": true,
"puzzle": {
"id": "74O1b",
"rating": 1362,
"plays": 28182,
"solution": ["e4e3", "h6g6", "g8g6"],
"themes": ["middlegame", "short", "advantage"],
"fen": "6rk/p3p2p/5pbQ/1B6/Pn1Pp3/1Pq5/2P2PP1/1KR4R b - - 1 1",
"lastMove": "d1c1"
}
}
102 changes: 102 additions & 0 deletions doc/specs/examples/puzzles-getYourPuzzleDashboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"days": 30,
"global": {
"nb": 10,
"firstWins": 4,
"replayWins": 0,
"puzzleRatingAvg": 1604,
"performance": 1504
},
"themes": {
"middlegame": {
"theme": "Middlegame",
"results": {
"nb": 7,
"firstWins": 3,
"replayWins": 0,
"puzzleRatingAvg": 1669,
"performance": 1598
}
},
"endgame": {
"theme": "Endgame",
"results": {
"nb": 3,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 1452,
"performance": 1285
}
},
"defensiveMove": {
"theme": "Defensive move",
"results": {
"nb": 3,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 1960,
"performance": 1793
}
},
"exposedKing": {
"theme": "Exposed king",
"results": {
"nb": 1,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 1958,
"performance": 2458
}
},
"hangingPiece": {
"theme": "Hanging piece",
"results": {
"nb": 1,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 1958,
"performance": 2458
}
},
"quietMove": {
"theme": "Quiet move",
"results": {
"nb": 1,
"firstWins": 0,
"replayWins": 0,
"puzzleRatingAvg": 1949,
"performance": 1449
}
},
"fork": {
"theme": "Fork",
"results": {
"nb": 1,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 907,
"performance": 1407
}
},
"capturingDefender": {
"theme": "Capture the defender",
"results": {
"nb": 1,
"firstWins": 1,
"replayWins": 0,
"puzzleRatingAvg": 1036,
"performance": 1536
}
},
"discoveredAttack": {
"theme": "Discovered attack",
"results": {
"nb": 1,
"firstWins": 0,
"replayWins": 0,
"puzzleRatingAvg": 1500,
"performance": 1000
}
}
}
}
16 changes: 0 additions & 16 deletions doc/specs/schemas/PuzzleActivity.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,3 @@ required:
- date
- puzzle
- win

example:
{
"date": 1717460624888,
"puzzle":
{
"fen": "6k1/3rqpp1/5b1p/p1p1pP1Q/1pB4P/1P1R1PP1/P7/6K1 w - - 1 1",
"id": "BlOLL",
"lastMove": "c7d7",
"plays": 14703,
"rating": 2018,
"solution": ["h5f7", "e7f7", "d3d7", "f7c4", "b3c4"],
"themes": ["endgame", "crushing", "long", "sacrifice", "pin"],
},
"win": true,
}
34 changes: 0 additions & 34 deletions doc/specs/schemas/PuzzleAndGame.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,37 +87,3 @@ properties:
required:
- game
- puzzle

example:
{
"game":
{
"clock": "3+0",
"id": "AHGPPS44",
"perf": { "key": "blitz", "name": "Blitz" },
"pgn": "d4 d5 Bf4 Bf5 Nf3 e6 c4 Nf6 Nc3 Bd6 Bg3 Nbd7 e3 O-O c5 Bxg3 hxg3 h6 Bd3 Ne4 Qc2 Ndf6 Nd2 Nxc3 Bxf5 exf5 bxc3 Ne4 Nxe4 fxe4 Rb1 b6 Rh5 bxc5 Rb5 cxd4 cxd4 c6 Qxc6 Rc8 Qxd5 Qf6 Qxe4 Rc1+ Ke2 Qa6 Qd5 Rc2+ Kf3 g6 Rxh6 Qf6+ Ke4",
"players":
[
{
"color": "white",
"flair": "travel-places.ambulance",
"id": "ericrosen",
"name": "EricRosen",
"patron": true,
"rating": 2642,
"title": "IM",
},
{ "color": "black", "id": "anton_volovikov", "name": "Anton_Volovikov", "rating": 2619, "title": "FM" },
],
"rated": true,
},
"puzzle":
{
"id": "PSjmf",
"initialPly": 52,
"plays": 566,
"rating": 2705,
"solution": ["g8g7", "d5e5", "f6e5"],
"themes": ["endgame", "master", "short", "masterVsMaster", "crushing"],
},
}
29 changes: 0 additions & 29 deletions doc/specs/schemas/PuzzleDashboard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,3 @@ required:
- days
- global
- themes

example:
{
"days": 30,
"global": { "firstWins": 1, "nb": 2, "performance": 2032, "puzzleRatingAvg": 2032, "replayWins": 0 },
"themes":
{
"defensiveMove":
{
"results": { "firstWins": 0, "nb": 1, "performance": 1547, "puzzleRatingAvg": 2047, "replayWins": 0 },
"theme": "Defensive move",
},
"endgame":
{
"results": { "firstWins": 1, "nb": 2, "performance": 2032, "puzzleRatingAvg": 2032, "replayWins": 0 },
"theme": "Endgame",
},
"pin":
{
"results": { "firstWins": 1, "nb": 1, "performance": 2518, "puzzleRatingAvg": 2018, "replayWins": 0 },
"theme": "Pin",
},
"sacrifice":
{
"results": { "firstWins": 1, "nb": 1, "performance": 2518, "puzzleRatingAvg": 2018, "replayWins": 0 },
"theme": "Sacrifice",
},
},
}
2 changes: 0 additions & 2 deletions doc/specs/schemas/PuzzleRacer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,3 @@ properties:
required:
- id
- url

example: { "id": "MT4hr", "url": "https://lichess.org/racer/MT4hr" }
6 changes: 0 additions & 6 deletions doc/specs/schemas/PuzzleReplay.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,3 @@ properties:
required:
- replay
- angle

example:
{
"replay": { "days": 30, "theme": "opening", "nb": 2, "remaining": ["M5KzH", "prIYT"] },
"angle": { "key": "opening", "name": "Opening", "desc": "A tactic during the first phase of the game." },
}
Loading