js-chess-engine 2.3.7 → 2.4.0

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.
package/README.md CHANGED
@@ -47,9 +47,11 @@ const game = new Game()
47
47
 
48
48
  ## Examples
49
49
 
50
- **js-chess-engine-app** - React application example with js-chess-engine REST API backend (without persistent storage) - [GitHub](https://github.com/josefjadrny/js-chess-engine-app) or [LIVE DEMO](http://chess.josefjadrny.info/)
50
+ Two full example applications are available:
51
51
 
52
- **Note:** Additional examples for v2 (server, console, AI match) will be added in a future release.
52
+ **--> Server** [js-chess-engine-app](https://github.com/josefjadrny/js-chess-engine-app) React + Node.js REST API, engine runs on the server [LIVE DEMO](http://chess.josefjadrny.info/)
53
+
54
+ **->> Browser** — [js-chess-engine-fe-app](https://github.com/josefjadrny/js-chess-engine-fe-app) — Pure frontend React app, engine runs entirely in the browser, no server needed — [LIVE DEMO](http://chess-fe.josefjadrny.info/)
53
55
 
54
56
  ## Documentation
55
57
 
@@ -199,7 +201,8 @@ Params:
199
201
  - `level` number (_optional_) - AI difficulty level (1-5). See [Computer AI](#computer-ai) section. Default: `3`
200
202
  - `play` boolean (_optional_) - Whether to apply the move to the game. Default: `true`. If `false`, returns the move without modifying the game state, and `board` will contain the current state (before the move).
201
203
  - `analysis` boolean (_optional_) - If `true`, also returns an `analysis` payload containing all root legal moves scored by the engine's search (sorted best → worst). Default: `false`.
202
- - `ttSizeMB` number (_optional_) - Transposition table size in MB (0 to disable, 0.25-256). Default: **auto-scaled by AI level**. See [Auto-Scaling Transposition Table](#transposition-table) for details.
204
+ - `ttSizeMB` number (_optional_) - Transposition table size in MB (0 to disable, min 0.25 MB). Default: **auto-scaled by AI level**. See [Auto-Scaling Transposition Table](#transposition-table) for details.
205
+ - `randomness` number (_optional_) - Centipawns of random noise added to each move's score, causing the engine to occasionally prefer moves with nearly equal scores. Makes games less predictable without significantly degrading play quality. Default: `30`. Set to `0` for fully deterministic play. Reference values: `10` very subtle · `30` default · `80` noticeable · `200` chaotic.
203
206
  - `depth` object (_optional_) - Override AI search depth parameters. Omitted fields fall back to the level's defaults (see [Computer AI](#computer-ai) table).
204
207
  - `base` number (_optional_) - Base search depth. Integer > 0.
205
208
  - `extended` number (_optional_) - Max adaptive extension depth. Integer 0-3.
@@ -249,6 +252,11 @@ const result7 = game.ai({ level: 3, depth: { base: 5 } })
249
252
 
250
253
  // Full depth control: deep search, no extensions, no quiescence
251
254
  const result8 = game.ai({ level: 1, depth: { base: 4, extended: 0, check: false, quiescence: 0 } })
255
+
256
+ // Randomness: vary move selection among nearly-equal scoring moves (default: 30)
257
+ const result9 = game.ai({ level: 3 }) // default 30cp noise — slight variety
258
+ const result10 = game.ai({ level: 3, randomness: 0 }) // fully deterministic
259
+ const result11 = game.ai({ level: 3, randomness: 80 }) // noticeable variety, casual play
252
260
  ```
253
261
 
254
262
  **getHistory**
@@ -445,6 +453,10 @@ console.log(result2.nodesSearched)
445
453
 
446
454
  // Custom depth overrides
447
455
  const result3 = ai(fen, { level: 3, depth: { base: 5, quiescence: 3 } })
456
+
457
+ // Randomness: slight variety by default, or disable for deterministic play
458
+ const result4 = ai(fen, { level: 3 }) // default 30cp noise
459
+ const result5 = ai(fen, { level: 3, randomness: 0 }) // fully deterministic
448
460
  ```
449
461
 
450
462
  ### Board Configuration
@@ -28,7 +28,7 @@ export declare class AIEngine {
28
28
  *
29
29
  * @param board - Current board state
30
30
  * @param level - AI difficulty level (1-5, default 3)
31
- * @param ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256 MB, auto-scaled by level)
31
+ * @param ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB, auto-scaled by level)
32
32
  * @returns Best move found by the AI
33
33
  */
34
34
  findBestMove(board: InternalBoard, level?: AILevel, ttSizeMB?: number, depth?: {
@@ -36,7 +36,7 @@ export declare class AIEngine {
36
36
  extended?: number;
37
37
  check?: boolean;
38
38
  quiescence?: number;
39
- }): InternalMove | null;
39
+ }, randomness?: number): InternalMove | null;
40
40
  /**
41
41
  * Find the best move, including optional analysis (root move scores).
42
42
  *
@@ -52,6 +52,7 @@ export declare class AIEngine {
52
52
  quiescence?: number;
53
53
  };
54
54
  analysis?: boolean;
55
+ randomness?: number;
55
56
  }): SearchResult | null;
56
57
  /**
57
58
  * Get the search depth for a given AI level
@@ -1 +1 @@
1
- {"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D;;;GAGG;AACH,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAkBD;;;GAGG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAc;;IAMnC;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,GAAE,OAAW,EAAE,QAAQ,GAAE,MAAW,EAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,GAAG,IAAI;IAKtL;;;;OAIG;IACH,oBAAoB,CAChB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;KACjB,GACP,YAAY,GAAG,IAAI;IA2BtB;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW;IAIjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;CA+B3B"}
1
+ {"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK1D;;;GAGG;AACH,UAAU,WAAW;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAkBD;;;GAGG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAc;;IAMnC;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,GAAE,OAAW,EAAE,QAAQ,GAAE,MAAW,EAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAK3M;;;;OAIG;IACH,oBAAoB,CAChB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KAClB,GACP,YAAY,GAAG,IAAI;IA4BtB;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW;IAIjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;CA+B3B"}
@@ -39,11 +39,11 @@ class AIEngine {
39
39
  *
40
40
  * @param board - Current board state
41
41
  * @param level - AI difficulty level (1-5, default 3)
42
- * @param ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256 MB, auto-scaled by level)
42
+ * @param ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB, auto-scaled by level)
43
43
  * @returns Best move found by the AI
44
44
  */
45
- findBestMove(board, level = 3, ttSizeMB = 16, depth) {
46
- const result = this.findBestMoveDetailed(board, { level, ttSizeMB, depth, analysis: false });
45
+ findBestMove(board, level = 3, ttSizeMB = 16, depth, randomness) {
46
+ const result = this.findBestMoveDetailed(board, { level, ttSizeMB, depth, analysis: false, randomness });
47
47
  return result ? result.move : null;
48
48
  }
49
49
  /**
@@ -71,6 +71,7 @@ class AIEngine {
71
71
  // Perform search
72
72
  return this.search.findBestMove(board, effectiveDepth, qMaxDepth, checkExtension, {
73
73
  analysis: options.analysis ?? false,
74
+ randomness: options.randomness ?? 30,
74
75
  });
75
76
  }
76
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../../src/ai/AIEngine.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@ const V = {
20
20
  [types_1.Piece.BLACK_PAWN]: 100,
21
21
  [types_1.Piece.WHITE_KNIGHT]: 320,
22
22
  [types_1.Piece.BLACK_KNIGHT]: 320,
23
- [types_1.Piece.WHITE_BISHOP]: 330,
24
- [types_1.Piece.BLACK_BISHOP]: 330,
23
+ [types_1.Piece.WHITE_BISHOP]: 320,
24
+ [types_1.Piece.BLACK_BISHOP]: 320,
25
25
  [types_1.Piece.WHITE_ROOK]: 500,
26
26
  [types_1.Piece.BLACK_ROOK]: 500,
27
27
  [types_1.Piece.WHITE_QUEEN]: 900,
@@ -16,8 +16,8 @@ const PIECE_VALUE = {
16
16
  [types_1.Piece.BLACK_PAWN]: 100,
17
17
  [types_1.Piece.WHITE_KNIGHT]: 320,
18
18
  [types_1.Piece.BLACK_KNIGHT]: 320,
19
- [types_1.Piece.WHITE_BISHOP]: 330,
20
- [types_1.Piece.BLACK_BISHOP]: 330,
19
+ [types_1.Piece.WHITE_BISHOP]: 320,
20
+ [types_1.Piece.BLACK_BISHOP]: 320,
21
21
  [types_1.Piece.WHITE_ROOK]: 500,
22
22
  [types_1.Piece.BLACK_ROOK]: 500,
23
23
  [types_1.Piece.WHITE_QUEEN]: 900,
@@ -18,6 +18,7 @@ export declare class Search {
18
18
  clear(): void;
19
19
  findBestMove(board: InternalBoard, baseDepth: number, qMaxDepth?: number, checkExtension?: boolean, options?: {
20
20
  analysis?: boolean;
21
+ randomness?: number;
21
22
  }): SearchResult | null;
22
23
  private negamax;
23
24
  private quiescence;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GACrC,YAAY,GAAG,IAAI;IA8HtB,OAAO,CAAC,OAAO;IAiGf,OAAO,CAAC,UAAU;IAoElB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAgD,MAAM,UAAU,CAAC;AAMvF,OAAO,EAAS,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOxD,qBAAa,MAAM;IACf,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAc;gBAErB,QAAQ,GAAE,MAAW;IAKjC,KAAK,IAAI,IAAI;IAKb,YAAY,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAU,EACrB,cAAc,GAAE,OAAc,EAC9B,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC1D,YAAY,GAAG,IAAI;IAqItB,OAAO,CAAC,OAAO;IAiGf,OAAO,CAAC,UAAU;IAoElB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAUxB"}
package/dist/ai/Search.js CHANGED
@@ -40,6 +40,7 @@ class Search {
40
40
  this.transpositionTable?.newSearch();
41
41
  this.killerMoves.clear();
42
42
  const analysis = options.analysis ?? false;
43
+ const randomness = options.randomness ?? 0;
43
44
  const moves = (0, MoveGenerator_1.generateLegalMoves)(board);
44
45
  if (moves.length === 0) {
45
46
  const inCheck = (0, AttackDetector_1.isKingInCheck)(board);
@@ -65,6 +66,7 @@ class Search {
65
66
  // Aspiration retry loop
66
67
  let iterBestMove = null;
67
68
  let iterBestScore = Evaluator_1.SCORE_MIN;
69
+ let iterRawBestScore = Evaluator_1.SCORE_MIN;
68
70
  let iterScoredMoves = null;
69
71
  while (true) {
70
72
  const pvMove = this.transpositionTable?.getBestMove(board.zobristHash) ?? null;
@@ -99,11 +101,15 @@ class Search {
99
101
  }
100
102
  }
101
103
  moveIndex++;
104
+ const noisyScore = randomness > 0
105
+ ? (score + Math.round(Math.random() * 2 * randomness - randomness))
106
+ : score;
102
107
  if (iterScoredMoves) {
103
- iterScoredMoves.push({ move, score });
108
+ iterScoredMoves.push({ move, score: noisyScore });
104
109
  }
105
- if (score > iterBestScore || iterBestMove === null) {
106
- iterBestScore = score;
110
+ if (noisyScore > iterBestScore || iterBestMove === null) {
111
+ iterBestScore = noisyScore;
112
+ iterRawBestScore = score;
107
113
  iterBestMove = move;
108
114
  }
109
115
  if (score > iterAlpha)
@@ -111,15 +117,15 @@ class Search {
111
117
  if (iterAlpha >= beta)
112
118
  break;
113
119
  }
114
- // Check aspiration window result
120
+ // Check aspiration window result (use raw score to avoid noise-induced misfires)
115
121
  if (d >= 4 && (alpha > Evaluator_1.SCORE_MIN || beta < Evaluator_1.SCORE_MAX)) {
116
- if (iterBestScore <= alpha) {
122
+ if (iterRawBestScore <= alpha) {
117
123
  // Fail low - widen alpha
118
124
  delta *= 2;
119
125
  alpha = (delta > 400) ? Evaluator_1.SCORE_MIN : Math.max(Evaluator_1.SCORE_MIN, alpha - delta);
120
126
  continue;
121
127
  }
122
- if (iterBestScore >= beta) {
128
+ if (iterRawBestScore >= beta) {
123
129
  // Fail high - widen beta
124
130
  delta *= 2;
125
131
  beta = (delta > 400) ? Evaluator_1.SCORE_MAX : Math.min(Evaluator_1.SCORE_MAX, beta + delta);
@@ -130,7 +136,7 @@ class Search {
130
136
  }
131
137
  if (iterBestMove) {
132
138
  bestMove = iterBestMove;
133
- bestScore = iterBestScore;
139
+ bestScore = iterRawBestScore;
134
140
  }
135
141
  if (iterScoredMoves) {
136
142
  iterScoredMoves.sort((a, b) => b.score - a.score);
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../src/ai/Search.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -84,7 +84,18 @@ export declare class Game {
84
84
  * @param options - Optional configuration object
85
85
  * @param options.level - AI difficulty level (1-5, default: 3). Values > 5 are clamped to 5.
86
86
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
87
- * @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
87
+ * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
88
+ * @param options.randomness - Centipawns of random noise added to each move's score at the
89
+ * root level, causing the engine to occasionally prefer moves with nearly equal scores.
90
+ * Makes the engine less predictable without significantly degrading play quality.
91
+ * Default: 30 (subtle variation). Set to 0 to disable.
92
+ *
93
+ * Reference values:
94
+ * 0 – fully deterministic (same position always plays the same move)
95
+ * 10 – very subtle (only nearly-identical moves ever swap)
96
+ * 30 – default (slight variety; moves within ~½ pawn of best may vary)
97
+ * 80 – noticeable (moves within ~1½ pawns of best may vary; fun casual play)
98
+ * 200 – chaotic (may play obviously weaker moves; not recommended)
88
99
  * @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
89
100
  */
90
101
  ai(options?: {
@@ -98,6 +109,7 @@ export declare class Game {
98
109
  quiescence?: number;
99
110
  };
100
111
  analysis?: boolean;
112
+ randomness?: number;
101
113
  }): AIResult;
102
114
  private updateConfigStatusFromBoard;
103
115
  }
@@ -147,7 +159,7 @@ export declare function aiMove(config: BoardConfig | string, level?: number): Hi
147
159
  * @param options - Optional configuration object
148
160
  * @param options.level - AI difficulty level (1-5, default: 3)
149
161
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
150
- * @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
162
+ * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
151
163
  * @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
152
164
  */
153
165
  export declare function ai(config: BoardConfig | string, options?: {
@@ -161,5 +173,6 @@ export declare function ai(config: BoardConfig | string, options?: {
161
173
  quiescence?: number;
162
174
  };
163
175
  analysis?: boolean;
176
+ randomness?: number;
164
177
  }): AIResult;
165
178
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,QAAQ,EAER,WAAW,EACX,YAAY,EACZ,QAAQ,EACX,MAAM,SAAS,CAAC;AAmBjB,cAAc,SAAS,CAAC;AAExB;;GAEG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAW;IAE3B;;;;OAIG;gBACS,aAAa,CAAC,EAAE,WAAW,GAAG,MAAM;IAgBhD;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW;IAyB3C;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ;IAa9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAOlD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMjC;;;;OAIG;IACH,UAAU,IAAI,KAAK,CAAC,WAAW,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IA4BzD;;;;OAIG;IACH,UAAU,IAAI,WAAW;IAMzB;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,cAAc,IAAI,IAAI;IAqBtB;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,GAAE,MAAU,GAAG,YAAY;IA6BvC;;;;;;;;OAQG;IACH,EAAE,CAAC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,QAAQ;IAoFzL,OAAO,CAAC,2BAA2B;CActC;AA0BD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAG5D;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAGhE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAG3D;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAGxF;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,YAAY,CAGpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,EAAE,CACd,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5K,QAAQ,CAGV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -227,7 +227,18 @@ class Game {
227
227
  * @param options - Optional configuration object
228
228
  * @param options.level - AI difficulty level (1-5, default: 3). Values > 5 are clamped to 5.
229
229
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
230
- * @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
230
+ * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
231
+ * @param options.randomness - Centipawns of random noise added to each move's score at the
232
+ * root level, causing the engine to occasionally prefer moves with nearly equal scores.
233
+ * Makes the engine less predictable without significantly degrading play quality.
234
+ * Default: 30 (subtle variation). Set to 0 to disable.
235
+ *
236
+ * Reference values:
237
+ * 0 – fully deterministic (same position always plays the same move)
238
+ * 10 – very subtle (only nearly-identical moves ever swap)
239
+ * 30 – default (slight variety; moves within ~½ pawn of best may vary)
240
+ * 80 – noticeable (moves within ~1½ pawns of best may vary; fun casual play)
241
+ * 200 – chaotic (may play obviously weaker moves; not recommended)
231
242
  * @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
232
243
  */
233
244
  ai(options = {}) {
@@ -235,10 +246,10 @@ class Game {
235
246
  const level = Math.max(1, Math.min(5, requestedLevel));
236
247
  const play = options.play ?? true;
237
248
  const analysis = options.analysis ?? false;
238
- // Allow 0 to disable TT, or 0.25-256 MB range
249
+ // Allow 0 to disable TT, or >= 0.25 MB
239
250
  // Default: auto-scaled by AI level (lower levels use less memory, higher levels use more)
240
251
  const defaultSize = (0, TranspositionTable_1.getRecommendedTTSize)(level);
241
- const ttSizeMB = options.ttSizeMB === 0 ? 0 : Math.max(0.25, Math.min(256, options.ttSizeMB ?? defaultSize));
252
+ const ttSizeMB = options.ttSizeMB === 0 ? 0 : Math.max(0.25, options.ttSizeMB ?? defaultSize);
242
253
  // Validate level (requested value)
243
254
  if (requestedLevel < 1 || requestedLevel > 5) {
244
255
  throw new Error('AI level must be between 1 and 5');
@@ -259,11 +270,17 @@ class Game {
259
270
  throw new Error('depth.check must be a boolean');
260
271
  }
261
272
  }
273
+ // Validate randomness
274
+ if (options.randomness !== undefined) {
275
+ if (typeof options.randomness !== 'number' || !isFinite(options.randomness) || options.randomness < 0) {
276
+ throw new Error('randomness must be a non-negative number');
277
+ }
278
+ }
262
279
  // Find best move (optionally with analysis)
263
280
  const searchResult = analysis
264
- ? this.aiEngine.findBestMoveDetailed(this.board, { level: level, ttSizeMB, depth: options.depth, analysis: true })
281
+ ? this.aiEngine.findBestMoveDetailed(this.board, { level: level, ttSizeMB, depth: options.depth, analysis: true, randomness: options.randomness })
265
282
  : null;
266
- const bestMove = searchResult ? searchResult.move : this.aiEngine.findBestMove(this.board, level, ttSizeMB, options.depth);
283
+ const bestMove = searchResult ? searchResult.move : this.aiEngine.findBestMove(this.board, level, ttSizeMB, options.depth, options.randomness);
267
284
  if (!bestMove) {
268
285
  // No legal moves available - game must be finished (checkmate or stalemate)
269
286
  throw new Error('Game is already finished');
@@ -401,7 +418,7 @@ function aiMove(config, level = 3) {
401
418
  * @param options - Optional configuration object
402
419
  * @param options.level - AI difficulty level (1-5, default: 3)
403
420
  * @param options.play - Whether to apply the move to the game (default: true). If false, only returns the move without modifying game state.
404
- * @param options.ttSizeMB - Transposition table size in MB (0 to disable, 0.25-256). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
421
+ * @param options.ttSizeMB - Transposition table size in MB (0 to disable, min 0.25 MB). Default: auto-scaled by level (e.g., level 3: 2 MB Node.js, 1 MB browser)
405
422
  * @returns Object containing the move and board configuration (current state if play=false, updated state if play=true)
406
423
  */
407
424
  function ai(config, options = {}) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAqZH,sBAGC;AAQD,wBAGC;AAQD,wBAGC;AAUD,oBAGC;AAUD,wBAGC;AAYD,gBAMC;AA/cD,wCAA0H;AAC1H,wDAA+F;AAC/F,0DAAsD;AACtD,qCAA2E;AAC3E,mDAAkE;AAClE,gEAA+D;AAC/D,sDAO+B;AAC/B,4CAAyC;AAGzC,oCAAoC;AACpC,0CAAwB;AAExB;;GAEG;AACH,MAAa,IAAI;IACL,KAAK,CAAgB;IACrB,OAAO,GAAmB,EAAE,CAAC;IAC7B,QAAQ,CAAW;IAE3B;;;;OAIG;IACH,YAAY,aAAoC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,2CAA2C;YAC3C,IAAI,CAAC,KAAK,GAAG,IAAA,2BAAmB,GAAE,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC3C,aAAa;YACb,IAAA,iBAAW,EAAC,aAAa,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAA,cAAQ,EAAC,aAAa,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,qBAAqB;YACrB,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAa,EAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAY,EAAE,EAAU;QACzB,MAAM,QAAQ,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAC,EAAE,CAAC,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,MAAM,UAAU,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,OAAO,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,GAAiB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,iBAAiB;QACjB,IAAA,iCAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAA,0BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAa;QACf,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAA,gCAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAA,4BAAe,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAA,kCAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,MAAc,EAAE,KAAkB;QACvC,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;QACvC,IAAA,gBAAa,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,MAAc;QACtB,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;QAC9C,IAAA,mBAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,MAAM,MAAM,GAAgD,EAAE,CAAC;QAE/D,sCAAsC;QACtC,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAChD,CAAC,CAAC,IAAA,cAAQ,EAAC,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,IAAA,2BAAmB,GAAE,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,aAAa,CAAC,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,EAAE,CAAC,CAAC;YAElC,MAAM,UAAU,GAAG,IAAA,kCAAkB,EAAC,SAAS,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAEpF,IAAI,YAAY,EAAE,CAAC;gBACf,IAAA,iCAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAA,0BAAa,EAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,MAAM,GAAG,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,IAAA,WAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,cAAc;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;YAEpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE9C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAgB,CAAC;QACpB,iBAAiB;QACjB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAA,yCAAoB,EAAC,KAAK,CAAC,CAAC;QAE7C,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAgB,EAAE,QAAQ,CAAC,CAAC;QAEpF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhC,iBAAiB;QACjB,IAAA,iCAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAExC,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,EAAE,CAAC,UAA8L,EAAE;QAC/L,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC3C,uCAAuC;QACvC,0FAA0F;QAC1F,MAAM,WAAW,GAAG,IAAA,yCAAoB,EAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC;QAE9F,mCAAmC;QACnC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,MAAM,YAAY,GAAG,QAAQ;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7J,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE1J,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QAED,oBAAoB;QACpB,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAA,0BAAa,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;QAE9D,MAAM,cAAc,GAAG,CAAC,QAAQ,IAAI,YAAY,EAAE,WAAW,CAAC;YAC1D,CAAC,CAAC;gBACE,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;oBACvD,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM,EAAE,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM,WAAW,GAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;oBACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBACxC,CAAC,CAAC;gBACF,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,SAAS,EAAE,YAAY,CAAC,KAAK;aAChC;YACD,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,6DAA6D;YAC7D,6CAA6C;YAC7C,MAAM,GAAG,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,IAAA,iCAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAExC,MAAM,GAAG,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAElD,OAAO;YACH,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,GAAG;YACV,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;SAC5B,CAAC;IACN,CAAC;IAEO,2BAA2B,CAAC,KAAoB,EAAE,GAAgB;QACtE,+EAA+E;QAC/E,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAA,kCAAkB,EAAC,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAElD,GAAW,CAAC,KAAK,GAAG,OAAO,CAAC;QAC5B,GAAW,CAAC,SAAS,GAAG,MAAM,CAAC;QAC/B,GAAW,CAAC,SAAS,GAAG,WAAW,CAAC;QACpC,GAAW,CAAC,UAAU,GAAG,MAAM,IAAI,WAAW,CAAC;IACpD,CAAC;CACJ;AAnVD,oBAmVC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,aAAsB;IACzD,MAAM,OAAO,GAA2B;QACpC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAG,6BAA6B;QACtE,CAAC,EAAE,QAAQ,EAAG,eAAe;QAC7B,CAAC,EAAE,QAAQ,EAAG,iBAAiB;QAC/B,CAAC,EAAE,QAAQ,EAAG,iBAAiB;QAC/B,CAAC,EAAE,QAAQ,EAAG,eAAe;QAC7B,CAAC,EAAE,QAAQ,EAAG,gBAAgB;QAC9B,CAAC,EAAE,QAAQ,EAAG,eAAe;QAC7B,CAAC,EAAE,QAAQ,EAAG,eAAe;QAC7B,CAAC,EAAE,QAAQ,EAAG,iBAAiB;QAC/B,CAAC,EAAE,QAAQ,EAAG,iBAAiB;QAC/B,EAAE,EAAE,QAAQ,EAAE,eAAe;QAC7B,EAAE,EAAE,QAAQ,EAAE,gBAAgB;QAC9B,EAAE,EAAE,QAAQ,EAAE,eAAe;KAChC,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,gEAAgE;AAEhE;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,MAA4B;IAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,MAA4B;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,MAA4B;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,MAA4B,EAAE,IAAY,EAAE,EAAU;IACvE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,MAAM,CAAC,MAA4B,EAAE,QAAgB,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,EAAE,CACd,MAA4B,EAC5B,UAA8L,EAAE;IAEhM,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js-chess-engine",
3
- "version": "2.3.7",
3
+ "version": "2.4.0",
4
4
  "description": "Simple and fast Node.js chess engine with configurable AI and no dependencies",
5
5
  "keywords": [
6
6
  "chess",