@sharpee/world-model 0.9.60-beta → 0.9.62-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 (591) hide show
  1. package/LICENSE +21 -0
  2. package/dist-npm/annotations/index.d.ts +2 -0
  3. package/dist-npm/annotations/index.d.ts.map +1 -0
  4. package/dist-npm/annotations/index.js +18 -0
  5. package/dist-npm/annotations/index.js.map +1 -0
  6. package/dist-npm/annotations/types.d.ts +35 -0
  7. package/dist-npm/annotations/types.d.ts.map +1 -0
  8. package/dist-npm/annotations/types.js +9 -0
  9. package/dist-npm/annotations/types.js.map +1 -0
  10. package/dist-npm/capabilities/action-interceptor.d.ts +169 -0
  11. package/dist-npm/capabilities/action-interceptor.d.ts.map +1 -0
  12. package/dist-npm/capabilities/action-interceptor.js +15 -0
  13. package/dist-npm/capabilities/action-interceptor.js.map +1 -0
  14. package/{dist → dist-npm}/capabilities/index.d.ts +3 -0
  15. package/{dist → dist-npm}/capabilities/index.d.ts.map +1 -1
  16. package/{dist → dist-npm}/capabilities/index.js +17 -1
  17. package/{dist → dist-npm}/capabilities/index.js.map +1 -1
  18. package/dist-npm/capabilities/interceptor-helpers.d.ts +74 -0
  19. package/dist-npm/capabilities/interceptor-helpers.d.ts.map +1 -0
  20. package/dist-npm/capabilities/interceptor-helpers.js +111 -0
  21. package/dist-npm/capabilities/interceptor-helpers.js.map +1 -0
  22. package/dist-npm/capabilities/interceptor-registry.d.ts +125 -0
  23. package/dist-npm/capabilities/interceptor-registry.d.ts.map +1 -0
  24. package/dist-npm/capabilities/interceptor-registry.js +176 -0
  25. package/dist-npm/capabilities/interceptor-registry.js.map +1 -0
  26. package/{dist → dist-npm}/entities/if-entity.d.ts +55 -0
  27. package/dist-npm/entities/if-entity.d.ts.map +1 -0
  28. package/{dist → dist-npm}/entities/if-entity.js +123 -0
  29. package/dist-npm/entities/if-entity.js.map +1 -0
  30. package/{dist → dist-npm}/index.d.ts +1 -0
  31. package/{dist → dist-npm}/index.d.ts.map +1 -1
  32. package/{dist → dist-npm}/index.js +2 -0
  33. package/{dist → dist-npm}/index.js.map +1 -1
  34. package/{dist → dist-npm}/traits/room/roomTrait.d.ts +14 -0
  35. package/dist-npm/traits/room/roomTrait.d.ts.map +1 -0
  36. package/{dist → dist-npm}/traits/room/roomTrait.js.map +1 -1
  37. package/{dist → dist-npm}/traits/trait.d.ts +2 -0
  38. package/{dist → dist-npm}/traits/trait.d.ts.map +1 -1
  39. package/{dist → dist-npm}/traits/trait.js.map +1 -1
  40. package/{dist → dist-npm}/world/WorldModel.d.ts +31 -0
  41. package/dist-npm/world/WorldModel.d.ts.map +1 -0
  42. package/{dist → dist-npm}/world/WorldModel.js +57 -0
  43. package/dist-npm/world/WorldModel.js.map +1 -0
  44. package/package.json +22 -21
  45. package/dist/entities/if-entity.d.ts.map +0 -1
  46. package/dist/entities/if-entity.js.map +0 -1
  47. package/dist/traits/portable/portableTrait.d.ts +0 -26
  48. package/dist/traits/portable/portableTrait.d.ts.map +0 -1
  49. package/dist/traits/portable/portableTrait.js +0 -35
  50. package/dist/traits/portable/portableTrait.js.map +0 -1
  51. package/dist/traits/room/roomTrait.d.ts.map +0 -1
  52. package/dist/world/WorldModel.d.ts.map +0 -1
  53. package/dist/world/WorldModel.js.map +0 -1
  54. /package/{dist → dist-npm}/behaviors/attack.d.ts +0 -0
  55. /package/{dist → dist-npm}/behaviors/attack.d.ts.map +0 -0
  56. /package/{dist → dist-npm}/behaviors/attack.js +0 -0
  57. /package/{dist → dist-npm}/behaviors/attack.js.map +0 -0
  58. /package/{dist → dist-npm}/behaviors/behavior.d.ts +0 -0
  59. /package/{dist → dist-npm}/behaviors/behavior.d.ts.map +0 -0
  60. /package/{dist → dist-npm}/behaviors/behavior.js +0 -0
  61. /package/{dist → dist-npm}/behaviors/behavior.js.map +0 -0
  62. /package/{dist → dist-npm}/behaviors/index.d.ts +0 -0
  63. /package/{dist → dist-npm}/behaviors/index.d.ts.map +0 -0
  64. /package/{dist → dist-npm}/behaviors/index.js +0 -0
  65. /package/{dist → dist-npm}/behaviors/index.js.map +0 -0
  66. /package/{dist → dist-npm}/capabilities/capability-behavior.d.ts +0 -0
  67. /package/{dist → dist-npm}/capabilities/capability-behavior.d.ts.map +0 -0
  68. /package/{dist → dist-npm}/capabilities/capability-behavior.js +0 -0
  69. /package/{dist → dist-npm}/capabilities/capability-behavior.js.map +0 -0
  70. /package/{dist → dist-npm}/capabilities/capability-defaults.d.ts +0 -0
  71. /package/{dist → dist-npm}/capabilities/capability-defaults.d.ts.map +0 -0
  72. /package/{dist → dist-npm}/capabilities/capability-defaults.js +0 -0
  73. /package/{dist → dist-npm}/capabilities/capability-defaults.js.map +0 -0
  74. /package/{dist → dist-npm}/capabilities/capability-helpers.d.ts +0 -0
  75. /package/{dist → dist-npm}/capabilities/capability-helpers.d.ts.map +0 -0
  76. /package/{dist → dist-npm}/capabilities/capability-helpers.js +0 -0
  77. /package/{dist → dist-npm}/capabilities/capability-helpers.js.map +0 -0
  78. /package/{dist → dist-npm}/capabilities/capability-registry.d.ts +0 -0
  79. /package/{dist → dist-npm}/capabilities/capability-registry.d.ts.map +0 -0
  80. /package/{dist → dist-npm}/capabilities/capability-registry.js +0 -0
  81. /package/{dist → dist-npm}/capabilities/capability-registry.js.map +0 -0
  82. /package/{dist → dist-npm}/capabilities/entity-builder.d.ts +0 -0
  83. /package/{dist → dist-npm}/capabilities/entity-builder.d.ts.map +0 -0
  84. /package/{dist → dist-npm}/capabilities/entity-builder.js +0 -0
  85. /package/{dist → dist-npm}/capabilities/entity-builder.js.map +0 -0
  86. /package/{dist → dist-npm}/capabilities/types.d.ts +0 -0
  87. /package/{dist → dist-npm}/capabilities/types.d.ts.map +0 -0
  88. /package/{dist → dist-npm}/capabilities/types.js +0 -0
  89. /package/{dist → dist-npm}/capabilities/types.js.map +0 -0
  90. /package/{dist → dist-npm}/commands/command-types.d.ts +0 -0
  91. /package/{dist → dist-npm}/commands/command-types.d.ts.map +0 -0
  92. /package/{dist → dist-npm}/commands/command-types.js +0 -0
  93. /package/{dist → dist-npm}/commands/command-types.js.map +0 -0
  94. /package/{dist → dist-npm}/commands/index.d.ts +0 -0
  95. /package/{dist → dist-npm}/commands/index.d.ts.map +0 -0
  96. /package/{dist → dist-npm}/commands/index.js +0 -0
  97. /package/{dist → dist-npm}/commands/index.js.map +0 -0
  98. /package/{dist → dist-npm}/commands/parsed-command.d.ts +0 -0
  99. /package/{dist → dist-npm}/commands/parsed-command.d.ts.map +0 -0
  100. /package/{dist → dist-npm}/commands/parsed-command.js +0 -0
  101. /package/{dist → dist-npm}/commands/parsed-command.js.map +0 -0
  102. /package/{dist → dist-npm}/commands/validated-command.d.ts +0 -0
  103. /package/{dist → dist-npm}/commands/validated-command.d.ts.map +0 -0
  104. /package/{dist → dist-npm}/commands/validated-command.js +0 -0
  105. /package/{dist → dist-npm}/commands/validated-command.js.map +0 -0
  106. /package/{dist → dist-npm}/constants/action-failures.d.ts +0 -0
  107. /package/{dist → dist-npm}/constants/action-failures.d.ts.map +0 -0
  108. /package/{dist → dist-npm}/constants/action-failures.js +0 -0
  109. /package/{dist → dist-npm}/constants/action-failures.js.map +0 -0
  110. /package/{dist → dist-npm}/constants/directions.d.ts +0 -0
  111. /package/{dist → dist-npm}/constants/directions.d.ts.map +0 -0
  112. /package/{dist → dist-npm}/constants/directions.js +0 -0
  113. /package/{dist → dist-npm}/constants/directions.js.map +0 -0
  114. /package/{dist → dist-npm}/constants/if-events.d.ts +0 -0
  115. /package/{dist → dist-npm}/constants/if-events.d.ts.map +0 -0
  116. /package/{dist → dist-npm}/constants/if-events.js +0 -0
  117. /package/{dist → dist-npm}/constants/if-events.js.map +0 -0
  118. /package/{dist → dist-npm}/constants/index.d.ts +0 -0
  119. /package/{dist → dist-npm}/constants/index.d.ts.map +0 -0
  120. /package/{dist → dist-npm}/constants/index.js +0 -0
  121. /package/{dist → dist-npm}/constants/index.js.map +0 -0
  122. /package/{dist → dist-npm}/entities/entity-store.d.ts +0 -0
  123. /package/{dist → dist-npm}/entities/entity-store.d.ts.map +0 -0
  124. /package/{dist → dist-npm}/entities/entity-store.js +0 -0
  125. /package/{dist → dist-npm}/entities/entity-store.js.map +0 -0
  126. /package/{dist → dist-npm}/entities/entity-types.d.ts +0 -0
  127. /package/{dist → dist-npm}/entities/entity-types.d.ts.map +0 -0
  128. /package/{dist → dist-npm}/entities/entity-types.js +0 -0
  129. /package/{dist → dist-npm}/entities/entity-types.js.map +0 -0
  130. /package/{dist → dist-npm}/entities/index.d.ts +0 -0
  131. /package/{dist → dist-npm}/entities/index.d.ts.map +0 -0
  132. /package/{dist → dist-npm}/entities/index.js +0 -0
  133. /package/{dist → dist-npm}/entities/index.js.map +0 -0
  134. /package/{dist → dist-npm}/events/types.d.ts +0 -0
  135. /package/{dist → dist-npm}/events/types.d.ts.map +0 -0
  136. /package/{dist → dist-npm}/events/types.js +0 -0
  137. /package/{dist → dist-npm}/events/types.js.map +0 -0
  138. /package/{dist → dist-npm}/examples/event-handler-registration.d.ts +0 -0
  139. /package/{dist → dist-npm}/examples/event-handler-registration.d.ts.map +0 -0
  140. /package/{dist → dist-npm}/examples/event-handler-registration.js +0 -0
  141. /package/{dist → dist-npm}/examples/event-handler-registration.js.map +0 -0
  142. /package/{dist → dist-npm}/extensions/base-extension.d.ts +0 -0
  143. /package/{dist → dist-npm}/extensions/base-extension.d.ts.map +0 -0
  144. /package/{dist → dist-npm}/extensions/base-extension.js +0 -0
  145. /package/{dist → dist-npm}/extensions/base-extension.js.map +0 -0
  146. /package/{dist → dist-npm}/extensions/index.d.ts +0 -0
  147. /package/{dist → dist-npm}/extensions/index.d.ts.map +0 -0
  148. /package/{dist → dist-npm}/extensions/index.js +0 -0
  149. /package/{dist → dist-npm}/extensions/index.js.map +0 -0
  150. /package/{dist → dist-npm}/extensions/loader.d.ts +0 -0
  151. /package/{dist → dist-npm}/extensions/loader.d.ts.map +0 -0
  152. /package/{dist → dist-npm}/extensions/loader.js +0 -0
  153. /package/{dist → dist-npm}/extensions/loader.js.map +0 -0
  154. /package/{dist → dist-npm}/extensions/manager.d.ts +0 -0
  155. /package/{dist → dist-npm}/extensions/manager.d.ts.map +0 -0
  156. /package/{dist → dist-npm}/extensions/manager.js +0 -0
  157. /package/{dist → dist-npm}/extensions/manager.js.map +0 -0
  158. /package/{dist → dist-npm}/extensions/registry.d.ts +0 -0
  159. /package/{dist → dist-npm}/extensions/registry.d.ts.map +0 -0
  160. /package/{dist → dist-npm}/extensions/registry.js +0 -0
  161. /package/{dist → dist-npm}/extensions/registry.js.map +0 -0
  162. /package/{dist → dist-npm}/extensions/types.d.ts +0 -0
  163. /package/{dist → dist-npm}/extensions/types.d.ts.map +0 -0
  164. /package/{dist → dist-npm}/extensions/types.js +0 -0
  165. /package/{dist → dist-npm}/extensions/types.js.map +0 -0
  166. /package/{dist → dist-npm}/interfaces/command-executor.d.ts +0 -0
  167. /package/{dist → dist-npm}/interfaces/command-executor.d.ts.map +0 -0
  168. /package/{dist → dist-npm}/interfaces/command-executor.js +0 -0
  169. /package/{dist → dist-npm}/interfaces/command-executor.js.map +0 -0
  170. /package/{dist → dist-npm}/interfaces/command-processor.d.ts +0 -0
  171. /package/{dist → dist-npm}/interfaces/command-processor.d.ts.map +0 -0
  172. /package/{dist → dist-npm}/interfaces/command-processor.js +0 -0
  173. /package/{dist → dist-npm}/interfaces/command-processor.js.map +0 -0
  174. /package/{dist → dist-npm}/interfaces/command-validator.d.ts +0 -0
  175. /package/{dist → dist-npm}/interfaces/command-validator.d.ts.map +0 -0
  176. /package/{dist → dist-npm}/interfaces/command-validator.js +0 -0
  177. /package/{dist → dist-npm}/interfaces/command-validator.js.map +0 -0
  178. /package/{dist → dist-npm}/interfaces/index.d.ts +0 -0
  179. /package/{dist → dist-npm}/interfaces/index.d.ts.map +0 -0
  180. /package/{dist → dist-npm}/interfaces/index.js +0 -0
  181. /package/{dist → dist-npm}/interfaces/index.js.map +0 -0
  182. /package/{dist → dist-npm}/interfaces/language-provider.d.ts +0 -0
  183. /package/{dist → dist-npm}/interfaces/language-provider.d.ts.map +0 -0
  184. /package/{dist → dist-npm}/interfaces/language-provider.js +0 -0
  185. /package/{dist → dist-npm}/interfaces/language-provider.js.map +0 -0
  186. /package/{dist → dist-npm}/interfaces/parser.d.ts +0 -0
  187. /package/{dist → dist-npm}/interfaces/parser.d.ts.map +0 -0
  188. /package/{dist → dist-npm}/interfaces/parser.js +0 -0
  189. /package/{dist → dist-npm}/interfaces/parser.js.map +0 -0
  190. /package/{dist → dist-npm}/scope/index.d.ts +0 -0
  191. /package/{dist → dist-npm}/scope/index.d.ts.map +0 -0
  192. /package/{dist → dist-npm}/scope/index.js +0 -0
  193. /package/{dist → dist-npm}/scope/index.js.map +0 -0
  194. /package/{dist → dist-npm}/scope/scope-evaluator.d.ts +0 -0
  195. /package/{dist → dist-npm}/scope/scope-evaluator.d.ts.map +0 -0
  196. /package/{dist → dist-npm}/scope/scope-evaluator.js +0 -0
  197. /package/{dist → dist-npm}/scope/scope-evaluator.js.map +0 -0
  198. /package/{dist → dist-npm}/scope/scope-registry.d.ts +0 -0
  199. /package/{dist → dist-npm}/scope/scope-registry.d.ts.map +0 -0
  200. /package/{dist → dist-npm}/scope/scope-registry.js +0 -0
  201. /package/{dist → dist-npm}/scope/scope-registry.js.map +0 -0
  202. /package/{dist → dist-npm}/scope/scope-rule.d.ts +0 -0
  203. /package/{dist → dist-npm}/scope/scope-rule.d.ts.map +0 -0
  204. /package/{dist → dist-npm}/scope/scope-rule.js +0 -0
  205. /package/{dist → dist-npm}/scope/scope-rule.js.map +0 -0
  206. /package/{dist → dist-npm}/services/ScopeService.d.ts +0 -0
  207. /package/{dist → dist-npm}/services/ScopeService.d.ts.map +0 -0
  208. /package/{dist → dist-npm}/services/ScopeService.js +0 -0
  209. /package/{dist → dist-npm}/services/ScopeService.js.map +0 -0
  210. /package/{dist → dist-npm}/services/index.d.ts +0 -0
  211. /package/{dist → dist-npm}/services/index.d.ts.map +0 -0
  212. /package/{dist → dist-npm}/services/index.js +0 -0
  213. /package/{dist → dist-npm}/services/index.js.map +0 -0
  214. /package/{dist → dist-npm}/test-structure.d.ts +0 -0
  215. /package/{dist → dist-npm}/test-structure.d.ts.map +0 -0
  216. /package/{dist → dist-npm}/test-structure.js +0 -0
  217. /package/{dist → dist-npm}/test-structure.js.map +0 -0
  218. /package/{dist → dist-npm}/traits/actor/actorBehavior.d.ts +0 -0
  219. /package/{dist → dist-npm}/traits/actor/actorBehavior.d.ts.map +0 -0
  220. /package/{dist → dist-npm}/traits/actor/actorBehavior.js +0 -0
  221. /package/{dist → dist-npm}/traits/actor/actorBehavior.js.map +0 -0
  222. /package/{dist → dist-npm}/traits/actor/actorTrait.d.ts +0 -0
  223. /package/{dist → dist-npm}/traits/actor/actorTrait.d.ts.map +0 -0
  224. /package/{dist → dist-npm}/traits/actor/actorTrait.js +0 -0
  225. /package/{dist → dist-npm}/traits/actor/actorTrait.js.map +0 -0
  226. /package/{dist → dist-npm}/traits/actor/index.d.ts +0 -0
  227. /package/{dist → dist-npm}/traits/actor/index.d.ts.map +0 -0
  228. /package/{dist → dist-npm}/traits/actor/index.js +0 -0
  229. /package/{dist → dist-npm}/traits/actor/index.js.map +0 -0
  230. /package/{dist → dist-npm}/traits/all-traits.d.ts +0 -0
  231. /package/{dist → dist-npm}/traits/all-traits.d.ts.map +0 -0
  232. /package/{dist → dist-npm}/traits/all-traits.js +0 -0
  233. /package/{dist → dist-npm}/traits/all-traits.js.map +0 -0
  234. /package/{dist → dist-npm}/traits/attached/attachedTrait.d.ts +0 -0
  235. /package/{dist → dist-npm}/traits/attached/attachedTrait.d.ts.map +0 -0
  236. /package/{dist → dist-npm}/traits/attached/attachedTrait.js +0 -0
  237. /package/{dist → dist-npm}/traits/attached/attachedTrait.js.map +0 -0
  238. /package/{dist → dist-npm}/traits/attached/index.d.ts +0 -0
  239. /package/{dist → dist-npm}/traits/attached/index.d.ts.map +0 -0
  240. /package/{dist → dist-npm}/traits/attached/index.js +0 -0
  241. /package/{dist → dist-npm}/traits/attached/index.js.map +0 -0
  242. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.d.ts +0 -0
  243. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.d.ts.map +0 -0
  244. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.js +0 -0
  245. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.js.map +0 -0
  246. /package/{dist → dist-npm}/traits/breakable/breakableTrait.d.ts +0 -0
  247. /package/{dist → dist-npm}/traits/breakable/breakableTrait.d.ts.map +0 -0
  248. /package/{dist → dist-npm}/traits/breakable/breakableTrait.js +0 -0
  249. /package/{dist → dist-npm}/traits/breakable/breakableTrait.js.map +0 -0
  250. /package/{dist → dist-npm}/traits/breakable/index.d.ts +0 -0
  251. /package/{dist → dist-npm}/traits/breakable/index.d.ts.map +0 -0
  252. /package/{dist → dist-npm}/traits/breakable/index.js +0 -0
  253. /package/{dist → dist-npm}/traits/breakable/index.js.map +0 -0
  254. /package/{dist → dist-npm}/traits/button/buttonTrait.d.ts +0 -0
  255. /package/{dist → dist-npm}/traits/button/buttonTrait.d.ts.map +0 -0
  256. /package/{dist → dist-npm}/traits/button/buttonTrait.js +0 -0
  257. /package/{dist → dist-npm}/traits/button/buttonTrait.js.map +0 -0
  258. /package/{dist → dist-npm}/traits/button/index.d.ts +0 -0
  259. /package/{dist → dist-npm}/traits/button/index.d.ts.map +0 -0
  260. /package/{dist → dist-npm}/traits/button/index.js +0 -0
  261. /package/{dist → dist-npm}/traits/button/index.js.map +0 -0
  262. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.d.ts +0 -0
  263. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.d.ts.map +0 -0
  264. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.js +0 -0
  265. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.js.map +0 -0
  266. /package/{dist → dist-npm}/traits/climbable/climbableTrait.d.ts +0 -0
  267. /package/{dist → dist-npm}/traits/climbable/climbableTrait.d.ts.map +0 -0
  268. /package/{dist → dist-npm}/traits/climbable/climbableTrait.js +0 -0
  269. /package/{dist → dist-npm}/traits/climbable/climbableTrait.js.map +0 -0
  270. /package/{dist → dist-npm}/traits/climbable/index.d.ts +0 -0
  271. /package/{dist → dist-npm}/traits/climbable/index.d.ts.map +0 -0
  272. /package/{dist → dist-npm}/traits/climbable/index.js +0 -0
  273. /package/{dist → dist-npm}/traits/climbable/index.js.map +0 -0
  274. /package/{dist → dist-npm}/traits/clothing/clothingTrait.d.ts +0 -0
  275. /package/{dist → dist-npm}/traits/clothing/clothingTrait.d.ts.map +0 -0
  276. /package/{dist → dist-npm}/traits/clothing/clothingTrait.js +0 -0
  277. /package/{dist → dist-npm}/traits/clothing/clothingTrait.js.map +0 -0
  278. /package/{dist → dist-npm}/traits/clothing/index.d.ts +0 -0
  279. /package/{dist → dist-npm}/traits/clothing/index.d.ts.map +0 -0
  280. /package/{dist → dist-npm}/traits/clothing/index.js +0 -0
  281. /package/{dist → dist-npm}/traits/clothing/index.js.map +0 -0
  282. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.d.ts +0 -0
  283. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.d.ts.map +0 -0
  284. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.js +0 -0
  285. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.js.map +0 -0
  286. /package/{dist → dist-npm}/traits/combatant/combatantTrait.d.ts +0 -0
  287. /package/{dist → dist-npm}/traits/combatant/combatantTrait.d.ts.map +0 -0
  288. /package/{dist → dist-npm}/traits/combatant/combatantTrait.js +0 -0
  289. /package/{dist → dist-npm}/traits/combatant/combatantTrait.js.map +0 -0
  290. /package/{dist → dist-npm}/traits/combatant/index.d.ts +0 -0
  291. /package/{dist → dist-npm}/traits/combatant/index.d.ts.map +0 -0
  292. /package/{dist → dist-npm}/traits/combatant/index.js +0 -0
  293. /package/{dist → dist-npm}/traits/combatant/index.js.map +0 -0
  294. /package/{dist → dist-npm}/traits/container/container-utils.d.ts +0 -0
  295. /package/{dist → dist-npm}/traits/container/container-utils.d.ts.map +0 -0
  296. /package/{dist → dist-npm}/traits/container/container-utils.js +0 -0
  297. /package/{dist → dist-npm}/traits/container/container-utils.js.map +0 -0
  298. /package/{dist → dist-npm}/traits/container/containerBehavior.d.ts +0 -0
  299. /package/{dist → dist-npm}/traits/container/containerBehavior.d.ts.map +0 -0
  300. /package/{dist → dist-npm}/traits/container/containerBehavior.js +0 -0
  301. /package/{dist → dist-npm}/traits/container/containerBehavior.js.map +0 -0
  302. /package/{dist → dist-npm}/traits/container/containerTrait.d.ts +0 -0
  303. /package/{dist → dist-npm}/traits/container/containerTrait.d.ts.map +0 -0
  304. /package/{dist → dist-npm}/traits/container/containerTrait.js +0 -0
  305. /package/{dist → dist-npm}/traits/container/containerTrait.js.map +0 -0
  306. /package/{dist → dist-npm}/traits/container/index.d.ts +0 -0
  307. /package/{dist → dist-npm}/traits/container/index.d.ts.map +0 -0
  308. /package/{dist → dist-npm}/traits/container/index.js +0 -0
  309. /package/{dist → dist-npm}/traits/container/index.js.map +0 -0
  310. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.d.ts +0 -0
  311. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.d.ts.map +0 -0
  312. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.js +0 -0
  313. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.js.map +0 -0
  314. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.d.ts +0 -0
  315. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.d.ts.map +0 -0
  316. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.js +0 -0
  317. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.js.map +0 -0
  318. /package/{dist → dist-npm}/traits/destructible/index.d.ts +0 -0
  319. /package/{dist → dist-npm}/traits/destructible/index.d.ts.map +0 -0
  320. /package/{dist → dist-npm}/traits/destructible/index.js +0 -0
  321. /package/{dist → dist-npm}/traits/destructible/index.js.map +0 -0
  322. /package/{dist → dist-npm}/traits/door/doorBehavior.d.ts +0 -0
  323. /package/{dist → dist-npm}/traits/door/doorBehavior.d.ts.map +0 -0
  324. /package/{dist → dist-npm}/traits/door/doorBehavior.js +0 -0
  325. /package/{dist → dist-npm}/traits/door/doorBehavior.js.map +0 -0
  326. /package/{dist → dist-npm}/traits/door/doorTrait.d.ts +0 -0
  327. /package/{dist → dist-npm}/traits/door/doorTrait.d.ts.map +0 -0
  328. /package/{dist → dist-npm}/traits/door/doorTrait.js +0 -0
  329. /package/{dist → dist-npm}/traits/door/doorTrait.js.map +0 -0
  330. /package/{dist → dist-npm}/traits/door/index.d.ts +0 -0
  331. /package/{dist → dist-npm}/traits/door/index.d.ts.map +0 -0
  332. /package/{dist → dist-npm}/traits/door/index.js +0 -0
  333. /package/{dist → dist-npm}/traits/door/index.js.map +0 -0
  334. /package/{dist → dist-npm}/traits/edible/edibleBehavior.d.ts +0 -0
  335. /package/{dist → dist-npm}/traits/edible/edibleBehavior.d.ts.map +0 -0
  336. /package/{dist → dist-npm}/traits/edible/edibleBehavior.js +0 -0
  337. /package/{dist → dist-npm}/traits/edible/edibleBehavior.js.map +0 -0
  338. /package/{dist → dist-npm}/traits/edible/edibleTrait.d.ts +0 -0
  339. /package/{dist → dist-npm}/traits/edible/edibleTrait.d.ts.map +0 -0
  340. /package/{dist → dist-npm}/traits/edible/edibleTrait.js +0 -0
  341. /package/{dist → dist-npm}/traits/edible/edibleTrait.js.map +0 -0
  342. /package/{dist → dist-npm}/traits/edible/index.d.ts +0 -0
  343. /package/{dist → dist-npm}/traits/edible/index.d.ts.map +0 -0
  344. /package/{dist → dist-npm}/traits/edible/index.js +0 -0
  345. /package/{dist → dist-npm}/traits/edible/index.js.map +0 -0
  346. /package/{dist → dist-npm}/traits/enterable/enterableTrait.d.ts +0 -0
  347. /package/{dist → dist-npm}/traits/enterable/enterableTrait.d.ts.map +0 -0
  348. /package/{dist → dist-npm}/traits/enterable/enterableTrait.js +0 -0
  349. /package/{dist → dist-npm}/traits/enterable/enterableTrait.js.map +0 -0
  350. /package/{dist → dist-npm}/traits/enterable/index.d.ts +0 -0
  351. /package/{dist → dist-npm}/traits/enterable/index.d.ts.map +0 -0
  352. /package/{dist → dist-npm}/traits/enterable/index.js +0 -0
  353. /package/{dist → dist-npm}/traits/enterable/index.js.map +0 -0
  354. /package/{dist → dist-npm}/traits/equipped/equippedTrait.d.ts +0 -0
  355. /package/{dist → dist-npm}/traits/equipped/equippedTrait.d.ts.map +0 -0
  356. /package/{dist → dist-npm}/traits/equipped/equippedTrait.js +0 -0
  357. /package/{dist → dist-npm}/traits/equipped/equippedTrait.js.map +0 -0
  358. /package/{dist → dist-npm}/traits/equipped/index.d.ts +0 -0
  359. /package/{dist → dist-npm}/traits/equipped/index.d.ts.map +0 -0
  360. /package/{dist → dist-npm}/traits/equipped/index.js +0 -0
  361. /package/{dist → dist-npm}/traits/equipped/index.js.map +0 -0
  362. /package/{dist → dist-npm}/traits/exit/exitBehavior.d.ts +0 -0
  363. /package/{dist → dist-npm}/traits/exit/exitBehavior.d.ts.map +0 -0
  364. /package/{dist → dist-npm}/traits/exit/exitBehavior.js +0 -0
  365. /package/{dist → dist-npm}/traits/exit/exitBehavior.js.map +0 -0
  366. /package/{dist → dist-npm}/traits/exit/exitTrait.d.ts +0 -0
  367. /package/{dist → dist-npm}/traits/exit/exitTrait.d.ts.map +0 -0
  368. /package/{dist → dist-npm}/traits/exit/exitTrait.js +0 -0
  369. /package/{dist → dist-npm}/traits/exit/exitTrait.js.map +0 -0
  370. /package/{dist → dist-npm}/traits/exit/index.d.ts +0 -0
  371. /package/{dist → dist-npm}/traits/exit/index.d.ts.map +0 -0
  372. /package/{dist → dist-npm}/traits/exit/index.js +0 -0
  373. /package/{dist → dist-npm}/traits/exit/index.js.map +0 -0
  374. /package/{dist → dist-npm}/traits/identity/identityBehavior.d.ts +0 -0
  375. /package/{dist → dist-npm}/traits/identity/identityBehavior.d.ts.map +0 -0
  376. /package/{dist → dist-npm}/traits/identity/identityBehavior.js +0 -0
  377. /package/{dist → dist-npm}/traits/identity/identityBehavior.js.map +0 -0
  378. /package/{dist → dist-npm}/traits/identity/identityTrait.d.ts +0 -0
  379. /package/{dist → dist-npm}/traits/identity/identityTrait.d.ts.map +0 -0
  380. /package/{dist → dist-npm}/traits/identity/identityTrait.js +0 -0
  381. /package/{dist → dist-npm}/traits/identity/identityTrait.js.map +0 -0
  382. /package/{dist → dist-npm}/traits/identity/index.d.ts +0 -0
  383. /package/{dist → dist-npm}/traits/identity/index.d.ts.map +0 -0
  384. /package/{dist → dist-npm}/traits/identity/index.js +0 -0
  385. /package/{dist → dist-npm}/traits/identity/index.js.map +0 -0
  386. /package/{dist → dist-npm}/traits/implementations.d.ts +0 -0
  387. /package/{dist → dist-npm}/traits/implementations.d.ts.map +0 -0
  388. /package/{dist → dist-npm}/traits/implementations.js +0 -0
  389. /package/{dist → dist-npm}/traits/implementations.js.map +0 -0
  390. /package/{dist → dist-npm}/traits/index.d.ts +0 -0
  391. /package/{dist → dist-npm}/traits/index.d.ts.map +0 -0
  392. /package/{dist → dist-npm}/traits/index.js +0 -0
  393. /package/{dist → dist-npm}/traits/index.js.map +0 -0
  394. /package/{dist → dist-npm}/traits/light-source/index.d.ts +0 -0
  395. /package/{dist → dist-npm}/traits/light-source/index.d.ts.map +0 -0
  396. /package/{dist → dist-npm}/traits/light-source/index.js +0 -0
  397. /package/{dist → dist-npm}/traits/light-source/index.js.map +0 -0
  398. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.d.ts +0 -0
  399. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.d.ts.map +0 -0
  400. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.js +0 -0
  401. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.js.map +0 -0
  402. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.d.ts +0 -0
  403. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.d.ts.map +0 -0
  404. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.js +0 -0
  405. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.js.map +0 -0
  406. /package/{dist → dist-npm}/traits/lockable/index.d.ts +0 -0
  407. /package/{dist → dist-npm}/traits/lockable/index.d.ts.map +0 -0
  408. /package/{dist → dist-npm}/traits/lockable/index.js +0 -0
  409. /package/{dist → dist-npm}/traits/lockable/index.js.map +0 -0
  410. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.d.ts +0 -0
  411. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.d.ts.map +0 -0
  412. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.js +0 -0
  413. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.js.map +0 -0
  414. /package/{dist → dist-npm}/traits/lockable/lockableTrait.d.ts +0 -0
  415. /package/{dist → dist-npm}/traits/lockable/lockableTrait.d.ts.map +0 -0
  416. /package/{dist → dist-npm}/traits/lockable/lockableTrait.js +0 -0
  417. /package/{dist → dist-npm}/traits/lockable/lockableTrait.js.map +0 -0
  418. /package/{dist → dist-npm}/traits/moveable-scenery/index.d.ts +0 -0
  419. /package/{dist → dist-npm}/traits/moveable-scenery/index.d.ts.map +0 -0
  420. /package/{dist → dist-npm}/traits/moveable-scenery/index.js +0 -0
  421. /package/{dist → dist-npm}/traits/moveable-scenery/index.js.map +0 -0
  422. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.d.ts +0 -0
  423. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +0 -0
  424. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.js +0 -0
  425. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.js.map +0 -0
  426. /package/{dist → dist-npm}/traits/npc/index.d.ts +0 -0
  427. /package/{dist → dist-npm}/traits/npc/index.d.ts.map +0 -0
  428. /package/{dist → dist-npm}/traits/npc/index.js +0 -0
  429. /package/{dist → dist-npm}/traits/npc/index.js.map +0 -0
  430. /package/{dist → dist-npm}/traits/npc/npcTrait.d.ts +0 -0
  431. /package/{dist → dist-npm}/traits/npc/npcTrait.d.ts.map +0 -0
  432. /package/{dist → dist-npm}/traits/npc/npcTrait.js +0 -0
  433. /package/{dist → dist-npm}/traits/npc/npcTrait.js.map +0 -0
  434. /package/{dist → dist-npm}/traits/openable/index.d.ts +0 -0
  435. /package/{dist → dist-npm}/traits/openable/index.d.ts.map +0 -0
  436. /package/{dist → dist-npm}/traits/openable/index.js +0 -0
  437. /package/{dist → dist-npm}/traits/openable/index.js.map +0 -0
  438. /package/{dist → dist-npm}/traits/openable/openableBehavior.d.ts +0 -0
  439. /package/{dist → dist-npm}/traits/openable/openableBehavior.d.ts.map +0 -0
  440. /package/{dist → dist-npm}/traits/openable/openableBehavior.js +0 -0
  441. /package/{dist → dist-npm}/traits/openable/openableBehavior.js.map +0 -0
  442. /package/{dist → dist-npm}/traits/openable/openableTrait.d.ts +0 -0
  443. /package/{dist → dist-npm}/traits/openable/openableTrait.d.ts.map +0 -0
  444. /package/{dist → dist-npm}/traits/openable/openableTrait.js +0 -0
  445. /package/{dist → dist-npm}/traits/openable/openableTrait.js.map +0 -0
  446. /package/{dist → dist-npm}/traits/pullable/index.d.ts +0 -0
  447. /package/{dist → dist-npm}/traits/pullable/index.d.ts.map +0 -0
  448. /package/{dist → dist-npm}/traits/pullable/index.js +0 -0
  449. /package/{dist → dist-npm}/traits/pullable/index.js.map +0 -0
  450. /package/{dist → dist-npm}/traits/pullable/pullableTrait.d.ts +0 -0
  451. /package/{dist → dist-npm}/traits/pullable/pullableTrait.d.ts.map +0 -0
  452. /package/{dist → dist-npm}/traits/pullable/pullableTrait.js +0 -0
  453. /package/{dist → dist-npm}/traits/pullable/pullableTrait.js.map +0 -0
  454. /package/{dist → dist-npm}/traits/pushable/index.d.ts +0 -0
  455. /package/{dist → dist-npm}/traits/pushable/index.d.ts.map +0 -0
  456. /package/{dist → dist-npm}/traits/pushable/index.js +0 -0
  457. /package/{dist → dist-npm}/traits/pushable/index.js.map +0 -0
  458. /package/{dist → dist-npm}/traits/pushable/pushableTrait.d.ts +0 -0
  459. /package/{dist → dist-npm}/traits/pushable/pushableTrait.d.ts.map +0 -0
  460. /package/{dist → dist-npm}/traits/pushable/pushableTrait.js +0 -0
  461. /package/{dist → dist-npm}/traits/pushable/pushableTrait.js.map +0 -0
  462. /package/{dist → dist-npm}/traits/readable/index.d.ts +0 -0
  463. /package/{dist → dist-npm}/traits/readable/index.d.ts.map +0 -0
  464. /package/{dist → dist-npm}/traits/readable/index.js +0 -0
  465. /package/{dist → dist-npm}/traits/readable/index.js.map +0 -0
  466. /package/{dist → dist-npm}/traits/readable/readableBehavior.d.ts +0 -0
  467. /package/{dist → dist-npm}/traits/readable/readableBehavior.d.ts.map +0 -0
  468. /package/{dist → dist-npm}/traits/readable/readableBehavior.js +0 -0
  469. /package/{dist → dist-npm}/traits/readable/readableBehavior.js.map +0 -0
  470. /package/{dist → dist-npm}/traits/readable/readableTrait.d.ts +0 -0
  471. /package/{dist → dist-npm}/traits/readable/readableTrait.d.ts.map +0 -0
  472. /package/{dist → dist-npm}/traits/readable/readableTrait.js +0 -0
  473. /package/{dist → dist-npm}/traits/readable/readableTrait.js.map +0 -0
  474. /package/{dist → dist-npm}/traits/register-all.d.ts +0 -0
  475. /package/{dist → dist-npm}/traits/register-all.d.ts.map +0 -0
  476. /package/{dist → dist-npm}/traits/register-all.js +0 -0
  477. /package/{dist → dist-npm}/traits/register-all.js.map +0 -0
  478. /package/{dist → dist-npm}/traits/room/index.d.ts +0 -0
  479. /package/{dist → dist-npm}/traits/room/index.d.ts.map +0 -0
  480. /package/{dist → dist-npm}/traits/room/index.js +0 -0
  481. /package/{dist → dist-npm}/traits/room/index.js.map +0 -0
  482. /package/{dist → dist-npm}/traits/room/roomBehavior.d.ts +0 -0
  483. /package/{dist → dist-npm}/traits/room/roomBehavior.d.ts.map +0 -0
  484. /package/{dist → dist-npm}/traits/room/roomBehavior.js +0 -0
  485. /package/{dist → dist-npm}/traits/room/roomBehavior.js.map +0 -0
  486. /package/{dist → dist-npm}/traits/room/roomTrait.js +0 -0
  487. /package/{dist → dist-npm}/traits/scenery/index.d.ts +0 -0
  488. /package/{dist → dist-npm}/traits/scenery/index.d.ts.map +0 -0
  489. /package/{dist → dist-npm}/traits/scenery/index.js +0 -0
  490. /package/{dist → dist-npm}/traits/scenery/index.js.map +0 -0
  491. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.d.ts +0 -0
  492. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.d.ts.map +0 -0
  493. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.js +0 -0
  494. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.js.map +0 -0
  495. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.d.ts +0 -0
  496. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.d.ts.map +0 -0
  497. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.js +0 -0
  498. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.js.map +0 -0
  499. /package/{dist → dist-npm}/traits/supporter/index.d.ts +0 -0
  500. /package/{dist → dist-npm}/traits/supporter/index.d.ts.map +0 -0
  501. /package/{dist → dist-npm}/traits/supporter/index.js +0 -0
  502. /package/{dist → dist-npm}/traits/supporter/index.js.map +0 -0
  503. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.d.ts +0 -0
  504. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.d.ts.map +0 -0
  505. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.js +0 -0
  506. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.js.map +0 -0
  507. /package/{dist → dist-npm}/traits/supporter/supporterTrait.d.ts +0 -0
  508. /package/{dist → dist-npm}/traits/supporter/supporterTrait.d.ts.map +0 -0
  509. /package/{dist → dist-npm}/traits/supporter/supporterTrait.js +0 -0
  510. /package/{dist → dist-npm}/traits/supporter/supporterTrait.js.map +0 -0
  511. /package/{dist → dist-npm}/traits/switchable/index.d.ts +0 -0
  512. /package/{dist → dist-npm}/traits/switchable/index.d.ts.map +0 -0
  513. /package/{dist → dist-npm}/traits/switchable/index.js +0 -0
  514. /package/{dist → dist-npm}/traits/switchable/index.js.map +0 -0
  515. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.d.ts +0 -0
  516. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.d.ts.map +0 -0
  517. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.js +0 -0
  518. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.js.map +0 -0
  519. /package/{dist → dist-npm}/traits/switchable/switchableTrait.d.ts +0 -0
  520. /package/{dist → dist-npm}/traits/switchable/switchableTrait.d.ts.map +0 -0
  521. /package/{dist → dist-npm}/traits/switchable/switchableTrait.js +0 -0
  522. /package/{dist → dist-npm}/traits/switchable/switchableTrait.js.map +0 -0
  523. /package/{dist → dist-npm}/traits/trait-types.d.ts +0 -0
  524. /package/{dist → dist-npm}/traits/trait-types.d.ts.map +0 -0
  525. /package/{dist → dist-npm}/traits/trait-types.js +0 -0
  526. /package/{dist → dist-npm}/traits/trait-types.js.map +0 -0
  527. /package/{dist → dist-npm}/traits/trait.js +0 -0
  528. /package/{dist → dist-npm}/traits/vehicle/index.d.ts +0 -0
  529. /package/{dist → dist-npm}/traits/vehicle/index.d.ts.map +0 -0
  530. /package/{dist → dist-npm}/traits/vehicle/index.js +0 -0
  531. /package/{dist → dist-npm}/traits/vehicle/index.js.map +0 -0
  532. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.d.ts +0 -0
  533. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.d.ts.map +0 -0
  534. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.js +0 -0
  535. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.js.map +0 -0
  536. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.d.ts +0 -0
  537. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.d.ts.map +0 -0
  538. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.js +0 -0
  539. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.js.map +0 -0
  540. /package/{dist → dist-npm}/traits/weapon/index.d.ts +0 -0
  541. /package/{dist → dist-npm}/traits/weapon/index.d.ts.map +0 -0
  542. /package/{dist → dist-npm}/traits/weapon/index.js +0 -0
  543. /package/{dist → dist-npm}/traits/weapon/index.js.map +0 -0
  544. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.d.ts +0 -0
  545. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.d.ts.map +0 -0
  546. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.js +0 -0
  547. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.js.map +0 -0
  548. /package/{dist → dist-npm}/traits/weapon/weaponTrait.d.ts +0 -0
  549. /package/{dist → dist-npm}/traits/weapon/weaponTrait.d.ts.map +0 -0
  550. /package/{dist → dist-npm}/traits/weapon/weaponTrait.js +0 -0
  551. /package/{dist → dist-npm}/traits/weapon/weaponTrait.js.map +0 -0
  552. /package/{dist → dist-npm}/traits/wearable/index.d.ts +0 -0
  553. /package/{dist → dist-npm}/traits/wearable/index.d.ts.map +0 -0
  554. /package/{dist → dist-npm}/traits/wearable/index.js +0 -0
  555. /package/{dist → dist-npm}/traits/wearable/index.js.map +0 -0
  556. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.d.ts +0 -0
  557. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.d.ts.map +0 -0
  558. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.js +0 -0
  559. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.js.map +0 -0
  560. /package/{dist → dist-npm}/traits/wearable/wearableTrait.d.ts +0 -0
  561. /package/{dist → dist-npm}/traits/wearable/wearableTrait.d.ts.map +0 -0
  562. /package/{dist → dist-npm}/traits/wearable/wearableTrait.js +0 -0
  563. /package/{dist → dist-npm}/traits/wearable/wearableTrait.js.map +0 -0
  564. /package/{dist → dist-npm}/utils/event-utils.d.ts +0 -0
  565. /package/{dist → dist-npm}/utils/event-utils.d.ts.map +0 -0
  566. /package/{dist → dist-npm}/utils/event-utils.js +0 -0
  567. /package/{dist → dist-npm}/utils/event-utils.js.map +0 -0
  568. /package/{dist → dist-npm}/world/AuthorModel.d.ts +0 -0
  569. /package/{dist → dist-npm}/world/AuthorModel.d.ts.map +0 -0
  570. /package/{dist → dist-npm}/world/AuthorModel.js +0 -0
  571. /package/{dist → dist-npm}/world/AuthorModel.js.map +0 -0
  572. /package/{dist → dist-npm}/world/SharedDataStore.d.ts +0 -0
  573. /package/{dist → dist-npm}/world/SharedDataStore.d.ts.map +0 -0
  574. /package/{dist → dist-npm}/world/SharedDataStore.js +0 -0
  575. /package/{dist → dist-npm}/world/SharedDataStore.js.map +0 -0
  576. /package/{dist → dist-npm}/world/SpatialIndex.d.ts +0 -0
  577. /package/{dist → dist-npm}/world/SpatialIndex.d.ts.map +0 -0
  578. /package/{dist → dist-npm}/world/SpatialIndex.js +0 -0
  579. /package/{dist → dist-npm}/world/SpatialIndex.js.map +0 -0
  580. /package/{dist → dist-npm}/world/VisibilityBehavior.d.ts +0 -0
  581. /package/{dist → dist-npm}/world/VisibilityBehavior.d.ts.map +0 -0
  582. /package/{dist → dist-npm}/world/VisibilityBehavior.js +0 -0
  583. /package/{dist → dist-npm}/world/VisibilityBehavior.js.map +0 -0
  584. /package/{dist → dist-npm}/world/capabilities.d.ts +0 -0
  585. /package/{dist → dist-npm}/world/capabilities.d.ts.map +0 -0
  586. /package/{dist → dist-npm}/world/capabilities.js +0 -0
  587. /package/{dist → dist-npm}/world/capabilities.js.map +0 -0
  588. /package/{dist → dist-npm}/world/index.d.ts +0 -0
  589. /package/{dist → dist-npm}/world/index.d.ts.map +0 -0
  590. /package/{dist → dist-npm}/world/index.js +0 -0
  591. /package/{dist → dist-npm}/world/index.js.map +0 -0
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Interceptor Registry (ADR-118)
3
+ *
4
+ * Registry for trait-interceptor bindings. Stories register interceptors
5
+ * for their traits, and stdlib actions look them up at runtime.
6
+ *
7
+ * Mirrors capability-registry.ts pattern but for interceptors instead
8
+ * of full-delegation behaviors.
9
+ */
10
+ import { ITrait } from '../traits/trait';
11
+ import { ActionInterceptor } from './action-interceptor';
12
+ /**
13
+ * Options for registering an action interceptor.
14
+ */
15
+ export interface InterceptorRegistrationOptions {
16
+ /** Priority for resolution (higher = checked first). Default: 0 */
17
+ priority?: number;
18
+ }
19
+ /**
20
+ * Binding between a trait type, action, and interceptor.
21
+ */
22
+ export interface TraitInterceptorBinding {
23
+ /** Trait type identifier */
24
+ traitType: string;
25
+ /** Action ID this interceptor handles */
26
+ actionId: string;
27
+ /** The interceptor that handles this trait+action */
28
+ interceptor: ActionInterceptor;
29
+ /** Priority for resolution (higher = checked first) */
30
+ priority: number;
31
+ }
32
+ /**
33
+ * Register an interceptor for a trait+action combination.
34
+ *
35
+ * Stories call this to register their interceptors during initialization.
36
+ * Each trait+action pair can only have one interceptor registered.
37
+ *
38
+ * @param traitType - The trait type identifier (e.g., 'dungeo.trait.inflatable')
39
+ * @param actionId - The action ID (e.g., 'if.action.entering')
40
+ * @param interceptor - The interceptor implementation
41
+ * @param options - Optional configuration (priority)
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Register boat puncture interceptor
46
+ * registerActionInterceptor(
47
+ * InflatableTrait.type,
48
+ * 'if.action.entering',
49
+ * InflatableEnteringInterceptor
50
+ * );
51
+ *
52
+ * // With priority
53
+ * registerActionInterceptor(
54
+ * TrollGuardianTrait.type,
55
+ * 'if.action.going',
56
+ * TrollGoingInterceptor,
57
+ * { priority: 100 }
58
+ * );
59
+ * ```
60
+ */
61
+ export declare function registerActionInterceptor(traitType: string, actionId: string, interceptor: ActionInterceptor, options?: InterceptorRegistrationOptions): void;
62
+ /**
63
+ * Result from looking up an interceptor for an entity+action.
64
+ */
65
+ export interface InterceptorLookupResult {
66
+ /** The interceptor */
67
+ interceptor: ActionInterceptor;
68
+ /** The trait that declared this interceptor */
69
+ trait: ITrait;
70
+ /** The binding metadata */
71
+ binding: TraitInterceptorBinding;
72
+ }
73
+ /**
74
+ * Get interceptor for an entity and action.
75
+ *
76
+ * Finds a trait on the entity that has an interceptor registered for
77
+ * the given action. Looks up by trait type string in the registry.
78
+ *
79
+ * @param entity - The entity to check
80
+ * @param actionId - The action ID
81
+ * @returns The interceptor and trait, or undefined if not found
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const result = getInterceptorForAction(boat, 'if.action.entering');
86
+ * if (result) {
87
+ * const { interceptor, trait, binding } = result;
88
+ * // Call interceptor hooks during action execution
89
+ * }
90
+ * ```
91
+ */
92
+ export declare function getInterceptorForAction(entity: {
93
+ traits: Map<string, ITrait>;
94
+ }, actionId: string): InterceptorLookupResult | undefined;
95
+ /**
96
+ * Get the interceptor binding for a trait type and action.
97
+ *
98
+ * @param traitType - The trait type identifier
99
+ * @param actionId - The action ID
100
+ * @returns The binding, or undefined if not registered
101
+ */
102
+ export declare function getInterceptorBinding(traitType: string, actionId: string): TraitInterceptorBinding | undefined;
103
+ /**
104
+ * Check if an interceptor is registered for a trait+action.
105
+ *
106
+ * @param traitType - The trait type identifier
107
+ * @param actionId - The action ID
108
+ */
109
+ export declare function hasActionInterceptor(traitType: string, actionId: string): boolean;
110
+ /**
111
+ * Unregister an interceptor (primarily for testing).
112
+ *
113
+ * @param traitType - The trait type identifier
114
+ * @param actionId - The action ID
115
+ */
116
+ export declare function unregisterActionInterceptor(traitType: string, actionId: string): void;
117
+ /**
118
+ * Clear all registered interceptors (for testing).
119
+ */
120
+ export declare function clearInterceptorRegistry(): void;
121
+ /**
122
+ * Get all registered interceptor bindings (for debugging/introspection).
123
+ */
124
+ export declare function getAllInterceptorBindings(): Map<string, TraitInterceptorBinding>;
125
+ //# sourceMappingURL=interceptor-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptor-registry.d.ts","sourceRoot":"","sources":["../../src/capabilities/interceptor-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,8BAA8B,GACvC,IAAI,CAeN;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sBAAsB;IACtB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACvC,QAAQ,EAAE,MAAM,GACf,uBAAuB,GAAG,SAAS,CA4BrC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,uBAAuB,GAAG,SAAS,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAEhF"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * Interceptor Registry (ADR-118)
4
+ *
5
+ * Registry for trait-interceptor bindings. Stories register interceptors
6
+ * for their traits, and stdlib actions look them up at runtime.
7
+ *
8
+ * Mirrors capability-registry.ts pattern but for interceptors instead
9
+ * of full-delegation behaviors.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.registerActionInterceptor = registerActionInterceptor;
13
+ exports.getInterceptorForAction = getInterceptorForAction;
14
+ exports.getInterceptorBinding = getInterceptorBinding;
15
+ exports.hasActionInterceptor = hasActionInterceptor;
16
+ exports.unregisterActionInterceptor = unregisterActionInterceptor;
17
+ exports.clearInterceptorRegistry = clearInterceptorRegistry;
18
+ exports.getAllInterceptorBindings = getAllInterceptorBindings;
19
+ /**
20
+ * Registry storage: key = `${traitType}:${actionId}`
21
+ * Uses globalThis to ensure the registry is shared across module boundaries
22
+ * (e.g., when story modules import from packages but actions run from bundle)
23
+ */
24
+ const INTERCEPTOR_REGISTRY_KEY = '__sharpee_interceptor_registry__';
25
+ // Use globalThis to share registry across module instances
26
+ function getInterceptorRegistry() {
27
+ const global = globalThis;
28
+ if (!global[INTERCEPTOR_REGISTRY_KEY]) {
29
+ global[INTERCEPTOR_REGISTRY_KEY] = new Map();
30
+ }
31
+ return global[INTERCEPTOR_REGISTRY_KEY];
32
+ }
33
+ // For backwards compatibility, expose as const (but delegates to globalThis)
34
+ const interceptorRegistry = {
35
+ get size() { return getInterceptorRegistry().size; },
36
+ has(key) { return getInterceptorRegistry().has(key); },
37
+ get(key) { return getInterceptorRegistry().get(key); },
38
+ set(key, value) { return getInterceptorRegistry().set(key, value); },
39
+ delete(key) { return getInterceptorRegistry().delete(key); },
40
+ clear() { return getInterceptorRegistry().clear(); },
41
+ keys() { return getInterceptorRegistry().keys(); },
42
+ values() { return getInterceptorRegistry().values(); },
43
+ entries() { return getInterceptorRegistry().entries(); },
44
+ [Symbol.iterator]() { return getInterceptorRegistry()[Symbol.iterator](); }
45
+ };
46
+ /**
47
+ * Generate registry key for trait+action combination.
48
+ */
49
+ function registryKey(traitType, actionId) {
50
+ return `${traitType}:${actionId}`;
51
+ }
52
+ /**
53
+ * Register an interceptor for a trait+action combination.
54
+ *
55
+ * Stories call this to register their interceptors during initialization.
56
+ * Each trait+action pair can only have one interceptor registered.
57
+ *
58
+ * @param traitType - The trait type identifier (e.g., 'dungeo.trait.inflatable')
59
+ * @param actionId - The action ID (e.g., 'if.action.entering')
60
+ * @param interceptor - The interceptor implementation
61
+ * @param options - Optional configuration (priority)
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Register boat puncture interceptor
66
+ * registerActionInterceptor(
67
+ * InflatableTrait.type,
68
+ * 'if.action.entering',
69
+ * InflatableEnteringInterceptor
70
+ * );
71
+ *
72
+ * // With priority
73
+ * registerActionInterceptor(
74
+ * TrollGuardianTrait.type,
75
+ * 'if.action.going',
76
+ * TrollGoingInterceptor,
77
+ * { priority: 100 }
78
+ * );
79
+ * ```
80
+ */
81
+ function registerActionInterceptor(traitType, actionId, interceptor, options) {
82
+ const key = registryKey(traitType, actionId);
83
+ if (interceptorRegistry.has(key)) {
84
+ throw new Error(`Interceptor already registered for trait "${traitType}" and action "${actionId}"`);
85
+ }
86
+ interceptorRegistry.set(key, {
87
+ traitType,
88
+ actionId,
89
+ interceptor,
90
+ priority: options?.priority ?? 0
91
+ });
92
+ }
93
+ /**
94
+ * Get interceptor for an entity and action.
95
+ *
96
+ * Finds a trait on the entity that has an interceptor registered for
97
+ * the given action. Looks up by trait type string in the registry.
98
+ *
99
+ * @param entity - The entity to check
100
+ * @param actionId - The action ID
101
+ * @returns The interceptor and trait, or undefined if not found
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const result = getInterceptorForAction(boat, 'if.action.entering');
106
+ * if (result) {
107
+ * const { interceptor, trait, binding } = result;
108
+ * // Call interceptor hooks during action execution
109
+ * }
110
+ * ```
111
+ */
112
+ function getInterceptorForAction(entity, actionId) {
113
+ // Find all traits that have an interceptor registered for this action
114
+ const candidates = [];
115
+ for (const trait of entity.traits.values()) {
116
+ // Look up interceptor by trait type string (more reliable than static property)
117
+ const traitType = trait.type;
118
+ const key = registryKey(traitType, actionId);
119
+ const binding = interceptorRegistry.get(key);
120
+ if (binding) {
121
+ candidates.push({ trait, binding });
122
+ }
123
+ }
124
+ if (candidates.length === 0) {
125
+ return undefined;
126
+ }
127
+ // Sort by priority (highest first) and return the first one
128
+ candidates.sort((a, b) => b.binding.priority - a.binding.priority);
129
+ const { trait, binding } = candidates[0];
130
+ return {
131
+ interceptor: binding.interceptor,
132
+ trait,
133
+ binding
134
+ };
135
+ }
136
+ /**
137
+ * Get the interceptor binding for a trait type and action.
138
+ *
139
+ * @param traitType - The trait type identifier
140
+ * @param actionId - The action ID
141
+ * @returns The binding, or undefined if not registered
142
+ */
143
+ function getInterceptorBinding(traitType, actionId) {
144
+ return interceptorRegistry.get(registryKey(traitType, actionId));
145
+ }
146
+ /**
147
+ * Check if an interceptor is registered for a trait+action.
148
+ *
149
+ * @param traitType - The trait type identifier
150
+ * @param actionId - The action ID
151
+ */
152
+ function hasActionInterceptor(traitType, actionId) {
153
+ return interceptorRegistry.has(registryKey(traitType, actionId));
154
+ }
155
+ /**
156
+ * Unregister an interceptor (primarily for testing).
157
+ *
158
+ * @param traitType - The trait type identifier
159
+ * @param actionId - The action ID
160
+ */
161
+ function unregisterActionInterceptor(traitType, actionId) {
162
+ interceptorRegistry.delete(registryKey(traitType, actionId));
163
+ }
164
+ /**
165
+ * Clear all registered interceptors (for testing).
166
+ */
167
+ function clearInterceptorRegistry() {
168
+ interceptorRegistry.clear();
169
+ }
170
+ /**
171
+ * Get all registered interceptor bindings (for debugging/introspection).
172
+ */
173
+ function getAllInterceptorBindings() {
174
+ return new Map(interceptorRegistry);
175
+ }
176
+ //# sourceMappingURL=interceptor-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptor-registry.js","sourceRoot":"","sources":["../../src/capabilities/interceptor-registry.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { IEntity, EntityId, IEntityCreationParams } from '@sharpee/core';
2
2
  import { ITrait, ITraitConstructor } from '../traits/trait';
3
3
  import { TraitType } from '../traits/trait-types';
4
4
  import { IEventHandlers } from '../events/types';
5
+ import { Annotation, AnnotationCondition } from '../annotations/types';
5
6
  /**
6
7
  * Interactive Fiction Entity with trait-based composition.
7
8
  * Implements the core Entity interface and adds trait management capabilities.
@@ -31,6 +32,12 @@ export declare class IFEntity implements IEntity {
31
32
  * - butterfly.setMinimumScope(3, ['garden']) - reachable in garden
32
33
  */
33
34
  private minimumScopes;
35
+ /**
36
+ * Presentation metadata annotations (ADR-124).
37
+ * Keyed by kind (e.g., 'illustration', 'portrait', 'voice').
38
+ * Multiple annotations per kind are supported.
39
+ */
40
+ private annotations;
34
41
  /**
35
42
  * Event handlers for this entity
36
43
  * Key is the event type (e.g., 'if.event.pushed')
@@ -158,6 +165,54 @@ export declare class IFEntity implements IEntity {
158
165
  * Get all minimum scopes for serialization
159
166
  */
160
167
  getMinimumScopes(): Record<string, number>;
168
+ /**
169
+ * Add a presentation annotation to this entity.
170
+ *
171
+ * @param kind - Annotation kind (e.g., 'illustration', 'portrait')
172
+ * @param data - Kind-specific payload. Must include an `id` field.
173
+ * @param condition - Optional condition for when this annotation is active
174
+ *
175
+ * @example
176
+ * entity.annotate('illustration', {
177
+ * id: 'dam-exterior',
178
+ * src: 'dam-dry.jpg',
179
+ * alt: 'The massive concrete face of Flood Control Dam #3',
180
+ * trigger: 'on-enter',
181
+ * position: 'right',
182
+ * });
183
+ */
184
+ annotate(kind: string, data: Record<string, unknown> & {
185
+ id: string;
186
+ }, condition?: AnnotationCondition): this;
187
+ /**
188
+ * Get all annotations of a given kind (unfiltered).
189
+ */
190
+ getAnnotations(kind: string): Annotation[];
191
+ /**
192
+ * Get annotations whose conditions are currently met.
193
+ * Requires a world model reference to resolve trait state on self/player/location.
194
+ *
195
+ * @param kind - Annotation kind to query
196
+ * @param world - World model for condition evaluation (must have getEntity, getPlayer, getLocation)
197
+ */
198
+ getActiveAnnotations(kind: string, world: {
199
+ getEntity(id: string): IFEntity | undefined;
200
+ getPlayer(): IFEntity | undefined;
201
+ getLocation(entityId: string): string | undefined;
202
+ }): Annotation[];
203
+ /**
204
+ * Remove a specific annotation by kind and id.
205
+ * @returns true if the annotation was found and removed
206
+ */
207
+ removeAnnotation(kind: string, id: string): boolean;
208
+ /**
209
+ * Check if entity has any annotations of a given kind.
210
+ */
211
+ hasAnnotations(kind: string): boolean;
212
+ /**
213
+ * Evaluate an annotation condition against current world state.
214
+ */
215
+ private evaluateCondition;
161
216
  /**
162
217
  * Clone this entity with all its traits
163
218
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-entity.d.ts","sourceRoot":"","sources":["../../src/entities/if-entity.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,12 @@ class IFEntity {
33
33
  * - butterfly.setMinimumScope(3, ['garden']) - reachable in garden
34
34
  */
35
35
  minimumScopes = new Map();
36
+ /**
37
+ * Presentation metadata annotations (ADR-124).
38
+ * Keyed by kind (e.g., 'illustration', 'portrait', 'voice').
39
+ * Multiple annotations per kind are supported.
40
+ */
41
+ annotations = new Map();
36
42
  /**
37
43
  * Event handlers for this entity
38
44
  * Key is the event type (e.g., 'if.event.pushed')
@@ -246,6 +252,107 @@ class IFEntity {
246
252
  getMinimumScopes() {
247
253
  return Object.fromEntries(this.minimumScopes);
248
254
  }
255
+ // ========== Annotations (ADR-124) ==========
256
+ /**
257
+ * Add a presentation annotation to this entity.
258
+ *
259
+ * @param kind - Annotation kind (e.g., 'illustration', 'portrait')
260
+ * @param data - Kind-specific payload. Must include an `id` field.
261
+ * @param condition - Optional condition for when this annotation is active
262
+ *
263
+ * @example
264
+ * entity.annotate('illustration', {
265
+ * id: 'dam-exterior',
266
+ * src: 'dam-dry.jpg',
267
+ * alt: 'The massive concrete face of Flood Control Dam #3',
268
+ * trigger: 'on-enter',
269
+ * position: 'right',
270
+ * });
271
+ */
272
+ annotate(kind, data, condition) {
273
+ const annotation = { kind, id: data.id, data, condition };
274
+ const existing = this.annotations.get(kind);
275
+ if (existing) {
276
+ existing.push(annotation);
277
+ }
278
+ else {
279
+ this.annotations.set(kind, [annotation]);
280
+ }
281
+ return this;
282
+ }
283
+ /**
284
+ * Get all annotations of a given kind (unfiltered).
285
+ */
286
+ getAnnotations(kind) {
287
+ return this.annotations.get(kind) ?? [];
288
+ }
289
+ /**
290
+ * Get annotations whose conditions are currently met.
291
+ * Requires a world model reference to resolve trait state on self/player/location.
292
+ *
293
+ * @param kind - Annotation kind to query
294
+ * @param world - World model for condition evaluation (must have getEntity, getPlayer, getLocation)
295
+ */
296
+ getActiveAnnotations(kind, world) {
297
+ const all = this.annotations.get(kind);
298
+ if (!all)
299
+ return [];
300
+ return all.filter(a => {
301
+ if (!a.condition)
302
+ return true;
303
+ return this.evaluateCondition(a.condition, world);
304
+ });
305
+ }
306
+ /**
307
+ * Remove a specific annotation by kind and id.
308
+ * @returns true if the annotation was found and removed
309
+ */
310
+ removeAnnotation(kind, id) {
311
+ const list = this.annotations.get(kind);
312
+ if (!list)
313
+ return false;
314
+ const idx = list.findIndex(a => a.id === id);
315
+ if (idx === -1)
316
+ return false;
317
+ list.splice(idx, 1);
318
+ if (list.length === 0) {
319
+ this.annotations.delete(kind);
320
+ }
321
+ return true;
322
+ }
323
+ /**
324
+ * Check if entity has any annotations of a given kind.
325
+ */
326
+ hasAnnotations(kind) {
327
+ const list = this.annotations.get(kind);
328
+ return !!list && list.length > 0;
329
+ }
330
+ /**
331
+ * Evaluate an annotation condition against current world state.
332
+ */
333
+ evaluateCondition(condition, world) {
334
+ const scope = condition.scope ?? 'self';
335
+ let target;
336
+ switch (scope) {
337
+ case 'self':
338
+ target = this;
339
+ break;
340
+ case 'player':
341
+ target = world.getPlayer();
342
+ break;
343
+ case 'location': {
344
+ const locId = world.getLocation(this.id);
345
+ target = locId ? world.getEntity(locId) : undefined;
346
+ break;
347
+ }
348
+ }
349
+ if (!target)
350
+ return false;
351
+ const trait = target.get(condition.trait);
352
+ if (!trait)
353
+ return false;
354
+ return trait[condition.property] === condition.value;
355
+ }
249
356
  /**
250
357
  * Clone this entity with all its traits
251
358
  */
@@ -266,6 +373,10 @@ class IFEntity {
266
373
  for (const [roomId, level] of this.minimumScopes) {
267
374
  cloned.minimumScopes.set(roomId, level);
268
375
  }
376
+ // Clone annotations (deep copy)
377
+ for (const [kind, list] of this.annotations) {
378
+ cloned.annotations.set(kind, JSON.parse(JSON.stringify(list)));
379
+ }
269
380
  return cloned;
270
381
  }
271
382
  /**
@@ -291,6 +402,10 @@ class IFEntity {
291
402
  if (this.minimumScopes.size > 0) {
292
403
  json.minimumScopes = Object.fromEntries(this.minimumScopes);
293
404
  }
405
+ // Include annotations if any
406
+ if (this.annotations.size > 0) {
407
+ json.annotations = Object.fromEntries(Array.from(this.annotations.entries()).map(([kind, list]) => [kind, list]));
408
+ }
294
409
  return json;
295
410
  }
296
411
  /**
@@ -342,6 +457,14 @@ class IFEntity {
342
457
  entity.minimumScopes.set(roomId, level);
343
458
  }
344
459
  }
460
+ // Restore annotations
461
+ if (json.annotations && typeof json.annotations === 'object') {
462
+ for (const [kind, list] of Object.entries(json.annotations)) {
463
+ if (Array.isArray(list)) {
464
+ entity.annotations.set(kind, list);
465
+ }
466
+ }
467
+ }
345
468
  return entity;
346
469
  }
347
470
  // ========== Convenience Properties ==========
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-entity.js","sourceRoot":"","sources":["../../src/entities/if-entity.ts"],"names":[],"mappings":"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"}
@@ -36,4 +36,5 @@ export * from './services';
36
36
  export * from './scope';
37
37
  export * from './events/types';
38
38
  export * from './capabilities';
39
+ export * from './annotations';
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC"}
@@ -65,4 +65,6 @@ __exportStar(require("./scope"), exports);
65
65
  __exportStar(require("./events/types"), exports);
66
66
  // Capability dispatch system (ADR-090)
67
67
  __exportStar(require("./capabilities"), exports);
68
+ // Annotations (ADR-124)
69
+ __exportStar(require("./annotations"), exports);
68
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,gBAAgB;AAChB,6CAA2B;AAE3B,iBAAiB;AACjB,8CAA4B;AAE5B,YAAY;AACZ,8CAA4B;AAE5B,8CAA8C;AAC9C,6CAA2B;AAC3B,+CAA6B;AAE7B,SAAS;AACT,iDAA+B;AAC/B,uDAAqC;AACrC,2DAAyC;AAEzC,2BAA2B;AAC3B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,mDAAiC;AAEjC,mBAAmB;AACnB,+CAA6B;AAE7B,cAAc;AACd,0CAAwB;AAExB,WAAW;AACX,6CAA2B;AAE3B,eAAe;AACf,0CAAwB;AAExB,mFAAmF;AACnF,iDAA+B;AAE/B,uCAAuC;AACvC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,gBAAgB;AAChB,6CAA2B;AAE3B,iBAAiB;AACjB,8CAA4B;AAE5B,YAAY;AACZ,8CAA4B;AAE5B,8CAA8C;AAC9C,6CAA2B;AAC3B,+CAA6B;AAE7B,SAAS;AACT,iDAA+B;AAC/B,uDAAqC;AACrC,2DAAyC;AAEzC,2BAA2B;AAC3B,oDAAkC;AAClC,qDAAmC;AACnC,gDAA8B;AAC9B,oDAAkC;AAClC,oDAAkC;AAClC,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,iDAA+B;AAC/B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,mDAAiC;AAEjC,mBAAmB;AACnB,+CAA6B;AAE7B,cAAc;AACd,0CAAwB;AAExB,WAAW;AACX,6CAA2B;AAE3B,eAAe;AACf,0CAAwB;AAExB,mFAAmF;AACnF,iDAA+B;AAE/B,uCAAuC;AACvC,iDAA+B;AAE/B,wBAAwB;AACxB,gDAA8B"}
@@ -1,10 +1,24 @@
1
1
  import { ITrait } from '../trait';
2
2
  import { DirectionType } from '../../constants/directions';
3
+ /**
4
+ * Map position hint for an exit (ADR-113).
5
+ * Overrides direction-based positioning in the auto-mapper.
6
+ */
7
+ export interface IExitMapHint {
8
+ /** Grid offset X (-1 = west, +1 = east) */
9
+ dx?: number;
10
+ /** Grid offset Y (-1 = north, +1 = south) */
11
+ dy?: number;
12
+ /** Grid offset Z (-1 = down, +1 = up) */
13
+ dz?: number;
14
+ }
3
15
  export interface IExitInfo {
4
16
  /** The destination room ID (must be an entity ID, not a name) */
5
17
  destination: string;
6
18
  /** Optional door/portal entity ID that must be traversed (must be an entity ID, not a name) */
7
19
  via?: string;
20
+ /** Optional map positioning hint (ADR-113) */
21
+ mapHint?: IExitMapHint;
8
22
  }
9
23
  export interface IRoomData {
10
24
  /** Whether this room has been visited by the player */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roomTrait.d.ts","sourceRoot":"","sources":["../../../src/traits/room/roomTrait.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roomTrait.js","sourceRoot":"","sources":["../../../src/traits/room/roomTrait.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAGpD,gDAA2C;AA0E3C;;;;;;GAMG;AACH,MAAa,SAAS;IACpB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAC7B,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAE/B,sBAAsB;IACtB,OAAO,CAAU;IACjB,KAAK,CAA4C;IACjD,YAAY,CAA0C;IACtD,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,aAAa,CAAU;IACvB,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,MAAM,CAAU;IAChB,IAAI,CAAW;IAEf,0BAA0B;IAC1B,QAAQ,CAIN;IACF,YAAY,CAAY;IACxB,aAAa,CAAY;IAEzB,gEAAgE;IACvD,aAAa,GAAY,IAAI,CAAC;IAC9B,SAAS,GAAY,IAAI,CAAC;IAEnC,YAAY,OAAkB,EAAE;QAC9B,4CAA4C;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAA+C,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAE,iBAAiB;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;;AApDH,8BAqDC"}
1
+ {"version":3,"file":"roomTrait.js","sourceRoot":"","sources":["../../../src/traits/room/roomTrait.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAGpD,gDAA2C;AAyF3C;;;;;;GAMG;AACH,MAAa,SAAS;IACpB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAC7B,IAAI,GAAG,uBAAS,CAAC,IAAI,CAAC;IAE/B,sBAAsB;IACtB,OAAO,CAAU;IACjB,KAAK,CAA4C;IACjD,YAAY,CAA0C;IACtD,OAAO,CAAU;IACjB,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,aAAa,CAAU;IACvB,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,MAAM,CAAU;IAChB,IAAI,CAAW;IAEf,0BAA0B;IAC1B,QAAQ,CAIN;IACF,YAAY,CAAY;IACxB,aAAa,CAAY;IAEzB,gEAAgE;IACvD,aAAa,GAAY,IAAI,CAAC;IAC9B,SAAS,GAAY,IAAI,CAAC;IAEnC,YAAY,OAAkB,EAAE;QAC9B,4CAA4C;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAA+C,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAE,iBAAiB;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAE5B,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;;AApDH,8BAqDC"}