@lichess-org/types 2.0.21 → 2.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lichess-api.d.ts +396 -65
  2. package/package.json +3 -3
package/lichess-api.d.ts CHANGED
@@ -726,6 +726,29 @@ export interface paths {
726
726
  patch?: never;
727
727
  trace?: never;
728
728
  };
729
+ "/api/games/export/bookmarks": {
730
+ parameters: {
731
+ query?: never;
732
+ header?: never;
733
+ path?: never;
734
+ cookie?: never;
735
+ };
736
+ /**
737
+ * Export your bookmarked games
738
+ * @description Download all games bookmarked by you, in PGN or [ndjson](#section/Introduction/Streaming-with-ND-JSON) format.
739
+ * Games are sorted by reverse chronological order (most recent first).
740
+ * We recommend streaming the response, for it can be very long.
741
+ *
742
+ */
743
+ get: operations["apiExportBookmarks"];
744
+ put?: never;
745
+ post?: never;
746
+ delete?: never;
747
+ options?: never;
748
+ head?: never;
749
+ patch?: never;
750
+ trace?: never;
751
+ };
729
752
  "/api/tv/channels": {
730
753
  parameters: {
731
754
  query?: never;
@@ -4294,6 +4317,134 @@ export interface components {
4294
4317
  * }
4295
4318
  * } */
4296
4319
  PerfStat: unknown;
4320
+ UserActivityScore: {
4321
+ win: number;
4322
+ loss: number;
4323
+ draw: number;
4324
+ rp: {
4325
+ before?: number;
4326
+ after?: number;
4327
+ };
4328
+ };
4329
+ /**
4330
+ * @default standard
4331
+ * @example standard
4332
+ * @enum {string}
4333
+ */
4334
+ VariantKey:
4335
+ | "standard"
4336
+ | "chess960"
4337
+ | "crazyhouse"
4338
+ | "antichess"
4339
+ | "atomic"
4340
+ | "horde"
4341
+ | "kingOfTheHill"
4342
+ | "racingKings"
4343
+ | "threeCheck"
4344
+ | "fromPosition";
4345
+ UserActivityCorrespondenceGame: {
4346
+ id: string;
4347
+ /** @enum {string} */
4348
+ color: "white" | "black";
4349
+ url: string;
4350
+ variant: components["schemas"]["VariantKey"];
4351
+ /** @constant */
4352
+ speed: "correspondence";
4353
+ /** @constant */
4354
+ perf: "correspondence";
4355
+ rated: boolean;
4356
+ opponent: {
4357
+ user: string;
4358
+ rating: number;
4359
+ };
4360
+ };
4361
+ UserActivityFollowList: {
4362
+ ids: string[];
4363
+ nb?: number;
4364
+ };
4365
+ UserActivity: {
4366
+ interval: {
4367
+ start: number;
4368
+ end: number;
4369
+ };
4370
+ games?: {
4371
+ chess960?: components["schemas"]["UserActivityScore"];
4372
+ atomic?: components["schemas"]["UserActivityScore"];
4373
+ racingKings?: components["schemas"]["UserActivityScore"];
4374
+ ultraBullet?: components["schemas"]["UserActivityScore"];
4375
+ blitz?: components["schemas"]["UserActivityScore"];
4376
+ kingOfTheHill?: components["schemas"]["UserActivityScore"];
4377
+ bullet?: components["schemas"]["UserActivityScore"];
4378
+ correspondence?: components["schemas"]["UserActivityScore"];
4379
+ horde?: components["schemas"]["UserActivityScore"];
4380
+ puzzle?: components["schemas"]["UserActivityScore"];
4381
+ classical?: components["schemas"]["UserActivityScore"];
4382
+ rapid?: components["schemas"]["UserActivityScore"];
4383
+ };
4384
+ puzzles?: {
4385
+ score?: components["schemas"]["UserActivityScore"];
4386
+ };
4387
+ storm?: {
4388
+ runs?: number;
4389
+ score?: number;
4390
+ };
4391
+ racer?: {
4392
+ runs?: number;
4393
+ score?: number;
4394
+ };
4395
+ streak?: {
4396
+ runs?: number;
4397
+ score?: number;
4398
+ };
4399
+ tournaments?: {
4400
+ nb?: number;
4401
+ best?: {
4402
+ tournament: {
4403
+ id: string;
4404
+ name: string;
4405
+ };
4406
+ nbGames: number;
4407
+ score: number;
4408
+ rank: number;
4409
+ rankPercent: number;
4410
+ }[];
4411
+ };
4412
+ practice?: {
4413
+ url: string;
4414
+ name: string;
4415
+ nbPositions: number;
4416
+ }[];
4417
+ simuls?: string[];
4418
+ correspondenceMoves?: {
4419
+ nb: number;
4420
+ games: components["schemas"]["UserActivityCorrespondenceGame"][];
4421
+ };
4422
+ correspondenceEnds?: {
4423
+ score: components["schemas"]["UserActivityScore"];
4424
+ games: components["schemas"]["UserActivityCorrespondenceGame"][];
4425
+ };
4426
+ follows?: {
4427
+ in?: components["schemas"]["UserActivityFollowList"];
4428
+ out?: components["schemas"]["UserActivityFollowList"];
4429
+ };
4430
+ studies?: Record<string, never>;
4431
+ teams?: {
4432
+ url: string;
4433
+ name: string;
4434
+ }[];
4435
+ posts?: {
4436
+ topicUrl: string;
4437
+ topicName: string;
4438
+ posts: {
4439
+ url: string;
4440
+ text: string;
4441
+ }[];
4442
+ }[];
4443
+ patron?: {
4444
+ months: number;
4445
+ };
4446
+ stream?: boolean;
4447
+ };
4297
4448
  /** @example {
4298
4449
  * "game": {
4299
4450
  * "clock": "3+0",
@@ -5019,23 +5170,7 @@ export interface components {
5019
5170
  *
5020
5171
  * 1. e4 { [%clk 0:03:00] } e5 { [%clk 0:03:00] } 2. Nf3 { [%clk 0:02:59] } Nc6 { [%clk 0:02:58] } 3. Bb5 { [%clk 0:02:57] } d6 { [%clk 0:02:55] } 4. h3 { [%clk 0:02:54] } Nf6 { [%clk 0:02:52] } 5. Bxc6+ { [%clk 0:02:52] } bxc6 { [%clk 0:02:49] } 6. d3 { [%clk 0:02:51] } Be7 { [%clk 0:02:46] } 7. O-O { [%clk 0:02:47] } O-O { [%clk 0:02:45] } 8. b3 { [%clk 0:02:45] } d5 { [%clk 0:02:45] } 9. exd5 { [%clk 0:02:33] } cxd5 { [%clk 0:02:40] } 10. Nxe5 { [%clk 0:02:31] } Qd6 { [%clk 0:02:38] } 1-0
5021
5172
  * */
5022
- GamePgn: unknown;
5023
- /**
5024
- * @default standard
5025
- * @example standard
5026
- * @enum {string}
5027
- */
5028
- VariantKey:
5029
- | "standard"
5030
- | "chess960"
5031
- | "crazyhouse"
5032
- | "antichess"
5033
- | "atomic"
5034
- | "horde"
5035
- | "kingOfTheHill"
5036
- | "racingKings"
5037
- | "threeCheck"
5038
- | "fromPosition";
5173
+ GamePgn: string;
5039
5174
  /** @enum {string} */
5040
5175
  Speed:
5041
5176
  | "ultraBullet"
@@ -5218,9 +5353,54 @@ export interface components {
5218
5353
  * "rating": 2288
5219
5354
  * }
5220
5355
  * }
5356
+ * },
5357
+ * {
5358
+ * "id": "A5fcMO3k",
5359
+ * "rated": true,
5360
+ * "variant": "standard",
5361
+ * "speed": "bullet",
5362
+ * "perf": "bullet",
5363
+ * "createdAt": 1525789431889,
5364
+ * "status": 31,
5365
+ * "statusName": "resign",
5366
+ * "clock": {
5367
+ * "initial": 60,
5368
+ * "increment": 0,
5369
+ * "totalTime": 60
5370
+ * },
5371
+ * "players": {
5372
+ * "white": {
5373
+ * "userId": "kastorcito",
5374
+ * "rating": 2617
5375
+ * },
5376
+ * "black": {
5377
+ * "userId": "er_or",
5378
+ * "rating": 2288
5379
+ * }
5380
+ * },
5381
+ * "winner": "white"
5221
5382
  * }
5222
5383
  * ] */
5223
5384
  GameStream: unknown;
5385
+ /** @enum {string} */
5386
+ GameSource:
5387
+ | "lobby"
5388
+ | "friend"
5389
+ | "ai"
5390
+ | "api"
5391
+ | "tournament"
5392
+ | "position"
5393
+ | "import"
5394
+ | "importlive"
5395
+ | "simul"
5396
+ | "relay"
5397
+ | "pool"
5398
+ | "swiss";
5399
+ Variant: {
5400
+ key?: components["schemas"]["VariantKey"];
5401
+ name?: string;
5402
+ short?: string;
5403
+ };
5224
5404
  /** @example [
5225
5405
  * {
5226
5406
  * "id": "LuGQwhBb",
@@ -5293,6 +5473,15 @@ export interface components {
5293
5473
  * }
5294
5474
  * ] */
5295
5475
  MoveStream: unknown;
5476
+ TvGame: {
5477
+ user: components["schemas"]["LightUser"] & {
5478
+ flair?: components["schemas"]["Flair"];
5479
+ };
5480
+ rating: number;
5481
+ gameId: string;
5482
+ /** @enum {string} */
5483
+ color: "white" | "black";
5484
+ };
5296
5485
  TvFeed: {
5297
5486
  /**
5298
5487
  * @description The type of message.
@@ -5339,11 +5528,6 @@ export interface components {
5339
5528
  limit?: number;
5340
5529
  increment?: number;
5341
5530
  };
5342
- Variant: {
5343
- key?: components["schemas"]["VariantKey"];
5344
- name?: string;
5345
- short?: string;
5346
- };
5347
5531
  /**
5348
5532
  * @description 10: created, 20: started, 30: finished
5349
5533
  *
@@ -5478,6 +5662,10 @@ export interface components {
5478
5662
  verdict: string;
5479
5663
  }[];
5480
5664
  };
5665
+ ArenaSheet: {
5666
+ scores: string;
5667
+ fire?: boolean;
5668
+ };
5481
5669
  ArenaPlayerPerformance: {
5482
5670
  name?: string;
5483
5671
  rank?: number;
@@ -5485,10 +5673,8 @@ export interface components {
5485
5673
  patron?: boolean;
5486
5674
  rating?: number;
5487
5675
  score?: number;
5488
- sheet?: {
5489
- scores?: string;
5490
- fire?: boolean;
5491
- };
5676
+ flair?: components["schemas"]["Flair"];
5677
+ sheet?: components["schemas"]["ArenaSheet"];
5492
5678
  nb?: {
5493
5679
  game?: number;
5494
5680
  beserk?: number;
@@ -6606,7 +6792,6 @@ export interface components {
6606
6792
  id: string;
6607
6793
  name: string;
6608
6794
  description?: string;
6609
- leader?: components["schemas"]["LightUser"];
6610
6795
  flair?: components["schemas"]["Flair"];
6611
6796
  leaders?: components["schemas"]["LightUser"][];
6612
6797
  nbMembers?: number;
@@ -6674,20 +6859,7 @@ export interface components {
6674
6859
  };
6675
6860
  GameEventInfo: {
6676
6861
  id?: string;
6677
- /** @enum {string} */
6678
- source?:
6679
- | "lobby"
6680
- | "friend"
6681
- | "ai"
6682
- | "api"
6683
- | "tournament"
6684
- | "position"
6685
- | "import"
6686
- | "importlive"
6687
- | "simul"
6688
- | "relay"
6689
- | "pool"
6690
- | "swiss";
6862
+ source?: components["schemas"]["GameSource"];
6691
6863
  status?: {
6692
6864
  /** @enum {integer} */
6693
6865
  id?: 10 | 20 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 60;
@@ -8151,7 +8323,7 @@ export interface operations {
8151
8323
  [name: string]: unknown;
8152
8324
  };
8153
8325
  content: {
8154
- "application/json": unknown;
8326
+ "application/json": components["schemas"]["UserActivity"];
8155
8327
  };
8156
8328
  };
8157
8329
  };
@@ -8893,7 +9065,37 @@ export interface operations {
8893
9065
  [name: string]: unknown;
8894
9066
  };
8895
9067
  content: {
8896
- "application/json": unknown;
9068
+ "application/json": {
9069
+ nowPlaying: {
9070
+ fullId: string;
9071
+ gameId: string;
9072
+ fen: string;
9073
+ /** @enum {string} */
9074
+ color: "white" | "black";
9075
+ lastMove: string;
9076
+ source: components["schemas"]["GameSource"];
9077
+ status?: components["schemas"]["GameStatus"];
9078
+ variant: components["schemas"]["Variant"];
9079
+ speed: components["schemas"]["Speed"];
9080
+ perf: components["schemas"]["PerfType"];
9081
+ rated: boolean;
9082
+ hasMoved: boolean;
9083
+ opponent: {
9084
+ id: string;
9085
+ username: string;
9086
+ rating?: number;
9087
+ ratingDiff?: number;
9088
+ ai?: number;
9089
+ };
9090
+ isMyTurn: boolean;
9091
+ secondsLeft: number;
9092
+ tournamentId?: string;
9093
+ swissId?: string;
9094
+ /** @enum {string} */
9095
+ winner?: "white" | "black";
9096
+ ratingDiff?: number;
9097
+ }[];
9098
+ };
8897
9099
  };
8898
9100
  };
8899
9101
  };
@@ -8981,6 +9183,72 @@ export interface operations {
8981
9183
  };
8982
9184
  };
8983
9185
  };
9186
+ apiExportBookmarks: {
9187
+ parameters: {
9188
+ query?: {
9189
+ /** @description Download games bookmarked since this timestamp. Defaults to account creation date. */
9190
+ since?: number;
9191
+ /** @description Download games bookmarked until this timestamp. Defaults to now. */
9192
+ until?: number;
9193
+ /** @description How many bookmarked games to download. Leave empty to download all bookmarked games. */
9194
+ max?: number;
9195
+ /** @description Include the PGN moves. */
9196
+ moves?: boolean;
9197
+ /** @description Include the full PGN within the JSON response, in a `pgn` field. The response type must be set to `application/x-ndjson` by the request `Accept` header. */
9198
+ pgnInJson?: boolean;
9199
+ /** @description Include the PGN tags. */
9200
+ tags?: boolean;
9201
+ /** @description Include clock status when available.
9202
+ * Either as PGN comments: `2. exd5 { [%clk 1:01:27] } e5 { [%clk 1:01:28] }`
9203
+ * Or in a `clocks` JSON field, as centisecond integers, depending on the response type.
9204
+ * */
9205
+ clocks?: boolean;
9206
+ /** @description Include analysis evaluations and comments, when available.
9207
+ * Either as PGN comments: `12. Bxf6 { [%eval 0.23] } a3 { [%eval -1.09] }`
9208
+ * Or in an `analysis` JSON field, depending on the response type.
9209
+ * */
9210
+ evals?: boolean;
9211
+ /** @description Include [accuracy percent](https://lichess.org/page/accuracy) of each player, when available. Only available in JSON.
9212
+ * */
9213
+ accuracy?: boolean;
9214
+ /** @description Include the opening name.
9215
+ * Example: `[Opening "King's Gambit Accepted, King's Knight Gambit"]`
9216
+ * */
9217
+ opening?: boolean;
9218
+ /** @description Plies which mark the beginning of the middlegame and endgame.
9219
+ * Only available in JSON
9220
+ * */
9221
+ division?: boolean;
9222
+ /** @description Insert textual annotations in the PGN about the opening, analysis variations, mistakes, and game termination.
9223
+ * Example: `5... g4? { (-0.98 → 0.60) Mistake. Best move was h6. } (5... h6 6. d4 Ne7 7. g3 d5 8. exd5 fxg3 9. hxg3 c6 10. dxc6)`
9224
+ * */
9225
+ literate?: boolean;
9226
+ /** @description Include the FEN notation of the last position of the game.
9227
+ * The response type must be set to `application/x-ndjson` by the request `Accept` header.
9228
+ * */
9229
+ lastFen?: boolean;
9230
+ /** @description Sort order of the bookmarks. */
9231
+ sort?: "dateAsc" | "dateDesc";
9232
+ };
9233
+ header?: never;
9234
+ path?: never;
9235
+ cookie?: never;
9236
+ };
9237
+ requestBody?: never;
9238
+ responses: {
9239
+ /** @description The bookmarked games of the user. */
9240
+ 200: {
9241
+ headers: {
9242
+ "Access-Control-Allow-Origin"?: string;
9243
+ [name: string]: unknown;
9244
+ };
9245
+ content: {
9246
+ "application/x-chess-pgn": components["schemas"]["GamePgn"];
9247
+ "application/x-ndjson": components["schemas"]["GameJson"];
9248
+ };
9249
+ };
9250
+ };
9251
+ };
8984
9252
  tvChannels: {
8985
9253
  parameters: {
8986
9254
  query?: never;
@@ -8997,7 +9265,24 @@ export interface operations {
8997
9265
  [name: string]: unknown;
8998
9266
  };
8999
9267
  content: {
9000
- "application/json": unknown;
9268
+ "application/json": {
9269
+ bot: components["schemas"]["TvGame"];
9270
+ blitz: components["schemas"]["TvGame"];
9271
+ racingKings: components["schemas"]["TvGame"];
9272
+ ultraBullet: components["schemas"]["TvGame"];
9273
+ bullet: components["schemas"]["TvGame"];
9274
+ classical: components["schemas"]["TvGame"];
9275
+ threeCheck: components["schemas"]["TvGame"];
9276
+ antichess: components["schemas"]["TvGame"];
9277
+ computer: components["schemas"]["TvGame"];
9278
+ horde: components["schemas"]["TvGame"];
9279
+ rapid: components["schemas"]["TvGame"];
9280
+ atomic: components["schemas"]["TvGame"];
9281
+ crazyhouse: components["schemas"]["TvGame"];
9282
+ chess960: components["schemas"]["TvGame"];
9283
+ kingOfTheHill: components["schemas"]["TvGame"];
9284
+ best: components["schemas"]["TvGame"];
9285
+ };
9001
9286
  };
9002
9287
  };
9003
9288
  };
@@ -9839,7 +10124,17 @@ export interface operations {
9839
10124
  [name: string]: unknown;
9840
10125
  };
9841
10126
  content: {
9842
- "application/x-ndjson": unknown;
10127
+ "application/x-ndjson": {
10128
+ rank: number;
10129
+ score: number;
10130
+ rating: number;
10131
+ username: string;
10132
+ performance: number;
10133
+ title?: components["schemas"]["Title"];
10134
+ team: string;
10135
+ flair?: components["schemas"]["Flair"];
10136
+ sheet?: components["schemas"]["ArenaSheet"];
10137
+ };
9843
10138
  };
9844
10139
  };
9845
10140
  };
@@ -9863,7 +10158,18 @@ export interface operations {
9863
10158
  [name: string]: unknown;
9864
10159
  };
9865
10160
  content: {
9866
- "application/json": unknown;
10161
+ "application/json": {
10162
+ id: string;
10163
+ teams: {
10164
+ rank: number;
10165
+ id: string;
10166
+ score: number;
10167
+ players: {
10168
+ user: components["schemas"]["LightUser"];
10169
+ score?: number;
10170
+ }[];
10171
+ }[];
10172
+ };
9867
10173
  };
9868
10174
  };
9869
10175
  };
@@ -10629,7 +10935,16 @@ export interface operations {
10629
10935
  [name: string]: unknown;
10630
10936
  };
10631
10937
  content: {
10632
- "application/x-ndjson": unknown;
10938
+ "application/x-ndjson": {
10939
+ absent?: boolean;
10940
+ rank: number;
10941
+ points: number;
10942
+ tieBreak: number;
10943
+ rating: number;
10944
+ username: string;
10945
+ title?: components["schemas"]["Title"];
10946
+ performance: number;
10947
+ };
10633
10948
  };
10634
10949
  };
10635
10950
  };
@@ -12062,27 +12377,38 @@ export interface operations {
12062
12377
  * @example true
12063
12378
  */
12064
12379
  rated?: boolean;
12065
- /**
12066
- * @description Clock initial time in minutes. Required for real-time seeks.
12067
- * @example 15
12068
- */
12069
- time?: number;
12070
- /**
12071
- * @description Clock increment in seconds. Required for real-time seeks.
12072
- * @example 15
12073
- */
12074
- increment?: number;
12075
- /**
12076
- * @description Days per turn. Required for correspondence seeks.
12077
- * @enum {integer}
12078
- */
12079
- days?: 1 | 2 | 3 | 5 | 7 | 10 | 14;
12080
12380
  variant?: components["schemas"]["VariantKey"];
12081
12381
  /** @description The rating range of potential opponents. Better left empty.
12082
12382
  * Example: 1500-1800
12083
12383
  * */
12084
12384
  ratingRange?: string;
12085
- };
12385
+ } & (
12386
+ | {
12387
+ /**
12388
+ * @description Clock initial time in minutes. Required for real-time seeks.
12389
+ * @example 15
12390
+ */
12391
+ time: number;
12392
+ /**
12393
+ * @description Clock increment in seconds. Required for real-time seeks.
12394
+ * @example 15
12395
+ */
12396
+ increment: number;
12397
+ /**
12398
+ * @description The color to play. Better left empty to automatically get 50% white.
12399
+ * @default random
12400
+ * @enum {string}
12401
+ */
12402
+ color?: "random" | "white" | "black";
12403
+ }
12404
+ | {
12405
+ /**
12406
+ * @description Days per turn. Required for correspondence seeks.
12407
+ * @enum {integer}
12408
+ */
12409
+ days: 1 | 2 | 3 | 5 | 7 | 10 | 14;
12410
+ }
12411
+ );
12086
12412
  };
12087
12413
  };
12088
12414
  responses: {
@@ -12093,7 +12419,10 @@ export interface operations {
12093
12419
  [name: string]: unknown;
12094
12420
  };
12095
12421
  content: {
12096
- "text/plain": unknown;
12422
+ "application/json": {
12423
+ id: string;
12424
+ };
12425
+ "application/x-ndjson": unknown;
12097
12426
  };
12098
12427
  };
12099
12428
  /** @description The creation of the seek failed. */
@@ -13509,7 +13838,9 @@ export interface operations {
13509
13838
  [name: string]: unknown;
13510
13839
  };
13511
13840
  content: {
13512
- "application/json": unknown;
13841
+ "application/json": {
13842
+ [key: string]: string;
13843
+ };
13513
13844
  };
13514
13845
  };
13515
13846
  /** @description The creation of the tokens failed. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lichess-org/types",
3
- "version": "2.0.21",
3
+ "version": "2.0.23",
4
4
  "description": "Lichess.org API types",
5
5
  "homepage": "https://github.com/lichess-org/api",
6
6
  "license": "AGPL-3.0-or-later",
@@ -11,9 +11,9 @@
11
11
  "gen": "openapi-typescript ../doc/specs/lichess-api.yaml -o lichess-api.d.ts --default-non-nullable=false"
12
12
  },
13
13
  "devDependencies": {
14
- "openapi-typescript": "^7.4.4",
14
+ "openapi-typescript": "^7.6.0",
15
15
  "prettier": "^3.4.2",
16
- "typescript": "^5.7.2"
16
+ "typescript": "^5.7.3"
17
17
  },
18
18
  "packageManager": "pnpm@9.14.2+sha512.6e2baf77d06b9362294152c851c4f278ede37ab1eba3a55fda317a4a17b209f4dbb973fb250a77abc463a341fcb1f17f17cfa24091c4eb319cda0d9b84278387"
19
19
  }