@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
@@ -1,151 +0,0 @@
1
- import { IFEntity } from '../entities/if-entity';
2
- import { TraitType } from '../traits/trait-types';
3
- import { SpatialIndex } from './SpatialIndex';
4
- import { ITrait } from '../traits/trait';
5
- import { ICapabilityStore } from './capabilities';
6
- import type { IWorldModel } from './WorldModel';
7
- /**
8
- * Data store shared between WorldModel and AuthorModel
9
- */
10
- export interface IDataStore {
11
- entities: Map<string, IFEntity>;
12
- spatialIndex: SpatialIndex;
13
- state: Record<string, any>;
14
- playerId?: string;
15
- relationships: Map<string, Map<string, Set<string>>>;
16
- idCounters: Map<string, number>;
17
- capabilities: ICapabilityStore;
18
- }
19
- /**
20
- * Item specification for bulk creation
21
- */
22
- export interface IItemSpec {
23
- name: string;
24
- type?: string;
25
- attributes?: Record<string, any>;
26
- traits?: TraitType[];
27
- }
28
- /**
29
- * AuthorModel provides unrestricted access to the world state for authoring,
30
- * testing, and world setup. It bypasses all validation rules and does not
31
- * emit events (unless explicitly requested).
32
- *
33
- * Use AuthorModel when:
34
- * - Setting up initial world state
35
- * - Populating containers (even closed ones)
36
- * - Loading saved games
37
- * - Writing tests
38
- * - Implementing special mechanics (magic, teleportation, etc.)
39
- *
40
- * @example
41
- * ```typescript
42
- * const author = new AuthorModel(world.getDataStore());
43
- * const cabinet = author.createEntity('Medicine Cabinet', 'container');
44
- * cabinet.add(new OpenableTrait({ isOpen: false }));
45
- *
46
- * // Can place items in closed container!
47
- * const medicine = author.createEntity('Aspirin', 'item');
48
- * author.moveEntity(medicine.id, cabinet.id); // Works even though closed
49
- * ```
50
- */
51
- export declare class AuthorModel {
52
- private dataStore;
53
- private worldModel?;
54
- private eventHandlers;
55
- constructor(dataStore: IDataStore, worldModel?: IWorldModel);
56
- /**
57
- * Get the shared data store. This allows creating a WorldModel
58
- * that shares the same state.
59
- */
60
- getDataStore(): IDataStore;
61
- /**
62
- * Create a new entity without any validation.
63
- * @param name Display name for the entity
64
- * @param type Entity type (room, item, actor, etc.)
65
- * @param recordEvent If true, emits an 'author:entity:created' event
66
- */
67
- createEntity(name: string, type?: string, recordEvent?: boolean): IFEntity;
68
- /**
69
- * Remove an entity without validation.
70
- * @param entityId ID of entity to remove
71
- * @param recordEvent If true, emits an 'author:entity:removed' event
72
- */
73
- removeEntity(entityId: string, recordEvent?: boolean): void;
74
- /**
75
- * Move an entity to a new location without any validation.
76
- * Can move entities into closed containers, locked containers, or any location.
77
- * @param entityId ID of entity to move
78
- * @param targetId ID of target location (null to remove from world)
79
- * @param recordEvent If true, emits an 'author:entity:moved' event
80
- */
81
- moveEntity(entityId: string, targetId: string | null, recordEvent?: boolean): void;
82
- /**
83
- * Get an entity by ID
84
- */
85
- getEntity(entityId: string): IFEntity | undefined;
86
- /**
87
- * Set an entity property directly without validation
88
- */
89
- setEntityProperty(entityId: string, property: string, value: any, recordEvent?: boolean): void;
90
- /**
91
- * Add a trait to an entity without validation
92
- */
93
- addTrait(entityId: string, trait: ITrait, recordEvent?: boolean): void;
94
- /**
95
- * Remove a trait from an entity without validation
96
- */
97
- removeTrait(entityId: string, traitType: TraitType, recordEvent?: boolean): void;
98
- /**
99
- * Move multiple entities to a container in one operation
100
- */
101
- populate(containerId: string, entityIds: string[], recordEvent?: boolean): void;
102
- /**
103
- * Create a bidirectional connection between two rooms
104
- */
105
- connect(room1Id: string, room2Id: string, direction: string, recordEvent?: boolean): void;
106
- /**
107
- * Fill a container with items based on specifications
108
- */
109
- fillContainer(containerId: string, itemSpecs: IItemSpec[], recordEvent?: boolean): void;
110
- /**
111
- * Place an actor at a location (convenience method)
112
- */
113
- placeActor(actorId: string, locationId: string, recordEvent?: boolean): void;
114
- /**
115
- * Set up a container with common properties
116
- */
117
- setupContainer(containerId: string, isOpen?: boolean, isLocked?: boolean, keyId?: string, recordEvent?: boolean): void;
118
- /**
119
- * Set a world state value directly
120
- */
121
- setStateValue(key: string, value: any, recordEvent?: boolean): void;
122
- /**
123
- * Set the player entity
124
- */
125
- setPlayer(entityId: string, recordEvent?: boolean): void;
126
- /**
127
- * Clear all world data
128
- */
129
- clear(recordEvent?: boolean): void;
130
- /**
131
- * Import world data from a serialized format
132
- */
133
- import(data: any, recordEvent?: boolean): void;
134
- /**
135
- * Generate an ID for a new entity
136
- */
137
- private generateId;
138
- /**
139
- * Emit an author event if event recording is enabled
140
- */
141
- private emitEvent;
142
- /**
143
- * Register an event handler for author events
144
- */
145
- registerEventHandler(eventType: string, handler: (event: any) => void): void;
146
- /**
147
- * Unregister an event handler
148
- */
149
- unregisterEventHandler(eventType: string): void;
150
- }
151
- //# sourceMappingURL=AuthorModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthorModel.d.ts","sourceRoot":"","sources":["../../src/world/AuthorModel.ts"],"names":[],"mappings":"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"}
@@ -1,416 +0,0 @@
1
- "use strict";
2
- // AuthorModel.ts - Unrestricted world model access for authoring and setup
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AuthorModel = void 0;
5
- const if_entity_1 = require("../entities/if-entity");
6
- const trait_types_1 = require("../traits/trait-types");
7
- const openableTrait_1 = require("../traits/openable/openableTrait");
8
- const lockableTrait_1 = require("../traits/lockable/lockableTrait");
9
- /**
10
- * AuthorModel provides unrestricted access to the world state for authoring,
11
- * testing, and world setup. It bypasses all validation rules and does not
12
- * emit events (unless explicitly requested).
13
- *
14
- * Use AuthorModel when:
15
- * - Setting up initial world state
16
- * - Populating containers (even closed ones)
17
- * - Loading saved games
18
- * - Writing tests
19
- * - Implementing special mechanics (magic, teleportation, etc.)
20
- *
21
- * @example
22
- * ```typescript
23
- * const author = new AuthorModel(world.getDataStore());
24
- * const cabinet = author.createEntity('Medicine Cabinet', 'container');
25
- * cabinet.add(new OpenableTrait({ isOpen: false }));
26
- *
27
- * // Can place items in closed container!
28
- * const medicine = author.createEntity('Aspirin', 'item');
29
- * author.moveEntity(medicine.id, cabinet.id); // Works even though closed
30
- * ```
31
- */
32
- class AuthorModel {
33
- dataStore;
34
- worldModel;
35
- eventHandlers = new Map();
36
- constructor(dataStore, worldModel) {
37
- this.dataStore = dataStore;
38
- this.worldModel = worldModel;
39
- }
40
- /**
41
- * Get the shared data store. This allows creating a WorldModel
42
- * that shares the same state.
43
- */
44
- getDataStore() {
45
- return this.dataStore;
46
- }
47
- // ========== Entity Management ==========
48
- /**
49
- * Create a new entity without any validation.
50
- * @param name Display name for the entity
51
- * @param type Entity type (room, item, actor, etc.)
52
- * @param recordEvent If true, emits an 'author:entity:created' event
53
- */
54
- createEntity(name, type = 'object', recordEvent = false) {
55
- const id = this.generateId(type);
56
- const entity = new if_entity_1.IFEntity(id, type, {
57
- attributes: {
58
- displayName: name,
59
- name: name, // For compatibility
60
- entityType: type
61
- }
62
- });
63
- // Add to data store
64
- this.dataStore.entities.set(id, entity);
65
- if (recordEvent) {
66
- this.emitEvent('author:entity:created', {
67
- entityId: id,
68
- name,
69
- entityType: type
70
- });
71
- }
72
- return entity;
73
- }
74
- /**
75
- * Remove an entity without validation.
76
- * @param entityId ID of entity to remove
77
- * @param recordEvent If true, emits an 'author:entity:removed' event
78
- */
79
- removeEntity(entityId, recordEvent = false) {
80
- const entity = this.dataStore.entities.get(entityId);
81
- if (!entity)
82
- return;
83
- // Remove from spatial index
84
- this.dataStore.spatialIndex.remove(entityId);
85
- // Remove from relationships
86
- this.dataStore.relationships.delete(entityId);
87
- // Remove as target of relationships
88
- for (const [, rels] of this.dataStore.relationships) {
89
- for (const [, targets] of rels) {
90
- targets.delete(entityId);
91
- }
92
- }
93
- // Remove entity
94
- this.dataStore.entities.delete(entityId);
95
- if (recordEvent) {
96
- this.emitEvent('author:entity:removed', {
97
- entityId,
98
- name
99
- });
100
- }
101
- }
102
- /**
103
- * Move an entity to a new location without any validation.
104
- * Can move entities into closed containers, locked containers, or any location.
105
- * @param entityId ID of entity to move
106
- * @param targetId ID of target location (null to remove from world)
107
- * @param recordEvent If true, emits an 'author:entity:moved' event
108
- */
109
- moveEntity(entityId, targetId, recordEvent = false) {
110
- // Remove from current location
111
- const currentLocation = this.dataStore.spatialIndex.getParent(entityId);
112
- if (currentLocation) {
113
- this.dataStore.spatialIndex.removeChild(currentLocation, entityId);
114
- }
115
- // Add to new location
116
- if (targetId !== null) {
117
- this.dataStore.spatialIndex.addChild(targetId, entityId);
118
- }
119
- if (recordEvent) {
120
- this.emitEvent('author:entity:moved', {
121
- entityId,
122
- from: currentLocation,
123
- to: targetId
124
- });
125
- }
126
- }
127
- /**
128
- * Get an entity by ID
129
- */
130
- getEntity(entityId) {
131
- return this.dataStore.entities.get(entityId);
132
- }
133
- /**
134
- * Set an entity property directly without validation
135
- */
136
- setEntityProperty(entityId, property, value, recordEvent = false) {
137
- const entity = this.dataStore.entities.get(entityId);
138
- if (!entity)
139
- return;
140
- entity.attributes[property] = value;
141
- if (recordEvent) {
142
- this.emitEvent('author:entity:property:changed', {
143
- entityId,
144
- property,
145
- value
146
- });
147
- }
148
- }
149
- /**
150
- * Add a trait to an entity without validation
151
- */
152
- addTrait(entityId, trait, recordEvent = false) {
153
- const entity = this.dataStore.entities.get(entityId);
154
- if (!entity)
155
- return;
156
- entity.add(trait);
157
- if (recordEvent) {
158
- this.emitEvent('author:entity:trait:added', {
159
- entityId,
160
- traitType: trait.type
161
- });
162
- }
163
- }
164
- /**
165
- * Remove a trait from an entity without validation
166
- */
167
- removeTrait(entityId, traitType, recordEvent = false) {
168
- const entity = this.dataStore.entities.get(entityId);
169
- if (!entity)
170
- return;
171
- entity.remove(traitType);
172
- if (recordEvent) {
173
- this.emitEvent('author:entity:trait:removed', {
174
- entityId,
175
- traitType
176
- });
177
- }
178
- }
179
- // ========== Convenience Methods ==========
180
- /**
181
- * Move multiple entities to a container in one operation
182
- */
183
- populate(containerId, entityIds, recordEvent = false) {
184
- for (const entityId of entityIds) {
185
- this.moveEntity(entityId, containerId, recordEvent);
186
- }
187
- }
188
- /**
189
- * Create a bidirectional connection between two rooms
190
- */
191
- connect(room1Id, room2Id, direction, recordEvent = false) {
192
- const room1 = this.dataStore.entities.get(room1Id);
193
- const room2 = this.dataStore.entities.get(room2Id);
194
- if (!room1 || !room2)
195
- return;
196
- // Get opposite direction
197
- const opposites = {
198
- 'north': 'south',
199
- 'south': 'north',
200
- 'east': 'west',
201
- 'west': 'east',
202
- 'northeast': 'southwest',
203
- 'northwest': 'southeast',
204
- 'southeast': 'northwest',
205
- 'southwest': 'northeast',
206
- 'up': 'down',
207
- 'down': 'up',
208
- 'in': 'out',
209
- 'out': 'in'
210
- };
211
- const opposite = opposites[direction] || direction;
212
- // Add exits to both rooms
213
- if (!room1.attributes.exits) {
214
- room1.attributes.exits = {};
215
- }
216
- if (!room2.attributes.exits) {
217
- room2.attributes.exits = {};
218
- }
219
- // Type assertion since we know exits is now a Record<string, string>
220
- room1.attributes.exits[direction] = room2Id;
221
- room2.attributes.exits[opposite] = room1Id;
222
- if (recordEvent) {
223
- this.emitEvent('author:rooms:connected', {
224
- room1Id,
225
- room2Id,
226
- direction,
227
- opposite
228
- });
229
- }
230
- }
231
- /**
232
- * Fill a container with items based on specifications
233
- */
234
- fillContainer(containerId, itemSpecs, recordEvent = false) {
235
- for (const spec of itemSpecs) {
236
- const item = this.createEntity(spec.name, spec.type || 'item', recordEvent);
237
- // Apply attributes
238
- if (spec.attributes) {
239
- Object.assign(item.attributes, spec.attributes);
240
- }
241
- // Add traits
242
- if (spec.traits) {
243
- for (const traitType of spec.traits) {
244
- // Note: In a real implementation, you'd need trait factories
245
- // For now, we'll skip trait creation
246
- }
247
- }
248
- this.moveEntity(item.id, containerId, recordEvent);
249
- }
250
- }
251
- /**
252
- * Place an actor at a location (convenience method)
253
- */
254
- placeActor(actorId, locationId, recordEvent = false) {
255
- this.moveEntity(actorId, locationId, recordEvent);
256
- }
257
- /**
258
- * Set up a container with common properties
259
- */
260
- setupContainer(containerId, isOpen, isLocked, keyId, recordEvent = false) {
261
- const container = this.dataStore.entities.get(containerId);
262
- if (!container)
263
- return;
264
- if (isOpen !== undefined) {
265
- const openable = container.getTrait(trait_types_1.TraitType.OPENABLE);
266
- if (openable) {
267
- openable.isOpen = isOpen;
268
- }
269
- else {
270
- const newOpenable = new openableTrait_1.OpenableTrait();
271
- newOpenable.isOpen = isOpen;
272
- this.addTrait(containerId, newOpenable, recordEvent);
273
- }
274
- }
275
- if (isLocked !== undefined) {
276
- const lockable = container.getTrait(trait_types_1.TraitType.LOCKABLE);
277
- if (lockable) {
278
- lockable.isLocked = isLocked;
279
- if (keyId)
280
- lockable.requiredKey = keyId;
281
- }
282
- else {
283
- const newLockable = new lockableTrait_1.LockableTrait();
284
- newLockable.isLocked = isLocked;
285
- if (keyId)
286
- newLockable.requiredKey = keyId;
287
- this.addTrait(containerId, newLockable, recordEvent);
288
- }
289
- }
290
- }
291
- // ========== State Management ==========
292
- /**
293
- * Set a world state value directly
294
- */
295
- setStateValue(key, value, recordEvent = false) {
296
- this.dataStore.state[key] = value;
297
- if (recordEvent) {
298
- this.emitEvent('author:state:changed', {
299
- key,
300
- value
301
- });
302
- }
303
- }
304
- /**
305
- * Set the player entity
306
- */
307
- setPlayer(entityId, recordEvent = false) {
308
- if (!this.dataStore.entities.has(entityId)) {
309
- // AuthorModel doesn't validate, but we should at least check existence
310
- console.warn(`Setting player to non-existent entity: ${entityId}`);
311
- }
312
- // If we have a reference to the WorldModel, use its setPlayer method
313
- if (this.worldModel) {
314
- this.worldModel.playerId = entityId;
315
- }
316
- else {
317
- this.dataStore.playerId = entityId;
318
- }
319
- if (recordEvent) {
320
- this.emitEvent('author:player:set', {
321
- playerId: entityId
322
- });
323
- }
324
- }
325
- // ========== Bulk Operations ==========
326
- /**
327
- * Clear all world data
328
- */
329
- clear(recordEvent = false) {
330
- this.dataStore.entities.clear();
331
- this.dataStore.spatialIndex.clear();
332
- // Clear state properties instead of replacing object
333
- for (const key in this.dataStore.state) {
334
- delete this.dataStore.state[key];
335
- }
336
- if (this.worldModel) {
337
- this.worldModel.playerId = undefined;
338
- }
339
- else {
340
- this.dataStore.playerId = undefined;
341
- }
342
- this.dataStore.relationships.clear();
343
- this.dataStore.idCounters.clear();
344
- this.dataStore.capabilities = {};
345
- if (recordEvent) {
346
- this.emitEvent('author:world:cleared', {});
347
- }
348
- }
349
- /**
350
- * Import world data from a serialized format
351
- */
352
- import(data, recordEvent = false) {
353
- // Implementation would depend on the data format
354
- // For now, this is a placeholder
355
- if (recordEvent) {
356
- this.emitEvent('author:world:imported', {
357
- entityCount: this.dataStore.entities.size
358
- });
359
- }
360
- }
361
- // ========== Private Helpers ==========
362
- /**
363
- * Generate an ID for a new entity
364
- */
365
- generateId(type) {
366
- const TYPE_PREFIXES = {
367
- 'room': 'r',
368
- 'door': 'd',
369
- 'item': 'i',
370
- 'actor': 'a',
371
- 'container': 'c',
372
- 'supporter': 's',
373
- 'scenery': 'y',
374
- 'exit': 'e',
375
- 'object': 'o'
376
- };
377
- const prefix = TYPE_PREFIXES[type] || TYPE_PREFIXES['object'];
378
- const counter = this.dataStore.idCounters.get(prefix) || 0;
379
- const nextCounter = counter + 1;
380
- if (nextCounter > 1295) {
381
- throw new Error(`ID overflow for type '${type}' (prefix '${prefix}')`);
382
- }
383
- this.dataStore.idCounters.set(prefix, nextCounter);
384
- const base36 = nextCounter.toString(36).padStart(2, '0');
385
- return `${prefix}${base36}`;
386
- }
387
- /**
388
- * Emit an author event if event recording is enabled
389
- */
390
- emitEvent(eventType, data) {
391
- const handler = this.eventHandlers.get(eventType);
392
- if (handler) {
393
- // Ensure the event has the type field included
394
- const event = {
395
- type: eventType,
396
- timestamp: Date.now(),
397
- ...data
398
- };
399
- handler(event);
400
- }
401
- }
402
- /**
403
- * Register an event handler for author events
404
- */
405
- registerEventHandler(eventType, handler) {
406
- this.eventHandlers.set(eventType, handler);
407
- }
408
- /**
409
- * Unregister an event handler
410
- */
411
- unregisterEventHandler(eventType) {
412
- this.eventHandlers.delete(eventType);
413
- }
414
- }
415
- exports.AuthorModel = AuthorModel;
416
- //# sourceMappingURL=AuthorModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthorModel.js","sourceRoot":"","sources":["../../src/world/AuthorModel.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { IFEntity } from '../entities/if-entity';
2
- import { SpatialIndex } from './SpatialIndex';
3
- /**
4
- * Wrapper class that holds references to shared state between WorldModel and AuthorModel.
5
- * This ensures that changes made by one model are visible to the other.
6
- */
7
- export declare class SharedDataStore {
8
- entities: Map<string, IFEntity>;
9
- spatialIndex: SpatialIndex;
10
- state: Record<string, any>;
11
- private _playerId?;
12
- relationships: Map<string, Map<string, Set<string>>>;
13
- idCounters: Map<string, number>;
14
- nameToId: Map<string, string>;
15
- idToName: Map<string, string>;
16
- constructor();
17
- get playerId(): string | undefined;
18
- set playerId(value: string | undefined);
19
- /**
20
- * Clear all data in the store
21
- */
22
- clear(): void;
23
- }
24
- //# sourceMappingURL=SharedDataStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SharedDataStore.d.ts","sourceRoot":"","sources":["../../src/world/SharedDataStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;IAa9B,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAErC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAUd"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- // SharedDataStore.ts - Shared state wrapper for WorldModel and AuthorModel
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SharedDataStore = void 0;
5
- const SpatialIndex_1 = require("./SpatialIndex");
6
- /**
7
- * Wrapper class that holds references to shared state between WorldModel and AuthorModel.
8
- * This ensures that changes made by one model are visible to the other.
9
- */
10
- class SharedDataStore {
11
- entities;
12
- spatialIndex;
13
- state;
14
- _playerId;
15
- relationships;
16
- idCounters;
17
- nameToId;
18
- idToName;
19
- constructor() {
20
- this.entities = new Map();
21
- this.spatialIndex = new SpatialIndex_1.SpatialIndex();
22
- this.state = {};
23
- this._playerId = undefined;
24
- this.relationships = new Map();
25
- this.idCounters = new Map();
26
- this.nameToId = new Map();
27
- this.idToName = new Map();
28
- }
29
- get playerId() {
30
- return this._playerId;
31
- }
32
- set playerId(value) {
33
- this._playerId = value;
34
- }
35
- /**
36
- * Clear all data in the store
37
- */
38
- clear() {
39
- this.entities.clear();
40
- this.spatialIndex.clear();
41
- this.state = {};
42
- this._playerId = undefined;
43
- this.relationships.clear();
44
- this.idCounters.clear();
45
- this.nameToId.clear();
46
- this.idToName.clear();
47
- }
48
- }
49
- exports.SharedDataStore = SharedDataStore;
50
- //# sourceMappingURL=SharedDataStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SharedDataStore.js","sourceRoot":"","sources":["../../src/world/SharedDataStore.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAG3E,iDAA8C;AAE9C;;;GAGG;AACH,MAAa,eAAe;IAC1B,QAAQ,CAAwB;IAChC,YAAY,CAAe;IAC3B,KAAK,CAAsB;IACnB,SAAS,CAAU;IAC3B,aAAa,CAAwC;IACrD,UAAU,CAAsB;IAChC,QAAQ,CAAsB;IAC9B,QAAQ,CAAsB;IAE9B;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAyB;QACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AA1CD,0CA0CC"}