@sbugallo/pokecode 0.0.0-stage → 0.2.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.
Files changed (463) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +331 -2
  3. package/dist/adapters/opencode/rpc/contract.d.ts +813 -0
  4. package/dist/adapters/opencode/rpc/contract.d.ts.map +1 -0
  5. package/dist/adapters/opencode/rpc/contract.js +254 -0
  6. package/dist/adapters/opencode/rpc/contract.js.map +1 -0
  7. package/dist/adapters/opencode/server/handlers.d.ts +20 -0
  8. package/dist/adapters/opencode/server/handlers.d.ts.map +1 -0
  9. package/dist/adapters/opencode/server/handlers.js +41 -0
  10. package/dist/adapters/opencode/server/handlers.js.map +1 -0
  11. package/dist/adapters/opencode/server/plugin.d.ts +19 -0
  12. package/dist/adapters/opencode/server/plugin.d.ts.map +1 -0
  13. package/dist/adapters/opencode/server/plugin.js +101 -0
  14. package/dist/adapters/opencode/server/plugin.js.map +1 -0
  15. package/dist/adapters/opencode/server/usage-reconciliation.d.ts +24 -0
  16. package/dist/adapters/opencode/server/usage-reconciliation.d.ts.map +1 -0
  17. package/dist/adapters/opencode/server/usage-reconciliation.js +60 -0
  18. package/dist/adapters/opencode/server/usage-reconciliation.js.map +1 -0
  19. package/dist/adapters/opencode/tui/choices/cards.d.ts +32 -0
  20. package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -0
  21. package/dist/adapters/opencode/tui/choices/cards.jsx +114 -0
  22. package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -0
  23. package/dist/adapters/opencode/tui/choices/encounter.d.ts +13 -0
  24. package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -0
  25. package/dist/adapters/opencode/tui/choices/encounter.jsx +30 -0
  26. package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -0
  27. package/dist/adapters/opencode/tui/client.d.ts +164 -0
  28. package/dist/adapters/opencode/tui/client.d.ts.map +1 -0
  29. package/dist/adapters/opencode/tui/client.js +30 -0
  30. package/dist/adapters/opencode/tui/client.js.map +1 -0
  31. package/dist/adapters/opencode/tui/commands/commands.d.ts +21 -0
  32. package/dist/adapters/opencode/tui/commands/commands.d.ts.map +1 -0
  33. package/dist/adapters/opencode/tui/commands/commands.jsx +78 -0
  34. package/dist/adapters/opencode/tui/commands/commands.jsx.map +1 -0
  35. package/dist/adapters/opencode/tui/components/action-button.d.ts +12 -0
  36. package/dist/adapters/opencode/tui/components/action-button.d.ts.map +1 -0
  37. package/dist/adapters/opencode/tui/components/action-button.jsx +13 -0
  38. package/dist/adapters/opencode/tui/components/action-button.jsx.map +1 -0
  39. package/dist/adapters/opencode/tui/components/move-list.d.ts +13 -0
  40. package/dist/adapters/opencode/tui/components/move-list.d.ts.map +1 -0
  41. package/dist/adapters/opencode/tui/components/move-list.jsx +91 -0
  42. package/dist/adapters/opencode/tui/components/move-list.jsx.map +1 -0
  43. package/dist/adapters/opencode/tui/components/owner.d.ts +3 -0
  44. package/dist/adapters/opencode/tui/components/owner.d.ts.map +1 -0
  45. package/dist/adapters/opencode/tui/components/owner.js +16 -0
  46. package/dist/adapters/opencode/tui/components/owner.js.map +1 -0
  47. package/dist/adapters/opencode/tui/components/sprite.d.ts +13 -0
  48. package/dist/adapters/opencode/tui/components/sprite.d.ts.map +1 -0
  49. package/dist/adapters/opencode/tui/components/sprite.jsx +30 -0
  50. package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -0
  51. package/dist/adapters/opencode/tui/controls/native.d.ts +2 -0
  52. package/dist/adapters/opencode/tui/controls/native.d.ts.map +1 -0
  53. package/dist/adapters/opencode/tui/controls/native.js +22 -0
  54. package/dist/adapters/opencode/tui/controls/native.js.map +1 -0
  55. package/dist/adapters/opencode/tui/dex/actions.d.ts +12 -0
  56. package/dist/adapters/opencode/tui/dex/actions.d.ts.map +1 -0
  57. package/dist/adapters/opencode/tui/dex/actions.jsx +15 -0
  58. package/dist/adapters/opencode/tui/dex/actions.jsx.map +1 -0
  59. package/dist/adapters/opencode/tui/dex/dialog.d.ts +12 -0
  60. package/dist/adapters/opencode/tui/dex/dialog.d.ts.map +1 -0
  61. package/dist/adapters/opencode/tui/dex/dialog.jsx +79 -0
  62. package/dist/adapters/opencode/tui/dex/dialog.jsx.map +1 -0
  63. package/dist/adapters/opencode/tui/export/actions.d.ts +14 -0
  64. package/dist/adapters/opencode/tui/export/actions.d.ts.map +1 -0
  65. package/dist/adapters/opencode/tui/export/actions.js +25 -0
  66. package/dist/adapters/opencode/tui/export/actions.js.map +1 -0
  67. package/dist/adapters/opencode/tui/export/presentation.d.ts +16 -0
  68. package/dist/adapters/opencode/tui/export/presentation.d.ts.map +1 -0
  69. package/dist/adapters/opencode/tui/export/presentation.js +15 -0
  70. package/dist/adapters/opencode/tui/export/presentation.js.map +1 -0
  71. package/dist/adapters/opencode/tui/pc/actions.d.ts +22 -0
  72. package/dist/adapters/opencode/tui/pc/actions.d.ts.map +1 -0
  73. package/dist/adapters/opencode/tui/pc/actions.jsx +47 -0
  74. package/dist/adapters/opencode/tui/pc/actions.jsx.map +1 -0
  75. package/dist/adapters/opencode/tui/pc/details.d.ts +10 -0
  76. package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -0
  77. package/dist/adapters/opencode/tui/pc/details.jsx +51 -0
  78. package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -0
  79. package/dist/adapters/opencode/tui/pc/dialog.d.ts +19 -0
  80. package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -0
  81. package/dist/adapters/opencode/tui/pc/dialog.jsx +263 -0
  82. package/dist/adapters/opencode/tui/pc/dialog.jsx.map +1 -0
  83. package/dist/adapters/opencode/tui/plugin.d.ts +14 -0
  84. package/dist/adapters/opencode/tui/plugin.d.ts.map +1 -0
  85. package/dist/adapters/opencode/tui/plugin.jsx +103 -0
  86. package/dist/adapters/opencode/tui/plugin.jsx.map +1 -0
  87. package/dist/adapters/opencode/tui/sidebar/actions.d.ts +21 -0
  88. package/dist/adapters/opencode/tui/sidebar/actions.d.ts.map +1 -0
  89. package/dist/adapters/opencode/tui/sidebar/actions.js +54 -0
  90. package/dist/adapters/opencode/tui/sidebar/actions.js.map +1 -0
  91. package/dist/adapters/opencode/tui/sidebar/register.d.ts +30 -0
  92. package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -0
  93. package/dist/adapters/opencode/tui/sidebar/register.jsx +21 -0
  94. package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -0
  95. package/dist/adapters/opencode/tui/sidebar/view.d.ts +43 -0
  96. package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -0
  97. package/dist/adapters/opencode/tui/sidebar/view.jsx +166 -0
  98. package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -0
  99. package/dist/adapters/opencode/tui/state/cleanup.d.ts +8 -0
  100. package/dist/adapters/opencode/tui/state/cleanup.d.ts.map +1 -0
  101. package/dist/adapters/opencode/tui/state/cleanup.js +68 -0
  102. package/dist/adapters/opencode/tui/state/cleanup.js.map +1 -0
  103. package/dist/adapters/opencode/tui/state/coordinator.d.ts +122 -0
  104. package/dist/adapters/opencode/tui/state/coordinator.d.ts.map +1 -0
  105. package/dist/adapters/opencode/tui/state/coordinator.js +40 -0
  106. package/dist/adapters/opencode/tui/state/coordinator.js.map +1 -0
  107. package/dist/adapters/opencode/tui/state/setup-failure.d.ts +2 -0
  108. package/dist/adapters/opencode/tui/state/setup-failure.d.ts.map +1 -0
  109. package/dist/adapters/opencode/tui/state/setup-failure.js +10 -0
  110. package/dist/adapters/opencode/tui/state/setup-failure.js.map +1 -0
  111. package/dist/adapters/opencode/tui/travel/actions.d.ts +16 -0
  112. package/dist/adapters/opencode/tui/travel/actions.d.ts.map +1 -0
  113. package/dist/adapters/opencode/tui/travel/actions.jsx +31 -0
  114. package/dist/adapters/opencode/tui/travel/actions.jsx.map +1 -0
  115. package/dist/adapters/opencode/tui/travel/dialog.d.ts +29 -0
  116. package/dist/adapters/opencode/tui/travel/dialog.d.ts.map +1 -0
  117. package/dist/adapters/opencode/tui/travel/dialog.jsx +128 -0
  118. package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -0
  119. package/dist/adapters/opencode/tui/travel/projection.d.ts +29 -0
  120. package/dist/adapters/opencode/tui/travel/projection.d.ts.map +1 -0
  121. package/dist/adapters/opencode/tui/travel/projection.js +44 -0
  122. package/dist/adapters/opencode/tui/travel/projection.js.map +1 -0
  123. package/dist/adapters/presentation/game-notifications.d.ts +13 -0
  124. package/dist/adapters/presentation/game-notifications.d.ts.map +1 -0
  125. package/dist/adapters/presentation/game-notifications.js +111 -0
  126. package/dist/adapters/presentation/game-notifications.js.map +1 -0
  127. package/dist/adapters/presentation/localization.d.ts +12 -0
  128. package/dist/adapters/presentation/localization.d.ts.map +1 -0
  129. package/dist/adapters/presentation/localization.js +65 -0
  130. package/dist/adapters/presentation/localization.js.map +1 -0
  131. package/dist/adapters/presentation/move-details.d.ts +11 -0
  132. package/dist/adapters/presentation/move-details.d.ts.map +1 -0
  133. package/dist/adapters/presentation/move-details.js +47 -0
  134. package/dist/adapters/presentation/move-details.js.map +1 -0
  135. package/dist/adapters/presentation/pc-copy.d.ts +31 -0
  136. package/dist/adapters/presentation/pc-copy.d.ts.map +1 -0
  137. package/dist/adapters/presentation/pc-copy.js +56 -0
  138. package/dist/adapters/presentation/pc-copy.js.map +1 -0
  139. package/dist/adapters/presentation/ui-copy.d.ts +49 -0
  140. package/dist/adapters/presentation/ui-copy.d.ts.map +1 -0
  141. package/dist/adapters/presentation/ui-copy.js +81 -0
  142. package/dist/adapters/presentation/ui-copy.js.map +1 -0
  143. package/dist/adapters/showdown/format-team.d.ts +3 -0
  144. package/dist/adapters/showdown/format-team.d.ts.map +1 -0
  145. package/dist/adapters/showdown/format-team.js +23 -0
  146. package/dist/adapters/showdown/format-team.js.map +1 -0
  147. package/dist/adapters/sprites/cache.d.ts +12 -0
  148. package/dist/adapters/sprites/cache.d.ts.map +1 -0
  149. package/dist/adapters/sprites/cache.js +43 -0
  150. package/dist/adapters/sprites/cache.js.map +1 -0
  151. package/dist/adapters/sprites/contracts.d.ts +20 -0
  152. package/dist/adapters/sprites/contracts.d.ts.map +1 -0
  153. package/dist/adapters/sprites/contracts.js +12 -0
  154. package/dist/adapters/sprites/contracts.js.map +1 -0
  155. package/dist/adapters/sqlite/game-repository.d.ts +14 -0
  156. package/dist/adapters/sqlite/game-repository.d.ts.map +1 -0
  157. package/dist/adapters/sqlite/game-repository.js +48 -0
  158. package/dist/adapters/sqlite/game-repository.js.map +1 -0
  159. package/dist/adapters/sqlite/game-transaction.d.ts +5 -0
  160. package/dist/adapters/sqlite/game-transaction.d.ts.map +1 -0
  161. package/dist/adapters/sqlite/game-transaction.js +35 -0
  162. package/dist/adapters/sqlite/game-transaction.js.map +1 -0
  163. package/dist/adapters/sqlite/initialize-database.d.ts +6 -0
  164. package/dist/adapters/sqlite/initialize-database.d.ts.map +1 -0
  165. package/dist/adapters/sqlite/initialize-database.js +15 -0
  166. package/dist/adapters/sqlite/initialize-database.js.map +1 -0
  167. package/dist/adapters/sqlite/pokemon-mapper.d.ts +23 -0
  168. package/dist/adapters/sqlite/pokemon-mapper.d.ts.map +1 -0
  169. package/dist/adapters/sqlite/pokemon-mapper.js +41 -0
  170. package/dist/adapters/sqlite/pokemon-mapper.js.map +1 -0
  171. package/dist/adapters/sqlite/queries/collection.d.ts +8 -0
  172. package/dist/adapters/sqlite/queries/collection.d.ts.map +1 -0
  173. package/dist/adapters/sqlite/queries/collection.js +58 -0
  174. package/dist/adapters/sqlite/queries/collection.js.map +1 -0
  175. package/dist/adapters/sqlite/queries/game-state.d.ts +4 -0
  176. package/dist/adapters/sqlite/queries/game-state.d.ts.map +1 -0
  177. package/dist/adapters/sqlite/queries/game-state.js +165 -0
  178. package/dist/adapters/sqlite/queries/game-state.js.map +1 -0
  179. package/dist/adapters/sqlite/schema.d.ts +4 -0
  180. package/dist/adapters/sqlite/schema.d.ts.map +1 -0
  181. package/dist/adapters/sqlite/schema.js +284 -0
  182. package/dist/adapters/sqlite/schema.js.map +1 -0
  183. package/dist/adapters/sqlite/starter-selection-store.d.ts +4 -0
  184. package/dist/adapters/sqlite/starter-selection-store.d.ts.map +1 -0
  185. package/dist/adapters/sqlite/starter-selection-store.js +55 -0
  186. package/dist/adapters/sqlite/starter-selection-store.js.map +1 -0
  187. package/dist/adapters/sqlite/transaction-stores/choices.d.ts +7 -0
  188. package/dist/adapters/sqlite/transaction-stores/choices.d.ts.map +1 -0
  189. package/dist/adapters/sqlite/transaction-stores/choices.js +54 -0
  190. package/dist/adapters/sqlite/transaction-stores/choices.js.map +1 -0
  191. package/dist/adapters/sqlite/transaction-stores/encounters.d.ts +7 -0
  192. package/dist/adapters/sqlite/transaction-stores/encounters.d.ts.map +1 -0
  193. package/dist/adapters/sqlite/transaction-stores/encounters.js +59 -0
  194. package/dist/adapters/sqlite/transaction-stores/encounters.js.map +1 -0
  195. package/dist/adapters/sqlite/transaction-stores/exploration.d.ts +7 -0
  196. package/dist/adapters/sqlite/transaction-stores/exploration.d.ts.map +1 -0
  197. package/dist/adapters/sqlite/transaction-stores/exploration.js +65 -0
  198. package/dist/adapters/sqlite/transaction-stores/exploration.js.map +1 -0
  199. package/dist/adapters/sqlite/transaction-stores/pokemon.d.ts +7 -0
  200. package/dist/adapters/sqlite/transaction-stores/pokemon.d.ts.map +1 -0
  201. package/dist/adapters/sqlite/transaction-stores/pokemon.js +160 -0
  202. package/dist/adapters/sqlite/transaction-stores/pokemon.js.map +1 -0
  203. package/dist/adapters/sqlite/transaction-stores/queue-order.d.ts +5 -0
  204. package/dist/adapters/sqlite/transaction-stores/queue-order.d.ts.map +1 -0
  205. package/dist/adapters/sqlite/transaction-stores/queue-order.js +15 -0
  206. package/dist/adapters/sqlite/transaction-stores/queue-order.js.map +1 -0
  207. package/dist/adapters/sqlite/transaction-stores/receipts.d.ts +4 -0
  208. package/dist/adapters/sqlite/transaction-stores/receipts.d.ts.map +1 -0
  209. package/dist/adapters/sqlite/transaction-stores/receipts.js +11 -0
  210. package/dist/adapters/sqlite/transaction-stores/receipts.js.map +1 -0
  211. package/dist/adapters/sqlite/transaction-stores/trainers.d.ts +4 -0
  212. package/dist/adapters/sqlite/transaction-stores/trainers.d.ts.map +1 -0
  213. package/dist/adapters/sqlite/transaction-stores/trainers.js +11 -0
  214. package/dist/adapters/sqlite/transaction-stores/trainers.js.map +1 -0
  215. package/dist/application/contracts/game.d.ts +1412 -0
  216. package/dist/application/contracts/game.d.ts.map +1 -0
  217. package/dist/application/contracts/game.js +126 -0
  218. package/dist/application/contracts/game.js.map +1 -0
  219. package/dist/application/contracts/starter-choice.d.ts +6 -0
  220. package/dist/application/contracts/starter-choice.d.ts.map +1 -0
  221. package/dist/application/contracts/starter-choice.js +2 -0
  222. package/dist/application/contracts/starter-choice.js.map +1 -0
  223. package/dist/application/game.d.ts +34 -0
  224. package/dist/application/game.d.ts.map +1 -0
  225. package/dist/application/game.js +67 -0
  226. package/dist/application/game.js.map +1 -0
  227. package/dist/application/ports/game-transaction.d.ts +172 -0
  228. package/dist/application/ports/game-transaction.d.ts.map +1 -0
  229. package/dist/application/ports/game-transaction.js +2 -0
  230. package/dist/application/ports/game-transaction.js.map +1 -0
  231. package/dist/application/ports/game.d.ts +11 -0
  232. package/dist/application/ports/game.d.ts.map +1 -0
  233. package/dist/application/ports/game.js +2 -0
  234. package/dist/application/ports/game.js.map +1 -0
  235. package/dist/application/ports/starter-selection-store.d.ts +23 -0
  236. package/dist/application/ports/starter-selection-store.d.ts.map +1 -0
  237. package/dist/application/ports/starter-selection-store.js +2 -0
  238. package/dist/application/ports/starter-selection-store.js.map +1 -0
  239. package/dist/application/use-cases/choices.d.ts +9 -0
  240. package/dist/application/use-cases/choices.d.ts.map +1 -0
  241. package/dist/application/use-cases/choices.js +111 -0
  242. package/dist/application/use-cases/choices.js.map +1 -0
  243. package/dist/application/use-cases/choose-regional-starter.d.ts +4 -0
  244. package/dist/application/use-cases/choose-regional-starter.d.ts.map +1 -0
  245. package/dist/application/use-cases/choose-regional-starter.js +37 -0
  246. package/dist/application/use-cases/choose-regional-starter.js.map +1 -0
  247. package/dist/application/use-cases/choose-starter.d.ts +15 -0
  248. package/dist/application/use-cases/choose-starter.d.ts.map +1 -0
  249. package/dist/application/use-cases/choose-starter.js +26 -0
  250. package/dist/application/use-cases/choose-starter.js.map +1 -0
  251. package/dist/application/use-cases/encounters.d.ts +234 -0
  252. package/dist/application/use-cases/encounters.d.ts.map +1 -0
  253. package/dist/application/use-cases/encounters.js +39 -0
  254. package/dist/application/use-cases/encounters.js.map +1 -0
  255. package/dist/application/use-cases/game-command-support.d.ts +16 -0
  256. package/dist/application/use-cases/game-command-support.d.ts.map +1 -0
  257. package/dist/application/use-cases/game-command-support.js +16 -0
  258. package/dist/application/use-cases/game-command-support.js.map +1 -0
  259. package/dist/application/use-cases/game-commands.d.ts +244 -0
  260. package/dist/application/use-cases/game-commands.d.ts.map +1 -0
  261. package/dist/application/use-cases/game-commands.js +14 -0
  262. package/dist/application/use-cases/game-commands.js.map +1 -0
  263. package/dist/application/use-cases/learn-move.d.ts +22 -0
  264. package/dist/application/use-cases/learn-move.d.ts.map +1 -0
  265. package/dist/application/use-cases/learn-move.js +24 -0
  266. package/dist/application/use-cases/learn-move.js.map +1 -0
  267. package/dist/application/use-cases/party.d.ts +8 -0
  268. package/dist/application/use-cases/party.d.ts.map +1 -0
  269. package/dist/application/use-cases/party.js +44 -0
  270. package/dist/application/use-cases/party.js.map +1 -0
  271. package/dist/application/use-cases/record-usage.d.ts +10 -0
  272. package/dist/application/use-cases/record-usage.d.ts.map +1 -0
  273. package/dist/application/use-cases/record-usage.js +145 -0
  274. package/dist/application/use-cases/record-usage.js.map +1 -0
  275. package/dist/application/use-cases/resolve-progression.d.ts +9 -0
  276. package/dist/application/use-cases/resolve-progression.d.ts.map +1 -0
  277. package/dist/application/use-cases/resolve-progression.js +80 -0
  278. package/dist/application/use-cases/resolve-progression.js.map +1 -0
  279. package/dist/application/use-cases/travel.d.ts +7 -0
  280. package/dist/application/use-cases/travel.d.ts.map +1 -0
  281. package/dist/application/use-cases/travel.js +58 -0
  282. package/dist/application/use-cases/travel.js.map +1 -0
  283. package/dist/cli/command.d.ts +16 -0
  284. package/dist/cli/command.d.ts.map +1 -0
  285. package/dist/cli/command.js +73 -0
  286. package/dist/cli/command.js.map +1 -0
  287. package/dist/cli/install.d.ts +9 -0
  288. package/dist/cli/install.d.ts.map +1 -0
  289. package/dist/cli/install.js +23 -0
  290. package/dist/cli/install.js.map +1 -0
  291. package/dist/cli.d.ts +3 -0
  292. package/dist/cli.d.ts.map +1 -0
  293. package/dist/cli.js +124 -0
  294. package/dist/cli.js.map +1 -0
  295. package/dist/domain/choices/choices.d.ts +79 -0
  296. package/dist/domain/choices/choices.d.ts.map +1 -0
  297. package/dist/domain/choices/choices.js +54 -0
  298. package/dist/domain/choices/choices.js.map +1 -0
  299. package/dist/domain/content/catalog.d.ts +241 -0
  300. package/dist/domain/content/catalog.d.ts.map +1 -0
  301. package/dist/domain/content/catalog.js +286 -0
  302. package/dist/domain/content/catalog.js.map +1 -0
  303. package/dist/domain/content/catalogs/abilities-catalog.d.ts +8 -0
  304. package/dist/domain/content/catalogs/abilities-catalog.d.ts.map +1 -0
  305. package/dist/domain/content/catalogs/abilities-catalog.js +2054 -0
  306. package/dist/domain/content/catalogs/abilities-catalog.js.map +1 -0
  307. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts +4949 -0
  308. package/dist/domain/content/catalogs/alola-locations-catalog.d.ts.map +1 -0
  309. package/dist/domain/content/catalogs/alola-locations-catalog.js +5994 -0
  310. package/dist/domain/content/catalogs/alola-locations-catalog.js.map +1 -0
  311. package/dist/domain/content/catalogs/encouter-methods.d.ts +2 -0
  312. package/dist/domain/content/catalogs/encouter-methods.d.ts.map +1 -0
  313. package/dist/domain/content/catalogs/encouter-methods.js +69 -0
  314. package/dist/domain/content/catalogs/encouter-methods.js.map +1 -0
  315. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts +6707 -0
  316. package/dist/domain/content/catalogs/galar-locations-catalog.d.ts.map +1 -0
  317. package/dist/domain/content/catalogs/galar-locations-catalog.js +8089 -0
  318. package/dist/domain/content/catalogs/galar-locations-catalog.js.map +1 -0
  319. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts +2922 -0
  320. package/dist/domain/content/catalogs/hoenn-locations-catalog.d.ts.map +1 -0
  321. package/dist/domain/content/catalogs/hoenn-locations-catalog.js +3541 -0
  322. package/dist/domain/content/catalogs/hoenn-locations-catalog.js.map +1 -0
  323. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts +29 -0
  324. package/dist/domain/content/catalogs/johto-locations-catalog.d.ts.map +1 -0
  325. package/dist/domain/content/catalogs/johto-locations-catalog.js +4151 -0
  326. package/dist/domain/content/catalogs/johto-locations-catalog.js.map +1 -0
  327. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts +29 -0
  328. package/dist/domain/content/catalogs/kalos-locations-catalog.d.ts.map +1 -0
  329. package/dist/domain/content/catalogs/kalos-locations-catalog.js +4346 -0
  330. package/dist/domain/content/catalogs/kalos-locations-catalog.js.map +1 -0
  331. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts +2304 -0
  332. package/dist/domain/content/catalogs/kanto-locations-catalog.d.ts.map +1 -0
  333. package/dist/domain/content/catalogs/kanto-locations-catalog.js +2796 -0
  334. package/dist/domain/content/catalogs/kanto-locations-catalog.js.map +1 -0
  335. package/dist/domain/content/catalogs/moves-catalog.d.ts +62 -0
  336. package/dist/domain/content/catalogs/moves-catalog.d.ts.map +1 -0
  337. package/dist/domain/content/catalogs/moves-catalog.js +12883 -0
  338. package/dist/domain/content/catalogs/moves-catalog.js.map +1 -0
  339. package/dist/domain/content/catalogs/natures-catalog.d.ts +202 -0
  340. package/dist/domain/content/catalogs/natures-catalog.d.ts.map +1 -0
  341. package/dist/domain/content/catalogs/natures-catalog.js +228 -0
  342. package/dist/domain/content/catalogs/natures-catalog.js.map +1 -0
  343. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts +14756 -0
  344. package/dist/domain/content/catalogs/paldea-locations-catalog.d.ts.map +1 -0
  345. package/dist/domain/content/catalogs/paldea-locations-catalog.js +17762 -0
  346. package/dist/domain/content/catalogs/paldea-locations-catalog.js.map +1 -0
  347. package/dist/domain/content/catalogs/pokemon-catalog.d.ts +75 -0
  348. package/dist/domain/content/catalogs/pokemon-catalog.d.ts.map +1 -0
  349. package/dist/domain/content/catalogs/pokemon-catalog.js +100649 -0
  350. package/dist/domain/content/catalogs/pokemon-catalog.js.map +1 -0
  351. package/dist/domain/content/catalogs/regional-forms-catalog.d.ts +3033 -0
  352. package/dist/domain/content/catalogs/regional-forms-catalog.d.ts.map +1 -0
  353. package/dist/domain/content/catalogs/regional-forms-catalog.js +4358 -0
  354. package/dist/domain/content/catalogs/regional-forms-catalog.js.map +1 -0
  355. package/dist/domain/content/catalogs/regions-catalog.d.ts +8 -0
  356. package/dist/domain/content/catalogs/regions-catalog.d.ts.map +1 -0
  357. package/dist/domain/content/catalogs/regions-catalog.js +66 -0
  358. package/dist/domain/content/catalogs/regions-catalog.js.map +1 -0
  359. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts +5955 -0
  360. package/dist/domain/content/catalogs/sinnoh-locations-catalog.d.ts.map +1 -0
  361. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js +7184 -0
  362. package/dist/domain/content/catalogs/sinnoh-locations-catalog.js.map +1 -0
  363. package/dist/domain/content/catalogs/stats-catalog.d.ts +38 -0
  364. package/dist/domain/content/catalogs/stats-catalog.d.ts.map +1 -0
  365. package/dist/domain/content/catalogs/stats-catalog.js +45 -0
  366. package/dist/domain/content/catalogs/stats-catalog.js.map +1 -0
  367. package/dist/domain/content/catalogs/types-catalog.d.ts +8 -0
  368. package/dist/domain/content/catalogs/types-catalog.d.ts.map +1 -0
  369. package/dist/domain/content/catalogs/types-catalog.js +129 -0
  370. package/dist/domain/content/catalogs/types-catalog.js.map +1 -0
  371. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts +29 -0
  372. package/dist/domain/content/catalogs/unova-locations-catalog.d.ts.map +1 -0
  373. package/dist/domain/content/catalogs/unova-locations-catalog.js +6552 -0
  374. package/dist/domain/content/catalogs/unova-locations-catalog.js.map +1 -0
  375. package/dist/domain/content/encounter-catalog.d.ts +27 -0
  376. package/dist/domain/content/encounter-catalog.d.ts.map +1 -0
  377. package/dist/domain/content/encounter-catalog.js +75 -0
  378. package/dist/domain/content/encounter-catalog.js.map +1 -0
  379. package/dist/domain/content/names.d.ts +6 -0
  380. package/dist/domain/content/names.d.ts.map +1 -0
  381. package/dist/domain/content/names.js +7 -0
  382. package/dist/domain/content/names.js.map +1 -0
  383. package/dist/domain/content/schema.d.ts +153 -0
  384. package/dist/domain/content/schema.d.ts.map +1 -0
  385. package/dist/domain/content/schema.js +81 -0
  386. package/dist/domain/content/schema.js.map +1 -0
  387. package/dist/domain/content/sprites.d.ts +5 -0
  388. package/dist/domain/content/sprites.d.ts.map +1 -0
  389. package/dist/domain/content/sprites.js +22 -0
  390. package/dist/domain/content/sprites.js.map +1 -0
  391. package/dist/domain/encounters/encounter.d.ts +56 -0
  392. package/dist/domain/encounters/encounter.d.ts.map +1 -0
  393. package/dist/domain/encounters/encounter.js +74 -0
  394. package/dist/domain/encounters/encounter.js.map +1 -0
  395. package/dist/domain/exploration/exploration.d.ts +63 -0
  396. package/dist/domain/exploration/exploration.d.ts.map +1 -0
  397. package/dist/domain/exploration/exploration.js +48 -0
  398. package/dist/domain/exploration/exploration.js.map +1 -0
  399. package/dist/domain/party/party.d.ts +59 -0
  400. package/dist/domain/party/party.d.ts.map +1 -0
  401. package/dist/domain/party/party.js +19 -0
  402. package/dist/domain/party/party.js.map +1 -0
  403. package/dist/domain/pokemon/model.d.ts +43 -0
  404. package/dist/domain/pokemon/model.d.ts.map +1 -0
  405. package/dist/domain/pokemon/model.js +18 -0
  406. package/dist/domain/pokemon/model.js.map +1 -0
  407. package/dist/domain/pokemon/nature.d.ts +10 -0
  408. package/dist/domain/pokemon/nature.d.ts.map +1 -0
  409. package/dist/domain/pokemon/nature.js +23 -0
  410. package/dist/domain/pokemon/nature.js.map +1 -0
  411. package/dist/domain/pokemon/starter.d.ts +23 -0
  412. package/dist/domain/pokemon/starter.d.ts.map +1 -0
  413. package/dist/domain/pokemon/starter.js +59 -0
  414. package/dist/domain/pokemon/starter.js.map +1 -0
  415. package/dist/domain/pokemon/stats.d.ts +6 -0
  416. package/dist/domain/pokemon/stats.d.ts.map +1 -0
  417. package/dist/domain/pokemon/stats.js +35 -0
  418. package/dist/domain/pokemon/stats.js.map +1 -0
  419. package/dist/domain/pokemon/types.d.ts +37 -0
  420. package/dist/domain/pokemon/types.d.ts.map +1 -0
  421. package/dist/domain/pokemon/types.js +30 -0
  422. package/dist/domain/pokemon/types.js.map +1 -0
  423. package/dist/domain/progression/catalog.d.ts +34 -0
  424. package/dist/domain/progression/catalog.d.ts.map +1 -0
  425. package/dist/domain/progression/catalog.js +258 -0
  426. package/dist/domain/progression/catalog.js.map +1 -0
  427. package/dist/domain/progression/level-evolution.d.ts +13 -0
  428. package/dist/domain/progression/level-evolution.d.ts.map +1 -0
  429. package/dist/domain/progression/level-evolution.js +245 -0
  430. package/dist/domain/progression/level-evolution.js.map +1 -0
  431. package/dist/domain/progression/policies.d.ts +38 -0
  432. package/dist/domain/progression/policies.d.ts.map +1 -0
  433. package/dist/domain/progression/policies.js +78 -0
  434. package/dist/domain/progression/policies.js.map +1 -0
  435. package/dist/domain/shared/identifiers.d.ts +12 -0
  436. package/dist/domain/shared/identifiers.d.ts.map +1 -0
  437. package/dist/domain/shared/identifiers.js +7 -0
  438. package/dist/domain/shared/identifiers.js.map +1 -0
  439. package/dist/domain/shared/language.d.ts +7 -0
  440. package/dist/domain/shared/language.d.ts.map +1 -0
  441. package/dist/domain/shared/language.js +3 -0
  442. package/dist/domain/shared/language.js.map +1 -0
  443. package/dist/domain/trainer/trainer.d.ts +7 -0
  444. package/dist/domain/trainer/trainer.d.ts.map +1 -0
  445. package/dist/domain/trainer/trainer.js +2 -0
  446. package/dist/domain/trainer/trainer.js.map +1 -0
  447. package/dist/domain/usage/usage.d.ts +21 -0
  448. package/dist/domain/usage/usage.d.ts.map +1 -0
  449. package/dist/domain/usage/usage.js +23 -0
  450. package/dist/domain/usage/usage.js.map +1 -0
  451. package/dist/index.d.ts +2 -0
  452. package/dist/index.d.ts.map +1 -0
  453. package/dist/index.js +183817 -0
  454. package/dist/index.js.map +1 -0
  455. package/dist/package.json +10 -0
  456. package/dist/rpc.d.ts +2 -0
  457. package/dist/rpc.d.ts.map +1 -0
  458. package/dist/rpc.js +568 -0
  459. package/dist/rpc.js.map +1 -0
  460. package/dist/tui.d.ts +2 -0
  461. package/dist/tui.d.ts.map +1 -0
  462. package/dist/tui.js +184828 -0
  463. package/package.json +83 -4
@@ -0,0 +1,245 @@
1
+ const baselinePokemonAnilLevels = {
2
+ "aipom>ambipom": 32,
3
+ "applin>dipplin": 28,
4
+ "basculin>basculegion": 40,
5
+ "bisharp>kingambit": 42,
6
+ "boldore>gigalith": 40,
7
+ "bonsly>sudowoodo": 25,
8
+ "bramblin>brambleghast": 30,
9
+ "budew>roselia": 20,
10
+ "cetoddle>cetitan": 34,
11
+ "charjabug>vikavolt": 36,
12
+ "chingling>chimecho": 30,
13
+ "clamperl>huntail": 40,
14
+ "clobbopus>grapploct": 30,
15
+ "crabrawler>crabominable": 36,
16
+ "dipplin>hydrapple": 50,
17
+ "dunsparce>dudunsparce": 37,
18
+ "duraludon>archaludon": 55,
19
+ "dusclops>dusknoir": 45,
20
+ "electabuzz>electivire": 50,
21
+ "feebas>milotic": 37,
22
+ "gimmighoul>gholdengo": 50,
23
+ "girafarig>farigiraf": 40,
24
+ "gligar>gliscor": 42,
25
+ "graveler>golem": 45,
26
+ "gurdurr>conkeldurr": 45,
27
+ "haunter>gengar": 45,
28
+ "karrablast>escavalier": 32,
29
+ "kadabra>alakazam": 45,
30
+ "lickitung>lickilicky": 35,
31
+ "magmar>magmortar": 50,
32
+ "magneton>magnezone": 45,
33
+ "machoke>machamp": 45,
34
+ "mantyke>mantine": 24,
35
+ "meltan>melmetal": 50,
36
+ "onix>steelix": 42,
37
+ "phantump>trevenant": 38,
38
+ "piloswine>mamoswine": 40,
39
+ "poipole>naganadel": 50,
40
+ "porygon>porygon2": 30,
41
+ "primeape>annihilape": 44,
42
+ "pumpkaboo>gourgeist": 37,
43
+ "rhydon>rhyperior": 50,
44
+ "rellor>rabsca": 30,
45
+ "scyther>scizor": 45,
46
+ "seadra>kingdra": 50,
47
+ "shelmet>accelgor": 32,
48
+ "stantler>wyrdeer": 40,
49
+ "steenee>tsareena": 30,
50
+ "tandemaus>maushold": 25,
51
+ "tangela>tangrowth": 40,
52
+ "ursaring>ursaluna": 45,
53
+ "yanma>yanmega": 38,
54
+ };
55
+ const pokemonAnilLevels = {
56
+ ...baselinePokemonAnilLevels,
57
+ "aipom>ambipom": 32,
58
+ "applin>dipplin": 28,
59
+ "axew>fraxure": 30,
60
+ "baltoy>claydol": 33,
61
+ "basculin>basculegion": 40,
62
+ "bisharp>kingambit": 42,
63
+ "boldore>gigalith": 40,
64
+ "bonsly>sudowoodo": 25,
65
+ "bramblin>brambleghast": 30,
66
+ "brionne>primarina": 36,
67
+ "budew>roselia": 20,
68
+ "cacnea>cacturne": 30,
69
+ "carkol>coalossal": 40,
70
+ "caterpie>metapod": 9,
71
+ "cetoddle>cetitan": 34,
72
+ "charjabug>vikavolt": 36,
73
+ "chewtle>drednaw": 24,
74
+ "chingling>chimecho": 30,
75
+ "clamperl>huntail": 40,
76
+ "clauncher>clawitzer": 35,
77
+ "clobbopus>grapploct": 30,
78
+ "crabrawler>crabominable": 36,
79
+ "cubchoo>beartic": 34,
80
+ "dartrix>decidueye": 36,
81
+ "deerling>sawsbuck": 32,
82
+ "deino>zweilous": 36,
83
+ "dewpider>araquanid": 26,
84
+ "dipplin>hydrapple": 50,
85
+ "drizzile>inteleon": 36,
86
+ "ducklett>swanna": 30,
87
+ "dunsparce>dudunsparce": 37,
88
+ "duosion>reuniclus": 38,
89
+ "duraludon>archaludon": 55,
90
+ "dusclops>dusknoir": 45,
91
+ "duskull>dusclops": 30,
92
+ "dwebble>crustle": 32,
93
+ "electabuzz>electivire": 50,
94
+ "elekid>electabuzz": 25,
95
+ "elgyem>beheeyem": 33,
96
+ "feebas>milotic": 37,
97
+ "foongus>amoonguss": 36,
98
+ "frillish>jellicent": 35,
99
+ "gimmighoul>gholdengo": 50,
100
+ "girafarig>farigiraf": 40,
101
+ "glameow>purugly": 28,
102
+ "gligar>gliscor": 42,
103
+ "golett>golurk": 35,
104
+ "gothita>gothorita": 25,
105
+ "gothorita>gothitelle": 38,
106
+ "graveler>golem": 45,
107
+ "grimer>muk": 32,
108
+ "gulpin>swalot": 28,
109
+ "gurdurr>conkeldurr": 45,
110
+ "haunter>gengar": 45,
111
+ "hoothoot>noctowl": 24,
112
+ "joltik>galvantula": 32,
113
+ "kabuto>kabutops": 35,
114
+ "kadabra>alakazam": 45,
115
+ "kakuna>beedrill": 16,
116
+ "karrablast>escavalier": 32,
117
+ "klang>klinklang": 40,
118
+ "klink>klang": 25,
119
+ "koffing>weezing": 30,
120
+ "kricketot>kricketune": 15,
121
+ "larvesta>volcarona": 55,
122
+ "ledyba>ledian": 21,
123
+ "lickitung>lickilicky": 35,
124
+ "litleo>pyroar": 30,
125
+ "litten>torracat": 16,
126
+ "litwick>lampent": 34,
127
+ "machoke>machamp": 45,
128
+ "machop>machoke": 26,
129
+ "magby>magmar": 25,
130
+ "magmar>magmortar": 50,
131
+ "magneton>magnezone": 45,
132
+ "mantyke>mantine": 24,
133
+ "meltan>melmetal": 50,
134
+ "metapod>butterfree": 16,
135
+ "mienfoo>mienshao": 34,
136
+ "mime-jr>mr-mime": 20,
137
+ "natu>xatu": 28,
138
+ "noibat>noivern": 42,
139
+ "nosepass>probopass": 40,
140
+ "omanyte>omastar": 35,
141
+ "onix>steelix": 42,
142
+ "paras>parasect": 22,
143
+ "pawniard>bisharp": 32,
144
+ "phantump>trevenant": 38,
145
+ "piloswine>mamoswine": 40,
146
+ "poipole>naganadel": 50,
147
+ "poliwag>poliwhirl": 22,
148
+ "popplio>brionne": 16,
149
+ "porygon>porygon2": 30,
150
+ "porygon2>porygon-z": 50,
151
+ "primeape>annihilape": 44,
152
+ "psyduck>golduck": 30,
153
+ "pumpkaboo>gourgeist": 37,
154
+ "raboot>cinderace": 36,
155
+ "rellor>rabsca": 30,
156
+ "rhydon>rhyperior": 50,
157
+ "rowlet>dartrix": 16,
158
+ "rufflet>braviary": 35,
159
+ "salandit>salazzle": 30,
160
+ "sandile>krokorok": 25,
161
+ "sandygast>palossand": 40,
162
+ "scraggy>scrafty": 32,
163
+ "scyther>scizor": 45,
164
+ "seadra>kingdra": 50,
165
+ "sentret>furret": 25,
166
+ "shelmet>accelgor": 32,
167
+ "shinx>luxio": 16,
168
+ "shuppet>banette": 32,
169
+ "silicobra>sandaconda": 31,
170
+ "skorupi>drapion": 32,
171
+ "skrelp>dragalge": 35,
172
+ "skwovet>greedent": 20,
173
+ "slugma>magcargo": 33,
174
+ "sneasel>weavile": 38,
175
+ "solosis>duosion": 25,
176
+ "spinarak>ariados": 21,
177
+ "spritzee>aromatisse": 27,
178
+ "stantler>wyrdeer": 40,
179
+ "steenee>tsareena": 30,
180
+ "stufful>bewear": 30,
181
+ "surskit>masquerain": 25,
182
+ "swirlix>slurpuff": 27,
183
+ "tangela>tangrowth": 40,
184
+ "tarountula>spidops": 20,
185
+ "thwackey>rillaboom": 36,
186
+ "timburr>gurdurr": 23,
187
+ "torracat>incineroar": 36,
188
+ "trubbish>garbodor": 26,
189
+ "tympole>palpitoad": 20,
190
+ "tynamo>eelektrik": 30,
191
+ "ursaring>ursaluna": 45,
192
+ "vanillish>vanilluxe": 40,
193
+ "vanillite>vanillish": 25,
194
+ "vullaby>mandibuzz": 35,
195
+ "weedle>kakuna": 9,
196
+ "yanma>yanmega": 38,
197
+ "zweilous>hydreigon": 55,
198
+ };
199
+ function evolutionKey(sourceSpeciesId, targetSpeciesId) {
200
+ return `${sourceSpeciesId}>${targetSpeciesId}`;
201
+ }
202
+ // Every genuine branch must be offered together, before any automatic evolution
203
+ // can consume the source species. Preserve native or reviewed Añil milestones.
204
+ const branchingEvolutionLevels = {
205
+ applin: 28,
206
+ kirlia: 30,
207
+ nincada: 20,
208
+ poliwhirl: 36,
209
+ scyther: 45,
210
+ slowpoke: 37,
211
+ snorunt: 42,
212
+ };
213
+ const regionalAnilLevels = {
214
+ "graveler-alola>golem-alola": 45,
215
+ "grimer-alola>muk-alola": 32,
216
+ };
217
+ export function levelForEvolution(evolution) {
218
+ const branchLevel = branchingEvolutionLevels[evolution.sourceSpeciesId];
219
+ if (branchLevel !== undefined)
220
+ return branchLevel;
221
+ const copied = regionalAnilLevels[evolutionKey(evolution.sourceSpeciesId, evolution.targetSpeciesId)] ??
222
+ pokemonAnilLevels[evolutionKey(evolution.sourceSpeciesId, evolution.targetSpeciesId)];
223
+ if (copied !== undefined)
224
+ return copied;
225
+ const nativeLevel = evolution.conditions.find((condition) => condition.kind === "level" && typeof condition.value === "number");
226
+ if (nativeLevel !== undefined && typeof nativeLevel.value === "number")
227
+ return nativeLevel.value;
228
+ if (evolution.sourceSpeciesId === "eevee")
229
+ return 25;
230
+ if (evolution.sourceSpeciesId === "sneasel" && evolution.targetSpeciesId === "sneasler")
231
+ return 38;
232
+ if (evolution.sourceSpeciesId === "mime-jr" || evolution.sourceSpeciesId === "happiny")
233
+ return 25;
234
+ switch (evolution.method) {
235
+ case "happiness":
236
+ return 30;
237
+ case "stone":
238
+ return 36;
239
+ case "trade":
240
+ case "other":
241
+ case "level":
242
+ return 40;
243
+ }
244
+ }
245
+ //# sourceMappingURL=level-evolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-evolution.js","sourceRoot":"","sources":["../../../src/domain/progression/level-evolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { Move } from "../pokemon/types.js";
2
+ export type GrowthRate = "fast" | "medium" | "medium-fast" | "medium-slow" | "slow" | "slow-then-very-fast" | "fast-then-very-slow";
3
+ export declare function experienceForNextLevel(growthRate: GrowthRate, level: number): number;
4
+ export type LevelAdvance = {
5
+ readonly level: number;
6
+ readonly experience: number;
7
+ readonly experienceCost: number;
8
+ };
9
+ /** Advance one level at a time so each level's move and evolution choices can be resolved. */
10
+ export declare function nextLevelAdvance(input: {
11
+ readonly level: number;
12
+ readonly experience: number;
13
+ readonly growthRate: GrowthRate;
14
+ }): LevelAdvance | null;
15
+ export type MoveLearningDecision = {
16
+ readonly kind: "already-known";
17
+ } | {
18
+ readonly kind: "learn";
19
+ readonly position: number;
20
+ } | {
21
+ readonly kind: "choice";
22
+ };
23
+ export declare function moveLearningDecision(currentMoves: readonly Pick<Move, "id">[], learnedMove: Pick<Move, "id">, maximumMoves?: number): MoveLearningDecision;
24
+ export type MoveReplacementDecision = {
25
+ readonly kind: "invalid";
26
+ } | {
27
+ readonly kind: "decline";
28
+ } | {
29
+ readonly kind: "replace";
30
+ readonly position: number;
31
+ };
32
+ export declare function moveReplacementDecision(currentMoves: readonly {
33
+ readonly id: string;
34
+ readonly position: number;
35
+ }[], offeredMoveId: string, selectedMoveId: string): MoveReplacementDecision;
36
+ export declare function normalizeGrowthRate(value: string): GrowthRate;
37
+ export declare function regionalEvolutionTarget(regionId: string | null | undefined, sourceSpeciesId: string, targetSpeciesId: string): string;
38
+ //# sourceMappingURL=policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../../src/domain/progression/policies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,QAAQ,GACR,aAAa,GACb,aAAa,GACb,MAAM,GACN,qBAAqB,GACrB,qBAAqB,CAAA;AAEzB,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpF;AAoBD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAChC,GAAG,YAAY,GAAG,IAAI,CAStB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE/B,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EACzC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAC7B,YAAY,SAAI,GACf,oBAAoB,CAKtB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAC3E,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,uBAAuB,CAMzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAa7D;AAcD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,MAAM,CAKR"}
@@ -0,0 +1,78 @@
1
+ export function experienceForNextLevel(growthRate, level) {
2
+ return totalExperience(growthRate, level + 1) - totalExperience(growthRate, level);
3
+ }
4
+ function totalExperience(growthRate, level) {
5
+ switch (growthRate) {
6
+ case "medium":
7
+ case "medium-fast":
8
+ return level ** 3;
9
+ case "medium-slow":
10
+ return Math.floor((6 * level ** 3) / 5 - 15 * level ** 2 + 100 * level - 140);
11
+ case "slow":
12
+ return Math.floor((5 * level ** 3) / 4);
13
+ case "fast":
14
+ return Math.floor((4 * level ** 3) / 5);
15
+ case "slow-then-very-fast":
16
+ return Math.floor((level ** 3 * (100 - level)) / 50);
17
+ case "fast-then-very-slow":
18
+ return Math.floor((level ** 3 * (level + 1)) / 50);
19
+ }
20
+ }
21
+ /** Advance one level at a time so each level's move and evolution choices can be resolved. */
22
+ export function nextLevelAdvance(input) {
23
+ if (input.level >= 100)
24
+ return null;
25
+ const experienceCost = experienceForNextLevel(input.growthRate, input.level);
26
+ if (!(input.experience >= experienceCost))
27
+ return null;
28
+ return {
29
+ level: input.level + 1,
30
+ experience: input.experience - experienceCost,
31
+ experienceCost,
32
+ };
33
+ }
34
+ export function moveLearningDecision(currentMoves, learnedMove, maximumMoves = 4) {
35
+ if (currentMoves.some((move) => move.id === learnedMove.id))
36
+ return { kind: "already-known" };
37
+ if (currentMoves.length < maximumMoves)
38
+ return { kind: "learn", position: currentMoves.length + 1 };
39
+ return { kind: "choice" };
40
+ }
41
+ export function moveReplacementDecision(currentMoves, offeredMoveId, selectedMoveId) {
42
+ if (selectedMoveId === offeredMoveId)
43
+ return { kind: "decline" };
44
+ const selected = currentMoves.find((move) => move.id === selectedMoveId);
45
+ return selected === undefined
46
+ ? { kind: "invalid" }
47
+ : { kind: "replace", position: selected.position };
48
+ }
49
+ export function normalizeGrowthRate(value) {
50
+ switch (value) {
51
+ case "fast":
52
+ case "medium":
53
+ case "medium-fast":
54
+ case "medium-slow":
55
+ case "slow":
56
+ case "slow-then-very-fast":
57
+ case "fast-then-very-slow":
58
+ return value;
59
+ default:
60
+ return "medium";
61
+ }
62
+ }
63
+ const regionalEvolutionTargets = {
64
+ alola: {
65
+ "pikachu>raichu": "raichu-alola",
66
+ "cubone>marowak": "marowak-alola",
67
+ "exeggcute>exeggutor": "exeggutor-alola",
68
+ },
69
+ galar: {
70
+ "koffing>weezing": "weezing-galar",
71
+ "mime-jr>mr-mime": "mr-mime-galar",
72
+ },
73
+ };
74
+ export function regionalEvolutionTarget(regionId, sourceSpeciesId, targetSpeciesId) {
75
+ return (regionalEvolutionTargets[regionId ?? ""]?.[`${sourceSpeciesId}>${targetSpeciesId}`] ??
76
+ targetSpeciesId);
77
+ }
78
+ //# sourceMappingURL=policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../../src/domain/progression/policies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ export declare const pokemonIdSchema: z.core.$ZodBranded<z.ZodString, "PokemonId", "out">;
3
+ export type PokemonId = z.infer<typeof pokemonIdSchema>;
4
+ export declare const trainerIdSchema: z.core.$ZodBranded<z.ZodString, "TrainerId", "out">;
5
+ export type TrainerId = z.infer<typeof trainerIdSchema>;
6
+ export declare const regionIdSchema: z.core.$ZodBranded<z.ZodString, "RegionId", "out">;
7
+ export type RegionId = z.infer<typeof regionIdSchema>;
8
+ export declare const locationIdSchema: z.core.$ZodBranded<z.ZodString, "LocationId", "out">;
9
+ export type LocationId = z.infer<typeof locationIdSchema>;
10
+ export declare const speciesIdSchema: z.core.$ZodBranded<z.ZodString, "SpeciesId", "out">;
11
+ export type SpeciesId = z.infer<typeof speciesIdSchema>;
12
+ //# sourceMappingURL=identifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../../src/domain/shared/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,eAAe,qDAAyC,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,eAAe,qDAAyC,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,cAAc,oDAAwC,CAAA;AACnE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAErD,eAAO,MAAM,gBAAgB,sDAA0C,CAAA;AACvE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,eAAO,MAAM,eAAe,qDAAyC,CAAA;AACrE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export const pokemonIdSchema = z.string().uuid().brand();
3
+ export const trainerIdSchema = z.string().uuid().brand();
4
+ export const regionIdSchema = z.string().min(1).brand();
5
+ export const locationIdSchema = z.string().min(1).brand();
6
+ export const speciesIdSchema = z.string().min(1).brand();
7
+ //# sourceMappingURL=identifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../../src/domain/shared/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAe,CAAA;AAGrE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAe,CAAA;AAGrE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAc,CAAA;AAGnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAgB,CAAA;AAGvE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAe,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export declare const languageSchema: z.ZodDefault<z.ZodEnum<{
3
+ en: "en";
4
+ es: "es";
5
+ }>>;
6
+ export type Language = z.infer<typeof languageSchema>;
7
+ //# sourceMappingURL=language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/domain/shared/language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,cAAc;;;GAAqC,CAAA;AAChE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { z } from "zod";
2
+ export const languageSchema = z.enum(["en", "es"]).default("en");
3
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.js","sourceRoot":"","sources":["../../../src/domain/shared/language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { LocationId, RegionId, TrainerId } from "../shared/identifiers.js";
2
+ export type Trainer = {
3
+ readonly id: TrainerId;
4
+ readonly regionId: RegionId;
5
+ readonly locationId: LocationId;
6
+ };
7
+ //# sourceMappingURL=trainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trainer.d.ts","sourceRoot":"","sources":["../../../src/domain/trainer/trainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAE/E,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAChC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trainer.js","sourceRoot":"","sources":["../../../src/domain/trainer/trainer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ export type TokenUsage = {
2
+ readonly inputTokens: number;
3
+ readonly outputTokens: number;
4
+ readonly reasoningTokens: number;
5
+ readonly cacheReadTokens: number;
6
+ readonly cacheWriteTokens: number;
7
+ };
8
+ export declare function totalTokens(input: TokenUsage): number;
9
+ export declare function experienceFromTokens(tokenCount: number, config: {
10
+ readonly xpTokensPerPoint: number;
11
+ }): number;
12
+ export declare function usageReceiptKey(input: {
13
+ readonly sessionId: string;
14
+ readonly messageId: string;
15
+ }): string;
16
+ export declare function receiptDisposition(input: {
17
+ readonly duplicate: boolean;
18
+ readonly active: boolean;
19
+ readonly frozen: boolean;
20
+ }): "duplicate" | "inactive" | "frozen-discarded" | "applied";
21
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/domain/usage/usage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQrD;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;IAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAC5C,MAAM,CAER;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,GAAG,MAAM,CAET;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,GAAG,WAAW,GAAG,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAK5D"}
@@ -0,0 +1,23 @@
1
+ export function totalTokens(input) {
2
+ return (input.inputTokens +
3
+ input.outputTokens +
4
+ input.reasoningTokens +
5
+ input.cacheReadTokens +
6
+ input.cacheWriteTokens);
7
+ }
8
+ export function experienceFromTokens(tokenCount, config) {
9
+ return tokenCount / config.xpTokensPerPoint;
10
+ }
11
+ export function usageReceiptKey(input) {
12
+ return `${input.sessionId}:${input.messageId}`;
13
+ }
14
+ export function receiptDisposition(input) {
15
+ if (input.duplicate)
16
+ return "duplicate";
17
+ if (!input.active)
18
+ return "inactive";
19
+ if (input.frozen)
20
+ return "frozen-discarded";
21
+ return "applied";
22
+ }
23
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/domain/usage/usage.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,CACL,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,gBAAgB,CACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,MAA6C;IAE7C,OAAO,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAG/B;IACC,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,WAAW,CAAA;IACvC,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAA;IACpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,kBAAkB,CAAA;IAC3C,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./adapters/opencode/server/plugin.js";
2
+ //# 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,EAAE,MAAM,sCAAsC,CAAA"}