@alife-sdk/core 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 (367) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +283 -0
  3. package/dist/ai/DangerManager.d.ts +71 -0
  4. package/dist/ai/DangerManager.d.ts.map +1 -0
  5. package/dist/ai/DangerManager.js +176 -0
  6. package/dist/ai/DangerManager.js.map +1 -0
  7. package/dist/ai/GOAPAction.d.ts +45 -0
  8. package/dist/ai/GOAPAction.d.ts.map +1 -0
  9. package/dist/ai/GOAPAction.js +32 -0
  10. package/dist/ai/GOAPAction.js.map +1 -0
  11. package/dist/ai/GOAPPlanner.d.ts +80 -0
  12. package/dist/ai/GOAPPlanner.d.ts.map +1 -0
  13. package/dist/ai/GOAPPlanner.js +259 -0
  14. package/dist/ai/GOAPPlanner.js.map +1 -0
  15. package/dist/ai/IStateHandler.d.ts +8 -0
  16. package/dist/ai/IStateHandler.d.ts.map +1 -0
  17. package/dist/ai/IStateHandler.js +8 -0
  18. package/dist/ai/IStateHandler.js.map +1 -0
  19. package/dist/ai/MemorySystem.d.ts +94 -0
  20. package/dist/ai/MemorySystem.d.ts.map +1 -0
  21. package/dist/ai/MemorySystem.js +207 -0
  22. package/dist/ai/MemorySystem.js.map +1 -0
  23. package/dist/ai/StateMachine.d.ts +49 -0
  24. package/dist/ai/StateMachine.d.ts.map +1 -0
  25. package/dist/ai/StateMachine.js +83 -0
  26. package/dist/ai/StateMachine.js.map +1 -0
  27. package/dist/ai/WorldState.d.ts +48 -0
  28. package/dist/ai/WorldState.d.ts.map +1 -0
  29. package/dist/ai/WorldState.js +93 -0
  30. package/dist/ai/WorldState.js.map +1 -0
  31. package/dist/ai/index.d.ts +10 -0
  32. package/dist/ai/index.d.ts.map +1 -0
  33. package/dist/ai/index.js +8 -0
  34. package/dist/ai/index.js.map +1 -0
  35. package/dist/combat/DamageInstance.d.ts +26 -0
  36. package/dist/combat/DamageInstance.d.ts.map +1 -0
  37. package/dist/combat/DamageInstance.js +25 -0
  38. package/dist/combat/DamageInstance.js.map +1 -0
  39. package/dist/combat/MoraleStateMachine.d.ts +53 -0
  40. package/dist/combat/MoraleStateMachine.d.ts.map +1 -0
  41. package/dist/combat/MoraleStateMachine.js +84 -0
  42. package/dist/combat/MoraleStateMachine.js.map +1 -0
  43. package/dist/combat/index.d.ts +5 -0
  44. package/dist/combat/index.d.ts.map +1 -0
  45. package/dist/combat/index.js +3 -0
  46. package/dist/combat/index.js.map +1 -0
  47. package/dist/config/ALifeConfig.d.ts +131 -0
  48. package/dist/config/ALifeConfig.d.ts.map +1 -0
  49. package/dist/config/ALifeConfig.js +82 -0
  50. package/dist/config/ALifeConfig.js.map +1 -0
  51. package/dist/config/index.d.ts +3 -0
  52. package/dist/config/index.d.ts.map +1 -0
  53. package/dist/config/index.js +2 -0
  54. package/dist/config/index.js.map +1 -0
  55. package/dist/core/ALifeKernel.d.ts +163 -0
  56. package/dist/core/ALifeKernel.d.ts.map +1 -0
  57. package/dist/core/ALifeKernel.js +542 -0
  58. package/dist/core/ALifeKernel.js.map +1 -0
  59. package/dist/core/Clock.d.ts +123 -0
  60. package/dist/core/Clock.d.ts.map +1 -0
  61. package/dist/core/Clock.js +228 -0
  62. package/dist/core/Clock.js.map +1 -0
  63. package/dist/core/DevToolsInspector.d.ts +53 -0
  64. package/dist/core/DevToolsInspector.d.ts.map +1 -0
  65. package/dist/core/DevToolsInspector.js +8 -0
  66. package/dist/core/DevToolsInspector.js.map +1 -0
  67. package/dist/core/Diagnostics.d.ts +64 -0
  68. package/dist/core/Diagnostics.d.ts.map +1 -0
  69. package/dist/core/Diagnostics.js +107 -0
  70. package/dist/core/Diagnostics.js.map +1 -0
  71. package/dist/core/ISerializable.d.ts +12 -0
  72. package/dist/core/ISerializable.d.ts.map +1 -0
  73. package/dist/core/ISerializable.js +2 -0
  74. package/dist/core/ISerializable.js.map +1 -0
  75. package/dist/core/PortRegistry.d.ts +57 -0
  76. package/dist/core/PortRegistry.d.ts.map +1 -0
  77. package/dist/core/PortRegistry.js +72 -0
  78. package/dist/core/PortRegistry.js.map +1 -0
  79. package/dist/core/PortTokens.d.ts +39 -0
  80. package/dist/core/PortTokens.d.ts.map +1 -0
  81. package/dist/core/PortTokens.js +39 -0
  82. package/dist/core/PortTokens.js.map +1 -0
  83. package/dist/core/SpatialGrid.d.ts +114 -0
  84. package/dist/core/SpatialGrid.d.ts.map +1 -0
  85. package/dist/core/SpatialGrid.js +258 -0
  86. package/dist/core/SpatialGrid.js.map +1 -0
  87. package/dist/core/Vec2.d.ts +34 -0
  88. package/dist/core/Vec2.d.ts.map +1 -0
  89. package/dist/core/Vec2.js +52 -0
  90. package/dist/core/Vec2.js.map +1 -0
  91. package/dist/core/math/CatmullRom.d.ts +20 -0
  92. package/dist/core/math/CatmullRom.d.ts.map +1 -0
  93. package/dist/core/math/CatmullRom.js +37 -0
  94. package/dist/core/math/CatmullRom.js.map +1 -0
  95. package/dist/core/math/index.d.ts +6 -0
  96. package/dist/core/math/index.d.ts.map +1 -0
  97. package/dist/core/math/index.js +5 -0
  98. package/dist/core/math/index.js.map +1 -0
  99. package/dist/core/math/intersects.d.ts +32 -0
  100. package/dist/core/math/intersects.d.ts.map +1 -0
  101. package/dist/core/math/intersects.js +92 -0
  102. package/dist/core/math/intersects.js.map +1 -0
  103. package/dist/core/math/utils.d.ts +5 -0
  104. package/dist/core/math/utils.d.ts.map +1 -0
  105. package/dist/core/math/utils.js +13 -0
  106. package/dist/core/math/utils.js.map +1 -0
  107. package/dist/entity/IComponent.d.ts +17 -0
  108. package/dist/entity/IComponent.d.ts.map +1 -0
  109. package/dist/entity/IComponent.js +2 -0
  110. package/dist/entity/IComponent.js.map +1 -0
  111. package/dist/entity/IEntity.d.ts +33 -0
  112. package/dist/entity/IEntity.d.ts.map +1 -0
  113. package/dist/entity/IEntity.js +2 -0
  114. package/dist/entity/IEntity.js.map +1 -0
  115. package/dist/entity/index.d.ts +3 -0
  116. package/dist/entity/index.d.ts.map +1 -0
  117. package/dist/entity/index.js +2 -0
  118. package/dist/entity/index.js.map +1 -0
  119. package/dist/events/ALifeEvents.d.ts +241 -0
  120. package/dist/events/ALifeEvents.d.ts.map +1 -0
  121. package/dist/events/ALifeEvents.js +53 -0
  122. package/dist/events/ALifeEvents.js.map +1 -0
  123. package/dist/events/EventBus.d.ts +52 -0
  124. package/dist/events/EventBus.d.ts.map +1 -0
  125. package/dist/events/EventBus.js +129 -0
  126. package/dist/events/EventBus.js.map +1 -0
  127. package/dist/events/index.d.ts +4 -0
  128. package/dist/events/index.d.ts.map +1 -0
  129. package/dist/events/index.js +4 -0
  130. package/dist/events/index.js.map +1 -0
  131. package/dist/faction/Faction.d.ts +53 -0
  132. package/dist/faction/Faction.d.ts.map +1 -0
  133. package/dist/faction/Faction.js +101 -0
  134. package/dist/faction/Faction.js.map +1 -0
  135. package/dist/faction/FactionBuilder.d.ts +32 -0
  136. package/dist/faction/FactionBuilder.d.ts.map +1 -0
  137. package/dist/faction/FactionBuilder.js +80 -0
  138. package/dist/faction/FactionBuilder.js.map +1 -0
  139. package/dist/faction/ImmunityProfile.d.ts +24 -0
  140. package/dist/faction/ImmunityProfile.d.ts.map +1 -0
  141. package/dist/faction/ImmunityProfile.js +43 -0
  142. package/dist/faction/ImmunityProfile.js.map +1 -0
  143. package/dist/faction/index.d.ts +6 -0
  144. package/dist/faction/index.d.ts.map +1 -0
  145. package/dist/faction/index.js +5 -0
  146. package/dist/faction/index.js.map +1 -0
  147. package/dist/index.d.ts +32 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +34 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/logger/ILogEntry.d.ts +16 -0
  152. package/dist/logger/ILogEntry.d.ts.map +1 -0
  153. package/dist/logger/ILogEntry.js +2 -0
  154. package/dist/logger/ILogEntry.js.map +1 -0
  155. package/dist/logger/LogChannel.d.ts +27 -0
  156. package/dist/logger/LogChannel.d.ts.map +1 -0
  157. package/dist/logger/LogChannel.js +26 -0
  158. package/dist/logger/LogChannel.js.map +1 -0
  159. package/dist/logger/LogLevel.d.ts +10 -0
  160. package/dist/logger/LogLevel.d.ts.map +1 -0
  161. package/dist/logger/LogLevel.js +9 -0
  162. package/dist/logger/LogLevel.js.map +1 -0
  163. package/dist/logger/Logger.d.ts +56 -0
  164. package/dist/logger/Logger.d.ts.map +1 -0
  165. package/dist/logger/Logger.js +106 -0
  166. package/dist/logger/Logger.js.map +1 -0
  167. package/dist/logger/index.d.ts +8 -0
  168. package/dist/logger/index.d.ts.map +1 -0
  169. package/dist/logger/index.js +5 -0
  170. package/dist/logger/index.js.map +1 -0
  171. package/dist/movement/MonsterHome.d.ts +49 -0
  172. package/dist/movement/MonsterHome.d.ts.map +1 -0
  173. package/dist/movement/MonsterHome.js +75 -0
  174. package/dist/movement/MonsterHome.js.map +1 -0
  175. package/dist/movement/PatrolRoute.d.ts +99 -0
  176. package/dist/movement/PatrolRoute.d.ts.map +1 -0
  177. package/dist/movement/PatrolRoute.js +141 -0
  178. package/dist/movement/PatrolRoute.js.map +1 -0
  179. package/dist/movement/index.d.ts +5 -0
  180. package/dist/movement/index.d.ts.map +1 -0
  181. package/dist/movement/index.js +4 -0
  182. package/dist/movement/index.js.map +1 -0
  183. package/dist/navigation/LevelGraph.d.ts +78 -0
  184. package/dist/navigation/LevelGraph.d.ts.map +1 -0
  185. package/dist/navigation/LevelGraph.js +268 -0
  186. package/dist/navigation/LevelGraph.js.map +1 -0
  187. package/dist/navigation/NPCGraphMover.d.ts +87 -0
  188. package/dist/navigation/NPCGraphMover.d.ts.map +1 -0
  189. package/dist/navigation/NPCGraphMover.js +193 -0
  190. package/dist/navigation/NPCGraphMover.js.map +1 -0
  191. package/dist/navigation/index.d.ts +5 -0
  192. package/dist/navigation/index.d.ts.map +1 -0
  193. package/dist/navigation/index.js +4 -0
  194. package/dist/navigation/index.js.map +1 -0
  195. package/dist/plugins/AnomaliesPlugin.d.ts +26 -0
  196. package/dist/plugins/AnomaliesPlugin.d.ts.map +1 -0
  197. package/dist/plugins/AnomaliesPlugin.js +30 -0
  198. package/dist/plugins/AnomaliesPlugin.js.map +1 -0
  199. package/dist/plugins/CombatSchemaPlugin.d.ts +35 -0
  200. package/dist/plugins/CombatSchemaPlugin.d.ts.map +1 -0
  201. package/dist/plugins/CombatSchemaPlugin.js +44 -0
  202. package/dist/plugins/CombatSchemaPlugin.js.map +1 -0
  203. package/dist/plugins/FactionsPlugin.d.ts +26 -0
  204. package/dist/plugins/FactionsPlugin.d.ts.map +1 -0
  205. package/dist/plugins/FactionsPlugin.js +30 -0
  206. package/dist/plugins/FactionsPlugin.js.map +1 -0
  207. package/dist/plugins/IALifePlugin.d.ts +91 -0
  208. package/dist/plugins/IALifePlugin.d.ts.map +1 -0
  209. package/dist/plugins/IALifePlugin.js +2 -0
  210. package/dist/plugins/IALifePlugin.js.map +1 -0
  211. package/dist/plugins/MonstersPlugin.d.ts +26 -0
  212. package/dist/plugins/MonstersPlugin.d.ts.map +1 -0
  213. package/dist/plugins/MonstersPlugin.js +30 -0
  214. package/dist/plugins/MonstersPlugin.js.map +1 -0
  215. package/dist/plugins/NPCTypesPlugin.d.ts +26 -0
  216. package/dist/plugins/NPCTypesPlugin.d.ts.map +1 -0
  217. package/dist/plugins/NPCTypesPlugin.js +30 -0
  218. package/dist/plugins/NPCTypesPlugin.js.map +1 -0
  219. package/dist/plugins/PluginToken.d.ts +26 -0
  220. package/dist/plugins/PluginToken.d.ts.map +1 -0
  221. package/dist/plugins/PluginToken.js +22 -0
  222. package/dist/plugins/PluginToken.js.map +1 -0
  223. package/dist/plugins/SocialPlugin.d.ts +14 -0
  224. package/dist/plugins/SocialPlugin.d.ts.map +1 -0
  225. package/dist/plugins/SocialPlugin.js +16 -0
  226. package/dist/plugins/SocialPlugin.js.map +1 -0
  227. package/dist/plugins/SpawnPlugin.d.ts +15 -0
  228. package/dist/plugins/SpawnPlugin.d.ts.map +1 -0
  229. package/dist/plugins/SpawnPlugin.js +26 -0
  230. package/dist/plugins/SpawnPlugin.js.map +1 -0
  231. package/dist/plugins/SquadPlugin.d.ts +14 -0
  232. package/dist/plugins/SquadPlugin.d.ts.map +1 -0
  233. package/dist/plugins/SquadPlugin.js +16 -0
  234. package/dist/plugins/SquadPlugin.js.map +1 -0
  235. package/dist/plugins/SurgePlugin.d.ts +20 -0
  236. package/dist/plugins/SurgePlugin.d.ts.map +1 -0
  237. package/dist/plugins/SurgePlugin.js +22 -0
  238. package/dist/plugins/SurgePlugin.js.map +1 -0
  239. package/dist/plugins/TradePlugin.d.ts +16 -0
  240. package/dist/plugins/TradePlugin.d.ts.map +1 -0
  241. package/dist/plugins/TradePlugin.js +18 -0
  242. package/dist/plugins/TradePlugin.js.map +1 -0
  243. package/dist/plugins/index.d.ts +11 -0
  244. package/dist/plugins/index.d.ts.map +1 -0
  245. package/dist/plugins/index.js +10 -0
  246. package/dist/plugins/index.js.map +1 -0
  247. package/dist/plugins/pluginNames.d.ts +37 -0
  248. package/dist/plugins/pluginNames.d.ts.map +1 -0
  249. package/dist/plugins/pluginNames.js +28 -0
  250. package/dist/plugins/pluginNames.js.map +1 -0
  251. package/dist/plugins/presets.d.ts +31 -0
  252. package/dist/plugins/presets.d.ts.map +1 -0
  253. package/dist/plugins/presets.js +50 -0
  254. package/dist/plugins/presets.js.map +1 -0
  255. package/dist/ports/IDataLoader.d.ts +38 -0
  256. package/dist/ports/IDataLoader.d.ts.map +1 -0
  257. package/dist/ports/IDataLoader.js +12 -0
  258. package/dist/ports/IDataLoader.js.map +1 -0
  259. package/dist/ports/IEntityAdapter.d.ts +73 -0
  260. package/dist/ports/IEntityAdapter.d.ts.map +1 -0
  261. package/dist/ports/IEntityAdapter.js +36 -0
  262. package/dist/ports/IEntityAdapter.js.map +1 -0
  263. package/dist/ports/IEntityFactory.d.ts +66 -0
  264. package/dist/ports/IEntityFactory.d.ts.map +1 -0
  265. package/dist/ports/IEntityFactory.js +21 -0
  266. package/dist/ports/IEntityFactory.js.map +1 -0
  267. package/dist/ports/ILogger.d.ts +29 -0
  268. package/dist/ports/ILogger.d.ts.map +1 -0
  269. package/dist/ports/ILogger.js +2 -0
  270. package/dist/ports/ILogger.js.map +1 -0
  271. package/dist/ports/IPlayerPositionProvider.d.ts +20 -0
  272. package/dist/ports/IPlayerPositionProvider.d.ts.map +1 -0
  273. package/dist/ports/IPlayerPositionProvider.js +11 -0
  274. package/dist/ports/IPlayerPositionProvider.js.map +1 -0
  275. package/dist/ports/IRandom.d.ts +25 -0
  276. package/dist/ports/IRandom.d.ts.map +1 -0
  277. package/dist/ports/IRandom.js +39 -0
  278. package/dist/ports/IRandom.js.map +1 -0
  279. package/dist/ports/IRuntimeClock.d.ts +18 -0
  280. package/dist/ports/IRuntimeClock.d.ts.map +1 -0
  281. package/dist/ports/IRuntimeClock.js +2 -0
  282. package/dist/ports/IRuntimeClock.js.map +1 -0
  283. package/dist/ports/index.d.ts +12 -0
  284. package/dist/ports/index.d.ts.map +1 -0
  285. package/dist/ports/index.js +5 -0
  286. package/dist/ports/index.js.map +1 -0
  287. package/dist/registry/AIStateRegistry.d.ts +42 -0
  288. package/dist/registry/AIStateRegistry.d.ts.map +1 -0
  289. package/dist/registry/AIStateRegistry.js +27 -0
  290. package/dist/registry/AIStateRegistry.js.map +1 -0
  291. package/dist/registry/AnomalyTypeRegistry.d.ts +21 -0
  292. package/dist/registry/AnomalyTypeRegistry.d.ts.map +1 -0
  293. package/dist/registry/AnomalyTypeRegistry.js +20 -0
  294. package/dist/registry/AnomalyTypeRegistry.js.map +1 -0
  295. package/dist/registry/BehaviorSchemeRegistry.d.ts +21 -0
  296. package/dist/registry/BehaviorSchemeRegistry.d.ts.map +1 -0
  297. package/dist/registry/BehaviorSchemeRegistry.js +24 -0
  298. package/dist/registry/BehaviorSchemeRegistry.js.map +1 -0
  299. package/dist/registry/DamageTypeRegistry.d.ts +17 -0
  300. package/dist/registry/DamageTypeRegistry.d.ts.map +1 -0
  301. package/dist/registry/DamageTypeRegistry.js +24 -0
  302. package/dist/registry/DamageTypeRegistry.js.map +1 -0
  303. package/dist/registry/FactionRegistry.d.ts +41 -0
  304. package/dist/registry/FactionRegistry.d.ts.map +1 -0
  305. package/dist/registry/FactionRegistry.js +29 -0
  306. package/dist/registry/FactionRegistry.js.map +1 -0
  307. package/dist/registry/MonsterRegistry.d.ts +44 -0
  308. package/dist/registry/MonsterRegistry.d.ts.map +1 -0
  309. package/dist/registry/MonsterRegistry.js +43 -0
  310. package/dist/registry/MonsterRegistry.js.map +1 -0
  311. package/dist/registry/NPCTypeRegistry.d.ts +34 -0
  312. package/dist/registry/NPCTypeRegistry.d.ts.map +1 -0
  313. package/dist/registry/NPCTypeRegistry.js +20 -0
  314. package/dist/registry/NPCTypeRegistry.js.map +1 -0
  315. package/dist/registry/Registry.d.ts +44 -0
  316. package/dist/registry/Registry.d.ts.map +1 -0
  317. package/dist/registry/Registry.js +80 -0
  318. package/dist/registry/Registry.js.map +1 -0
  319. package/dist/registry/TaskTypeRegistry.d.ts +17 -0
  320. package/dist/registry/TaskTypeRegistry.d.ts.map +1 -0
  321. package/dist/registry/TaskTypeRegistry.js +16 -0
  322. package/dist/registry/TaskTypeRegistry.js.map +1 -0
  323. package/dist/registry/index.d.ts +19 -0
  324. package/dist/registry/index.d.ts.map +1 -0
  325. package/dist/registry/index.js +11 -0
  326. package/dist/registry/index.js.map +1 -0
  327. package/dist/schema/index.d.ts +3 -0
  328. package/dist/schema/index.d.ts.map +1 -0
  329. package/dist/schema/index.js +3 -0
  330. package/dist/schema/index.js.map +1 -0
  331. package/dist/schema/validators.d.ts +32 -0
  332. package/dist/schema/validators.d.ts.map +1 -0
  333. package/dist/schema/validators.js +249 -0
  334. package/dist/schema/validators.js.map +1 -0
  335. package/dist/spawn/SpawnRegistry.d.ts +48 -0
  336. package/dist/spawn/SpawnRegistry.d.ts.map +1 -0
  337. package/dist/spawn/SpawnRegistry.js +141 -0
  338. package/dist/spawn/SpawnRegistry.js.map +1 -0
  339. package/dist/spawn/index.d.ts +3 -0
  340. package/dist/spawn/index.d.ts.map +1 -0
  341. package/dist/spawn/index.js +3 -0
  342. package/dist/spawn/index.js.map +1 -0
  343. package/dist/terrain/SmartTerrain.d.ts +119 -0
  344. package/dist/terrain/SmartTerrain.d.ts.map +1 -0
  345. package/dist/terrain/SmartTerrain.js +124 -0
  346. package/dist/terrain/SmartTerrain.js.map +1 -0
  347. package/dist/terrain/TerrainBuilder.d.ts +44 -0
  348. package/dist/terrain/TerrainBuilder.d.ts.map +1 -0
  349. package/dist/terrain/TerrainBuilder.js +112 -0
  350. package/dist/terrain/TerrainBuilder.js.map +1 -0
  351. package/dist/terrain/Zone.d.ts +25 -0
  352. package/dist/terrain/Zone.d.ts.map +1 -0
  353. package/dist/terrain/Zone.js +29 -0
  354. package/dist/terrain/Zone.js.map +1 -0
  355. package/dist/terrain/index.d.ts +6 -0
  356. package/dist/terrain/index.d.ts.map +1 -0
  357. package/dist/terrain/index.js +5 -0
  358. package/dist/terrain/index.js.map +1 -0
  359. package/dist/time/TimeManager.d.ts +21 -0
  360. package/dist/time/TimeManager.d.ts.map +1 -0
  361. package/dist/time/TimeManager.js +41 -0
  362. package/dist/time/TimeManager.js.map +1 -0
  363. package/dist/time/index.d.ts +3 -0
  364. package/dist/time/index.d.ts.map +1 -0
  365. package/dist/time/index.js +2 -0
  366. package/dist/time/index.js.map +1 -0
  367. package/package.json +119 -0
@@ -0,0 +1,26 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ import { MonsterRegistry } from '../registry/MonsterRegistry';
4
+ /**
5
+ * Adds monster type registration to the A-Life kernel.
6
+ *
7
+ * Install this plugin when your game has monster entities (non-human hostile
8
+ * creatures with lair territories and special abilities).
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const alife = new ALifeKernel(ports);
13
+ * alife.use(new MonstersPlugin());
14
+ *
15
+ * const mp = alife.getPlugin<MonstersPlugin>('monsters');
16
+ * mp.monsters.register('dog', { name: 'Blind Dog', hp: 100, ... });
17
+ * ```
18
+ */
19
+ export declare class MonstersPlugin implements IALifePlugin {
20
+ readonly name = "monsters";
21
+ readonly monsters: MonsterRegistry;
22
+ private kernel;
23
+ install(kernel: ALifeKernel): void;
24
+ init(): void;
25
+ }
26
+ //# sourceMappingURL=MonstersPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonstersPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/MonstersPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,kBAAyB;IAE1C,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,IAAI,IAAI;CAIb"}
@@ -0,0 +1,30 @@
1
+ import { MonsterRegistry } from '../registry/MonsterRegistry';
2
+ /**
3
+ * Adds monster type registration to the A-Life kernel.
4
+ *
5
+ * Install this plugin when your game has monster entities (non-human hostile
6
+ * creatures with lair territories and special abilities).
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const alife = new ALifeKernel(ports);
11
+ * alife.use(new MonstersPlugin());
12
+ *
13
+ * const mp = alife.getPlugin<MonstersPlugin>('monsters');
14
+ * mp.monsters.register('dog', { name: 'Blind Dog', hp: 100, ... });
15
+ * ```
16
+ */
17
+ export class MonstersPlugin {
18
+ constructor() {
19
+ this.name = 'monsters';
20
+ this.monsters = new MonsterRegistry();
21
+ }
22
+ install(kernel) {
23
+ this.kernel = kernel;
24
+ }
25
+ init() {
26
+ this.monsters.freeze();
27
+ this.kernel.logger.info('plugin', `MonstersPlugin: ${this.monsters.size} types registered`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=MonstersPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonstersPlugin.js","sourceRoot":"","sources":["../../src/plugins/MonstersPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAA3B;QACW,SAAI,GAAG,UAAU,CAAC;QAClB,aAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IAY5C,CAAC;IARC,OAAO,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;IAC9F,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ import { NPCTypeRegistry } from '../registry/NPCTypeRegistry';
4
+ /**
5
+ * Owns NPC type definitions (human archetypes, ranks, equipment profiles).
6
+ *
7
+ * Install this plugin when your game spawns human NPCs with
8
+ * data-driven type configurations.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const alife = new ALifeKernel(ports);
13
+ * alife.use(new NPCTypesPlugin());
14
+ *
15
+ * const np = alife.getPlugin<NPCTypesPlugin>('npcTypes');
16
+ * np.npcTypes.register('stalker', { name: 'Сталкер', hp: 100, ... });
17
+ * ```
18
+ */
19
+ export declare class NPCTypesPlugin implements IALifePlugin {
20
+ readonly name = "npcTypes";
21
+ readonly npcTypes: NPCTypeRegistry;
22
+ private kernel;
23
+ install(kernel: ALifeKernel): void;
24
+ init(): void;
25
+ }
26
+ //# sourceMappingURL=NPCTypesPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NPCTypesPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/NPCTypesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,QAAQ,kBAAyB;IAE1C,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,IAAI,IAAI;CAIb"}
@@ -0,0 +1,30 @@
1
+ import { NPCTypeRegistry } from '../registry/NPCTypeRegistry';
2
+ /**
3
+ * Owns NPC type definitions (human archetypes, ranks, equipment profiles).
4
+ *
5
+ * Install this plugin when your game spawns human NPCs with
6
+ * data-driven type configurations.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const alife = new ALifeKernel(ports);
11
+ * alife.use(new NPCTypesPlugin());
12
+ *
13
+ * const np = alife.getPlugin<NPCTypesPlugin>('npcTypes');
14
+ * np.npcTypes.register('stalker', { name: 'Сталкер', hp: 100, ... });
15
+ * ```
16
+ */
17
+ export class NPCTypesPlugin {
18
+ constructor() {
19
+ this.name = 'npcTypes';
20
+ this.npcTypes = new NPCTypeRegistry();
21
+ }
22
+ install(kernel) {
23
+ this.kernel = kernel;
24
+ }
25
+ init() {
26
+ this.npcTypes.freeze();
27
+ this.kernel.logger.info('plugin', `NPCTypesPlugin: ${this.npcTypes.size} NPC types registered`);
28
+ }
29
+ }
30
+ //# sourceMappingURL=NPCTypesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NPCTypesPlugin.js","sourceRoot":"","sources":["../../src/plugins/NPCTypesPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,cAAc;IAA3B;QACW,SAAI,GAAG,UAAU,CAAC;QAClB,aAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IAY5C,CAAC;IARC,OAAO,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC;IAClG,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Type-safe plugin retrieval token.
3
+ *
4
+ * Associates a plugin name string with its concrete class type,
5
+ * eliminating magic strings and unsafe generic casts in `getPlugin()`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const MY_PLUGIN = createPluginToken<MyPlugin>('myPlugin');
10
+ * kernel.use(new MyPlugin());
11
+ * const p = kernel.getPlugin(MY_PLUGIN); // typed as MyPlugin
12
+ * ```
13
+ */
14
+ import type { IALifePlugin } from './IALifePlugin';
15
+ export interface PluginToken<T extends IALifePlugin> {
16
+ readonly name: string;
17
+ /** @internal Phantom field for type inference — never set at runtime. */
18
+ readonly _phantom?: T;
19
+ }
20
+ /**
21
+ * Create a typed plugin token for use with `kernel.getPlugin()`.
22
+ *
23
+ * @param name - Plugin name string (must match `plugin.name`).
24
+ */
25
+ export declare function createPluginToken<T extends IALifePlugin>(name: string): PluginToken<T>;
26
+ //# sourceMappingURL=PluginToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginToken.d.ts","sourceRoot":"","sources":["../../src/plugins/PluginToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAEtF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Type-safe plugin retrieval token.
3
+ *
4
+ * Associates a plugin name string with its concrete class type,
5
+ * eliminating magic strings and unsafe generic casts in `getPlugin()`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const MY_PLUGIN = createPluginToken<MyPlugin>('myPlugin');
10
+ * kernel.use(new MyPlugin());
11
+ * const p = kernel.getPlugin(MY_PLUGIN); // typed as MyPlugin
12
+ * ```
13
+ */
14
+ /**
15
+ * Create a typed plugin token for use with `kernel.getPlugin()`.
16
+ *
17
+ * @param name - Plugin name string (must match `plugin.name`).
18
+ */
19
+ export function createPluginToken(name) {
20
+ return { name };
21
+ }
22
+ //# sourceMappingURL=PluginToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginToken.js","sourceRoot":"","sources":["../../src/plugins/PluginToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAyB,IAAY;IACpE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ /**
4
+ * Declares NPC social system support in the A-Life kernel.
5
+ *
6
+ * Phase 2 will add SocialManager, MeetBehavior, and KampSocialFSM here.
7
+ * Social events (`social:npc_bubble`, `social:npc_meet_player`, etc.) are
8
+ * already typed in ALifeEvents.
9
+ */
10
+ export declare class SocialPlugin implements IALifePlugin {
11
+ readonly name = "social";
12
+ install(_kernel: ALifeKernel): void;
13
+ }
14
+ //# sourceMappingURL=SocialPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SocialPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAGpC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Declares NPC social system support in the A-Life kernel.
3
+ *
4
+ * Phase 2 will add SocialManager, MeetBehavior, and KampSocialFSM here.
5
+ * Social events (`social:npc_bubble`, `social:npc_meet_player`, etc.) are
6
+ * already typed in ALifeEvents.
7
+ */
8
+ export class SocialPlugin {
9
+ constructor() {
10
+ this.name = 'social';
11
+ }
12
+ install(_kernel) {
13
+ // Social events are already typed in ALifeEvents.
14
+ }
15
+ }
16
+ //# sourceMappingURL=SocialPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SocialPlugin.js","sourceRoot":"","sources":["../../src/plugins/SocialPlugin.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IAAzB;QACW,SAAI,GAAG,QAAQ,CAAC;IAK3B,CAAC;IAHC,OAAO,CAAC,OAAoB;QAC1B,kDAAkD;IACpD,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import type { ALifeKernel } from '../core/ALifeKernel';
2
+ import type { IALifePlugin } from './IALifePlugin';
3
+ import { SpawnRegistry } from '../spawn/SpawnRegistry';
4
+ export declare class SpawnPlugin implements IALifePlugin {
5
+ readonly name = "spawn";
6
+ readonly spawns: SpawnRegistry;
7
+ constructor(defaultCooldownMs?: number);
8
+ install(_kernel: ALifeKernel): void;
9
+ init(): void;
10
+ update(deltaMs: number): void;
11
+ serialize(): Record<string, unknown>;
12
+ restore(state: Record<string, unknown>): void;
13
+ destroy(): void;
14
+ }
15
+ //# sourceMappingURL=SpawnPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpawnPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SpawnPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,iBAAiB,GAAE,MAAe;IAI9C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAInC,IAAI,IAAI,IAAI;IAIZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7C,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,26 @@
1
+ import { SpawnRegistry } from '../spawn/SpawnRegistry';
2
+ export class SpawnPlugin {
3
+ constructor(defaultCooldownMs = 30000) {
4
+ this.name = 'spawn';
5
+ this.spawns = new SpawnRegistry(defaultCooldownMs);
6
+ }
7
+ install(_kernel) {
8
+ // SpawnPlugin requires no kernel reference.
9
+ }
10
+ init() {
11
+ // SpawnRegistry is ready — no additional init needed.
12
+ }
13
+ update(deltaMs) {
14
+ this.spawns.update(deltaMs);
15
+ }
16
+ serialize() {
17
+ return this.spawns.serialize();
18
+ }
19
+ restore(state) {
20
+ this.spawns.restore(state);
21
+ }
22
+ destroy() {
23
+ // SpawnRegistry has no subscriptions to clean up.
24
+ }
25
+ }
26
+ //# sourceMappingURL=SpawnPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpawnPlugin.js","sourceRoot":"","sources":["../../src/plugins/SpawnPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,OAAO,WAAW;IAItB,YAAY,oBAA4B,KAAM;QAHrC,SAAI,GAAG,OAAO,CAAC;QAItB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,OAAoB;QAC1B,4CAA4C;IAC9C,CAAC;IAED,IAAI;QACF,sDAAsD;IACxD,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAwC,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,KAA8B;QACpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAuC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,kDAAkD;IACpD,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ /**
4
+ * Declares squad system support in the A-Life kernel.
5
+ *
6
+ * Phase 2 will add SquadManager and SquadTactics here.
7
+ * Squad events (`squad:formed`, `squad:command_issued`, etc.) are already
8
+ * typed in ALifeEvents — this plugin enables their semantic use.
9
+ */
10
+ export declare class SquadPlugin implements IALifePlugin {
11
+ readonly name = "squad";
12
+ install(_kernel: ALifeKernel): void;
13
+ }
14
+ //# sourceMappingURL=SquadPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SquadPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SquadPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAGpC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Declares squad system support in the A-Life kernel.
3
+ *
4
+ * Phase 2 will add SquadManager and SquadTactics here.
5
+ * Squad events (`squad:formed`, `squad:command_issued`, etc.) are already
6
+ * typed in ALifeEvents — this plugin enables their semantic use.
7
+ */
8
+ export class SquadPlugin {
9
+ constructor() {
10
+ this.name = 'squad';
11
+ }
12
+ install(_kernel) {
13
+ // No registries. Squad events are already typed in ALifeEvents.
14
+ }
15
+ }
16
+ //# sourceMappingURL=SquadPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SquadPlugin.js","sourceRoot":"","sources":["../../src/plugins/SquadPlugin.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAAxB;QACW,SAAI,GAAG,OAAO,CAAC;IAK1B,CAAC;IAHC,OAAO,CAAC,OAAoB;QAC1B,gEAAgE;IAClE,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ import type { ISurgeConfig } from '../config/ALifeConfig';
4
+ /**
5
+ * Declares surge system support in the A-Life kernel.
6
+ *
7
+ * Currently provides config access for the surge subsystem.
8
+ * Phase 2 will add the full SurgeManager state machine here
9
+ * (INACTIVE → WARNING → ACTIVE → AFTERMATH).
10
+ *
11
+ * Surge events (`surge:warning`, `surge:started`, etc.) are already typed
12
+ * in ALifeEvents — this plugin enables their semantic use.
13
+ */
14
+ export declare class SurgePlugin implements IALifePlugin {
15
+ readonly name = "surge";
16
+ private kernel;
17
+ install(kernel: ALifeKernel): void;
18
+ get config(): ISurgeConfig;
19
+ }
20
+ //# sourceMappingURL=SurgePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurgePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/SurgePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,MAAM,IAAI,YAAY,CAEzB;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Declares surge system support in the A-Life kernel.
3
+ *
4
+ * Currently provides config access for the surge subsystem.
5
+ * Phase 2 will add the full SurgeManager state machine here
6
+ * (INACTIVE → WARNING → ACTIVE → AFTERMATH).
7
+ *
8
+ * Surge events (`surge:warning`, `surge:started`, etc.) are already typed
9
+ * in ALifeEvents — this plugin enables their semantic use.
10
+ */
11
+ export class SurgePlugin {
12
+ constructor() {
13
+ this.name = 'surge';
14
+ }
15
+ install(kernel) {
16
+ this.kernel = kernel;
17
+ }
18
+ get config() {
19
+ return this.kernel.currentConfig.surge;
20
+ }
21
+ }
22
+ //# sourceMappingURL=SurgePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurgePlugin.js","sourceRoot":"","sources":["../../src/plugins/SurgePlugin.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAW;IAAxB;QACW,SAAI,GAAG,OAAO,CAAC;IAW1B,CAAC;IAPC,OAAO,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { IALifePlugin } from './IALifePlugin';
2
+ import type { ALifeKernel } from '../core/ALifeKernel';
3
+ import type { ITradeConfig } from '../config/ALifeConfig';
4
+ /**
5
+ * Declares trade system support in the A-Life kernel.
6
+ *
7
+ * Currently provides config access for the trade subsystem.
8
+ * Phase 2 will add TradeManager here.
9
+ */
10
+ export declare class TradePlugin implements IALifePlugin {
11
+ readonly name = "trade";
12
+ private kernel;
13
+ install(kernel: ALifeKernel): void;
14
+ get config(): ITradeConfig;
15
+ }
16
+ //# sourceMappingURL=TradePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TradePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/TradePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIlC,IAAI,MAAM,IAAI,YAAY,CAEzB;CACF"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Declares trade system support in the A-Life kernel.
3
+ *
4
+ * Currently provides config access for the trade subsystem.
5
+ * Phase 2 will add TradeManager here.
6
+ */
7
+ export class TradePlugin {
8
+ constructor() {
9
+ this.name = 'trade';
10
+ }
11
+ install(kernel) {
12
+ this.kernel = kernel;
13
+ }
14
+ get config() {
15
+ return this.kernel.currentConfig.trade;
16
+ }
17
+ }
18
+ //# sourceMappingURL=TradePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TradePlugin.js","sourceRoot":"","sources":["../../src/plugins/TradePlugin.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAAxB;QACW,SAAI,GAAG,OAAO,CAAC;IAW1B,CAAC;IAPC,OAAO,CAAC,MAAmB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export type { IALifePlugin } from './IALifePlugin';
2
+ export { FactionsPlugin } from './FactionsPlugin';
3
+ export { NPCTypesPlugin } from './NPCTypesPlugin';
4
+ export { CombatSchemaPlugin } from './CombatSchemaPlugin';
5
+ export { MonstersPlugin } from './MonstersPlugin';
6
+ export { AnomaliesPlugin } from './AnomaliesPlugin';
7
+ export { SpawnPlugin } from './SpawnPlugin';
8
+ export { PluginNames, Plugins } from './pluginNames';
9
+ export { type PluginToken, createPluginToken } from './PluginToken';
10
+ export { fullPreset, fullStalkerPreset, minimalPreset } from './presets';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { FactionsPlugin } from './FactionsPlugin';
2
+ export { NPCTypesPlugin } from './NPCTypesPlugin';
3
+ export { CombatSchemaPlugin } from './CombatSchemaPlugin';
4
+ export { MonstersPlugin } from './MonstersPlugin';
5
+ export { AnomaliesPlugin } from './AnomaliesPlugin';
6
+ export { SpawnPlugin } from './SpawnPlugin';
7
+ export { PluginNames, Plugins } from './pluginNames';
8
+ export { createPluginToken } from './PluginToken';
9
+ export { fullPreset, fullStalkerPreset, minimalPreset } from './presets';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { FactionsPlugin } from './FactionsPlugin';
2
+ import type { NPCTypesPlugin } from './NPCTypesPlugin';
3
+ import type { CombatSchemaPlugin } from './CombatSchemaPlugin';
4
+ import type { SpawnPlugin } from './SpawnPlugin';
5
+ import type { MonstersPlugin } from './MonstersPlugin';
6
+ import type { AnomaliesPlugin } from './AnomaliesPlugin';
7
+ import type { SurgePlugin } from './SurgePlugin';
8
+ import type { SquadPlugin } from './SquadPlugin';
9
+ import type { SocialPlugin } from './SocialPlugin';
10
+ import type { TradePlugin } from './TradePlugin';
11
+ /** Well-known plugin name constants to avoid magic strings in `getPlugin()`. */
12
+ export declare const PluginNames: {
13
+ readonly FACTIONS: "factions";
14
+ readonly NPC_TYPES: "npcTypes";
15
+ readonly COMBAT_SCHEMA: "combatSchema";
16
+ readonly SPAWN: "spawn";
17
+ readonly MONSTERS: "monsters";
18
+ readonly ANOMALIES: "anomalies";
19
+ readonly SURGE: "surge";
20
+ readonly SQUAD: "squad";
21
+ readonly SOCIAL: "social";
22
+ readonly TRADE: "trade";
23
+ };
24
+ /** Type-safe plugin tokens for use with `kernel.getPlugin()`. */
25
+ export declare const Plugins: {
26
+ readonly FACTIONS: import("./PluginToken").PluginToken<FactionsPlugin>;
27
+ readonly NPC_TYPES: import("./PluginToken").PluginToken<NPCTypesPlugin>;
28
+ readonly COMBAT_SCHEMA: import("./PluginToken").PluginToken<CombatSchemaPlugin>;
29
+ readonly SPAWN: import("./PluginToken").PluginToken<SpawnPlugin>;
30
+ readonly MONSTERS: import("./PluginToken").PluginToken<MonstersPlugin>;
31
+ readonly ANOMALIES: import("./PluginToken").PluginToken<AnomaliesPlugin>;
32
+ readonly SURGE: import("./PluginToken").PluginToken<SurgePlugin>;
33
+ readonly SQUAD: import("./PluginToken").PluginToken<SquadPlugin>;
34
+ readonly SOCIAL: import("./PluginToken").PluginToken<SocialPlugin>;
35
+ readonly TRADE: import("./PluginToken").PluginToken<TradePlugin>;
36
+ };
37
+ //# sourceMappingURL=pluginNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginNames.d.ts","sourceRoot":"","sources":["../../src/plugins/pluginNames.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,gFAAgF;AAChF,eAAO,MAAM,WAAW;;;;;;;;;;;CAWd,CAAC;AAEX,iEAAiE;AACjE,eAAO,MAAM,OAAO;;;;;;;;;;;CAWV,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { createPluginToken } from './PluginToken';
2
+ /** Well-known plugin name constants to avoid magic strings in `getPlugin()`. */
3
+ export const PluginNames = {
4
+ FACTIONS: 'factions',
5
+ NPC_TYPES: 'npcTypes',
6
+ COMBAT_SCHEMA: 'combatSchema',
7
+ SPAWN: 'spawn',
8
+ MONSTERS: 'monsters',
9
+ ANOMALIES: 'anomalies',
10
+ SURGE: 'surge',
11
+ SQUAD: 'squad',
12
+ SOCIAL: 'social',
13
+ TRADE: 'trade',
14
+ };
15
+ /** Type-safe plugin tokens for use with `kernel.getPlugin()`. */
16
+ export const Plugins = {
17
+ FACTIONS: createPluginToken(PluginNames.FACTIONS),
18
+ NPC_TYPES: createPluginToken(PluginNames.NPC_TYPES),
19
+ COMBAT_SCHEMA: createPluginToken(PluginNames.COMBAT_SCHEMA),
20
+ SPAWN: createPluginToken(PluginNames.SPAWN),
21
+ MONSTERS: createPluginToken(PluginNames.MONSTERS),
22
+ ANOMALIES: createPluginToken(PluginNames.ANOMALIES),
23
+ SURGE: createPluginToken(PluginNames.SURGE),
24
+ SQUAD: createPluginToken(PluginNames.SQUAD),
25
+ SOCIAL: createPluginToken(PluginNames.SOCIAL),
26
+ TRADE: createPluginToken(PluginNames.TRADE),
27
+ };
28
+ //# sourceMappingURL=pluginNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginNames.js","sourceRoot":"","sources":["../../src/plugins/pluginNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAYlD,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,aAAa,EAAE,cAAc;IAC7B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,iEAAiE;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,iBAAiB,CAAiB,WAAW,CAAC,QAAQ,CAAC;IACjE,SAAS,EAAE,iBAAiB,CAAiB,WAAW,CAAC,SAAS,CAAC;IACnE,aAAa,EAAE,iBAAiB,CAAqB,WAAW,CAAC,aAAa,CAAC;IAC/E,KAAK,EAAE,iBAAiB,CAAc,WAAW,CAAC,KAAK,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAiB,WAAW,CAAC,QAAQ,CAAC;IACjE,SAAS,EAAE,iBAAiB,CAAkB,WAAW,CAAC,SAAS,CAAC;IACpE,KAAK,EAAE,iBAAiB,CAAc,WAAW,CAAC,KAAK,CAAC;IACxD,KAAK,EAAE,iBAAiB,CAAc,WAAW,CAAC,KAAK,CAAC;IACxD,MAAM,EAAE,iBAAiB,CAAe,WAAW,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,iBAAiB,CAAc,WAAW,CAAC,KAAK,CAAC;CAChD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { ALifeKernel } from '../core/ALifeKernel';
2
+ /**
3
+ * Install all built-in plugins for a full simulation:
4
+ * factions, NPC types, combat schemas, monsters, anomalies, and spawn.
5
+ *
6
+ * Stub plugins (Surge, Squad, Social, Trade) are not included until
7
+ * they have real implementations. Re-add them via `kernel.use()` as needed.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const alife = new ALifeKernel(ports);
12
+ * fullPreset(alife);
13
+ * alife.init();
14
+ * ```
15
+ */
16
+ export declare function fullPreset(kernel: ALifeKernel): ALifeKernel;
17
+ /** @deprecated Use {@link fullPreset} instead. Will be removed in v0.2.0. */
18
+ export declare const fullStalkerPreset: typeof fullPreset;
19
+ /**
20
+ * Minimal preset: human NPCs and factions only.
21
+ * No monsters, anomalies, or surge.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const alife = new ALifeKernel(ports);
26
+ * minimalPreset(alife);
27
+ * alife.init();
28
+ * ```
29
+ */
30
+ export declare function minimalPreset(kernel: ALifeKernel): ALifeKernel;
31
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/plugins/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAQ3D;AAED,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,mBAAa,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAM9D"}
@@ -0,0 +1,50 @@
1
+ import { FactionsPlugin } from './FactionsPlugin';
2
+ import { NPCTypesPlugin } from './NPCTypesPlugin';
3
+ import { CombatSchemaPlugin } from './CombatSchemaPlugin';
4
+ import { MonstersPlugin } from './MonstersPlugin';
5
+ import { AnomaliesPlugin } from './AnomaliesPlugin';
6
+ import { SpawnPlugin } from './SpawnPlugin';
7
+ /**
8
+ * Install all built-in plugins for a full simulation:
9
+ * factions, NPC types, combat schemas, monsters, anomalies, and spawn.
10
+ *
11
+ * Stub plugins (Surge, Squad, Social, Trade) are not included until
12
+ * they have real implementations. Re-add them via `kernel.use()` as needed.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const alife = new ALifeKernel(ports);
17
+ * fullPreset(alife);
18
+ * alife.init();
19
+ * ```
20
+ */
21
+ export function fullPreset(kernel) {
22
+ return kernel
23
+ .use(new FactionsPlugin())
24
+ .use(new NPCTypesPlugin())
25
+ .use(new CombatSchemaPlugin())
26
+ .use(new SpawnPlugin())
27
+ .use(new MonstersPlugin())
28
+ .use(new AnomaliesPlugin());
29
+ }
30
+ /** @deprecated Use {@link fullPreset} instead. Will be removed in v0.2.0. */
31
+ export const fullStalkerPreset = fullPreset;
32
+ /**
33
+ * Minimal preset: human NPCs and factions only.
34
+ * No monsters, anomalies, or surge.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const alife = new ALifeKernel(ports);
39
+ * minimalPreset(alife);
40
+ * alife.init();
41
+ * ```
42
+ */
43
+ export function minimalPreset(kernel) {
44
+ return kernel
45
+ .use(new FactionsPlugin())
46
+ .use(new NPCTypesPlugin())
47
+ .use(new CombatSchemaPlugin())
48
+ .use(new SpawnPlugin());
49
+ }
50
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/plugins/presets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,OAAO,MAAM;SACV,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;SACzB,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;SACzB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;SAC7B,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;SACtB,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;SACzB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,OAAO,MAAM;SACV,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;SACzB,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;SACzB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;SAC7B,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AAC5B,CAAC"}