board-game-engine 2.0.0 → 2.0.1

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 (251) hide show
  1. package/.github/workflows/ci.yml +33 -0
  2. package/dist/board-game-engine.cjs +463 -349
  3. package/dist/board-game-engine.js +463 -349
  4. package/dist/board-game-engine.min.js +22 -22
  5. package/dist/board-game-engine.mjs +461 -348
  6. package/dist/client/client.d.ts +76 -0
  7. package/dist/client/client.d.ts.map +1 -0
  8. package/dist/game-factory/bank/bank-slot.d.ts +30 -0
  9. package/dist/game-factory/bank/bank-slot.d.ts.map +1 -0
  10. package/dist/game-factory/bank/bank.d.ts +34 -0
  11. package/dist/game-factory/bank/bank.d.ts.map +1 -0
  12. package/dist/game-factory/board.d.ts +4 -0
  13. package/dist/game-factory/board.d.ts.map +1 -0
  14. package/dist/game-factory/condition/condition-factory.d.ts +4 -0
  15. package/dist/game-factory/condition/condition-factory.d.ts.map +1 -0
  16. package/dist/game-factory/condition/condition.d.ts +13 -0
  17. package/dist/game-factory/condition/condition.d.ts.map +1 -0
  18. package/dist/game-factory/condition/contains-condition.d.ts +8 -0
  19. package/dist/game-factory/condition/contains-condition.d.ts.map +1 -0
  20. package/dist/game-factory/condition/contains-same-condition.d.ts +7 -0
  21. package/dist/game-factory/condition/contains-same-condition.d.ts.map +1 -0
  22. package/dist/game-factory/condition/evaluate-condition.d.ts +8 -0
  23. package/dist/game-factory/condition/evaluate-condition.d.ts.map +1 -0
  24. package/dist/game-factory/condition/every-condition.d.ts +12 -0
  25. package/dist/game-factory/condition/every-condition.d.ts.map +1 -0
  26. package/dist/game-factory/condition/has-line-condition.d.ts +8 -0
  27. package/dist/game-factory/condition/has-line-condition.d.ts.map +1 -0
  28. package/dist/game-factory/condition/in-line-condition.d.ts +8 -0
  29. package/dist/game-factory/condition/in-line-condition.d.ts.map +1 -0
  30. package/dist/game-factory/condition/is-condition.d.ts +8 -0
  31. package/dist/game-factory/condition/is-condition.d.ts.map +1 -0
  32. package/dist/game-factory/condition/is-full-condition.d.ts +7 -0
  33. package/dist/game-factory/condition/is-full-condition.d.ts.map +1 -0
  34. package/dist/game-factory/condition/no-possible-moves-condition.d.ts +7 -0
  35. package/dist/game-factory/condition/no-possible-moves-condition.d.ts.map +1 -0
  36. package/dist/game-factory/condition/not-condition.d.ts +7 -0
  37. package/dist/game-factory/condition/not-condition.d.ts.map +1 -0
  38. package/dist/game-factory/condition/or-condition.d.ts +7 -0
  39. package/dist/game-factory/condition/or-condition.d.ts.map +1 -0
  40. package/dist/game-factory/condition/position-condition.d.ts +7 -0
  41. package/dist/game-factory/condition/position-condition.d.ts.map +1 -0
  42. package/dist/game-factory/condition/some-condition.d.ts +8 -0
  43. package/dist/game-factory/condition/some-condition.d.ts.map +1 -0
  44. package/dist/game-factory/condition/would-condition.d.ts +8 -0
  45. package/dist/game-factory/condition/would-condition.d.ts.map +1 -0
  46. package/dist/game-factory/entity.d.ts +13 -0
  47. package/dist/game-factory/entity.d.ts.map +1 -0
  48. package/dist/game-factory/expand-game-rules.d.ts +3 -0
  49. package/dist/game-factory/expand-game-rules.d.ts.map +1 -0
  50. package/dist/game-factory/game-factory.d.ts +10 -0
  51. package/dist/game-factory/game-factory.d.ts.map +1 -0
  52. package/{src/game-factory/move/end-turn.js → dist/game-factory/move/end-turn.d.ts} +2 -4
  53. package/dist/game-factory/move/end-turn.d.ts.map +1 -0
  54. package/dist/game-factory/move/for-each.d.ts +5 -0
  55. package/dist/game-factory/move/for-each.d.ts.map +1 -0
  56. package/dist/game-factory/move/index.d.ts +6 -0
  57. package/dist/game-factory/move/index.d.ts.map +1 -0
  58. package/dist/game-factory/move/move-entity.d.ts +7 -0
  59. package/dist/game-factory/move/move-entity.d.ts.map +1 -0
  60. package/dist/game-factory/move/move-factory.d.ts +18 -0
  61. package/dist/game-factory/move/move-factory.d.ts.map +1 -0
  62. package/dist/game-factory/move/move.d.ts +54 -0
  63. package/dist/game-factory/move/move.d.ts.map +1 -0
  64. package/dist/game-factory/move/pass-turn.d.ts +5 -0
  65. package/dist/game-factory/move/pass-turn.d.ts.map +1 -0
  66. package/{src/game-factory/move/pass.js → dist/game-factory/move/pass.d.ts} +2 -4
  67. package/dist/game-factory/move/pass.d.ts.map +1 -0
  68. package/dist/game-factory/move/place-new.d.ts +5 -0
  69. package/dist/game-factory/move/place-new.d.ts.map +1 -0
  70. package/dist/game-factory/move/remove-entity.d.ts +5 -0
  71. package/dist/game-factory/move/remove-entity.d.ts.map +1 -0
  72. package/dist/game-factory/move/set-active-players.d.ts +5 -0
  73. package/dist/game-factory/move/set-active-players.d.ts.map +1 -0
  74. package/dist/game-factory/move/set-state.d.ts +5 -0
  75. package/dist/game-factory/move/set-state.d.ts.map +1 -0
  76. package/dist/game-factory/move/shuffle.d.ts +5 -0
  77. package/dist/game-factory/move/shuffle.d.ts.map +1 -0
  78. package/dist/game-factory/move/take-from.d.ts +11 -0
  79. package/dist/game-factory/move/take-from.d.ts.map +1 -0
  80. package/dist/game-factory/space/space.d.ts +10 -0
  81. package/dist/game-factory/space/space.d.ts.map +1 -0
  82. package/dist/game-factory/space-group/grid.d.ts +15 -0
  83. package/dist/game-factory/space-group/grid.d.ts.map +1 -0
  84. package/dist/game-factory/space-group/space-group.d.ts +20 -0
  85. package/dist/game-factory/space-group/space-group.d.ts.map +1 -0
  86. package/dist/index.d.ts +6 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/registry.d.ts +17 -0
  89. package/dist/registry.d.ts.map +1 -0
  90. package/dist/types/bagel-types.d.ts +339 -0
  91. package/dist/types/bagel-types.d.ts.map +1 -0
  92. package/dist/types/index.d.ts +3 -0
  93. package/dist/types/index.d.ts.map +1 -0
  94. package/dist/types/rule-with-conditions.d.ts +9 -0
  95. package/dist/types/rule-with-conditions.d.ts.map +1 -0
  96. package/dist/utils/any-valid-moves.d.ts +2 -0
  97. package/dist/utils/any-valid-moves.d.ts.map +1 -0
  98. package/dist/utils/bgio-resolve-types.d.ts +25 -0
  99. package/dist/utils/bgio-resolve-types.d.ts.map +1 -0
  100. package/dist/utils/check-conditions.d.ts +7 -0
  101. package/dist/utils/check-conditions.d.ts.map +1 -0
  102. package/dist/utils/create-payload.d.ts +5 -0
  103. package/dist/utils/create-payload.d.ts.map +1 -0
  104. package/dist/utils/deserialize-bgio-arguments.d.ts +3 -0
  105. package/dist/utils/deserialize-bgio-arguments.d.ts.map +1 -0
  106. package/dist/utils/do-moves.d.ts +8 -0
  107. package/dist/utils/do-moves.d.ts.map +1 -0
  108. package/dist/utils/entity-matches.d.ts +6 -0
  109. package/dist/utils/entity-matches.d.ts.map +1 -0
  110. package/dist/utils/find-met-condition.d.ts +6 -0
  111. package/dist/utils/find-met-condition.d.ts.map +1 -0
  112. package/dist/utils/get-current-moves.d.ts +24 -0
  113. package/dist/utils/get-current-moves.d.ts.map +1 -0
  114. package/dist/utils/get-scenario-results.d.ts +3 -0
  115. package/dist/utils/get-scenario-results.d.ts.map +1 -0
  116. package/dist/utils/get-steps.d.ts +13 -0
  117. package/dist/utils/get-steps.d.ts.map +1 -0
  118. package/dist/utils/get.d.ts +7 -0
  119. package/dist/utils/get.d.ts.map +1 -0
  120. package/dist/utils/grid-contains-sequence.d.ts +27 -0
  121. package/dist/utils/grid-contains-sequence.d.ts.map +1 -0
  122. package/dist/utils/json-transformer.d.ts +8 -0
  123. package/dist/utils/json-transformer.d.ts.map +1 -0
  124. package/dist/utils/prepare-payload.d.ts +2 -0
  125. package/dist/utils/prepare-payload.d.ts.map +1 -0
  126. package/dist/utils/resolve-entity.d.ts +3 -0
  127. package/dist/utils/resolve-entity.d.ts.map +1 -0
  128. package/dist/utils/resolve-expression.d.ts +6 -0
  129. package/dist/utils/resolve-expression.d.ts.map +1 -0
  130. package/dist/utils/resolve-properties.d.ts +4 -0
  131. package/dist/utils/resolve-properties.d.ts.map +1 -0
  132. package/dist/utils/simulate-move.d.ts +16 -0
  133. package/dist/utils/simulate-move.d.ts.map +1 -0
  134. package/package.json +9 -3
  135. package/playwright-report/index.html +1 -1
  136. package/scripts/build.mjs +2 -2
  137. package/src/client/client.ts +306 -0
  138. package/src/game-factory/bank/bank-slot.ts +81 -0
  139. package/src/game-factory/bank/bank.ts +125 -0
  140. package/src/game-factory/{board.js → board.ts} +1 -1
  141. package/src/game-factory/condition/condition-factory.ts +59 -0
  142. package/src/game-factory/condition/condition.ts +50 -0
  143. package/src/game-factory/condition/{contains-condition.js → contains-condition.ts} +5 -4
  144. package/src/game-factory/condition/{contains-same-condition.js → contains-same-condition.ts} +8 -5
  145. package/src/game-factory/condition/{evaluate-condition.js → evaluate-condition.ts} +4 -3
  146. package/src/game-factory/condition/every-condition.ts +27 -0
  147. package/src/game-factory/condition/has-line-condition.ts +15 -0
  148. package/src/game-factory/condition/in-line-condition.ts +25 -0
  149. package/src/game-factory/condition/is-condition.ts +24 -0
  150. package/src/game-factory/condition/is-full-condition.ts +10 -0
  151. package/src/game-factory/condition/{no-possible-moves-condition.js → no-possible-moves-condition.ts} +3 -2
  152. package/src/game-factory/condition/{not-condition.js → not-condition.ts} +3 -2
  153. package/src/game-factory/condition/{or-condition.js → or-condition.ts} +3 -2
  154. package/src/game-factory/condition/position-condition.ts +13 -0
  155. package/src/game-factory/condition/{some-condition.js → some-condition.ts} +5 -3
  156. package/src/game-factory/condition/would-condition.ts +104 -0
  157. package/src/game-factory/entity.ts +37 -0
  158. package/src/game-factory/expand-game-rules.ts +263 -0
  159. package/src/game-factory/game-factory.ts +263 -0
  160. package/src/game-factory/move/end-turn.ts +7 -0
  161. package/src/game-factory/move/for-each.ts +20 -0
  162. package/src/game-factory/move/move-entity.ts +18 -0
  163. package/src/game-factory/move/move-factory.ts +107 -0
  164. package/src/game-factory/move/move.ts +147 -0
  165. package/src/game-factory/move/pass-turn.ts +15 -0
  166. package/src/game-factory/move/pass.ts +7 -0
  167. package/src/game-factory/move/place-new.ts +42 -0
  168. package/src/game-factory/move/remove-entity.ts +11 -0
  169. package/src/game-factory/move/set-active-players.ts +26 -0
  170. package/src/game-factory/move/set-state.ts +14 -0
  171. package/src/game-factory/move/shuffle.ts +9 -0
  172. package/src/game-factory/move/take-from.ts +12 -0
  173. package/src/game-factory/space/space.ts +36 -0
  174. package/src/game-factory/space-group/grid.ts +48 -0
  175. package/src/game-factory/space-group/space-group.ts +44 -0
  176. package/src/index.ts +5 -0
  177. package/src/types/bagel-types.ts +449 -0
  178. package/src/types/boardgame-io-core.d.ts +7 -0
  179. package/src/types/index.ts +70 -0
  180. package/src/types/rule-with-conditions.ts +9 -0
  181. package/src/utils/{any-valid-moves.js → any-valid-moves.ts} +54 -49
  182. package/src/utils/bgio-resolve-types.ts +27 -0
  183. package/src/utils/check-conditions.ts +28 -0
  184. package/src/utils/create-payload.ts +19 -0
  185. package/src/utils/deserialize-bgio-arguments.ts +10 -0
  186. package/src/utils/do-moves.ts +22 -0
  187. package/src/utils/entity-matches.ts +30 -0
  188. package/src/utils/expr-eval.d.ts +6 -0
  189. package/src/utils/find-met-condition.ts +23 -0
  190. package/src/utils/get-current-moves.ts +39 -0
  191. package/src/utils/get-scenario-results.ts +30 -0
  192. package/src/utils/get-steps.ts +38 -0
  193. package/src/utils/get.ts +28 -0
  194. package/src/utils/{grid-contains-sequence.js → grid-contains-sequence.ts} +71 -33
  195. package/src/utils/json-transformer.ts +17 -0
  196. package/src/utils/prepare-payload.ts +20 -0
  197. package/src/utils/resolve-entity.ts +15 -0
  198. package/src/utils/resolve-expression.ts +16 -0
  199. package/src/utils/resolve-properties.ts +172 -0
  200. package/src/utils/simulate-move.ts +32 -0
  201. package/src/wackson.d.ts +4 -0
  202. package/tsconfig.build.json +14 -0
  203. package/tsconfig.json +21 -0
  204. package/src/client/client.js +0 -224
  205. package/src/game-factory/bank/bank-slot.js +0 -69
  206. package/src/game-factory/bank/bank.js +0 -114
  207. package/src/game-factory/condition/condition-factory.js +0 -52
  208. package/src/game-factory/condition/condition.js +0 -39
  209. package/src/game-factory/condition/every-condition.js +0 -25
  210. package/src/game-factory/condition/has-line-condition.js +0 -14
  211. package/src/game-factory/condition/in-line-condition.js +0 -19
  212. package/src/game-factory/condition/is-condition.js +0 -23
  213. package/src/game-factory/condition/is-full-condition.js +0 -9
  214. package/src/game-factory/condition/position-condition.js +0 -12
  215. package/src/game-factory/condition/would-condition.js +0 -94
  216. package/src/game-factory/entity.js +0 -29
  217. package/src/game-factory/expand-game-rules.js +0 -271
  218. package/src/game-factory/game-factory.js +0 -239
  219. package/src/game-factory/move/for-each.js +0 -18
  220. package/src/game-factory/move/move-entity.js +0 -16
  221. package/src/game-factory/move/move-factory.js +0 -89
  222. package/src/game-factory/move/move.js +0 -131
  223. package/src/game-factory/move/pass-turn.js +0 -10
  224. package/src/game-factory/move/place-new.js +0 -33
  225. package/src/game-factory/move/remove-entity.js +0 -7
  226. package/src/game-factory/move/set-active-players.js +0 -23
  227. package/src/game-factory/move/set-state.js +0 -11
  228. package/src/game-factory/move/shuffle.js +0 -7
  229. package/src/game-factory/move/take-from.js +0 -7
  230. package/src/game-factory/space/space.js +0 -30
  231. package/src/game-factory/space-group/grid.js +0 -43
  232. package/src/game-factory/space-group/space-group.js +0 -29
  233. package/src/index.js +0 -2
  234. package/src/utils/check-conditions.js +0 -28
  235. package/src/utils/create-payload.js +0 -16
  236. package/src/utils/deserialize-bgio-arguments.js +0 -8
  237. package/src/utils/do-moves.js +0 -18
  238. package/src/utils/entity-matches.js +0 -20
  239. package/src/utils/find-met-condition.js +0 -22
  240. package/src/utils/get-current-moves.js +0 -12
  241. package/src/utils/get-scenario-results.js +0 -23
  242. package/src/utils/get-steps.js +0 -29
  243. package/src/utils/get.js +0 -25
  244. package/src/utils/json-transformer.js +0 -12
  245. package/src/utils/prepare-payload.js +0 -16
  246. package/src/utils/resolve-entity.js +0 -9
  247. package/src/utils/resolve-expression.js +0 -10
  248. package/src/utils/resolve-properties.js +0 -149
  249. package/src/utils/simulate-move.js +0 -25
  250. /package/src/game-factory/move/{index.js → index.ts} +0 -0
  251. /package/src/{registry.js → registry.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-entity.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/remove-entity.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,IAAI;IAC5C,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAKrE"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class SetActivePlayers extends Move {
3
+ do(bgioArguments: unknown, rule: Record<string, unknown>, _unused: unknown, context: Record<string, unknown>): void;
4
+ }
5
+ //# sourceMappingURL=set-active-players.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-active-players.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/set-active-players.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI;IAChD,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmB9G"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class SetState extends Move {
3
+ do(_unused: unknown, _rule: unknown, resolvedPayload: unknown): void;
4
+ }
5
+ //# sourceMappingURL=set-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-state.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/set-state.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAS/D"}
@@ -0,0 +1,5 @@
1
+ import Move from "./move.js";
2
+ export default class Shuffle extends Move {
3
+ do(bgioArguments: unknown, _rule: unknown, resolvedPayload: unknown): void;
4
+ }
5
+ //# sourceMappingURL=shuffle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shuffle.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/shuffle.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,IAAI;IACvC,EAAE,CAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;CAKrE"}
@@ -0,0 +1,11 @@
1
+ import Move from "./move.js";
2
+ export default class TakeFrom extends Move {
3
+ do(_bgioArguments: unknown, rule: {
4
+ arguments: {
5
+ source: {
6
+ position?: unknown;
7
+ };
8
+ };
9
+ }, resolvedPayload: unknown): void;
10
+ }
11
+ //# sourceMappingURL=take-from.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take-from.d.ts","sourceRoot":"","sources":["../../../src/game-factory/move/take-from.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,IAAI;IACxC,EAAE,CAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE;YAAE,MAAM,EAAE;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,eAAe,EAAE,OAAO;CAQ/G"}
@@ -0,0 +1,10 @@
1
+ import Entity from "../entity.js";
2
+ export default class Space extends Entity {
3
+ entities: unknown[];
4
+ constructor(options: ConstructorParameters<typeof Entity>[0], rule: Record<string, unknown>, id: number);
5
+ placeEntity(entity: unknown, position?: "Last" | "First"): void;
6
+ remove(entity: unknown): void;
7
+ takeOne(position?: "First"): unknown;
8
+ isEmpty(): boolean;
9
+ }
10
+ //# sourceMappingURL=space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space/space.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,MAAM;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAGlB,OAAO,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,MAAM;IAMZ,WAAW,CAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAM,GAAG,OAAgB;IAQjE,MAAM,CAAE,MAAM,EAAE,OAAO;IAIvB,OAAO,CAAE,QAAQ,GAAE,OAAiB;IAMpC,OAAO;CAGR"}
@@ -0,0 +1,15 @@
1
+ import SpaceGroup from "./space-group.js";
2
+ export default class Grid extends SpaceGroup {
3
+ rule: Record<string, unknown> & {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ getSpacesCount(): number;
8
+ getRows(): unknown[][];
9
+ getCoordinates(index: number): number[];
10
+ getIndex([x, y]: [number, number]): number;
11
+ getSpace(arg: number | [number, number]): unknown;
12
+ getRelativeCoordinates([oldX, oldY]: [number, number], [relativeX, relativeY]: [number, number]): [number, number] | null;
13
+ areCoordinatesValid([x, y]: [number, number]): boolean;
14
+ }
15
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space-group/grid.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1E,cAAc;IAId,OAAO;IAIP,cAAc,CAAE,KAAK,EAAE,MAAM;IAQ7B,QAAQ,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAOjD,sBAAsB,CAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAOhG,mBAAmB,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CAM9C"}
@@ -0,0 +1,20 @@
1
+ import Entity from "../entity.js";
2
+ type BankLike = {
3
+ createEntity: (def: Record<string, unknown>) => unknown;
4
+ };
5
+ export default class SpaceGroup extends Entity {
6
+ spaces: unknown[];
7
+ constructor(options: ConstructorParameters<typeof Entity>[0] & {
8
+ bank: BankLike;
9
+ }, rule: Record<string, unknown>, id: number);
10
+ makeSpaces(bank: BankLike): unknown[];
11
+ getEmptySpaces(): {
12
+ isEmpty: () => boolean;
13
+ }[];
14
+ getSpace(arg: number | [number, number]): unknown;
15
+ getEntities(index: number): unknown[];
16
+ placeEntity(index: number, entity: unknown): void;
17
+ getSpacesCount(): number;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=space-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-group.d.ts","sourceRoot":"","sources":["../../../src/game-factory/space-group/space-group.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,KAAK,QAAQ,GAAG;IAAE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,CAAC;AAE5E,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAC5C,MAAM,EAAE,OAAO,EAAE,CAAC;gBAGhB,OAAO,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,EACrE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,EAAE,EAAE,MAAM;IAMZ,UAAU,CAAE,IAAI,EAAE,QAAQ;IAK1B,cAAc;iBACsB,MAAM,OAAO;;IAGjD,QAAQ,CAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAOxC,WAAW,CAAE,KAAK,EAAE,MAAM;IAI1B,WAAW,CAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAI3C,cAAc,IAAK,MAAM;CAG1B"}
@@ -0,0 +1,6 @@
1
+ export { default as gameFactory } from "./game-factory/game-factory.js";
2
+ export { Client } from "./client/client.js";
3
+ export type { ClientOptions } from "./client/client.js";
4
+ export type { BoardGameEngineGame, BgioArguments } from "./game-factory/game-factory.js";
5
+ export type * from "./types/index.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzF,mBAAmB,kBAAkB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import Board from "./game-factory/board.js";
2
+ import SpaceGroup from "./game-factory/space-group/space-group.js";
3
+ import Space from "./game-factory/space/space.js";
4
+ import Grid from "./game-factory/space-group/grid.js";
5
+ import Bank from "./game-factory/bank/bank.js";
6
+ import BankSlot from "./game-factory/bank/bank-slot.js";
7
+ import Entity from "./game-factory/entity.js";
8
+ export declare const registry: {
9
+ Board: typeof Board;
10
+ SpaceGroup: typeof SpaceGroup;
11
+ Space: typeof Space;
12
+ Grid: typeof Grid;
13
+ Bank: typeof Bank;
14
+ BankSlot: typeof BankSlot;
15
+ Entity: typeof Entity;
16
+ };
17
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,KAAK,MAAM,+BAA+B,CAAC;AAClD,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAC/C,OAAO,QAAQ,MAAM,kCAAkC,CAAC;AACxD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
@@ -0,0 +1,339 @@
1
+ /**
2
+ * B.A.G.E.L. (Board-based Automated Game Engine Language) types.
3
+ * Subset inferred from the built-in example games.
4
+ *
5
+ * Semantic notes:
6
+ * - EntityAttributes<TRule> = entity rule merged with its default state (runtime view).
7
+ * - displayProperties lists keys of that merged type; UI shows those attribute values.
8
+ * - EntityMatcher is matched against EntityAttributes (lodash-style) at runtime.
9
+ */
10
+ export type PathSegment = string | number | {
11
+ flatten: boolean;
12
+ map?: string[];
13
+ };
14
+ export type ValueRef = CtxPathRef | ContextPathRef | GamePathRef | ExpressionRef | RelativeCoordinatesRef | CoordinatesRef | RelativePathRef | ParentRef | MapRef | MapMaxRef | PickRef | CountRef;
15
+ export interface CtxPathRef {
16
+ type: "ctxPath";
17
+ path: (string | number)[];
18
+ }
19
+ export interface ContextPathRef {
20
+ type: "contextPath";
21
+ path: PathSegment[];
22
+ }
23
+ export interface GamePathRef {
24
+ type: "gamePath";
25
+ path: (string | number)[];
26
+ }
27
+ export interface ExpressionRef {
28
+ type: "expression";
29
+ expression: string;
30
+ arguments: Record<string, ValueRef>;
31
+ }
32
+ export interface RelativeCoordinatesRef {
33
+ type: "relativeCoordinates";
34
+ target?: ValueRef;
35
+ location: [number, number] | ValueRef;
36
+ }
37
+ export interface CoordinatesRef {
38
+ type: "coordinates";
39
+ target?: ValueRef;
40
+ }
41
+ export interface RelativePathRef {
42
+ type: "relativePath";
43
+ target: ValueRef | TargetSelector;
44
+ path: (string | number)[];
45
+ }
46
+ export interface ParentRef {
47
+ type: "parent";
48
+ target?: ValueRef;
49
+ }
50
+ export interface MapRef {
51
+ type: "map";
52
+ targets: ValueRef | TargetSelector;
53
+ mapping: ValueRef | CountRef;
54
+ }
55
+ export interface MapMaxRef {
56
+ type: "mapMax";
57
+ targets: ValueRef;
58
+ mapping: ValueRef | CountRef;
59
+ }
60
+ export interface PickRef {
61
+ type: "pick";
62
+ target: ValueRef | TargetSelector;
63
+ properties: string[];
64
+ }
65
+ export interface CountRef {
66
+ type: "count";
67
+ conditions: Condition[];
68
+ }
69
+ export type Condition = ConditionShorthandString | ConditionShorthandEntityType | ConditionTyped;
70
+ export type ConditionShorthandString = "isEmpty" | "isCurrentPlayer";
71
+ export interface ConditionShorthandEntityType {
72
+ entityType: "Space";
73
+ }
74
+ export type ConditionTyped = ConditionHasLine | ConditionIsFull | ConditionNoPossibleMoves | ConditionPosition | ConditionContainsSame | ConditionIs | ConditionContains | ConditionNot | ConditionOr | ConditionSome | ConditionEvery | ConditionInLine | ConditionEvaluate;
75
+ export interface TargetSelector {
76
+ matchMultiple?: boolean;
77
+ conditions: Condition[];
78
+ }
79
+ export interface LineSequenceStep {
80
+ minCount?: number;
81
+ conditions: Condition[];
82
+ }
83
+ export interface ConditionHasLine {
84
+ conditionType: "HasLine";
85
+ target: string;
86
+ sequence: LineSequenceStep[];
87
+ }
88
+ export interface ConditionIsFull {
89
+ conditionType: "IsFull";
90
+ target: string;
91
+ }
92
+ export interface ConditionNoPossibleMoves {
93
+ conditionType: "NoPossibleMoves";
94
+ }
95
+ export interface ConditionPosition {
96
+ conditionType: "Position";
97
+ position: "First";
98
+ }
99
+ export interface ConditionContainsSame {
100
+ conditionType: "ContainsSame";
101
+ properties: string[];
102
+ }
103
+ export interface ConditionIs {
104
+ conditionType: "Is";
105
+ target?: ValueRef | TargetSelector | string;
106
+ matcher?: Record<string, unknown>;
107
+ entity?: ValueRef;
108
+ }
109
+ export interface ConditionContains {
110
+ conditionType: "Contains";
111
+ target?: ValueRef | TargetSelector | string;
112
+ conditions?: Condition[];
113
+ }
114
+ export interface ConditionNot {
115
+ conditionType: "Not";
116
+ target?: ValueRef | TargetSelector | string;
117
+ conditions: Condition[];
118
+ }
119
+ export interface ConditionOr {
120
+ conditionType: "Or";
121
+ conditions: Condition[];
122
+ }
123
+ export interface ConditionSome {
124
+ conditionType: "Some";
125
+ target: TargetSelector;
126
+ conditions: Condition[];
127
+ }
128
+ export interface ConditionEvery {
129
+ conditionType: "Every";
130
+ target: TargetSelector;
131
+ conditions: Condition[];
132
+ }
133
+ export interface ConditionInLine {
134
+ conditionType: "InLine";
135
+ target?: ValueRef;
136
+ sequence: LineSequenceStep[];
137
+ }
138
+ export interface ConditionEvaluate {
139
+ conditionType: "Evaluate";
140
+ expression: string;
141
+ arguments: Record<string, ValueRef>;
142
+ }
143
+ /** Runtime view: entity rule merged with its default state. Used for display and matching. */
144
+ export type EntityAttributes<TRule extends EntityRule> = TRule & (TRule extends {
145
+ state?: infer S;
146
+ } ? (S extends object ? S : object) : object);
147
+ /** Keys that can appear on any entity's merged attributes (for matchers over unknown entity type). */
148
+ export type EntityAttributeKey = keyof EntityAttributes<EntityGrid> | keyof EntityAttributes<EntitySpace> | keyof EntityAttributes<EntityGeneric> | keyof EntityAttributes<EntityBoard>;
149
+ /** Matcher compared against EntityAttributes at runtime. Keys are attribute keys; values may be refs. */
150
+ export type EntityMatcher<A extends object = Record<EntityAttributeKey, unknown>> = Partial<{
151
+ [K in keyof A]: A[K] | ValueRef;
152
+ }> & {
153
+ name?: string;
154
+ };
155
+ export interface EntityBoard extends EntityCommon {
156
+ entityType: "Board";
157
+ }
158
+ export type Entity = EntityGrid | EntitySpace | EntityGeneric | EntityBoard;
159
+ export interface EntityCommon {
160
+ name: string;
161
+ perPlayer?: boolean;
162
+ count?: number | "Infinity";
163
+ state?: Record<string, unknown>;
164
+ contentsHiddenFrom?: "All" | "Others";
165
+ /** Expanded into separate entity definitions at setup (see game-factory). */
166
+ variants?: Array<Record<string, unknown>>;
167
+ }
168
+ export interface EntityGrid extends EntityCommon {
169
+ entityType: "Grid";
170
+ width: number;
171
+ height: number;
172
+ /** Property names to show in UI; values read from EntityAttributes<EntityGrid>. */
173
+ displayProperties?: (keyof EntityAttributes<EntityGrid>)[];
174
+ }
175
+ export interface EntitySpace extends EntityCommon {
176
+ entityType: "Space";
177
+ /** Property names to show in UI; values read from EntityAttributes<EntitySpace>. */
178
+ displayProperties?: (keyof EntityAttributes<EntitySpace>)[];
179
+ }
180
+ export interface EntityGeneric extends EntityCommon {
181
+ entityType?: undefined;
182
+ /** Property names to show in UI; values read from EntityAttributes<EntityGeneric> (rule merged with state). */
183
+ displayProperties?: (keyof EntityAttributes<EntityGeneric>)[];
184
+ }
185
+ export type EntityRule = EntityGrid | EntitySpace | EntityGeneric | EntityBoard;
186
+ export type MoveDefinition = MovePlaceNew | MoveMoveEntity | MoveRemoveEntity | MoveTakeFrom | MoveSetState | MoveSetActivePlayers | MoveEndTurn | MovePassTurn | MoveForEach | MoveShuffle | MovePass;
187
+ export type MoveRule = MoveDefinition;
188
+ export interface MoveCommon {
189
+ /** Set when a move is registered under a key (e.g. from `createMoves`). */
190
+ name?: string;
191
+ conditions?: Condition[];
192
+ then?: MoveDefinition[];
193
+ }
194
+ export interface MovePlaceNew extends MoveCommon {
195
+ moveType: "PlaceNew";
196
+ matchMultiple?: boolean;
197
+ entity: {
198
+ conditions?: Condition[];
199
+ [k: string]: unknown;
200
+ };
201
+ arguments: {
202
+ destination: Record<string, unknown>;
203
+ [k: string]: unknown;
204
+ };
205
+ }
206
+ export interface MoveMoveEntity extends MoveCommon {
207
+ moveType: "MoveEntity";
208
+ position?: "First";
209
+ arguments: {
210
+ entity: Record<string, unknown>;
211
+ destination: Record<string, unknown>;
212
+ [k: string]: unknown;
213
+ };
214
+ }
215
+ export interface MoveRemoveEntity extends MoveCommon {
216
+ moveType: "RemoveEntity";
217
+ arguments: {
218
+ entity: ValueRef | Record<string, unknown>;
219
+ [k: string]: unknown;
220
+ };
221
+ }
222
+ export interface MoveTakeFrom extends MoveCommon {
223
+ moveType: "TakeFrom";
224
+ arguments: {
225
+ source: Record<string, unknown>;
226
+ destination: Record<string, unknown>;
227
+ [k: string]: unknown;
228
+ };
229
+ }
230
+ export interface StateUpdate {
231
+ property: string;
232
+ value?: unknown;
233
+ possibleValues?: unknown[];
234
+ playerChoice?: boolean;
235
+ }
236
+ export interface MoveSetState extends MoveCommon {
237
+ moveType: "SetState";
238
+ arguments: {
239
+ entity: ValueRef | Record<string, unknown>;
240
+ state: StateUpdate;
241
+ [k: string]: unknown;
242
+ };
243
+ }
244
+ export interface MoveSetActivePlayers extends MoveCommon {
245
+ moveType: "SetActivePlayers";
246
+ options: Record<string, {
247
+ stage?: string;
248
+ [k: string]: unknown;
249
+ }>;
250
+ }
251
+ export interface MoveEndTurn extends MoveCommon {
252
+ moveType: "EndTurn";
253
+ }
254
+ export interface MovePassTurn extends MoveCommon {
255
+ moveType: "PassTurn";
256
+ }
257
+ export interface MovePass extends MoveCommon {
258
+ moveType: "Pass";
259
+ }
260
+ export interface MoveForEach extends MoveCommon {
261
+ moveType: "ForEach";
262
+ arguments: {
263
+ targets: ValueRef | Record<string, unknown>;
264
+ [k: string]: unknown;
265
+ };
266
+ move: MoveDefinition;
267
+ }
268
+ export interface MoveShuffle extends MoveCommon {
269
+ moveType: "Shuffle";
270
+ arguments: {
271
+ target: Record<string, unknown>;
272
+ [k: string]: unknown;
273
+ };
274
+ }
275
+ export interface TurnConfig {
276
+ minMoves?: number;
277
+ maxMoves?: number;
278
+ initialMoves?: MoveDefinition[];
279
+ activePlayers?: Record<string, string>;
280
+ stages?: Record<string, StageConfig>;
281
+ order?: {
282
+ playOrder?: "RotateFirst";
283
+ };
284
+ }
285
+ export interface StageConfig {
286
+ initialMoves?: MoveDefinition[];
287
+ moves?: Record<string, MoveDefinition>;
288
+ }
289
+ export interface PhaseConfig {
290
+ start?: boolean;
291
+ next?: string;
292
+ turn?: TurnConfig;
293
+ moves?: Record<string, MoveDefinition>;
294
+ initialMoves?: MoveDefinition[];
295
+ endIf?: EndRule[];
296
+ }
297
+ export interface EndRule {
298
+ conditions: Condition[];
299
+ result?: {
300
+ winner?: string | ValueRef;
301
+ winners?: ValueRef;
302
+ draw?: boolean;
303
+ [k: string]: unknown;
304
+ };
305
+ }
306
+ export interface InitialPlacement {
307
+ entity: Record<string, unknown>;
308
+ destination: {
309
+ index?: number;
310
+ name?: string;
311
+ };
312
+ }
313
+ export interface BagelGame {
314
+ entities: Entity[];
315
+ sharedBoard?: EntityMatcher<EntityAttributes<Entity>>[];
316
+ personalBoard?: EntityMatcher<EntityAttributes<Entity>>[];
317
+ initialPlacements?: InitialPlacement[];
318
+ numPlayers?: number;
319
+ minPlayers?: number;
320
+ maxPlayers?: number;
321
+ turn?: TurnConfig;
322
+ moves?: Record<string, MoveDefinition>;
323
+ initialMoves?: MoveDefinition[];
324
+ phases?: Record<string, PhaseConfig>;
325
+ endIf?: EndRule[];
326
+ }
327
+ /** Rule object passed to `gameFactory` (engine-specific extensions on top of BagelGame). */
328
+ export type GameFactoryInput = BagelGame & {
329
+ DEBUG_DISABLE_SECRET_STATE?: boolean;
330
+ };
331
+ /**
332
+ * Rules after {@link expandGameRules}: invariant entities merged, default turn/sharedBoard,
333
+ * initial placements expanded into moves; `initialPlacements` is removed.
334
+ */
335
+ export type ExpandedGameRules = Omit<GameFactoryInput, "entities" | "turn" | "initialPlacements"> & {
336
+ entities: Entity[];
337
+ turn: TurnConfig;
338
+ };
339
+ //# sourceMappingURL=bagel-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bagel-types.d.ts","sourceRoot":"","sources":["../../src/types/bagel-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { BagelGame, GameFactoryInput, ExpandedGameRules, PathSegment, ValueRef, CtxPathRef, ContextPathRef, GamePathRef, ExpressionRef, RelativeCoordinatesRef, CoordinatesRef, RelativePathRef, ParentRef, MapRef, MapMaxRef, PickRef, CountRef, Condition, ConditionShorthandString, ConditionShorthandEntityType, ConditionTyped, TargetSelector, LineSequenceStep, ConditionHasLine, ConditionIsFull, ConditionNoPossibleMoves, ConditionPosition, ConditionContainsSame, ConditionIs, ConditionContains, ConditionNot, ConditionOr, ConditionSome, ConditionEvery, ConditionInLine, ConditionEvaluate, EntityAttributes, EntityAttributeKey, EntityMatcher, Entity, EntityBoard, EntityCommon, EntityGrid, EntitySpace, EntityGeneric, EntityRule, MoveDefinition, MoveRule, MoveCommon, MovePlaceNew, MoveMoveEntity, MoveRemoveEntity, MoveTakeFrom, StateUpdate, MoveSetState, MoveSetActivePlayers, MoveEndTurn, MovePassTurn, MovePass, MoveForEach, MoveShuffle, TurnConfig, StageConfig, PhaseConfig, EndRule, InitialPlacement, } from "./bagel-types.js";
2
+ export type { RuleWithConditions } from "./rule-with-conditions.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Condition } from "./bagel-types.js";
2
+ /**
3
+ * Rule-shaped object that may carry a `conditions` array (moves, move arguments,
4
+ * entity/slot rules, scenarios, composite conditions).
5
+ */
6
+ export type RuleWithConditions = {
7
+ conditions?: Condition[];
8
+ } & Record<string, unknown>;
9
+ //# sourceMappingURL=rule-with-conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-with-conditions.d.ts","sourceRoot":"","sources":["../../src/types/rule-with-conditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function areThereValidMoves(bgioArguments: unknown, moves: Record<string, unknown>): boolean;
2
+ //# sourceMappingURL=any-valid-moves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-valid-moves.d.ts","sourceRoot":"","sources":["../../src/utils/any-valid-moves.ts"],"names":[],"mappings":"AA+HA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAgC/B"}
@@ -0,0 +1,25 @@
1
+ import type { RuleWithConditions } from "../types/rule-with-conditions.js";
2
+ /** boardgame.io match args + engine `G` after setup (deserialized, many fields). */
3
+ export type BgioResolveState = {
4
+ ctx: Record<string, unknown>;
5
+ G: Record<string, unknown>;
6
+ playerID?: string;
7
+ } & Record<string, unknown>;
8
+ /** Bank API on `G` used by resolution and moves (subset of {@link Bank} methods). */
9
+ export type BankApi = {
10
+ find: (a: unknown, t: unknown, c: unknown) => unknown;
11
+ findAll: (a: unknown, t: unknown, c: unknown) => unknown[];
12
+ findParent: (t: unknown) => unknown;
13
+ getOne: (a: BgioResolveState, rule: RuleWithConditions & {
14
+ state?: unknown;
15
+ }, c: Record<string, unknown>) => unknown;
16
+ getMultiple: (a: BgioResolveState, rule: RuleWithConditions & {
17
+ state?: unknown;
18
+ }, count: number, c: Record<string, unknown>) => unknown[];
19
+ returnToBank: (a: BgioResolveState, entity: {
20
+ entityId: number;
21
+ rule: Record<string, unknown>;
22
+ }) => void;
23
+ };
24
+ export declare function bankOf(bg: BgioResolveState): BankApi;
25
+ //# sourceMappingURL=bgio-resolve-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bgio-resolve-types.d.ts","sourceRoot":"","sources":["../../src/utils/bgio-resolve-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,qFAAqF;AACrF,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACrH,WAAW,EAAE,CACX,CAAC,EAAE,gBAAgB,EACnB,IAAI,EAAE,kBAAkB,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC9C,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACvB,OAAO,EAAE,CAAC;IACf,YAAY,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1G,CAAC;AAEF,wBAAgB,MAAM,CAAE,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAErD"}
@@ -0,0 +1,7 @@
1
+ import type { Condition as ConditionRule } from "../types/bagel-types.js";
2
+ export default function checkConditions(bgioArguments: unknown, conditions?: ConditionRule[], payload?: Record<string, unknown>, context?: Record<string, unknown>): {
3
+ results: unknown[];
4
+ failedAt: unknown;
5
+ conditionsAreMet: boolean;
6
+ };
7
+ //# sourceMappingURL=check-conditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-conditions.d.ts","sourceRoot":"","sources":["../../src/utils/check-conditions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,aAAa,EAAE,OAAO,EACtB,UAAU,GAAE,aAAa,EAAO,EAChC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAoBtC"}
@@ -0,0 +1,5 @@
1
+ import getSteps from "./get-steps.js";
2
+ export default function createPayload(bgioState: Parameters<typeof getSteps>[0], moveRule: Parameters<typeof getSteps>[1], targets: unknown[], _context: Record<string, unknown>): {
3
+ arguments: Record<string, unknown>;
4
+ };
5
+ //# sourceMappingURL=create-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-payload.d.ts","sourceRoot":"","sources":["../../src/utils/create-payload.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,SAAS,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,QAAQ,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,EACxC,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAYlC"}
@@ -0,0 +1,3 @@
1
+ import type { BgioResolveState } from "./bgio-resolve-types.js";
2
+ export default function deserializeBgioArguments(bgioArguments: BgioResolveState): BgioResolveState;
3
+ //# sourceMappingURL=deserialize-bgio-arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserialize-bgio-arguments.d.ts","sourceRoot":"","sources":["../../src/utils/deserialize-bgio-arguments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAE,aAAa,EAAE,gBAAgB,GAAG,gBAAgB,CAKnG"}
@@ -0,0 +1,8 @@
1
+ import type { MoveDefinition } from "../types/bagel-types.js";
2
+ export default function doMoves(bgioArguments: {
3
+ G: unknown;
4
+ [k: string]: unknown;
5
+ }, moves: MoveDefinition[] | undefined, context: {
6
+ game: Record<string, unknown>;
7
+ } & Record<string, unknown>): unknown;
8
+ //# sourceMappingURL=do-moves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"do-moves.d.ts","sourceRoot":"","sources":["../../src/utils/do-moves.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,aAAa,EAAE;IAAE,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACnD,KAAK,EAAE,cAAc,EAAE,YAAK,EAC5B,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAerE"}
@@ -0,0 +1,6 @@
1
+ import type { BgioResolveState } from "./bgio-resolve-types.js";
2
+ export default function entityMatches(bgioArguments: BgioResolveState, matcher: Record<string, unknown>, entity: {
3
+ rule: Record<string, unknown>;
4
+ state?: Record<string, unknown>;
5
+ }, context: Record<string, unknown>): boolean;
6
+ //# sourceMappingURL=entity-matches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-matches.d.ts","sourceRoot":"","sources":["../../src/utils/entity-matches.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAoBhE,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,aAAa,EAAE,gBAAgB,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC1E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAET"}
@@ -0,0 +1,6 @@
1
+ import type { Condition as ConditionRule } from "../types/bagel-types.js";
2
+ export default function findMetCondition(bgioArguments: unknown, conditions: ConditionRule[] | undefined, payload: Record<string, unknown>, context: Record<string, unknown>): {
3
+ [k: string]: unknown;
4
+ conditionRule: unknown;
5
+ } | undefined;
6
+ //# sourceMappingURL=find-met-condition.d.ts.map