@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 David Cornelson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Entity Annotations (ADR-124)
3
+ *
4
+ * Presentation metadata attached to entities. Annotations are separate from
5
+ * traits — they carry UI hints that the engine ignores and clients interpret.
6
+ */
7
+ /**
8
+ * A single annotation on an entity.
9
+ * Annotations are keyed by kind (e.g., 'illustration', 'portrait', 'voice').
10
+ */
11
+ export interface Annotation {
12
+ /** The annotation kind — groups annotations by purpose */
13
+ kind: string;
14
+ /** Unique identifier within entity+kind */
15
+ id: string;
16
+ /** Kind-specific payload (clients interpret this) */
17
+ data: Record<string, unknown>;
18
+ /** Optional condition — when absent, annotation is always active */
19
+ condition?: AnnotationCondition;
20
+ }
21
+ /**
22
+ * Pure-data condition evaluated against trait state.
23
+ * No callbacks — serializable and evaluable at any time.
24
+ */
25
+ export interface AnnotationCondition {
26
+ /** Trait type to check (e.g., 'switchable', 'custom') */
27
+ trait: string;
28
+ /** Property name on the trait */
29
+ property: string;
30
+ /** Expected value (strict equality) */
31
+ value: unknown;
32
+ /** Which entity to check: self (default), player, or location */
33
+ scope?: 'self' | 'player' | 'location';
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/annotations/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oEAAoE;IACpE,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;CACxC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Entity Annotations (ADR-124)
4
+ *
5
+ * Presentation metadata attached to entities. Annotations are separate from
6
+ * traits — they carry UI hints that the engine ignores and clients interpret.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/annotations/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Action Interceptor interface (ADR-118)
3
+ *
4
+ * Interceptors allow entities to hook into stdlib action phases
5
+ * without replacing standard logic. This is the "Before/After" pattern
6
+ * from Inform 6/7, complementing the full delegation pattern in
7
+ * capability behaviors.
8
+ *
9
+ * Key difference from CapabilityBehavior:
10
+ * - CapabilityBehavior: Full delegation, trait owns ALL logic (LOWER, RAISE)
11
+ * - ActionInterceptor: Hooks into phases, action owns core logic (ENTER, PUT)
12
+ */
13
+ import { IFEntity } from '../entities';
14
+ import { WorldModel } from '../world';
15
+ import { CapabilityEffect } from './types';
16
+ /**
17
+ * Shared data object for passing data between interceptor phases.
18
+ * Mirrors CapabilitySharedData pattern from capability-behavior.ts.
19
+ *
20
+ * Interceptors can store data here during earlier phases (e.g., postValidate)
21
+ * and access it in later phases (e.g., postExecute, postReport).
22
+ */
23
+ export type InterceptorSharedData = Record<string, unknown>;
24
+ /**
25
+ * Result from interceptor validation hooks.
26
+ * Returning null means "continue with standard logic".
27
+ * Returning a result blocks or modifies the action.
28
+ */
29
+ export interface InterceptorResult {
30
+ /** Whether the action can proceed */
31
+ valid: boolean;
32
+ /** Error code if validation failed (for message lookup) */
33
+ error?: string;
34
+ /** Additional context for error messages */
35
+ params?: Record<string, unknown>;
36
+ }
37
+ /**
38
+ * Action interceptor interface.
39
+ *
40
+ * Interceptors hook into stdlib action phases to customize behavior
41
+ * without reimplementing standard logic. All hooks are optional.
42
+ *
43
+ * Phase order:
44
+ * 1. preValidate - Before standard validation
45
+ * 2. (standard validation runs)
46
+ * 3. postValidate - After standard validation passes
47
+ * 4. (standard execute runs)
48
+ * 5. postExecute - After standard execution
49
+ * 6. (standard report runs)
50
+ * 7. postReport - Additional effects after standard report
51
+ *
52
+ * If validation fails at any point:
53
+ * - onBlocked - Called instead of execute/report phases
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Boat puncture interceptor - checks for sharp objects when entering
58
+ * const InflatableEnteringInterceptor: ActionInterceptor = {
59
+ * postValidate(entity, world, actorId, sharedData) {
60
+ * const inventory = world.getContents(actorId);
61
+ * const sharpObject = inventory.find(item => item.puncturesBoat);
62
+ * if (sharpObject) {
63
+ * sharedData.willPuncture = true;
64
+ * sharedData.punctureItem = sharpObject.name;
65
+ * }
66
+ * return null; // Allow entering to proceed
67
+ * },
68
+ *
69
+ * postExecute(entity, world, actorId, sharedData) {
70
+ * if (!sharedData.willPuncture) return;
71
+ * // Deflate the boat, eject player
72
+ * const trait = entity.get(InflatableTrait);
73
+ * trait.isInflated = false;
74
+ * world.moveEntity(actorId, world.getLocation(entity.id));
75
+ * },
76
+ *
77
+ * postReport(entity, world, actorId, sharedData) {
78
+ * if (!sharedData.willPuncture) return [];
79
+ * return [createEffect('dungeo.boat.punctured', { item: sharedData.punctureItem })];
80
+ * }
81
+ * };
82
+ * ```
83
+ */
84
+ export interface ActionInterceptor {
85
+ /**
86
+ * Called BEFORE standard validation.
87
+ *
88
+ * Use this to block actions early based on entity-specific conditions.
89
+ * Return an InterceptorResult to block the action.
90
+ * Return null to continue with standard validation.
91
+ *
92
+ * @example
93
+ * // Troll blocks entering the Troll Room
94
+ * preValidate(entity, world, actorId, sharedData) {
95
+ * if (trollIsAlive(world)) {
96
+ * return { valid: false, error: 'dungeo.troll.blocks_path' };
97
+ * }
98
+ * return null;
99
+ * }
100
+ */
101
+ preValidate?(entity: IFEntity, world: WorldModel, actorId: string, sharedData: InterceptorSharedData): InterceptorResult | null;
102
+ /**
103
+ * Called AFTER standard validation passes.
104
+ *
105
+ * Use this to add entity-specific conditions that should block
106
+ * an otherwise valid action, or to set up data for postExecute.
107
+ * Return an InterceptorResult to block the action.
108
+ * Return null to continue with execution.
109
+ *
110
+ * @example
111
+ * // Check if player is carrying something that will puncture the boat
112
+ * postValidate(entity, world, actorId, sharedData) {
113
+ * const sharp = findSharpObject(world, actorId);
114
+ * if (sharp) {
115
+ * sharedData.willPuncture = true;
116
+ * sharedData.punctureItem = sharp.name;
117
+ * }
118
+ * return null; // Still allow entering
119
+ * }
120
+ */
121
+ postValidate?(entity: IFEntity, world: WorldModel, actorId: string, sharedData: InterceptorSharedData): InterceptorResult | null;
122
+ /**
123
+ * Called AFTER standard execution completes.
124
+ *
125
+ * Use this to perform additional mutations based on the action.
126
+ * Cannot prevent the action (use postValidate for that).
127
+ * Access data stored in sharedData during validation phases.
128
+ *
129
+ * @example
130
+ * // Glacier melts when torch is thrown at it
131
+ * postExecute(entity, world, actorId, sharedData) {
132
+ * if (!sharedData.willMelt) return;
133
+ * meltGlacier(world, entity.id);
134
+ * openPassage(world, 'glacier-passage');
135
+ * }
136
+ */
137
+ postExecute?(entity: IFEntity, world: WorldModel, actorId: string, sharedData: InterceptorSharedData): void;
138
+ /**
139
+ * Called AFTER standard report.
140
+ *
141
+ * Return additional effects to emit after the standard effects.
142
+ * Return empty array if no additional effects needed.
143
+ *
144
+ * @example
145
+ * // Add glacier melting message
146
+ * postReport(entity, world, actorId, sharedData) {
147
+ * if (!sharedData.melted) return [];
148
+ * return [createEffect('dungeo.glacier.melted', { messageId: 'dungeo.glacier.melts' })];
149
+ * }
150
+ */
151
+ postReport?(entity: IFEntity, world: WorldModel, actorId: string, sharedData: InterceptorSharedData): CapabilityEffect[];
152
+ /**
153
+ * Called when action is blocked (validation failed).
154
+ *
155
+ * Use this to provide custom blocked handling for this entity.
156
+ * Return effects to emit, or null to use standard blocked handling.
157
+ *
158
+ * @example
159
+ * // Custom message when troll blocks entry
160
+ * onBlocked(entity, world, actorId, error, sharedData) {
161
+ * if (error === 'dungeo.troll.blocks_path') {
162
+ * return [createEffect('game.message', { messageId: 'dungeo.troll.snarls' })];
163
+ * }
164
+ * return null; // Use standard blocked handling
165
+ * }
166
+ */
167
+ onBlocked?(entity: IFEntity, world: WorldModel, actorId: string, error: string, sharedData: InterceptorSharedData): CapabilityEffect[] | null;
168
+ }
169
+ //# sourceMappingURL=action-interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-interceptor.d.ts","sourceRoot":"","sources":["../../src/capabilities/action-interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,CACV,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,GAChC,iBAAiB,GAAG,IAAI,CAAC;IAE5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,CACX,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,GAChC,iBAAiB,GAAG,IAAI,CAAC;IAE5B;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,CACV,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,GAChC,IAAI,CAAC;IAER;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,CACT,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,qBAAqB,GAChC,gBAAgB,EAAE,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,CACR,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,qBAAqB,GAChC,gBAAgB,EAAE,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Action Interceptor interface (ADR-118)
4
+ *
5
+ * Interceptors allow entities to hook into stdlib action phases
6
+ * without replacing standard logic. This is the "Before/After" pattern
7
+ * from Inform 6/7, complementing the full delegation pattern in
8
+ * capability behaviors.
9
+ *
10
+ * Key difference from CapabilityBehavior:
11
+ * - CapabilityBehavior: Full delegation, trait owns ALL logic (LOWER, RAISE)
12
+ * - ActionInterceptor: Hooks into phases, action owns core logic (ENTER, PUT)
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ //# sourceMappingURL=action-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-interceptor.js","sourceRoot":"","sources":["../../src/capabilities/action-interceptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG"}
@@ -10,4 +10,7 @@ export { TraitBehaviorBinding, BehaviorRegistrationOptions, registerCapabilityBe
10
10
  export { CapabilityResolution, CapabilityMode, CapabilityConfig, defineCapabilityDefaults, getCapabilityConfig, hasCapabilityDefaults, clearCapabilityDefaults, getAllCapabilityDefaults } from './capability-defaults';
11
11
  export { findTraitWithCapability, hasCapability, getEntityCapabilities, traitHasCapability, getCapableTraits } from './capability-helpers';
12
12
  export { EntityBuilder, buildEntity } from './entity-builder';
13
+ export { ActionInterceptor, InterceptorSharedData, InterceptorResult } from './action-interceptor';
14
+ export { TraitInterceptorBinding, InterceptorRegistrationOptions, InterceptorLookupResult, registerActionInterceptor, getInterceptorForAction, getInterceptorBinding, hasActionInterceptor, unregisterActionInterceptor, clearInterceptorRegistry, getAllInterceptorBindings } from './interceptor-registry';
15
+ export { findTraitWithInterceptor, hasInterceptor, getEntityInterceptors, traitHasInterceptor, getInterceptorTraits } from './interceptor-helpers';
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * (action IDs they respond to) and behaviors implement the logic.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.buildEntity = exports.EntityBuilder = exports.getCapableTraits = exports.traitHasCapability = exports.getEntityCapabilities = exports.hasCapability = exports.findTraitWithCapability = exports.getAllCapabilityDefaults = exports.clearCapabilityDefaults = exports.hasCapabilityDefaults = exports.getCapabilityConfig = exports.defineCapabilityDefaults = exports.getAllCapabilityBindings = exports.clearCapabilityRegistry = exports.unregisterCapabilityBehavior = exports.hasCapabilityBehavior = exports.getBehaviorBinding = exports.getBehaviorForCapability = exports.registerCapabilityBehavior = exports.createEffect = void 0;
9
+ exports.getInterceptorTraits = exports.traitHasInterceptor = exports.getEntityInterceptors = exports.hasInterceptor = exports.findTraitWithInterceptor = exports.getAllInterceptorBindings = exports.clearInterceptorRegistry = exports.unregisterActionInterceptor = exports.hasActionInterceptor = exports.getInterceptorBinding = exports.getInterceptorForAction = exports.registerActionInterceptor = exports.buildEntity = exports.EntityBuilder = exports.getCapableTraits = exports.traitHasCapability = exports.getEntityCapabilities = exports.hasCapability = exports.findTraitWithCapability = exports.getAllCapabilityDefaults = exports.clearCapabilityDefaults = exports.hasCapabilityDefaults = exports.getCapabilityConfig = exports.defineCapabilityDefaults = exports.getAllCapabilityBindings = exports.clearCapabilityRegistry = exports.unregisterCapabilityBehavior = exports.hasCapabilityBehavior = exports.getBehaviorBinding = exports.getBehaviorForCapability = exports.registerCapabilityBehavior = exports.createEffect = void 0;
10
10
  // Types
11
11
  var types_1 = require("./types");
12
12
  Object.defineProperty(exports, "createEffect", { enumerable: true, get: function () { return types_1.createEffect; } });
@@ -37,4 +37,20 @@ Object.defineProperty(exports, "getCapableTraits", { enumerable: true, get: func
37
37
  var entity_builder_1 = require("./entity-builder");
38
38
  Object.defineProperty(exports, "EntityBuilder", { enumerable: true, get: function () { return entity_builder_1.EntityBuilder; } });
39
39
  Object.defineProperty(exports, "buildEntity", { enumerable: true, get: function () { return entity_builder_1.buildEntity; } });
40
+ // Interceptor registry
41
+ var interceptor_registry_1 = require("./interceptor-registry");
42
+ Object.defineProperty(exports, "registerActionInterceptor", { enumerable: true, get: function () { return interceptor_registry_1.registerActionInterceptor; } });
43
+ Object.defineProperty(exports, "getInterceptorForAction", { enumerable: true, get: function () { return interceptor_registry_1.getInterceptorForAction; } });
44
+ Object.defineProperty(exports, "getInterceptorBinding", { enumerable: true, get: function () { return interceptor_registry_1.getInterceptorBinding; } });
45
+ Object.defineProperty(exports, "hasActionInterceptor", { enumerable: true, get: function () { return interceptor_registry_1.hasActionInterceptor; } });
46
+ Object.defineProperty(exports, "unregisterActionInterceptor", { enumerable: true, get: function () { return interceptor_registry_1.unregisterActionInterceptor; } });
47
+ Object.defineProperty(exports, "clearInterceptorRegistry", { enumerable: true, get: function () { return interceptor_registry_1.clearInterceptorRegistry; } });
48
+ Object.defineProperty(exports, "getAllInterceptorBindings", { enumerable: true, get: function () { return interceptor_registry_1.getAllInterceptorBindings; } });
49
+ // Interceptor helpers
50
+ var interceptor_helpers_1 = require("./interceptor-helpers");
51
+ Object.defineProperty(exports, "findTraitWithInterceptor", { enumerable: true, get: function () { return interceptor_helpers_1.findTraitWithInterceptor; } });
52
+ Object.defineProperty(exports, "hasInterceptor", { enumerable: true, get: function () { return interceptor_helpers_1.hasInterceptor; } });
53
+ Object.defineProperty(exports, "getEntityInterceptors", { enumerable: true, get: function () { return interceptor_helpers_1.getEntityInterceptors; } });
54
+ Object.defineProperty(exports, "traitHasInterceptor", { enumerable: true, get: function () { return interceptor_helpers_1.traitHasInterceptor; } });
55
+ Object.defineProperty(exports, "getInterceptorTraits", { enumerable: true, get: function () { return interceptor_helpers_1.getInterceptorTraits; } });
40
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,QAAQ;AACR,iCAIiB;AADf,qGAAA,YAAY,OAAA;AAMd,WAAW;AACX,6DAU+B;AAP7B,iIAAA,0BAA0B,OAAA;AAC1B,+HAAA,wBAAwB,OAAA;AACxB,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,mIAAA,4BAA4B,OAAA;AAC5B,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,6BAA6B;AAC7B,6DAS+B;AAL7B,+HAAA,wBAAwB,OAAA;AACxB,0HAAA,mBAAmB,OAAA;AACnB,4HAAA,qBAAqB,OAAA;AACrB,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,UAAU;AACV,2DAM8B;AAL5B,6HAAA,uBAAuB,OAAA;AACvB,mHAAA,aAAa,OAAA;AACb,2HAAA,qBAAqB,OAAA;AACrB,wHAAA,kBAAkB,OAAA;AAClB,sHAAA,gBAAgB,OAAA;AAGlB,iBAAiB;AACjB,mDAG0B;AAFxB,+GAAA,aAAa,OAAA;AACb,6GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,QAAQ;AACR,iCAIiB;AADf,qGAAA,YAAY,OAAA;AAMd,WAAW;AACX,6DAU+B;AAP7B,iIAAA,0BAA0B,OAAA;AAC1B,+HAAA,wBAAwB,OAAA;AACxB,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,mIAAA,4BAA4B,OAAA;AAC5B,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,6BAA6B;AAC7B,6DAS+B;AAL7B,+HAAA,wBAAwB,OAAA;AACxB,0HAAA,mBAAmB,OAAA;AACnB,4HAAA,qBAAqB,OAAA;AACrB,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,UAAU;AACV,2DAM8B;AAL5B,6HAAA,uBAAuB,OAAA;AACvB,mHAAA,aAAa,OAAA;AACb,2HAAA,qBAAqB,OAAA;AACrB,wHAAA,kBAAkB,OAAA;AAClB,sHAAA,gBAAgB,OAAA;AAGlB,iBAAiB;AACjB,mDAG0B;AAFxB,+GAAA,aAAa,OAAA;AACb,6GAAA,WAAW,OAAA;AAkBb,uBAAuB;AACvB,+DAWgC;AAP9B,iIAAA,yBAAyB,OAAA;AACzB,+HAAA,uBAAuB,OAAA;AACvB,6HAAA,qBAAqB,OAAA;AACrB,4HAAA,oBAAoB,OAAA;AACpB,mIAAA,2BAA2B,OAAA;AAC3B,gIAAA,wBAAwB,OAAA;AACxB,iIAAA,yBAAyB,OAAA;AAG3B,sBAAsB;AACtB,6DAM+B;AAL7B,+HAAA,wBAAwB,OAAA;AACxB,qHAAA,cAAc,OAAA;AACd,4HAAA,qBAAqB,OAAA;AACrB,0HAAA,mBAAmB,OAAA;AACnB,2HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Interceptor Helpers (ADR-118)
3
+ *
4
+ * Helper functions for working with trait interceptors.
5
+ * Mirrors capability-helpers.ts pattern but for interceptors.
6
+ */
7
+ import { ITrait } from '../traits/trait';
8
+ import { IFEntity } from '../entities';
9
+ /**
10
+ * Find a trait on the entity that has an interceptor registered for the given action.
11
+ *
12
+ * Note: This checks both the static `interceptors` declaration on the trait class
13
+ * AND the registry. Use this when you need the trait instance.
14
+ *
15
+ * @param entity - The entity to search
16
+ * @param actionId - The action ID to find
17
+ * @returns The trait that has an interceptor registered, or undefined
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const trait = findTraitWithInterceptor(boat, 'if.action.entering');
22
+ * if (trait) {
23
+ * // Entity has an interceptor for entering
24
+ * }
25
+ * ```
26
+ */
27
+ export declare function findTraitWithInterceptor(entity: IFEntity, actionId: string): ITrait | undefined;
28
+ /**
29
+ * Check if an entity has any trait declaring an interceptor for an action.
30
+ *
31
+ * @param entity - The entity to check
32
+ * @param actionId - The action ID to check for
33
+ * @returns True if entity has a trait with this interceptor
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * if (hasInterceptor(entity, 'if.action.entering')) {
38
+ * // Entity can intercept entering actions
39
+ * }
40
+ * ```
41
+ */
42
+ export declare function hasInterceptor(entity: IFEntity, actionId: string): boolean;
43
+ /**
44
+ * Get all interceptor action IDs declared by an entity's traits.
45
+ *
46
+ * @param entity - The entity to inspect
47
+ * @returns Array of action IDs the entity intercepts
48
+ */
49
+ export declare function getEntityInterceptors(entity: IFEntity): string[];
50
+ /**
51
+ * Type guard to check if a trait declares a specific interceptor.
52
+ *
53
+ * @param trait - The trait to check
54
+ * @param actionId - The action ID to check for
55
+ * @param traitType - Optional: specific trait class to narrow to
56
+ * @returns True if trait has the interceptor (and is of specified type)
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * if (traitHasInterceptor(trait, 'if.action.entering', InflatableTrait)) {
61
+ * // trait is narrowed to InflatableTrait
62
+ * console.log(trait.isInflated);
63
+ * }
64
+ * ```
65
+ */
66
+ export declare function traitHasInterceptor<T extends ITrait>(trait: ITrait, actionId: string, traitType?: new (...args: unknown[]) => T): trait is T;
67
+ /**
68
+ * Find all traits on an entity that have interceptors.
69
+ *
70
+ * @param entity - The entity to inspect
71
+ * @returns Array of traits that declare at least one interceptor
72
+ */
73
+ export declare function getInterceptorTraits(entity: IFEntity): ITrait[];
74
+ //# sourceMappingURL=interceptor-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptor-helpers.d.ts","sourceRoot":"","sources":["../../src/capabilities/interceptor-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CASpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CAWhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GACxC,KAAK,IAAI,CAAC,CAQZ;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CAK/D"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * Interceptor Helpers (ADR-118)
4
+ *
5
+ * Helper functions for working with trait interceptors.
6
+ * Mirrors capability-helpers.ts pattern but for interceptors.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.findTraitWithInterceptor = findTraitWithInterceptor;
10
+ exports.hasInterceptor = hasInterceptor;
11
+ exports.getEntityInterceptors = getEntityInterceptors;
12
+ exports.traitHasInterceptor = traitHasInterceptor;
13
+ exports.getInterceptorTraits = getInterceptorTraits;
14
+ /**
15
+ * Find a trait on the entity that has an interceptor registered for the given action.
16
+ *
17
+ * Note: This checks both the static `interceptors` declaration on the trait class
18
+ * AND the registry. Use this when you need the trait instance.
19
+ *
20
+ * @param entity - The entity to search
21
+ * @param actionId - The action ID to find
22
+ * @returns The trait that has an interceptor registered, or undefined
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const trait = findTraitWithInterceptor(boat, 'if.action.entering');
27
+ * if (trait) {
28
+ * // Entity has an interceptor for entering
29
+ * }
30
+ * ```
31
+ */
32
+ function findTraitWithInterceptor(entity, actionId) {
33
+ for (const trait of entity.traits.values()) {
34
+ // First check static declaration (if available)
35
+ const traitClass = trait.constructor;
36
+ if (traitClass.interceptors?.includes(actionId)) {
37
+ return trait;
38
+ }
39
+ }
40
+ return undefined;
41
+ }
42
+ /**
43
+ * Check if an entity has any trait declaring an interceptor for an action.
44
+ *
45
+ * @param entity - The entity to check
46
+ * @param actionId - The action ID to check for
47
+ * @returns True if entity has a trait with this interceptor
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * if (hasInterceptor(entity, 'if.action.entering')) {
52
+ * // Entity can intercept entering actions
53
+ * }
54
+ * ```
55
+ */
56
+ function hasInterceptor(entity, actionId) {
57
+ return findTraitWithInterceptor(entity, actionId) !== undefined;
58
+ }
59
+ /**
60
+ * Get all interceptor action IDs declared by an entity's traits.
61
+ *
62
+ * @param entity - The entity to inspect
63
+ * @returns Array of action IDs the entity intercepts
64
+ */
65
+ function getEntityInterceptors(entity) {
66
+ const interceptors = [];
67
+ for (const trait of entity.traits.values()) {
68
+ const traitClass = trait.constructor;
69
+ if (traitClass.interceptors) {
70
+ interceptors.push(...traitClass.interceptors);
71
+ }
72
+ }
73
+ return interceptors;
74
+ }
75
+ /**
76
+ * Type guard to check if a trait declares a specific interceptor.
77
+ *
78
+ * @param trait - The trait to check
79
+ * @param actionId - The action ID to check for
80
+ * @param traitType - Optional: specific trait class to narrow to
81
+ * @returns True if trait has the interceptor (and is of specified type)
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * if (traitHasInterceptor(trait, 'if.action.entering', InflatableTrait)) {
86
+ * // trait is narrowed to InflatableTrait
87
+ * console.log(trait.isInflated);
88
+ * }
89
+ * ```
90
+ */
91
+ function traitHasInterceptor(trait, actionId, traitType) {
92
+ const traitClass = trait.constructor;
93
+ const hasAction = traitClass.interceptors?.includes(actionId) ?? false;
94
+ if (traitType) {
95
+ return hasAction && trait instanceof traitType;
96
+ }
97
+ return hasAction;
98
+ }
99
+ /**
100
+ * Find all traits on an entity that have interceptors.
101
+ *
102
+ * @param entity - The entity to inspect
103
+ * @returns Array of traits that declare at least one interceptor
104
+ */
105
+ function getInterceptorTraits(entity) {
106
+ return Array.from(entity.traits.values()).filter(trait => {
107
+ const traitClass = trait.constructor;
108
+ return traitClass.interceptors && traitClass.interceptors.length > 0;
109
+ });
110
+ }
111
+ //# sourceMappingURL=interceptor-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptor-helpers.js","sourceRoot":"","sources":["../../src/capabilities/interceptor-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAuBH,4DAYC;AAgBD,wCAEC;AAQD,sDAWC;AAkBD,kDAYC;AAQD,oDAKC;AA9GD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,wBAAwB,CACtC,MAAgB,EAChB,QAAgB;IAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,gDAAgD;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,IAAI,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAAC,MAAgB,EAAE,QAAgB;IAC/D,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAAgB;IACpD,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,mBAAmB,CACjC,KAAa,EACb,QAAgB,EAChB,SAAyC;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAEvE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,IAAI,KAAK,YAAY,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,MAAgB;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,OAAO,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC"}