@sharpee/world-model 0.9.60-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 (566) hide show
  1. package/README.md +61 -0
  2. package/dist/behaviors/attack.d.ts +52 -0
  3. package/dist/behaviors/attack.d.ts.map +1 -0
  4. package/dist/behaviors/attack.js +161 -0
  5. package/dist/behaviors/attack.js.map +1 -0
  6. package/dist/behaviors/behavior.d.ts +67 -0
  7. package/dist/behaviors/behavior.d.ts.map +1 -0
  8. package/dist/behaviors/behavior.js +80 -0
  9. package/dist/behaviors/behavior.js.map +1 -0
  10. package/dist/behaviors/index.d.ts +21 -0
  11. package/dist/behaviors/index.d.ts.map +1 -0
  12. package/dist/behaviors/index.js +39 -0
  13. package/dist/behaviors/index.js.map +1 -0
  14. package/dist/capabilities/capability-behavior.d.ts +112 -0
  15. package/dist/capabilities/capability-behavior.d.ts.map +1 -0
  16. package/dist/capabilities/capability-behavior.js +9 -0
  17. package/dist/capabilities/capability-behavior.js.map +1 -0
  18. package/dist/capabilities/capability-defaults.d.ts +67 -0
  19. package/dist/capabilities/capability-defaults.d.ts.map +1 -0
  20. package/dist/capabilities/capability-defaults.js +81 -0
  21. package/dist/capabilities/capability-defaults.js.map +1 -0
  22. package/dist/capabilities/capability-helpers.d.ts +76 -0
  23. package/dist/capabilities/capability-helpers.d.ts.map +1 -0
  24. package/dist/capabilities/capability-helpers.js +112 -0
  25. package/dist/capabilities/capability-helpers.js.map +1 -0
  26. package/dist/capabilities/capability-registry.d.ts +115 -0
  27. package/dist/capabilities/capability-registry.d.ts.map +1 -0
  28. package/dist/capabilities/capability-registry.js +136 -0
  29. package/dist/capabilities/capability-registry.js.map +1 -0
  30. package/dist/capabilities/entity-builder.d.ts +79 -0
  31. package/dist/capabilities/entity-builder.d.ts.map +1 -0
  32. package/dist/capabilities/entity-builder.js +116 -0
  33. package/dist/capabilities/entity-builder.js.map +1 -0
  34. package/dist/capabilities/index.d.ts +13 -0
  35. package/dist/capabilities/index.d.ts.map +1 -0
  36. package/dist/capabilities/index.js +40 -0
  37. package/dist/capabilities/index.js.map +1 -0
  38. package/dist/capabilities/types.d.ts +35 -0
  39. package/dist/capabilities/types.d.ts.map +1 -0
  40. package/dist/capabilities/types.js +16 -0
  41. package/dist/capabilities/types.js.map +1 -0
  42. package/dist/commands/command-types.d.ts +30 -0
  43. package/dist/commands/command-types.d.ts.map +1 -0
  44. package/dist/commands/command-types.js +6 -0
  45. package/dist/commands/command-types.js.map +1 -0
  46. package/dist/commands/index.d.ts +7 -0
  47. package/dist/commands/index.d.ts.map +1 -0
  48. package/dist/commands/index.js +23 -0
  49. package/dist/commands/index.js.map +1 -0
  50. package/dist/commands/parsed-command.d.ts +204 -0
  51. package/dist/commands/parsed-command.d.ts.map +1 -0
  52. package/dist/commands/parsed-command.js +25 -0
  53. package/dist/commands/parsed-command.js.map +1 -0
  54. package/dist/commands/validated-command.d.ts +52 -0
  55. package/dist/commands/validated-command.d.ts.map +1 -0
  56. package/dist/commands/validated-command.js +8 -0
  57. package/dist/commands/validated-command.js.map +1 -0
  58. package/dist/constants/action-failures.d.ts +54 -0
  59. package/dist/constants/action-failures.d.ts.map +1 -0
  60. package/dist/constants/action-failures.js +68 -0
  61. package/dist/constants/action-failures.js.map +1 -0
  62. package/dist/constants/directions.d.ts +32 -0
  63. package/dist/constants/directions.d.ts.map +1 -0
  64. package/dist/constants/directions.js +53 -0
  65. package/dist/constants/directions.js.map +1 -0
  66. package/dist/constants/if-events.d.ts +5 -0
  67. package/dist/constants/if-events.d.ts.map +1 -0
  68. package/dist/constants/if-events.js +10 -0
  69. package/dist/constants/if-events.js.map +1 -0
  70. package/dist/constants/index.d.ts +9 -0
  71. package/dist/constants/index.d.ts.map +1 -0
  72. package/dist/constants/index.js +25 -0
  73. package/dist/constants/index.js.map +1 -0
  74. package/dist/entities/entity-store.d.ts +66 -0
  75. package/dist/entities/entity-store.d.ts.map +1 -0
  76. package/dist/entities/entity-store.js +116 -0
  77. package/dist/entities/entity-store.js.map +1 -0
  78. package/dist/entities/entity-types.d.ts +40 -0
  79. package/dist/entities/entity-types.d.ts.map +1 -0
  80. package/dist/entities/entity-types.js +56 -0
  81. package/dist/entities/entity-types.js.map +1 -0
  82. package/dist/entities/if-entity.d.ts +259 -0
  83. package/dist/entities/if-entity.d.ts.map +1 -0
  84. package/dist/entities/if-entity.js +498 -0
  85. package/dist/entities/if-entity.js.map +1 -0
  86. package/dist/entities/index.d.ts +5 -0
  87. package/dist/entities/index.d.ts.map +1 -0
  88. package/dist/entities/index.js +13 -0
  89. package/dist/entities/index.js.map +1 -0
  90. package/dist/events/types.d.ts +45 -0
  91. package/dist/events/types.d.ts.map +1 -0
  92. package/dist/events/types.js +9 -0
  93. package/dist/events/types.js.map +1 -0
  94. package/dist/examples/event-handler-registration.d.ts +14 -0
  95. package/dist/examples/event-handler-registration.d.ts.map +1 -0
  96. package/dist/examples/event-handler-registration.js +158 -0
  97. package/dist/examples/event-handler-registration.js.map +1 -0
  98. package/dist/extensions/base-extension.d.ts +69 -0
  99. package/dist/extensions/base-extension.d.ts.map +1 -0
  100. package/dist/extensions/base-extension.js +83 -0
  101. package/dist/extensions/base-extension.js.map +1 -0
  102. package/dist/extensions/index.d.ts +11 -0
  103. package/dist/extensions/index.d.ts.map +1 -0
  104. package/dist/extensions/index.js +39 -0
  105. package/dist/extensions/index.js.map +1 -0
  106. package/dist/extensions/loader.d.ts +52 -0
  107. package/dist/extensions/loader.d.ts.map +1 -0
  108. package/dist/extensions/loader.js +177 -0
  109. package/dist/extensions/loader.js.map +1 -0
  110. package/dist/extensions/manager.d.ts +68 -0
  111. package/dist/extensions/manager.d.ts.map +1 -0
  112. package/dist/extensions/manager.js +164 -0
  113. package/dist/extensions/manager.js.map +1 -0
  114. package/dist/extensions/registry.d.ts +100 -0
  115. package/dist/extensions/registry.d.ts.map +1 -0
  116. package/dist/extensions/registry.js +193 -0
  117. package/dist/extensions/registry.js.map +1 -0
  118. package/dist/extensions/types.d.ts +226 -0
  119. package/dist/extensions/types.d.ts.map +1 -0
  120. package/dist/extensions/types.js +28 -0
  121. package/dist/extensions/types.js.map +1 -0
  122. package/dist/index.d.ts +39 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +68 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/interfaces/command-executor.d.ts +17 -0
  127. package/dist/interfaces/command-executor.d.ts.map +1 -0
  128. package/dist/interfaces/command-executor.js +6 -0
  129. package/dist/interfaces/command-executor.js.map +1 -0
  130. package/dist/interfaces/command-processor.d.ts +17 -0
  131. package/dist/interfaces/command-processor.d.ts.map +1 -0
  132. package/dist/interfaces/command-processor.js +6 -0
  133. package/dist/interfaces/command-processor.js.map +1 -0
  134. package/dist/interfaces/command-validator.d.ts +17 -0
  135. package/dist/interfaces/command-validator.d.ts.map +1 -0
  136. package/dist/interfaces/command-validator.js +6 -0
  137. package/dist/interfaces/command-validator.js.map +1 -0
  138. package/dist/interfaces/index.d.ts +8 -0
  139. package/dist/interfaces/index.d.ts.map +1 -0
  140. package/dist/interfaces/index.js +24 -0
  141. package/dist/interfaces/index.js.map +1 -0
  142. package/dist/interfaces/language-provider.d.ts +86 -0
  143. package/dist/interfaces/language-provider.d.ts.map +1 -0
  144. package/dist/interfaces/language-provider.js +14 -0
  145. package/dist/interfaces/language-provider.js.map +1 -0
  146. package/dist/interfaces/parser.d.ts +16 -0
  147. package/dist/interfaces/parser.d.ts.map +1 -0
  148. package/dist/interfaces/parser.js +6 -0
  149. package/dist/interfaces/parser.js.map +1 -0
  150. package/dist/scope/index.d.ts +8 -0
  151. package/dist/scope/index.d.ts.map +1 -0
  152. package/dist/scope/index.js +24 -0
  153. package/dist/scope/index.js.map +1 -0
  154. package/dist/scope/scope-evaluator.d.ts +58 -0
  155. package/dist/scope/scope-evaluator.d.ts.map +1 -0
  156. package/dist/scope/scope-evaluator.js +207 -0
  157. package/dist/scope/scope-evaluator.js.map +1 -0
  158. package/dist/scope/scope-registry.d.ts +59 -0
  159. package/dist/scope/scope-registry.d.ts.map +1 -0
  160. package/dist/scope/scope-registry.js +182 -0
  161. package/dist/scope/scope-registry.js.map +1 -0
  162. package/dist/scope/scope-rule.d.ts +86 -0
  163. package/dist/scope/scope-rule.d.ts.map +1 -0
  164. package/dist/scope/scope-rule.js +7 -0
  165. package/dist/scope/scope-rule.js.map +1 -0
  166. package/dist/services/ScopeService.d.ts +8 -0
  167. package/dist/services/ScopeService.d.ts.map +1 -0
  168. package/dist/services/ScopeService.js +19 -0
  169. package/dist/services/ScopeService.js.map +1 -0
  170. package/dist/services/index.d.ts +2 -0
  171. package/dist/services/index.d.ts.map +1 -0
  172. package/dist/services/index.js +6 -0
  173. package/dist/services/index.js.map +1 -0
  174. package/dist/test-structure.d.ts +3 -0
  175. package/dist/test-structure.d.ts.map +1 -0
  176. package/dist/test-structure.js +26 -0
  177. package/dist/test-structure.js.map +1 -0
  178. package/dist/traits/actor/actorBehavior.d.ts +121 -0
  179. package/dist/traits/actor/actorBehavior.d.ts.map +1 -0
  180. package/dist/traits/actor/actorBehavior.js +288 -0
  181. package/dist/traits/actor/actorBehavior.js.map +1 -0
  182. package/dist/traits/actor/actorTrait.d.ts +158 -0
  183. package/dist/traits/actor/actorTrait.d.ts.map +1 -0
  184. package/dist/traits/actor/actorTrait.js +152 -0
  185. package/dist/traits/actor/actorTrait.js.map +1 -0
  186. package/dist/traits/actor/index.d.ts +3 -0
  187. package/dist/traits/actor/index.d.ts.map +1 -0
  188. package/dist/traits/actor/index.js +11 -0
  189. package/dist/traits/actor/index.js.map +1 -0
  190. package/dist/traits/all-traits.d.ts +95 -0
  191. package/dist/traits/all-traits.d.ts.map +1 -0
  192. package/dist/traits/all-traits.js +178 -0
  193. package/dist/traits/all-traits.js.map +1 -0
  194. package/dist/traits/attached/attachedTrait.d.ts +61 -0
  195. package/dist/traits/attached/attachedTrait.d.ts.map +1 -0
  196. package/dist/traits/attached/attachedTrait.js +36 -0
  197. package/dist/traits/attached/attachedTrait.js.map +1 -0
  198. package/dist/traits/attached/index.d.ts +2 -0
  199. package/dist/traits/attached/index.d.ts.map +1 -0
  200. package/dist/traits/attached/index.js +18 -0
  201. package/dist/traits/attached/index.js.map +1 -0
  202. package/dist/traits/breakable/breakableBehavior.d.ts +43 -0
  203. package/dist/traits/breakable/breakableBehavior.d.ts.map +1 -0
  204. package/dist/traits/breakable/breakableBehavior.js +70 -0
  205. package/dist/traits/breakable/breakableBehavior.js.map +1 -0
  206. package/dist/traits/breakable/breakableTrait.d.ts +22 -0
  207. package/dist/traits/breakable/breakableTrait.d.ts.map +1 -0
  208. package/dist/traits/breakable/breakableTrait.js +25 -0
  209. package/dist/traits/breakable/breakableTrait.js.map +1 -0
  210. package/dist/traits/breakable/index.d.ts +3 -0
  211. package/dist/traits/breakable/index.d.ts.map +1 -0
  212. package/dist/traits/breakable/index.js +8 -0
  213. package/dist/traits/breakable/index.js.map +1 -0
  214. package/dist/traits/button/buttonTrait.d.ts +53 -0
  215. package/dist/traits/button/buttonTrait.d.ts.map +1 -0
  216. package/dist/traits/button/buttonTrait.js +36 -0
  217. package/dist/traits/button/buttonTrait.js.map +1 -0
  218. package/dist/traits/button/index.d.ts +2 -0
  219. package/dist/traits/button/index.d.ts.map +1 -0
  220. package/dist/traits/button/index.js +18 -0
  221. package/dist/traits/button/index.js.map +1 -0
  222. package/dist/traits/climbable/climbableBehavior.d.ts +37 -0
  223. package/dist/traits/climbable/climbableBehavior.d.ts.map +1 -0
  224. package/dist/traits/climbable/climbableBehavior.js +70 -0
  225. package/dist/traits/climbable/climbableBehavior.js.map +1 -0
  226. package/dist/traits/climbable/climbableTrait.d.ts +31 -0
  227. package/dist/traits/climbable/climbableTrait.d.ts.map +1 -0
  228. package/dist/traits/climbable/climbableTrait.js +47 -0
  229. package/dist/traits/climbable/climbableTrait.js.map +1 -0
  230. package/dist/traits/climbable/index.d.ts +6 -0
  231. package/dist/traits/climbable/index.d.ts.map +1 -0
  232. package/dist/traits/climbable/index.js +22 -0
  233. package/dist/traits/climbable/index.js.map +1 -0
  234. package/dist/traits/clothing/clothingTrait.d.ts +58 -0
  235. package/dist/traits/clothing/clothingTrait.d.ts.map +1 -0
  236. package/dist/traits/clothing/clothingTrait.js +78 -0
  237. package/dist/traits/clothing/clothingTrait.js.map +1 -0
  238. package/dist/traits/clothing/index.d.ts +2 -0
  239. package/dist/traits/clothing/index.d.ts.map +1 -0
  240. package/dist/traits/clothing/index.js +19 -0
  241. package/dist/traits/clothing/index.js.map +1 -0
  242. package/dist/traits/combatant/combatantBehavior.d.ts +70 -0
  243. package/dist/traits/combatant/combatantBehavior.d.ts.map +1 -0
  244. package/dist/traits/combatant/combatantBehavior.js +155 -0
  245. package/dist/traits/combatant/combatantBehavior.js.map +1 -0
  246. package/dist/traits/combatant/combatantTrait.d.ts +98 -0
  247. package/dist/traits/combatant/combatantTrait.d.ts.map +1 -0
  248. package/dist/traits/combatant/combatantTrait.js +122 -0
  249. package/dist/traits/combatant/combatantTrait.js.map +1 -0
  250. package/dist/traits/combatant/index.d.ts +3 -0
  251. package/dist/traits/combatant/index.d.ts.map +1 -0
  252. package/dist/traits/combatant/index.js +8 -0
  253. package/dist/traits/combatant/index.js.map +1 -0
  254. package/dist/traits/container/container-utils.d.ts +39 -0
  255. package/dist/traits/container/container-utils.d.ts.map +1 -0
  256. package/dist/traits/container/container-utils.js +72 -0
  257. package/dist/traits/container/container-utils.js.map +1 -0
  258. package/dist/traits/container/containerBehavior.d.ts +94 -0
  259. package/dist/traits/container/containerBehavior.d.ts.map +1 -0
  260. package/dist/traits/container/containerBehavior.js +256 -0
  261. package/dist/traits/container/containerBehavior.js.map +1 -0
  262. package/dist/traits/container/containerTrait.d.ts +30 -0
  263. package/dist/traits/container/containerTrait.d.ts.map +1 -0
  264. package/dist/traits/container/containerTrait.js +45 -0
  265. package/dist/traits/container/containerTrait.js.map +1 -0
  266. package/dist/traits/container/index.d.ts +4 -0
  267. package/dist/traits/container/index.d.ts.map +1 -0
  268. package/dist/traits/container/index.js +14 -0
  269. package/dist/traits/container/index.js.map +1 -0
  270. package/dist/traits/destructible/destructibleBehavior.d.ts +57 -0
  271. package/dist/traits/destructible/destructibleBehavior.d.ts.map +1 -0
  272. package/dist/traits/destructible/destructibleBehavior.js +145 -0
  273. package/dist/traits/destructible/destructibleBehavior.js.map +1 -0
  274. package/dist/traits/destructible/destructibleTrait.d.ts +49 -0
  275. package/dist/traits/destructible/destructibleTrait.d.ts.map +1 -0
  276. package/dist/traits/destructible/destructibleTrait.js +43 -0
  277. package/dist/traits/destructible/destructibleTrait.js.map +1 -0
  278. package/dist/traits/destructible/index.d.ts +3 -0
  279. package/dist/traits/destructible/index.d.ts.map +1 -0
  280. package/dist/traits/destructible/index.js +8 -0
  281. package/dist/traits/destructible/index.js.map +1 -0
  282. package/dist/traits/door/doorBehavior.d.ts +42 -0
  283. package/dist/traits/door/doorBehavior.d.ts.map +1 -0
  284. package/dist/traits/door/doorBehavior.js +76 -0
  285. package/dist/traits/door/doorBehavior.js.map +1 -0
  286. package/dist/traits/door/doorTrait.d.ts +19 -0
  287. package/dist/traits/door/doorTrait.d.ts.map +1 -0
  288. package/dist/traits/door/doorTrait.js +33 -0
  289. package/dist/traits/door/doorTrait.js.map +1 -0
  290. package/dist/traits/door/index.d.ts +3 -0
  291. package/dist/traits/door/index.d.ts.map +1 -0
  292. package/dist/traits/door/index.js +9 -0
  293. package/dist/traits/door/index.js.map +1 -0
  294. package/dist/traits/edible/edibleBehavior.d.ts +63 -0
  295. package/dist/traits/edible/edibleBehavior.d.ts.map +1 -0
  296. package/dist/traits/edible/edibleBehavior.js +157 -0
  297. package/dist/traits/edible/edibleBehavior.js.map +1 -0
  298. package/dist/traits/edible/edibleTrait.d.ts +57 -0
  299. package/dist/traits/edible/edibleTrait.d.ts.map +1 -0
  300. package/dist/traits/edible/edibleTrait.js +51 -0
  301. package/dist/traits/edible/edibleTrait.js.map +1 -0
  302. package/dist/traits/edible/index.d.ts +3 -0
  303. package/dist/traits/edible/index.d.ts.map +1 -0
  304. package/dist/traits/edible/index.js +20 -0
  305. package/dist/traits/edible/index.js.map +1 -0
  306. package/dist/traits/enterable/enterableTrait.d.ts +33 -0
  307. package/dist/traits/enterable/enterableTrait.d.ts.map +1 -0
  308. package/dist/traits/enterable/enterableTrait.js +38 -0
  309. package/dist/traits/enterable/enterableTrait.js.map +1 -0
  310. package/dist/traits/enterable/index.d.ts +5 -0
  311. package/dist/traits/enterable/index.d.ts.map +1 -0
  312. package/dist/traits/enterable/index.js +21 -0
  313. package/dist/traits/enterable/index.js.map +1 -0
  314. package/dist/traits/equipped/equippedTrait.d.ts +46 -0
  315. package/dist/traits/equipped/equippedTrait.d.ts.map +1 -0
  316. package/dist/traits/equipped/equippedTrait.js +34 -0
  317. package/dist/traits/equipped/equippedTrait.js.map +1 -0
  318. package/dist/traits/equipped/index.d.ts +2 -0
  319. package/dist/traits/equipped/index.d.ts.map +1 -0
  320. package/dist/traits/equipped/index.js +6 -0
  321. package/dist/traits/equipped/index.js.map +1 -0
  322. package/dist/traits/exit/exitBehavior.d.ts +51 -0
  323. package/dist/traits/exit/exitBehavior.d.ts.map +1 -0
  324. package/dist/traits/exit/exitBehavior.js +231 -0
  325. package/dist/traits/exit/exitBehavior.js.map +1 -0
  326. package/dist/traits/exit/exitTrait.d.ts +41 -0
  327. package/dist/traits/exit/exitTrait.d.ts.map +1 -0
  328. package/dist/traits/exit/exitTrait.js +75 -0
  329. package/dist/traits/exit/exitTrait.js.map +1 -0
  330. package/dist/traits/exit/index.d.ts +3 -0
  331. package/dist/traits/exit/index.d.ts.map +1 -0
  332. package/dist/traits/exit/index.js +9 -0
  333. package/dist/traits/exit/index.js.map +1 -0
  334. package/dist/traits/identity/identityBehavior.d.ts +64 -0
  335. package/dist/traits/identity/identityBehavior.d.ts.map +1 -0
  336. package/dist/traits/identity/identityBehavior.js +154 -0
  337. package/dist/traits/identity/identityBehavior.js.map +1 -0
  338. package/dist/traits/identity/identityTrait.d.ts +70 -0
  339. package/dist/traits/identity/identityTrait.d.ts.map +1 -0
  340. package/dist/traits/identity/identityTrait.js +79 -0
  341. package/dist/traits/identity/identityTrait.js.map +1 -0
  342. package/dist/traits/identity/index.d.ts +3 -0
  343. package/dist/traits/identity/index.d.ts.map +1 -0
  344. package/dist/traits/identity/index.js +20 -0
  345. package/dist/traits/identity/index.js.map +1 -0
  346. package/dist/traits/implementations.d.ts +51 -0
  347. package/dist/traits/implementations.d.ts.map +1 -0
  348. package/dist/traits/implementations.js +145 -0
  349. package/dist/traits/implementations.js.map +1 -0
  350. package/dist/traits/index.d.ts +36 -0
  351. package/dist/traits/index.d.ts.map +1 -0
  352. package/dist/traits/index.js +62 -0
  353. package/dist/traits/index.js.map +1 -0
  354. package/dist/traits/light-source/index.d.ts +3 -0
  355. package/dist/traits/light-source/index.d.ts.map +1 -0
  356. package/dist/traits/light-source/index.js +9 -0
  357. package/dist/traits/light-source/index.js.map +1 -0
  358. package/dist/traits/light-source/lightSourceBehavior.d.ts +57 -0
  359. package/dist/traits/light-source/lightSourceBehavior.d.ts.map +1 -0
  360. package/dist/traits/light-source/lightSourceBehavior.js +135 -0
  361. package/dist/traits/light-source/lightSourceBehavior.js.map +1 -0
  362. package/dist/traits/light-source/lightSourceTrait.d.ts +28 -0
  363. package/dist/traits/light-source/lightSourceTrait.d.ts.map +1 -0
  364. package/dist/traits/light-source/lightSourceTrait.js +37 -0
  365. package/dist/traits/light-source/lightSourceTrait.js.map +1 -0
  366. package/dist/traits/lockable/index.d.ts +3 -0
  367. package/dist/traits/lockable/index.d.ts.map +1 -0
  368. package/dist/traits/lockable/index.js +20 -0
  369. package/dist/traits/lockable/index.js.map +1 -0
  370. package/dist/traits/lockable/lockableBehavior.d.ts +88 -0
  371. package/dist/traits/lockable/lockableBehavior.d.ts.map +1 -0
  372. package/dist/traits/lockable/lockableBehavior.js +196 -0
  373. package/dist/traits/lockable/lockableBehavior.js.map +1 -0
  374. package/dist/traits/lockable/lockableTrait.d.ts +59 -0
  375. package/dist/traits/lockable/lockableTrait.d.ts.map +1 -0
  376. package/dist/traits/lockable/lockableTrait.js +50 -0
  377. package/dist/traits/lockable/lockableTrait.js.map +1 -0
  378. package/dist/traits/moveable-scenery/index.d.ts +2 -0
  379. package/dist/traits/moveable-scenery/index.d.ts.map +1 -0
  380. package/dist/traits/moveable-scenery/index.js +18 -0
  381. package/dist/traits/moveable-scenery/index.js.map +1 -0
  382. package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts +69 -0
  383. package/dist/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -0
  384. package/dist/traits/moveable-scenery/moveableSceneryTrait.js +43 -0
  385. package/dist/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -0
  386. package/dist/traits/npc/index.d.ts +5 -0
  387. package/dist/traits/npc/index.d.ts.map +1 -0
  388. package/dist/traits/npc/index.js +9 -0
  389. package/dist/traits/npc/index.js.map +1 -0
  390. package/dist/traits/npc/npcTrait.d.ts +128 -0
  391. package/dist/traits/npc/npcTrait.d.ts.map +1 -0
  392. package/dist/traits/npc/npcTrait.js +180 -0
  393. package/dist/traits/npc/npcTrait.js.map +1 -0
  394. package/dist/traits/openable/index.d.ts +3 -0
  395. package/dist/traits/openable/index.d.ts.map +1 -0
  396. package/dist/traits/openable/index.js +20 -0
  397. package/dist/traits/openable/index.js.map +1 -0
  398. package/dist/traits/openable/openableBehavior.d.ts +64 -0
  399. package/dist/traits/openable/openableBehavior.d.ts.map +1 -0
  400. package/dist/traits/openable/openableBehavior.js +109 -0
  401. package/dist/traits/openable/openableBehavior.js.map +1 -0
  402. package/dist/traits/openable/openableTrait.d.ts +46 -0
  403. package/dist/traits/openable/openableTrait.d.ts.map +1 -0
  404. package/dist/traits/openable/openableTrait.js +42 -0
  405. package/dist/traits/openable/openableTrait.js.map +1 -0
  406. package/dist/traits/portable/portableTrait.d.ts +26 -0
  407. package/dist/traits/portable/portableTrait.d.ts.map +1 -0
  408. package/dist/traits/portable/portableTrait.js +35 -0
  409. package/dist/traits/portable/portableTrait.js.map +1 -0
  410. package/dist/traits/pullable/index.d.ts +2 -0
  411. package/dist/traits/pullable/index.d.ts.map +1 -0
  412. package/dist/traits/pullable/index.js +18 -0
  413. package/dist/traits/pullable/index.js.map +1 -0
  414. package/dist/traits/pullable/pullableTrait.d.ts +81 -0
  415. package/dist/traits/pullable/pullableTrait.d.ts.map +1 -0
  416. package/dist/traits/pullable/pullableTrait.js +44 -0
  417. package/dist/traits/pullable/pullableTrait.js.map +1 -0
  418. package/dist/traits/pushable/index.d.ts +2 -0
  419. package/dist/traits/pushable/index.d.ts.map +1 -0
  420. package/dist/traits/pushable/index.js +18 -0
  421. package/dist/traits/pushable/index.js.map +1 -0
  422. package/dist/traits/pushable/pushableTrait.d.ts +81 -0
  423. package/dist/traits/pushable/pushableTrait.d.ts.map +1 -0
  424. package/dist/traits/pushable/pushableTrait.js +44 -0
  425. package/dist/traits/pushable/pushableTrait.js.map +1 -0
  426. package/dist/traits/readable/index.d.ts +3 -0
  427. package/dist/traits/readable/index.d.ts.map +1 -0
  428. package/dist/traits/readable/index.js +9 -0
  429. package/dist/traits/readable/index.js.map +1 -0
  430. package/dist/traits/readable/readableBehavior.d.ts +42 -0
  431. package/dist/traits/readable/readableBehavior.d.ts.map +1 -0
  432. package/dist/traits/readable/readableBehavior.js +174 -0
  433. package/dist/traits/readable/readableBehavior.js.map +1 -0
  434. package/dist/traits/readable/readableTrait.d.ts +37 -0
  435. package/dist/traits/readable/readableTrait.d.ts.map +1 -0
  436. package/dist/traits/readable/readableTrait.js +51 -0
  437. package/dist/traits/readable/readableTrait.js.map +1 -0
  438. package/dist/traits/register-all.d.ts +10 -0
  439. package/dist/traits/register-all.d.ts.map +1 -0
  440. package/dist/traits/register-all.js +19 -0
  441. package/dist/traits/register-all.js.map +1 -0
  442. package/dist/traits/room/index.d.ts +9 -0
  443. package/dist/traits/room/index.d.ts.map +1 -0
  444. package/dist/traits/room/index.js +14 -0
  445. package/dist/traits/room/index.js.map +1 -0
  446. package/dist/traits/room/roomBehavior.d.ts +87 -0
  447. package/dist/traits/room/roomBehavior.d.ts.map +1 -0
  448. package/dist/traits/room/roomBehavior.js +232 -0
  449. package/dist/traits/room/roomBehavior.js.map +1 -0
  450. package/dist/traits/room/roomTrait.d.ts +87 -0
  451. package/dist/traits/room/roomTrait.d.ts.map +1 -0
  452. package/dist/traits/room/roomTrait.js +59 -0
  453. package/dist/traits/room/roomTrait.js.map +1 -0
  454. package/dist/traits/scenery/index.d.ts +3 -0
  455. package/dist/traits/scenery/index.d.ts.map +1 -0
  456. package/dist/traits/scenery/index.js +9 -0
  457. package/dist/traits/scenery/index.js.map +1 -0
  458. package/dist/traits/scenery/sceneryBehavior.d.ts +21 -0
  459. package/dist/traits/scenery/sceneryBehavior.d.ts.map +1 -0
  460. package/dist/traits/scenery/sceneryBehavior.js +42 -0
  461. package/dist/traits/scenery/sceneryBehavior.js.map +1 -0
  462. package/dist/traits/scenery/sceneryTrait.d.ts +30 -0
  463. package/dist/traits/scenery/sceneryTrait.d.ts.map +1 -0
  464. package/dist/traits/scenery/sceneryTrait.js +39 -0
  465. package/dist/traits/scenery/sceneryTrait.js.map +1 -0
  466. package/dist/traits/supporter/index.d.ts +3 -0
  467. package/dist/traits/supporter/index.d.ts.map +1 -0
  468. package/dist/traits/supporter/index.js +9 -0
  469. package/dist/traits/supporter/index.js.map +1 -0
  470. package/dist/traits/supporter/supporterBehavior.d.ts +83 -0
  471. package/dist/traits/supporter/supporterBehavior.d.ts.map +1 -0
  472. package/dist/traits/supporter/supporterBehavior.js +210 -0
  473. package/dist/traits/supporter/supporterBehavior.js.map +1 -0
  474. package/dist/traits/supporter/supporterTrait.d.ts +26 -0
  475. package/dist/traits/supporter/supporterTrait.d.ts.map +1 -0
  476. package/dist/traits/supporter/supporterTrait.js +30 -0
  477. package/dist/traits/supporter/supporterTrait.js.map +1 -0
  478. package/dist/traits/switchable/index.d.ts +3 -0
  479. package/dist/traits/switchable/index.d.ts.map +1 -0
  480. package/dist/traits/switchable/index.js +20 -0
  481. package/dist/traits/switchable/index.js.map +1 -0
  482. package/dist/traits/switchable/switchableBehavior.d.ts +73 -0
  483. package/dist/traits/switchable/switchableBehavior.d.ts.map +1 -0
  484. package/dist/traits/switchable/switchableBehavior.js +191 -0
  485. package/dist/traits/switchable/switchableBehavior.js.map +1 -0
  486. package/dist/traits/switchable/switchableTrait.d.ts +61 -0
  487. package/dist/traits/switchable/switchableTrait.d.ts.map +1 -0
  488. package/dist/traits/switchable/switchableTrait.js +52 -0
  489. package/dist/traits/switchable/switchableTrait.js.map +1 -0
  490. package/dist/traits/trait-types.d.ts +81 -0
  491. package/dist/traits/trait-types.d.ts.map +1 -0
  492. package/dist/traits/trait-types.js +146 -0
  493. package/dist/traits/trait-types.js.map +1 -0
  494. package/dist/traits/trait.d.ts +42 -0
  495. package/dist/traits/trait.d.ts.map +1 -0
  496. package/dist/traits/trait.js +42 -0
  497. package/dist/traits/trait.js.map +1 -0
  498. package/dist/traits/vehicle/index.d.ts +6 -0
  499. package/dist/traits/vehicle/index.d.ts.map +1 -0
  500. package/dist/traits/vehicle/index.js +22 -0
  501. package/dist/traits/vehicle/index.js.map +1 -0
  502. package/dist/traits/vehicle/vehicleBehavior.d.ts +62 -0
  503. package/dist/traits/vehicle/vehicleBehavior.d.ts.map +1 -0
  504. package/dist/traits/vehicle/vehicleBehavior.js +145 -0
  505. package/dist/traits/vehicle/vehicleBehavior.js.map +1 -0
  506. package/dist/traits/vehicle/vehicleTrait.d.ts +77 -0
  507. package/dist/traits/vehicle/vehicleTrait.d.ts.map +1 -0
  508. package/dist/traits/vehicle/vehicleTrait.js +92 -0
  509. package/dist/traits/vehicle/vehicleTrait.js.map +1 -0
  510. package/dist/traits/weapon/index.d.ts +3 -0
  511. package/dist/traits/weapon/index.d.ts.map +1 -0
  512. package/dist/traits/weapon/index.js +8 -0
  513. package/dist/traits/weapon/index.js.map +1 -0
  514. package/dist/traits/weapon/weaponBehavior.d.ts +47 -0
  515. package/dist/traits/weapon/weaponBehavior.d.ts.map +1 -0
  516. package/dist/traits/weapon/weaponBehavior.js +106 -0
  517. package/dist/traits/weapon/weaponBehavior.js.map +1 -0
  518. package/dist/traits/weapon/weaponTrait.d.ts +67 -0
  519. package/dist/traits/weapon/weaponTrait.d.ts.map +1 -0
  520. package/dist/traits/weapon/weaponTrait.js +60 -0
  521. package/dist/traits/weapon/weaponTrait.js.map +1 -0
  522. package/dist/traits/wearable/index.d.ts +3 -0
  523. package/dist/traits/wearable/index.d.ts.map +1 -0
  524. package/dist/traits/wearable/index.js +20 -0
  525. package/dist/traits/wearable/index.js.map +1 -0
  526. package/dist/traits/wearable/wearableBehavior.d.ts +64 -0
  527. package/dist/traits/wearable/wearableBehavior.d.ts.map +1 -0
  528. package/dist/traits/wearable/wearableBehavior.js +142 -0
  529. package/dist/traits/wearable/wearableBehavior.js.map +1 -0
  530. package/dist/traits/wearable/wearableTrait.d.ts +54 -0
  531. package/dist/traits/wearable/wearableTrait.d.ts.map +1 -0
  532. package/dist/traits/wearable/wearableTrait.js +53 -0
  533. package/dist/traits/wearable/wearableTrait.js.map +1 -0
  534. package/dist/utils/event-utils.d.ts +30 -0
  535. package/dist/utils/event-utils.d.ts.map +1 -0
  536. package/dist/utils/event-utils.js +33 -0
  537. package/dist/utils/event-utils.js.map +1 -0
  538. package/dist/world/AuthorModel.d.ts +151 -0
  539. package/dist/world/AuthorModel.d.ts.map +1 -0
  540. package/dist/world/AuthorModel.js +416 -0
  541. package/dist/world/AuthorModel.js.map +1 -0
  542. package/dist/world/SharedDataStore.d.ts +24 -0
  543. package/dist/world/SharedDataStore.d.ts.map +1 -0
  544. package/dist/world/SharedDataStore.js +50 -0
  545. package/dist/world/SharedDataStore.js.map +1 -0
  546. package/dist/world/SpatialIndex.d.ts +16 -0
  547. package/dist/world/SpatialIndex.d.ts.map +1 -0
  548. package/dist/world/SpatialIndex.js +117 -0
  549. package/dist/world/SpatialIndex.js.map +1 -0
  550. package/dist/world/VisibilityBehavior.d.ts +83 -0
  551. package/dist/world/VisibilityBehavior.d.ts.map +1 -0
  552. package/dist/world/VisibilityBehavior.js +484 -0
  553. package/dist/world/VisibilityBehavior.js.map +1 -0
  554. package/dist/world/WorldModel.d.ts +270 -0
  555. package/dist/world/WorldModel.d.ts.map +1 -0
  556. package/dist/world/WorldModel.js +1028 -0
  557. package/dist/world/WorldModel.js.map +1 -0
  558. package/dist/world/capabilities.d.ts +36 -0
  559. package/dist/world/capabilities.d.ts.map +1 -0
  560. package/dist/world/capabilities.js +18 -0
  561. package/dist/world/capabilities.js.map +1 -0
  562. package/dist/world/index.d.ts +7 -0
  563. package/dist/world/index.d.ts.map +1 -0
  564. package/dist/world/index.js +21 -0
  565. package/dist/world/index.js.map +1 -0
  566. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-command.js","sourceRoot":"","sources":["../../src/commands/parsed-command.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAkCH,wCAAwC;AAExC;;GAEG;AACH,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;AACrB,CAAC,EAVW,YAAY,4BAAZ,YAAY,QAUvB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Command types for the validation phase
3
+ * These types represent fully resolved and validated commands
4
+ * with entities and action IDs identified
5
+ */
6
+ import type { IParsedObjectReference, IParsedCommand } from './parsed-command';
7
+ import type { IFEntity } from '../entities/if-entity';
8
+ /**
9
+ * Resolved entity reference after validation
10
+ */
11
+ export interface IValidatedObjectReference {
12
+ /** The resolved entity */
13
+ entity: IFEntity;
14
+ /** Original parsed reference */
15
+ parsed: IParsedObjectReference;
16
+ }
17
+ /**
18
+ * Result of validation phase - fully resolved and checked
19
+ */
20
+ export interface IValidatedCommand {
21
+ /** Original parsed command */
22
+ parsed: IParsedCommand;
23
+ /** ID of the action that will handle this command */
24
+ actionId: string;
25
+ /** Resolved direct object if present */
26
+ directObject?: IValidatedObjectReference;
27
+ /** Resolved indirect object if present */
28
+ indirectObject?: IValidatedObjectReference;
29
+ /**
30
+ * Resolved instrument if present (ADR-080)
31
+ * For patterns using .instrument() to mark a slot as a tool/weapon
32
+ * e.g., "attack troll with sword" where sword is the instrument
33
+ */
34
+ instrument?: IValidatedObjectReference;
35
+ /** Validation metadata */
36
+ metadata?: {
37
+ /** Time taken to validate */
38
+ validationTime?: number;
39
+ /** Any warnings during validation */
40
+ warnings?: string[];
41
+ };
42
+ }
43
+ /**
44
+ * Errors that can occur during validation
45
+ */
46
+ export interface IValidationError {
47
+ type: 'VALIDATION_ERROR';
48
+ code: 'ENTITY_NOT_FOUND' | 'ENTITY_NOT_VISIBLE' | 'ACTION_NOT_AVAILABLE' | 'PRECONDITION_FAILED' | 'AMBIGUOUS_ENTITY';
49
+ parsed: IParsedCommand;
50
+ details?: Record<string, any>;
51
+ }
52
+ //# sourceMappingURL=validated-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validated-command.d.ts","sourceRoot":"","sources":["../../src/commands/validated-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,MAAM,EAAE,QAAQ,CAAC;IAEjB,gCAAgC;IAChC,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,cAAc,CAAC;IAEvB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAEzC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAE3C;;;;OAIG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAEvC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE;QACT,6BAA6B;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;QAExB,qCAAqC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;IACtH,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Command types for the validation phase
4
+ * These types represent fully resolved and validated commands
5
+ * with entities and action IDs identified
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=validated-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validated-command.js","sourceRoot":"","sources":["../../src/commands/validated-command.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Action failure reasons for the IF system.
3
+ *
4
+ * These are semantic codes used by behaviors to indicate why an action failed.
5
+ * The language layer maps these to appropriate messages.
6
+ */
7
+ export declare const ActionFailureReason: {
8
+ readonly NOT_VISIBLE: "not_visible";
9
+ readonly NOT_REACHABLE: "not_reachable";
10
+ readonly NOT_IN_SCOPE: "not_in_scope";
11
+ readonly FIXED_IN_PLACE: "fixed_in_place";
12
+ readonly ALREADY_OPEN: "already_open";
13
+ readonly ALREADY_CLOSED: "already_closed";
14
+ readonly NOT_OPENABLE: "not_openable";
15
+ readonly LOCKED: "locked";
16
+ readonly NOT_LOCKABLE: "not_lockable";
17
+ readonly ALREADY_LOCKED: "already_locked";
18
+ readonly ALREADY_UNLOCKED: "already_unlocked";
19
+ readonly CONTAINER_FULL: "container_full";
20
+ readonly CONTAINER_CLOSED: "container_closed";
21
+ readonly NOT_A_CONTAINER: "not_a_container";
22
+ readonly NOT_A_SUPPORTER: "not_a_supporter";
23
+ readonly ALREADY_IN_CONTAINER: "already_in_container";
24
+ readonly NOT_WEARABLE: "not_wearable";
25
+ readonly ALREADY_WEARING: "already_wearing";
26
+ readonly NOT_WEARING: "not_wearing";
27
+ readonly WORN_BY_OTHER: "worn_by_other";
28
+ readonly TOO_HEAVY: "too_heavy";
29
+ readonly CARRYING_TOO_MUCH: "carrying_too_much";
30
+ readonly WRONG_KEY: "wrong_key";
31
+ readonly NO_KEY_SPECIFIED: "no_key_specified";
32
+ readonly NOT_A_KEY: "not_a_key";
33
+ readonly ALREADY_ON: "already_on";
34
+ readonly ALREADY_OFF: "already_off";
35
+ readonly NOT_SWITCHABLE: "not_switchable";
36
+ readonly NO_POWER: "no_power";
37
+ readonly NO_EXIT_THAT_WAY: "no_exit_that_way";
38
+ readonly CANT_GO_THAT_WAY: "cant_go_that_way";
39
+ readonly DOOR_CLOSED: "door_closed";
40
+ readonly DOOR_LOCKED: "door_locked";
41
+ readonly CANT_DO_THAT: "cant_do_that";
42
+ readonly NOT_IMPLEMENTED: "not_implemented";
43
+ readonly INVALID_TARGET: "invalid_target";
44
+ readonly NOTHING_HAPPENS: "nothing_happens";
45
+ readonly ACTOR_CANT_SEE: "actor_cant_see";
46
+ readonly ACTOR_CANT_REACH: "actor_cant_reach";
47
+ readonly ACTOR_BUSY: "actor_busy";
48
+ readonly NOT_EDIBLE: "not_edible";
49
+ readonly NOTHING_LEFT: "nothing_left";
50
+ readonly NOT_READABLE: "not_readable";
51
+ readonly NOTHING_WRITTEN: "nothing_written";
52
+ };
53
+ export type ActionFailureReasonType = typeof ActionFailureReason[keyof typeof ActionFailureReason];
54
+ //# sourceMappingURL=action-failures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-failures.d.ts","sourceRoot":"","sources":["../../src/constants/action-failures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEtB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * Action failure reasons for the IF system.
4
+ *
5
+ * These are semantic codes used by behaviors to indicate why an action failed.
6
+ * The language layer maps these to appropriate messages.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ActionFailureReason = void 0;
10
+ exports.ActionFailureReason = {
11
+ // Scope and reachability
12
+ NOT_VISIBLE: 'not_visible',
13
+ NOT_REACHABLE: 'not_reachable',
14
+ NOT_IN_SCOPE: 'not_in_scope',
15
+ // Object state
16
+ FIXED_IN_PLACE: 'fixed_in_place',
17
+ ALREADY_OPEN: 'already_open',
18
+ ALREADY_CLOSED: 'already_closed',
19
+ NOT_OPENABLE: 'not_openable',
20
+ LOCKED: 'locked',
21
+ NOT_LOCKABLE: 'not_lockable',
22
+ ALREADY_LOCKED: 'already_locked',
23
+ ALREADY_UNLOCKED: 'already_unlocked',
24
+ // Container and supporter
25
+ CONTAINER_FULL: 'container_full',
26
+ CONTAINER_CLOSED: 'container_closed',
27
+ NOT_A_CONTAINER: 'not_a_container',
28
+ NOT_A_SUPPORTER: 'not_a_supporter',
29
+ ALREADY_IN_CONTAINER: 'already_in_container',
30
+ // Wearable
31
+ NOT_WEARABLE: 'not_wearable',
32
+ ALREADY_WEARING: 'already_wearing',
33
+ NOT_WEARING: 'not_wearing',
34
+ WORN_BY_OTHER: 'worn_by_other',
35
+ // Portable/weight
36
+ TOO_HEAVY: 'too_heavy',
37
+ CARRYING_TOO_MUCH: 'carrying_too_much',
38
+ // Keys and unlocking
39
+ WRONG_KEY: 'wrong_key',
40
+ NO_KEY_SPECIFIED: 'no_key_specified',
41
+ NOT_A_KEY: 'not_a_key',
42
+ // Device/switchable
43
+ ALREADY_ON: 'already_on',
44
+ ALREADY_OFF: 'already_off',
45
+ NOT_SWITCHABLE: 'not_switchable',
46
+ NO_POWER: 'no_power',
47
+ // Movement
48
+ NO_EXIT_THAT_WAY: 'no_exit_that_way',
49
+ CANT_GO_THAT_WAY: 'cant_go_that_way',
50
+ DOOR_CLOSED: 'door_closed',
51
+ DOOR_LOCKED: 'door_locked',
52
+ // General
53
+ CANT_DO_THAT: 'cant_do_that',
54
+ NOT_IMPLEMENTED: 'not_implemented',
55
+ INVALID_TARGET: 'invalid_target',
56
+ NOTHING_HAPPENS: 'nothing_happens',
57
+ // Actor state
58
+ ACTOR_CANT_SEE: 'actor_cant_see',
59
+ ACTOR_CANT_REACH: 'actor_cant_reach',
60
+ ACTOR_BUSY: 'actor_busy',
61
+ // Edible
62
+ NOT_EDIBLE: 'not_edible',
63
+ NOTHING_LEFT: 'nothing_left',
64
+ // Readable
65
+ NOT_READABLE: 'not_readable',
66
+ NOTHING_WRITTEN: 'nothing_written',
67
+ };
68
+ //# sourceMappingURL=action-failures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-failures.js","sourceRoot":"","sources":["../../src/constants/action-failures.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,mBAAmB,GAAG;IACjC,yBAAyB;IACzB,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAE5B,eAAe;IACf,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IAEpC,0BAA0B;IAC1B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAE5C,WAAW;IACX,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAE9B,kBAAkB;IAClB,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IAEtC,qBAAqB;IACrB,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,SAAS,EAAE,WAAW;IAEtB,oBAAoB;IACpB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IAEpB,WAAW;IACX,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAE1B,UAAU;IACV,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAElC,cAAc;IACd,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IAExB,SAAS;IACT,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAE5B,WAAW;IACX,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;CAC1B,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Language-agnostic direction constants for Interactive Fiction
3
+ * These constants represent spatial relationships, not English words
4
+ */
5
+ export declare const Direction: {
6
+ readonly NORTH: "NORTH";
7
+ readonly SOUTH: "SOUTH";
8
+ readonly EAST: "EAST";
9
+ readonly WEST: "WEST";
10
+ readonly NORTHEAST: "NORTHEAST";
11
+ readonly NORTHWEST: "NORTHWEST";
12
+ readonly SOUTHEAST: "SOUTHEAST";
13
+ readonly SOUTHWEST: "SOUTHWEST";
14
+ readonly UP: "UP";
15
+ readonly DOWN: "DOWN";
16
+ readonly IN: "IN";
17
+ readonly OUT: "OUT";
18
+ };
19
+ export type DirectionType = typeof Direction[keyof typeof Direction];
20
+ /**
21
+ * Map of opposite directions using constants
22
+ */
23
+ export declare const DirectionOpposites: Record<DirectionType, DirectionType>;
24
+ /**
25
+ * Get the opposite direction
26
+ */
27
+ export declare function getOppositeDirection(direction: DirectionType): DirectionType;
28
+ /**
29
+ * Check if a value is a valid Direction constant
30
+ */
31
+ export declare function isDirection(value: unknown): value is DirectionType;
32
+ //# sourceMappingURL=directions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directions.d.ts","sourceRoot":"","sources":["../../src/constants/directions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAaZ,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,CAanE,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CAE5E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAElE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * Language-agnostic direction constants for Interactive Fiction
4
+ * These constants represent spatial relationships, not English words
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DirectionOpposites = exports.Direction = void 0;
8
+ exports.getOppositeDirection = getOppositeDirection;
9
+ exports.isDirection = isDirection;
10
+ exports.Direction = {
11
+ NORTH: 'NORTH',
12
+ SOUTH: 'SOUTH',
13
+ EAST: 'EAST',
14
+ WEST: 'WEST',
15
+ NORTHEAST: 'NORTHEAST',
16
+ NORTHWEST: 'NORTHWEST',
17
+ SOUTHEAST: 'SOUTHEAST',
18
+ SOUTHWEST: 'SOUTHWEST',
19
+ UP: 'UP',
20
+ DOWN: 'DOWN',
21
+ IN: 'IN',
22
+ OUT: 'OUT'
23
+ };
24
+ /**
25
+ * Map of opposite directions using constants
26
+ */
27
+ exports.DirectionOpposites = {
28
+ [exports.Direction.NORTH]: exports.Direction.SOUTH,
29
+ [exports.Direction.SOUTH]: exports.Direction.NORTH,
30
+ [exports.Direction.EAST]: exports.Direction.WEST,
31
+ [exports.Direction.WEST]: exports.Direction.EAST,
32
+ [exports.Direction.NORTHEAST]: exports.Direction.SOUTHWEST,
33
+ [exports.Direction.NORTHWEST]: exports.Direction.SOUTHEAST,
34
+ [exports.Direction.SOUTHEAST]: exports.Direction.NORTHWEST,
35
+ [exports.Direction.SOUTHWEST]: exports.Direction.NORTHEAST,
36
+ [exports.Direction.UP]: exports.Direction.DOWN,
37
+ [exports.Direction.DOWN]: exports.Direction.UP,
38
+ [exports.Direction.IN]: exports.Direction.OUT,
39
+ [exports.Direction.OUT]: exports.Direction.IN
40
+ };
41
+ /**
42
+ * Get the opposite direction
43
+ */
44
+ function getOppositeDirection(direction) {
45
+ return exports.DirectionOpposites[direction];
46
+ }
47
+ /**
48
+ * Check if a value is a valid Direction constant
49
+ */
50
+ function isDirection(value) {
51
+ return typeof value === 'string' && Object.values(exports.Direction).includes(value);
52
+ }
53
+ //# sourceMappingURL=directions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directions.js","sourceRoot":"","sources":["../../src/constants/directions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwCH,oDAEC;AAKD,kCAEC;AA/CY,QAAA,SAAS,GAAG;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;CACF,CAAC;AAIX;;GAEG;AACU,QAAA,kBAAkB,GAAyC;IACtE,CAAC,iBAAS,CAAC,KAAK,CAAC,EAAE,iBAAS,CAAC,KAAK;IAClC,CAAC,iBAAS,CAAC,KAAK,CAAC,EAAE,iBAAS,CAAC,KAAK;IAClC,CAAC,iBAAS,CAAC,IAAI,CAAC,EAAE,iBAAS,CAAC,IAAI;IAChC,CAAC,iBAAS,CAAC,IAAI,CAAC,EAAE,iBAAS,CAAC,IAAI;IAChC,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE,iBAAS,CAAC,SAAS;IAC1C,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE,iBAAS,CAAC,SAAS;IAC1C,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE,iBAAS,CAAC,SAAS;IAC1C,CAAC,iBAAS,CAAC,SAAS,CAAC,EAAE,iBAAS,CAAC,SAAS;IAC1C,CAAC,iBAAS,CAAC,EAAE,CAAC,EAAE,iBAAS,CAAC,IAAI;IAC9B,CAAC,iBAAS,CAAC,IAAI,CAAC,EAAE,iBAAS,CAAC,EAAE;IAC9B,CAAC,iBAAS,CAAC,EAAE,CAAC,EAAE,iBAAS,CAAC,GAAG;IAC7B,CAAC,iBAAS,CAAC,GAAG,CAAC,EAAE,iBAAS,CAAC,EAAE;CAC9B,CAAC;AAEF;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAwB;IAC3D,OAAO,0BAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC,QAAQ,CAAC,KAAsB,CAAC,CAAC;AAChG,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Re-export IF events from domain package
3
+ */
4
+ export { IFEvents, IFEventType, IFEventCategory, IFEventCategoryType } from '@sharpee/if-domain';
5
+ //# sourceMappingURL=if-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-events.d.ts","sourceRoot":"","sources":["../../src/constants/if-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IFEventCategory = exports.IFEvents = void 0;
4
+ /**
5
+ * Re-export IF events from domain package
6
+ */
7
+ var if_domain_1 = require("@sharpee/if-domain");
8
+ Object.defineProperty(exports, "IFEvents", { enumerable: true, get: function () { return if_domain_1.IFEvents; } });
9
+ Object.defineProperty(exports, "IFEventCategory", { enumerable: true, get: function () { return if_domain_1.IFEventCategory; } });
10
+ //# sourceMappingURL=if-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-events.js","sourceRoot":"","sources":["../../src/constants/if-events.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gDAAiG;AAAxF,qGAAA,QAAQ,OAAA;AAAe,4GAAA,eAAe,OAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Constants for the world model
3
+ *
4
+ * Re-exports all constant definitions
5
+ */
6
+ export * from './action-failures';
7
+ export * from './if-events';
8
+ export * from './directions';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Constants for the world model
4
+ *
5
+ * Re-exports all constant definitions
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./action-failures"), exports);
23
+ __exportStar(require("./if-events"), exports);
24
+ __exportStar(require("./directions"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,oDAAkC;AAClC,8CAA4B;AAC5B,+CAA6B"}
@@ -0,0 +1,66 @@
1
+ import { IFEntity } from './if-entity';
2
+ /**
3
+ * Entity store that works with IFEntity instances.
4
+ * Provides trait-aware entity management.
5
+ */
6
+ export declare class EntityStore {
7
+ private ifEntities;
8
+ constructor();
9
+ /**
10
+ * Add an IF entity to the store
11
+ */
12
+ add(entity: IFEntity): void;
13
+ /**
14
+ * Get an IF entity by ID
15
+ */
16
+ get(id: string): IFEntity | undefined;
17
+ /**
18
+ * Check if an entity exists
19
+ */
20
+ has(id: string): boolean;
21
+ /**
22
+ * Remove an entity from the store
23
+ */
24
+ remove(id: string): boolean;
25
+ /**
26
+ * Get all entities
27
+ */
28
+ getAll(): IFEntity[];
29
+ /**
30
+ * Get entities by type
31
+ */
32
+ getByType(type: string): IFEntity[];
33
+ /**
34
+ * Find entities with a specific trait
35
+ */
36
+ findWithTrait(traitType: string): IFEntity[];
37
+ /**
38
+ * Find entities with all specified traits
39
+ */
40
+ findWithAllTraits(...traitTypes: string[]): IFEntity[];
41
+ /**
42
+ * Find entities with any of the specified traits
43
+ */
44
+ findWithAnyTraits(...traitTypes: string[]): IFEntity[];
45
+ /**
46
+ * Clear all entities from the store
47
+ */
48
+ clear(): void;
49
+ /**
50
+ * Get the number of entities in the store
51
+ */
52
+ get size(): number;
53
+ /**
54
+ * Iterate over all entities
55
+ */
56
+ [Symbol.iterator](): Iterator<IFEntity>;
57
+ /**
58
+ * Serialize all entities to JSON
59
+ */
60
+ toJSON(): any[];
61
+ /**
62
+ * Load entities from JSON data
63
+ */
64
+ static fromJSON(json: any[]): EntityStore;
65
+ }
66
+ //# sourceMappingURL=entity-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-store.d.ts","sourceRoot":"","sources":["../../src/entities/entity-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAwB;;IAM1C;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAI3B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIrC;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAQ3B;;OAEG;IACH,MAAM,IAAI,QAAQ,EAAE;IAIpB;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAInC;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI5C;;OAEG;IACH,iBAAiB,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;IAItD;;OAEG;IACH,iBAAiB,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;IAItD;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAIvC;;OAEG;IACH,MAAM,IAAI,GAAG,EAAE;IAIf;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW;CAY1C"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ // packages/world-model/src/entities/entity-store.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EntityStore = void 0;
5
+ const if_entity_1 = require("./if-entity");
6
+ /**
7
+ * Entity store that works with IFEntity instances.
8
+ * Provides trait-aware entity management.
9
+ */
10
+ class EntityStore {
11
+ ifEntities;
12
+ constructor() {
13
+ this.ifEntities = new Map();
14
+ }
15
+ /**
16
+ * Add an IF entity to the store
17
+ */
18
+ add(entity) {
19
+ this.ifEntities.set(entity.id, entity);
20
+ }
21
+ /**
22
+ * Get an IF entity by ID
23
+ */
24
+ get(id) {
25
+ return this.ifEntities.get(id);
26
+ }
27
+ /**
28
+ * Check if an entity exists
29
+ */
30
+ has(id) {
31
+ return this.ifEntities.has(id);
32
+ }
33
+ /**
34
+ * Remove an entity from the store
35
+ */
36
+ remove(id) {
37
+ const entity = this.ifEntities.get(id);
38
+ if (entity) {
39
+ entity.clearTraits(); // Cleanup traits before removal
40
+ }
41
+ return this.ifEntities.delete(id);
42
+ }
43
+ /**
44
+ * Get all entities
45
+ */
46
+ getAll() {
47
+ return Array.from(this.ifEntities.values());
48
+ }
49
+ /**
50
+ * Get entities by type
51
+ */
52
+ getByType(type) {
53
+ return this.getAll().filter(entity => entity.type === type);
54
+ }
55
+ /**
56
+ * Find entities with a specific trait
57
+ */
58
+ findWithTrait(traitType) {
59
+ return this.getAll().filter(entity => entity.has(traitType));
60
+ }
61
+ /**
62
+ * Find entities with all specified traits
63
+ */
64
+ findWithAllTraits(...traitTypes) {
65
+ return this.getAll().filter(entity => entity.hasAll(...traitTypes));
66
+ }
67
+ /**
68
+ * Find entities with any of the specified traits
69
+ */
70
+ findWithAnyTraits(...traitTypes) {
71
+ return this.getAll().filter(entity => entity.hasAny(...traitTypes));
72
+ }
73
+ /**
74
+ * Clear all entities from the store
75
+ */
76
+ clear() {
77
+ // Cleanup all entities
78
+ for (const entity of this.ifEntities.values()) {
79
+ entity.clearTraits();
80
+ }
81
+ this.ifEntities.clear();
82
+ }
83
+ /**
84
+ * Get the number of entities in the store
85
+ */
86
+ get size() {
87
+ return this.ifEntities.size;
88
+ }
89
+ /**
90
+ * Iterate over all entities
91
+ */
92
+ [Symbol.iterator]() {
93
+ return this.ifEntities.values();
94
+ }
95
+ /**
96
+ * Serialize all entities to JSON
97
+ */
98
+ toJSON() {
99
+ return this.getAll().map(entity => entity.toJSON());
100
+ }
101
+ /**
102
+ * Load entities from JSON data
103
+ */
104
+ static fromJSON(json) {
105
+ const store = new EntityStore();
106
+ if (Array.isArray(json)) {
107
+ for (const entityData of json) {
108
+ const entity = if_entity_1.IFEntity.fromJSON(entityData);
109
+ store.add(entity);
110
+ }
111
+ }
112
+ return store;
113
+ }
114
+ }
115
+ exports.EntityStore = EntityStore;
116
+ //# sourceMappingURL=entity-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-store.js","sourceRoot":"","sources":["../../src/entities/entity-store.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,2CAAuC;AAEvC;;;GAGG;AACH,MAAa,WAAW;IACd,UAAU,CAAwB;IAE1C;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,MAAgB;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,gCAAgC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAG,UAAoB;QACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,GAAG,UAAoB;QACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK;QACH,uBAAuB;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAW;QACzB,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC7C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzHD,kCAyHC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Standard Interactive Fiction entity types
3
+ *
4
+ * These represent the fundamental object types in IF games.
5
+ * The values match the type strings used throughout the system.
6
+ */
7
+ export declare const EntityType: {
8
+ /** A location in the game world */
9
+ readonly ROOM: "room";
10
+ /** A doorway or portal between rooms */
11
+ readonly DOOR: "door";
12
+ /** A generic takeable object */
13
+ readonly ITEM: "item";
14
+ /** A character (NPC or player) */
15
+ readonly ACTOR: "actor";
16
+ /** An object that can contain other objects */
17
+ readonly CONTAINER: "container";
18
+ /** An object that can support other objects on top */
19
+ readonly SUPPORTER: "supporter";
20
+ /** Fixed decorative objects that can't be taken */
21
+ readonly SCENERY: "scenery";
22
+ /** A directional exit (rarely used as entity) */
23
+ readonly EXIT: "exit";
24
+ /** Generic object type (default) */
25
+ readonly OBJECT: "object";
26
+ };
27
+ /**
28
+ * Type representing valid entity types
29
+ */
30
+ export type EntityType = typeof EntityType[keyof typeof EntityType];
31
+ /**
32
+ * Type guard to check if a string is a valid IF entity type
33
+ */
34
+ export declare function isEntityType(type: string): type is EntityType;
35
+ /**
36
+ * Get the ID prefix for an entity type
37
+ * Used for generating consistent entity IDs
38
+ */
39
+ export declare function getEntityTypePrefix(type: EntityType): string;
40
+ //# sourceMappingURL=entity-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-types.d.ts","sourceRoot":"","sources":["../../src/entities/entity-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,UAAU;IACrB,mCAAmC;;IAGnC,wCAAwC;;IAGxC,gCAAgC;;IAGhC,kCAAkC;;IAGlC,+CAA+C;;IAG/C,sDAAsD;;IAGtD,mDAAmD;;IAGnD,iDAAiD;;IAGjD,oCAAoC;;CAE5B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,UAAU,CAE7D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAc5D"}