@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,79 @@
1
+ /**
2
+ * Type-Safe Entity Builder (ADR-090)
3
+ *
4
+ * Builder pattern for creating entities with compile-time capability
5
+ * conflict detection. When two traits claim the same capability,
6
+ * TypeScript will error (and runtime will throw as backup).
7
+ */
8
+ import { IFEntity } from '../entities';
9
+ import { ITrait } from '../traits/trait';
10
+ /**
11
+ * Type-safe entity builder that tracks claimed capabilities.
12
+ *
13
+ * Provides runtime checks for capability conflicts. TypeScript's
14
+ * type system can catch conflicts at compile time when traits
15
+ * declare capabilities with `as const`.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const basket = new EntityBuilder(entity)
20
+ * .add(new IdentityTrait({ name: 'basket' }))
21
+ * .add(new ContainerTrait())
22
+ * .add(new BasketElevatorTrait({ ... })) // claims: lowering, raising
23
+ * .build();
24
+ *
25
+ * // Runtime error - duplicate capability:
26
+ * const bad = new EntityBuilder(entity)
27
+ * .add(new BasketElevatorTrait({ ... })) // claims: lowering
28
+ * .add(new MirrorPoleTrait({ ... })) // also claims: lowering
29
+ * .build(); // throws!
30
+ * ```
31
+ */
32
+ export declare class EntityBuilder {
33
+ private entity;
34
+ private claimedCaps;
35
+ constructor(entity: IFEntity);
36
+ /**
37
+ * Add a trait to the entity.
38
+ *
39
+ * Checks for capability conflicts at runtime. If two traits
40
+ * claim the same capability, throws an error.
41
+ *
42
+ * @param trait - The trait to add
43
+ * @returns This builder for chaining
44
+ * @throws Error if capability conflict detected
45
+ */
46
+ add<T extends ITrait>(trait: T): this;
47
+ /**
48
+ * Build and return the entity.
49
+ */
50
+ build(): IFEntity;
51
+ /**
52
+ * Get all capabilities claimed so far.
53
+ */
54
+ getClaimedCapabilities(): string[];
55
+ /**
56
+ * Find which trait claimed a capability.
57
+ */
58
+ private findTraitWithCapability;
59
+ }
60
+ /**
61
+ * Create an entity builder for type-safe trait composition.
62
+ *
63
+ * This is a convenience function that wraps an existing entity
64
+ * in a builder. Use when you want capability conflict checking.
65
+ *
66
+ * @param entity - The entity to wrap
67
+ * @returns A new EntityBuilder
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * const basket = buildEntity(world.createEntity('basket', EntityType.CONTAINER))
72
+ * .add(new IdentityTrait({ name: 'rusty iron basket' }))
73
+ * .add(new ContainerTrait({ capacity: { maxItems: 10 } }))
74
+ * .add(new BasketElevatorTrait({ ... }))
75
+ * .build();
76
+ * ```
77
+ */
78
+ export declare function buildEntity(entity: IFEntity): EntityBuilder;
79
+ //# sourceMappingURL=entity-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/capabilities/entity-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAqB;gBAE5B,MAAM,EAAE,QAAQ;IAI5B;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAyBrC;;OAEG;IACH,KAAK,IAAI,QAAQ;IAIjB;;OAEG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAShC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,CAE3D"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Type-Safe Entity Builder (ADR-090)
4
+ *
5
+ * Builder pattern for creating entities with compile-time capability
6
+ * conflict detection. When two traits claim the same capability,
7
+ * TypeScript will error (and runtime will throw as backup).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EntityBuilder = void 0;
11
+ exports.buildEntity = buildEntity;
12
+ /**
13
+ * Type-safe entity builder that tracks claimed capabilities.
14
+ *
15
+ * Provides runtime checks for capability conflicts. TypeScript's
16
+ * type system can catch conflicts at compile time when traits
17
+ * declare capabilities with `as const`.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const basket = new EntityBuilder(entity)
22
+ * .add(new IdentityTrait({ name: 'basket' }))
23
+ * .add(new ContainerTrait())
24
+ * .add(new BasketElevatorTrait({ ... })) // claims: lowering, raising
25
+ * .build();
26
+ *
27
+ * // Runtime error - duplicate capability:
28
+ * const bad = new EntityBuilder(entity)
29
+ * .add(new BasketElevatorTrait({ ... })) // claims: lowering
30
+ * .add(new MirrorPoleTrait({ ... })) // also claims: lowering
31
+ * .build(); // throws!
32
+ * ```
33
+ */
34
+ class EntityBuilder {
35
+ entity;
36
+ claimedCaps = new Set();
37
+ constructor(entity) {
38
+ this.entity = entity;
39
+ }
40
+ /**
41
+ * Add a trait to the entity.
42
+ *
43
+ * Checks for capability conflicts at runtime. If two traits
44
+ * claim the same capability, throws an error.
45
+ *
46
+ * @param trait - The trait to add
47
+ * @returns This builder for chaining
48
+ * @throws Error if capability conflict detected
49
+ */
50
+ add(trait) {
51
+ const traitClass = trait.constructor;
52
+ const newCaps = traitClass.capabilities ?? [];
53
+ // Check for capability conflicts
54
+ for (const cap of newCaps) {
55
+ if (this.claimedCaps.has(cap)) {
56
+ // Find which trait already claimed it
57
+ const existingTrait = this.findTraitWithCapability(cap);
58
+ const existingType = existingTrait
59
+ ? existingTrait.constructor.type
60
+ : 'unknown';
61
+ throw new Error(`Entity "${this.entity.id}": capability "${cap}" already claimed by trait "${existingType}". ` +
62
+ `New trait "${traitClass.type}" cannot also claim it.`);
63
+ }
64
+ this.claimedCaps.add(cap);
65
+ }
66
+ this.entity.add(trait);
67
+ return this;
68
+ }
69
+ /**
70
+ * Build and return the entity.
71
+ */
72
+ build() {
73
+ return this.entity;
74
+ }
75
+ /**
76
+ * Get all capabilities claimed so far.
77
+ */
78
+ getClaimedCapabilities() {
79
+ return Array.from(this.claimedCaps);
80
+ }
81
+ /**
82
+ * Find which trait claimed a capability.
83
+ */
84
+ findTraitWithCapability(capability) {
85
+ for (const trait of this.entity.traits.values()) {
86
+ const traitClass = trait.constructor;
87
+ if (traitClass.capabilities?.includes(capability)) {
88
+ return trait;
89
+ }
90
+ }
91
+ return undefined;
92
+ }
93
+ }
94
+ exports.EntityBuilder = EntityBuilder;
95
+ /**
96
+ * Create an entity builder for type-safe trait composition.
97
+ *
98
+ * This is a convenience function that wraps an existing entity
99
+ * in a builder. Use when you want capability conflict checking.
100
+ *
101
+ * @param entity - The entity to wrap
102
+ * @returns A new EntityBuilder
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const basket = buildEntity(world.createEntity('basket', EntityType.CONTAINER))
107
+ * .add(new IdentityTrait({ name: 'rusty iron basket' }))
108
+ * .add(new ContainerTrait({ capacity: { maxItems: 10 } }))
109
+ * .add(new BasketElevatorTrait({ ... }))
110
+ * .build();
111
+ * ```
112
+ */
113
+ function buildEntity(entity) {
114
+ return new EntityBuilder(entity);
115
+ }
116
+ //# sourceMappingURL=entity-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/capabilities/entity-builder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoHH,kCAEC;AAjHD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,aAAa;IAChB,MAAM,CAAW;IACjB,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,YAAY,MAAgB;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CAAmB,KAAQ;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;QAE9C,iCAAiC;QACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,sCAAsC;gBACtC,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,aAAa;oBAChC,CAAC,CAAE,aAAa,CAAC,WAAiC,CAAC,IAAI;oBACvD,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,+BAA+B,YAAY,KAAK;oBAC9F,cAAc,UAAU,CAAC,IAAI,yBAAyB,CACvD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,UAAkB;QAChD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;YAC1D,IAAI,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArED,sCAqEC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,WAAW,CAAC,MAAgB;IAC1C,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Capability Dispatch System (ADR-090)
3
+ *
4
+ * Entity-centric action dispatch where traits declare capabilities
5
+ * (action IDs they respond to) and behaviors implement the logic.
6
+ */
7
+ export { CapabilityValidationResult, CapabilityEffect, createEffect } from './types';
8
+ export { CapabilityBehavior, CapabilitySharedData } from './capability-behavior';
9
+ export { TraitBehaviorBinding, BehaviorRegistrationOptions, registerCapabilityBehavior, getBehaviorForCapability, getBehaviorBinding, hasCapabilityBehavior, unregisterCapabilityBehavior, clearCapabilityRegistry, getAllCapabilityBindings } from './capability-registry';
10
+ export { CapabilityResolution, CapabilityMode, CapabilityConfig, defineCapabilityDefaults, getCapabilityConfig, hasCapabilityDefaults, clearCapabilityDefaults, getAllCapabilityDefaults } from './capability-defaults';
11
+ export { findTraitWithCapability, hasCapability, getEntityCapabilities, traitHasCapability, getCapableTraits } from './capability-helpers';
12
+ export { EntityBuilder, buildEntity } from './entity-builder';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * Capability Dispatch System (ADR-090)
4
+ *
5
+ * Entity-centric action dispatch where traits declare capabilities
6
+ * (action IDs they respond to) and behaviors implement the logic.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.buildEntity = exports.EntityBuilder = exports.getCapableTraits = exports.traitHasCapability = exports.getEntityCapabilities = exports.hasCapability = exports.findTraitWithCapability = exports.getAllCapabilityDefaults = exports.clearCapabilityDefaults = exports.hasCapabilityDefaults = exports.getCapabilityConfig = exports.defineCapabilityDefaults = exports.getAllCapabilityBindings = exports.clearCapabilityRegistry = exports.unregisterCapabilityBehavior = exports.hasCapabilityBehavior = exports.getBehaviorBinding = exports.getBehaviorForCapability = exports.registerCapabilityBehavior = exports.createEffect = void 0;
10
+ // Types
11
+ var types_1 = require("./types");
12
+ Object.defineProperty(exports, "createEffect", { enumerable: true, get: function () { return types_1.createEffect; } });
13
+ // Registry
14
+ var capability_registry_1 = require("./capability-registry");
15
+ Object.defineProperty(exports, "registerCapabilityBehavior", { enumerable: true, get: function () { return capability_registry_1.registerCapabilityBehavior; } });
16
+ Object.defineProperty(exports, "getBehaviorForCapability", { enumerable: true, get: function () { return capability_registry_1.getBehaviorForCapability; } });
17
+ Object.defineProperty(exports, "getBehaviorBinding", { enumerable: true, get: function () { return capability_registry_1.getBehaviorBinding; } });
18
+ Object.defineProperty(exports, "hasCapabilityBehavior", { enumerable: true, get: function () { return capability_registry_1.hasCapabilityBehavior; } });
19
+ Object.defineProperty(exports, "unregisterCapabilityBehavior", { enumerable: true, get: function () { return capability_registry_1.unregisterCapabilityBehavior; } });
20
+ Object.defineProperty(exports, "clearCapabilityRegistry", { enumerable: true, get: function () { return capability_registry_1.clearCapabilityRegistry; } });
21
+ Object.defineProperty(exports, "getAllCapabilityBindings", { enumerable: true, get: function () { return capability_registry_1.getAllCapabilityBindings; } });
22
+ // Defaults and configuration
23
+ var capability_defaults_1 = require("./capability-defaults");
24
+ Object.defineProperty(exports, "defineCapabilityDefaults", { enumerable: true, get: function () { return capability_defaults_1.defineCapabilityDefaults; } });
25
+ Object.defineProperty(exports, "getCapabilityConfig", { enumerable: true, get: function () { return capability_defaults_1.getCapabilityConfig; } });
26
+ Object.defineProperty(exports, "hasCapabilityDefaults", { enumerable: true, get: function () { return capability_defaults_1.hasCapabilityDefaults; } });
27
+ Object.defineProperty(exports, "clearCapabilityDefaults", { enumerable: true, get: function () { return capability_defaults_1.clearCapabilityDefaults; } });
28
+ Object.defineProperty(exports, "getAllCapabilityDefaults", { enumerable: true, get: function () { return capability_defaults_1.getAllCapabilityDefaults; } });
29
+ // Helpers
30
+ var capability_helpers_1 = require("./capability-helpers");
31
+ Object.defineProperty(exports, "findTraitWithCapability", { enumerable: true, get: function () { return capability_helpers_1.findTraitWithCapability; } });
32
+ Object.defineProperty(exports, "hasCapability", { enumerable: true, get: function () { return capability_helpers_1.hasCapability; } });
33
+ Object.defineProperty(exports, "getEntityCapabilities", { enumerable: true, get: function () { return capability_helpers_1.getEntityCapabilities; } });
34
+ Object.defineProperty(exports, "traitHasCapability", { enumerable: true, get: function () { return capability_helpers_1.traitHasCapability; } });
35
+ Object.defineProperty(exports, "getCapableTraits", { enumerable: true, get: function () { return capability_helpers_1.getCapableTraits; } });
36
+ // Entity builder
37
+ var entity_builder_1 = require("./entity-builder");
38
+ Object.defineProperty(exports, "EntityBuilder", { enumerable: true, get: function () { return entity_builder_1.EntityBuilder; } });
39
+ Object.defineProperty(exports, "buildEntity", { enumerable: true, get: function () { return entity_builder_1.buildEntity; } });
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,QAAQ;AACR,iCAIiB;AADf,qGAAA,YAAY,OAAA;AAMd,WAAW;AACX,6DAU+B;AAP7B,iIAAA,0BAA0B,OAAA;AAC1B,+HAAA,wBAAwB,OAAA;AACxB,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,mIAAA,4BAA4B,OAAA;AAC5B,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,6BAA6B;AAC7B,6DAS+B;AAL7B,+HAAA,wBAAwB,OAAA;AACxB,0HAAA,mBAAmB,OAAA;AACnB,4HAAA,qBAAqB,OAAA;AACrB,8HAAA,uBAAuB,OAAA;AACvB,+HAAA,wBAAwB,OAAA;AAG1B,UAAU;AACV,2DAM8B;AAL5B,6HAAA,uBAAuB,OAAA;AACvB,mHAAA,aAAa,OAAA;AACb,2HAAA,qBAAqB,OAAA;AACrB,wHAAA,kBAAkB,OAAA;AAClB,sHAAA,gBAAgB,OAAA;AAGlB,iBAAiB;AACjB,mDAG0B;AAFxB,+GAAA,aAAa,OAAA;AACb,6GAAA,WAAW,OAAA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Capability dispatch types (ADR-090)
3
+ *
4
+ * Types for entity-centric action dispatch where traits declare
5
+ * which verbs/actions they respond to.
6
+ */
7
+ /**
8
+ * Result from capability behavior validation.
9
+ * Mirrors stdlib's ValidationResult for consistency.
10
+ */
11
+ export interface CapabilityValidationResult {
12
+ /** Whether the behavior can execute */
13
+ valid: boolean;
14
+ /** Error code if validation failed (for message lookup) */
15
+ error?: string;
16
+ /** Additional context for error messages */
17
+ params?: Record<string, any>;
18
+ /** Data to pass to execute/report phases */
19
+ data?: Record<string, any>;
20
+ }
21
+ /**
22
+ * Effect returned by capability behaviors.
23
+ * Simplified version - actual emit() is in event-processor.
24
+ */
25
+ export interface CapabilityEffect {
26
+ /** Event type (e.g., 'if.event.lowered', 'action.blocked') */
27
+ type: string;
28
+ /** Event payload */
29
+ payload: Record<string, any>;
30
+ }
31
+ /**
32
+ * Helper to create effects (mirrors event-processor's emit)
33
+ */
34
+ export declare function createEffect(type: string, payload: Record<string, any>): CapabilityEffect;
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/capabilities/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAEzF"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Capability dispatch types (ADR-090)
4
+ *
5
+ * Types for entity-centric action dispatch where traits declare
6
+ * which verbs/actions they respond to.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createEffect = createEffect;
10
+ /**
11
+ * Helper to create effects (mirrors event-processor's emit)
12
+ */
13
+ function createEffect(type, payload) {
14
+ return { type, payload };
15
+ }
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/capabilities/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,oCAEC;AALD;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,OAA4B;IACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Command processing error types and result types
3
+ */
4
+ import type { IParseError } from './parsed-command';
5
+ import type { IValidationError, IValidatedCommand } from './validated-command';
6
+ /**
7
+ * Errors that can occur during execution
8
+ */
9
+ export interface IExecutionError {
10
+ type: 'EXECUTION_ERROR';
11
+ code: 'HANDLER_ERROR' | 'EVENT_GENERATION_FAILED' | 'STATE_CORRUPTION';
12
+ message: string;
13
+ validated: IValidatedCommand;
14
+ error?: Error;
15
+ }
16
+ /**
17
+ * Union type for all command processing errors
18
+ */
19
+ export type CommandError = IParseError | IValidationError | IExecutionError;
20
+ /**
21
+ * Result type for command processing phases
22
+ */
23
+ export type CommandResult<T, E = CommandError> = {
24
+ success: true;
25
+ value: T;
26
+ } | {
27
+ success: false;
28
+ error: E;
29
+ };
30
+ //# sourceMappingURL=command-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-types.d.ts","sourceRoot":"","sources":["../../src/commands/command-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,eAAe,GAAG,yBAAyB,GAAG,kBAAkB,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,IACzC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Command processing error types and result types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=command-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-types.js","sourceRoot":"","sources":["../../src/commands/command-types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Command types for the IF command processing pipeline
3
+ */
4
+ export * from './parsed-command';
5
+ export * from './validated-command';
6
+ export * from './command-types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Command types for the IF command processing pipeline
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./parsed-command"), exports);
21
+ __exportStar(require("./validated-command"), exports);
22
+ __exportStar(require("./command-types"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Command types for the parsing phase
3
+ * These types represent the syntactic structure of commands
4
+ * without any world knowledge or entity resolution
5
+ */
6
+ export interface IParsedObjectReference {
7
+ /** Original text from input */
8
+ text: string;
9
+ /** Possible vocabulary matches */
10
+ candidates: string[];
11
+ /** Optional modifiers (adjectives, etc.) */
12
+ modifiers?: string[];
13
+ }
14
+ export interface IParsedCommandV1 {
15
+ /** Raw input text */
16
+ rawInput: string;
17
+ /** Identified action verb */
18
+ action: string;
19
+ /** Direct object if present */
20
+ directObject?: IParsedObjectReference;
21
+ /** Indirect object if present */
22
+ indirectObject?: IParsedObjectReference;
23
+ /** Preposition if present */
24
+ preposition?: string;
25
+ /** Additional parsed elements */
26
+ extras?: Record<string, any>;
27
+ }
28
+ /**
29
+ * Parts of speech classification
30
+ */
31
+ export declare enum PartOfSpeech {
32
+ VERB = "VERB",
33
+ NOUN = "NOUN",
34
+ ADJECTIVE = "ADJECTIVE",
35
+ ARTICLE = "ARTICLE",
36
+ PREPOSITION = "PREPOSITION",
37
+ PRONOUN = "PRONOUN",
38
+ DETERMINER = "DETERMINER",
39
+ CONJUNCTION = "CONJUNCTION",
40
+ UNKNOWN = "UNKNOWN"
41
+ }
42
+ /**
43
+ * Token candidate from vocabulary
44
+ */
45
+ export interface ITokenCandidate {
46
+ /** Vocabulary ID */
47
+ id: string;
48
+ /** Type in vocabulary (verb, noun, etc.) */
49
+ type: string;
50
+ /** Confidence score */
51
+ confidence: number;
52
+ }
53
+ /**
54
+ * Individual token with full information
55
+ */
56
+ export interface IToken {
57
+ /** Original word as typed */
58
+ word: string;
59
+ /** Normalized form (lowercase, etc.) */
60
+ normalized: string;
61
+ /** Character position in original input */
62
+ position: number;
63
+ /** Length of the token */
64
+ length: number;
65
+ /** Possible parts of speech */
66
+ partOfSpeech: PartOfSpeech[];
67
+ /** Vocabulary candidates for this token */
68
+ candidates: ITokenCandidate[];
69
+ }
70
+ /**
71
+ * Verb phrase structure
72
+ */
73
+ export interface IVerbPhrase {
74
+ /** Indices into token array */
75
+ tokens: number[];
76
+ /** Original text (e.g., "look at") */
77
+ text: string;
78
+ /** Main verb */
79
+ head: string;
80
+ /** Verb particles ("at" in "look at") */
81
+ particles?: string[];
82
+ }
83
+ /**
84
+ * Noun phrase structure with all information preserved
85
+ */
86
+ export interface INounPhrase {
87
+ /** Indices into token array */
88
+ tokens: number[];
89
+ /** Original complete text (e.g., "the small red ball") */
90
+ text: string;
91
+ /** Head noun ("ball") */
92
+ head: string;
93
+ /** Modifiers/adjectives ("small", "red") */
94
+ modifiers: string[];
95
+ /** Articles ("the", "a", "an") */
96
+ articles: string[];
97
+ /** Determiners ("all", "every", "some") */
98
+ determiners: string[];
99
+ /** Vocabulary candidates for the head noun */
100
+ candidates: string[];
101
+ /** True if this represents "all" (e.g., "take all") */
102
+ isAll?: boolean;
103
+ /** True if this is a list of objects (e.g., "take knife and lamp") */
104
+ isList?: boolean;
105
+ /** Individual items when isList is true */
106
+ items?: INounPhrase[];
107
+ /** Pre-resolved entity ID (e.g., when "it" was resolved during parsing) */
108
+ entityId?: string;
109
+ /** True if this noun phrase was a pronoun (e.g., "it", "them") */
110
+ wasPronoun?: boolean;
111
+ }
112
+ /**
113
+ * Preposition phrase structure
114
+ */
115
+ export interface IPrepPhrase {
116
+ /** Indices into token array */
117
+ tokens: number[];
118
+ /** Preposition text */
119
+ text: string;
120
+ }
121
+ /**
122
+ * Result of parsing phase - rich structure with all information preserved
123
+ */
124
+ export interface IParsedCommand {
125
+ /** Raw input text exactly as typed */
126
+ rawInput: string;
127
+ /** All tokens with position and classification */
128
+ tokens: IToken[];
129
+ /** Structured command components */
130
+ structure: {
131
+ /** Verb phrase */
132
+ verb: IVerbPhrase;
133
+ /** Direct object noun phrase */
134
+ directObject?: INounPhrase;
135
+ /** Preposition phrase */
136
+ preposition?: IPrepPhrase;
137
+ /** Indirect object noun phrase */
138
+ indirectObject?: INounPhrase;
139
+ };
140
+ /** Which grammar pattern matched (e.g., "VERB_NOUN_PREP_NOUN") */
141
+ pattern: string;
142
+ /** Parser confidence in this interpretation */
143
+ confidence: number;
144
+ /** Identified action (for compatibility) */
145
+ action: string;
146
+ /** Additional parsed elements */
147
+ extras?: Record<string, any>;
148
+ /** Raw text slot values (for patterns with .text() slots or :slot... syntax) */
149
+ textSlots?: Map<string, string>;
150
+ /** Excluded noun phrases for "all but X" patterns */
151
+ excluded?: INounPhrase[];
152
+ /** Instrument noun phrase for "with/through/using" clauses */
153
+ instrument?: INounPhrase;
154
+ /** Typed slot values for non-entity slots (number, ordinal, direction, etc.) */
155
+ typedSlots?: Map<string, import('@sharpee/if-domain').TypedSlotValue>;
156
+ /** Vocabulary slot matches (from .fromVocabulary() patterns) */
157
+ vocabularySlots?: Map<string, import('@sharpee/if-domain').GrammarVocabularyMatch>;
158
+ /** Matched manner adverb (from .manner() patterns) - feeds intention.manner */
159
+ manner?: string;
160
+ }
161
+ /**
162
+ * Parse error codes
163
+ *
164
+ * Error hierarchy (most specific to least):
165
+ * - NO_VERB: Empty or no verb detected
166
+ * - UNKNOWN_VERB: First word isn't a known verb
167
+ * - MISSING_OBJECT: Verb needs a direct object
168
+ * - MISSING_INDIRECT: Verb needs an indirect object (where/what)
169
+ * - ENTITY_NOT_FOUND: Object name not recognized
170
+ * - SCOPE_VIOLATION: Object exists but can't be accessed
171
+ * - AMBIGUOUS_INPUT: Multiple valid interpretations
172
+ * - UNKNOWN_COMMAND: Generic fallback (legacy)
173
+ * - INVALID_SYNTAX: Generic fallback (legacy)
174
+ */
175
+ export type ParseErrorCode = 'NO_VERB' | 'UNKNOWN_VERB' | 'MISSING_OBJECT' | 'MISSING_INDIRECT' | 'ENTITY_NOT_FOUND' | 'SCOPE_VIOLATION' | 'AMBIGUOUS_INPUT' | 'UNKNOWN_COMMAND' | 'INVALID_SYNTAX';
176
+ /**
177
+ * Errors that can occur during parsing
178
+ */
179
+ export interface IParseError {
180
+ type: 'PARSE_ERROR';
181
+ code: ParseErrorCode;
182
+ /** Message ID for lang layer lookup (e.g., 'parser.error.unknownVerb') */
183
+ messageId: string;
184
+ /** Fallback message if lang layer lookup fails */
185
+ message: string;
186
+ /** Original input */
187
+ input: string;
188
+ /** Character position of error (if applicable) */
189
+ position?: number;
190
+ /** Recognized verb (if any) */
191
+ verb?: string;
192
+ /** The word that failed (for ENTITY_NOT_FOUND, UNKNOWN_VERB) */
193
+ failedWord?: string;
194
+ /** Which slot failed (directObject, indirectObject) */
195
+ slot?: string;
196
+ /** Suggestion for correction */
197
+ suggestion?: string;
198
+ /** For AMBIGUOUS_INPUT: the candidates */
199
+ candidates?: Array<{
200
+ entityId: string;
201
+ label: string;
202
+ }>;
203
+ }
204
+ //# sourceMappingURL=parsed-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsed-command.d.ts","sourceRoot":"","sources":["../../src/commands/parsed-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Command types for the parsing phase
4
+ * These types represent the syntactic structure of commands
5
+ * without any world knowledge or entity resolution
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.PartOfSpeech = void 0;
9
+ // New rich information-preserving types
10
+ /**
11
+ * Parts of speech classification
12
+ */
13
+ var PartOfSpeech;
14
+ (function (PartOfSpeech) {
15
+ PartOfSpeech["VERB"] = "VERB";
16
+ PartOfSpeech["NOUN"] = "NOUN";
17
+ PartOfSpeech["ADJECTIVE"] = "ADJECTIVE";
18
+ PartOfSpeech["ARTICLE"] = "ARTICLE";
19
+ PartOfSpeech["PREPOSITION"] = "PREPOSITION";
20
+ PartOfSpeech["PRONOUN"] = "PRONOUN";
21
+ PartOfSpeech["DETERMINER"] = "DETERMINER";
22
+ PartOfSpeech["CONJUNCTION"] = "CONJUNCTION";
23
+ PartOfSpeech["UNKNOWN"] = "UNKNOWN";
24
+ })(PartOfSpeech || (exports.PartOfSpeech = PartOfSpeech = {}));
25
+ //# sourceMappingURL=parsed-command.js.map