@sharpee/world-model 0.9.60-beta

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 (566) hide show
  1. package/README.md +61 -0
  2. package/dist/behaviors/attack.d.ts +52 -0
  3. package/dist/behaviors/attack.d.ts.map +1 -0
  4. package/dist/behaviors/attack.js +161 -0
  5. package/dist/behaviors/attack.js.map +1 -0
  6. package/dist/behaviors/behavior.d.ts +67 -0
  7. package/dist/behaviors/behavior.d.ts.map +1 -0
  8. package/dist/behaviors/behavior.js +80 -0
  9. package/dist/behaviors/behavior.js.map +1 -0
  10. package/dist/behaviors/index.d.ts +21 -0
  11. package/dist/behaviors/index.d.ts.map +1 -0
  12. package/dist/behaviors/index.js +39 -0
  13. package/dist/behaviors/index.js.map +1 -0
  14. package/dist/capabilities/capability-behavior.d.ts +112 -0
  15. package/dist/capabilities/capability-behavior.d.ts.map +1 -0
  16. package/dist/capabilities/capability-behavior.js +9 -0
  17. package/dist/capabilities/capability-behavior.js.map +1 -0
  18. package/dist/capabilities/capability-defaults.d.ts +67 -0
  19. package/dist/capabilities/capability-defaults.d.ts.map +1 -0
  20. package/dist/capabilities/capability-defaults.js +81 -0
  21. package/dist/capabilities/capability-defaults.js.map +1 -0
  22. package/dist/capabilities/capability-helpers.d.ts +76 -0
  23. package/dist/capabilities/capability-helpers.d.ts.map +1 -0
  24. package/dist/capabilities/capability-helpers.js +112 -0
  25. package/dist/capabilities/capability-helpers.js.map +1 -0
  26. package/dist/capabilities/capability-registry.d.ts +115 -0
  27. package/dist/capabilities/capability-registry.d.ts.map +1 -0
  28. package/dist/capabilities/capability-registry.js +136 -0
  29. package/dist/capabilities/capability-registry.js.map +1 -0
  30. package/dist/capabilities/entity-builder.d.ts +79 -0
  31. package/dist/capabilities/entity-builder.d.ts.map +1 -0
  32. package/dist/capabilities/entity-builder.js +116 -0
  33. package/dist/capabilities/entity-builder.js.map +1 -0
  34. package/dist/capabilities/index.d.ts +13 -0
  35. package/dist/capabilities/index.d.ts.map +1 -0
  36. package/dist/capabilities/index.js +40 -0
  37. package/dist/capabilities/index.js.map +1 -0
  38. package/dist/capabilities/types.d.ts +35 -0
  39. package/dist/capabilities/types.d.ts.map +1 -0
  40. package/dist/capabilities/types.js +16 -0
  41. package/dist/capabilities/types.js.map +1 -0
  42. package/dist/commands/command-types.d.ts +30 -0
  43. package/dist/commands/command-types.d.ts.map +1 -0
  44. package/dist/commands/command-types.js +6 -0
  45. package/dist/commands/command-types.js.map +1 -0
  46. package/dist/commands/index.d.ts +7 -0
  47. package/dist/commands/index.d.ts.map +1 -0
  48. package/dist/commands/index.js +23 -0
  49. package/dist/commands/index.js.map +1 -0
  50. package/dist/commands/parsed-command.d.ts +204 -0
  51. package/dist/commands/parsed-command.d.ts.map +1 -0
  52. package/dist/commands/parsed-command.js +25 -0
  53. package/dist/commands/parsed-command.js.map +1 -0
  54. package/dist/commands/validated-command.d.ts +52 -0
  55. package/dist/commands/validated-command.d.ts.map +1 -0
  56. package/dist/commands/validated-command.js +8 -0
  57. package/dist/commands/validated-command.js.map +1 -0
  58. package/dist/constants/action-failures.d.ts +54 -0
  59. package/dist/constants/action-failures.d.ts.map +1 -0
  60. package/dist/constants/action-failures.js +68 -0
  61. package/dist/constants/action-failures.js.map +1 -0
  62. package/dist/constants/directions.d.ts +32 -0
  63. package/dist/constants/directions.d.ts.map +1 -0
  64. package/dist/constants/directions.js +53 -0
  65. package/dist/constants/directions.js.map +1 -0
  66. package/dist/constants/if-events.d.ts +5 -0
  67. package/dist/constants/if-events.d.ts.map +1 -0
  68. package/dist/constants/if-events.js +10 -0
  69. package/dist/constants/if-events.js.map +1 -0
  70. package/dist/constants/index.d.ts +9 -0
  71. package/dist/constants/index.d.ts.map +1 -0
  72. package/dist/constants/index.js +25 -0
  73. package/dist/constants/index.js.map +1 -0
  74. package/dist/entities/entity-store.d.ts +66 -0
  75. package/dist/entities/entity-store.d.ts.map +1 -0
  76. package/dist/entities/entity-store.js +116 -0
  77. package/dist/entities/entity-store.js.map +1 -0
  78. package/dist/entities/entity-types.d.ts +40 -0
  79. package/dist/entities/entity-types.d.ts.map +1 -0
  80. package/dist/entities/entity-types.js +56 -0
  81. package/dist/entities/entity-types.js.map +1 -0
  82. package/dist/entities/if-entity.d.ts +259 -0
  83. package/dist/entities/if-entity.d.ts.map +1 -0
  84. package/dist/entities/if-entity.js +498 -0
  85. package/dist/entities/if-entity.js.map +1 -0
  86. package/dist/entities/index.d.ts +5 -0
  87. package/dist/entities/index.d.ts.map +1 -0
  88. package/dist/entities/index.js +13 -0
  89. package/dist/entities/index.js.map +1 -0
  90. package/dist/events/types.d.ts +45 -0
  91. package/dist/events/types.d.ts.map +1 -0
  92. package/dist/events/types.js +9 -0
  93. package/dist/events/types.js.map +1 -0
  94. package/dist/examples/event-handler-registration.d.ts +14 -0
  95. package/dist/examples/event-handler-registration.d.ts.map +1 -0
  96. package/dist/examples/event-handler-registration.js +158 -0
  97. package/dist/examples/event-handler-registration.js.map +1 -0
  98. package/dist/extensions/base-extension.d.ts +69 -0
  99. package/dist/extensions/base-extension.d.ts.map +1 -0
  100. package/dist/extensions/base-extension.js +83 -0
  101. package/dist/extensions/base-extension.js.map +1 -0
  102. package/dist/extensions/index.d.ts +11 -0
  103. package/dist/extensions/index.d.ts.map +1 -0
  104. package/dist/extensions/index.js +39 -0
  105. package/dist/extensions/index.js.map +1 -0
  106. package/dist/extensions/loader.d.ts +52 -0
  107. package/dist/extensions/loader.d.ts.map +1 -0
  108. package/dist/extensions/loader.js +177 -0
  109. package/dist/extensions/loader.js.map +1 -0
  110. package/dist/extensions/manager.d.ts +68 -0
  111. package/dist/extensions/manager.d.ts.map +1 -0
  112. package/dist/extensions/manager.js +164 -0
  113. package/dist/extensions/manager.js.map +1 -0
  114. package/dist/extensions/registry.d.ts +100 -0
  115. package/dist/extensions/registry.d.ts.map +1 -0
  116. package/dist/extensions/registry.js +193 -0
  117. package/dist/extensions/registry.js.map +1 -0
  118. package/dist/extensions/types.d.ts +226 -0
  119. package/dist/extensions/types.d.ts.map +1 -0
  120. package/dist/extensions/types.js +28 -0
  121. package/dist/extensions/types.js.map +1 -0
  122. package/dist/index.d.ts +39 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +68 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/interfaces/command-executor.d.ts +17 -0
  127. package/dist/interfaces/command-executor.d.ts.map +1 -0
  128. package/dist/interfaces/command-executor.js +6 -0
  129. package/dist/interfaces/command-executor.js.map +1 -0
  130. package/dist/interfaces/command-processor.d.ts +17 -0
  131. package/dist/interfaces/command-processor.d.ts.map +1 -0
  132. package/dist/interfaces/command-processor.js +6 -0
  133. package/dist/interfaces/command-processor.js.map +1 -0
  134. package/dist/interfaces/command-validator.d.ts +17 -0
  135. package/dist/interfaces/command-validator.d.ts.map +1 -0
  136. package/dist/interfaces/command-validator.js +6 -0
  137. package/dist/interfaces/command-validator.js.map +1 -0
  138. package/dist/interfaces/index.d.ts +8 -0
  139. package/dist/interfaces/index.d.ts.map +1 -0
  140. package/dist/interfaces/index.js +24 -0
  141. package/dist/interfaces/index.js.map +1 -0
  142. package/dist/interfaces/language-provider.d.ts +86 -0
  143. package/dist/interfaces/language-provider.d.ts.map +1 -0
  144. package/dist/interfaces/language-provider.js +14 -0
  145. package/dist/interfaces/language-provider.js.map +1 -0
  146. package/dist/interfaces/parser.d.ts +16 -0
  147. package/dist/interfaces/parser.d.ts.map +1 -0
  148. package/dist/interfaces/parser.js +6 -0
  149. package/dist/interfaces/parser.js.map +1 -0
  150. package/dist/scope/index.d.ts +8 -0
  151. package/dist/scope/index.d.ts.map +1 -0
  152. package/dist/scope/index.js +24 -0
  153. package/dist/scope/index.js.map +1 -0
  154. package/dist/scope/scope-evaluator.d.ts +58 -0
  155. package/dist/scope/scope-evaluator.d.ts.map +1 -0
  156. package/dist/scope/scope-evaluator.js +207 -0
  157. package/dist/scope/scope-evaluator.js.map +1 -0
  158. package/dist/scope/scope-registry.d.ts +59 -0
  159. package/dist/scope/scope-registry.d.ts.map +1 -0
  160. package/dist/scope/scope-registry.js +182 -0
  161. package/dist/scope/scope-registry.js.map +1 -0
  162. package/dist/scope/scope-rule.d.ts +86 -0
  163. package/dist/scope/scope-rule.d.ts.map +1 -0
  164. package/dist/scope/scope-rule.js +7 -0
  165. package/dist/scope/scope-rule.js.map +1 -0
  166. package/dist/services/ScopeService.d.ts +8 -0
  167. package/dist/services/ScopeService.d.ts.map +1 -0
  168. package/dist/services/ScopeService.js +19 -0
  169. package/dist/services/ScopeService.js.map +1 -0
  170. package/dist/services/index.d.ts +2 -0
  171. package/dist/services/index.d.ts.map +1 -0
  172. package/dist/services/index.js +6 -0
  173. package/dist/services/index.js.map +1 -0
  174. package/dist/test-structure.d.ts +3 -0
  175. package/dist/test-structure.d.ts.map +1 -0
  176. package/dist/test-structure.js +26 -0
  177. package/dist/test-structure.js.map +1 -0
  178. package/dist/traits/actor/actorBehavior.d.ts +121 -0
  179. package/dist/traits/actor/actorBehavior.d.ts.map +1 -0
  180. package/dist/traits/actor/actorBehavior.js +288 -0
  181. package/dist/traits/actor/actorBehavior.js.map +1 -0
  182. package/dist/traits/actor/actorTrait.d.ts +158 -0
  183. package/dist/traits/actor/actorTrait.d.ts.map +1 -0
  184. package/dist/traits/actor/actorTrait.js +152 -0
  185. package/dist/traits/actor/actorTrait.js.map +1 -0
  186. package/dist/traits/actor/index.d.ts +3 -0
  187. package/dist/traits/actor/index.d.ts.map +1 -0
  188. package/dist/traits/actor/index.js +11 -0
  189. package/dist/traits/actor/index.js.map +1 -0
  190. package/dist/traits/all-traits.d.ts +95 -0
  191. package/dist/traits/all-traits.d.ts.map +1 -0
  192. package/dist/traits/all-traits.js +178 -0
  193. package/dist/traits/all-traits.js.map +1 -0
  194. package/dist/traits/attached/attachedTrait.d.ts +61 -0
  195. package/dist/traits/attached/attachedTrait.d.ts.map +1 -0
  196. package/dist/traits/attached/attachedTrait.js +36 -0
  197. package/dist/traits/attached/attachedTrait.js.map +1 -0
  198. package/dist/traits/attached/index.d.ts +2 -0
  199. package/dist/traits/attached/index.d.ts.map +1 -0
  200. package/dist/traits/attached/index.js +18 -0
  201. package/dist/traits/attached/index.js.map +1 -0
  202. package/dist/traits/breakable/breakableBehavior.d.ts +43 -0
  203. package/dist/traits/breakable/breakableBehavior.d.ts.map +1 -0
  204. package/dist/traits/breakable/breakableBehavior.js +70 -0
  205. package/dist/traits/breakable/breakableBehavior.js.map +1 -0
  206. package/dist/traits/breakable/breakableTrait.d.ts +22 -0
  207. package/dist/traits/breakable/breakableTrait.d.ts.map +1 -0
  208. package/dist/traits/breakable/breakableTrait.js +25 -0
  209. package/dist/traits/breakable/breakableTrait.js.map +1 -0
  210. package/dist/traits/breakable/index.d.ts +3 -0
  211. package/dist/traits/breakable/index.d.ts.map +1 -0
  212. package/dist/traits/breakable/index.js +8 -0
  213. package/dist/traits/breakable/index.js.map +1 -0
  214. package/dist/traits/button/buttonTrait.d.ts +53 -0
  215. package/dist/traits/button/buttonTrait.d.ts.map +1 -0
  216. package/dist/traits/button/buttonTrait.js +36 -0
  217. package/dist/traits/button/buttonTrait.js.map +1 -0
  218. package/dist/traits/button/index.d.ts +2 -0
  219. package/dist/traits/button/index.d.ts.map +1 -0
  220. package/dist/traits/button/index.js +18 -0
  221. package/dist/traits/button/index.js.map +1 -0
  222. package/dist/traits/climbable/climbableBehavior.d.ts +37 -0
  223. package/dist/traits/climbable/climbableBehavior.d.ts.map +1 -0
  224. package/dist/traits/climbable/climbableBehavior.js +70 -0
  225. package/dist/traits/climbable/climbableBehavior.js.map +1 -0
  226. package/dist/traits/climbable/climbableTrait.d.ts +31 -0
  227. package/dist/traits/climbable/climbableTrait.d.ts.map +1 -0
  228. package/dist/traits/climbable/climbableTrait.js +47 -0
  229. package/dist/traits/climbable/climbableTrait.js.map +1 -0
  230. package/dist/traits/climbable/index.d.ts +6 -0
  231. package/dist/traits/climbable/index.d.ts.map +1 -0
  232. package/dist/traits/climbable/index.js +22 -0
  233. package/dist/traits/climbable/index.js.map +1 -0
  234. package/dist/traits/clothing/clothingTrait.d.ts +58 -0
  235. package/dist/traits/clothing/clothingTrait.d.ts.map +1 -0
  236. package/dist/traits/clothing/clothingTrait.js +78 -0
  237. package/dist/traits/clothing/clothingTrait.js.map +1 -0
  238. package/dist/traits/clothing/index.d.ts +2 -0
  239. package/dist/traits/clothing/index.d.ts.map +1 -0
  240. package/dist/traits/clothing/index.js +19 -0
  241. package/dist/traits/clothing/index.js.map +1 -0
  242. package/dist/traits/combatant/combatantBehavior.d.ts +70 -0
  243. package/dist/traits/combatant/combatantBehavior.d.ts.map +1 -0
  244. package/dist/traits/combatant/combatantBehavior.js +155 -0
  245. package/dist/traits/combatant/combatantBehavior.js.map +1 -0
  246. package/dist/traits/combatant/combatantTrait.d.ts +98 -0
  247. package/dist/traits/combatant/combatantTrait.d.ts.map +1 -0
  248. package/dist/traits/combatant/combatantTrait.js +122 -0
  249. package/dist/traits/combatant/combatantTrait.js.map +1 -0
  250. package/dist/traits/combatant/index.d.ts +3 -0
  251. package/dist/traits/combatant/index.d.ts.map +1 -0
  252. package/dist/traits/combatant/index.js +8 -0
  253. package/dist/traits/combatant/index.js.map +1 -0
  254. package/dist/traits/container/container-utils.d.ts +39 -0
  255. package/dist/traits/container/container-utils.d.ts.map +1 -0
  256. package/dist/traits/container/container-utils.js +72 -0
  257. package/dist/traits/container/container-utils.js.map +1 -0
  258. package/dist/traits/container/containerBehavior.d.ts +94 -0
  259. package/dist/traits/container/containerBehavior.d.ts.map +1 -0
  260. package/dist/traits/container/containerBehavior.js +256 -0
  261. package/dist/traits/container/containerBehavior.js.map +1 -0
  262. package/dist/traits/container/containerTrait.d.ts +30 -0
  263. package/dist/traits/container/containerTrait.d.ts.map +1 -0
  264. package/dist/traits/container/containerTrait.js +45 -0
  265. package/dist/traits/container/containerTrait.js.map +1 -0
  266. package/dist/traits/container/index.d.ts +4 -0
  267. package/dist/traits/container/index.d.ts.map +1 -0
  268. package/dist/traits/container/index.js +14 -0
  269. package/dist/traits/container/index.js.map +1 -0
  270. package/dist/traits/destructible/destructibleBehavior.d.ts +57 -0
  271. package/dist/traits/destructible/destructibleBehavior.d.ts.map +1 -0
  272. package/dist/traits/destructible/destructibleBehavior.js +145 -0
  273. package/dist/traits/destructible/destructibleBehavior.js.map +1 -0
  274. package/dist/traits/destructible/destructibleTrait.d.ts +49 -0
  275. package/dist/traits/destructible/destructibleTrait.d.ts.map +1 -0
  276. package/dist/traits/destructible/destructibleTrait.js +43 -0
  277. package/dist/traits/destructible/destructibleTrait.js.map +1 -0
  278. package/dist/traits/destructible/index.d.ts +3 -0
  279. package/dist/traits/destructible/index.d.ts.map +1 -0
  280. package/dist/traits/destructible/index.js +8 -0
  281. package/dist/traits/destructible/index.js.map +1 -0
  282. package/dist/traits/door/doorBehavior.d.ts +42 -0
  283. package/dist/traits/door/doorBehavior.d.ts.map +1 -0
  284. package/dist/traits/door/doorBehavior.js +76 -0
  285. package/dist/traits/door/doorBehavior.js.map +1 -0
  286. package/dist/traits/door/doorTrait.d.ts +19 -0
  287. package/dist/traits/door/doorTrait.d.ts.map +1 -0
  288. package/dist/traits/door/doorTrait.js +33 -0
  289. package/dist/traits/door/doorTrait.js.map +1 -0
  290. package/dist/traits/door/index.d.ts +3 -0
  291. package/dist/traits/door/index.d.ts.map +1 -0
  292. package/dist/traits/door/index.js +9 -0
  293. package/dist/traits/door/index.js.map +1 -0
  294. package/dist/traits/edible/edibleBehavior.d.ts +63 -0
  295. package/dist/traits/edible/edibleBehavior.d.ts.map +1 -0
  296. package/dist/traits/edible/edibleBehavior.js +157 -0
  297. package/dist/traits/edible/edibleBehavior.js.map +1 -0
  298. package/dist/traits/edible/edibleTrait.d.ts +57 -0
  299. package/dist/traits/edible/edibleTrait.d.ts.map +1 -0
  300. package/dist/traits/edible/edibleTrait.js +51 -0
  301. package/dist/traits/edible/edibleTrait.js.map +1 -0
  302. package/dist/traits/edible/index.d.ts +3 -0
  303. package/dist/traits/edible/index.d.ts.map +1 -0
  304. package/dist/traits/edible/index.js +20 -0
  305. package/dist/traits/edible/index.js.map +1 -0
  306. package/dist/traits/enterable/enterableTrait.d.ts +33 -0
  307. package/dist/traits/enterable/enterableTrait.d.ts.map +1 -0
  308. package/dist/traits/enterable/enterableTrait.js +38 -0
  309. package/dist/traits/enterable/enterableTrait.js.map +1 -0
  310. package/dist/traits/enterable/index.d.ts +5 -0
  311. package/dist/traits/enterable/index.d.ts.map +1 -0
  312. package/dist/traits/enterable/index.js +21 -0
  313. package/dist/traits/enterable/index.js.map +1 -0
  314. package/dist/traits/equipped/equippedTrait.d.ts +46 -0
  315. package/dist/traits/equipped/equippedTrait.d.ts.map +1 -0
  316. package/dist/traits/equipped/equippedTrait.js +34 -0
  317. package/dist/traits/equipped/equippedTrait.js.map +1 -0
  318. package/dist/traits/equipped/index.d.ts +2 -0
  319. package/dist/traits/equipped/index.d.ts.map +1 -0
  320. package/dist/traits/equipped/index.js +6 -0
  321. package/dist/traits/equipped/index.js.map +1 -0
  322. package/dist/traits/exit/exitBehavior.d.ts +51 -0
  323. package/dist/traits/exit/exitBehavior.d.ts.map +1 -0
  324. package/dist/traits/exit/exitBehavior.js +231 -0
  325. package/dist/traits/exit/exitBehavior.js.map +1 -0
  326. package/dist/traits/exit/exitTrait.d.ts +41 -0
  327. package/dist/traits/exit/exitTrait.d.ts.map +1 -0
  328. package/dist/traits/exit/exitTrait.js +75 -0
  329. package/dist/traits/exit/exitTrait.js.map +1 -0
  330. package/dist/traits/exit/index.d.ts +3 -0
  331. package/dist/traits/exit/index.d.ts.map +1 -0
  332. package/dist/traits/exit/index.js +9 -0
  333. package/dist/traits/exit/index.js.map +1 -0
  334. package/dist/traits/identity/identityBehavior.d.ts +64 -0
  335. package/dist/traits/identity/identityBehavior.d.ts.map +1 -0
  336. package/dist/traits/identity/identityBehavior.js +154 -0
  337. package/dist/traits/identity/identityBehavior.js.map +1 -0
  338. package/dist/traits/identity/identityTrait.d.ts +70 -0
  339. package/dist/traits/identity/identityTrait.d.ts.map +1 -0
  340. package/dist/traits/identity/identityTrait.js +79 -0
  341. package/dist/traits/identity/identityTrait.js.map +1 -0
  342. package/dist/traits/identity/index.d.ts +3 -0
  343. package/dist/traits/identity/index.d.ts.map +1 -0
  344. package/dist/traits/identity/index.js +20 -0
  345. package/dist/traits/identity/index.js.map +1 -0
  346. package/dist/traits/implementations.d.ts +51 -0
  347. package/dist/traits/implementations.d.ts.map +1 -0
  348. package/dist/traits/implementations.js +145 -0
  349. package/dist/traits/implementations.js.map +1 -0
  350. package/dist/traits/index.d.ts +36 -0
  351. package/dist/traits/index.d.ts.map +1 -0
  352. package/dist/traits/index.js +62 -0
  353. package/dist/traits/index.js.map +1 -0
  354. package/dist/traits/light-source/index.d.ts +3 -0
  355. package/dist/traits/light-source/index.d.ts.map +1 -0
  356. package/dist/traits/light-source/index.js +9 -0
  357. package/dist/traits/light-source/index.js.map +1 -0
  358. package/dist/traits/light-source/lightSourceBehavior.d.ts +57 -0
  359. package/dist/traits/light-source/lightSourceBehavior.d.ts.map +1 -0
  360. package/dist/traits/light-source/lightSourceBehavior.js +135 -0
  361. package/dist/traits/light-source/lightSourceBehavior.js.map +1 -0
  362. package/dist/traits/light-source/lightSourceTrait.d.ts +28 -0
  363. package/dist/traits/light-source/lightSourceTrait.d.ts.map +1 -0
  364. package/dist/traits/light-source/lightSourceTrait.js +37 -0
  365. package/dist/traits/light-source/lightSourceTrait.js.map +1 -0
  366. package/dist/traits/lockable/index.d.ts +3 -0
  367. package/dist/traits/lockable/index.d.ts.map +1 -0
  368. package/dist/traits/lockable/index.js +20 -0
  369. package/dist/traits/lockable/index.js.map +1 -0
  370. package/dist/traits/lockable/lockableBehavior.d.ts +88 -0
  371. package/dist/traits/lockable/lockableBehavior.d.ts.map +1 -0
  372. package/dist/traits/lockable/lockableBehavior.js +196 -0
  373. package/dist/traits/lockable/lockableBehavior.js.map +1 -0
  374. package/dist/traits/lockable/lockableTrait.d.ts +59 -0
  375. package/dist/traits/lockable/lockableTrait.d.ts.map +1 -0
  376. package/dist/traits/lockable/lockableTrait.js +50 -0
  377. package/dist/traits/lockable/lockableTrait.js.map +1 -0
  378. package/dist/traits/moveable-scenery/index.d.ts +2 -0
  379. package/dist/traits/moveable-scenery/index.d.ts.map +1 -0
  380. package/dist/traits/moveable-scenery/index.js +18 -0
  381. package/dist/traits/moveable-scenery/index.js.map +1 -0
  382. package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts +69 -0
  383. package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -0
  384. package/dist/traits/moveable-scenery/moveableSceneryTrait.js +43 -0
  385. package/dist/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -0
  386. package/dist/traits/npc/index.d.ts +5 -0
  387. package/dist/traits/npc/index.d.ts.map +1 -0
  388. package/dist/traits/npc/index.js +9 -0
  389. package/dist/traits/npc/index.js.map +1 -0
  390. package/dist/traits/npc/npcTrait.d.ts +128 -0
  391. package/dist/traits/npc/npcTrait.d.ts.map +1 -0
  392. package/dist/traits/npc/npcTrait.js +180 -0
  393. package/dist/traits/npc/npcTrait.js.map +1 -0
  394. package/dist/traits/openable/index.d.ts +3 -0
  395. package/dist/traits/openable/index.d.ts.map +1 -0
  396. package/dist/traits/openable/index.js +20 -0
  397. package/dist/traits/openable/index.js.map +1 -0
  398. package/dist/traits/openable/openableBehavior.d.ts +64 -0
  399. package/dist/traits/openable/openableBehavior.d.ts.map +1 -0
  400. package/dist/traits/openable/openableBehavior.js +109 -0
  401. package/dist/traits/openable/openableBehavior.js.map +1 -0
  402. package/dist/traits/openable/openableTrait.d.ts +46 -0
  403. package/dist/traits/openable/openableTrait.d.ts.map +1 -0
  404. package/dist/traits/openable/openableTrait.js +42 -0
  405. package/dist/traits/openable/openableTrait.js.map +1 -0
  406. package/dist/traits/portable/portableTrait.d.ts +26 -0
  407. package/dist/traits/portable/portableTrait.d.ts.map +1 -0
  408. package/dist/traits/portable/portableTrait.js +35 -0
  409. package/dist/traits/portable/portableTrait.js.map +1 -0
  410. package/dist/traits/pullable/index.d.ts +2 -0
  411. package/dist/traits/pullable/index.d.ts.map +1 -0
  412. package/dist/traits/pullable/index.js +18 -0
  413. package/dist/traits/pullable/index.js.map +1 -0
  414. package/dist/traits/pullable/pullableTrait.d.ts +81 -0
  415. package/dist/traits/pullable/pullableTrait.d.ts.map +1 -0
  416. package/dist/traits/pullable/pullableTrait.js +44 -0
  417. package/dist/traits/pullable/pullableTrait.js.map +1 -0
  418. package/dist/traits/pushable/index.d.ts +2 -0
  419. package/dist/traits/pushable/index.d.ts.map +1 -0
  420. package/dist/traits/pushable/index.js +18 -0
  421. package/dist/traits/pushable/index.js.map +1 -0
  422. package/dist/traits/pushable/pushableTrait.d.ts +81 -0
  423. package/dist/traits/pushable/pushableTrait.d.ts.map +1 -0
  424. package/dist/traits/pushable/pushableTrait.js +44 -0
  425. package/dist/traits/pushable/pushableTrait.js.map +1 -0
  426. package/dist/traits/readable/index.d.ts +3 -0
  427. package/dist/traits/readable/index.d.ts.map +1 -0
  428. package/dist/traits/readable/index.js +9 -0
  429. package/dist/traits/readable/index.js.map +1 -0
  430. package/dist/traits/readable/readableBehavior.d.ts +42 -0
  431. package/dist/traits/readable/readableBehavior.d.ts.map +1 -0
  432. package/dist/traits/readable/readableBehavior.js +174 -0
  433. package/dist/traits/readable/readableBehavior.js.map +1 -0
  434. package/dist/traits/readable/readableTrait.d.ts +37 -0
  435. package/dist/traits/readable/readableTrait.d.ts.map +1 -0
  436. package/dist/traits/readable/readableTrait.js +51 -0
  437. package/dist/traits/readable/readableTrait.js.map +1 -0
  438. package/dist/traits/register-all.d.ts +10 -0
  439. package/dist/traits/register-all.d.ts.map +1 -0
  440. package/dist/traits/register-all.js +19 -0
  441. package/dist/traits/register-all.js.map +1 -0
  442. package/dist/traits/room/index.d.ts +9 -0
  443. package/dist/traits/room/index.d.ts.map +1 -0
  444. package/dist/traits/room/index.js +14 -0
  445. package/dist/traits/room/index.js.map +1 -0
  446. package/dist/traits/room/roomBehavior.d.ts +87 -0
  447. package/dist/traits/room/roomBehavior.d.ts.map +1 -0
  448. package/dist/traits/room/roomBehavior.js +232 -0
  449. package/dist/traits/room/roomBehavior.js.map +1 -0
  450. package/dist/traits/room/roomTrait.d.ts +87 -0
  451. package/dist/traits/room/roomTrait.d.ts.map +1 -0
  452. package/dist/traits/room/roomTrait.js +59 -0
  453. package/dist/traits/room/roomTrait.js.map +1 -0
  454. package/dist/traits/scenery/index.d.ts +3 -0
  455. package/dist/traits/scenery/index.d.ts.map +1 -0
  456. package/dist/traits/scenery/index.js +9 -0
  457. package/dist/traits/scenery/index.js.map +1 -0
  458. package/dist/traits/scenery/sceneryBehavior.d.ts +21 -0
  459. package/dist/traits/scenery/sceneryBehavior.d.ts.map +1 -0
  460. package/dist/traits/scenery/sceneryBehavior.js +42 -0
  461. package/dist/traits/scenery/sceneryBehavior.js.map +1 -0
  462. package/dist/traits/scenery/sceneryTrait.d.ts +30 -0
  463. package/dist/traits/scenery/sceneryTrait.d.ts.map +1 -0
  464. package/dist/traits/scenery/sceneryTrait.js +39 -0
  465. package/dist/traits/scenery/sceneryTrait.js.map +1 -0
  466. package/dist/traits/supporter/index.d.ts +3 -0
  467. package/dist/traits/supporter/index.d.ts.map +1 -0
  468. package/dist/traits/supporter/index.js +9 -0
  469. package/dist/traits/supporter/index.js.map +1 -0
  470. package/dist/traits/supporter/supporterBehavior.d.ts +83 -0
  471. package/dist/traits/supporter/supporterBehavior.d.ts.map +1 -0
  472. package/dist/traits/supporter/supporterBehavior.js +210 -0
  473. package/dist/traits/supporter/supporterBehavior.js.map +1 -0
  474. package/dist/traits/supporter/supporterTrait.d.ts +26 -0
  475. package/dist/traits/supporter/supporterTrait.d.ts.map +1 -0
  476. package/dist/traits/supporter/supporterTrait.js +30 -0
  477. package/dist/traits/supporter/supporterTrait.js.map +1 -0
  478. package/dist/traits/switchable/index.d.ts +3 -0
  479. package/dist/traits/switchable/index.d.ts.map +1 -0
  480. package/dist/traits/switchable/index.js +20 -0
  481. package/dist/traits/switchable/index.js.map +1 -0
  482. package/dist/traits/switchable/switchableBehavior.d.ts +73 -0
  483. package/dist/traits/switchable/switchableBehavior.d.ts.map +1 -0
  484. package/dist/traits/switchable/switchableBehavior.js +191 -0
  485. package/dist/traits/switchable/switchableBehavior.js.map +1 -0
  486. package/dist/traits/switchable/switchableTrait.d.ts +61 -0
  487. package/dist/traits/switchable/switchableTrait.d.ts.map +1 -0
  488. package/dist/traits/switchable/switchableTrait.js +52 -0
  489. package/dist/traits/switchable/switchableTrait.js.map +1 -0
  490. package/dist/traits/trait-types.d.ts +81 -0
  491. package/dist/traits/trait-types.d.ts.map +1 -0
  492. package/dist/traits/trait-types.js +146 -0
  493. package/dist/traits/trait-types.js.map +1 -0
  494. package/dist/traits/trait.d.ts +42 -0
  495. package/dist/traits/trait.d.ts.map +1 -0
  496. package/dist/traits/trait.js +42 -0
  497. package/dist/traits/trait.js.map +1 -0
  498. package/dist/traits/vehicle/index.d.ts +6 -0
  499. package/dist/traits/vehicle/index.d.ts.map +1 -0
  500. package/dist/traits/vehicle/index.js +22 -0
  501. package/dist/traits/vehicle/index.js.map +1 -0
  502. package/dist/traits/vehicle/vehicleBehavior.d.ts +62 -0
  503. package/dist/traits/vehicle/vehicleBehavior.d.ts.map +1 -0
  504. package/dist/traits/vehicle/vehicleBehavior.js +145 -0
  505. package/dist/traits/vehicle/vehicleBehavior.js.map +1 -0
  506. package/dist/traits/vehicle/vehicleTrait.d.ts +77 -0
  507. package/dist/traits/vehicle/vehicleTrait.d.ts.map +1 -0
  508. package/dist/traits/vehicle/vehicleTrait.js +92 -0
  509. package/dist/traits/vehicle/vehicleTrait.js.map +1 -0
  510. package/dist/traits/weapon/index.d.ts +3 -0
  511. package/dist/traits/weapon/index.d.ts.map +1 -0
  512. package/dist/traits/weapon/index.js +8 -0
  513. package/dist/traits/weapon/index.js.map +1 -0
  514. package/dist/traits/weapon/weaponBehavior.d.ts +47 -0
  515. package/dist/traits/weapon/weaponBehavior.d.ts.map +1 -0
  516. package/dist/traits/weapon/weaponBehavior.js +106 -0
  517. package/dist/traits/weapon/weaponBehavior.js.map +1 -0
  518. package/dist/traits/weapon/weaponTrait.d.ts +67 -0
  519. package/dist/traits/weapon/weaponTrait.d.ts.map +1 -0
  520. package/dist/traits/weapon/weaponTrait.js +60 -0
  521. package/dist/traits/weapon/weaponTrait.js.map +1 -0
  522. package/dist/traits/wearable/index.d.ts +3 -0
  523. package/dist/traits/wearable/index.d.ts.map +1 -0
  524. package/dist/traits/wearable/index.js +20 -0
  525. package/dist/traits/wearable/index.js.map +1 -0
  526. package/dist/traits/wearable/wearableBehavior.d.ts +64 -0
  527. package/dist/traits/wearable/wearableBehavior.d.ts.map +1 -0
  528. package/dist/traits/wearable/wearableBehavior.js +142 -0
  529. package/dist/traits/wearable/wearableBehavior.js.map +1 -0
  530. package/dist/traits/wearable/wearableTrait.d.ts +54 -0
  531. package/dist/traits/wearable/wearableTrait.d.ts.map +1 -0
  532. package/dist/traits/wearable/wearableTrait.js +53 -0
  533. package/dist/traits/wearable/wearableTrait.js.map +1 -0
  534. package/dist/utils/event-utils.d.ts +30 -0
  535. package/dist/utils/event-utils.d.ts.map +1 -0
  536. package/dist/utils/event-utils.js +33 -0
  537. package/dist/utils/event-utils.js.map +1 -0
  538. package/dist/world/AuthorModel.d.ts +151 -0
  539. package/dist/world/AuthorModel.d.ts.map +1 -0
  540. package/dist/world/AuthorModel.js +416 -0
  541. package/dist/world/AuthorModel.js.map +1 -0
  542. package/dist/world/SharedDataStore.d.ts +24 -0
  543. package/dist/world/SharedDataStore.d.ts.map +1 -0
  544. package/dist/world/SharedDataStore.js +50 -0
  545. package/dist/world/SharedDataStore.js.map +1 -0
  546. package/dist/world/SpatialIndex.d.ts +16 -0
  547. package/dist/world/SpatialIndex.d.ts.map +1 -0
  548. package/dist/world/SpatialIndex.js +117 -0
  549. package/dist/world/SpatialIndex.js.map +1 -0
  550. package/dist/world/VisibilityBehavior.d.ts +83 -0
  551. package/dist/world/VisibilityBehavior.d.ts.map +1 -0
  552. package/dist/world/VisibilityBehavior.js +484 -0
  553. package/dist/world/VisibilityBehavior.js.map +1 -0
  554. package/dist/world/WorldModel.d.ts +270 -0
  555. package/dist/world/WorldModel.d.ts.map +1 -0
  556. package/dist/world/WorldModel.js +1028 -0
  557. package/dist/world/WorldModel.js.map +1 -0
  558. package/dist/world/capabilities.d.ts +36 -0
  559. package/dist/world/capabilities.d.ts.map +1 -0
  560. package/dist/world/capabilities.js +18 -0
  561. package/dist/world/capabilities.js.map +1 -0
  562. package/dist/world/index.d.ts +7 -0
  563. package/dist/world/index.d.ts.map +1 -0
  564. package/dist/world/index.js +21 -0
  565. package/dist/world/index.js.map +1 -0
  566. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-rule.d.ts","sourceRoot":"","sources":["../../src/scope/scope-rule.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,2DAA2D;IAC3D,aAAa,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE9B,yDAAyD;IACzD,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,EAAE,CAAC,CAAC;IAEnE,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC;IAEhD,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAEpE,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,IAAI,EAAE,UAAU,CAAC;IAEjB,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,YAAY,EAAE,OAAO,CAAC;IAEtB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvB,sCAAsC;IACtC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IAEjC,gDAAgD;IAChD,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,OAAO,CAAC,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file Scope Rule Interface
4
+ * @description Defines rules for entity visibility and interaction scope
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=scope-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-rule.js","sourceRoot":"","sources":["../../src/scope/scope-rule.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,8 @@
1
+ import { IFEntity } from '../entities/if-entity';
2
+ export declare class ScopeService {
3
+ private world;
4
+ constructor(world: any);
5
+ canSee(viewer: IFEntity, target: IFEntity): boolean;
6
+ canReach(actor: IFEntity, target: IFEntity): boolean;
7
+ }
8
+ //# sourceMappingURL=ScopeService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeService.d.ts","sourceRoot":"","sources":["../../src/services/ScopeService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,GAAG;IAE9B,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;CAIrD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeService = void 0;
4
+ class ScopeService {
5
+ world;
6
+ constructor(world) {
7
+ this.world = world;
8
+ }
9
+ canSee(viewer, target) {
10
+ // TODO: Implement visibility logic
11
+ return true;
12
+ }
13
+ canReach(actor, target) {
14
+ // TODO: Implement reachability logic
15
+ return true;
16
+ }
17
+ }
18
+ exports.ScopeService = ScopeService;
19
+ //# sourceMappingURL=ScopeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeService.js","sourceRoot":"","sources":["../../src/services/ScopeService.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACH;IAApB,YAAoB,KAAU;QAAV,UAAK,GAAL,KAAK,CAAK;IAAG,CAAC;IAElC,MAAM,CAAC,MAAgB,EAAE,MAAgB;QACvC,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAe,EAAE,MAAgB;QACxC,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAZD,oCAYC"}
@@ -0,0 +1,2 @@
1
+ export { ScopeService } from './ScopeService';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeService = void 0;
4
+ var ScopeService_1 = require("./ScopeService");
5
+ Object.defineProperty(exports, "ScopeService", { enumerable: true, get: function () { return ScopeService_1.ScopeService; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { IFEntity } from './entities/if-entity';
2
+ export declare function testWorldModel(): IFEntity;
3
+ //# sourceMappingURL=test-structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-structure.d.ts","sourceRoot":"","sources":["../src/test-structure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAsBhD,wBAAgB,cAAc,aAG7B"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ // Test file to verify world-model package structure
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.testWorldModel = testWorldModel;
5
+ const if_entity_1 = require("./entities/if-entity");
6
+ const trait_types_1 = require("./traits/trait-types");
7
+ const containerTrait_1 = require("./traits/container/containerTrait");
8
+ // Test creating an entity
9
+ const box = new if_entity_1.IFEntity('box-1', 'container');
10
+ // Test adding a trait
11
+ const containerTrait = new containerTrait_1.ContainerTrait({
12
+ capacity: {
13
+ maxWeight: 10,
14
+ maxItems: 10
15
+ },
16
+ isTransparent: true
17
+ });
18
+ box.add(containerTrait);
19
+ // Test checking for trait
20
+ console.log('Has container trait:', box.has(trait_types_1.TraitType.CONTAINER));
21
+ console.log('Container maxWeight:', box.get(trait_types_1.TraitType.CONTAINER)?.capacity?.maxWeight);
22
+ function testWorldModel() {
23
+ console.log('World model package is working!');
24
+ return box;
25
+ }
26
+ //# sourceMappingURL=test-structure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-structure.js","sourceRoot":"","sources":["../src/test-structure.ts"],"names":[],"mappings":";AAAA,oDAAoD;;AAwBpD,wCAGC;AAzBD,oDAAgD;AAChD,sDAAiD;AACjD,sEAAmE;AAEnE,0BAA0B;AAC1B,MAAM,GAAG,GAAG,IAAI,oBAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAE/C,sBAAsB;AACtB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC;IACxC,QAAQ,EAAE;QACR,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;KACb;IACD,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAExB,0BAA0B;AAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAoB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE3G,SAAgB,cAAc;IAC5B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { Behavior } from '../../behaviors/behavior';
2
+ import { IFEntity } from '../../entities/if-entity';
3
+ import { ActorTrait } from './actorTrait';
4
+ import { IWorldQuery } from '../container/containerBehavior';
5
+ import { EntityId } from '@sharpee/core';
6
+ /**
7
+ * Result of a take item operation
8
+ */
9
+ export interface ITakeItemResult {
10
+ success: boolean;
11
+ alreadyHeld?: boolean;
12
+ tooHeavy?: boolean;
13
+ inventoryFull?: boolean;
14
+ cantTake?: boolean;
15
+ needsRemoval?: boolean;
16
+ fromContainer?: string;
17
+ stateChanged?: boolean;
18
+ }
19
+ /**
20
+ * Result of a drop item operation
21
+ */
22
+ export interface IDropItemResult {
23
+ success: boolean;
24
+ notHeld?: boolean;
25
+ stillWorn?: boolean;
26
+ containerFull?: boolean;
27
+ stateChanged?: boolean;
28
+ }
29
+ /**
30
+ * Behavior for actors in the world.
31
+ *
32
+ * Handles inventory management, movement validation, and actor-specific logic.
33
+ */
34
+ export declare class ActorBehavior extends Behavior {
35
+ static requiredTraits: "actor"[];
36
+ /**
37
+ * Check if this is the player character
38
+ */
39
+ static isPlayer(entity: IFEntity): boolean;
40
+ /**
41
+ * Check if this actor can be controlled by the player
42
+ */
43
+ static isPlayable(entity: IFEntity): boolean;
44
+ /**
45
+ * Get actor's pronouns
46
+ */
47
+ static getPronouns(entity: IFEntity): ActorTrait['pronouns'];
48
+ /**
49
+ * Get a specific pronoun
50
+ */
51
+ static getPronoun(entity: IFEntity, type: keyof ActorTrait['pronouns']): string;
52
+ /**
53
+ * Check if actor can carry an item
54
+ */
55
+ static canCarry(actor: IFEntity, item: IFEntity, world: IWorldQuery): boolean;
56
+ /**
57
+ * Get total weight of carried items
58
+ */
59
+ static getCarriedWeight(actor: IFEntity, world: IWorldQuery): number;
60
+ /**
61
+ * Get total volume of carried items
62
+ */
63
+ static getCarriedVolume(actor: IFEntity, world: IWorldQuery): number;
64
+ /**
65
+ * Get remaining carrying capacity
66
+ */
67
+ static getRemainingCapacity(actor: IFEntity, world: IWorldQuery): {
68
+ items?: number;
69
+ weight?: number;
70
+ volume?: number;
71
+ };
72
+ /**
73
+ * Check if actor is holding a specific item
74
+ */
75
+ static isHolding(actor: IFEntity, itemId: EntityId, world: IWorldQuery): boolean;
76
+ /**
77
+ * Get actor's current state
78
+ */
79
+ static getState(entity: IFEntity): string | undefined;
80
+ /**
81
+ * Set actor's state
82
+ */
83
+ static setState(entity: IFEntity, state: string | undefined): void;
84
+ /**
85
+ * Get custom property value
86
+ */
87
+ static getCustomProperty(entity: IFEntity, key: string): any;
88
+ /**
89
+ * Set custom property value
90
+ */
91
+ static setCustomProperty(entity: IFEntity, key: string, value: any): void;
92
+ /**
93
+ * Find the player actor in a collection of entities
94
+ */
95
+ static findPlayer(entities: IFEntity[]): IFEntity | undefined;
96
+ /**
97
+ * Check if an actor can take an item (capacity validation)
98
+ * @param actor The actor trying to take the item
99
+ * @param item The item being taken
100
+ * @param world World query interface
101
+ * @returns True if the actor can take the item
102
+ */
103
+ static canTakeItem(actor: IFEntity, item: IFEntity, world: IWorldQuery): boolean;
104
+ /**
105
+ * Have an actor take an item
106
+ * @param actor The actor taking the item
107
+ * @param item The item being taken
108
+ * @param world World query interface
109
+ * @returns Result describing what happened
110
+ */
111
+ static takeItem(actor: IFEntity, item: IFEntity, world: IWorldQuery): ITakeItemResult;
112
+ /**
113
+ * Have an actor drop an item
114
+ * @param actor The actor dropping the item
115
+ * @param item The item being dropped
116
+ * @param world World query interface
117
+ * @returns Result describing what happened
118
+ */
119
+ static dropItem(actor: IFEntity, item: IFEntity, world: IWorldQuery): IDropItemResult;
120
+ }
121
+ //# sourceMappingURL=actorBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actorBehavior.d.ts","sourceRoot":"","sources":["../../../src/traits/actor/actorBehavior.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ // packages/world-model/src/traits/actor/actorBehavior.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ActorBehavior = void 0;
5
+ const behavior_1 = require("../../behaviors/behavior");
6
+ const trait_types_1 = require("../trait-types");
7
+ const containerBehavior_1 = require("../container/containerBehavior");
8
+ const identityBehavior_1 = require("../identity/identityBehavior");
9
+ const wearableBehavior_1 = require("../wearable/wearableBehavior");
10
+ /**
11
+ * Behavior for actors in the world.
12
+ *
13
+ * Handles inventory management, movement validation, and actor-specific logic.
14
+ */
15
+ class ActorBehavior extends behavior_1.Behavior {
16
+ static requiredTraits = [trait_types_1.TraitType.ACTOR];
17
+ /**
18
+ * Check if this is the player character
19
+ */
20
+ static isPlayer(entity) {
21
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
22
+ return actor.isPlayer || false;
23
+ }
24
+ /**
25
+ * Check if this actor can be controlled by the player
26
+ */
27
+ static isPlayable(entity) {
28
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
29
+ return actor.isPlayable || false;
30
+ }
31
+ /**
32
+ * Get actor's pronouns
33
+ */
34
+ static getPronouns(entity) {
35
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
36
+ return actor.pronouns;
37
+ }
38
+ /**
39
+ * Get a specific pronoun
40
+ */
41
+ static getPronoun(entity, type) {
42
+ const pronouns = ActorBehavior.getPronouns(entity);
43
+ return pronouns[type];
44
+ }
45
+ /**
46
+ * Check if actor can carry an item
47
+ */
48
+ static canCarry(actor, item, world) {
49
+ const actorTrait = ActorBehavior.require(actor, trait_types_1.TraitType.ACTOR);
50
+ // Check inventory limits
51
+ if (actorTrait.capacity) {
52
+ const limit = actorTrait.capacity;
53
+ // Check item count
54
+ if (limit.maxItems !== undefined) {
55
+ const currentCount = world.getContents(actor.id).length;
56
+ if (currentCount >= limit.maxItems) {
57
+ return false;
58
+ }
59
+ }
60
+ // Check weight limit
61
+ if (limit.maxWeight !== undefined) {
62
+ const currentWeight = ActorBehavior.getCarriedWeight(actor, world);
63
+ const itemWeight = identityBehavior_1.IdentityBehavior.getWeight(item);
64
+ if (currentWeight + itemWeight > limit.maxWeight) {
65
+ return false;
66
+ }
67
+ }
68
+ // Check volume limit
69
+ if (limit.maxVolume !== undefined) {
70
+ const currentVolume = ActorBehavior.getCarriedVolume(actor, world);
71
+ const itemVolume = identityBehavior_1.IdentityBehavior.getVolume(item);
72
+ if (currentVolume + itemVolume > limit.maxVolume) {
73
+ return false;
74
+ }
75
+ }
76
+ }
77
+ return true;
78
+ }
79
+ /**
80
+ * Get total weight of carried items
81
+ */
82
+ static getCarriedWeight(actor, world) {
83
+ const items = world.getContents(actor.id);
84
+ return items.reduce((total, item) => {
85
+ return total + identityBehavior_1.IdentityBehavior.getWeight(item);
86
+ }, 0);
87
+ }
88
+ /**
89
+ * Get total volume of carried items
90
+ */
91
+ static getCarriedVolume(actor, world) {
92
+ const items = world.getContents(actor.id);
93
+ return items.reduce((total, item) => {
94
+ return total + identityBehavior_1.IdentityBehavior.getVolume(item);
95
+ }, 0);
96
+ }
97
+ /**
98
+ * Get remaining carrying capacity
99
+ */
100
+ static getRemainingCapacity(actor, world) {
101
+ const actorTrait = ActorBehavior.require(actor, trait_types_1.TraitType.ACTOR);
102
+ const result = {};
103
+ if (actorTrait.capacity) {
104
+ const limit = actorTrait.capacity;
105
+ if (limit.maxItems !== undefined) {
106
+ const current = world.getContents(actor.id).length;
107
+ result.items = limit.maxItems - current;
108
+ }
109
+ if (limit.maxWeight !== undefined) {
110
+ result.weight = limit.maxWeight - ActorBehavior.getCarriedWeight(actor, world);
111
+ }
112
+ if (limit.maxVolume !== undefined) {
113
+ result.volume = limit.maxVolume - ActorBehavior.getCarriedVolume(actor, world);
114
+ }
115
+ }
116
+ return result;
117
+ }
118
+ /**
119
+ * Check if actor is holding a specific item
120
+ */
121
+ static isHolding(actor, itemId, world) {
122
+ const itemLocation = world.getLocation(itemId);
123
+ return itemLocation === actor.id;
124
+ }
125
+ /**
126
+ * Get actor's current state
127
+ */
128
+ static getState(entity) {
129
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
130
+ return actor.state;
131
+ }
132
+ /**
133
+ * Set actor's state
134
+ */
135
+ static setState(entity, state) {
136
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
137
+ actor.state = state;
138
+ }
139
+ /**
140
+ * Get custom property value
141
+ */
142
+ static getCustomProperty(entity, key) {
143
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
144
+ return actor.customProperties?.[key];
145
+ }
146
+ /**
147
+ * Set custom property value
148
+ */
149
+ static setCustomProperty(entity, key, value) {
150
+ const actor = ActorBehavior.require(entity, trait_types_1.TraitType.ACTOR);
151
+ if (!actor.customProperties) {
152
+ actor.customProperties = {};
153
+ }
154
+ actor.customProperties[key] = value;
155
+ }
156
+ /**
157
+ * Find the player actor in a collection of entities
158
+ */
159
+ static findPlayer(entities) {
160
+ return entities.find(e => e.has(trait_types_1.TraitType.ACTOR) && ActorBehavior.isPlayer(e));
161
+ }
162
+ /**
163
+ * Check if an actor can take an item (capacity validation)
164
+ * @param actor The actor trying to take the item
165
+ * @param item The item being taken
166
+ * @param world World query interface
167
+ * @returns True if the actor can take the item
168
+ */
169
+ static canTakeItem(actor, item, world) {
170
+ const actorTrait = actor.get(trait_types_1.TraitType.ACTOR);
171
+ if (!actorTrait)
172
+ return false;
173
+ // If actor has CONTAINER trait, delegate to ContainerBehavior
174
+ if (actor.has(trait_types_1.TraitType.CONTAINER)) {
175
+ return containerBehavior_1.ContainerBehavior.canAccept(actor, item, world);
176
+ }
177
+ // Check weight capacity
178
+ if (actorTrait?.capacity?.maxWeight !== undefined) {
179
+ const maxWeight = actorTrait.capacity.maxWeight;
180
+ const currentWeight = ActorBehavior.getCarriedWeight(actor, world);
181
+ // Note: ItemWeight calculation would need world interface extension
182
+ // For now, assume weight checking is done at higher level
183
+ const itemWeight = 0; // TODO: Add weight support to IWorldQuery
184
+ if (currentWeight + itemWeight > maxWeight) {
185
+ return false;
186
+ }
187
+ }
188
+ // Check item count if defined on ACTOR trait (and not already checked via CONTAINER)
189
+ if (!actor.has(trait_types_1.TraitType.CONTAINER) && actorTrait?.capacity?.maxItems !== undefined) {
190
+ const currentCount = world.getContents(actor.id)
191
+ .filter(item => !wearableBehavior_1.WearableBehavior.isWorn(item)).length;
192
+ if (currentCount >= actorTrait.capacity.maxItems) {
193
+ return false;
194
+ }
195
+ }
196
+ return true;
197
+ }
198
+ /**
199
+ * Have an actor take an item
200
+ * @param actor The actor taking the item
201
+ * @param item The item being taken
202
+ * @param world World query interface
203
+ * @returns Result describing what happened
204
+ */
205
+ static takeItem(actor, item, world) {
206
+ // Check if actor already has the item
207
+ const currentLocation = world.getLocation(item.id);
208
+ if (currentLocation === actor.id) {
209
+ return {
210
+ success: false,
211
+ alreadyHeld: true,
212
+ stateChanged: false
213
+ };
214
+ }
215
+ // Check capacity constraints
216
+ if (!ActorBehavior.canTakeItem(actor, item, world)) {
217
+ const actorTrait = actor.get(trait_types_1.TraitType.ACTOR);
218
+ // Determine specific failure reason
219
+ if (actorTrait?.capacity?.maxWeight !== undefined) {
220
+ const maxWeight = actorTrait.capacity.maxWeight;
221
+ const currentWeight = ActorBehavior.getCarriedWeight(actor, world);
222
+ // Note: ItemWeight calculation would need world interface extension
223
+ const itemWeight = 0; // TODO: Add weight support to IWorldQuery
224
+ if (currentWeight + itemWeight > maxWeight) {
225
+ return {
226
+ success: false,
227
+ tooHeavy: true,
228
+ stateChanged: false
229
+ };
230
+ }
231
+ }
232
+ return {
233
+ success: false,
234
+ inventoryFull: true,
235
+ stateChanged: false
236
+ };
237
+ }
238
+ // Check if item needs removal from container/supporter
239
+ let needsRemoval = false;
240
+ let fromContainer;
241
+ if (currentLocation) {
242
+ // Note: getEntity would need to be added to IWorldQuery interface
243
+ // For now, assume container detection is done at higher level
244
+ needsRemoval = true; // TODO: Add entity lookup support to IWorldQuery
245
+ fromContainer = currentLocation;
246
+ }
247
+ // All checks passed - taking is valid
248
+ return {
249
+ success: true,
250
+ stateChanged: true,
251
+ needsRemoval,
252
+ fromContainer
253
+ };
254
+ }
255
+ /**
256
+ * Have an actor drop an item
257
+ * @param actor The actor dropping the item
258
+ * @param item The item being dropped
259
+ * @param world World query interface
260
+ * @returns Result describing what happened
261
+ */
262
+ static dropItem(actor, item, world) {
263
+ // Check if actor actually has the item
264
+ const currentLocation = world.getLocation(item.id);
265
+ if (currentLocation !== actor.id) {
266
+ return {
267
+ success: false,
268
+ notHeld: true,
269
+ stateChanged: false
270
+ };
271
+ }
272
+ // Check if item is still worn (can't drop worn items)
273
+ if (wearableBehavior_1.WearableBehavior.isWorn(item)) {
274
+ return {
275
+ success: false,
276
+ stillWorn: true,
277
+ stateChanged: false
278
+ };
279
+ }
280
+ // All checks passed - dropping is valid
281
+ return {
282
+ success: true,
283
+ stateChanged: true
284
+ };
285
+ }
286
+ }
287
+ exports.ActorBehavior = ActorBehavior;
288
+ //# sourceMappingURL=actorBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actorBehavior.js","sourceRoot":"","sources":["../../../src/traits/actor/actorBehavior.ts"],"names":[],"mappings":"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"}