@sharpee/world-model 0.9.62-beta → 0.9.66-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 (583) hide show
  1. package/README.md +0 -0
  2. package/package.json +17 -30
  3. package/LICENSE +0 -21
  4. package/dist-npm/annotations/index.d.ts +0 -2
  5. package/dist-npm/annotations/index.d.ts.map +0 -1
  6. package/dist-npm/annotations/index.js +0 -18
  7. package/dist-npm/annotations/index.js.map +0 -1
  8. package/dist-npm/annotations/types.d.ts +0 -35
  9. package/dist-npm/annotations/types.d.ts.map +0 -1
  10. package/dist-npm/annotations/types.js +0 -9
  11. package/dist-npm/annotations/types.js.map +0 -1
  12. package/dist-npm/behaviors/attack.d.ts +0 -52
  13. package/dist-npm/behaviors/attack.d.ts.map +0 -1
  14. package/dist-npm/behaviors/attack.js +0 -161
  15. package/dist-npm/behaviors/attack.js.map +0 -1
  16. package/dist-npm/behaviors/behavior.d.ts +0 -67
  17. package/dist-npm/behaviors/behavior.d.ts.map +0 -1
  18. package/dist-npm/behaviors/behavior.js +0 -80
  19. package/dist-npm/behaviors/behavior.js.map +0 -1
  20. package/dist-npm/behaviors/index.d.ts +0 -21
  21. package/dist-npm/behaviors/index.d.ts.map +0 -1
  22. package/dist-npm/behaviors/index.js +0 -39
  23. package/dist-npm/behaviors/index.js.map +0 -1
  24. package/dist-npm/capabilities/action-interceptor.d.ts +0 -169
  25. package/dist-npm/capabilities/action-interceptor.d.ts.map +0 -1
  26. package/dist-npm/capabilities/action-interceptor.js +0 -15
  27. package/dist-npm/capabilities/action-interceptor.js.map +0 -1
  28. package/dist-npm/capabilities/capability-behavior.d.ts +0 -112
  29. package/dist-npm/capabilities/capability-behavior.d.ts.map +0 -1
  30. package/dist-npm/capabilities/capability-behavior.js +0 -9
  31. package/dist-npm/capabilities/capability-behavior.js.map +0 -1
  32. package/dist-npm/capabilities/capability-defaults.d.ts +0 -67
  33. package/dist-npm/capabilities/capability-defaults.d.ts.map +0 -1
  34. package/dist-npm/capabilities/capability-defaults.js +0 -81
  35. package/dist-npm/capabilities/capability-defaults.js.map +0 -1
  36. package/dist-npm/capabilities/capability-helpers.d.ts +0 -76
  37. package/dist-npm/capabilities/capability-helpers.d.ts.map +0 -1
  38. package/dist-npm/capabilities/capability-helpers.js +0 -112
  39. package/dist-npm/capabilities/capability-helpers.js.map +0 -1
  40. package/dist-npm/capabilities/capability-registry.d.ts +0 -115
  41. package/dist-npm/capabilities/capability-registry.d.ts.map +0 -1
  42. package/dist-npm/capabilities/capability-registry.js +0 -136
  43. package/dist-npm/capabilities/capability-registry.js.map +0 -1
  44. package/dist-npm/capabilities/entity-builder.d.ts +0 -79
  45. package/dist-npm/capabilities/entity-builder.d.ts.map +0 -1
  46. package/dist-npm/capabilities/entity-builder.js +0 -116
  47. package/dist-npm/capabilities/entity-builder.js.map +0 -1
  48. package/dist-npm/capabilities/index.d.ts +0 -16
  49. package/dist-npm/capabilities/index.d.ts.map +0 -1
  50. package/dist-npm/capabilities/index.js +0 -56
  51. package/dist-npm/capabilities/index.js.map +0 -1
  52. package/dist-npm/capabilities/interceptor-helpers.d.ts +0 -74
  53. package/dist-npm/capabilities/interceptor-helpers.d.ts.map +0 -1
  54. package/dist-npm/capabilities/interceptor-helpers.js +0 -111
  55. package/dist-npm/capabilities/interceptor-helpers.js.map +0 -1
  56. package/dist-npm/capabilities/interceptor-registry.d.ts +0 -125
  57. package/dist-npm/capabilities/interceptor-registry.d.ts.map +0 -1
  58. package/dist-npm/capabilities/interceptor-registry.js +0 -176
  59. package/dist-npm/capabilities/interceptor-registry.js.map +0 -1
  60. package/dist-npm/capabilities/types.d.ts +0 -35
  61. package/dist-npm/capabilities/types.d.ts.map +0 -1
  62. package/dist-npm/capabilities/types.js +0 -16
  63. package/dist-npm/capabilities/types.js.map +0 -1
  64. package/dist-npm/commands/command-types.d.ts +0 -30
  65. package/dist-npm/commands/command-types.d.ts.map +0 -1
  66. package/dist-npm/commands/command-types.js +0 -6
  67. package/dist-npm/commands/command-types.js.map +0 -1
  68. package/dist-npm/commands/index.d.ts +0 -7
  69. package/dist-npm/commands/index.d.ts.map +0 -1
  70. package/dist-npm/commands/index.js +0 -23
  71. package/dist-npm/commands/index.js.map +0 -1
  72. package/dist-npm/commands/parsed-command.d.ts +0 -204
  73. package/dist-npm/commands/parsed-command.d.ts.map +0 -1
  74. package/dist-npm/commands/parsed-command.js +0 -25
  75. package/dist-npm/commands/parsed-command.js.map +0 -1
  76. package/dist-npm/commands/validated-command.d.ts +0 -52
  77. package/dist-npm/commands/validated-command.d.ts.map +0 -1
  78. package/dist-npm/commands/validated-command.js +0 -8
  79. package/dist-npm/commands/validated-command.js.map +0 -1
  80. package/dist-npm/constants/action-failures.d.ts +0 -54
  81. package/dist-npm/constants/action-failures.d.ts.map +0 -1
  82. package/dist-npm/constants/action-failures.js +0 -68
  83. package/dist-npm/constants/action-failures.js.map +0 -1
  84. package/dist-npm/constants/directions.d.ts +0 -32
  85. package/dist-npm/constants/directions.d.ts.map +0 -1
  86. package/dist-npm/constants/directions.js +0 -53
  87. package/dist-npm/constants/directions.js.map +0 -1
  88. package/dist-npm/constants/if-events.d.ts +0 -5
  89. package/dist-npm/constants/if-events.d.ts.map +0 -1
  90. package/dist-npm/constants/if-events.js +0 -10
  91. package/dist-npm/constants/if-events.js.map +0 -1
  92. package/dist-npm/constants/index.d.ts +0 -9
  93. package/dist-npm/constants/index.d.ts.map +0 -1
  94. package/dist-npm/constants/index.js +0 -25
  95. package/dist-npm/constants/index.js.map +0 -1
  96. package/dist-npm/entities/entity-store.d.ts +0 -66
  97. package/dist-npm/entities/entity-store.d.ts.map +0 -1
  98. package/dist-npm/entities/entity-store.js +0 -116
  99. package/dist-npm/entities/entity-store.js.map +0 -1
  100. package/dist-npm/entities/entity-types.d.ts +0 -40
  101. package/dist-npm/entities/entity-types.d.ts.map +0 -1
  102. package/dist-npm/entities/entity-types.js +0 -56
  103. package/dist-npm/entities/entity-types.js.map +0 -1
  104. package/dist-npm/entities/if-entity.d.ts +0 -314
  105. package/dist-npm/entities/if-entity.d.ts.map +0 -1
  106. package/dist-npm/entities/if-entity.js +0 -621
  107. package/dist-npm/entities/if-entity.js.map +0 -1
  108. package/dist-npm/entities/index.d.ts +0 -5
  109. package/dist-npm/entities/index.d.ts.map +0 -1
  110. package/dist-npm/entities/index.js +0 -13
  111. package/dist-npm/entities/index.js.map +0 -1
  112. package/dist-npm/events/types.d.ts +0 -45
  113. package/dist-npm/events/types.d.ts.map +0 -1
  114. package/dist-npm/events/types.js +0 -9
  115. package/dist-npm/events/types.js.map +0 -1
  116. package/dist-npm/examples/event-handler-registration.d.ts +0 -14
  117. package/dist-npm/examples/event-handler-registration.d.ts.map +0 -1
  118. package/dist-npm/examples/event-handler-registration.js +0 -158
  119. package/dist-npm/examples/event-handler-registration.js.map +0 -1
  120. package/dist-npm/extensions/base-extension.d.ts +0 -69
  121. package/dist-npm/extensions/base-extension.d.ts.map +0 -1
  122. package/dist-npm/extensions/base-extension.js +0 -83
  123. package/dist-npm/extensions/base-extension.js.map +0 -1
  124. package/dist-npm/extensions/index.d.ts +0 -11
  125. package/dist-npm/extensions/index.d.ts.map +0 -1
  126. package/dist-npm/extensions/index.js +0 -39
  127. package/dist-npm/extensions/index.js.map +0 -1
  128. package/dist-npm/extensions/loader.d.ts +0 -52
  129. package/dist-npm/extensions/loader.d.ts.map +0 -1
  130. package/dist-npm/extensions/loader.js +0 -177
  131. package/dist-npm/extensions/loader.js.map +0 -1
  132. package/dist-npm/extensions/manager.d.ts +0 -68
  133. package/dist-npm/extensions/manager.d.ts.map +0 -1
  134. package/dist-npm/extensions/manager.js +0 -164
  135. package/dist-npm/extensions/manager.js.map +0 -1
  136. package/dist-npm/extensions/registry.d.ts +0 -100
  137. package/dist-npm/extensions/registry.d.ts.map +0 -1
  138. package/dist-npm/extensions/registry.js +0 -193
  139. package/dist-npm/extensions/registry.js.map +0 -1
  140. package/dist-npm/extensions/types.d.ts +0 -226
  141. package/dist-npm/extensions/types.d.ts.map +0 -1
  142. package/dist-npm/extensions/types.js +0 -28
  143. package/dist-npm/extensions/types.js.map +0 -1
  144. package/dist-npm/index.d.ts +0 -40
  145. package/dist-npm/index.d.ts.map +0 -1
  146. package/dist-npm/index.js +0 -70
  147. package/dist-npm/index.js.map +0 -1
  148. package/dist-npm/interfaces/command-executor.d.ts +0 -17
  149. package/dist-npm/interfaces/command-executor.d.ts.map +0 -1
  150. package/dist-npm/interfaces/command-executor.js +0 -6
  151. package/dist-npm/interfaces/command-executor.js.map +0 -1
  152. package/dist-npm/interfaces/command-processor.d.ts +0 -17
  153. package/dist-npm/interfaces/command-processor.d.ts.map +0 -1
  154. package/dist-npm/interfaces/command-processor.js +0 -6
  155. package/dist-npm/interfaces/command-processor.js.map +0 -1
  156. package/dist-npm/interfaces/command-validator.d.ts +0 -17
  157. package/dist-npm/interfaces/command-validator.d.ts.map +0 -1
  158. package/dist-npm/interfaces/command-validator.js +0 -6
  159. package/dist-npm/interfaces/command-validator.js.map +0 -1
  160. package/dist-npm/interfaces/index.d.ts +0 -8
  161. package/dist-npm/interfaces/index.d.ts.map +0 -1
  162. package/dist-npm/interfaces/index.js +0 -24
  163. package/dist-npm/interfaces/index.js.map +0 -1
  164. package/dist-npm/interfaces/language-provider.d.ts +0 -86
  165. package/dist-npm/interfaces/language-provider.d.ts.map +0 -1
  166. package/dist-npm/interfaces/language-provider.js +0 -14
  167. package/dist-npm/interfaces/language-provider.js.map +0 -1
  168. package/dist-npm/interfaces/parser.d.ts +0 -16
  169. package/dist-npm/interfaces/parser.d.ts.map +0 -1
  170. package/dist-npm/interfaces/parser.js +0 -6
  171. package/dist-npm/interfaces/parser.js.map +0 -1
  172. package/dist-npm/scope/index.d.ts +0 -8
  173. package/dist-npm/scope/index.d.ts.map +0 -1
  174. package/dist-npm/scope/index.js +0 -24
  175. package/dist-npm/scope/index.js.map +0 -1
  176. package/dist-npm/scope/scope-evaluator.d.ts +0 -58
  177. package/dist-npm/scope/scope-evaluator.d.ts.map +0 -1
  178. package/dist-npm/scope/scope-evaluator.js +0 -207
  179. package/dist-npm/scope/scope-evaluator.js.map +0 -1
  180. package/dist-npm/scope/scope-registry.d.ts +0 -59
  181. package/dist-npm/scope/scope-registry.d.ts.map +0 -1
  182. package/dist-npm/scope/scope-registry.js +0 -182
  183. package/dist-npm/scope/scope-registry.js.map +0 -1
  184. package/dist-npm/scope/scope-rule.d.ts +0 -86
  185. package/dist-npm/scope/scope-rule.d.ts.map +0 -1
  186. package/dist-npm/scope/scope-rule.js +0 -7
  187. package/dist-npm/scope/scope-rule.js.map +0 -1
  188. package/dist-npm/services/ScopeService.d.ts +0 -8
  189. package/dist-npm/services/ScopeService.d.ts.map +0 -1
  190. package/dist-npm/services/ScopeService.js +0 -19
  191. package/dist-npm/services/ScopeService.js.map +0 -1
  192. package/dist-npm/services/index.d.ts +0 -2
  193. package/dist-npm/services/index.d.ts.map +0 -1
  194. package/dist-npm/services/index.js +0 -6
  195. package/dist-npm/services/index.js.map +0 -1
  196. package/dist-npm/test-structure.d.ts +0 -3
  197. package/dist-npm/test-structure.d.ts.map +0 -1
  198. package/dist-npm/test-structure.js +0 -26
  199. package/dist-npm/test-structure.js.map +0 -1
  200. package/dist-npm/traits/actor/actorBehavior.d.ts +0 -121
  201. package/dist-npm/traits/actor/actorBehavior.d.ts.map +0 -1
  202. package/dist-npm/traits/actor/actorBehavior.js +0 -288
  203. package/dist-npm/traits/actor/actorBehavior.js.map +0 -1
  204. package/dist-npm/traits/actor/actorTrait.d.ts +0 -158
  205. package/dist-npm/traits/actor/actorTrait.d.ts.map +0 -1
  206. package/dist-npm/traits/actor/actorTrait.js +0 -152
  207. package/dist-npm/traits/actor/actorTrait.js.map +0 -1
  208. package/dist-npm/traits/actor/index.d.ts +0 -3
  209. package/dist-npm/traits/actor/index.d.ts.map +0 -1
  210. package/dist-npm/traits/actor/index.js +0 -11
  211. package/dist-npm/traits/actor/index.js.map +0 -1
  212. package/dist-npm/traits/all-traits.d.ts +0 -95
  213. package/dist-npm/traits/all-traits.d.ts.map +0 -1
  214. package/dist-npm/traits/all-traits.js +0 -178
  215. package/dist-npm/traits/all-traits.js.map +0 -1
  216. package/dist-npm/traits/attached/attachedTrait.d.ts +0 -61
  217. package/dist-npm/traits/attached/attachedTrait.d.ts.map +0 -1
  218. package/dist-npm/traits/attached/attachedTrait.js +0 -36
  219. package/dist-npm/traits/attached/attachedTrait.js.map +0 -1
  220. package/dist-npm/traits/attached/index.d.ts +0 -2
  221. package/dist-npm/traits/attached/index.d.ts.map +0 -1
  222. package/dist-npm/traits/attached/index.js +0 -18
  223. package/dist-npm/traits/attached/index.js.map +0 -1
  224. package/dist-npm/traits/breakable/breakableBehavior.d.ts +0 -43
  225. package/dist-npm/traits/breakable/breakableBehavior.d.ts.map +0 -1
  226. package/dist-npm/traits/breakable/breakableBehavior.js +0 -70
  227. package/dist-npm/traits/breakable/breakableBehavior.js.map +0 -1
  228. package/dist-npm/traits/breakable/breakableTrait.d.ts +0 -22
  229. package/dist-npm/traits/breakable/breakableTrait.d.ts.map +0 -1
  230. package/dist-npm/traits/breakable/breakableTrait.js +0 -25
  231. package/dist-npm/traits/breakable/breakableTrait.js.map +0 -1
  232. package/dist-npm/traits/breakable/index.d.ts +0 -3
  233. package/dist-npm/traits/breakable/index.d.ts.map +0 -1
  234. package/dist-npm/traits/breakable/index.js +0 -8
  235. package/dist-npm/traits/breakable/index.js.map +0 -1
  236. package/dist-npm/traits/button/buttonTrait.d.ts +0 -53
  237. package/dist-npm/traits/button/buttonTrait.d.ts.map +0 -1
  238. package/dist-npm/traits/button/buttonTrait.js +0 -36
  239. package/dist-npm/traits/button/buttonTrait.js.map +0 -1
  240. package/dist-npm/traits/button/index.d.ts +0 -2
  241. package/dist-npm/traits/button/index.d.ts.map +0 -1
  242. package/dist-npm/traits/button/index.js +0 -18
  243. package/dist-npm/traits/button/index.js.map +0 -1
  244. package/dist-npm/traits/climbable/climbableBehavior.d.ts +0 -37
  245. package/dist-npm/traits/climbable/climbableBehavior.d.ts.map +0 -1
  246. package/dist-npm/traits/climbable/climbableBehavior.js +0 -70
  247. package/dist-npm/traits/climbable/climbableBehavior.js.map +0 -1
  248. package/dist-npm/traits/climbable/climbableTrait.d.ts +0 -31
  249. package/dist-npm/traits/climbable/climbableTrait.d.ts.map +0 -1
  250. package/dist-npm/traits/climbable/climbableTrait.js +0 -47
  251. package/dist-npm/traits/climbable/climbableTrait.js.map +0 -1
  252. package/dist-npm/traits/climbable/index.d.ts +0 -6
  253. package/dist-npm/traits/climbable/index.d.ts.map +0 -1
  254. package/dist-npm/traits/climbable/index.js +0 -22
  255. package/dist-npm/traits/climbable/index.js.map +0 -1
  256. package/dist-npm/traits/clothing/clothingTrait.d.ts +0 -58
  257. package/dist-npm/traits/clothing/clothingTrait.d.ts.map +0 -1
  258. package/dist-npm/traits/clothing/clothingTrait.js +0 -78
  259. package/dist-npm/traits/clothing/clothingTrait.js.map +0 -1
  260. package/dist-npm/traits/clothing/index.d.ts +0 -2
  261. package/dist-npm/traits/clothing/index.d.ts.map +0 -1
  262. package/dist-npm/traits/clothing/index.js +0 -19
  263. package/dist-npm/traits/clothing/index.js.map +0 -1
  264. package/dist-npm/traits/combatant/combatantBehavior.d.ts +0 -70
  265. package/dist-npm/traits/combatant/combatantBehavior.d.ts.map +0 -1
  266. package/dist-npm/traits/combatant/combatantBehavior.js +0 -155
  267. package/dist-npm/traits/combatant/combatantBehavior.js.map +0 -1
  268. package/dist-npm/traits/combatant/combatantTrait.d.ts +0 -98
  269. package/dist-npm/traits/combatant/combatantTrait.d.ts.map +0 -1
  270. package/dist-npm/traits/combatant/combatantTrait.js +0 -122
  271. package/dist-npm/traits/combatant/combatantTrait.js.map +0 -1
  272. package/dist-npm/traits/combatant/index.d.ts +0 -3
  273. package/dist-npm/traits/combatant/index.d.ts.map +0 -1
  274. package/dist-npm/traits/combatant/index.js +0 -8
  275. package/dist-npm/traits/combatant/index.js.map +0 -1
  276. package/dist-npm/traits/container/container-utils.d.ts +0 -39
  277. package/dist-npm/traits/container/container-utils.d.ts.map +0 -1
  278. package/dist-npm/traits/container/container-utils.js +0 -72
  279. package/dist-npm/traits/container/container-utils.js.map +0 -1
  280. package/dist-npm/traits/container/containerBehavior.d.ts +0 -94
  281. package/dist-npm/traits/container/containerBehavior.d.ts.map +0 -1
  282. package/dist-npm/traits/container/containerBehavior.js +0 -256
  283. package/dist-npm/traits/container/containerBehavior.js.map +0 -1
  284. package/dist-npm/traits/container/containerTrait.d.ts +0 -30
  285. package/dist-npm/traits/container/containerTrait.d.ts.map +0 -1
  286. package/dist-npm/traits/container/containerTrait.js +0 -45
  287. package/dist-npm/traits/container/containerTrait.js.map +0 -1
  288. package/dist-npm/traits/container/index.d.ts +0 -4
  289. package/dist-npm/traits/container/index.d.ts.map +0 -1
  290. package/dist-npm/traits/container/index.js +0 -14
  291. package/dist-npm/traits/container/index.js.map +0 -1
  292. package/dist-npm/traits/destructible/destructibleBehavior.d.ts +0 -57
  293. package/dist-npm/traits/destructible/destructibleBehavior.d.ts.map +0 -1
  294. package/dist-npm/traits/destructible/destructibleBehavior.js +0 -145
  295. package/dist-npm/traits/destructible/destructibleBehavior.js.map +0 -1
  296. package/dist-npm/traits/destructible/destructibleTrait.d.ts +0 -49
  297. package/dist-npm/traits/destructible/destructibleTrait.d.ts.map +0 -1
  298. package/dist-npm/traits/destructible/destructibleTrait.js +0 -43
  299. package/dist-npm/traits/destructible/destructibleTrait.js.map +0 -1
  300. package/dist-npm/traits/destructible/index.d.ts +0 -3
  301. package/dist-npm/traits/destructible/index.d.ts.map +0 -1
  302. package/dist-npm/traits/destructible/index.js +0 -8
  303. package/dist-npm/traits/destructible/index.js.map +0 -1
  304. package/dist-npm/traits/door/doorBehavior.d.ts +0 -42
  305. package/dist-npm/traits/door/doorBehavior.d.ts.map +0 -1
  306. package/dist-npm/traits/door/doorBehavior.js +0 -76
  307. package/dist-npm/traits/door/doorBehavior.js.map +0 -1
  308. package/dist-npm/traits/door/doorTrait.d.ts +0 -19
  309. package/dist-npm/traits/door/doorTrait.d.ts.map +0 -1
  310. package/dist-npm/traits/door/doorTrait.js +0 -33
  311. package/dist-npm/traits/door/doorTrait.js.map +0 -1
  312. package/dist-npm/traits/door/index.d.ts +0 -3
  313. package/dist-npm/traits/door/index.d.ts.map +0 -1
  314. package/dist-npm/traits/door/index.js +0 -9
  315. package/dist-npm/traits/door/index.js.map +0 -1
  316. package/dist-npm/traits/edible/edibleBehavior.d.ts +0 -63
  317. package/dist-npm/traits/edible/edibleBehavior.d.ts.map +0 -1
  318. package/dist-npm/traits/edible/edibleBehavior.js +0 -157
  319. package/dist-npm/traits/edible/edibleBehavior.js.map +0 -1
  320. package/dist-npm/traits/edible/edibleTrait.d.ts +0 -57
  321. package/dist-npm/traits/edible/edibleTrait.d.ts.map +0 -1
  322. package/dist-npm/traits/edible/edibleTrait.js +0 -51
  323. package/dist-npm/traits/edible/edibleTrait.js.map +0 -1
  324. package/dist-npm/traits/edible/index.d.ts +0 -3
  325. package/dist-npm/traits/edible/index.d.ts.map +0 -1
  326. package/dist-npm/traits/edible/index.js +0 -20
  327. package/dist-npm/traits/edible/index.js.map +0 -1
  328. package/dist-npm/traits/enterable/enterableTrait.d.ts +0 -33
  329. package/dist-npm/traits/enterable/enterableTrait.d.ts.map +0 -1
  330. package/dist-npm/traits/enterable/enterableTrait.js +0 -38
  331. package/dist-npm/traits/enterable/enterableTrait.js.map +0 -1
  332. package/dist-npm/traits/enterable/index.d.ts +0 -5
  333. package/dist-npm/traits/enterable/index.d.ts.map +0 -1
  334. package/dist-npm/traits/enterable/index.js +0 -21
  335. package/dist-npm/traits/enterable/index.js.map +0 -1
  336. package/dist-npm/traits/equipped/equippedTrait.d.ts +0 -46
  337. package/dist-npm/traits/equipped/equippedTrait.d.ts.map +0 -1
  338. package/dist-npm/traits/equipped/equippedTrait.js +0 -34
  339. package/dist-npm/traits/equipped/equippedTrait.js.map +0 -1
  340. package/dist-npm/traits/equipped/index.d.ts +0 -2
  341. package/dist-npm/traits/equipped/index.d.ts.map +0 -1
  342. package/dist-npm/traits/equipped/index.js +0 -6
  343. package/dist-npm/traits/equipped/index.js.map +0 -1
  344. package/dist-npm/traits/exit/exitBehavior.d.ts +0 -51
  345. package/dist-npm/traits/exit/exitBehavior.d.ts.map +0 -1
  346. package/dist-npm/traits/exit/exitBehavior.js +0 -231
  347. package/dist-npm/traits/exit/exitBehavior.js.map +0 -1
  348. package/dist-npm/traits/exit/exitTrait.d.ts +0 -41
  349. package/dist-npm/traits/exit/exitTrait.d.ts.map +0 -1
  350. package/dist-npm/traits/exit/exitTrait.js +0 -75
  351. package/dist-npm/traits/exit/exitTrait.js.map +0 -1
  352. package/dist-npm/traits/exit/index.d.ts +0 -3
  353. package/dist-npm/traits/exit/index.d.ts.map +0 -1
  354. package/dist-npm/traits/exit/index.js +0 -9
  355. package/dist-npm/traits/exit/index.js.map +0 -1
  356. package/dist-npm/traits/identity/identityBehavior.d.ts +0 -64
  357. package/dist-npm/traits/identity/identityBehavior.d.ts.map +0 -1
  358. package/dist-npm/traits/identity/identityBehavior.js +0 -154
  359. package/dist-npm/traits/identity/identityBehavior.js.map +0 -1
  360. package/dist-npm/traits/identity/identityTrait.d.ts +0 -70
  361. package/dist-npm/traits/identity/identityTrait.d.ts.map +0 -1
  362. package/dist-npm/traits/identity/identityTrait.js +0 -79
  363. package/dist-npm/traits/identity/identityTrait.js.map +0 -1
  364. package/dist-npm/traits/identity/index.d.ts +0 -3
  365. package/dist-npm/traits/identity/index.d.ts.map +0 -1
  366. package/dist-npm/traits/identity/index.js +0 -20
  367. package/dist-npm/traits/identity/index.js.map +0 -1
  368. package/dist-npm/traits/implementations.d.ts +0 -51
  369. package/dist-npm/traits/implementations.d.ts.map +0 -1
  370. package/dist-npm/traits/implementations.js +0 -145
  371. package/dist-npm/traits/implementations.js.map +0 -1
  372. package/dist-npm/traits/index.d.ts +0 -36
  373. package/dist-npm/traits/index.d.ts.map +0 -1
  374. package/dist-npm/traits/index.js +0 -62
  375. package/dist-npm/traits/index.js.map +0 -1
  376. package/dist-npm/traits/light-source/index.d.ts +0 -3
  377. package/dist-npm/traits/light-source/index.d.ts.map +0 -1
  378. package/dist-npm/traits/light-source/index.js +0 -9
  379. package/dist-npm/traits/light-source/index.js.map +0 -1
  380. package/dist-npm/traits/light-source/lightSourceBehavior.d.ts +0 -57
  381. package/dist-npm/traits/light-source/lightSourceBehavior.d.ts.map +0 -1
  382. package/dist-npm/traits/light-source/lightSourceBehavior.js +0 -135
  383. package/dist-npm/traits/light-source/lightSourceBehavior.js.map +0 -1
  384. package/dist-npm/traits/light-source/lightSourceTrait.d.ts +0 -28
  385. package/dist-npm/traits/light-source/lightSourceTrait.d.ts.map +0 -1
  386. package/dist-npm/traits/light-source/lightSourceTrait.js +0 -37
  387. package/dist-npm/traits/light-source/lightSourceTrait.js.map +0 -1
  388. package/dist-npm/traits/lockable/index.d.ts +0 -3
  389. package/dist-npm/traits/lockable/index.d.ts.map +0 -1
  390. package/dist-npm/traits/lockable/index.js +0 -20
  391. package/dist-npm/traits/lockable/index.js.map +0 -1
  392. package/dist-npm/traits/lockable/lockableBehavior.d.ts +0 -88
  393. package/dist-npm/traits/lockable/lockableBehavior.d.ts.map +0 -1
  394. package/dist-npm/traits/lockable/lockableBehavior.js +0 -196
  395. package/dist-npm/traits/lockable/lockableBehavior.js.map +0 -1
  396. package/dist-npm/traits/lockable/lockableTrait.d.ts +0 -59
  397. package/dist-npm/traits/lockable/lockableTrait.d.ts.map +0 -1
  398. package/dist-npm/traits/lockable/lockableTrait.js +0 -50
  399. package/dist-npm/traits/lockable/lockableTrait.js.map +0 -1
  400. package/dist-npm/traits/moveable-scenery/index.d.ts +0 -2
  401. package/dist-npm/traits/moveable-scenery/index.d.ts.map +0 -1
  402. package/dist-npm/traits/moveable-scenery/index.js +0 -18
  403. package/dist-npm/traits/moveable-scenery/index.js.map +0 -1
  404. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts +0 -69
  405. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +0 -1
  406. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js +0 -43
  407. package/dist-npm/traits/moveable-scenery/moveableSceneryTrait.js.map +0 -1
  408. package/dist-npm/traits/npc/index.d.ts +0 -5
  409. package/dist-npm/traits/npc/index.d.ts.map +0 -1
  410. package/dist-npm/traits/npc/index.js +0 -9
  411. package/dist-npm/traits/npc/index.js.map +0 -1
  412. package/dist-npm/traits/npc/npcTrait.d.ts +0 -128
  413. package/dist-npm/traits/npc/npcTrait.d.ts.map +0 -1
  414. package/dist-npm/traits/npc/npcTrait.js +0 -180
  415. package/dist-npm/traits/npc/npcTrait.js.map +0 -1
  416. package/dist-npm/traits/openable/index.d.ts +0 -3
  417. package/dist-npm/traits/openable/index.d.ts.map +0 -1
  418. package/dist-npm/traits/openable/index.js +0 -20
  419. package/dist-npm/traits/openable/index.js.map +0 -1
  420. package/dist-npm/traits/openable/openableBehavior.d.ts +0 -64
  421. package/dist-npm/traits/openable/openableBehavior.d.ts.map +0 -1
  422. package/dist-npm/traits/openable/openableBehavior.js +0 -109
  423. package/dist-npm/traits/openable/openableBehavior.js.map +0 -1
  424. package/dist-npm/traits/openable/openableTrait.d.ts +0 -46
  425. package/dist-npm/traits/openable/openableTrait.d.ts.map +0 -1
  426. package/dist-npm/traits/openable/openableTrait.js +0 -42
  427. package/dist-npm/traits/openable/openableTrait.js.map +0 -1
  428. package/dist-npm/traits/pullable/index.d.ts +0 -2
  429. package/dist-npm/traits/pullable/index.d.ts.map +0 -1
  430. package/dist-npm/traits/pullable/index.js +0 -18
  431. package/dist-npm/traits/pullable/index.js.map +0 -1
  432. package/dist-npm/traits/pullable/pullableTrait.d.ts +0 -81
  433. package/dist-npm/traits/pullable/pullableTrait.d.ts.map +0 -1
  434. package/dist-npm/traits/pullable/pullableTrait.js +0 -44
  435. package/dist-npm/traits/pullable/pullableTrait.js.map +0 -1
  436. package/dist-npm/traits/pushable/index.d.ts +0 -2
  437. package/dist-npm/traits/pushable/index.d.ts.map +0 -1
  438. package/dist-npm/traits/pushable/index.js +0 -18
  439. package/dist-npm/traits/pushable/index.js.map +0 -1
  440. package/dist-npm/traits/pushable/pushableTrait.d.ts +0 -81
  441. package/dist-npm/traits/pushable/pushableTrait.d.ts.map +0 -1
  442. package/dist-npm/traits/pushable/pushableTrait.js +0 -44
  443. package/dist-npm/traits/pushable/pushableTrait.js.map +0 -1
  444. package/dist-npm/traits/readable/index.d.ts +0 -3
  445. package/dist-npm/traits/readable/index.d.ts.map +0 -1
  446. package/dist-npm/traits/readable/index.js +0 -9
  447. package/dist-npm/traits/readable/index.js.map +0 -1
  448. package/dist-npm/traits/readable/readableBehavior.d.ts +0 -42
  449. package/dist-npm/traits/readable/readableBehavior.d.ts.map +0 -1
  450. package/dist-npm/traits/readable/readableBehavior.js +0 -174
  451. package/dist-npm/traits/readable/readableBehavior.js.map +0 -1
  452. package/dist-npm/traits/readable/readableTrait.d.ts +0 -37
  453. package/dist-npm/traits/readable/readableTrait.d.ts.map +0 -1
  454. package/dist-npm/traits/readable/readableTrait.js +0 -51
  455. package/dist-npm/traits/readable/readableTrait.js.map +0 -1
  456. package/dist-npm/traits/register-all.d.ts +0 -10
  457. package/dist-npm/traits/register-all.d.ts.map +0 -1
  458. package/dist-npm/traits/register-all.js +0 -19
  459. package/dist-npm/traits/register-all.js.map +0 -1
  460. package/dist-npm/traits/room/index.d.ts +0 -9
  461. package/dist-npm/traits/room/index.d.ts.map +0 -1
  462. package/dist-npm/traits/room/index.js +0 -14
  463. package/dist-npm/traits/room/index.js.map +0 -1
  464. package/dist-npm/traits/room/roomBehavior.d.ts +0 -87
  465. package/dist-npm/traits/room/roomBehavior.d.ts.map +0 -1
  466. package/dist-npm/traits/room/roomBehavior.js +0 -232
  467. package/dist-npm/traits/room/roomBehavior.js.map +0 -1
  468. package/dist-npm/traits/room/roomTrait.d.ts +0 -101
  469. package/dist-npm/traits/room/roomTrait.d.ts.map +0 -1
  470. package/dist-npm/traits/room/roomTrait.js +0 -59
  471. package/dist-npm/traits/room/roomTrait.js.map +0 -1
  472. package/dist-npm/traits/scenery/index.d.ts +0 -3
  473. package/dist-npm/traits/scenery/index.d.ts.map +0 -1
  474. package/dist-npm/traits/scenery/index.js +0 -9
  475. package/dist-npm/traits/scenery/index.js.map +0 -1
  476. package/dist-npm/traits/scenery/sceneryBehavior.d.ts +0 -21
  477. package/dist-npm/traits/scenery/sceneryBehavior.d.ts.map +0 -1
  478. package/dist-npm/traits/scenery/sceneryBehavior.js +0 -42
  479. package/dist-npm/traits/scenery/sceneryBehavior.js.map +0 -1
  480. package/dist-npm/traits/scenery/sceneryTrait.d.ts +0 -30
  481. package/dist-npm/traits/scenery/sceneryTrait.d.ts.map +0 -1
  482. package/dist-npm/traits/scenery/sceneryTrait.js +0 -39
  483. package/dist-npm/traits/scenery/sceneryTrait.js.map +0 -1
  484. package/dist-npm/traits/supporter/index.d.ts +0 -3
  485. package/dist-npm/traits/supporter/index.d.ts.map +0 -1
  486. package/dist-npm/traits/supporter/index.js +0 -9
  487. package/dist-npm/traits/supporter/index.js.map +0 -1
  488. package/dist-npm/traits/supporter/supporterBehavior.d.ts +0 -83
  489. package/dist-npm/traits/supporter/supporterBehavior.d.ts.map +0 -1
  490. package/dist-npm/traits/supporter/supporterBehavior.js +0 -210
  491. package/dist-npm/traits/supporter/supporterBehavior.js.map +0 -1
  492. package/dist-npm/traits/supporter/supporterTrait.d.ts +0 -26
  493. package/dist-npm/traits/supporter/supporterTrait.d.ts.map +0 -1
  494. package/dist-npm/traits/supporter/supporterTrait.js +0 -30
  495. package/dist-npm/traits/supporter/supporterTrait.js.map +0 -1
  496. package/dist-npm/traits/switchable/index.d.ts +0 -3
  497. package/dist-npm/traits/switchable/index.d.ts.map +0 -1
  498. package/dist-npm/traits/switchable/index.js +0 -20
  499. package/dist-npm/traits/switchable/index.js.map +0 -1
  500. package/dist-npm/traits/switchable/switchableBehavior.d.ts +0 -73
  501. package/dist-npm/traits/switchable/switchableBehavior.d.ts.map +0 -1
  502. package/dist-npm/traits/switchable/switchableBehavior.js +0 -191
  503. package/dist-npm/traits/switchable/switchableBehavior.js.map +0 -1
  504. package/dist-npm/traits/switchable/switchableTrait.d.ts +0 -61
  505. package/dist-npm/traits/switchable/switchableTrait.d.ts.map +0 -1
  506. package/dist-npm/traits/switchable/switchableTrait.js +0 -52
  507. package/dist-npm/traits/switchable/switchableTrait.js.map +0 -1
  508. package/dist-npm/traits/trait-types.d.ts +0 -81
  509. package/dist-npm/traits/trait-types.d.ts.map +0 -1
  510. package/dist-npm/traits/trait-types.js +0 -146
  511. package/dist-npm/traits/trait-types.js.map +0 -1
  512. package/dist-npm/traits/trait.d.ts +0 -44
  513. package/dist-npm/traits/trait.d.ts.map +0 -1
  514. package/dist-npm/traits/trait.js +0 -42
  515. package/dist-npm/traits/trait.js.map +0 -1
  516. package/dist-npm/traits/vehicle/index.d.ts +0 -6
  517. package/dist-npm/traits/vehicle/index.d.ts.map +0 -1
  518. package/dist-npm/traits/vehicle/index.js +0 -22
  519. package/dist-npm/traits/vehicle/index.js.map +0 -1
  520. package/dist-npm/traits/vehicle/vehicleBehavior.d.ts +0 -62
  521. package/dist-npm/traits/vehicle/vehicleBehavior.d.ts.map +0 -1
  522. package/dist-npm/traits/vehicle/vehicleBehavior.js +0 -145
  523. package/dist-npm/traits/vehicle/vehicleBehavior.js.map +0 -1
  524. package/dist-npm/traits/vehicle/vehicleTrait.d.ts +0 -77
  525. package/dist-npm/traits/vehicle/vehicleTrait.d.ts.map +0 -1
  526. package/dist-npm/traits/vehicle/vehicleTrait.js +0 -92
  527. package/dist-npm/traits/vehicle/vehicleTrait.js.map +0 -1
  528. package/dist-npm/traits/weapon/index.d.ts +0 -3
  529. package/dist-npm/traits/weapon/index.d.ts.map +0 -1
  530. package/dist-npm/traits/weapon/index.js +0 -8
  531. package/dist-npm/traits/weapon/index.js.map +0 -1
  532. package/dist-npm/traits/weapon/weaponBehavior.d.ts +0 -47
  533. package/dist-npm/traits/weapon/weaponBehavior.d.ts.map +0 -1
  534. package/dist-npm/traits/weapon/weaponBehavior.js +0 -106
  535. package/dist-npm/traits/weapon/weaponBehavior.js.map +0 -1
  536. package/dist-npm/traits/weapon/weaponTrait.d.ts +0 -67
  537. package/dist-npm/traits/weapon/weaponTrait.d.ts.map +0 -1
  538. package/dist-npm/traits/weapon/weaponTrait.js +0 -60
  539. package/dist-npm/traits/weapon/weaponTrait.js.map +0 -1
  540. package/dist-npm/traits/wearable/index.d.ts +0 -3
  541. package/dist-npm/traits/wearable/index.d.ts.map +0 -1
  542. package/dist-npm/traits/wearable/index.js +0 -20
  543. package/dist-npm/traits/wearable/index.js.map +0 -1
  544. package/dist-npm/traits/wearable/wearableBehavior.d.ts +0 -64
  545. package/dist-npm/traits/wearable/wearableBehavior.d.ts.map +0 -1
  546. package/dist-npm/traits/wearable/wearableBehavior.js +0 -142
  547. package/dist-npm/traits/wearable/wearableBehavior.js.map +0 -1
  548. package/dist-npm/traits/wearable/wearableTrait.d.ts +0 -54
  549. package/dist-npm/traits/wearable/wearableTrait.d.ts.map +0 -1
  550. package/dist-npm/traits/wearable/wearableTrait.js +0 -53
  551. package/dist-npm/traits/wearable/wearableTrait.js.map +0 -1
  552. package/dist-npm/utils/event-utils.d.ts +0 -30
  553. package/dist-npm/utils/event-utils.d.ts.map +0 -1
  554. package/dist-npm/utils/event-utils.js +0 -33
  555. package/dist-npm/utils/event-utils.js.map +0 -1
  556. package/dist-npm/world/AuthorModel.d.ts +0 -151
  557. package/dist-npm/world/AuthorModel.d.ts.map +0 -1
  558. package/dist-npm/world/AuthorModel.js +0 -416
  559. package/dist-npm/world/AuthorModel.js.map +0 -1
  560. package/dist-npm/world/SharedDataStore.d.ts +0 -24
  561. package/dist-npm/world/SharedDataStore.d.ts.map +0 -1
  562. package/dist-npm/world/SharedDataStore.js +0 -50
  563. package/dist-npm/world/SharedDataStore.js.map +0 -1
  564. package/dist-npm/world/SpatialIndex.d.ts +0 -16
  565. package/dist-npm/world/SpatialIndex.d.ts.map +0 -1
  566. package/dist-npm/world/SpatialIndex.js +0 -117
  567. package/dist-npm/world/SpatialIndex.js.map +0 -1
  568. package/dist-npm/world/VisibilityBehavior.d.ts +0 -83
  569. package/dist-npm/world/VisibilityBehavior.d.ts.map +0 -1
  570. package/dist-npm/world/VisibilityBehavior.js +0 -484
  571. package/dist-npm/world/VisibilityBehavior.js.map +0 -1
  572. package/dist-npm/world/WorldModel.d.ts +0 -301
  573. package/dist-npm/world/WorldModel.d.ts.map +0 -1
  574. package/dist-npm/world/WorldModel.js +0 -1085
  575. package/dist-npm/world/WorldModel.js.map +0 -1
  576. package/dist-npm/world/capabilities.d.ts +0 -36
  577. package/dist-npm/world/capabilities.d.ts.map +0 -1
  578. package/dist-npm/world/capabilities.js +0 -18
  579. package/dist-npm/world/capabilities.js.map +0 -1
  580. package/dist-npm/world/index.d.ts +0 -7
  581. package/dist-npm/world/index.d.ts.map +0 -1
  582. package/dist-npm/world/index.js +0 -21
  583. package/dist-npm/world/index.js.map +0 -1
package/README.md CHANGED
File without changes
package/package.json CHANGED
@@ -1,29 +1,27 @@
1
1
  {
2
2
  "name": "@sharpee/world-model",
3
- "version": "0.9.62-beta",
3
+ "version": "0.9.66-beta",
4
4
  "description": "World model for Sharpee IF platform - entities, traits, and behaviors",
5
- "main": "dist-npm/index.js",
5
+ "main": "./index.js",
6
6
  "module": "dist-npm/index.js",
7
- "types": "dist-npm/index.d.ts",
7
+ "types": "./index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist-npm/index.d.ts",
11
- "import": "./dist-npm/index.js",
12
- "require": "./dist-npm/index.js"
10
+ "types": "./index.d.ts",
11
+ "require": "./index.js",
12
+ "default": "./index.js"
13
13
  }
14
14
  },
15
- "dependencies": {
16
- "@sharpee/core": "0.9.62-beta",
17
- "@sharpee/if-domain": "0.9.62-beta"
18
- },
19
- "devDependencies": {
20
- "@types/node": "^20.8.0",
21
- "@typescript-eslint/eslint-plugin": "^6.7.4",
22
- "@typescript-eslint/parser": "^6.7.4",
23
- "cross-env": "^7.0.3",
24
- "eslint": "^8.50.0",
25
- "rimraf": "^5.0.5",
26
- "typescript": "^5.2.2"
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "clean": "rimraf dist",
18
+ "test": "vitest",
19
+ "test:ci": "vitest run",
20
+ "test:watch": "vitest",
21
+ "test:coverage": "vitest run --coverage",
22
+ "test:verbose": "vitest run --reporter=verbose",
23
+ "lint": "eslint src --ext .ts",
24
+ "build:npm": "tsc --outDir dist-npm"
27
25
  },
28
26
  "files": [
29
27
  "dist-npm"
@@ -53,16 +51,5 @@
53
51
  },
54
52
  "publishConfig": {
55
53
  "access": "public"
56
- },
57
- "scripts": {
58
- "build": "tsc",
59
- "clean": "rimraf dist",
60
- "test": "vitest",
61
- "test:ci": "vitest run",
62
- "test:watch": "vitest",
63
- "test:coverage": "vitest run --coverage",
64
- "test:verbose": "vitest run --reporter=verbose",
65
- "lint": "eslint src --ext .ts",
66
- "build:npm": "tsc --outDir dist-npm"
67
54
  }
68
- }
55
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
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.
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/annotations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -1,35 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/annotations/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1,52 +0,0 @@
1
- /**
2
- * Attack behavior coordinator
3
- *
4
- * Coordinates the various combat behaviors to handle attacks
5
- */
6
- import { IFEntity } from '../entities/if-entity';
7
- import { WorldModel } from '../world/WorldModel';
8
- import { EntityId } from '@sharpee/core';
9
- /**
10
- * Combined result of an attack
11
- */
12
- export interface IAttackResult {
13
- success: boolean;
14
- type: 'broke' | 'damaged' | 'destroyed' | 'killed' | 'hit' | 'ineffective';
15
- damage?: number;
16
- remainingHitPoints?: number;
17
- targetDestroyed?: boolean;
18
- targetKilled?: boolean;
19
- itemsDropped?: EntityId[];
20
- debrisCreated?: EntityId[];
21
- exitRevealed?: string;
22
- transformedTo?: EntityId;
23
- weaponBroke?: boolean;
24
- message?: string;
25
- }
26
- /**
27
- * Attack behavior coordinator.
28
- *
29
- * This behavior coordinates attacks using weapon, breakable, destructible, and combat behaviors.
30
- * It determines which behavior to use based on the target's traits.
31
- */
32
- export declare class AttackBehavior {
33
- /**
34
- * Perform an attack
35
- * @param target The entity being attacked
36
- * @param weapon Optional weapon being used
37
- * @param world The world model
38
- * @returns Combined attack result
39
- */
40
- static attack(target: IFEntity, weapon: IFEntity | undefined, world: WorldModel): IAttackResult;
41
- /**
42
- * Check if a target can be attacked
43
- */
44
- static canAttack(target: IFEntity, weapon?: IFEntity): boolean;
45
- /**
46
- * Infer the best weapon from inventory
47
- * @param inventory Array of entities in player's inventory
48
- * @returns The best weapon found, or undefined
49
- */
50
- static inferWeapon(inventory: IFEntity[]): IFEntity | undefined;
51
- }
52
- //# sourceMappingURL=attack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attack.d.ts","sourceRoot":"","sources":["../../src/behaviors/attack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa;IA2F/F;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO;IAO9D;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,SAAS;CAkChE"}
@@ -1,161 +0,0 @@
1
- "use strict";
2
- /**
3
- * Attack behavior coordinator
4
- *
5
- * Coordinates the various combat behaviors to handle attacks
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.AttackBehavior = void 0;
9
- const trait_types_1 = require("../traits/trait-types");
10
- const weaponBehavior_1 = require("../traits/weapon/weaponBehavior");
11
- const breakableBehavior_1 = require("../traits/breakable/breakableBehavior");
12
- const destructibleBehavior_1 = require("../traits/destructible/destructibleBehavior");
13
- const combatantBehavior_1 = require("../traits/combatant/combatantBehavior");
14
- /**
15
- * Attack behavior coordinator.
16
- *
17
- * This behavior coordinates attacks using weapon, breakable, destructible, and combat behaviors.
18
- * It determines which behavior to use based on the target's traits.
19
- */
20
- class AttackBehavior {
21
- /**
22
- * Perform an attack
23
- * @param target The entity being attacked
24
- * @param weapon Optional weapon being used
25
- * @param world The world model
26
- * @returns Combined attack result
27
- */
28
- static attack(target, weapon, world) {
29
- // Calculate weapon damage if using a weapon
30
- let weaponDamage = 1; // Default unarmed damage
31
- let weaponType;
32
- let weaponResult;
33
- if (weapon && weapon.has(trait_types_1.TraitType.WEAPON)) {
34
- weaponResult = weaponBehavior_1.WeaponBehavior.calculateDamage(weapon);
35
- weaponDamage = weaponResult.damage;
36
- weaponType = weaponResult.weaponType;
37
- }
38
- // Try behaviors in order: Breakable, Destructible, Combatant
39
- // 1. Check if target is breakable (one-hit destruction)
40
- if (target.has(trait_types_1.TraitType.BREAKABLE)) {
41
- const breakResult = breakableBehavior_1.BreakableBehavior.break(target, world);
42
- if (breakResult.success) {
43
- return {
44
- success: true,
45
- type: 'broke',
46
- damage: weaponDamage,
47
- targetDestroyed: true,
48
- debrisCreated: breakResult.debrisCreated,
49
- weaponBroke: weaponResult?.weaponBroke,
50
- message: breakResult.message
51
- };
52
- }
53
- }
54
- // 2. Check if target is destructible (multi-hit with HP)
55
- if (target.has(trait_types_1.TraitType.DESTRUCTIBLE)) {
56
- const damageResult = destructibleBehavior_1.DestructibleBehavior.damage(target, weaponDamage, weaponType, world);
57
- if (damageResult.success) {
58
- return {
59
- success: true,
60
- type: damageResult.destroyed ? 'destroyed' : 'damaged',
61
- damage: damageResult.damage,
62
- remainingHitPoints: damageResult.remainingHitPoints,
63
- targetDestroyed: damageResult.destroyed,
64
- transformedTo: damageResult.transformedTo,
65
- exitRevealed: damageResult.exitRevealed,
66
- weaponBroke: weaponResult?.weaponBroke,
67
- message: damageResult.message
68
- };
69
- }
70
- else {
71
- // Attack failed due to requirements
72
- return {
73
- success: false,
74
- type: 'ineffective',
75
- damage: 0,
76
- message: damageResult.requiresWeapon
77
- ? 'You need a weapon to damage that.'
78
- : damageResult.wrongWeaponType
79
- ? 'That weapon won\'t work on this target.'
80
- : damageResult.invulnerable
81
- ? 'That cannot be damaged.'
82
- : 'Your attack has no effect.'
83
- };
84
- }
85
- }
86
- // 3. Check if target is a combatant (has health)
87
- if (target.has(trait_types_1.TraitType.COMBATANT)) {
88
- const combatResult = combatantBehavior_1.CombatBehavior.attack(target, weaponDamage, world);
89
- if (combatResult.success) {
90
- return {
91
- success: true,
92
- type: combatResult.killed ? 'killed' : 'hit',
93
- damage: combatResult.damage,
94
- remainingHitPoints: combatResult.remainingHealth,
95
- targetKilled: combatResult.killed,
96
- itemsDropped: combatResult.droppedItems,
97
- weaponBroke: weaponResult?.weaponBroke,
98
- message: combatResult.killed ? combatResult.deathMessage : combatResult.message
99
- };
100
- }
101
- }
102
- // 4. Target has no combat-related traits - attack is ineffective
103
- return {
104
- success: false,
105
- type: 'ineffective',
106
- damage: 0,
107
- message: 'Your attack has no effect on that.'
108
- };
109
- }
110
- /**
111
- * Check if a target can be attacked
112
- */
113
- static canAttack(target, weapon) {
114
- // Can attack if target has any combat-related trait
115
- return target.has(trait_types_1.TraitType.BREAKABLE) ||
116
- target.has(trait_types_1.TraitType.DESTRUCTIBLE) ||
117
- target.has(trait_types_1.TraitType.COMBATANT);
118
- }
119
- /**
120
- * Infer the best weapon from inventory
121
- * @param inventory Array of entities in player's inventory
122
- * @returns The best weapon found, or undefined
123
- */
124
- static inferWeapon(inventory) {
125
- // Find all weapons
126
- const weapons = inventory.filter(item => item.has(trait_types_1.TraitType.WEAPON));
127
- if (weapons.length === 0)
128
- return undefined;
129
- // Prefer equipped weapons
130
- const equipped = weapons.filter(w => {
131
- if (!w.has(trait_types_1.TraitType.EQUIPPED))
132
- return false;
133
- const equippedTrait = w.get(trait_types_1.TraitType.EQUIPPED);
134
- return equippedTrait && equippedTrait.isEquipped;
135
- });
136
- if (equipped.length > 0) {
137
- // Return equipped weapon with highest max damage
138
- return equipped.reduce((best, current) => {
139
- const bestWeapon = best.get(trait_types_1.TraitType.WEAPON);
140
- const currentWeapon = current.get(trait_types_1.TraitType.WEAPON);
141
- if (!bestWeapon || !currentWeapon)
142
- return best;
143
- const bestDamage = bestWeapon.maxDamage || 0;
144
- const currentDamage = currentWeapon.maxDamage || 0;
145
- return currentDamage > bestDamage ? current : best;
146
- });
147
- }
148
- // No equipped weapons, return weapon with highest max damage
149
- return weapons.reduce((best, current) => {
150
- const bestWeapon = best.get(trait_types_1.TraitType.WEAPON);
151
- const currentWeapon = current.get(trait_types_1.TraitType.WEAPON);
152
- if (!bestWeapon || !currentWeapon)
153
- return best;
154
- const bestDamage = bestWeapon.maxDamage || 0;
155
- const currentDamage = currentWeapon.maxDamage || 0;
156
- return currentDamage > bestDamage ? current : best;
157
- });
158
- }
159
- }
160
- exports.AttackBehavior = AttackBehavior;
161
- //# sourceMappingURL=attack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attack.js","sourceRoot":"","sources":["../../src/behaviors/attack.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- import { IFEntity } from '../entities/if-entity';
2
- import { TraitType } from '../traits/trait-types';
3
- import { ITrait } from '../traits/trait';
4
- /**
5
- * Base class for all behaviors in the IF system.
6
- *
7
- * Behaviors contain the logic that operates on trait data.
8
- * They declare their required traits and provide helper methods
9
- * for safely accessing those traits.
10
- *
11
- * Note: In the new architecture, behaviors are primarily static
12
- * utility classes rather than instantiated objects.
13
- */
14
- export declare abstract class Behavior {
15
- /**
16
- * List of trait types that must be present on an entity
17
- * for this behavior to function properly.
18
- *
19
- * Example:
20
- * static requiredTraits = [TraitType.LOCKABLE, TraitType.OPENABLE];
21
- */
22
- static requiredTraits: (TraitType | string)[];
23
- /**
24
- * Helper method to require and retrieve a trait from an entity.
25
- * Throws an error if the trait is not present.
26
- *
27
- * @param entity - The entity to get the trait from
28
- * @param traitType - The type of trait to retrieve
29
- * @returns The trait instance
30
- * @throws Error if the trait is not present on the entity
31
- */
32
- protected static require<T extends ITrait>(entity: IFEntity, traitType: TraitType | string): T;
33
- /**
34
- * Helper method to optionally retrieve a trait from an entity.
35
- * Returns undefined if the trait is not present.
36
- *
37
- * @param entity - The entity to get the trait from
38
- * @param traitType - The type of trait to retrieve
39
- * @returns The trait instance or undefined
40
- */
41
- protected static optional<T extends ITrait>(entity: IFEntity, traitType: TraitType | string): T | undefined;
42
- /**
43
- * Validates that an entity has all required traits for this behavior.
44
- *
45
- * @param entity - The entity to validate
46
- * @returns true if all required traits are present
47
- */
48
- static validateEntity(entity: IFEntity): boolean;
49
- /**
50
- * Gets a list of missing required traits for an entity.
51
- *
52
- * @param entity - The entity to check
53
- * @returns Array of missing trait types
54
- */
55
- static getMissingTraits(entity: IFEntity): (TraitType | string)[];
56
- }
57
- /**
58
- * Interface for behaviors that need access to the world context
59
- */
60
- export interface IWorldAwareBehavior {
61
- setWorldContext(context: any): void;
62
- }
63
- /**
64
- * Type guard to check if a behavior is world-aware
65
- */
66
- export declare function isWorldAwareBehavior(behavior: any): behavior is IWorldAwareBehavior;
67
- //# sourceMappingURL=behavior.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/behavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;;;;;GASG;AACH,8BAAsB,QAAQ;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAM;IAEnD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EACvC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC;IASJ;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,EACxC,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,SAAS,GAAG,MAAM,GAC5B,CAAC,GAAG,SAAS;IAOhB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIhD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE;CAGlE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,GAAG,GACZ,QAAQ,IAAI,mBAAmB,CAEjC"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- // packages/world-model/src/behaviors/behavior.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Behavior = void 0;
5
- exports.isWorldAwareBehavior = isWorldAwareBehavior;
6
- /**
7
- * Base class for all behaviors in the IF system.
8
- *
9
- * Behaviors contain the logic that operates on trait data.
10
- * They declare their required traits and provide helper methods
11
- * for safely accessing those traits.
12
- *
13
- * Note: In the new architecture, behaviors are primarily static
14
- * utility classes rather than instantiated objects.
15
- */
16
- class Behavior {
17
- /**
18
- * List of trait types that must be present on an entity
19
- * for this behavior to function properly.
20
- *
21
- * Example:
22
- * static requiredTraits = [TraitType.LOCKABLE, TraitType.OPENABLE];
23
- */
24
- static requiredTraits = [];
25
- /**
26
- * Helper method to require and retrieve a trait from an entity.
27
- * Throws an error if the trait is not present.
28
- *
29
- * @param entity - The entity to get the trait from
30
- * @param traitType - The type of trait to retrieve
31
- * @returns The trait instance
32
- * @throws Error if the trait is not present on the entity
33
- */
34
- static require(entity, traitType) {
35
- if (!entity.has(traitType)) {
36
- throw new Error(`Entity "${entity.id}" missing required trait: ${traitType}`);
37
- }
38
- return entity.get(traitType);
39
- }
40
- /**
41
- * Helper method to optionally retrieve a trait from an entity.
42
- * Returns undefined if the trait is not present.
43
- *
44
- * @param entity - The entity to get the trait from
45
- * @param traitType - The type of trait to retrieve
46
- * @returns The trait instance or undefined
47
- */
48
- static optional(entity, traitType) {
49
- if (!entity.has(traitType)) {
50
- return undefined;
51
- }
52
- return entity.get(traitType);
53
- }
54
- /**
55
- * Validates that an entity has all required traits for this behavior.
56
- *
57
- * @param entity - The entity to validate
58
- * @returns true if all required traits are present
59
- */
60
- static validateEntity(entity) {
61
- return this.requiredTraits.every(trait => entity.has(trait));
62
- }
63
- /**
64
- * Gets a list of missing required traits for an entity.
65
- *
66
- * @param entity - The entity to check
67
- * @returns Array of missing trait types
68
- */
69
- static getMissingTraits(entity) {
70
- return this.requiredTraits.filter(trait => !entity.has(trait));
71
- }
72
- }
73
- exports.Behavior = Behavior;
74
- /**
75
- * Type guard to check if a behavior is world-aware
76
- */
77
- function isWorldAwareBehavior(behavior) {
78
- return 'setWorldContext' in behavior;
79
- }
80
- //# sourceMappingURL=behavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/behaviors/behavior.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAgGjD,oDAIC;AA9FD;;;;;;;;;GASG;AACH,MAAsB,QAAQ;IAC5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,GAA2B,EAAE,CAAC;IAEnD;;;;;;;;OAQG;IACO,MAAM,CAAC,OAAO,CACtB,MAAgB,EAChB,SAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,EAAE,6BAA6B,SAAS,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACO,MAAM,CAAC,QAAQ,CACvB,MAAgB,EAChB,SAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAgB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAgB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;;AAnEH,4BAoEC;AASD;;GAEG;AACH,SAAgB,oBAAoB,CAClC,QAAa;IAEb,OAAO,iBAAiB,IAAI,QAAQ,CAAC;AACvC,CAAC"}
@@ -1,21 +0,0 @@
1
- export { Behavior, IWorldAwareBehavior, isWorldAwareBehavior } from './behavior';
2
- export { ContainerBehavior } from '../traits/container/containerBehavior';
3
- export { SceneryBehavior } from '../traits/scenery/sceneryBehavior';
4
- export { WearableBehavior } from '../traits/wearable/wearableBehavior';
5
- export { ReadableBehavior } from '../traits/readable/readableBehavior';
6
- export { LightSourceBehavior } from '../traits/light-source/lightSourceBehavior';
7
- export { ExitBehavior } from '../traits/exit/exitBehavior';
8
- export { ClimbableBehavior } from '../traits/climbable/climbableBehavior';
9
- export { OpenableBehavior } from '../traits/openable/openableBehavior';
10
- export { LockableBehavior } from '../traits/lockable/lockableBehavior';
11
- export { WeaponBehavior } from '../traits/weapon/weaponBehavior';
12
- export { BreakableBehavior } from '../traits/breakable/breakableBehavior';
13
- export { DestructibleBehavior } from '../traits/destructible/destructibleBehavior';
14
- export { CombatBehavior } from '../traits/combatant/combatantBehavior';
15
- export { AttackBehavior, IAttackResult } from './attack';
16
- export type { IOpenResult, ICloseResult } from '../traits/openable/openableBehavior';
17
- export type { IWeaponDamageResult } from '../traits/weapon/weaponBehavior';
18
- export type { IBreakResult } from '../traits/breakable/breakableBehavior';
19
- export type { IDamageResult } from '../traits/destructible/destructibleBehavior';
20
- export type { ICombatResult } from '../traits/combatant/combatantBehavior';
21
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/behaviors/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACrF,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- // packages/world-model/src/behaviors/index.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AttackBehavior = exports.CombatBehavior = exports.DestructibleBehavior = exports.BreakableBehavior = exports.WeaponBehavior = exports.LockableBehavior = exports.OpenableBehavior = exports.ClimbableBehavior = exports.ExitBehavior = exports.LightSourceBehavior = exports.ReadableBehavior = exports.WearableBehavior = exports.SceneryBehavior = exports.ContainerBehavior = exports.isWorldAwareBehavior = exports.Behavior = void 0;
5
- var behavior_1 = require("./behavior");
6
- Object.defineProperty(exports, "Behavior", { enumerable: true, get: function () { return behavior_1.Behavior; } });
7
- Object.defineProperty(exports, "isWorldAwareBehavior", { enumerable: true, get: function () { return behavior_1.isWorldAwareBehavior; } });
8
- // Re-export all behavior classes as they are added
9
- // These will come from the trait folders
10
- var containerBehavior_1 = require("../traits/container/containerBehavior");
11
- Object.defineProperty(exports, "ContainerBehavior", { enumerable: true, get: function () { return containerBehavior_1.ContainerBehavior; } });
12
- var sceneryBehavior_1 = require("../traits/scenery/sceneryBehavior");
13
- Object.defineProperty(exports, "SceneryBehavior", { enumerable: true, get: function () { return sceneryBehavior_1.SceneryBehavior; } });
14
- var wearableBehavior_1 = require("../traits/wearable/wearableBehavior");
15
- Object.defineProperty(exports, "WearableBehavior", { enumerable: true, get: function () { return wearableBehavior_1.WearableBehavior; } });
16
- var readableBehavior_1 = require("../traits/readable/readableBehavior");
17
- Object.defineProperty(exports, "ReadableBehavior", { enumerable: true, get: function () { return readableBehavior_1.ReadableBehavior; } });
18
- var lightSourceBehavior_1 = require("../traits/light-source/lightSourceBehavior");
19
- Object.defineProperty(exports, "LightSourceBehavior", { enumerable: true, get: function () { return lightSourceBehavior_1.LightSourceBehavior; } });
20
- var exitBehavior_1 = require("../traits/exit/exitBehavior");
21
- Object.defineProperty(exports, "ExitBehavior", { enumerable: true, get: function () { return exitBehavior_1.ExitBehavior; } });
22
- var climbableBehavior_1 = require("../traits/climbable/climbableBehavior");
23
- Object.defineProperty(exports, "ClimbableBehavior", { enumerable: true, get: function () { return climbableBehavior_1.ClimbableBehavior; } });
24
- var openableBehavior_1 = require("../traits/openable/openableBehavior");
25
- Object.defineProperty(exports, "OpenableBehavior", { enumerable: true, get: function () { return openableBehavior_1.OpenableBehavior; } });
26
- var lockableBehavior_1 = require("../traits/lockable/lockableBehavior");
27
- Object.defineProperty(exports, "LockableBehavior", { enumerable: true, get: function () { return lockableBehavior_1.LockableBehavior; } });
28
- // Combat behaviors
29
- var weaponBehavior_1 = require("../traits/weapon/weaponBehavior");
30
- Object.defineProperty(exports, "WeaponBehavior", { enumerable: true, get: function () { return weaponBehavior_1.WeaponBehavior; } });
31
- var breakableBehavior_1 = require("../traits/breakable/breakableBehavior");
32
- Object.defineProperty(exports, "BreakableBehavior", { enumerable: true, get: function () { return breakableBehavior_1.BreakableBehavior; } });
33
- var destructibleBehavior_1 = require("../traits/destructible/destructibleBehavior");
34
- Object.defineProperty(exports, "DestructibleBehavior", { enumerable: true, get: function () { return destructibleBehavior_1.DestructibleBehavior; } });
35
- var combatantBehavior_1 = require("../traits/combatant/combatantBehavior");
36
- Object.defineProperty(exports, "CombatBehavior", { enumerable: true, get: function () { return combatantBehavior_1.CombatBehavior; } });
37
- var attack_1 = require("./attack");
38
- Object.defineProperty(exports, "AttackBehavior", { enumerable: true, get: function () { return attack_1.AttackBehavior; } });
39
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/behaviors/index.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AAE9C,uCAAiF;AAAxE,oGAAA,QAAQ,OAAA;AAAuB,gHAAA,oBAAoB,OAAA;AAE5D,mDAAmD;AACnD,yCAAyC;AACzC,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,qEAAoE;AAA3D,kHAAA,eAAe,OAAA;AACxB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,kFAAiF;AAAxE,0HAAA,mBAAmB,OAAA;AAC5B,4DAA2D;AAAlD,4GAAA,YAAY,OAAA;AACrB,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AAEzB,mBAAmB;AACnB,kEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,2EAA0E;AAAjE,sHAAA,iBAAiB,OAAA;AAC1B,oFAAmF;AAA1E,4HAAA,oBAAoB,OAAA;AAC7B,2EAAuE;AAA9D,mHAAA,cAAc,OAAA;AACvB,mCAAyD;AAAhD,wGAAA,cAAc,OAAA"}