@sharpee/world-model 3.0.0 → 3.3.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 (631) hide show
  1. package/annotations/index.d.ts +1 -1
  2. package/annotations/index.d.ts.map +1 -1
  3. package/annotations/index.js +1 -1
  4. package/annotations/index.js.map +1 -1
  5. package/behaviors/attack.d.ts +21 -4
  6. package/behaviors/attack.d.ts.map +1 -1
  7. package/behaviors/attack.js +37 -33
  8. package/behaviors/attack.js.map +1 -1
  9. package/behaviors/behavior.d.ts +3 -3
  10. package/behaviors/behavior.d.ts.map +1 -1
  11. package/behaviors/index.d.ts +21 -20
  12. package/behaviors/index.d.ts.map +1 -1
  13. package/behaviors/index.js +35 -32
  14. package/behaviors/index.js.map +1 -1
  15. package/capabilities/action-interceptor.d.ts +96 -9
  16. package/capabilities/action-interceptor.d.ts.map +1 -1
  17. package/capabilities/action-interceptor.js +59 -2
  18. package/capabilities/action-interceptor.js.map +1 -1
  19. package/capabilities/capability-behavior.d.ts +3 -3
  20. package/capabilities/capability-behavior.d.ts.map +1 -1
  21. package/capabilities/capability-binding.d.ts +3 -3
  22. package/capabilities/capability-binding.d.ts.map +1 -1
  23. package/capabilities/capability-helpers.d.ts +2 -2
  24. package/capabilities/capability-helpers.d.ts.map +1 -1
  25. package/capabilities/entity-builder.d.ts +2 -2
  26. package/capabilities/entity-builder.d.ts.map +1 -1
  27. package/capabilities/index.d.ts +9 -9
  28. package/capabilities/index.d.ts.map +1 -1
  29. package/capabilities/index.js +27 -26
  30. package/capabilities/index.js.map +1 -1
  31. package/capabilities/interceptor-binding.d.ts +2 -2
  32. package/capabilities/interceptor-binding.d.ts.map +1 -1
  33. package/capabilities/interceptor-helpers.d.ts +2 -2
  34. package/capabilities/interceptor-helpers.d.ts.map +1 -1
  35. package/commands/command-types.d.ts +2 -2
  36. package/commands/command-types.d.ts.map +1 -1
  37. package/commands/index.d.ts +3 -3
  38. package/commands/index.d.ts.map +1 -1
  39. package/commands/index.js +3 -3
  40. package/commands/index.js.map +1 -1
  41. package/commands/parsed-command.d.ts +13 -0
  42. package/commands/parsed-command.d.ts.map +1 -1
  43. package/commands/validated-command.d.ts +16 -2
  44. package/commands/validated-command.d.ts.map +1 -1
  45. package/constants/index.d.ts +3 -3
  46. package/constants/index.d.ts.map +1 -1
  47. package/constants/index.js +3 -3
  48. package/constants/index.js.map +1 -1
  49. package/entities/entity-store.d.ts +1 -1
  50. package/entities/entity-store.d.ts.map +1 -1
  51. package/entities/entity-store.js +2 -2
  52. package/entities/entity-store.js.map +1 -1
  53. package/entities/if-entity.d.ts +3 -3
  54. package/entities/if-entity.d.ts.map +1 -1
  55. package/entities/if-entity.js +38 -34
  56. package/entities/if-entity.js.map +1 -1
  57. package/entities/index.d.ts +6 -6
  58. package/entities/index.d.ts.map +1 -1
  59. package/entities/index.js +10 -10
  60. package/entities/index.js.map +1 -1
  61. package/entities/trait-rehydrator.d.ts +43 -0
  62. package/entities/trait-rehydrator.d.ts.map +1 -0
  63. package/entities/trait-rehydrator.js +45 -0
  64. package/entities/trait-rehydrator.js.map +1 -0
  65. package/entities/wall-entity.d.ts +2 -2
  66. package/entities/wall-entity.d.ts.map +1 -1
  67. package/entities/wall-entity.js +2 -2
  68. package/entities/wall-entity.js.map +1 -1
  69. package/examples/event-handler-registration.d.ts +1 -1
  70. package/examples/event-handler-registration.d.ts.map +1 -1
  71. package/examples/event-handler-registration.js +24 -24
  72. package/examples/event-handler-registration.js.map +1 -1
  73. package/extensions/base-extension.d.ts +3 -3
  74. package/extensions/base-extension.d.ts.map +1 -1
  75. package/extensions/index.d.ts +4 -4
  76. package/extensions/index.d.ts.map +1 -1
  77. package/extensions/index.js +11 -11
  78. package/extensions/index.js.map +1 -1
  79. package/extensions/loader.d.ts +1 -1
  80. package/extensions/loader.d.ts.map +1 -1
  81. package/extensions/loader.js +2 -2
  82. package/extensions/loader.js.map +1 -1
  83. package/extensions/manager.d.ts +1 -1
  84. package/extensions/manager.d.ts.map +1 -1
  85. package/extensions/manager.js +2 -2
  86. package/extensions/manager.js.map +1 -1
  87. package/extensions/registry.d.ts +2 -2
  88. package/extensions/registry.d.ts.map +1 -1
  89. package/extensions/registry.js +4 -4
  90. package/extensions/registry.js.map +1 -1
  91. package/extensions/types.d.ts +2 -2
  92. package/extensions/types.d.ts.map +1 -1
  93. package/index.d.ts +58 -46
  94. package/index.d.ts.map +1 -1
  95. package/index.js +72 -50
  96. package/index.js.map +1 -1
  97. package/interfaces/command-executor.d.ts +1 -1
  98. package/interfaces/command-executor.d.ts.map +1 -1
  99. package/interfaces/command-processor.d.ts +1 -1
  100. package/interfaces/command-processor.d.ts.map +1 -1
  101. package/interfaces/command-validator.d.ts +1 -1
  102. package/interfaces/command-validator.d.ts.map +1 -1
  103. package/interfaces/index.d.ts +4 -4
  104. package/interfaces/index.d.ts.map +1 -1
  105. package/interfaces/index.js +4 -4
  106. package/interfaces/index.js.map +1 -1
  107. package/interfaces/parser.d.ts +1 -1
  108. package/interfaces/parser.d.ts.map +1 -1
  109. package/package.json +3 -3
  110. package/scope/index.d.ts +3 -3
  111. package/scope/index.d.ts.map +1 -1
  112. package/scope/index.js +3 -3
  113. package/scope/index.js.map +1 -1
  114. package/scope/scope-evaluator.d.ts +2 -2
  115. package/scope/scope-evaluator.d.ts.map +1 -1
  116. package/scope/scope-registry.d.ts +1 -1
  117. package/scope/scope-registry.d.ts.map +1 -1
  118. package/state-adjectives.d.ts +1 -1
  119. package/state-adjectives.d.ts.map +1 -1
  120. package/state-adjectives.js +5 -5
  121. package/state-adjectives.js.map +1 -1
  122. package/state-clauses.d.ts +1 -1
  123. package/state-clauses.d.ts.map +1 -1
  124. package/state-clauses.js +5 -5
  125. package/state-clauses.js.map +1 -1
  126. package/test-structure.d.ts +1 -1
  127. package/test-structure.d.ts.map +1 -1
  128. package/test-structure.js +7 -7
  129. package/test-structure.js.map +1 -1
  130. package/traits/acoustic/acousticDampenerTrait.d.ts +1 -1
  131. package/traits/acoustic/acousticDampenerTrait.d.ts.map +1 -1
  132. package/traits/acoustic/acousticDampenerTrait.js +3 -3
  133. package/traits/acoustic/acousticDampenerTrait.js.map +1 -1
  134. package/traits/acoustic/acousticTrait.d.ts +1 -1
  135. package/traits/acoustic/acousticTrait.d.ts.map +1 -1
  136. package/traits/acoustic/acousticTrait.js +3 -3
  137. package/traits/acoustic/acousticTrait.js.map +1 -1
  138. package/traits/acoustic/index.d.ts +2 -2
  139. package/traits/acoustic/index.d.ts.map +1 -1
  140. package/traits/acoustic/index.js +5 -5
  141. package/traits/acoustic/index.js.map +1 -1
  142. package/traits/actor/actorBehavior.d.ts +4 -4
  143. package/traits/actor/actorBehavior.d.ts.map +1 -1
  144. package/traits/actor/actorBehavior.js +38 -34
  145. package/traits/actor/actorBehavior.js.map +1 -1
  146. package/traits/actor/actorTrait.d.ts +1 -1
  147. package/traits/actor/actorTrait.d.ts.map +1 -1
  148. package/traits/actor/actorTrait.js +3 -3
  149. package/traits/actor/actorTrait.js.map +1 -1
  150. package/traits/actor/index.d.ts +2 -2
  151. package/traits/actor/index.d.ts.map +1 -1
  152. package/traits/actor/index.js +6 -6
  153. package/traits/actor/index.js.map +1 -1
  154. package/traits/all-traits.d.ts +30 -33
  155. package/traits/all-traits.d.ts.map +1 -1
  156. package/traits/all-traits.js +56 -62
  157. package/traits/all-traits.js.map +1 -1
  158. package/traits/attached/attachedTrait.d.ts +1 -1
  159. package/traits/attached/attachedTrait.d.ts.map +1 -1
  160. package/traits/attached/attachedTrait.js +3 -3
  161. package/traits/attached/attachedTrait.js.map +1 -1
  162. package/traits/attached/index.d.ts +1 -1
  163. package/traits/attached/index.d.ts.map +1 -1
  164. package/traits/attached/index.js +1 -1
  165. package/traits/attached/index.js.map +1 -1
  166. package/traits/breakable/breakableBehavior.d.ts +3 -3
  167. package/traits/breakable/breakableBehavior.d.ts.map +1 -1
  168. package/traits/breakable/breakableBehavior.js +10 -10
  169. package/traits/breakable/breakableBehavior.js.map +1 -1
  170. package/traits/breakable/breakableTrait.d.ts +1 -1
  171. package/traits/breakable/breakableTrait.d.ts.map +1 -1
  172. package/traits/breakable/index.d.ts +2 -2
  173. package/traits/breakable/index.d.ts.map +1 -1
  174. package/traits/breakable/index.js +4 -4
  175. package/traits/breakable/index.js.map +1 -1
  176. package/traits/button/buttonTrait.d.ts +1 -1
  177. package/traits/button/buttonTrait.d.ts.map +1 -1
  178. package/traits/button/buttonTrait.js +3 -3
  179. package/traits/button/buttonTrait.js.map +1 -1
  180. package/traits/button/index.d.ts +1 -1
  181. package/traits/button/index.d.ts.map +1 -1
  182. package/traits/button/index.js +1 -1
  183. package/traits/button/index.js.map +1 -1
  184. package/traits/character-model/characterModelTrait.d.ts +2 -2
  185. package/traits/character-model/characterModelTrait.d.ts.map +1 -1
  186. package/traits/character-model/characterModelTrait.js +16 -16
  187. package/traits/character-model/characterModelTrait.js.map +1 -1
  188. package/traits/character-model/index.d.ts +2 -2
  189. package/traits/character-model/index.d.ts.map +1 -1
  190. package/traits/character-model/index.js +3 -3
  191. package/traits/character-model/index.js.map +1 -1
  192. package/traits/climbable/climbableBehavior.d.ts +1 -1
  193. package/traits/climbable/climbableBehavior.d.ts.map +1 -1
  194. package/traits/climbable/climbableBehavior.js +9 -9
  195. package/traits/climbable/climbableBehavior.js.map +1 -1
  196. package/traits/climbable/climbableTrait.d.ts +1 -1
  197. package/traits/climbable/climbableTrait.d.ts.map +1 -1
  198. package/traits/climbable/climbableTrait.js +4 -4
  199. package/traits/climbable/climbableTrait.js.map +1 -1
  200. package/traits/climbable/index.d.ts +2 -2
  201. package/traits/climbable/index.d.ts.map +1 -1
  202. package/traits/climbable/index.js +2 -2
  203. package/traits/climbable/index.js.map +1 -1
  204. package/traits/clothing/clothingTrait.d.ts +2 -2
  205. package/traits/clothing/clothingTrait.d.ts.map +1 -1
  206. package/traits/clothing/clothingTrait.js +3 -3
  207. package/traits/clothing/clothingTrait.js.map +1 -1
  208. package/traits/clothing/index.d.ts +1 -1
  209. package/traits/clothing/index.d.ts.map +1 -1
  210. package/traits/clothing/index.js +1 -1
  211. package/traits/clothing/index.js.map +1 -1
  212. package/traits/combatant/combatantBehavior.d.ts +26 -21
  213. package/traits/combatant/combatantBehavior.d.ts.map +1 -1
  214. package/traits/combatant/combatantBehavior.js +58 -56
  215. package/traits/combatant/combatantBehavior.js.map +1 -1
  216. package/traits/combatant/combatantTrait.d.ts +15 -49
  217. package/traits/combatant/combatantTrait.d.ts.map +1 -1
  218. package/traits/combatant/combatantTrait.js +13 -80
  219. package/traits/combatant/combatantTrait.js.map +1 -1
  220. package/traits/combatant/index.d.ts +2 -2
  221. package/traits/combatant/index.d.ts.map +1 -1
  222. package/traits/combatant/index.js +4 -4
  223. package/traits/combatant/index.js.map +1 -1
  224. package/traits/concealment/concealedStateTrait.d.ts +3 -3
  225. package/traits/concealment/concealedStateTrait.d.ts.map +1 -1
  226. package/traits/concealment/concealedStateTrait.js +2 -2
  227. package/traits/concealment/concealedStateTrait.js.map +1 -1
  228. package/traits/concealment/concealedVisibilityBehavior.d.ts +2 -2
  229. package/traits/concealment/concealedVisibilityBehavior.d.ts.map +1 -1
  230. package/traits/concealment/concealedVisibilityBehavior.js +3 -3
  231. package/traits/concealment/concealedVisibilityBehavior.js.map +1 -1
  232. package/traits/concealment/concealmentTrait.d.ts +1 -1
  233. package/traits/concealment/concealmentTrait.d.ts.map +1 -1
  234. package/traits/concealment/index.d.ts +3 -3
  235. package/traits/concealment/index.d.ts.map +1 -1
  236. package/traits/concealment/index.js +3 -3
  237. package/traits/concealment/index.js.map +1 -1
  238. package/traits/container/container-utils.d.ts +2 -2
  239. package/traits/container/container-utils.d.ts.map +1 -1
  240. package/traits/container/container-utils.js +14 -14
  241. package/traits/container/container-utils.js.map +1 -1
  242. package/traits/container/containerBehavior.d.ts +7 -2
  243. package/traits/container/containerBehavior.d.ts.map +1 -1
  244. package/traits/container/containerBehavior.js +26 -26
  245. package/traits/container/containerBehavior.js.map +1 -1
  246. package/traits/container/containerTrait.d.ts +1 -1
  247. package/traits/container/containerTrait.d.ts.map +1 -1
  248. package/traits/container/containerTrait.js +3 -3
  249. package/traits/container/containerTrait.js.map +1 -1
  250. package/traits/container/index.d.ts +3 -3
  251. package/traits/container/index.d.ts.map +1 -1
  252. package/traits/container/index.js +9 -9
  253. package/traits/container/index.js.map +1 -1
  254. package/traits/cuttable/cuttableBehavior.d.ts +23 -0
  255. package/traits/cuttable/cuttableBehavior.d.ts.map +1 -0
  256. package/traits/cuttable/cuttableBehavior.js +39 -0
  257. package/traits/cuttable/cuttableBehavior.js.map +1 -0
  258. package/traits/cuttable/cuttableTrait.d.ts +37 -0
  259. package/traits/cuttable/cuttableTrait.d.ts.map +1 -0
  260. package/traits/cuttable/cuttableTrait.js +30 -0
  261. package/traits/cuttable/cuttableTrait.js.map +1 -0
  262. package/traits/cuttable/index.d.ts +3 -0
  263. package/traits/cuttable/index.d.ts.map +1 -0
  264. package/traits/cuttable/index.js +20 -0
  265. package/traits/cuttable/index.js.map +1 -0
  266. package/traits/deadly-room/deadlyRoomBehavior.d.ts +48 -0
  267. package/traits/deadly-room/deadlyRoomBehavior.d.ts.map +1 -0
  268. package/traits/deadly-room/deadlyRoomBehavior.js +59 -0
  269. package/traits/deadly-room/deadlyRoomBehavior.js.map +1 -0
  270. package/traits/deadly-room/deadlyRoomTrait.d.ts +51 -0
  271. package/traits/deadly-room/deadlyRoomTrait.d.ts.map +1 -0
  272. package/traits/deadly-room/deadlyRoomTrait.js +37 -0
  273. package/traits/deadly-room/deadlyRoomTrait.js.map +1 -0
  274. package/traits/deadly-room/index.d.ts +3 -0
  275. package/traits/deadly-room/index.d.ts.map +1 -0
  276. package/traits/deadly-room/index.js +8 -0
  277. package/traits/deadly-room/index.js.map +1 -0
  278. package/traits/destructible/destructibleBehavior.d.ts +3 -3
  279. package/traits/destructible/destructibleBehavior.d.ts.map +1 -1
  280. package/traits/destructible/destructibleBehavior.js +12 -12
  281. package/traits/destructible/destructibleBehavior.js.map +1 -1
  282. package/traits/destructible/destructibleTrait.d.ts +1 -1
  283. package/traits/destructible/destructibleTrait.d.ts.map +1 -1
  284. package/traits/destructible/index.d.ts +2 -2
  285. package/traits/destructible/index.d.ts.map +1 -1
  286. package/traits/destructible/index.js +4 -4
  287. package/traits/destructible/index.js.map +1 -1
  288. package/traits/diggable/diggableBehavior.d.ts +23 -0
  289. package/traits/diggable/diggableBehavior.d.ts.map +1 -0
  290. package/traits/diggable/diggableBehavior.js +39 -0
  291. package/traits/diggable/diggableBehavior.js.map +1 -0
  292. package/traits/diggable/diggableTrait.d.ts +37 -0
  293. package/traits/diggable/diggableTrait.d.ts.map +1 -0
  294. package/traits/diggable/diggableTrait.js +30 -0
  295. package/traits/diggable/diggableTrait.js.map +1 -0
  296. package/traits/diggable/index.d.ts +3 -0
  297. package/traits/diggable/index.d.ts.map +1 -0
  298. package/traits/diggable/index.js +20 -0
  299. package/traits/diggable/index.js.map +1 -0
  300. package/traits/door/doorBehavior.d.ts +2 -2
  301. package/traits/door/doorBehavior.d.ts.map +1 -1
  302. package/traits/door/doorBehavior.js +11 -11
  303. package/traits/door/doorBehavior.js.map +1 -1
  304. package/traits/door/doorTrait.d.ts +1 -1
  305. package/traits/door/doorTrait.d.ts.map +1 -1
  306. package/traits/door/doorTrait.js +3 -3
  307. package/traits/door/doorTrait.js.map +1 -1
  308. package/traits/door/index.d.ts +2 -2
  309. package/traits/door/index.d.ts.map +1 -1
  310. package/traits/door/index.js +4 -4
  311. package/traits/door/index.js.map +1 -1
  312. package/traits/edible/edibleBehavior.d.ts +3 -3
  313. package/traits/edible/edibleBehavior.d.ts.map +1 -1
  314. package/traits/edible/edibleBehavior.js +20 -20
  315. package/traits/edible/edibleBehavior.js.map +1 -1
  316. package/traits/edible/edibleTrait.d.ts +1 -1
  317. package/traits/edible/edibleTrait.d.ts.map +1 -1
  318. package/traits/edible/edibleTrait.js +3 -3
  319. package/traits/edible/edibleTrait.js.map +1 -1
  320. package/traits/edible/index.d.ts +2 -2
  321. package/traits/edible/index.d.ts.map +1 -1
  322. package/traits/edible/index.js +2 -2
  323. package/traits/edible/index.js.map +1 -1
  324. package/traits/enterable/enterableTrait.d.ts +1 -1
  325. package/traits/enterable/enterableTrait.d.ts.map +1 -1
  326. package/traits/enterable/enterableTrait.js +4 -4
  327. package/traits/enterable/enterableTrait.js.map +1 -1
  328. package/traits/enterable/index.d.ts +1 -1
  329. package/traits/enterable/index.d.ts.map +1 -1
  330. package/traits/enterable/index.js +1 -1
  331. package/traits/enterable/index.js.map +1 -1
  332. package/traits/equipped/equippedTrait.d.ts +1 -1
  333. package/traits/equipped/equippedTrait.d.ts.map +1 -1
  334. package/traits/equipped/index.d.ts +1 -1
  335. package/traits/equipped/index.d.ts.map +1 -1
  336. package/traits/equipped/index.js +2 -2
  337. package/traits/equipped/index.js.map +1 -1
  338. package/traits/exit/exitBehavior.d.ts +2 -2
  339. package/traits/exit/exitBehavior.d.ts.map +1 -1
  340. package/traits/exit/exitBehavior.js +27 -27
  341. package/traits/exit/exitBehavior.js.map +1 -1
  342. package/traits/exit/exitTrait.d.ts +1 -1
  343. package/traits/exit/exitTrait.d.ts.map +1 -1
  344. package/traits/exit/exitTrait.js +3 -3
  345. package/traits/exit/exitTrait.js.map +1 -1
  346. package/traits/exit/index.d.ts +2 -2
  347. package/traits/exit/index.d.ts.map +1 -1
  348. package/traits/exit/index.js +4 -4
  349. package/traits/exit/index.js.map +1 -1
  350. package/traits/health/healthBehavior.d.ts +66 -0
  351. package/traits/health/healthBehavior.d.ts.map +1 -0
  352. package/traits/health/healthBehavior.js +98 -0
  353. package/traits/health/healthBehavior.js.map +1 -0
  354. package/traits/health/healthTrait.d.ts +60 -0
  355. package/traits/health/healthTrait.d.ts.map +1 -0
  356. package/traits/health/healthTrait.js +49 -0
  357. package/traits/health/healthTrait.js.map +1 -0
  358. package/traits/health/index.d.ts +3 -0
  359. package/traits/health/index.d.ts.map +1 -0
  360. package/traits/health/index.js +8 -0
  361. package/traits/health/index.js.map +1 -0
  362. package/traits/identity/identityBehavior.d.ts +2 -2
  363. package/traits/identity/identityBehavior.d.ts.map +1 -1
  364. package/traits/identity/identityBehavior.js +16 -16
  365. package/traits/identity/identityBehavior.js.map +1 -1
  366. package/traits/identity/identityTrait.d.ts +8 -1
  367. package/traits/identity/identityTrait.d.ts.map +1 -1
  368. package/traits/identity/identityTrait.js +10 -3
  369. package/traits/identity/identityTrait.js.map +1 -1
  370. package/traits/identity/index.d.ts +3 -2
  371. package/traits/identity/index.d.ts.map +1 -1
  372. package/traits/identity/index.js +3 -2
  373. package/traits/identity/index.js.map +1 -1
  374. package/traits/identity/name-vocabulary.d.ts +31 -0
  375. package/traits/identity/name-vocabulary.d.ts.map +1 -0
  376. package/traits/identity/name-vocabulary.js +57 -0
  377. package/traits/identity/name-vocabulary.js.map +1 -0
  378. package/traits/implementations.d.ts +65 -38
  379. package/traits/implementations.d.ts.map +1 -1
  380. package/traits/implementations.js +165 -117
  381. package/traits/implementations.js.map +1 -1
  382. package/traits/index.d.ts +47 -44
  383. package/traits/index.d.ts.map +1 -1
  384. package/traits/index.js +48 -44
  385. package/traits/index.js.map +1 -1
  386. package/traits/light-source/index.d.ts +2 -2
  387. package/traits/light-source/index.d.ts.map +1 -1
  388. package/traits/light-source/index.js +4 -4
  389. package/traits/light-source/index.js.map +1 -1
  390. package/traits/light-source/lightSourceBehavior.d.ts +2 -2
  391. package/traits/light-source/lightSourceBehavior.d.ts.map +1 -1
  392. package/traits/light-source/lightSourceBehavior.js +16 -16
  393. package/traits/light-source/lightSourceBehavior.js.map +1 -1
  394. package/traits/light-source/lightSourceTrait.d.ts +1 -1
  395. package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
  396. package/traits/light-source/lightSourceTrait.js +3 -3
  397. package/traits/light-source/lightSourceTrait.js.map +1 -1
  398. package/traits/listener/index.d.ts +1 -1
  399. package/traits/listener/index.d.ts.map +1 -1
  400. package/traits/listener/index.js +2 -2
  401. package/traits/listener/index.js.map +1 -1
  402. package/traits/listener/listenerTrait.d.ts +1 -1
  403. package/traits/listener/listenerTrait.d.ts.map +1 -1
  404. package/traits/listener/listenerTrait.js +3 -3
  405. package/traits/listener/listenerTrait.js.map +1 -1
  406. package/traits/lockable/index.d.ts +2 -2
  407. package/traits/lockable/index.d.ts.map +1 -1
  408. package/traits/lockable/index.js +2 -2
  409. package/traits/lockable/index.js.map +1 -1
  410. package/traits/lockable/lockableBehavior.d.ts +2 -2
  411. package/traits/lockable/lockableBehavior.d.ts.map +1 -1
  412. package/traits/lockable/lockableBehavior.js +19 -19
  413. package/traits/lockable/lockableBehavior.js.map +1 -1
  414. package/traits/lockable/lockableTrait.d.ts +1 -1
  415. package/traits/lockable/lockableTrait.d.ts.map +1 -1
  416. package/traits/lockable/lockableTrait.js +3 -3
  417. package/traits/lockable/lockableTrait.js.map +1 -1
  418. package/traits/moveable-scenery/index.d.ts +1 -1
  419. package/traits/moveable-scenery/index.d.ts.map +1 -1
  420. package/traits/moveable-scenery/index.js +1 -1
  421. package/traits/moveable-scenery/index.js.map +1 -1
  422. package/traits/moveable-scenery/moveableSceneryTrait.d.ts +1 -1
  423. package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -1
  424. package/traits/moveable-scenery/moveableSceneryTrait.js +3 -3
  425. package/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -1
  426. package/traits/npc/index.d.ts +1 -1
  427. package/traits/npc/index.d.ts.map +1 -1
  428. package/traits/npc/index.js +2 -2
  429. package/traits/npc/index.js.map +1 -1
  430. package/traits/npc/npcTrait.d.ts +6 -28
  431. package/traits/npc/npcTrait.d.ts.map +1 -1
  432. package/traits/npc/npcTrait.js +0 -38
  433. package/traits/npc/npcTrait.js.map +1 -1
  434. package/traits/obstructor-protocol.d.ts +3 -3
  435. package/traits/obstructor-protocol.d.ts.map +1 -1
  436. package/traits/open-inventory/index.d.ts +1 -1
  437. package/traits/open-inventory/index.d.ts.map +1 -1
  438. package/traits/open-inventory/index.js +2 -2
  439. package/traits/open-inventory/index.js.map +1 -1
  440. package/traits/open-inventory/openInventoryTrait.d.ts +1 -1
  441. package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -1
  442. package/traits/open-inventory/openInventoryTrait.js +3 -3
  443. package/traits/open-inventory/openInventoryTrait.js.map +1 -1
  444. package/traits/openable/index.d.ts +2 -2
  445. package/traits/openable/index.d.ts.map +1 -1
  446. package/traits/openable/index.js +2 -2
  447. package/traits/openable/index.js.map +1 -1
  448. package/traits/openable/openableBehavior.d.ts +12 -2
  449. package/traits/openable/openableBehavior.d.ts.map +1 -1
  450. package/traits/openable/openableBehavior.js +32 -11
  451. package/traits/openable/openableBehavior.js.map +1 -1
  452. package/traits/openable/openableTrait.d.ts +8 -1
  453. package/traits/openable/openableTrait.d.ts.map +1 -1
  454. package/traits/openable/openableTrait.js +7 -3
  455. package/traits/openable/openableTrait.js.map +1 -1
  456. package/traits/pullable/index.d.ts +1 -1
  457. package/traits/pullable/index.d.ts.map +1 -1
  458. package/traits/pullable/index.js +1 -1
  459. package/traits/pullable/index.js.map +1 -1
  460. package/traits/pullable/pullableTrait.d.ts +1 -1
  461. package/traits/pullable/pullableTrait.d.ts.map +1 -1
  462. package/traits/pullable/pullableTrait.js +3 -3
  463. package/traits/pullable/pullableTrait.js.map +1 -1
  464. package/traits/pushable/index.d.ts +1 -1
  465. package/traits/pushable/index.d.ts.map +1 -1
  466. package/traits/pushable/index.js +1 -1
  467. package/traits/pushable/index.js.map +1 -1
  468. package/traits/pushable/pushableTrait.d.ts +1 -1
  469. package/traits/pushable/pushableTrait.d.ts.map +1 -1
  470. package/traits/pushable/pushableTrait.js +3 -3
  471. package/traits/pushable/pushableTrait.js.map +1 -1
  472. package/traits/readable/index.d.ts +2 -2
  473. package/traits/readable/index.d.ts.map +1 -1
  474. package/traits/readable/index.js +4 -4
  475. package/traits/readable/index.js.map +1 -1
  476. package/traits/readable/readableBehavior.d.ts +1 -1
  477. package/traits/readable/readableBehavior.d.ts.map +1 -1
  478. package/traits/readable/readableBehavior.js +10 -10
  479. package/traits/readable/readableBehavior.js.map +1 -1
  480. package/traits/readable/readableTrait.d.ts +1 -1
  481. package/traits/readable/readableTrait.d.ts.map +1 -1
  482. package/traits/readable/readableTrait.js +3 -3
  483. package/traits/readable/readableTrait.js.map +1 -1
  484. package/traits/region/index.d.ts +1 -1
  485. package/traits/region/index.d.ts.map +1 -1
  486. package/traits/region/index.js +2 -2
  487. package/traits/region/index.js.map +1 -1
  488. package/traits/region/regionTrait.d.ts +1 -1
  489. package/traits/region/regionTrait.d.ts.map +1 -1
  490. package/traits/region/regionTrait.js +3 -3
  491. package/traits/region/regionTrait.js.map +1 -1
  492. package/traits/room/index.d.ts +2 -2
  493. package/traits/room/index.d.ts.map +1 -1
  494. package/traits/room/index.js +4 -4
  495. package/traits/room/index.js.map +1 -1
  496. package/traits/room/roomBehavior.d.ts +4 -4
  497. package/traits/room/roomBehavior.d.ts.map +1 -1
  498. package/traits/room/roomBehavior.js +25 -25
  499. package/traits/room/roomBehavior.js.map +1 -1
  500. package/traits/room/roomTrait.d.ts +10 -5
  501. package/traits/room/roomTrait.d.ts.map +1 -1
  502. package/traits/room/roomTrait.js +5 -5
  503. package/traits/room/roomTrait.js.map +1 -1
  504. package/traits/scene/index.d.ts +1 -1
  505. package/traits/scene/index.d.ts.map +1 -1
  506. package/traits/scene/index.js +2 -2
  507. package/traits/scene/index.js.map +1 -1
  508. package/traits/scene/sceneTrait.d.ts +1 -1
  509. package/traits/scene/sceneTrait.d.ts.map +1 -1
  510. package/traits/scene/sceneTrait.js +3 -3
  511. package/traits/scene/sceneTrait.js.map +1 -1
  512. package/traits/scenery/index.d.ts +2 -2
  513. package/traits/scenery/index.d.ts.map +1 -1
  514. package/traits/scenery/index.js +4 -4
  515. package/traits/scenery/index.js.map +1 -1
  516. package/traits/scenery/sceneryBehavior.d.ts +1 -1
  517. package/traits/scenery/sceneryBehavior.d.ts.map +1 -1
  518. package/traits/scenery/sceneryBehavior.js +5 -5
  519. package/traits/scenery/sceneryBehavior.js.map +1 -1
  520. package/traits/scenery/sceneryTrait.d.ts +1 -1
  521. package/traits/scenery/sceneryTrait.d.ts.map +1 -1
  522. package/traits/scenery/sceneryTrait.js +3 -3
  523. package/traits/scenery/sceneryTrait.js.map +1 -1
  524. package/traits/story-info/index.d.ts +1 -1
  525. package/traits/story-info/index.d.ts.map +1 -1
  526. package/traits/story-info/index.js +2 -2
  527. package/traits/story-info/index.js.map +1 -1
  528. package/traits/story-info/storyInfoTrait.d.ts +1 -1
  529. package/traits/story-info/storyInfoTrait.d.ts.map +1 -1
  530. package/traits/supporter/index.d.ts +2 -2
  531. package/traits/supporter/index.d.ts.map +1 -1
  532. package/traits/supporter/index.js +4 -4
  533. package/traits/supporter/index.js.map +1 -1
  534. package/traits/supporter/supporterBehavior.d.ts +3 -3
  535. package/traits/supporter/supporterBehavior.d.ts.map +1 -1
  536. package/traits/supporter/supporterBehavior.js +15 -15
  537. package/traits/supporter/supporterBehavior.js.map +1 -1
  538. package/traits/supporter/supporterTrait.d.ts +1 -1
  539. package/traits/supporter/supporterTrait.d.ts.map +1 -1
  540. package/traits/supporter/supporterTrait.js +3 -3
  541. package/traits/supporter/supporterTrait.js.map +1 -1
  542. package/traits/switchable/index.d.ts +2 -2
  543. package/traits/switchable/index.d.ts.map +1 -1
  544. package/traits/switchable/index.js +2 -2
  545. package/traits/switchable/index.js.map +1 -1
  546. package/traits/switchable/switchableBehavior.d.ts +2 -2
  547. package/traits/switchable/switchableBehavior.d.ts.map +1 -1
  548. package/traits/switchable/switchableBehavior.js +18 -18
  549. package/traits/switchable/switchableBehavior.js.map +1 -1
  550. package/traits/switchable/switchableTrait.d.ts +1 -1
  551. package/traits/switchable/switchableTrait.d.ts.map +1 -1
  552. package/traits/switchable/switchableTrait.js +3 -3
  553. package/traits/switchable/switchableTrait.js.map +1 -1
  554. package/traits/trait-types.d.ts +4 -1
  555. package/traits/trait-types.d.ts.map +1 -1
  556. package/traits/trait-types.js +12 -2
  557. package/traits/trait-types.js.map +1 -1
  558. package/traits/trait.d.ts +1 -1
  559. package/traits/trait.d.ts.map +1 -1
  560. package/traits/vehicle/index.d.ts +2 -2
  561. package/traits/vehicle/index.d.ts.map +1 -1
  562. package/traits/vehicle/index.js +2 -2
  563. package/traits/vehicle/index.js.map +1 -1
  564. package/traits/vehicle/vehicleBehavior.d.ts +2 -2
  565. package/traits/vehicle/vehicleBehavior.d.ts.map +1 -1
  566. package/traits/vehicle/vehicleBehavior.js +7 -7
  567. package/traits/vehicle/vehicleBehavior.js.map +1 -1
  568. package/traits/vehicle/vehicleTrait.d.ts +1 -1
  569. package/traits/vehicle/vehicleTrait.d.ts.map +1 -1
  570. package/traits/vehicle/vehicleTrait.js +4 -4
  571. package/traits/vehicle/vehicleTrait.js.map +1 -1
  572. package/traits/weapon/index.d.ts +2 -2
  573. package/traits/weapon/index.d.ts.map +1 -1
  574. package/traits/weapon/index.js +4 -4
  575. package/traits/weapon/index.js.map +1 -1
  576. package/traits/weapon/weaponBehavior.d.ts +11 -4
  577. package/traits/weapon/weaponBehavior.d.ts.map +1 -1
  578. package/traits/weapon/weaponBehavior.js +24 -19
  579. package/traits/weapon/weaponBehavior.js.map +1 -1
  580. package/traits/weapon/weaponTrait.d.ts +1 -1
  581. package/traits/weapon/weaponTrait.d.ts.map +1 -1
  582. package/traits/wearable/index.d.ts +2 -2
  583. package/traits/wearable/index.d.ts.map +1 -1
  584. package/traits/wearable/index.js +2 -2
  585. package/traits/wearable/index.js.map +1 -1
  586. package/traits/wearable/wearableBehavior.d.ts +1 -1
  587. package/traits/wearable/wearableBehavior.d.ts.map +1 -1
  588. package/traits/wearable/wearableBehavior.js +11 -11
  589. package/traits/wearable/wearableBehavior.js.map +1 -1
  590. package/traits/wearable/wearableTrait.d.ts +1 -1
  591. package/traits/wearable/wearableTrait.d.ts.map +1 -1
  592. package/traits/wearable/wearableTrait.js +3 -3
  593. package/traits/wearable/wearableTrait.js.map +1 -1
  594. package/world/AuthorModel.d.ts +23 -17
  595. package/world/AuthorModel.d.ts.map +1 -1
  596. package/world/AuthorModel.js +15 -4
  597. package/world/AuthorModel.js.map +1 -1
  598. package/world/SharedDataStore.d.ts +2 -2
  599. package/world/SharedDataStore.d.ts.map +1 -1
  600. package/world/SharedDataStore.js +2 -2
  601. package/world/SharedDataStore.js.map +1 -1
  602. package/world/VisibilityBehavior.d.ts +60 -4
  603. package/world/VisibilityBehavior.d.ts.map +1 -1
  604. package/world/VisibilityBehavior.js +193 -101
  605. package/world/VisibilityBehavior.js.map +1 -1
  606. package/world/WorldEventSystem.d.ts +1 -1
  607. package/world/WorldEventSystem.d.ts.map +1 -1
  608. package/world/WorldModel.d.ts +65 -18
  609. package/world/WorldModel.d.ts.map +1 -1
  610. package/world/WorldModel.js +164 -114
  611. package/world/WorldModel.js.map +1 -1
  612. package/world/WorldSerializer.d.ts +4 -4
  613. package/world/WorldSerializer.d.ts.map +1 -1
  614. package/world/WorldSerializer.js +2 -2
  615. package/world/WorldSerializer.js.map +1 -1
  616. package/world/default-trait-registry.d.ts +1 -1
  617. package/world/default-trait-registry.d.ts.map +1 -1
  618. package/world/default-trait-registry.js +3 -3
  619. package/world/default-trait-registry.js.map +1 -1
  620. package/world/index.d.ts +9 -9
  621. package/world/index.d.ts.map +1 -1
  622. package/world/index.js +17 -16
  623. package/world/index.js.map +1 -1
  624. package/world/wall-creation.d.ts +2 -2
  625. package/world/wall-creation.d.ts.map +1 -1
  626. package/world/wall-creation.js +6 -6
  627. package/world/wall-creation.js.map +1 -1
  628. package/world/wall-validation.d.ts +2 -2
  629. package/world/wall-validation.d.ts.map +1 -1
  630. package/world/wall-validation.js +3 -3
  631. package/world/wall-validation.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"moveableSceneryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/moveable-scenery/moveableSceneryTrait.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,gDAA2C;AAsD3C;;;;;;GAMG;AACH,MAAa,oBAAoB;IAC/B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,gBAAgB,CAAC;IACzC,IAAI,GAAG,uBAAS,CAAC,gBAAgB,CAAC;IAE3C,iCAAiC;IACjC,WAAW,CAA2C;IACtD,gBAAgB,CAAU;IAC1B,OAAO,CAAU;IACjB,WAAW,CAAU;IACrB,YAAY,CAAY;IACxB,KAAK,CAAU;IACf,YAAY,CAAU;IACtB,SAAS,CAAU;IACnB,sBAAsB,CAAU;IAChC,cAAc,CAAU;IAExB,YAAY,OAA6B,EAAE;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;;AA3BH,oDA4BC"}
1
+ {"version":3,"file":"moveableSceneryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/moveable-scenery/moveableSceneryTrait.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,sDAA8C;AAsD9C;;;;;;GAMG;AACH,MAAa,oBAAoB;IAC/B,MAAM,CAAU,IAAI,GAAG,0BAAS,CAAC,gBAAgB,CAAC;IACzC,IAAI,GAAG,0BAAS,CAAC,gBAAgB,CAAC;IAE3C,iCAAiC;IACjC,WAAW,CAA2C;IACtD,gBAAgB,CAAU;IAC1B,OAAO,CAAU;IACjB,WAAW,CAAU;IACrB,YAAY,CAAY;IACxB,KAAK,CAAU;IACf,YAAY,CAAU;IACtB,SAAS,CAAU;IACnB,sBAAsB,CAAU;IAChC,cAAc,CAAU;IAExB,YAAY,OAA6B,EAAE;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC;QACnE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;;AA3BH,oDA4BC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * NPC trait exports (ADR-070)
3
3
  */
4
- export { NpcTrait, type INpcData } from './npcTrait';
4
+ export { NpcTrait, type INpcData } from './npcTrait.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -4,6 +4,6 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.NpcTrait = void 0;
7
- var npcTrait_1 = require("./npcTrait");
8
- Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
7
+ var npcTrait_js_1 = require("./npcTrait.js");
8
+ Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_js_1.NpcTrait; } });
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,uCAAqD;AAA5C,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6CAAwD;AAA/C,uGAAA,QAAQ,OAAA"}
@@ -4,17 +4,17 @@
4
4
  * Marks an entity as a Non-Player Character that can act autonomously.
5
5
  * NPCs participate in the turn cycle and can have behaviors.
6
6
  */
7
- import { ITrait } from '../trait';
7
+ import { ITrait } from '../trait.js';
8
8
  import { EntityId } from '@sharpee/core';
9
9
  /**
10
10
  * Interface for NPC trait data
11
11
  */
12
12
  export interface INpcData {
13
- /** Whether this NPC is currently alive */
14
- isAlive?: boolean;
15
- /** Whether this NPC is conscious (can act) */
16
- isConscious?: boolean;
17
- /** Whether this NPC is hostile to the player */
13
+ /**
14
+ * Whether this NPC is hostile to the player.
15
+ * (Life-state alive/conscious lives on HealthTrait, ADR-226; hostility moves
16
+ * to disposition in ADR-223 child C.)
17
+ */
18
18
  isHostile?: boolean;
19
19
  /** Whether this NPC can move between rooms */
20
20
  canMove?: boolean;
@@ -61,8 +61,6 @@ export interface INpcData {
61
61
  export declare class NpcTrait implements ITrait, INpcData {
62
62
  static readonly type: "npc";
63
63
  readonly type: "npc";
64
- isAlive: boolean;
65
- isConscious: boolean;
66
64
  isHostile: boolean;
67
65
  canMove: boolean;
68
66
  allowedRooms?: EntityId[];
@@ -80,10 +78,6 @@ export declare class NpcTrait implements ITrait, INpcData {
80
78
  goals?: string[];
81
79
  customProperties?: Record<string, unknown>;
82
80
  constructor(data?: INpcData);
83
- /**
84
- * Check if NPC can act (alive and conscious)
85
- */
86
- get canAct(): boolean;
87
81
  /**
88
82
  * Check if NPC can enter a specific room
89
83
  */
@@ -96,22 +90,6 @@ export declare class NpcTrait implements ITrait, INpcData {
96
90
  * Make this NPC non-hostile
97
91
  */
98
92
  makePassive(): void;
99
- /**
100
- * Knock out this NPC (unconscious but alive)
101
- */
102
- knockOut(): void;
103
- /**
104
- * Wake up this NPC
105
- */
106
- wakeUp(): void;
107
- /**
108
- * Kill this NPC
109
- */
110
- kill(): void;
111
- /**
112
- * Revive this NPC
113
- */
114
- revive(): void;
115
93
  /**
116
94
  * Set a knowledge item
117
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"npcTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/npcTrait.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npcTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/npcTrait.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,6 @@ class NpcTrait {
23
23
  static type = 'npc';
24
24
  type = 'npc';
25
25
  // State properties
26
- isAlive;
27
- isConscious;
28
26
  isHostile;
29
27
  // Movement properties
30
28
  canMove;
@@ -43,8 +41,6 @@ class NpcTrait {
43
41
  customProperties;
44
42
  constructor(data = {}) {
45
43
  // Set defaults and merge with provided data
46
- this.isAlive = data.isAlive ?? true;
47
- this.isConscious = data.isConscious ?? true;
48
44
  this.isHostile = data.isHostile ?? false;
49
45
  this.canMove = data.canMove ?? false;
50
46
  this.allowedRooms = data.allowedRooms;
@@ -57,12 +53,6 @@ class NpcTrait {
57
53
  this.goals = data.goals;
58
54
  this.customProperties = data.customProperties;
59
55
  }
60
- /**
61
- * Check if NPC can act (alive and conscious)
62
- */
63
- get canAct() {
64
- return this.isAlive && this.isConscious;
65
- }
66
56
  /**
67
57
  * Check if NPC can enter a specific room
68
58
  */
@@ -91,34 +81,6 @@ class NpcTrait {
91
81
  makePassive() {
92
82
  this.isHostile = false;
93
83
  }
94
- /**
95
- * Knock out this NPC (unconscious but alive)
96
- */
97
- knockOut() {
98
- this.isConscious = false;
99
- }
100
- /**
101
- * Wake up this NPC
102
- */
103
- wakeUp() {
104
- if (this.isAlive) {
105
- this.isConscious = true;
106
- }
107
- }
108
- /**
109
- * Kill this NPC
110
- */
111
- kill() {
112
- this.isAlive = false;
113
- this.isConscious = false;
114
- }
115
- /**
116
- * Revive this NPC
117
- */
118
- revive() {
119
- this.isAlive = true;
120
- this.isConscious = true;
121
- }
122
84
  /**
123
85
  * Set a knowledge item
124
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"npcTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/npcTrait.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA0DH;;;;;;;;;;;GAWG;AACH,MAAa,QAAQ;IACnB,MAAM,CAAU,IAAI,GAAG,KAAc,CAAC;IAC7B,IAAI,GAAG,KAAc,CAAC;IAE/B,mBAAmB;IACnB,OAAO,CAAU;IACjB,WAAW,CAAU;IACrB,SAAS,CAAU;IAEnB,sBAAsB;IACtB,OAAO,CAAU;IACjB,YAAY,CAAc;IAC1B,cAAc,CAAc;IAE5B,qBAAqB;IACrB,UAAU,CAAU;IAEpB,iCAAiC;IACjC,iBAAiB,CAAU;IAC3B,gBAAgB,CAKd;IAEF,oBAAoB;IACpB,iBAAiB,CAAU;IAC3B,SAAS,CAA2B;IACpC,KAAK,CAAY;IAEjB,oBAAoB;IACpB,gBAAgB,CAA2B;IAE3C,YAAY,OAAiB,EAAE;QAC7B,4CAA4C;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAEhC,8BAA8B;QAC9B,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAW,EAAE,KAAc;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAW,EAAE,KAAc;QAC3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;;AA9LH,4BA+LC"}
1
+ {"version":3,"file":"npcTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/npc/npcTrait.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,9 @@
26
26
  * Owner context: `@sharpee/world-model` — wall / spatial primitives.
27
27
  */
28
28
  import type { EntityId } from '@sharpee/core';
29
- import type { IFEntity } from '../entities/if-entity';
30
- import type { WallEntity } from '../entities/wall-entity';
31
- import type { ITrait } from './trait';
29
+ import type { IFEntity } from '../entities/if-entity.js';
30
+ import type { WallEntity } from '../entities/wall-entity.js';
31
+ import type { ITrait } from './trait.js';
32
32
  /**
33
33
  * Narrow world-model surface required to evaluate obstructors. Implemented
34
34
  * by `WorldModel`; passed in by callers so the helper has no implicit
@@ -1 +1 @@
1
- {"version":3,"file":"obstructor-protocol.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/obstructor-protocol.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,qBAAqB,GAC3B,QAAQ,GAAG,SAAS,CAUtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B,CAAC,GAAG,SAAS,CAIf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM;IACrD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAU5B"}
1
+ {"version":3,"file":"obstructor-protocol.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/obstructor-protocol.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,qBAAqB,GAC3B,QAAQ,GAAG,SAAS,CAUtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B,CAAC,GAAG,SAAS,CAIf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM;IACrD,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,qBAAqB,GAC3B,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAU5B"}
@@ -1,2 +1,2 @@
1
- export { OpenInventoryTrait } from './openInventoryTrait';
1
+ export { OpenInventoryTrait } from './openInventoryTrait.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenInventoryTrait = void 0;
4
- var openInventoryTrait_1 = require("./openInventoryTrait");
5
- Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
4
+ var openInventoryTrait_js_1 = require("./openInventoryTrait.js");
5
+ Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_js_1.OpenInventoryTrait; } });
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA"}
@@ -10,7 +10,7 @@
10
10
  * @public OpenInventoryTrait
11
11
  * @owner world-model / scope
12
12
  */
13
- import { ITrait } from '../trait';
13
+ import { ITrait } from '../trait.js';
14
14
  /**
15
15
  * When applied to an actor, makes their carried items reachable by others.
16
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"openInventoryTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAA4B;IAChD,QAAQ,CAAC,IAAI,kBAA4B;gBAE7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAK/C"}
1
+ {"version":3,"file":"openInventoryTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAA4B;IAChD,QAAQ,CAAC,IAAI,kBAA4B;gBAE7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAK/C"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.OpenInventoryTrait = void 0;
16
- const trait_types_1 = require("../trait-types");
16
+ const trait_types_js_1 = require("../trait-types.js");
17
17
  /**
18
18
  * When applied to an actor, makes their carried items reachable by others.
19
19
  *
@@ -26,8 +26,8 @@ const trait_types_1 = require("../trait-types");
26
26
  * - A dead NPC whose belongings are accessible
27
27
  */
28
28
  class OpenInventoryTrait {
29
- static type = trait_types_1.TraitType.OPEN_INVENTORY;
30
- type = trait_types_1.TraitType.OPEN_INVENTORY;
29
+ static type = trait_types_js_1.TraitType.OPEN_INVENTORY;
30
+ type = trait_types_js_1.TraitType.OPEN_INVENTORY;
31
31
  constructor(data) {
32
32
  if (data) {
33
33
  Object.assign(this, data);
@@ -1 +1 @@
1
- {"version":3,"file":"openInventoryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAGH,gDAA2C;AAE3C;;;;;;;;;;GAUG;AACH,MAAa,kBAAkB;IAC7B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IAEzC,YAAY,IAAkC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AARH,gDASC"}
1
+ {"version":3,"file":"openInventoryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAGH,sDAA8C;AAE9C;;;;;;;;;;GAUG;AACH,MAAa,kBAAkB;IAC7B,MAAM,CAAU,IAAI,GAAG,0BAAS,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,0BAAS,CAAC,cAAc,CAAC;IAEzC,YAAY,IAAkC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AARH,gDASC"}
@@ -1,3 +1,3 @@
1
- export * from './openableTrait';
2
- export * from './openableBehavior';
1
+ export * from './openableTrait.js';
2
+ export * from './openableBehavior.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/index.ts"],"names":[],"mappings":"AAEA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- __exportStar(require("./openableTrait"), exports);
19
- __exportStar(require("./openableBehavior"), exports);
18
+ __exportStar(require("./openableTrait.js"), exports);
19
+ __exportStar(require("./openableBehavior.js"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;AAEpD,kDAAgC;AAChC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;AAEpD,qDAAmC;AACnC,wDAAsC"}
@@ -1,5 +1,6 @@
1
- import { Behavior } from '../../behaviors/behavior';
2
- import { IFEntity } from '../../entities/if-entity';
1
+ import { EntityId } from '@sharpee/core';
2
+ import { Behavior } from '../../behaviors/behavior.js';
3
+ import { IFEntity } from '../../entities/if-entity.js';
3
4
  /**
4
5
  * Result of an open operation
5
6
  */
@@ -37,6 +38,15 @@ export declare class OpenableBehavior extends Behavior {
37
38
  * Check if an entity can be closed
38
39
  */
39
40
  static canClose(entity: IFEntity): boolean;
41
+ /**
42
+ * Check if this entity requires a tool to open (ADR-230 D3b;
43
+ * mirrors LockableBehavior.requiresKey)
44
+ */
45
+ static requiresTool(entity: IFEntity): boolean;
46
+ /**
47
+ * Check if a tool can open this entity (mirrors LockableBehavior.canUnlockWith)
48
+ */
49
+ static canOpenWith(entity: IFEntity, toolId: EntityId): boolean;
40
50
  /**
41
51
  * Open the entity
42
52
  * @returns Result describing what happened
@@ -1 +1 @@
1
- {"version":3,"file":"openableBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,MAAM,CAAC,cAAc,eAAwB;IAE7C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAK1C;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW;IAuB1C;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY;IA8B5C;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY;IAU3D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKxC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;CAIlD"}
1
+ {"version":3,"file":"openableBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,MAAM,CAAC,cAAc,eAAwB;IAE7C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAK1C;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAK9C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAc/D;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW;IAuB1C;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY;IA8B5C;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY;IAU3D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKxC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;CAIlD"}
@@ -2,35 +2,56 @@
2
2
  // packages/world-model/src/traits/openable/openableBehavior.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.OpenableBehavior = void 0;
5
- const behavior_1 = require("../../behaviors/behavior");
6
- const trait_types_1 = require("../trait-types");
5
+ const behavior_js_1 = require("../../behaviors/behavior.js");
6
+ const trait_types_js_1 = require("../trait-types.js");
7
7
  /**
8
8
  * Behavior for openable entities.
9
9
  *
10
10
  * Handles the logic for opening and closing entities.
11
11
  */
12
- class OpenableBehavior extends behavior_1.Behavior {
13
- static requiredTraits = [trait_types_1.TraitType.OPENABLE];
12
+ class OpenableBehavior extends behavior_js_1.Behavior {
13
+ static requiredTraits = [trait_types_js_1.TraitType.OPENABLE];
14
14
  /**
15
15
  * Check if an entity can be opened
16
16
  */
17
17
  static canOpen(entity) {
18
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
18
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
19
19
  return !openable.isOpen;
20
20
  }
21
21
  /**
22
22
  * Check if an entity can be closed
23
23
  */
24
24
  static canClose(entity) {
25
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
25
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
26
26
  return openable.isOpen && openable.canClose;
27
27
  }
28
+ /**
29
+ * Check if this entity requires a tool to open (ADR-230 D3b;
30
+ * mirrors LockableBehavior.requiresKey)
31
+ */
32
+ static requiresTool(entity) {
33
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
34
+ return !!(openable.toolId || openable.toolIds?.length);
35
+ }
36
+ /**
37
+ * Check if a tool can open this entity (mirrors LockableBehavior.canUnlockWith)
38
+ */
39
+ static canOpenWith(entity, toolId) {
40
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
41
+ if (openable.toolId === toolId) {
42
+ return true;
43
+ }
44
+ if (openable.toolIds && openable.toolIds.includes(toolId)) {
45
+ return true;
46
+ }
47
+ return false;
48
+ }
28
49
  /**
29
50
  * Open the entity
30
51
  * @returns Result describing what happened
31
52
  */
32
53
  static open(entity) {
33
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
54
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
34
55
  if (openable.isOpen) {
35
56
  return {
36
57
  success: false,
@@ -53,7 +74,7 @@ class OpenableBehavior extends behavior_1.Behavior {
53
74
  * @returns Result describing what happened
54
75
  */
55
76
  static close(entity) {
56
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
77
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
57
78
  if (!openable.isOpen) {
58
79
  return {
59
80
  success: false,
@@ -82,7 +103,7 @@ class OpenableBehavior extends behavior_1.Behavior {
82
103
  * @returns Result from either open or close
83
104
  */
84
105
  static toggle(entity) {
85
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
106
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
86
107
  if (openable.isOpen) {
87
108
  return OpenableBehavior.close(entity);
88
109
  }
@@ -94,14 +115,14 @@ class OpenableBehavior extends behavior_1.Behavior {
94
115
  * Check if entity is currently open
95
116
  */
96
117
  static isOpen(entity) {
97
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
118
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
98
119
  return openable.isOpen;
99
120
  }
100
121
  /**
101
122
  * Check if opening reveals contents
102
123
  */
103
124
  static revealsContents(entity) {
104
- const openable = OpenableBehavior.require(entity, trait_types_1.TraitType.OPENABLE);
125
+ const openable = OpenableBehavior.require(entity, trait_types_js_1.TraitType.OPENABLE);
105
126
  return openable.revealsContents;
106
127
  }
107
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openableBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openableBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableBehavior.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { ITrait } from '../trait';
1
+ import { EntityId } from '@sharpee/core';
2
+ import { ITrait } from '../trait.js';
2
3
  export interface IOpenableData {
3
4
  /** Whether the entity is currently open */
4
5
  isOpen?: boolean;
@@ -24,6 +25,10 @@ export interface IOpenableData {
24
25
  openDescription?: string;
25
26
  /** Description when closed (used by computed description getter on IFEntity) */
26
27
  closedDescription?: string;
28
+ /** Single tool entity required to open this (ADR-230 D3b; mirrors ILockableData.keyId) */
29
+ toolId?: EntityId;
30
+ /** Multiple tool entities that can open this (mirrors ILockableData.keyIds) */
31
+ toolIds?: EntityId[];
27
32
  }
28
33
  /**
29
34
  * Openable trait for entities that can be opened and closed.
@@ -47,6 +52,8 @@ export declare class OpenableTrait implements ITrait, IOpenableData {
47
52
  closeSound?: string;
48
53
  openDescription?: string;
49
54
  closedDescription?: string;
55
+ toolId?: EntityId;
56
+ toolIds?: EntityId[];
50
57
  constructor(data?: IOpenableData);
51
58
  }
52
59
  //# sourceMappingURL=openableTrait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openableTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,MAAM,EAAE,aAAa;IACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsB;IAC1C,QAAQ,CAAC,IAAI,aAAsB;IAGnC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAEf,IAAI,GAAE,aAAkB;CAerC"}
1
+ {"version":3,"file":"openableTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,MAAM,EAAE,aAAa;IACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsB;IAC1C,QAAQ,CAAC,IAAI,aAAsB;IAGnC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAET,IAAI,GAAE,aAAkB;CAiBrC"}
@@ -2,7 +2,7 @@
2
2
  // packages/world-model/src/traits/openable/openableTrait.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.OpenableTrait = void 0;
5
- const trait_types_1 = require("../trait-types");
5
+ const trait_types_js_1 = require("../trait-types.js");
6
6
  /**
7
7
  * Openable trait for entities that can be opened and closed.
8
8
  * Used for doors, containers, books, etc.
@@ -11,8 +11,8 @@ const trait_types_1 = require("../trait-types");
11
11
  * is in OpenableBehavior.
12
12
  */
13
13
  class OpenableTrait {
14
- static type = trait_types_1.TraitType.OPENABLE;
15
- type = trait_types_1.TraitType.OPENABLE;
14
+ static type = trait_types_js_1.TraitType.OPENABLE;
15
+ type = trait_types_js_1.TraitType.OPENABLE;
16
16
  // OpenableData properties
17
17
  isOpen;
18
18
  startsOpen;
@@ -26,6 +26,8 @@ class OpenableTrait {
26
26
  closeSound;
27
27
  openDescription;
28
28
  closedDescription;
29
+ toolId;
30
+ toolIds;
29
31
  constructor(data = {}) {
30
32
  // Set defaults and merge with provided data
31
33
  this.startsOpen = data.startsOpen ?? false;
@@ -40,6 +42,8 @@ class OpenableTrait {
40
42
  this.closeSound = data.closeSound;
41
43
  this.openDescription = data.openDescription;
42
44
  this.closedDescription = data.closedDescription;
45
+ this.toolId = data.toolId;
46
+ this.toolIds = data.toolIds;
43
47
  }
44
48
  }
45
49
  exports.OpenableTrait = OpenableTrait;
@@ -1 +1 @@
1
- {"version":3,"file":"openableTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableTrait.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAG5D,gDAA2C;AAwC3C;;;;;;GAMG;AACH,MAAa,aAAa;IACxB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,QAAQ,CAAC;IACjC,IAAI,GAAG,uBAAS,CAAC,QAAQ,CAAC;IAEnC,0BAA0B;IAC1B,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,eAAe,CAAU;IACzB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,iBAAiB,CAAU;IAE3B,YAAY,OAAsB,EAAE;QAClC,4CAA4C;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAClD,CAAC;;AAhCH,sCAiCC"}
1
+ {"version":3,"file":"openableTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/openable/openableTrait.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAI5D,sDAA8C;AA8C9C;;;;;;GAMG;AACH,MAAa,aAAa;IACxB,MAAM,CAAU,IAAI,GAAG,0BAAS,CAAC,QAAQ,CAAC;IACjC,IAAI,GAAG,0BAAS,CAAC,QAAQ,CAAC;IAEnC,0BAA0B;IAC1B,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,WAAW,CAAU;IACrB,YAAY,CAAU;IACtB,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,eAAe,CAAU;IACzB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,iBAAiB,CAAU;IAC3B,MAAM,CAAY;IAClB,OAAO,CAAc;IAErB,YAAY,OAAsB,EAAE;QAClC,4CAA4C;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;;AApCH,sCAqCC"}
@@ -1,2 +1,2 @@
1
- export * from './pullableTrait';
1
+ export * from './pullableTrait.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./pullableTrait"), exports);
17
+ __exportStar(require("./pullableTrait.js"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Pullable trait implementation
3
3
  */
4
- import { ITrait } from '../trait';
4
+ import { ITrait } from '../trait.js';
5
5
  export interface IPullableData {
6
6
  /**
7
7
  * Type of pullable object - determines behavior
@@ -1 +1 @@
1
- {"version":3,"file":"pullableTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/pullableTrait.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,MAAM,EAAE,aAAa;IACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsB;IAC1C,QAAQ,CAAC,IAAI,aAAsB;IAGnC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;gBAEU,IAAI,GAAE,aAAkB;CAarC"}
1
+ {"version":3,"file":"pullableTrait.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/world-model/src/traits/pullable/pullableTrait.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,MAAM,EAAE,aAAa;IACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAsB;IAC1C,QAAQ,CAAC,IAAI,aAAsB;IAGnC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;gBAEU,IAAI,GAAE,aAAkB;CAarC"}