idlerpg.sh 0.1.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 (478) hide show
  1. package/README.md +171 -0
  2. package/dist/affix/AffixRegistry.d.ts +68 -0
  3. package/dist/affix/AffixRegistry.d.ts.map +1 -0
  4. package/dist/affix/AffixRegistry.js +245 -0
  5. package/dist/affix/AffixRegistry.js.map +1 -0
  6. package/dist/affix/PluginLoader.d.ts +66 -0
  7. package/dist/affix/PluginLoader.d.ts.map +1 -0
  8. package/dist/affix/PluginLoader.js +321 -0
  9. package/dist/affix/PluginLoader.js.map +1 -0
  10. package/dist/affix/builtin.d.ts +6 -0
  11. package/dist/affix/builtin.d.ts.map +1 -0
  12. package/dist/affix/builtin.js +311 -0
  13. package/dist/affix/builtin.js.map +1 -0
  14. package/dist/affix/index.d.ts +8 -0
  15. package/dist/affix/index.d.ts.map +1 -0
  16. package/dist/affix/index.js +11 -0
  17. package/dist/affix/index.js.map +1 -0
  18. package/dist/affix/types.d.ts +152 -0
  19. package/dist/affix/types.d.ts.map +1 -0
  20. package/dist/affix/types.js +8 -0
  21. package/dist/affix/types.js.map +1 -0
  22. package/dist/ai/PlayKitClient.d.ts +208 -0
  23. package/dist/ai/PlayKitClient.d.ts.map +1 -0
  24. package/dist/ai/PlayKitClient.js +721 -0
  25. package/dist/ai/PlayKitClient.js.map +1 -0
  26. package/dist/ai/index.d.ts +5 -0
  27. package/dist/ai/index.d.ts.map +1 -0
  28. package/dist/ai/index.js +8 -0
  29. package/dist/ai/index.js.map +1 -0
  30. package/dist/app/App.d.ts +85 -0
  31. package/dist/app/App.d.ts.map +1 -0
  32. package/dist/app/App.js +296 -0
  33. package/dist/app/App.js.map +1 -0
  34. package/dist/app/EventBus.d.ts +222 -0
  35. package/dist/app/EventBus.d.ts.map +1 -0
  36. package/dist/app/EventBus.js +88 -0
  37. package/dist/app/EventBus.js.map +1 -0
  38. package/dist/app/Keybind.d.ts +83 -0
  39. package/dist/app/Keybind.d.ts.map +1 -0
  40. package/dist/app/Keybind.js +184 -0
  41. package/dist/app/Keybind.js.map +1 -0
  42. package/dist/app/Router.d.ts +123 -0
  43. package/dist/app/Router.d.ts.map +1 -0
  44. package/dist/app/Router.js +142 -0
  45. package/dist/app/Router.js.map +1 -0
  46. package/dist/app/ScreenManager.d.ts +97 -0
  47. package/dist/app/ScreenManager.d.ts.map +1 -0
  48. package/dist/app/ScreenManager.js +216 -0
  49. package/dist/app/ScreenManager.js.map +1 -0
  50. package/dist/app/index.d.ts +14 -0
  51. package/dist/app/index.d.ts.map +1 -0
  52. package/dist/app/index.js +19 -0
  53. package/dist/app/index.js.map +1 -0
  54. package/dist/app/screens/BaseScreen.d.ts +101 -0
  55. package/dist/app/screens/BaseScreen.d.ts.map +1 -0
  56. package/dist/app/screens/BaseScreen.js +132 -0
  57. package/dist/app/screens/BaseScreen.js.map +1 -0
  58. package/dist/app/screens/CharacterCreationScreen.d.ts +42 -0
  59. package/dist/app/screens/CharacterCreationScreen.d.ts.map +1 -0
  60. package/dist/app/screens/CharacterCreationScreen.js +467 -0
  61. package/dist/app/screens/CharacterCreationScreen.js.map +1 -0
  62. package/dist/app/screens/CombatScreen.d.ts +30 -0
  63. package/dist/app/screens/CombatScreen.d.ts.map +1 -0
  64. package/dist/app/screens/CombatScreen.js +309 -0
  65. package/dist/app/screens/CombatScreen.js.map +1 -0
  66. package/dist/app/screens/DialogScreen.d.ts +29 -0
  67. package/dist/app/screens/DialogScreen.d.ts.map +1 -0
  68. package/dist/app/screens/DialogScreen.js +295 -0
  69. package/dist/app/screens/DialogScreen.js.map +1 -0
  70. package/dist/app/screens/ExploreScreen.d.ts +50 -0
  71. package/dist/app/screens/ExploreScreen.d.ts.map +1 -0
  72. package/dist/app/screens/ExploreScreen.js +308 -0
  73. package/dist/app/screens/ExploreScreen.js.map +1 -0
  74. package/dist/app/screens/HelpScreen.d.ts +12 -0
  75. package/dist/app/screens/HelpScreen.d.ts.map +1 -0
  76. package/dist/app/screens/HelpScreen.js +155 -0
  77. package/dist/app/screens/HelpScreen.js.map +1 -0
  78. package/dist/app/screens/InventoryScreen.d.ts +27 -0
  79. package/dist/app/screens/InventoryScreen.d.ts.map +1 -0
  80. package/dist/app/screens/InventoryScreen.js +326 -0
  81. package/dist/app/screens/InventoryScreen.js.map +1 -0
  82. package/dist/app/screens/PrologueScreen.d.ts +24 -0
  83. package/dist/app/screens/PrologueScreen.d.ts.map +1 -0
  84. package/dist/app/screens/PrologueScreen.js +176 -0
  85. package/dist/app/screens/PrologueScreen.js.map +1 -0
  86. package/dist/app/screens/TitleScreen.d.ts +42 -0
  87. package/dist/app/screens/TitleScreen.d.ts.map +1 -0
  88. package/dist/app/screens/TitleScreen.js +380 -0
  89. package/dist/app/screens/TitleScreen.js.map +1 -0
  90. package/dist/app/screens/TravelScreen.d.ts +22 -0
  91. package/dist/app/screens/TravelScreen.d.ts.map +1 -0
  92. package/dist/app/screens/TravelScreen.js +122 -0
  93. package/dist/app/screens/TravelScreen.js.map +1 -0
  94. package/dist/app/screens/index.d.ts +14 -0
  95. package/dist/app/screens/index.d.ts.map +1 -0
  96. package/dist/app/screens/index.js +17 -0
  97. package/dist/app/screens/index.js.map +1 -0
  98. package/dist/commands/CommandRegistry.d.ts +91 -0
  99. package/dist/commands/CommandRegistry.d.ts.map +1 -0
  100. package/dist/commands/CommandRegistry.js +159 -0
  101. package/dist/commands/CommandRegistry.js.map +1 -0
  102. package/dist/commands/index.d.ts +7 -0
  103. package/dist/commands/index.d.ts.map +1 -0
  104. package/dist/commands/index.js +10 -0
  105. package/dist/commands/index.js.map +1 -0
  106. package/dist/core/Actor.d.ts +103 -0
  107. package/dist/core/Actor.d.ts.map +1 -0
  108. package/dist/core/Actor.js +409 -0
  109. package/dist/core/Actor.js.map +1 -0
  110. package/dist/core/Combat.d.ts +37 -0
  111. package/dist/core/Combat.d.ts.map +1 -0
  112. package/dist/core/Combat.js +294 -0
  113. package/dist/core/Combat.js.map +1 -0
  114. package/dist/core/DungeonRunner.d.ts +169 -0
  115. package/dist/core/DungeonRunner.d.ts.map +1 -0
  116. package/dist/core/DungeonRunner.js +627 -0
  117. package/dist/core/DungeonRunner.js.map +1 -0
  118. package/dist/core/Game.d.ts +133 -0
  119. package/dist/core/Game.d.ts.map +1 -0
  120. package/dist/core/Game.js +644 -0
  121. package/dist/core/Game.js.map +1 -0
  122. package/dist/core/IdleCombat.d.ts +61 -0
  123. package/dist/core/IdleCombat.d.ts.map +1 -0
  124. package/dist/core/IdleCombat.js +461 -0
  125. package/dist/core/IdleCombat.js.map +1 -0
  126. package/dist/core/IdleGameManager.d.ts +198 -0
  127. package/dist/core/IdleGameManager.d.ts.map +1 -0
  128. package/dist/core/IdleGameManager.js +688 -0
  129. package/dist/core/IdleGameManager.js.map +1 -0
  130. package/dist/core/IdleSaveManager.d.ts +109 -0
  131. package/dist/core/IdleSaveManager.d.ts.map +1 -0
  132. package/dist/core/IdleSaveManager.js +296 -0
  133. package/dist/core/IdleSaveManager.js.map +1 -0
  134. package/dist/core/NewGameFlowManager.d.ts +64 -0
  135. package/dist/core/NewGameFlowManager.d.ts.map +1 -0
  136. package/dist/core/NewGameFlowManager.js +153 -0
  137. package/dist/core/NewGameFlowManager.js.map +1 -0
  138. package/dist/core/Player.d.ts +65 -0
  139. package/dist/core/Player.d.ts.map +1 -0
  140. package/dist/core/Player.js +261 -0
  141. package/dist/core/Player.js.map +1 -0
  142. package/dist/core/RoomHandlers.d.ts +75 -0
  143. package/dist/core/RoomHandlers.d.ts.map +1 -0
  144. package/dist/core/RoomHandlers.js +383 -0
  145. package/dist/core/RoomHandlers.js.map +1 -0
  146. package/dist/core/SaveManager.d.ts +84 -0
  147. package/dist/core/SaveManager.d.ts.map +1 -0
  148. package/dist/core/SaveManager.js +281 -0
  149. package/dist/core/SaveManager.js.map +1 -0
  150. package/dist/core/SaveMigration.d.ts +69 -0
  151. package/dist/core/SaveMigration.d.ts.map +1 -0
  152. package/dist/core/SaveMigration.js +408 -0
  153. package/dist/core/SaveMigration.js.map +1 -0
  154. package/dist/core/StateAdapter.d.ts +79 -0
  155. package/dist/core/StateAdapter.d.ts.map +1 -0
  156. package/dist/core/StateAdapter.js +397 -0
  157. package/dist/core/StateAdapter.js.map +1 -0
  158. package/dist/core/Team.d.ts +145 -0
  159. package/dist/core/Team.d.ts.map +1 -0
  160. package/dist/core/Team.js +371 -0
  161. package/dist/core/Team.js.map +1 -0
  162. package/dist/core/TeamCombat.d.ts +88 -0
  163. package/dist/core/TeamCombat.d.ts.map +1 -0
  164. package/dist/core/TeamCombat.js +405 -0
  165. package/dist/core/TeamCombat.js.map +1 -0
  166. package/dist/core/TeamDungeonRunner.d.ts +186 -0
  167. package/dist/core/TeamDungeonRunner.d.ts.map +1 -0
  168. package/dist/core/TeamDungeonRunner.js +758 -0
  169. package/dist/core/TeamDungeonRunner.js.map +1 -0
  170. package/dist/core/TimeManager.d.ts +114 -0
  171. package/dist/core/TimeManager.d.ts.map +1 -0
  172. package/dist/core/TimeManager.js +318 -0
  173. package/dist/core/TimeManager.js.map +1 -0
  174. package/dist/core/index.d.ts +9 -0
  175. package/dist/core/index.d.ts.map +1 -0
  176. package/dist/core/index.js +12 -0
  177. package/dist/core/index.js.map +1 -0
  178. package/dist/core/timeConstants.d.ts +135 -0
  179. package/dist/core/timeConstants.d.ts.map +1 -0
  180. package/dist/core/timeConstants.js +157 -0
  181. package/dist/core/timeConstants.js.map +1 -0
  182. package/dist/core/types.d.ts +780 -0
  183. package/dist/core/types.d.ts.map +1 -0
  184. package/dist/core/types.js +16 -0
  185. package/dist/core/types.js.map +1 -0
  186. package/dist/data/continents/index.d.ts +163 -0
  187. package/dist/data/continents/index.d.ts.map +1 -0
  188. package/dist/data/continents/index.js +31 -0
  189. package/dist/data/continents/index.js.map +1 -0
  190. package/dist/data/continents/verdantia.d.ts +294 -0
  191. package/dist/data/continents/verdantia.d.ts.map +1 -0
  192. package/dist/data/continents/verdantia.js +327 -0
  193. package/dist/data/continents/verdantia.js.map +1 -0
  194. package/dist/handlers/DialogHandler.d.ts +95 -0
  195. package/dist/handlers/DialogHandler.d.ts.map +1 -0
  196. package/dist/handlers/DialogHandler.js +450 -0
  197. package/dist/handlers/DialogHandler.js.map +1 -0
  198. package/dist/handlers/SaveLoadHandler.d.ts +60 -0
  199. package/dist/handlers/SaveLoadHandler.d.ts.map +1 -0
  200. package/dist/handlers/SaveLoadHandler.js +187 -0
  201. package/dist/handlers/SaveLoadHandler.js.map +1 -0
  202. package/dist/handlers/TitleScreenHandler.d.ts +43 -0
  203. package/dist/handlers/TitleScreenHandler.d.ts.map +1 -0
  204. package/dist/handlers/TitleScreenHandler.js +508 -0
  205. package/dist/handlers/TitleScreenHandler.js.map +1 -0
  206. package/dist/handlers/WorkshopHandler.d.ts +75 -0
  207. package/dist/handlers/WorkshopHandler.d.ts.map +1 -0
  208. package/dist/handlers/WorkshopHandler.js +401 -0
  209. package/dist/handlers/WorkshopHandler.js.map +1 -0
  210. package/dist/handlers/index.d.ts +12 -0
  211. package/dist/handlers/index.d.ts.map +1 -0
  212. package/dist/handlers/index.js +14 -0
  213. package/dist/handlers/index.js.map +1 -0
  214. package/dist/handlers/types.d.ts +34 -0
  215. package/dist/handlers/types.d.ts.map +1 -0
  216. package/dist/handlers/types.js +8 -0
  217. package/dist/handlers/types.js.map +1 -0
  218. package/dist/i18n/en.d.ts +3 -0
  219. package/dist/i18n/en.d.ts.map +1 -0
  220. package/dist/i18n/en.js +130 -0
  221. package/dist/i18n/en.js.map +1 -0
  222. package/dist/i18n/index.d.ts +40 -0
  223. package/dist/i18n/index.d.ts.map +1 -0
  224. package/dist/i18n/index.js +105 -0
  225. package/dist/i18n/index.js.map +1 -0
  226. package/dist/i18n/types.d.ts +133 -0
  227. package/dist/i18n/types.d.ts.map +1 -0
  228. package/dist/i18n/types.js +8 -0
  229. package/dist/i18n/types.js.map +1 -0
  230. package/dist/i18n/zh.d.ts +3 -0
  231. package/dist/i18n/zh.d.ts.map +1 -0
  232. package/dist/i18n/zh.js +130 -0
  233. package/dist/i18n/zh.js.map +1 -0
  234. package/dist/instrument.d.ts +8 -0
  235. package/dist/instrument.d.ts.map +1 -0
  236. package/dist/instrument.js +33 -0
  237. package/dist/instrument.js.map +1 -0
  238. package/dist/main-new.d.ts +12 -0
  239. package/dist/main-new.d.ts.map +1 -0
  240. package/dist/main-new.js +32 -0
  241. package/dist/main-new.js.map +1 -0
  242. package/dist/main.d.ts +7 -0
  243. package/dist/main.d.ts.map +1 -0
  244. package/dist/main.js +2816 -0
  245. package/dist/main.js.map +1 -0
  246. package/dist/map/ContinentManager.d.ts +88 -0
  247. package/dist/map/ContinentManager.d.ts.map +1 -0
  248. package/dist/map/ContinentManager.js +241 -0
  249. package/dist/map/ContinentManager.js.map +1 -0
  250. package/dist/map/DungeonGenerator.d.ts +32 -0
  251. package/dist/map/DungeonGenerator.d.ts.map +1 -0
  252. package/dist/map/DungeonGenerator.js +615 -0
  253. package/dist/map/DungeonGenerator.js.map +1 -0
  254. package/dist/map/MapGenerator.d.ts +27 -0
  255. package/dist/map/MapGenerator.d.ts.map +1 -0
  256. package/dist/map/MapGenerator.js +485 -0
  257. package/dist/map/MapGenerator.js.map +1 -0
  258. package/dist/map/index.d.ts +5 -0
  259. package/dist/map/index.d.ts.map +1 -0
  260. package/dist/map/index.js +8 -0
  261. package/dist/map/index.js.map +1 -0
  262. package/dist/npc/NPCGenerator.d.ts +68 -0
  263. package/dist/npc/NPCGenerator.d.ts.map +1 -0
  264. package/dist/npc/NPCGenerator.js +468 -0
  265. package/dist/npc/NPCGenerator.js.map +1 -0
  266. package/dist/npc/NPCManager.d.ts +86 -0
  267. package/dist/npc/NPCManager.d.ts.map +1 -0
  268. package/dist/npc/NPCManager.js +217 -0
  269. package/dist/npc/NPCManager.js.map +1 -0
  270. package/dist/npc/fixedNPCs.d.ts +7 -0
  271. package/dist/npc/fixedNPCs.d.ts.map +1 -0
  272. package/dist/npc/fixedNPCs.js +196 -0
  273. package/dist/npc/fixedNPCs.js.map +1 -0
  274. package/dist/npc/index.d.ts +9 -0
  275. package/dist/npc/index.d.ts.map +1 -0
  276. package/dist/npc/index.js +12 -0
  277. package/dist/npc/index.js.map +1 -0
  278. package/dist/npc/traits.d.ts +33 -0
  279. package/dist/npc/traits.d.ts.map +1 -0
  280. package/dist/npc/traits.js +795 -0
  281. package/dist/npc/traits.js.map +1 -0
  282. package/dist/npc/types.d.ts +193 -0
  283. package/dist/npc/types.d.ts.map +1 -0
  284. package/dist/npc/types.js +9 -0
  285. package/dist/npc/types.js.map +1 -0
  286. package/dist/quest/QuestManager.d.ts +79 -0
  287. package/dist/quest/QuestManager.d.ts.map +1 -0
  288. package/dist/quest/QuestManager.js +273 -0
  289. package/dist/quest/QuestManager.js.map +1 -0
  290. package/dist/quest/index.d.ts +6 -0
  291. package/dist/quest/index.d.ts.map +1 -0
  292. package/dist/quest/index.js +9 -0
  293. package/dist/quest/index.js.map +1 -0
  294. package/dist/quest/types.d.ts +81 -0
  295. package/dist/quest/types.d.ts.map +1 -0
  296. package/dist/quest/types.js +8 -0
  297. package/dist/quest/types.js.map +1 -0
  298. package/dist/strategy/StrategyExecutor.d.ts +159 -0
  299. package/dist/strategy/StrategyExecutor.d.ts.map +1 -0
  300. package/dist/strategy/StrategyExecutor.js +479 -0
  301. package/dist/strategy/StrategyExecutor.js.map +1 -0
  302. package/dist/strategy/StrategyParser.d.ts +48 -0
  303. package/dist/strategy/StrategyParser.d.ts.map +1 -0
  304. package/dist/strategy/StrategyParser.js +321 -0
  305. package/dist/strategy/StrategyParser.js.map +1 -0
  306. package/dist/strategy/defaultStrategy.d.ts +40 -0
  307. package/dist/strategy/defaultStrategy.d.ts.map +1 -0
  308. package/dist/strategy/defaultStrategy.js +254 -0
  309. package/dist/strategy/defaultStrategy.js.map +1 -0
  310. package/dist/strategy/index.d.ts +8 -0
  311. package/dist/strategy/index.d.ts.map +1 -0
  312. package/dist/strategy/index.js +14 -0
  313. package/dist/strategy/index.js.map +1 -0
  314. package/dist/tui/ExploreMenu.d.ts +106 -0
  315. package/dist/tui/ExploreMenu.d.ts.map +1 -0
  316. package/dist/tui/ExploreMenu.js +282 -0
  317. package/dist/tui/ExploreMenu.js.map +1 -0
  318. package/dist/tui/GameUI.d.ts +313 -0
  319. package/dist/tui/GameUI.d.ts.map +1 -0
  320. package/dist/tui/GameUI.js +2116 -0
  321. package/dist/tui/GameUI.js.map +1 -0
  322. package/dist/tui/GameUIAdapter.d.ts +207 -0
  323. package/dist/tui/GameUIAdapter.d.ts.map +1 -0
  324. package/dist/tui/GameUIAdapter.js +1342 -0
  325. package/dist/tui/GameUIAdapter.js.map +1 -0
  326. package/dist/tui/Input.d.ts +139 -0
  327. package/dist/tui/Input.d.ts.map +1 -0
  328. package/dist/tui/Input.js +278 -0
  329. package/dist/tui/Input.js.map +1 -0
  330. package/dist/tui/Menu.d.ts +110 -0
  331. package/dist/tui/Menu.d.ts.map +1 -0
  332. package/dist/tui/Menu.js +365 -0
  333. package/dist/tui/Menu.js.map +1 -0
  334. package/dist/tui/Screen.d.ts +228 -0
  335. package/dist/tui/Screen.d.ts.map +1 -0
  336. package/dist/tui/Screen.js +502 -0
  337. package/dist/tui/Screen.js.map +1 -0
  338. package/dist/tui/components/Box.d.ts +36 -0
  339. package/dist/tui/components/Box.d.ts.map +1 -0
  340. package/dist/tui/components/Box.js +43 -0
  341. package/dist/tui/components/Box.js.map +1 -0
  342. package/dist/tui/components/List.d.ts +69 -0
  343. package/dist/tui/components/List.d.ts.map +1 -0
  344. package/dist/tui/components/List.js +136 -0
  345. package/dist/tui/components/List.js.map +1 -0
  346. package/dist/tui/components/ProgressBar.d.ts +42 -0
  347. package/dist/tui/components/ProgressBar.d.ts.map +1 -0
  348. package/dist/tui/components/ProgressBar.js +75 -0
  349. package/dist/tui/components/ProgressBar.js.map +1 -0
  350. package/dist/tui/components/index.d.ts +8 -0
  351. package/dist/tui/components/index.d.ts.map +1 -0
  352. package/dist/tui/components/index.js +11 -0
  353. package/dist/tui/components/index.js.map +1 -0
  354. package/dist/tui/core/BaseSection.d.ts +98 -0
  355. package/dist/tui/core/BaseSection.d.ts.map +1 -0
  356. package/dist/tui/core/BaseSection.js +174 -0
  357. package/dist/tui/core/BaseSection.js.map +1 -0
  358. package/dist/tui/core/Component.d.ts +61 -0
  359. package/dist/tui/core/Component.d.ts.map +1 -0
  360. package/dist/tui/core/Component.js +32 -0
  361. package/dist/tui/core/Component.js.map +1 -0
  362. package/dist/tui/core/Section.d.ts +101 -0
  363. package/dist/tui/core/Section.d.ts.map +1 -0
  364. package/dist/tui/core/Section.js +24 -0
  365. package/dist/tui/core/Section.js.map +1 -0
  366. package/dist/tui/core/SectionManager.d.ts +108 -0
  367. package/dist/tui/core/SectionManager.d.ts.map +1 -0
  368. package/dist/tui/core/SectionManager.js +258 -0
  369. package/dist/tui/core/SectionManager.js.map +1 -0
  370. package/dist/tui/core/index.d.ts +9 -0
  371. package/dist/tui/core/index.d.ts.map +1 -0
  372. package/dist/tui/core/index.js +12 -0
  373. package/dist/tui/core/index.js.map +1 -0
  374. package/dist/tui/index.d.ts +15 -0
  375. package/dist/tui/index.d.ts.map +1 -0
  376. package/dist/tui/index.js +23 -0
  377. package/dist/tui/index.js.map +1 -0
  378. package/dist/tui/screens/BaseScreen.d.ts +62 -0
  379. package/dist/tui/screens/BaseScreen.d.ts.map +1 -0
  380. package/dist/tui/screens/BaseScreen.js +55 -0
  381. package/dist/tui/screens/BaseScreen.js.map +1 -0
  382. package/dist/tui/screens/CombatScreen.d.ts +43 -0
  383. package/dist/tui/screens/CombatScreen.d.ts.map +1 -0
  384. package/dist/tui/screens/CombatScreen.js +125 -0
  385. package/dist/tui/screens/CombatScreen.js.map +1 -0
  386. package/dist/tui/screens/DialogScreen.d.ts +53 -0
  387. package/dist/tui/screens/DialogScreen.d.ts.map +1 -0
  388. package/dist/tui/screens/DialogScreen.js +90 -0
  389. package/dist/tui/screens/DialogScreen.js.map +1 -0
  390. package/dist/tui/screens/DungeonScreen.d.ts +80 -0
  391. package/dist/tui/screens/DungeonScreen.d.ts.map +1 -0
  392. package/dist/tui/screens/DungeonScreen.js +317 -0
  393. package/dist/tui/screens/DungeonScreen.js.map +1 -0
  394. package/dist/tui/screens/ExploreScreen.d.ts +69 -0
  395. package/dist/tui/screens/ExploreScreen.d.ts.map +1 -0
  396. package/dist/tui/screens/ExploreScreen.js +224 -0
  397. package/dist/tui/screens/ExploreScreen.js.map +1 -0
  398. package/dist/tui/screens/SectionScreen.d.ts +84 -0
  399. package/dist/tui/screens/SectionScreen.d.ts.map +1 -0
  400. package/dist/tui/screens/SectionScreen.js +156 -0
  401. package/dist/tui/screens/SectionScreen.js.map +1 -0
  402. package/dist/tui/screens/TitleScreen.d.ts +40 -0
  403. package/dist/tui/screens/TitleScreen.d.ts.map +1 -0
  404. package/dist/tui/screens/TitleScreen.js +253 -0
  405. package/dist/tui/screens/TitleScreen.js.map +1 -0
  406. package/dist/tui/screens/TownScreen.d.ts +98 -0
  407. package/dist/tui/screens/TownScreen.d.ts.map +1 -0
  408. package/dist/tui/screens/TownScreen.js +370 -0
  409. package/dist/tui/screens/TownScreen.js.map +1 -0
  410. package/dist/tui/screens/TravelScreen.d.ts +67 -0
  411. package/dist/tui/screens/TravelScreen.d.ts.map +1 -0
  412. package/dist/tui/screens/TravelScreen.js +286 -0
  413. package/dist/tui/screens/TravelScreen.js.map +1 -0
  414. package/dist/tui/screens/index.d.ts +8 -0
  415. package/dist/tui/screens/index.d.ts.map +1 -0
  416. package/dist/tui/screens/index.js +17 -0
  417. package/dist/tui/screens/index.js.map +1 -0
  418. package/dist/tui/sections/ActionsSection.d.ts +71 -0
  419. package/dist/tui/sections/ActionsSection.d.ts.map +1 -0
  420. package/dist/tui/sections/ActionsSection.js +184 -0
  421. package/dist/tui/sections/ActionsSection.js.map +1 -0
  422. package/dist/tui/sections/DungeonSection.d.ts +65 -0
  423. package/dist/tui/sections/DungeonSection.d.ts.map +1 -0
  424. package/dist/tui/sections/DungeonSection.js +144 -0
  425. package/dist/tui/sections/DungeonSection.js.map +1 -0
  426. package/dist/tui/sections/EventsSection.d.ts +50 -0
  427. package/dist/tui/sections/EventsSection.d.ts.map +1 -0
  428. package/dist/tui/sections/EventsSection.js +134 -0
  429. package/dist/tui/sections/EventsSection.js.map +1 -0
  430. package/dist/tui/sections/MapSection.d.ts +66 -0
  431. package/dist/tui/sections/MapSection.d.ts.map +1 -0
  432. package/dist/tui/sections/MapSection.js +669 -0
  433. package/dist/tui/sections/MapSection.js.map +1 -0
  434. package/dist/tui/sections/StatusSection.d.ts +47 -0
  435. package/dist/tui/sections/StatusSection.d.ts.map +1 -0
  436. package/dist/tui/sections/StatusSection.js +133 -0
  437. package/dist/tui/sections/StatusSection.js.map +1 -0
  438. package/dist/tui/sections/TeamSection.d.ts +71 -0
  439. package/dist/tui/sections/TeamSection.d.ts.map +1 -0
  440. package/dist/tui/sections/TeamSection.js +224 -0
  441. package/dist/tui/sections/TeamSection.js.map +1 -0
  442. package/dist/tui/sections/TravelingSection.d.ts +51 -0
  443. package/dist/tui/sections/TravelingSection.d.ts.map +1 -0
  444. package/dist/tui/sections/TravelingSection.js +106 -0
  445. package/dist/tui/sections/TravelingSection.js.map +1 -0
  446. package/dist/tui/sections/index.d.ts +9 -0
  447. package/dist/tui/sections/index.d.ts.map +1 -0
  448. package/dist/tui/sections/index.js +12 -0
  449. package/dist/tui/sections/index.js.map +1 -0
  450. package/dist/ui/Terminal.d.ts +68 -0
  451. package/dist/ui/Terminal.d.ts.map +1 -0
  452. package/dist/ui/Terminal.js +297 -0
  453. package/dist/ui/Terminal.js.map +1 -0
  454. package/dist/ui/index.d.ts +5 -0
  455. package/dist/ui/index.d.ts.map +1 -0
  456. package/dist/ui/index.js +8 -0
  457. package/dist/ui/index.js.map +1 -0
  458. package/dist/utils/configMigration.d.ts +14 -0
  459. package/dist/utils/configMigration.d.ts.map +1 -0
  460. package/dist/utils/configMigration.js +92 -0
  461. package/dist/utils/configMigration.js.map +1 -0
  462. package/dist/utils/errorHandler.d.ts +86 -0
  463. package/dist/utils/errorHandler.d.ts.map +1 -0
  464. package/dist/utils/errorHandler.js +224 -0
  465. package/dist/utils/errorHandler.js.map +1 -0
  466. package/dist/utils/logger.d.ts +14 -0
  467. package/dist/utils/logger.d.ts.map +1 -0
  468. package/dist/utils/logger.js +43 -0
  469. package/dist/utils/logger.js.map +1 -0
  470. package/dist/weapon/WeaponFactory.d.ts +32 -0
  471. package/dist/weapon/WeaponFactory.d.ts.map +1 -0
  472. package/dist/weapon/WeaponFactory.js +216 -0
  473. package/dist/weapon/WeaponFactory.js.map +1 -0
  474. package/dist/weapon/index.d.ts +5 -0
  475. package/dist/weapon/index.d.ts.map +1 -0
  476. package/dist/weapon/index.js +8 -0
  477. package/dist/weapon/index.js.map +1 -0
  478. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin.js","sources":["affix/builtin.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Built-in affix definitions\r\n */\r\n\r\nimport type { AffixPlugin } from './types.js';\r\n\r\nexport const builtInAffixes: AffixPlugin[] = [\r\n // =========================================================================\r\n // PREFIX AFFIXES - Affect base stats\r\n // =========================================================================\r\n\r\n {\r\n id: 'sharp',\r\n name: 'Sharp',\r\n description: 'Increased attack power',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n attack: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'sturdy',\r\n name: 'Sturdy',\r\n description: 'Increased durability',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n defense: 3,\r\n },\r\n },\r\n\r\n {\r\n id: 'swift',\r\n name: 'Swift',\r\n description: 'Increased attack speed',\r\n type: 'prefix',\r\n rarity: 'common',\r\n statModifiers: {\r\n speed: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'heavy',\r\n name: 'Heavy',\r\n description: 'Greatly increased attack, but slower',\r\n type: 'prefix',\r\n rarity: 'uncommon',\r\n statModifiers: {\r\n attack: 15,\r\n speed: -5,\r\n },\r\n },\r\n\r\n {\r\n id: 'deadly',\r\n name: 'Deadly',\r\n description: 'Increased critical hit chance',\r\n type: 'prefix',\r\n rarity: 'rare',\r\n statModifiers: {\r\n critChance: 0.15,\r\n critDamage: 0.25,\r\n },\r\n },\r\n\r\n {\r\n id: 'vampiric',\r\n name: 'Vampiric',\r\n description: 'Steals life on hit',\r\n type: 'prefix',\r\n rarity: 'rare',\r\n statModifiers: {\r\n lifesteal: 0.1,\r\n },\r\n onHitEffects: [\r\n {\r\n type: 'heal',\r\n value: 5,\r\n chance: 1,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'ancient',\r\n name: 'Ancient',\r\n description: 'A weapon from a forgotten age, powerful but mysterious',\r\n type: 'prefix',\r\n rarity: 'epic',\r\n statModifiers: {\r\n attack: 20,\r\n defense: 5,\r\n critChance: 0.1,\r\n },\r\n },\r\n\r\n // =========================================================================\r\n // SUFFIX AFFIXES - Add elemental or special effects\r\n // =========================================================================\r\n\r\n {\r\n id: 'of_flames',\r\n name: 'of Flames',\r\n description: 'Adds fire damage and can burn enemies',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'fire',\r\n value: 8,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'fire',\r\n value: 3,\r\n chance: 0.3,\r\n duration: 3,\r\n },\r\n ],\r\n incompatibleWith: ['of_frost', 'of_ice'],\r\n },\r\n\r\n {\r\n id: 'of_frost',\r\n name: 'of Frost',\r\n description: 'Adds ice damage and can slow enemies',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'ice',\r\n value: 6,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'ice',\r\n value: 2,\r\n chance: 0.25,\r\n duration: 2,\r\n },\r\n ],\r\n incompatibleWith: ['of_flames', 'of_fire'],\r\n },\r\n\r\n {\r\n id: 'of_thunder',\r\n name: 'of Thunder',\r\n description: 'Adds lightning damage with chance to stun',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'lightning',\r\n value: 12,\r\n chance: 1,\r\n },\r\n {\r\n type: 'status',\r\n element: 'lightning',\r\n value: 1,\r\n chance: 0.15,\r\n duration: 1,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'of_venom',\r\n name: 'of Venom',\r\n description: 'Adds poison damage over time',\r\n type: 'suffix',\r\n rarity: 'uncommon',\r\n onHitEffects: [\r\n {\r\n type: 'status',\r\n element: 'poison',\r\n value: 4,\r\n chance: 0.5,\r\n duration: 5,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'of_the_night',\r\n name: 'of the Night',\r\n description: 'Dark energy adds bonus damage',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'dark',\r\n value: 15,\r\n chance: 0.5,\r\n },\r\n ],\r\n statModifiers: {\r\n attack: 5,\r\n },\r\n },\r\n\r\n {\r\n id: 'of_light',\r\n name: 'of Light',\r\n description: 'Holy damage effective against undead',\r\n type: 'suffix',\r\n rarity: 'rare',\r\n onHitEffects: [\r\n {\r\n type: 'damage',\r\n element: 'holy',\r\n value: 10,\r\n chance: 1,\r\n },\r\n ],\r\n incompatibleWith: ['of_the_night'],\r\n },\r\n\r\n // =========================================================================\r\n // LEGENDARY AFFIXES - Unique, game-changing effects\r\n // =========================================================================\r\n\r\n {\r\n id: 'time_rift',\r\n name: 'Time Rift',\r\n description: 'Has a chance to skip enemy turns',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 5,\r\n passiveEffects: [\r\n {\r\n type: 'trigger',\r\n description: '5% chance to skip enemy turn',\r\n value: 0.05,\r\n },\r\n ],\r\n apply(context) {\r\n return {\r\n extraEffects: ['Time distortion active'],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'soul_drinker',\r\n name: 'Soul Drinker',\r\n description: 'Heals for a portion of damage dealt, but costs HP per attack',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 7,\r\n statModifiers: {\r\n lifesteal: 0.25,\r\n attack: 25,\r\n },\r\n passiveEffects: [\r\n {\r\n type: 'trigger',\r\n description: 'Costs 5 HP per attack',\r\n value: -5,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n id: 'mirror_blade',\r\n name: 'Mirror Blade',\r\n description: 'Summons a mirror image that attacks alongside you',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 10,\r\n passiveEffects: [\r\n {\r\n type: 'aura',\r\n description: 'Mirror image deals 50% of your damage',\r\n value: 0.5,\r\n },\r\n ],\r\n apply(context) {\r\n return {\r\n damageModifier: {\r\n physical: context.weapon.baseAttack * 0.5,\r\n },\r\n extraEffects: ['Mirror image attacks!'],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'berserker_rage',\r\n name: 'Berserker Rage',\r\n description: 'Attack increases as HP decreases',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 8,\r\n apply(context) {\r\n const hpRatio = context.player.hp / context.player.maxHp;\r\n const bonusAttack = Math.floor((1 - hpRatio) * 50);\r\n return {\r\n damageModifier: {\r\n physical: bonusAttack,\r\n },\r\n extraEffects: hpRatio < 0.3 ? ['BERSERKER RAGE ACTIVE!'] : [],\r\n };\r\n },\r\n },\r\n\r\n {\r\n id: 'executioner',\r\n name: 'Executioner',\r\n description: 'Massive damage bonus against low HP enemies',\r\n type: 'legendary',\r\n rarity: 'legendary',\r\n requiresLevel: 6,\r\n onHit(context) {\r\n const targetHpRatio = context.target.hp / context.target.maxHp;\r\n if (targetHpRatio < 0.2) {\r\n context.dealBonusDamage(context.damage * 2, 'physical');\r\n }\r\n },\r\n },\r\n];\r\n"],"names":[],"mappings":"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","debug_id":"912f3d25-d901-54e4-9757-ecfc51d83e2a"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Affix module exports
3
+ */
4
+ export * from './types.js';
5
+ export { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';
6
+ export { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';
7
+ export { builtInAffixes } from './builtin.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["affix/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Affix module exports
3
+ */
4
+
5
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bb3eac7d-a590-570d-a513-96f0ad620cd4")}catch(e){}}();
6
+ export * from './types.js';
7
+ export { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';
8
+ export { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';
9
+ export { builtInAffixes } from './builtin.js';
10
+ //# sourceMappingURL=index.js.map
11
+ //# debugId=bb3eac7d-a590-570d-a513-96f0ad620cd4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["affix/index.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Affix module exports\r\n */\r\n\r\nexport * from './types.js';\r\nexport { AffixRegistry, getAffixRegistry } from './AffixRegistry.js';\r\nexport { PluginLoader, getPluginLoader, initializePlugins } from './PluginLoader.js';\r\nexport { builtInAffixes } from './builtin.js';\r\n"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC","debug_id":"bb3eac7d-a590-570d-a513-96f0ad620cd4"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Affix system type definitions
3
+ */
4
+ import type { StatModifiers, OnHitEffect, PassiveEffect, Rarity, AffixType } from '../core/types.js';
5
+ /**
6
+ * Affix definition interface that plugin files must export
7
+ */
8
+ export interface AffixPlugin {
9
+ /** Unique identifier for this affix */
10
+ id: string;
11
+ /** Display name */
12
+ name: string;
13
+ /** Description of the affix's effect */
14
+ description: string;
15
+ /** Affix type: prefix, suffix, or legendary */
16
+ type: AffixType;
17
+ /** Rarity tier */
18
+ rarity: Rarity;
19
+ /** Static stat modifiers */
20
+ statModifiers?: Partial<StatModifiers>;
21
+ /** Effects triggered on hit */
22
+ onHitEffects?: OnHitEffect[];
23
+ /** Passive effects always active */
24
+ passiveEffects?: PassiveEffect[];
25
+ /** List of affix IDs this one cannot combine with */
26
+ incompatibleWith?: string[];
27
+ /** Minimum player level to use */
28
+ requiresLevel?: number;
29
+ /**
30
+ * Optional: Dynamic effect application
31
+ * Called when calculating combat/exploration effects
32
+ */
33
+ apply?(context: AffixContext): AffixResult;
34
+ /**
35
+ * Optional: Called when weapon with this affix hits an enemy
36
+ */
37
+ onHit?(context: HitContext): void;
38
+ /**
39
+ * Optional: Called at the start of each combat turn
40
+ */
41
+ onTurnStart?(context: TurnContext): void;
42
+ /**
43
+ * Optional: Called when player enters a room
44
+ */
45
+ onRoomEnter?(context: RoomContext): void;
46
+ }
47
+ /**
48
+ * Context passed to affix apply function
49
+ */
50
+ export interface AffixContext {
51
+ player: {
52
+ level: number;
53
+ hp: number;
54
+ maxHp: number;
55
+ mp: number;
56
+ maxMp: number;
57
+ attack: number;
58
+ defense: number;
59
+ };
60
+ weapon: {
61
+ baseAttack: number;
62
+ durability: number;
63
+ };
64
+ combat?: {
65
+ turn: number;
66
+ enemyCount: number;
67
+ };
68
+ }
69
+ /**
70
+ * Result from affix apply function
71
+ */
72
+ export interface AffixResult {
73
+ damageModifier?: Partial<{
74
+ physical: number;
75
+ fire: number;
76
+ ice: number;
77
+ lightning: number;
78
+ poison: number;
79
+ dark: number;
80
+ holy: number;
81
+ }>;
82
+ defenseModifier?: number;
83
+ speedModifier?: number;
84
+ extraEffects?: string[];
85
+ }
86
+ /**
87
+ * Context for on-hit effects
88
+ */
89
+ export interface HitContext {
90
+ damage: number;
91
+ isCritical: boolean;
92
+ target: {
93
+ id: string;
94
+ name: string;
95
+ hp: number;
96
+ maxHp: number;
97
+ };
98
+ addStatusEffect: (effect: string, duration: number) => void;
99
+ dealBonusDamage: (amount: number, type: string) => void;
100
+ heal: (amount: number) => void;
101
+ }
102
+ /**
103
+ * Context for turn-based effects
104
+ */
105
+ export interface TurnContext {
106
+ turnNumber: number;
107
+ player: {
108
+ hp: number;
109
+ maxHp: number;
110
+ mp: number;
111
+ maxMp: number;
112
+ };
113
+ enemies: Array<{
114
+ id: string;
115
+ hp: number;
116
+ maxHp: number;
117
+ }>;
118
+ heal: (amount: number) => void;
119
+ restoreMp: (amount: number) => void;
120
+ }
121
+ /**
122
+ * Context for room entry effects
123
+ */
124
+ export interface RoomContext {
125
+ roomType: string;
126
+ hasEnemies: boolean;
127
+ hasTreasure: boolean;
128
+ player: {
129
+ hp: number;
130
+ maxHp: number;
131
+ };
132
+ revealSecrets: () => void;
133
+ addItem: (itemId: string) => void;
134
+ }
135
+ /**
136
+ * Registered affix with metadata
137
+ */
138
+ export interface RegisteredAffix {
139
+ definition: AffixPlugin;
140
+ isBuiltIn: boolean;
141
+ pluginPath?: string;
142
+ loadedAt: number;
143
+ }
144
+ /**
145
+ * Affix validation result
146
+ */
147
+ export interface AffixValidationResult {
148
+ isValid: boolean;
149
+ errors: string[];
150
+ warnings: string[];
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["affix/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Affix system type definitions
3
+ */
4
+
5
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1e714d99-49e6-53d4-845a-4b5297c5387b")}catch(e){}}();
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
8
+ //# debugId=1e714d99-49e6-53d4-845a-4b5297c5387b
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["affix/types.ts"],"sourceRoot":"/","sourcesContent":["/**\r\n * Affix system type definitions\r\n */\r\n\r\nimport type { StatModifiers, OnHitEffect, PassiveEffect, Rarity, AffixType } from '../core/types.js';\r\n\r\n/**\r\n * Affix definition interface that plugin files must export\r\n */\r\nexport interface AffixPlugin {\r\n /** Unique identifier for this affix */\r\n id: string;\r\n\r\n /** Display name */\r\n name: string;\r\n\r\n /** Description of the affix's effect */\r\n description: string;\r\n\r\n /** Affix type: prefix, suffix, or legendary */\r\n type: AffixType;\r\n\r\n /** Rarity tier */\r\n rarity: Rarity;\r\n\r\n /** Static stat modifiers */\r\n statModifiers?: Partial<StatModifiers>;\r\n\r\n /** Effects triggered on hit */\r\n onHitEffects?: OnHitEffect[];\r\n\r\n /** Passive effects always active */\r\n passiveEffects?: PassiveEffect[];\r\n\r\n /** List of affix IDs this one cannot combine with */\r\n incompatibleWith?: string[];\r\n\r\n /** Minimum player level to use */\r\n requiresLevel?: number;\r\n\r\n /**\r\n * Optional: Dynamic effect application\r\n * Called when calculating combat/exploration effects\r\n */\r\n apply?(context: AffixContext): AffixResult;\r\n\r\n /**\r\n * Optional: Called when weapon with this affix hits an enemy\r\n */\r\n onHit?(context: HitContext): void;\r\n\r\n /**\r\n * Optional: Called at the start of each combat turn\r\n */\r\n onTurnStart?(context: TurnContext): void;\r\n\r\n /**\r\n * Optional: Called when player enters a room\r\n */\r\n onRoomEnter?(context: RoomContext): void;\r\n}\r\n\r\n/**\r\n * Context passed to affix apply function\r\n */\r\nexport interface AffixContext {\r\n player: {\r\n level: number;\r\n hp: number;\r\n maxHp: number;\r\n mp: number;\r\n maxMp: number;\r\n attack: number;\r\n defense: number;\r\n };\r\n weapon: {\r\n baseAttack: number;\r\n durability: number;\r\n };\r\n combat?: {\r\n turn: number;\r\n enemyCount: number;\r\n };\r\n}\r\n\r\n/**\r\n * Result from affix apply function\r\n */\r\nexport interface AffixResult {\r\n damageModifier?: Partial<{\r\n physical: number;\r\n fire: number;\r\n ice: number;\r\n lightning: number;\r\n poison: number;\r\n dark: number;\r\n holy: number;\r\n }>;\r\n defenseModifier?: number;\r\n speedModifier?: number;\r\n extraEffects?: string[];\r\n}\r\n\r\n/**\r\n * Context for on-hit effects\r\n */\r\nexport interface HitContext {\r\n damage: number;\r\n isCritical: boolean;\r\n target: {\r\n id: string;\r\n name: string;\r\n hp: number;\r\n maxHp: number;\r\n };\r\n addStatusEffect: (effect: string, duration: number) => void;\r\n dealBonusDamage: (amount: number, type: string) => void;\r\n heal: (amount: number) => void;\r\n}\r\n\r\n/**\r\n * Context for turn-based effects\r\n */\r\nexport interface TurnContext {\r\n turnNumber: number;\r\n player: {\r\n hp: number;\r\n maxHp: number;\r\n mp: number;\r\n maxMp: number;\r\n };\r\n enemies: Array<{\r\n id: string;\r\n hp: number;\r\n maxHp: number;\r\n }>;\r\n heal: (amount: number) => void;\r\n restoreMp: (amount: number) => void;\r\n}\r\n\r\n/**\r\n * Context for room entry effects\r\n */\r\nexport interface RoomContext {\r\n roomType: string;\r\n hasEnemies: boolean;\r\n hasTreasure: boolean;\r\n player: {\r\n hp: number;\r\n maxHp: number;\r\n };\r\n revealSecrets: () => void;\r\n addItem: (itemId: string) => void;\r\n}\r\n\r\n/**\r\n * Registered affix with metadata\r\n */\r\nexport interface RegisteredAffix {\r\n definition: AffixPlugin;\r\n isBuiltIn: boolean;\r\n pluginPath?: string;\r\n loadedAt: number;\r\n}\r\n\r\n/**\r\n * Affix validation result\r\n */\r\nexport interface AffixValidationResult {\r\n isValid: boolean;\r\n errors: string[];\r\n warnings: string[];\r\n}\r\n"],"names":[],"mappings":"AAAA;;GAEG","debug_id":"1e714d99-49e6-53d4-845a-4b5297c5387b"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * PlayKit SDK integration for AI-powered content generation
3
+ * Uses Headless Device Auth for terminal authentication
4
+ * Supports token persistence for seamless re-authentication
5
+ */
6
+ import { PlayKitSDK } from 'playkit-sdk';
7
+ import type { NPCType } from '../core/types.js';
8
+ export declare const MODELS: {
9
+ readonly text: {
10
+ readonly fast: "gemini-2.5-flash";
11
+ readonly balanced: "deepseek-chat";
12
+ readonly smart: "gpt-4o";
13
+ readonly premium: "claude-sonnet-4.5";
14
+ };
15
+ readonly image: {
16
+ readonly fast: "flux-1-schnell";
17
+ readonly quality: "Kolors";
18
+ };
19
+ };
20
+ /**
21
+ * Generate QR code as string array for terminal display
22
+ */
23
+ export declare function generateQRCode(url: string): Promise<string>;
24
+ export interface AIOperationResult<T> {
25
+ success: boolean;
26
+ data?: T;
27
+ error?: string;
28
+ retriesExhausted?: boolean;
29
+ }
30
+ export interface AuthCallbacks {
31
+ onAuthUrl: (url: string) => void;
32
+ onWaiting: () => void;
33
+ onStatus: (status: string) => void;
34
+ onSuccess: (playerName?: string) => void;
35
+ onError: (error: string) => void;
36
+ onExpired: () => void;
37
+ }
38
+ interface NPCClient {
39
+ talk(message: string): Promise<string>;
40
+ }
41
+ export interface LoginInfo {
42
+ authUrl: string;
43
+ sessionId: string;
44
+ codeVerifier: string;
45
+ expiresIn: number;
46
+ }
47
+ export declare class AIClient {
48
+ private sdk;
49
+ private chatClients;
50
+ private npcClients;
51
+ private initialized;
52
+ private currentLoginInfo;
53
+ private storedPlayerName;
54
+ constructor();
55
+ /**
56
+ * Try to restore authentication from saved tokens
57
+ * Returns player name if successful, null if login is needed
58
+ */
59
+ tryRestoreAuth(): Promise<{
60
+ success: boolean;
61
+ playerName?: string;
62
+ needsRefresh?: boolean;
63
+ }>;
64
+ /**
65
+ * Get stored player name (if restored from saved auth)
66
+ */
67
+ getStoredPlayerName(): string | null;
68
+ /**
69
+ * Step 1: Initiate login - get auth URL and QR code
70
+ * Returns login info for display
71
+ */
72
+ initiateLogin(): Promise<LoginInfo>;
73
+ /**
74
+ * Step 2: Complete login - poll for user to authenticate
75
+ */
76
+ completeLogin(onStatus?: (status: string) => void): Promise<{
77
+ playerName: string;
78
+ }>;
79
+ /**
80
+ * Legacy method - Initialize SDK with callbacks (for compatibility)
81
+ */
82
+ initializeWithAuth(callbacks: AuthCallbacks): Promise<void>;
83
+ /**
84
+ * Initialize without auth (for testing only - will fail API calls)
85
+ */
86
+ initialize(): Promise<void>;
87
+ /**
88
+ * Cancel ongoing login
89
+ */
90
+ cancelLogin(): void;
91
+ /**
92
+ * Check if authenticated
93
+ */
94
+ isAuthenticated(): boolean;
95
+ /**
96
+ * Logout
97
+ */
98
+ logout(): Promise<void>;
99
+ /**
100
+ * Set player nickname using PlayKit SDK
101
+ * Returns the new nickname if successful
102
+ */
103
+ setNickname(nickname: string): Promise<{
104
+ success: boolean;
105
+ nickname?: string;
106
+ error?: string;
107
+ }>;
108
+ /**
109
+ * Get current nickname from PlayKit SDK
110
+ * Returns null if no nickname is set (user should be prompted to set one)
111
+ */
112
+ getNickname(): Promise<string | null>;
113
+ /**
114
+ * Get or create a chat client for a model
115
+ */
116
+ private getChatClient;
117
+ /**
118
+ * Generate weapon name based on affixes (with retry)
119
+ */
120
+ generateWeaponName(affixes: string[]): Promise<string>;
121
+ /**
122
+ * Generate weapon description (with retry)
123
+ */
124
+ generateWeaponDescription(name: string, affixes: string[]): Promise<string>;
125
+ /**
126
+ * Generate weapon lore (with retry)
127
+ */
128
+ generateWeaponLore(name: string): Promise<string>;
129
+ /**
130
+ * Create an NPC client with appropriate system prompt
131
+ */
132
+ createNPCClient(npcType: NPCType, customPrompt?: string): NPCClient;
133
+ /**
134
+ * Get system prompt for NPC type
135
+ */
136
+ private getNPCSystemPrompt;
137
+ /**
138
+ * Talk to an NPC (with retry)
139
+ * Returns result indicating success/failure and whether retries were exhausted
140
+ */
141
+ talkToNPC(npcType: NPCType, message: string, onChunk?: (chunk: string) => void): Promise<AIOperationResult<string>>;
142
+ /**
143
+ * Generate content with streaming
144
+ */
145
+ generateStream(prompt: string, onChunk: (chunk: string) => void, model?: string): Promise<string>;
146
+ /**
147
+ * Generate combat narration (with retry)
148
+ */
149
+ generateCombatNarration(playerName: string, enemyName: string, weaponName: string): Promise<string>;
150
+ /**
151
+ * Fallback weapon name generator
152
+ */
153
+ private fallbackWeaponName;
154
+ /**
155
+ * Check if AI client is ready
156
+ */
157
+ isReady(): boolean;
158
+ /**
159
+ * Get SDK for direct access if needed
160
+ */
161
+ getSDK(): PlayKitSDK;
162
+ }
163
+ export declare function getAIClient(): AIClient;
164
+ /**
165
+ * Step 1: Get login URL and info
166
+ */
167
+ export declare function initiateLogin(): Promise<LoginInfo>;
168
+ /**
169
+ * Step 2: Complete login (poll for auth)
170
+ */
171
+ export declare function completeLogin(onStatus?: (status: string) => void): Promise<{
172
+ playerName: string;
173
+ }>;
174
+ /**
175
+ * Legacy: Initialize AI with player authentication
176
+ */
177
+ export declare function initializeAIWithAuth(callbacks: AuthCallbacks): Promise<AIClient>;
178
+ /**
179
+ * Try to restore authentication from saved tokens
180
+ * Returns result indicating if auth was restored
181
+ */
182
+ export declare function tryRestoreAuth(): Promise<{
183
+ success: boolean;
184
+ playerName?: string;
185
+ needsRefresh?: boolean;
186
+ }>;
187
+ /**
188
+ * Set player nickname
189
+ */
190
+ export declare function setNickname(nickname: string): Promise<{
191
+ success: boolean;
192
+ nickname?: string;
193
+ error?: string;
194
+ }>;
195
+ /**
196
+ * Get player nickname
197
+ */
198
+ export declare function getNickname(): Promise<string | null>;
199
+ /**
200
+ * Logout and clear saved tokens
201
+ */
202
+ export declare function logout(): Promise<void>;
203
+ /**
204
+ * Deprecated: No longer supported without auth
205
+ */
206
+ export declare function initializeAI(): Promise<AIClient>;
207
+ export {};
208
+ //# sourceMappingURL=PlayKitClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayKitClient.d.ts","sourceRoot":"/","sources":["ai/PlayKitClient.ts"],"names":[],"mappings":"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"}