@sbugallo/pokecode 0.0.0 → 0.2.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 (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 +173 -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 +113 -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 +82 -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 +183819 -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 +78 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA"}
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@sbugallo/pokecode-local",
3
+ "private": true,
4
+ "type": "module",
5
+ "main": "./index.js",
6
+ "exports": {
7
+ ".": "./index.js",
8
+ "./tui": "./tui.js"
9
+ }
10
+ }
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { PokecodeRpc } from "./adapters/opencode/rpc/contract.js";
2
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
package/dist/rpc.js ADDED
@@ -0,0 +1,568 @@
1
+ // @bun
2
+ // src/adapters/opencode/rpc/contract.ts
3
+ import { Rpc } from "@opencode/plugin/rpc";
4
+
5
+ // src/application/contracts/game.ts
6
+ import { z as z8 } from "zod";
7
+
8
+ // src/domain/encounters/encounter.ts
9
+ import { z as z3 } from "zod";
10
+
11
+ // src/domain/pokemon/types.ts
12
+ import { z } from "zod";
13
+ var moveSchema = z.object({
14
+ id: z.string().min(1),
15
+ name: z.string().min(1)
16
+ });
17
+ var ivsSchema = z.object({
18
+ hp: z.number().int().min(0).max(31),
19
+ attack: z.number().int().min(0).max(31),
20
+ defense: z.number().int().min(0).max(31),
21
+ specialAttack: z.number().int().min(0).max(31),
22
+ specialDefense: z.number().int().min(0).max(31),
23
+ speed: z.number().int().min(0).max(31)
24
+ });
25
+ var evsSchema = z.object({
26
+ hp: z.literal(0),
27
+ attack: z.literal(0),
28
+ defense: z.literal(0),
29
+ specialAttack: z.literal(0),
30
+ specialDefense: z.literal(0),
31
+ speed: z.literal(0)
32
+ });
33
+ var pokemonGenderSchema = z.enum(["male", "female", "genderless"]);
34
+ var availablePokemonGendersSchema = z.array(z.enum(["male", "female", "unknown"])).min(1).max(2).refine((genders) => new Set(genders).size === genders.length, "Genders must be unique").refine((genders) => !genders.includes("unknown") || genders.length === 1, "Unknown cannot be combined with male or female");
35
+
36
+ // src/domain/shared/identifiers.ts
37
+ import { z as z2 } from "zod";
38
+ var pokemonIdSchema = z2.string().uuid().brand();
39
+ var trainerIdSchema = z2.string().uuid().brand();
40
+ var regionIdSchema = z2.string().min(1).brand();
41
+ var locationIdSchema = z2.string().min(1).brand();
42
+ var speciesIdSchema = z2.string().min(1).brand();
43
+
44
+ // src/domain/encounters/encounter.ts
45
+ var encounterKindSchema = z3.enum(["ordinary", "special"]);
46
+ var pendingEncounterSchema = z3.object({
47
+ id: z3.string().uuid(),
48
+ kind: encounterKindSchema,
49
+ speciesId: speciesIdSchema,
50
+ name: z3.string().min(1),
51
+ level: z3.number().int().min(1).max(100),
52
+ gender: pokemonGenderSchema,
53
+ shiny: z3.boolean(),
54
+ spriteUrl: z3.string().url()
55
+ });
56
+ function randomInteger(minimum, maximum, random) {
57
+ return minimum + Math.min(Math.floor(random() * (maximum - minimum + 1)), maximum - minimum);
58
+ }
59
+ function randomEncounterInterval(minimumTokens, maximumTokens, random) {
60
+ return randomInteger(minimumTokens, maximumTokens, random);
61
+ }
62
+ function selectWeightedEncounter(candidates, random) {
63
+ const totalWeight = candidates.reduce((total, candidate) => total + candidate.weight, 0);
64
+ if (totalWeight === 0)
65
+ return null;
66
+ let remaining = random() * totalWeight;
67
+ for (const candidate of candidates) {
68
+ remaining -= candidate.weight;
69
+ if (remaining < 0)
70
+ return candidate;
71
+ }
72
+ return candidates.at(-1) ?? null;
73
+ }
74
+ function selectSpecialEncounter(candidates, random) {
75
+ const roll = candidates.length > 0 ? random() : 1;
76
+ return roll < candidates.length * 0.01 ? candidates[Math.min(Math.floor(roll * 100), candidates.length - 1)] ?? null : null;
77
+ }
78
+ function eligibleOrdinaryEncounters(candidates, maximumLevel) {
79
+ return candidates.filter((candidate) => candidate.minimumLevel <= maximumLevel).map((candidate) => ({
80
+ ...candidate,
81
+ maximumLevel: Math.min(candidate.maximumLevel, maximumLevel)
82
+ }));
83
+ }
84
+ function eligibleSpecialEncounters(candidates, maximumLevel, alreadyTriggered) {
85
+ return candidates.filter((candidate) => candidate.minimumLevel <= maximumLevel && !alreadyTriggered.has(candidate.specialEncounterId));
86
+ }
87
+ function generateEncounterAttributes(minimumLevel, maximumLevel, availableGenders, random) {
88
+ if (availableGenders.length === 0)
89
+ throw new Error("Encounter species has no available genders");
90
+ const level = randomInteger(minimumLevel, maximumLevel, random);
91
+ const selectedGender = availableGenders[randomInteger(0, availableGenders.length - 1, random)];
92
+ if (selectedGender === undefined)
93
+ throw new Error("Invalid encounter gender selection");
94
+ const gender = selectedGender === "unknown" ? "genderless" : selectedGender;
95
+ const shiny = random() < 1 / 4096;
96
+ return { level, gender, shiny };
97
+ }
98
+ function generateCapturedAttributes(random, natures) {
99
+ const natureIndex = randomInteger(0, natures.length - 1, random);
100
+ const nature = natures[natureIndex] ?? "Hardy";
101
+ const ivs = [
102
+ randomInteger(0, 31, random),
103
+ randomInteger(0, 31, random),
104
+ randomInteger(0, 31, random),
105
+ randomInteger(0, 31, random),
106
+ randomInteger(0, 31, random),
107
+ randomInteger(0, 31, random)
108
+ ];
109
+ return { nature, ivs };
110
+ }
111
+
112
+ // src/domain/exploration/exploration.ts
113
+ import { z as z4 } from "zod";
114
+ var locationStatusSchema = z4.object({
115
+ id: locationIdSchema,
116
+ name: z4.string().min(1),
117
+ unlocked: z4.boolean(),
118
+ encounterless: z4.boolean()
119
+ });
120
+ var explorationStatusSchema = z4.object({
121
+ regions: z4.array(z4.object({
122
+ id: z4.string().min(1),
123
+ name: z4.string().min(1),
124
+ visited: z4.boolean(),
125
+ completed: z4.boolean(),
126
+ locations: z4.array(locationStatusSchema)
127
+ })).default([]),
128
+ locations: z4.array(locationStatusSchema).min(1),
129
+ locationUnlockProgress: z4.number().int().nonnegative(),
130
+ locationUnlockThreshold: z4.number().int().positive(),
131
+ regionComplete: z4.boolean()
132
+ });
133
+ function calculateUnlockProgress(input) {
134
+ if (!input.currentLocationIsLatestUnlocked)
135
+ return { kind: "not-latest" };
136
+ if (!input.hasNextLocation)
137
+ return { kind: "complete-region", tokenCount: input.currentTokens };
138
+ const tokenCount = input.currentTokens + input.gainedTokens;
139
+ return tokenCount < input.threshold ? { kind: "accumulating", tokenCount } : { kind: "unlock", tokenCount: 0 };
140
+ }
141
+ function locationTravelEligibility(input) {
142
+ if (!input.locationExists)
143
+ return "invalid-location";
144
+ return input.unlocked ? "allowed" : "locked-location";
145
+ }
146
+ function regionTravelEligibility(input) {
147
+ if (!input.regionExists)
148
+ return "invalid-region";
149
+ if (!input.currentRegionComplete)
150
+ return "region-incomplete";
151
+ if (input.targetAlreadyVisited)
152
+ return "already-visited";
153
+ return "allowed";
154
+ }
155
+
156
+ // src/domain/party/party.ts
157
+ import { z as z6 } from "zod";
158
+
159
+ // src/domain/pokemon/model.ts
160
+ import { z as z5 } from "zod";
161
+ var pokemonInstanceSchema = z5.object({
162
+ id: pokemonIdSchema,
163
+ speciesId: speciesIdSchema,
164
+ name: z5.string().min(1),
165
+ gender: pokemonGenderSchema.default("genderless"),
166
+ level: z5.number().int().min(1).max(100),
167
+ experience: z5.number().nonnegative(),
168
+ ability: z5.string().min(1),
169
+ nature: z5.string().min(1),
170
+ shiny: z5.boolean(),
171
+ ivs: ivsSchema,
172
+ evs: evsSchema,
173
+ moves: z5.array(moveSchema).max(4)
174
+ });
175
+
176
+ // src/domain/party/party.ts
177
+ var partySlotSchema = z6.object({
178
+ position: z6.number().int().min(1).max(6),
179
+ pokemon: pokemonInstanceSchema.nullable()
180
+ });
181
+ function validatePartyReplacement(facts) {
182
+ const maximumSize = facts.maximumSize ?? 6;
183
+ if (facts.pokemonIds.length === 0)
184
+ return { valid: false, reason: "empty" };
185
+ if (facts.pokemonIds.length > maximumSize)
186
+ return { valid: false, reason: "too-large" };
187
+ if (new Set(facts.pokemonIds).size !== facts.pokemonIds.length)
188
+ return { valid: false, reason: "duplicate" };
189
+ if (facts.ownedPokemonCount !== undefined && facts.ownedPokemonCount !== facts.pokemonIds.length)
190
+ return { valid: false, reason: "not-owned" };
191
+ return { valid: true, pokemonIds: facts.pokemonIds };
192
+ }
193
+
194
+ // src/domain/shared/language.ts
195
+ import { z as z7 } from "zod";
196
+ var languageSchema = z7.enum(["en", "es"]).default("en");
197
+
198
+ // src/application/contracts/game.ts
199
+ var pendingChoiceSchema = z8.object({
200
+ id: z8.string().uuid(),
201
+ kind: z8.string().min(1),
202
+ payload: z8.string()
203
+ });
204
+ var gameStateSchema = z8.object({
205
+ phase: z8.enum(["onboarding", "active"]),
206
+ locale: languageSchema,
207
+ message: z8.string(),
208
+ region: z8.string().nullable(),
209
+ location: z8.string().nullable(),
210
+ party: z8.array(partySlotSchema).length(6),
211
+ pendingChoices: z8.array(pendingChoiceSchema),
212
+ pendingEncounterCount: z8.number().int().nonnegative().default(0),
213
+ choicePokemon: z8.array(pokemonInstanceSchema).default([]),
214
+ pendingEncounter: pendingEncounterSchema.extend({ caught: z8.boolean().default(false) }).nullable().default(null),
215
+ exploration: explorationStatusSchema.nullable().default(null)
216
+ });
217
+ var starterChoiceInputSchema = z8.object({
218
+ regionId: z8.string().min(1),
219
+ speciesId: z8.string().min(1)
220
+ });
221
+ var starterChoiceResultSchema = z8.object({
222
+ kind: z8.enum(["selected", "invalid-region", "invalid-starter", "already-selected"]),
223
+ state: gameStateSchema
224
+ });
225
+ var gameplayConfigSchema = z8.object({
226
+ pauseOnPendingChoice: z8.boolean().default(true),
227
+ xpTokensPerPoint: z8.number().int().positive().default(1000),
228
+ encounterMinimumTokens: z8.number().int().positive().default(200000),
229
+ encounterMaximumTokens: z8.number().int().positive().default(400000),
230
+ locationUnlockTokens: z8.number().int().positive().default(2160000)
231
+ });
232
+ var usageInputSchema = z8.object({
233
+ sessionId: z8.string().min(1),
234
+ messageId: z8.string().min(1),
235
+ inputTokens: z8.number().int().nonnegative(),
236
+ outputTokens: z8.number().int().nonnegative(),
237
+ reasoningTokens: z8.number().int().nonnegative(),
238
+ cacheReadTokens: z8.number().int().nonnegative(),
239
+ cacheWriteTokens: z8.number().int().nonnegative(),
240
+ completedAt: z8.string().datetime()
241
+ });
242
+ var usageApplicationSchema = z8.object({
243
+ kind: z8.enum(["applied", "duplicate", "frozen-discarded", "inactive"]),
244
+ state: gameStateSchema
245
+ });
246
+ var locationTravelInputSchema = z8.object({ locationId: z8.string().min(1) });
247
+ var locationTravelResultSchema = z8.object({
248
+ kind: z8.enum(["teleported", "inactive", "invalid-location", "locked-location"]),
249
+ state: gameStateSchema
250
+ });
251
+ var regionTravelInputSchema = z8.object({ regionId: z8.string().min(1) });
252
+ var regionTravelResultSchema = z8.object({
253
+ kind: z8.enum(["traveled", "inactive", "invalid-region", "already-visited", "region-incomplete"]),
254
+ state: gameStateSchema
255
+ });
256
+ var encounterResolutionResultSchema = z8.object({
257
+ kind: z8.enum(["caught", "ran", "inactive", "no-encounter"]),
258
+ state: gameStateSchema
259
+ });
260
+ var partyReplacementInputSchema = z8.object({
261
+ pokemonIds: z8.array(z8.string().uuid()).min(1).max(6)
262
+ });
263
+ var partyReplacementResultSchema = z8.object({
264
+ kind: z8.enum(["replaced", "inactive", "invalid-party"]),
265
+ state: gameStateSchema
266
+ });
267
+ var pokemonRenameInputSchema = z8.object({
268
+ pokemonId: z8.string().uuid(),
269
+ name: z8.string()
270
+ });
271
+ var pokemonReleaseInputSchema = z8.object({ pokemonId: z8.string().uuid() });
272
+ var pokemonManagementResultSchema = z8.object({
273
+ kind: z8.enum([
274
+ "renamed",
275
+ "released",
276
+ "inactive",
277
+ "invalid-pokemon",
278
+ "invalid-name",
279
+ "last-party-pokemon"
280
+ ]),
281
+ state: gameStateSchema
282
+ });
283
+ var moveChoiceInputSchema = z8.object({
284
+ choiceId: z8.string().uuid(),
285
+ selectedMoveId: z8.string().min(1)
286
+ });
287
+ var evolutionChoiceInputSchema = z8.object({
288
+ choiceId: z8.string().uuid(),
289
+ selectedSpeciesId: z8.string().min(1)
290
+ });
291
+ var choiceResolutionResultSchema = z8.object({
292
+ kind: z8.enum(["resolved", "inactive", "invalid-choice"]),
293
+ state: gameStateSchema
294
+ });
295
+ var pokemonCollectionSchema = z8.object({ pokemon: z8.array(pokemonInstanceSchema) });
296
+ var pokedexEntrySchema = z8.object({
297
+ number: z8.number().int().positive(),
298
+ speciesId: speciesIdSchema,
299
+ name: z8.string().min(1),
300
+ status: z8.enum(["caught", "seen", "unknown"])
301
+ });
302
+ var pokemonDexSchema = z8.object({
303
+ pokemon: z8.array(pokedexEntrySchema),
304
+ discoveries: z8.array(z8.object({
305
+ speciesId: speciesIdSchema,
306
+ status: z8.enum(["caught", "seen"])
307
+ }))
308
+ });
309
+ var teamExportSchema = z8.object({
310
+ kind: z8.enum(["exported", "inactive"]),
311
+ text: z8.string()
312
+ });
313
+
314
+ // src/adapters/opencode/rpc/contract.ts
315
+ var emptyObjectInputSchema = {
316
+ type: "object",
317
+ properties: {},
318
+ additionalProperties: false
319
+ };
320
+ var gameStateSchema2 = {
321
+ type: "object",
322
+ properties: {
323
+ phase: { enum: ["onboarding", "active"] },
324
+ locale: { type: "string", minLength: 2 },
325
+ message: { type: "string" },
326
+ region: { type: ["string", "null"] },
327
+ location: { type: ["string", "null"] },
328
+ party: { type: "array" },
329
+ pendingChoices: { type: "array" },
330
+ pendingEncounter: { type: ["object", "null"] },
331
+ pendingEncounterCount: { type: "integer", minimum: 0 },
332
+ choicePokemon: { type: "array" },
333
+ exploration: { type: ["object", "null"] }
334
+ },
335
+ required: [
336
+ "phase",
337
+ "locale",
338
+ "message",
339
+ "region",
340
+ "location",
341
+ "party",
342
+ "pendingChoices",
343
+ "pendingEncounter",
344
+ "pendingEncounterCount",
345
+ "choicePokemon",
346
+ "exploration"
347
+ ],
348
+ additionalProperties: false
349
+ };
350
+ var encounterResolutionOutputSchema = {
351
+ type: "object",
352
+ properties: {
353
+ kind: { enum: ["caught", "ran", "inactive", "no-encounter"] },
354
+ state: { type: "object" }
355
+ },
356
+ required: ["kind", "state"],
357
+ additionalProperties: false
358
+ };
359
+ var choiceResolutionOutputSchema = {
360
+ type: "object",
361
+ properties: {
362
+ kind: { enum: ["resolved", "inactive", "invalid-choice"] },
363
+ state: { type: "object" }
364
+ },
365
+ required: ["kind", "state"],
366
+ additionalProperties: false
367
+ };
368
+ var pokemonListOutputSchema = {
369
+ type: "object",
370
+ properties: { pokemon: { type: "array" } },
371
+ required: ["pokemon"],
372
+ additionalProperties: false
373
+ };
374
+ var encounterResolutionInputSchema = {
375
+ type: "object",
376
+ properties: { encounterId: { type: "string", format: "uuid" } },
377
+ required: ["encounterId"],
378
+ additionalProperties: false
379
+ };
380
+ var PokecodeRpc = Rpc.define({
381
+ id: "pokecode",
382
+ methods: {
383
+ status: {
384
+ input: emptyObjectInputSchema,
385
+ output: gameStateSchema2
386
+ },
387
+ chooseStarter: {
388
+ input: {
389
+ type: "object",
390
+ properties: {
391
+ regionId: { type: "string", minLength: 1 },
392
+ speciesId: { type: "string", minLength: 1 }
393
+ },
394
+ required: ["regionId", "speciesId"],
395
+ additionalProperties: false
396
+ },
397
+ output: {
398
+ type: "object",
399
+ properties: {
400
+ kind: {
401
+ enum: ["selected", "invalid-region", "invalid-starter", "already-selected"]
402
+ },
403
+ state: { type: "object" }
404
+ },
405
+ required: ["kind", "state"],
406
+ additionalProperties: false
407
+ }
408
+ },
409
+ travelTo: {
410
+ input: {
411
+ type: "object",
412
+ properties: { locationId: { type: "string", minLength: 1 } },
413
+ required: ["locationId"],
414
+ additionalProperties: false
415
+ },
416
+ output: {
417
+ type: "object",
418
+ properties: {
419
+ kind: { enum: ["teleported", "inactive", "invalid-location", "locked-location"] },
420
+ state: { type: "object" }
421
+ },
422
+ required: ["kind", "state"],
423
+ additionalProperties: false
424
+ }
425
+ },
426
+ travelToRegion: {
427
+ input: {
428
+ type: "object",
429
+ properties: { regionId: { type: "string", minLength: 1 } },
430
+ required: ["regionId"],
431
+ additionalProperties: false
432
+ },
433
+ output: {
434
+ type: "object",
435
+ properties: {
436
+ kind: {
437
+ enum: [
438
+ "traveled",
439
+ "inactive",
440
+ "invalid-region",
441
+ "already-visited",
442
+ "region-incomplete"
443
+ ]
444
+ },
445
+ state: { type: "object" }
446
+ },
447
+ required: ["kind", "state"],
448
+ additionalProperties: false
449
+ }
450
+ },
451
+ catchEncounter: {
452
+ input: encounterResolutionInputSchema,
453
+ output: encounterResolutionOutputSchema
454
+ },
455
+ runEncounter: {
456
+ input: encounterResolutionInputSchema,
457
+ output: encounterResolutionOutputSchema
458
+ },
459
+ collection: {
460
+ input: emptyObjectInputSchema,
461
+ output: pokemonListOutputSchema
462
+ },
463
+ dex: {
464
+ input: emptyObjectInputSchema,
465
+ output: pokemonDexSchema
466
+ },
467
+ exportTeam: {
468
+ input: emptyObjectInputSchema,
469
+ output: {
470
+ type: "object",
471
+ properties: {
472
+ kind: { enum: ["exported", "inactive"] },
473
+ text: { type: "string" }
474
+ },
475
+ required: ["kind", "text"],
476
+ additionalProperties: false
477
+ }
478
+ },
479
+ sprite: {
480
+ input: {
481
+ type: "object",
482
+ properties: {
483
+ speciesId: { type: "string", minLength: 1 },
484
+ shiny: { type: "boolean" },
485
+ gender: { enum: ["male", "female", "genderless"] }
486
+ },
487
+ required: ["speciesId", "shiny", "gender"],
488
+ additionalProperties: false
489
+ },
490
+ output: {
491
+ type: "object",
492
+ properties: {
493
+ kind: { enum: ["cached", "placeholder"] },
494
+ source: { type: "string" }
495
+ },
496
+ required: ["kind"],
497
+ additionalProperties: false
498
+ }
499
+ },
500
+ replaceParty: {
501
+ input: {
502
+ type: "object",
503
+ properties: {
504
+ pokemonIds: { type: "array", minItems: 1, maxItems: 6, items: { type: "string" } }
505
+ },
506
+ required: ["pokemonIds"],
507
+ additionalProperties: false
508
+ },
509
+ output: {
510
+ type: "object",
511
+ properties: {
512
+ kind: { enum: ["replaced", "inactive", "invalid-party"] },
513
+ state: { type: "object" }
514
+ },
515
+ required: ["kind", "state"],
516
+ additionalProperties: false
517
+ }
518
+ },
519
+ renamePokemon: {
520
+ input: pokemonRenameInputSchema,
521
+ output: pokemonManagementResultSchema
522
+ },
523
+ releasePokemon: {
524
+ input: pokemonReleaseInputSchema,
525
+ output: pokemonManagementResultSchema
526
+ },
527
+ resolveMoveChoice: {
528
+ input: {
529
+ type: "object",
530
+ properties: {
531
+ choiceId: { type: "string" },
532
+ selectedMoveId: { type: "string", minLength: 1 }
533
+ },
534
+ required: ["choiceId", "selectedMoveId"],
535
+ additionalProperties: false
536
+ },
537
+ output: choiceResolutionOutputSchema
538
+ },
539
+ resolveEvolutionChoice: {
540
+ input: {
541
+ type: "object",
542
+ properties: {
543
+ choiceId: { type: "string" },
544
+ selectedSpeciesId: { type: "string", minLength: 1 }
545
+ },
546
+ required: ["choiceId", "selectedSpeciesId"],
547
+ additionalProperties: false
548
+ },
549
+ output: choiceResolutionOutputSchema
550
+ },
551
+ dismissNextRegionChoice: {
552
+ input: emptyObjectInputSchema,
553
+ output: gameStateSchema2
554
+ },
555
+ reopenNextRegionChoice: {
556
+ input: emptyObjectInputSchema,
557
+ output: gameStateSchema2
558
+ }
559
+ },
560
+ events: {
561
+ statusChanged: {
562
+ schema: gameStateSchema2
563
+ }
564
+ }
565
+ });
566
+ export {
567
+ PokecodeRpc
568
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA"}
package/dist/tui.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { default } from "./adapters/opencode/tui/plugin.js";
2
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA"}