@sharpee/world-model 0.9.60-beta → 0.9.61-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 (579) hide show
  1. package/LICENSE +21 -0
  2. package/dist-npm/capabilities/action-interceptor.d.ts +169 -0
  3. package/dist-npm/capabilities/action-interceptor.d.ts.map +1 -0
  4. package/dist-npm/capabilities/action-interceptor.js +15 -0
  5. package/dist-npm/capabilities/action-interceptor.js.map +1 -0
  6. package/{dist → dist-npm}/capabilities/index.d.ts +3 -0
  7. package/{dist → dist-npm}/capabilities/index.d.ts.map +1 -1
  8. package/{dist → dist-npm}/capabilities/index.js +17 -1
  9. package/{dist → dist-npm}/capabilities/index.js.map +1 -1
  10. package/dist-npm/capabilities/interceptor-helpers.d.ts +74 -0
  11. package/dist-npm/capabilities/interceptor-helpers.d.ts.map +1 -0
  12. package/dist-npm/capabilities/interceptor-helpers.js +111 -0
  13. package/dist-npm/capabilities/interceptor-helpers.js.map +1 -0
  14. package/dist-npm/capabilities/interceptor-registry.d.ts +125 -0
  15. package/dist-npm/capabilities/interceptor-registry.d.ts.map +1 -0
  16. package/dist-npm/capabilities/interceptor-registry.js +176 -0
  17. package/dist-npm/capabilities/interceptor-registry.js.map +1 -0
  18. package/{dist → dist-npm}/traits/room/roomTrait.d.ts +14 -0
  19. package/dist-npm/traits/room/roomTrait.d.ts.map +1 -0
  20. package/{dist → dist-npm}/traits/room/roomTrait.js.map +1 -1
  21. package/{dist → dist-npm}/traits/trait.d.ts +2 -0
  22. package/{dist → dist-npm}/traits/trait.d.ts.map +1 -1
  23. package/{dist → dist-npm}/traits/trait.js.map +1 -1
  24. package/package.json +22 -21
  25. package/dist/traits/portable/portableTrait.d.ts +0 -26
  26. package/dist/traits/portable/portableTrait.d.ts.map +0 -1
  27. package/dist/traits/portable/portableTrait.js +0 -35
  28. package/dist/traits/portable/portableTrait.js.map +0 -1
  29. package/dist/traits/room/roomTrait.d.ts.map +0 -1
  30. /package/{dist → dist-npm}/behaviors/attack.d.ts +0 -0
  31. /package/{dist → dist-npm}/behaviors/attack.d.ts.map +0 -0
  32. /package/{dist → dist-npm}/behaviors/attack.js +0 -0
  33. /package/{dist → dist-npm}/behaviors/attack.js.map +0 -0
  34. /package/{dist → dist-npm}/behaviors/behavior.d.ts +0 -0
  35. /package/{dist → dist-npm}/behaviors/behavior.d.ts.map +0 -0
  36. /package/{dist → dist-npm}/behaviors/behavior.js +0 -0
  37. /package/{dist → dist-npm}/behaviors/behavior.js.map +0 -0
  38. /package/{dist → dist-npm}/behaviors/index.d.ts +0 -0
  39. /package/{dist → dist-npm}/behaviors/index.d.ts.map +0 -0
  40. /package/{dist → dist-npm}/behaviors/index.js +0 -0
  41. /package/{dist → dist-npm}/behaviors/index.js.map +0 -0
  42. /package/{dist → dist-npm}/capabilities/capability-behavior.d.ts +0 -0
  43. /package/{dist → dist-npm}/capabilities/capability-behavior.d.ts.map +0 -0
  44. /package/{dist → dist-npm}/capabilities/capability-behavior.js +0 -0
  45. /package/{dist → dist-npm}/capabilities/capability-behavior.js.map +0 -0
  46. /package/{dist → dist-npm}/capabilities/capability-defaults.d.ts +0 -0
  47. /package/{dist → dist-npm}/capabilities/capability-defaults.d.ts.map +0 -0
  48. /package/{dist → dist-npm}/capabilities/capability-defaults.js +0 -0
  49. /package/{dist → dist-npm}/capabilities/capability-defaults.js.map +0 -0
  50. /package/{dist → dist-npm}/capabilities/capability-helpers.d.ts +0 -0
  51. /package/{dist → dist-npm}/capabilities/capability-helpers.d.ts.map +0 -0
  52. /package/{dist → dist-npm}/capabilities/capability-helpers.js +0 -0
  53. /package/{dist → dist-npm}/capabilities/capability-helpers.js.map +0 -0
  54. /package/{dist → dist-npm}/capabilities/capability-registry.d.ts +0 -0
  55. /package/{dist → dist-npm}/capabilities/capability-registry.d.ts.map +0 -0
  56. /package/{dist → dist-npm}/capabilities/capability-registry.js +0 -0
  57. /package/{dist → dist-npm}/capabilities/capability-registry.js.map +0 -0
  58. /package/{dist → dist-npm}/capabilities/entity-builder.d.ts +0 -0
  59. /package/{dist → dist-npm}/capabilities/entity-builder.d.ts.map +0 -0
  60. /package/{dist → dist-npm}/capabilities/entity-builder.js +0 -0
  61. /package/{dist → dist-npm}/capabilities/entity-builder.js.map +0 -0
  62. /package/{dist → dist-npm}/capabilities/types.d.ts +0 -0
  63. /package/{dist → dist-npm}/capabilities/types.d.ts.map +0 -0
  64. /package/{dist → dist-npm}/capabilities/types.js +0 -0
  65. /package/{dist → dist-npm}/capabilities/types.js.map +0 -0
  66. /package/{dist → dist-npm}/commands/command-types.d.ts +0 -0
  67. /package/{dist → dist-npm}/commands/command-types.d.ts.map +0 -0
  68. /package/{dist → dist-npm}/commands/command-types.js +0 -0
  69. /package/{dist → dist-npm}/commands/command-types.js.map +0 -0
  70. /package/{dist → dist-npm}/commands/index.d.ts +0 -0
  71. /package/{dist → dist-npm}/commands/index.d.ts.map +0 -0
  72. /package/{dist → dist-npm}/commands/index.js +0 -0
  73. /package/{dist → dist-npm}/commands/index.js.map +0 -0
  74. /package/{dist → dist-npm}/commands/parsed-command.d.ts +0 -0
  75. /package/{dist → dist-npm}/commands/parsed-command.d.ts.map +0 -0
  76. /package/{dist → dist-npm}/commands/parsed-command.js +0 -0
  77. /package/{dist → dist-npm}/commands/parsed-command.js.map +0 -0
  78. /package/{dist → dist-npm}/commands/validated-command.d.ts +0 -0
  79. /package/{dist → dist-npm}/commands/validated-command.d.ts.map +0 -0
  80. /package/{dist → dist-npm}/commands/validated-command.js +0 -0
  81. /package/{dist → dist-npm}/commands/validated-command.js.map +0 -0
  82. /package/{dist → dist-npm}/constants/action-failures.d.ts +0 -0
  83. /package/{dist → dist-npm}/constants/action-failures.d.ts.map +0 -0
  84. /package/{dist → dist-npm}/constants/action-failures.js +0 -0
  85. /package/{dist → dist-npm}/constants/action-failures.js.map +0 -0
  86. /package/{dist → dist-npm}/constants/directions.d.ts +0 -0
  87. /package/{dist → dist-npm}/constants/directions.d.ts.map +0 -0
  88. /package/{dist → dist-npm}/constants/directions.js +0 -0
  89. /package/{dist → dist-npm}/constants/directions.js.map +0 -0
  90. /package/{dist → dist-npm}/constants/if-events.d.ts +0 -0
  91. /package/{dist → dist-npm}/constants/if-events.d.ts.map +0 -0
  92. /package/{dist → dist-npm}/constants/if-events.js +0 -0
  93. /package/{dist → dist-npm}/constants/if-events.js.map +0 -0
  94. /package/{dist → dist-npm}/constants/index.d.ts +0 -0
  95. /package/{dist → dist-npm}/constants/index.d.ts.map +0 -0
  96. /package/{dist → dist-npm}/constants/index.js +0 -0
  97. /package/{dist → dist-npm}/constants/index.js.map +0 -0
  98. /package/{dist → dist-npm}/entities/entity-store.d.ts +0 -0
  99. /package/{dist → dist-npm}/entities/entity-store.d.ts.map +0 -0
  100. /package/{dist → dist-npm}/entities/entity-store.js +0 -0
  101. /package/{dist → dist-npm}/entities/entity-store.js.map +0 -0
  102. /package/{dist → dist-npm}/entities/entity-types.d.ts +0 -0
  103. /package/{dist → dist-npm}/entities/entity-types.d.ts.map +0 -0
  104. /package/{dist → dist-npm}/entities/entity-types.js +0 -0
  105. /package/{dist → dist-npm}/entities/entity-types.js.map +0 -0
  106. /package/{dist → dist-npm}/entities/if-entity.d.ts +0 -0
  107. /package/{dist → dist-npm}/entities/if-entity.d.ts.map +0 -0
  108. /package/{dist → dist-npm}/entities/if-entity.js +0 -0
  109. /package/{dist → dist-npm}/entities/if-entity.js.map +0 -0
  110. /package/{dist → dist-npm}/entities/index.d.ts +0 -0
  111. /package/{dist → dist-npm}/entities/index.d.ts.map +0 -0
  112. /package/{dist → dist-npm}/entities/index.js +0 -0
  113. /package/{dist → dist-npm}/entities/index.js.map +0 -0
  114. /package/{dist → dist-npm}/events/types.d.ts +0 -0
  115. /package/{dist → dist-npm}/events/types.d.ts.map +0 -0
  116. /package/{dist → dist-npm}/events/types.js +0 -0
  117. /package/{dist → dist-npm}/events/types.js.map +0 -0
  118. /package/{dist → dist-npm}/examples/event-handler-registration.d.ts +0 -0
  119. /package/{dist → dist-npm}/examples/event-handler-registration.d.ts.map +0 -0
  120. /package/{dist → dist-npm}/examples/event-handler-registration.js +0 -0
  121. /package/{dist → dist-npm}/examples/event-handler-registration.js.map +0 -0
  122. /package/{dist → dist-npm}/extensions/base-extension.d.ts +0 -0
  123. /package/{dist → dist-npm}/extensions/base-extension.d.ts.map +0 -0
  124. /package/{dist → dist-npm}/extensions/base-extension.js +0 -0
  125. /package/{dist → dist-npm}/extensions/base-extension.js.map +0 -0
  126. /package/{dist → dist-npm}/extensions/index.d.ts +0 -0
  127. /package/{dist → dist-npm}/extensions/index.d.ts.map +0 -0
  128. /package/{dist → dist-npm}/extensions/index.js +0 -0
  129. /package/{dist → dist-npm}/extensions/index.js.map +0 -0
  130. /package/{dist → dist-npm}/extensions/loader.d.ts +0 -0
  131. /package/{dist → dist-npm}/extensions/loader.d.ts.map +0 -0
  132. /package/{dist → dist-npm}/extensions/loader.js +0 -0
  133. /package/{dist → dist-npm}/extensions/loader.js.map +0 -0
  134. /package/{dist → dist-npm}/extensions/manager.d.ts +0 -0
  135. /package/{dist → dist-npm}/extensions/manager.d.ts.map +0 -0
  136. /package/{dist → dist-npm}/extensions/manager.js +0 -0
  137. /package/{dist → dist-npm}/extensions/manager.js.map +0 -0
  138. /package/{dist → dist-npm}/extensions/registry.d.ts +0 -0
  139. /package/{dist → dist-npm}/extensions/registry.d.ts.map +0 -0
  140. /package/{dist → dist-npm}/extensions/registry.js +0 -0
  141. /package/{dist → dist-npm}/extensions/registry.js.map +0 -0
  142. /package/{dist → dist-npm}/extensions/types.d.ts +0 -0
  143. /package/{dist → dist-npm}/extensions/types.d.ts.map +0 -0
  144. /package/{dist → dist-npm}/extensions/types.js +0 -0
  145. /package/{dist → dist-npm}/extensions/types.js.map +0 -0
  146. /package/{dist → dist-npm}/index.d.ts +0 -0
  147. /package/{dist → dist-npm}/index.d.ts.map +0 -0
  148. /package/{dist → dist-npm}/index.js +0 -0
  149. /package/{dist → dist-npm}/index.js.map +0 -0
  150. /package/{dist → dist-npm}/interfaces/command-executor.d.ts +0 -0
  151. /package/{dist → dist-npm}/interfaces/command-executor.d.ts.map +0 -0
  152. /package/{dist → dist-npm}/interfaces/command-executor.js +0 -0
  153. /package/{dist → dist-npm}/interfaces/command-executor.js.map +0 -0
  154. /package/{dist → dist-npm}/interfaces/command-processor.d.ts +0 -0
  155. /package/{dist → dist-npm}/interfaces/command-processor.d.ts.map +0 -0
  156. /package/{dist → dist-npm}/interfaces/command-processor.js +0 -0
  157. /package/{dist → dist-npm}/interfaces/command-processor.js.map +0 -0
  158. /package/{dist → dist-npm}/interfaces/command-validator.d.ts +0 -0
  159. /package/{dist → dist-npm}/interfaces/command-validator.d.ts.map +0 -0
  160. /package/{dist → dist-npm}/interfaces/command-validator.js +0 -0
  161. /package/{dist → dist-npm}/interfaces/command-validator.js.map +0 -0
  162. /package/{dist → dist-npm}/interfaces/index.d.ts +0 -0
  163. /package/{dist → dist-npm}/interfaces/index.d.ts.map +0 -0
  164. /package/{dist → dist-npm}/interfaces/index.js +0 -0
  165. /package/{dist → dist-npm}/interfaces/index.js.map +0 -0
  166. /package/{dist → dist-npm}/interfaces/language-provider.d.ts +0 -0
  167. /package/{dist → dist-npm}/interfaces/language-provider.d.ts.map +0 -0
  168. /package/{dist → dist-npm}/interfaces/language-provider.js +0 -0
  169. /package/{dist → dist-npm}/interfaces/language-provider.js.map +0 -0
  170. /package/{dist → dist-npm}/interfaces/parser.d.ts +0 -0
  171. /package/{dist → dist-npm}/interfaces/parser.d.ts.map +0 -0
  172. /package/{dist → dist-npm}/interfaces/parser.js +0 -0
  173. /package/{dist → dist-npm}/interfaces/parser.js.map +0 -0
  174. /package/{dist → dist-npm}/scope/index.d.ts +0 -0
  175. /package/{dist → dist-npm}/scope/index.d.ts.map +0 -0
  176. /package/{dist → dist-npm}/scope/index.js +0 -0
  177. /package/{dist → dist-npm}/scope/index.js.map +0 -0
  178. /package/{dist → dist-npm}/scope/scope-evaluator.d.ts +0 -0
  179. /package/{dist → dist-npm}/scope/scope-evaluator.d.ts.map +0 -0
  180. /package/{dist → dist-npm}/scope/scope-evaluator.js +0 -0
  181. /package/{dist → dist-npm}/scope/scope-evaluator.js.map +0 -0
  182. /package/{dist → dist-npm}/scope/scope-registry.d.ts +0 -0
  183. /package/{dist → dist-npm}/scope/scope-registry.d.ts.map +0 -0
  184. /package/{dist → dist-npm}/scope/scope-registry.js +0 -0
  185. /package/{dist → dist-npm}/scope/scope-registry.js.map +0 -0
  186. /package/{dist → dist-npm}/scope/scope-rule.d.ts +0 -0
  187. /package/{dist → dist-npm}/scope/scope-rule.d.ts.map +0 -0
  188. /package/{dist → dist-npm}/scope/scope-rule.js +0 -0
  189. /package/{dist → dist-npm}/scope/scope-rule.js.map +0 -0
  190. /package/{dist → dist-npm}/services/ScopeService.d.ts +0 -0
  191. /package/{dist → dist-npm}/services/ScopeService.d.ts.map +0 -0
  192. /package/{dist → dist-npm}/services/ScopeService.js +0 -0
  193. /package/{dist → dist-npm}/services/ScopeService.js.map +0 -0
  194. /package/{dist → dist-npm}/services/index.d.ts +0 -0
  195. /package/{dist → dist-npm}/services/index.d.ts.map +0 -0
  196. /package/{dist → dist-npm}/services/index.js +0 -0
  197. /package/{dist → dist-npm}/services/index.js.map +0 -0
  198. /package/{dist → dist-npm}/test-structure.d.ts +0 -0
  199. /package/{dist → dist-npm}/test-structure.d.ts.map +0 -0
  200. /package/{dist → dist-npm}/test-structure.js +0 -0
  201. /package/{dist → dist-npm}/test-structure.js.map +0 -0
  202. /package/{dist → dist-npm}/traits/actor/actorBehavior.d.ts +0 -0
  203. /package/{dist → dist-npm}/traits/actor/actorBehavior.d.ts.map +0 -0
  204. /package/{dist → dist-npm}/traits/actor/actorBehavior.js +0 -0
  205. /package/{dist → dist-npm}/traits/actor/actorBehavior.js.map +0 -0
  206. /package/{dist → dist-npm}/traits/actor/actorTrait.d.ts +0 -0
  207. /package/{dist → dist-npm}/traits/actor/actorTrait.d.ts.map +0 -0
  208. /package/{dist → dist-npm}/traits/actor/actorTrait.js +0 -0
  209. /package/{dist → dist-npm}/traits/actor/actorTrait.js.map +0 -0
  210. /package/{dist → dist-npm}/traits/actor/index.d.ts +0 -0
  211. /package/{dist → dist-npm}/traits/actor/index.d.ts.map +0 -0
  212. /package/{dist → dist-npm}/traits/actor/index.js +0 -0
  213. /package/{dist → dist-npm}/traits/actor/index.js.map +0 -0
  214. /package/{dist → dist-npm}/traits/all-traits.d.ts +0 -0
  215. /package/{dist → dist-npm}/traits/all-traits.d.ts.map +0 -0
  216. /package/{dist → dist-npm}/traits/all-traits.js +0 -0
  217. /package/{dist → dist-npm}/traits/all-traits.js.map +0 -0
  218. /package/{dist → dist-npm}/traits/attached/attachedTrait.d.ts +0 -0
  219. /package/{dist → dist-npm}/traits/attached/attachedTrait.d.ts.map +0 -0
  220. /package/{dist → dist-npm}/traits/attached/attachedTrait.js +0 -0
  221. /package/{dist → dist-npm}/traits/attached/attachedTrait.js.map +0 -0
  222. /package/{dist → dist-npm}/traits/attached/index.d.ts +0 -0
  223. /package/{dist → dist-npm}/traits/attached/index.d.ts.map +0 -0
  224. /package/{dist → dist-npm}/traits/attached/index.js +0 -0
  225. /package/{dist → dist-npm}/traits/attached/index.js.map +0 -0
  226. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.d.ts +0 -0
  227. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.d.ts.map +0 -0
  228. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.js +0 -0
  229. /package/{dist → dist-npm}/traits/breakable/breakableBehavior.js.map +0 -0
  230. /package/{dist → dist-npm}/traits/breakable/breakableTrait.d.ts +0 -0
  231. /package/{dist → dist-npm}/traits/breakable/breakableTrait.d.ts.map +0 -0
  232. /package/{dist → dist-npm}/traits/breakable/breakableTrait.js +0 -0
  233. /package/{dist → dist-npm}/traits/breakable/breakableTrait.js.map +0 -0
  234. /package/{dist → dist-npm}/traits/breakable/index.d.ts +0 -0
  235. /package/{dist → dist-npm}/traits/breakable/index.d.ts.map +0 -0
  236. /package/{dist → dist-npm}/traits/breakable/index.js +0 -0
  237. /package/{dist → dist-npm}/traits/breakable/index.js.map +0 -0
  238. /package/{dist → dist-npm}/traits/button/buttonTrait.d.ts +0 -0
  239. /package/{dist → dist-npm}/traits/button/buttonTrait.d.ts.map +0 -0
  240. /package/{dist → dist-npm}/traits/button/buttonTrait.js +0 -0
  241. /package/{dist → dist-npm}/traits/button/buttonTrait.js.map +0 -0
  242. /package/{dist → dist-npm}/traits/button/index.d.ts +0 -0
  243. /package/{dist → dist-npm}/traits/button/index.d.ts.map +0 -0
  244. /package/{dist → dist-npm}/traits/button/index.js +0 -0
  245. /package/{dist → dist-npm}/traits/button/index.js.map +0 -0
  246. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.d.ts +0 -0
  247. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.d.ts.map +0 -0
  248. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.js +0 -0
  249. /package/{dist → dist-npm}/traits/climbable/climbableBehavior.js.map +0 -0
  250. /package/{dist → dist-npm}/traits/climbable/climbableTrait.d.ts +0 -0
  251. /package/{dist → dist-npm}/traits/climbable/climbableTrait.d.ts.map +0 -0
  252. /package/{dist → dist-npm}/traits/climbable/climbableTrait.js +0 -0
  253. /package/{dist → dist-npm}/traits/climbable/climbableTrait.js.map +0 -0
  254. /package/{dist → dist-npm}/traits/climbable/index.d.ts +0 -0
  255. /package/{dist → dist-npm}/traits/climbable/index.d.ts.map +0 -0
  256. /package/{dist → dist-npm}/traits/climbable/index.js +0 -0
  257. /package/{dist → dist-npm}/traits/climbable/index.js.map +0 -0
  258. /package/{dist → dist-npm}/traits/clothing/clothingTrait.d.ts +0 -0
  259. /package/{dist → dist-npm}/traits/clothing/clothingTrait.d.ts.map +0 -0
  260. /package/{dist → dist-npm}/traits/clothing/clothingTrait.js +0 -0
  261. /package/{dist → dist-npm}/traits/clothing/clothingTrait.js.map +0 -0
  262. /package/{dist → dist-npm}/traits/clothing/index.d.ts +0 -0
  263. /package/{dist → dist-npm}/traits/clothing/index.d.ts.map +0 -0
  264. /package/{dist → dist-npm}/traits/clothing/index.js +0 -0
  265. /package/{dist → dist-npm}/traits/clothing/index.js.map +0 -0
  266. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.d.ts +0 -0
  267. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.d.ts.map +0 -0
  268. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.js +0 -0
  269. /package/{dist → dist-npm}/traits/combatant/combatantBehavior.js.map +0 -0
  270. /package/{dist → dist-npm}/traits/combatant/combatantTrait.d.ts +0 -0
  271. /package/{dist → dist-npm}/traits/combatant/combatantTrait.d.ts.map +0 -0
  272. /package/{dist → dist-npm}/traits/combatant/combatantTrait.js +0 -0
  273. /package/{dist → dist-npm}/traits/combatant/combatantTrait.js.map +0 -0
  274. /package/{dist → dist-npm}/traits/combatant/index.d.ts +0 -0
  275. /package/{dist → dist-npm}/traits/combatant/index.d.ts.map +0 -0
  276. /package/{dist → dist-npm}/traits/combatant/index.js +0 -0
  277. /package/{dist → dist-npm}/traits/combatant/index.js.map +0 -0
  278. /package/{dist → dist-npm}/traits/container/container-utils.d.ts +0 -0
  279. /package/{dist → dist-npm}/traits/container/container-utils.d.ts.map +0 -0
  280. /package/{dist → dist-npm}/traits/container/container-utils.js +0 -0
  281. /package/{dist → dist-npm}/traits/container/container-utils.js.map +0 -0
  282. /package/{dist → dist-npm}/traits/container/containerBehavior.d.ts +0 -0
  283. /package/{dist → dist-npm}/traits/container/containerBehavior.d.ts.map +0 -0
  284. /package/{dist → dist-npm}/traits/container/containerBehavior.js +0 -0
  285. /package/{dist → dist-npm}/traits/container/containerBehavior.js.map +0 -0
  286. /package/{dist → dist-npm}/traits/container/containerTrait.d.ts +0 -0
  287. /package/{dist → dist-npm}/traits/container/containerTrait.d.ts.map +0 -0
  288. /package/{dist → dist-npm}/traits/container/containerTrait.js +0 -0
  289. /package/{dist → dist-npm}/traits/container/containerTrait.js.map +0 -0
  290. /package/{dist → dist-npm}/traits/container/index.d.ts +0 -0
  291. /package/{dist → dist-npm}/traits/container/index.d.ts.map +0 -0
  292. /package/{dist → dist-npm}/traits/container/index.js +0 -0
  293. /package/{dist → dist-npm}/traits/container/index.js.map +0 -0
  294. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.d.ts +0 -0
  295. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.d.ts.map +0 -0
  296. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.js +0 -0
  297. /package/{dist → dist-npm}/traits/destructible/destructibleBehavior.js.map +0 -0
  298. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.d.ts +0 -0
  299. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.d.ts.map +0 -0
  300. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.js +0 -0
  301. /package/{dist → dist-npm}/traits/destructible/destructibleTrait.js.map +0 -0
  302. /package/{dist → dist-npm}/traits/destructible/index.d.ts +0 -0
  303. /package/{dist → dist-npm}/traits/destructible/index.d.ts.map +0 -0
  304. /package/{dist → dist-npm}/traits/destructible/index.js +0 -0
  305. /package/{dist → dist-npm}/traits/destructible/index.js.map +0 -0
  306. /package/{dist → dist-npm}/traits/door/doorBehavior.d.ts +0 -0
  307. /package/{dist → dist-npm}/traits/door/doorBehavior.d.ts.map +0 -0
  308. /package/{dist → dist-npm}/traits/door/doorBehavior.js +0 -0
  309. /package/{dist → dist-npm}/traits/door/doorBehavior.js.map +0 -0
  310. /package/{dist → dist-npm}/traits/door/doorTrait.d.ts +0 -0
  311. /package/{dist → dist-npm}/traits/door/doorTrait.d.ts.map +0 -0
  312. /package/{dist → dist-npm}/traits/door/doorTrait.js +0 -0
  313. /package/{dist → dist-npm}/traits/door/doorTrait.js.map +0 -0
  314. /package/{dist → dist-npm}/traits/door/index.d.ts +0 -0
  315. /package/{dist → dist-npm}/traits/door/index.d.ts.map +0 -0
  316. /package/{dist → dist-npm}/traits/door/index.js +0 -0
  317. /package/{dist → dist-npm}/traits/door/index.js.map +0 -0
  318. /package/{dist → dist-npm}/traits/edible/edibleBehavior.d.ts +0 -0
  319. /package/{dist → dist-npm}/traits/edible/edibleBehavior.d.ts.map +0 -0
  320. /package/{dist → dist-npm}/traits/edible/edibleBehavior.js +0 -0
  321. /package/{dist → dist-npm}/traits/edible/edibleBehavior.js.map +0 -0
  322. /package/{dist → dist-npm}/traits/edible/edibleTrait.d.ts +0 -0
  323. /package/{dist → dist-npm}/traits/edible/edibleTrait.d.ts.map +0 -0
  324. /package/{dist → dist-npm}/traits/edible/edibleTrait.js +0 -0
  325. /package/{dist → dist-npm}/traits/edible/edibleTrait.js.map +0 -0
  326. /package/{dist → dist-npm}/traits/edible/index.d.ts +0 -0
  327. /package/{dist → dist-npm}/traits/edible/index.d.ts.map +0 -0
  328. /package/{dist → dist-npm}/traits/edible/index.js +0 -0
  329. /package/{dist → dist-npm}/traits/edible/index.js.map +0 -0
  330. /package/{dist → dist-npm}/traits/enterable/enterableTrait.d.ts +0 -0
  331. /package/{dist → dist-npm}/traits/enterable/enterableTrait.d.ts.map +0 -0
  332. /package/{dist → dist-npm}/traits/enterable/enterableTrait.js +0 -0
  333. /package/{dist → dist-npm}/traits/enterable/enterableTrait.js.map +0 -0
  334. /package/{dist → dist-npm}/traits/enterable/index.d.ts +0 -0
  335. /package/{dist → dist-npm}/traits/enterable/index.d.ts.map +0 -0
  336. /package/{dist → dist-npm}/traits/enterable/index.js +0 -0
  337. /package/{dist → dist-npm}/traits/enterable/index.js.map +0 -0
  338. /package/{dist → dist-npm}/traits/equipped/equippedTrait.d.ts +0 -0
  339. /package/{dist → dist-npm}/traits/equipped/equippedTrait.d.ts.map +0 -0
  340. /package/{dist → dist-npm}/traits/equipped/equippedTrait.js +0 -0
  341. /package/{dist → dist-npm}/traits/equipped/equippedTrait.js.map +0 -0
  342. /package/{dist → dist-npm}/traits/equipped/index.d.ts +0 -0
  343. /package/{dist → dist-npm}/traits/equipped/index.d.ts.map +0 -0
  344. /package/{dist → dist-npm}/traits/equipped/index.js +0 -0
  345. /package/{dist → dist-npm}/traits/equipped/index.js.map +0 -0
  346. /package/{dist → dist-npm}/traits/exit/exitBehavior.d.ts +0 -0
  347. /package/{dist → dist-npm}/traits/exit/exitBehavior.d.ts.map +0 -0
  348. /package/{dist → dist-npm}/traits/exit/exitBehavior.js +0 -0
  349. /package/{dist → dist-npm}/traits/exit/exitBehavior.js.map +0 -0
  350. /package/{dist → dist-npm}/traits/exit/exitTrait.d.ts +0 -0
  351. /package/{dist → dist-npm}/traits/exit/exitTrait.d.ts.map +0 -0
  352. /package/{dist → dist-npm}/traits/exit/exitTrait.js +0 -0
  353. /package/{dist → dist-npm}/traits/exit/exitTrait.js.map +0 -0
  354. /package/{dist → dist-npm}/traits/exit/index.d.ts +0 -0
  355. /package/{dist → dist-npm}/traits/exit/index.d.ts.map +0 -0
  356. /package/{dist → dist-npm}/traits/exit/index.js +0 -0
  357. /package/{dist → dist-npm}/traits/exit/index.js.map +0 -0
  358. /package/{dist → dist-npm}/traits/identity/identityBehavior.d.ts +0 -0
  359. /package/{dist → dist-npm}/traits/identity/identityBehavior.d.ts.map +0 -0
  360. /package/{dist → dist-npm}/traits/identity/identityBehavior.js +0 -0
  361. /package/{dist → dist-npm}/traits/identity/identityBehavior.js.map +0 -0
  362. /package/{dist → dist-npm}/traits/identity/identityTrait.d.ts +0 -0
  363. /package/{dist → dist-npm}/traits/identity/identityTrait.d.ts.map +0 -0
  364. /package/{dist → dist-npm}/traits/identity/identityTrait.js +0 -0
  365. /package/{dist → dist-npm}/traits/identity/identityTrait.js.map +0 -0
  366. /package/{dist → dist-npm}/traits/identity/index.d.ts +0 -0
  367. /package/{dist → dist-npm}/traits/identity/index.d.ts.map +0 -0
  368. /package/{dist → dist-npm}/traits/identity/index.js +0 -0
  369. /package/{dist → dist-npm}/traits/identity/index.js.map +0 -0
  370. /package/{dist → dist-npm}/traits/implementations.d.ts +0 -0
  371. /package/{dist → dist-npm}/traits/implementations.d.ts.map +0 -0
  372. /package/{dist → dist-npm}/traits/implementations.js +0 -0
  373. /package/{dist → dist-npm}/traits/implementations.js.map +0 -0
  374. /package/{dist → dist-npm}/traits/index.d.ts +0 -0
  375. /package/{dist → dist-npm}/traits/index.d.ts.map +0 -0
  376. /package/{dist → dist-npm}/traits/index.js +0 -0
  377. /package/{dist → dist-npm}/traits/index.js.map +0 -0
  378. /package/{dist → dist-npm}/traits/light-source/index.d.ts +0 -0
  379. /package/{dist → dist-npm}/traits/light-source/index.d.ts.map +0 -0
  380. /package/{dist → dist-npm}/traits/light-source/index.js +0 -0
  381. /package/{dist → dist-npm}/traits/light-source/index.js.map +0 -0
  382. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.d.ts +0 -0
  383. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.d.ts.map +0 -0
  384. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.js +0 -0
  385. /package/{dist → dist-npm}/traits/light-source/lightSourceBehavior.js.map +0 -0
  386. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.d.ts +0 -0
  387. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.d.ts.map +0 -0
  388. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.js +0 -0
  389. /package/{dist → dist-npm}/traits/light-source/lightSourceTrait.js.map +0 -0
  390. /package/{dist → dist-npm}/traits/lockable/index.d.ts +0 -0
  391. /package/{dist → dist-npm}/traits/lockable/index.d.ts.map +0 -0
  392. /package/{dist → dist-npm}/traits/lockable/index.js +0 -0
  393. /package/{dist → dist-npm}/traits/lockable/index.js.map +0 -0
  394. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.d.ts +0 -0
  395. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.d.ts.map +0 -0
  396. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.js +0 -0
  397. /package/{dist → dist-npm}/traits/lockable/lockableBehavior.js.map +0 -0
  398. /package/{dist → dist-npm}/traits/lockable/lockableTrait.d.ts +0 -0
  399. /package/{dist → dist-npm}/traits/lockable/lockableTrait.d.ts.map +0 -0
  400. /package/{dist → dist-npm}/traits/lockable/lockableTrait.js +0 -0
  401. /package/{dist → dist-npm}/traits/lockable/lockableTrait.js.map +0 -0
  402. /package/{dist → dist-npm}/traits/moveable-scenery/index.d.ts +0 -0
  403. /package/{dist → dist-npm}/traits/moveable-scenery/index.d.ts.map +0 -0
  404. /package/{dist → dist-npm}/traits/moveable-scenery/index.js +0 -0
  405. /package/{dist → dist-npm}/traits/moveable-scenery/index.js.map +0 -0
  406. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.d.ts +0 -0
  407. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +0 -0
  408. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.js +0 -0
  409. /package/{dist → dist-npm}/traits/moveable-scenery/moveableSceneryTrait.js.map +0 -0
  410. /package/{dist → dist-npm}/traits/npc/index.d.ts +0 -0
  411. /package/{dist → dist-npm}/traits/npc/index.d.ts.map +0 -0
  412. /package/{dist → dist-npm}/traits/npc/index.js +0 -0
  413. /package/{dist → dist-npm}/traits/npc/index.js.map +0 -0
  414. /package/{dist → dist-npm}/traits/npc/npcTrait.d.ts +0 -0
  415. /package/{dist → dist-npm}/traits/npc/npcTrait.d.ts.map +0 -0
  416. /package/{dist → dist-npm}/traits/npc/npcTrait.js +0 -0
  417. /package/{dist → dist-npm}/traits/npc/npcTrait.js.map +0 -0
  418. /package/{dist → dist-npm}/traits/openable/index.d.ts +0 -0
  419. /package/{dist → dist-npm}/traits/openable/index.d.ts.map +0 -0
  420. /package/{dist → dist-npm}/traits/openable/index.js +0 -0
  421. /package/{dist → dist-npm}/traits/openable/index.js.map +0 -0
  422. /package/{dist → dist-npm}/traits/openable/openableBehavior.d.ts +0 -0
  423. /package/{dist → dist-npm}/traits/openable/openableBehavior.d.ts.map +0 -0
  424. /package/{dist → dist-npm}/traits/openable/openableBehavior.js +0 -0
  425. /package/{dist → dist-npm}/traits/openable/openableBehavior.js.map +0 -0
  426. /package/{dist → dist-npm}/traits/openable/openableTrait.d.ts +0 -0
  427. /package/{dist → dist-npm}/traits/openable/openableTrait.d.ts.map +0 -0
  428. /package/{dist → dist-npm}/traits/openable/openableTrait.js +0 -0
  429. /package/{dist → dist-npm}/traits/openable/openableTrait.js.map +0 -0
  430. /package/{dist → dist-npm}/traits/pullable/index.d.ts +0 -0
  431. /package/{dist → dist-npm}/traits/pullable/index.d.ts.map +0 -0
  432. /package/{dist → dist-npm}/traits/pullable/index.js +0 -0
  433. /package/{dist → dist-npm}/traits/pullable/index.js.map +0 -0
  434. /package/{dist → dist-npm}/traits/pullable/pullableTrait.d.ts +0 -0
  435. /package/{dist → dist-npm}/traits/pullable/pullableTrait.d.ts.map +0 -0
  436. /package/{dist → dist-npm}/traits/pullable/pullableTrait.js +0 -0
  437. /package/{dist → dist-npm}/traits/pullable/pullableTrait.js.map +0 -0
  438. /package/{dist → dist-npm}/traits/pushable/index.d.ts +0 -0
  439. /package/{dist → dist-npm}/traits/pushable/index.d.ts.map +0 -0
  440. /package/{dist → dist-npm}/traits/pushable/index.js +0 -0
  441. /package/{dist → dist-npm}/traits/pushable/index.js.map +0 -0
  442. /package/{dist → dist-npm}/traits/pushable/pushableTrait.d.ts +0 -0
  443. /package/{dist → dist-npm}/traits/pushable/pushableTrait.d.ts.map +0 -0
  444. /package/{dist → dist-npm}/traits/pushable/pushableTrait.js +0 -0
  445. /package/{dist → dist-npm}/traits/pushable/pushableTrait.js.map +0 -0
  446. /package/{dist → dist-npm}/traits/readable/index.d.ts +0 -0
  447. /package/{dist → dist-npm}/traits/readable/index.d.ts.map +0 -0
  448. /package/{dist → dist-npm}/traits/readable/index.js +0 -0
  449. /package/{dist → dist-npm}/traits/readable/index.js.map +0 -0
  450. /package/{dist → dist-npm}/traits/readable/readableBehavior.d.ts +0 -0
  451. /package/{dist → dist-npm}/traits/readable/readableBehavior.d.ts.map +0 -0
  452. /package/{dist → dist-npm}/traits/readable/readableBehavior.js +0 -0
  453. /package/{dist → dist-npm}/traits/readable/readableBehavior.js.map +0 -0
  454. /package/{dist → dist-npm}/traits/readable/readableTrait.d.ts +0 -0
  455. /package/{dist → dist-npm}/traits/readable/readableTrait.d.ts.map +0 -0
  456. /package/{dist → dist-npm}/traits/readable/readableTrait.js +0 -0
  457. /package/{dist → dist-npm}/traits/readable/readableTrait.js.map +0 -0
  458. /package/{dist → dist-npm}/traits/register-all.d.ts +0 -0
  459. /package/{dist → dist-npm}/traits/register-all.d.ts.map +0 -0
  460. /package/{dist → dist-npm}/traits/register-all.js +0 -0
  461. /package/{dist → dist-npm}/traits/register-all.js.map +0 -0
  462. /package/{dist → dist-npm}/traits/room/index.d.ts +0 -0
  463. /package/{dist → dist-npm}/traits/room/index.d.ts.map +0 -0
  464. /package/{dist → dist-npm}/traits/room/index.js +0 -0
  465. /package/{dist → dist-npm}/traits/room/index.js.map +0 -0
  466. /package/{dist → dist-npm}/traits/room/roomBehavior.d.ts +0 -0
  467. /package/{dist → dist-npm}/traits/room/roomBehavior.d.ts.map +0 -0
  468. /package/{dist → dist-npm}/traits/room/roomBehavior.js +0 -0
  469. /package/{dist → dist-npm}/traits/room/roomBehavior.js.map +0 -0
  470. /package/{dist → dist-npm}/traits/room/roomTrait.js +0 -0
  471. /package/{dist → dist-npm}/traits/scenery/index.d.ts +0 -0
  472. /package/{dist → dist-npm}/traits/scenery/index.d.ts.map +0 -0
  473. /package/{dist → dist-npm}/traits/scenery/index.js +0 -0
  474. /package/{dist → dist-npm}/traits/scenery/index.js.map +0 -0
  475. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.d.ts +0 -0
  476. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.d.ts.map +0 -0
  477. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.js +0 -0
  478. /package/{dist → dist-npm}/traits/scenery/sceneryBehavior.js.map +0 -0
  479. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.d.ts +0 -0
  480. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.d.ts.map +0 -0
  481. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.js +0 -0
  482. /package/{dist → dist-npm}/traits/scenery/sceneryTrait.js.map +0 -0
  483. /package/{dist → dist-npm}/traits/supporter/index.d.ts +0 -0
  484. /package/{dist → dist-npm}/traits/supporter/index.d.ts.map +0 -0
  485. /package/{dist → dist-npm}/traits/supporter/index.js +0 -0
  486. /package/{dist → dist-npm}/traits/supporter/index.js.map +0 -0
  487. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.d.ts +0 -0
  488. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.d.ts.map +0 -0
  489. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.js +0 -0
  490. /package/{dist → dist-npm}/traits/supporter/supporterBehavior.js.map +0 -0
  491. /package/{dist → dist-npm}/traits/supporter/supporterTrait.d.ts +0 -0
  492. /package/{dist → dist-npm}/traits/supporter/supporterTrait.d.ts.map +0 -0
  493. /package/{dist → dist-npm}/traits/supporter/supporterTrait.js +0 -0
  494. /package/{dist → dist-npm}/traits/supporter/supporterTrait.js.map +0 -0
  495. /package/{dist → dist-npm}/traits/switchable/index.d.ts +0 -0
  496. /package/{dist → dist-npm}/traits/switchable/index.d.ts.map +0 -0
  497. /package/{dist → dist-npm}/traits/switchable/index.js +0 -0
  498. /package/{dist → dist-npm}/traits/switchable/index.js.map +0 -0
  499. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.d.ts +0 -0
  500. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.d.ts.map +0 -0
  501. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.js +0 -0
  502. /package/{dist → dist-npm}/traits/switchable/switchableBehavior.js.map +0 -0
  503. /package/{dist → dist-npm}/traits/switchable/switchableTrait.d.ts +0 -0
  504. /package/{dist → dist-npm}/traits/switchable/switchableTrait.d.ts.map +0 -0
  505. /package/{dist → dist-npm}/traits/switchable/switchableTrait.js +0 -0
  506. /package/{dist → dist-npm}/traits/switchable/switchableTrait.js.map +0 -0
  507. /package/{dist → dist-npm}/traits/trait-types.d.ts +0 -0
  508. /package/{dist → dist-npm}/traits/trait-types.d.ts.map +0 -0
  509. /package/{dist → dist-npm}/traits/trait-types.js +0 -0
  510. /package/{dist → dist-npm}/traits/trait-types.js.map +0 -0
  511. /package/{dist → dist-npm}/traits/trait.js +0 -0
  512. /package/{dist → dist-npm}/traits/vehicle/index.d.ts +0 -0
  513. /package/{dist → dist-npm}/traits/vehicle/index.d.ts.map +0 -0
  514. /package/{dist → dist-npm}/traits/vehicle/index.js +0 -0
  515. /package/{dist → dist-npm}/traits/vehicle/index.js.map +0 -0
  516. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.d.ts +0 -0
  517. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.d.ts.map +0 -0
  518. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.js +0 -0
  519. /package/{dist → dist-npm}/traits/vehicle/vehicleBehavior.js.map +0 -0
  520. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.d.ts +0 -0
  521. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.d.ts.map +0 -0
  522. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.js +0 -0
  523. /package/{dist → dist-npm}/traits/vehicle/vehicleTrait.js.map +0 -0
  524. /package/{dist → dist-npm}/traits/weapon/index.d.ts +0 -0
  525. /package/{dist → dist-npm}/traits/weapon/index.d.ts.map +0 -0
  526. /package/{dist → dist-npm}/traits/weapon/index.js +0 -0
  527. /package/{dist → dist-npm}/traits/weapon/index.js.map +0 -0
  528. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.d.ts +0 -0
  529. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.d.ts.map +0 -0
  530. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.js +0 -0
  531. /package/{dist → dist-npm}/traits/weapon/weaponBehavior.js.map +0 -0
  532. /package/{dist → dist-npm}/traits/weapon/weaponTrait.d.ts +0 -0
  533. /package/{dist → dist-npm}/traits/weapon/weaponTrait.d.ts.map +0 -0
  534. /package/{dist → dist-npm}/traits/weapon/weaponTrait.js +0 -0
  535. /package/{dist → dist-npm}/traits/weapon/weaponTrait.js.map +0 -0
  536. /package/{dist → dist-npm}/traits/wearable/index.d.ts +0 -0
  537. /package/{dist → dist-npm}/traits/wearable/index.d.ts.map +0 -0
  538. /package/{dist → dist-npm}/traits/wearable/index.js +0 -0
  539. /package/{dist → dist-npm}/traits/wearable/index.js.map +0 -0
  540. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.d.ts +0 -0
  541. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.d.ts.map +0 -0
  542. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.js +0 -0
  543. /package/{dist → dist-npm}/traits/wearable/wearableBehavior.js.map +0 -0
  544. /package/{dist → dist-npm}/traits/wearable/wearableTrait.d.ts +0 -0
  545. /package/{dist → dist-npm}/traits/wearable/wearableTrait.d.ts.map +0 -0
  546. /package/{dist → dist-npm}/traits/wearable/wearableTrait.js +0 -0
  547. /package/{dist → dist-npm}/traits/wearable/wearableTrait.js.map +0 -0
  548. /package/{dist → dist-npm}/utils/event-utils.d.ts +0 -0
  549. /package/{dist → dist-npm}/utils/event-utils.d.ts.map +0 -0
  550. /package/{dist → dist-npm}/utils/event-utils.js +0 -0
  551. /package/{dist → dist-npm}/utils/event-utils.js.map +0 -0
  552. /package/{dist → dist-npm}/world/AuthorModel.d.ts +0 -0
  553. /package/{dist → dist-npm}/world/AuthorModel.d.ts.map +0 -0
  554. /package/{dist → dist-npm}/world/AuthorModel.js +0 -0
  555. /package/{dist → dist-npm}/world/AuthorModel.js.map +0 -0
  556. /package/{dist → dist-npm}/world/SharedDataStore.d.ts +0 -0
  557. /package/{dist → dist-npm}/world/SharedDataStore.d.ts.map +0 -0
  558. /package/{dist → dist-npm}/world/SharedDataStore.js +0 -0
  559. /package/{dist → dist-npm}/world/SharedDataStore.js.map +0 -0
  560. /package/{dist → dist-npm}/world/SpatialIndex.d.ts +0 -0
  561. /package/{dist → dist-npm}/world/SpatialIndex.d.ts.map +0 -0
  562. /package/{dist → dist-npm}/world/SpatialIndex.js +0 -0
  563. /package/{dist → dist-npm}/world/SpatialIndex.js.map +0 -0
  564. /package/{dist → dist-npm}/world/VisibilityBehavior.d.ts +0 -0
  565. /package/{dist → dist-npm}/world/VisibilityBehavior.d.ts.map +0 -0
  566. /package/{dist → dist-npm}/world/VisibilityBehavior.js +0 -0
  567. /package/{dist → dist-npm}/world/VisibilityBehavior.js.map +0 -0
  568. /package/{dist → dist-npm}/world/WorldModel.d.ts +0 -0
  569. /package/{dist → dist-npm}/world/WorldModel.d.ts.map +0 -0
  570. /package/{dist → dist-npm}/world/WorldModel.js +0 -0
  571. /package/{dist → dist-npm}/world/WorldModel.js.map +0 -0
  572. /package/{dist → dist-npm}/world/capabilities.d.ts +0 -0
  573. /package/{dist → dist-npm}/world/capabilities.d.ts.map +0 -0
  574. /package/{dist → dist-npm}/world/capabilities.js +0 -0
  575. /package/{dist → dist-npm}/world/capabilities.js.map +0 -0
  576. /package/{dist → dist-npm}/world/index.d.ts +0 -0
  577. /package/{dist → dist-npm}/world/index.d.ts.map +0 -0
  578. /package/{dist → dist-npm}/world/index.js +0 -0
  579. /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,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"}
@@ -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"}