@sharpee/stdlib 3.0.0 → 3.3.0

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 (765) hide show
  1. package/actions/author/index.d.ts +1 -1
  2. package/actions/author/index.d.ts.map +1 -1
  3. package/actions/author/index.js +2 -2
  4. package/actions/author/index.js.map +1 -1
  5. package/actions/author/trace.d.ts +3 -3
  6. package/actions/author/trace.d.ts.map +1 -1
  7. package/actions/author/trace.js +2 -2
  8. package/actions/author/trace.js.map +1 -1
  9. package/actions/base/index.d.ts +2 -2
  10. package/actions/base/index.d.ts.map +1 -1
  11. package/actions/base/index.js +2 -2
  12. package/actions/base/index.js.map +1 -1
  13. package/actions/base/migration-shim.d.ts +1 -1
  14. package/actions/base/migration-shim.d.ts.map +1 -1
  15. package/actions/base/report-helpers.d.ts +1 -1
  16. package/actions/base/report-helpers.d.ts.map +1 -1
  17. package/actions/base/report-helpers.js +3 -3
  18. package/actions/base/report-helpers.js.map +1 -1
  19. package/actions/base/snapshot-utils.js +2 -2
  20. package/actions/base/snapshot-utils.js.map +1 -1
  21. package/actions/capability-dispatch.d.ts +3 -3
  22. package/actions/capability-dispatch.d.ts.map +1 -1
  23. package/actions/capability-dispatch.js +18 -8
  24. package/actions/capability-dispatch.js.map +1 -1
  25. package/actions/constants.d.ts +2 -0
  26. package/actions/constants.d.ts.map +1 -1
  27. package/actions/constants.js +3 -0
  28. package/actions/constants.js.map +1 -1
  29. package/actions/context-adapter.d.ts +2 -2
  30. package/actions/context-adapter.d.ts.map +1 -1
  31. package/actions/data-builder-types.d.ts +1 -1
  32. package/actions/data-builder-types.d.ts.map +1 -1
  33. package/actions/enhanced-context.d.ts +5 -4
  34. package/actions/enhanced-context.d.ts.map +1 -1
  35. package/actions/enhanced-context.js +85 -67
  36. package/actions/enhanced-context.js.map +1 -1
  37. package/actions/enhanced-types.d.ts +29 -3
  38. package/actions/enhanced-types.d.ts.map +1 -1
  39. package/actions/enhanced-types.js.map +1 -1
  40. package/actions/helpers/emit-illustrations.d.ts +1 -1
  41. package/actions/helpers/emit-illustrations.d.ts.map +1 -1
  42. package/actions/index.d.ts +10 -8
  43. package/actions/index.d.ts.map +1 -1
  44. package/actions/index.js +16 -10
  45. package/actions/index.js.map +1 -1
  46. package/actions/lifecycle/descriptor.d.ts +111 -0
  47. package/actions/lifecycle/descriptor.d.ts.map +1 -0
  48. package/actions/lifecycle/descriptor.js +22 -0
  49. package/actions/lifecycle/descriptor.js.map +1 -0
  50. package/actions/lifecycle/index.d.ts +14 -0
  51. package/actions/lifecycle/index.d.ts.map +1 -0
  52. package/actions/lifecycle/index.js +28 -0
  53. package/actions/lifecycle/index.js.map +1 -0
  54. package/actions/lifecycle/lifecycle-engine.d.ts +189 -0
  55. package/actions/lifecycle/lifecycle-engine.d.ts.map +1 -0
  56. package/actions/lifecycle/lifecycle-engine.js +272 -0
  57. package/actions/lifecycle/lifecycle-engine.js.map +1 -0
  58. package/actions/lifecycle/multi-object-lifecycle.d.ts +113 -0
  59. package/actions/lifecycle/multi-object-lifecycle.d.ts.map +1 -0
  60. package/actions/lifecycle/multi-object-lifecycle.js +138 -0
  61. package/actions/lifecycle/multi-object-lifecycle.js.map +1 -0
  62. package/actions/lifecycle/registry.d.ts +40 -0
  63. package/actions/lifecycle/registry.d.ts.map +1 -0
  64. package/actions/lifecycle/registry.js +131 -0
  65. package/actions/lifecycle/registry.js.map +1 -0
  66. package/actions/meta-action.d.ts +1 -1
  67. package/actions/meta-action.d.ts.map +1 -1
  68. package/actions/meta-action.js +2 -2
  69. package/actions/meta-action.js.map +1 -1
  70. package/actions/registry.d.ts +2 -2
  71. package/actions/registry.d.ts.map +1 -1
  72. package/actions/standard/about/about.d.ts +2 -2
  73. package/actions/standard/about/about.d.ts.map +1 -1
  74. package/actions/standard/about/about.js +4 -3
  75. package/actions/standard/about/about.js.map +1 -1
  76. package/actions/standard/about/index.d.ts +2 -2
  77. package/actions/standard/about/index.d.ts.map +1 -1
  78. package/actions/standard/about/index.js +2 -2
  79. package/actions/standard/about/index.js.map +1 -1
  80. package/actions/standard/again/again.d.ts +2 -2
  81. package/actions/standard/again/again.d.ts.map +1 -1
  82. package/actions/standard/again/again.js +4 -3
  83. package/actions/standard/again/again.js.map +1 -1
  84. package/actions/standard/again/index.d.ts +2 -2
  85. package/actions/standard/again/index.d.ts.map +1 -1
  86. package/actions/standard/again/index.js +2 -2
  87. package/actions/standard/again/index.js.map +1 -1
  88. package/actions/standard/asking/asking.d.ts +25 -0
  89. package/actions/standard/asking/asking.d.ts.map +1 -0
  90. package/actions/standard/asking/asking.js +123 -0
  91. package/actions/standard/asking/asking.js.map +1 -0
  92. package/actions/standard/asking/index.d.ts +5 -0
  93. package/actions/standard/asking/index.d.ts.map +1 -0
  94. package/actions/standard/asking/index.js +10 -0
  95. package/actions/standard/asking/index.js.map +1 -0
  96. package/actions/standard/attacking/attacking-data.d.ts +2 -2
  97. package/actions/standard/attacking/attacking-data.d.ts.map +1 -1
  98. package/actions/standard/attacking/attacking-events.d.ts +1 -1
  99. package/actions/standard/attacking/attacking-events.d.ts.map +1 -1
  100. package/actions/standard/attacking/attacking-types.d.ts +3 -0
  101. package/actions/standard/attacking/attacking-types.d.ts.map +1 -1
  102. package/actions/standard/attacking/attacking-types.js.map +1 -1
  103. package/actions/standard/attacking/attacking.d.ts +16 -2
  104. package/actions/standard/attacking/attacking.d.ts.map +1 -1
  105. package/actions/standard/attacking/attacking.js +194 -127
  106. package/actions/standard/attacking/attacking.js.map +1 -1
  107. package/actions/standard/attacking/index.d.ts +2 -2
  108. package/actions/standard/attacking/index.d.ts.map +1 -1
  109. package/actions/standard/attacking/index.js +5 -4
  110. package/actions/standard/attacking/index.js.map +1 -1
  111. package/actions/standard/climbing/climbing.d.ts +12 -2
  112. package/actions/standard/climbing/climbing.d.ts.map +1 -1
  113. package/actions/standard/climbing/climbing.js +111 -29
  114. package/actions/standard/climbing/climbing.js.map +1 -1
  115. package/actions/standard/climbing/index.d.ts +2 -2
  116. package/actions/standard/climbing/index.d.ts.map +1 -1
  117. package/actions/standard/climbing/index.js +2 -2
  118. package/actions/standard/climbing/index.js.map +1 -1
  119. package/actions/standard/closing/closing-data.d.ts +1 -1
  120. package/actions/standard/closing/closing-data.d.ts.map +1 -1
  121. package/actions/standard/closing/closing-data.js +3 -3
  122. package/actions/standard/closing/closing-data.js.map +1 -1
  123. package/actions/standard/closing/closing-event-data.d.ts +1 -1
  124. package/actions/standard/closing/closing-event-data.d.ts.map +1 -1
  125. package/actions/standard/closing/closing.d.ts +8 -2
  126. package/actions/standard/closing/closing.d.ts.map +1 -1
  127. package/actions/standard/closing/closing.js +61 -78
  128. package/actions/standard/closing/closing.js.map +1 -1
  129. package/actions/standard/closing/index.d.ts +3 -3
  130. package/actions/standard/closing/index.d.ts.map +1 -1
  131. package/actions/standard/closing/index.js +2 -2
  132. package/actions/standard/closing/index.js.map +1 -1
  133. package/actions/standard/cutting/cutting-messages.d.ts +17 -0
  134. package/actions/standard/cutting/cutting-messages.d.ts.map +1 -0
  135. package/actions/standard/cutting/cutting-messages.js +22 -0
  136. package/actions/standard/cutting/cutting-messages.js.map +1 -0
  137. package/actions/standard/cutting/cutting.d.ts +35 -0
  138. package/actions/standard/cutting/cutting.d.ts.map +1 -0
  139. package/actions/standard/cutting/cutting.js +232 -0
  140. package/actions/standard/cutting/cutting.js.map +1 -0
  141. package/actions/standard/cutting/index.d.ts +7 -0
  142. package/actions/standard/cutting/index.d.ts.map +1 -0
  143. package/actions/standard/cutting/index.js +12 -0
  144. package/actions/standard/cutting/index.js.map +1 -0
  145. package/actions/standard/deadly-room-death/deadly-room-death.d.ts +16 -0
  146. package/actions/standard/deadly-room-death/deadly-room-death.d.ts.map +1 -0
  147. package/actions/standard/deadly-room-death/deadly-room-death.js +44 -0
  148. package/actions/standard/deadly-room-death/deadly-room-death.js.map +1 -0
  149. package/actions/standard/deadly-room-death/index.d.ts +2 -0
  150. package/actions/standard/deadly-room-death/index.d.ts.map +1 -0
  151. package/actions/standard/deadly-room-death/index.js +6 -0
  152. package/actions/standard/deadly-room-death/index.js.map +1 -0
  153. package/actions/standard/digging/digging-messages.d.ts +17 -0
  154. package/actions/standard/digging/digging-messages.d.ts.map +1 -0
  155. package/actions/standard/digging/digging-messages.js +22 -0
  156. package/actions/standard/digging/digging-messages.js.map +1 -0
  157. package/actions/standard/digging/digging.d.ts +35 -0
  158. package/actions/standard/digging/digging.d.ts.map +1 -0
  159. package/actions/standard/digging/digging.js +232 -0
  160. package/actions/standard/digging/digging.js.map +1 -0
  161. package/actions/standard/digging/index.d.ts +7 -0
  162. package/actions/standard/digging/index.d.ts.map +1 -0
  163. package/actions/standard/digging/index.js +12 -0
  164. package/actions/standard/digging/index.js.map +1 -0
  165. package/actions/standard/drinking/drinking.d.ts +11 -2
  166. package/actions/standard/drinking/drinking.d.ts.map +1 -1
  167. package/actions/standard/drinking/drinking.js +53 -15
  168. package/actions/standard/drinking/drinking.js.map +1 -1
  169. package/actions/standard/drinking/index.d.ts +2 -2
  170. package/actions/standard/drinking/index.d.ts.map +1 -1
  171. package/actions/standard/drinking/index.js +3 -3
  172. package/actions/standard/drinking/index.js.map +1 -1
  173. package/actions/standard/dropping/dropping-data.d.ts +2 -2
  174. package/actions/standard/dropping/dropping-data.d.ts.map +1 -1
  175. package/actions/standard/dropping/dropping-data.js +9 -9
  176. package/actions/standard/dropping/dropping-data.js.map +1 -1
  177. package/actions/standard/dropping/dropping-events.d.ts +1 -1
  178. package/actions/standard/dropping/dropping-events.d.ts.map +1 -1
  179. package/actions/standard/dropping/dropping-types.d.ts +10 -18
  180. package/actions/standard/dropping/dropping-types.d.ts.map +1 -1
  181. package/actions/standard/dropping/dropping-types.js.map +1 -1
  182. package/actions/standard/dropping/dropping.d.ts +8 -2
  183. package/actions/standard/dropping/dropping.d.ts.map +1 -1
  184. package/actions/standard/dropping/dropping.js +135 -146
  185. package/actions/standard/dropping/dropping.js.map +1 -1
  186. package/actions/standard/dropping/index.d.ts +2 -2
  187. package/actions/standard/dropping/index.d.ts.map +1 -1
  188. package/actions/standard/dropping/index.js +2 -2
  189. package/actions/standard/dropping/index.js.map +1 -1
  190. package/actions/standard/eating/eating.d.ts +11 -2
  191. package/actions/standard/eating/eating.d.ts.map +1 -1
  192. package/actions/standard/eating/eating.js +53 -15
  193. package/actions/standard/eating/eating.js.map +1 -1
  194. package/actions/standard/eating/index.d.ts +2 -2
  195. package/actions/standard/eating/index.d.ts.map +1 -1
  196. package/actions/standard/eating/index.js +3 -3
  197. package/actions/standard/eating/index.js.map +1 -1
  198. package/actions/standard/entering/entering.d.ts +16 -7
  199. package/actions/standard/entering/entering.d.ts.map +1 -1
  200. package/actions/standard/entering/entering.js +65 -87
  201. package/actions/standard/entering/entering.js.map +1 -1
  202. package/actions/standard/entering/index.d.ts +2 -2
  203. package/actions/standard/entering/index.d.ts.map +1 -1
  204. package/actions/standard/entering/index.js +2 -2
  205. package/actions/standard/entering/index.js.map +1 -1
  206. package/actions/standard/examining/examining-data.d.ts +1 -1
  207. package/actions/standard/examining/examining-data.d.ts.map +1 -1
  208. package/actions/standard/examining/examining-data.js +72 -17
  209. package/actions/standard/examining/examining-data.js.map +1 -1
  210. package/actions/standard/examining/examining.d.ts +8 -2
  211. package/actions/standard/examining/examining.d.ts.map +1 -1
  212. package/actions/standard/examining/examining.js +54 -65
  213. package/actions/standard/examining/examining.js.map +1 -1
  214. package/actions/standard/examining/index.d.ts +2 -2
  215. package/actions/standard/examining/index.d.ts.map +1 -1
  216. package/actions/standard/examining/index.js +2 -2
  217. package/actions/standard/examining/index.js.map +1 -1
  218. package/actions/standard/exiting/exiting-messages.d.ts +2 -0
  219. package/actions/standard/exiting/exiting-messages.d.ts.map +1 -1
  220. package/actions/standard/exiting/exiting-messages.js +2 -0
  221. package/actions/standard/exiting/exiting-messages.js.map +1 -1
  222. package/actions/standard/exiting/exiting.d.ts +8 -2
  223. package/actions/standard/exiting/exiting.d.ts.map +1 -1
  224. package/actions/standard/exiting/exiting.js +88 -18
  225. package/actions/standard/exiting/exiting.js.map +1 -1
  226. package/actions/standard/exiting/index.d.ts +2 -2
  227. package/actions/standard/exiting/index.d.ts.map +1 -1
  228. package/actions/standard/exiting/index.js +2 -2
  229. package/actions/standard/exiting/index.js.map +1 -1
  230. package/actions/standard/giving/giving.d.ts +23 -2
  231. package/actions/standard/giving/giving.d.ts.map +1 -1
  232. package/actions/standard/giving/giving.js +100 -23
  233. package/actions/standard/giving/giving.js.map +1 -1
  234. package/actions/standard/giving/index.d.ts +2 -2
  235. package/actions/standard/giving/index.d.ts.map +1 -1
  236. package/actions/standard/giving/index.js +3 -3
  237. package/actions/standard/giving/index.js.map +1 -1
  238. package/actions/standard/going/going-data.d.ts +1 -1
  239. package/actions/standard/going/going-data.d.ts.map +1 -1
  240. package/actions/standard/going/going-data.js +6 -6
  241. package/actions/standard/going/going-data.js.map +1 -1
  242. package/actions/standard/going/going.d.ts +20 -18
  243. package/actions/standard/going/going.d.ts.map +1 -1
  244. package/actions/standard/going/going.js +185 -162
  245. package/actions/standard/going/going.js.map +1 -1
  246. package/actions/standard/going/index.d.ts +2 -2
  247. package/actions/standard/going/index.d.ts.map +1 -1
  248. package/actions/standard/going/index.js +5 -3
  249. package/actions/standard/going/index.js.map +1 -1
  250. package/actions/standard/help/help.d.ts +2 -2
  251. package/actions/standard/help/help.d.ts.map +1 -1
  252. package/actions/standard/help/help.js +4 -3
  253. package/actions/standard/help/help.js.map +1 -1
  254. package/actions/standard/help/index.d.ts +2 -2
  255. package/actions/standard/help/index.d.ts.map +1 -1
  256. package/actions/standard/help/index.js +2 -2
  257. package/actions/standard/help/index.js.map +1 -1
  258. package/actions/standard/hiding/concealment-break.js +19 -19
  259. package/actions/standard/hiding/concealment-break.js.map +1 -1
  260. package/actions/standard/hiding/hiding.d.ts +13 -4
  261. package/actions/standard/hiding/hiding.d.ts.map +1 -1
  262. package/actions/standard/hiding/hiding.js +59 -15
  263. package/actions/standard/hiding/hiding.js.map +1 -1
  264. package/actions/standard/hiding/index.d.ts +4 -4
  265. package/actions/standard/hiding/index.d.ts.map +1 -1
  266. package/actions/standard/hiding/index.js +6 -6
  267. package/actions/standard/hiding/index.js.map +1 -1
  268. package/actions/standard/hiding/revealing.d.ts +2 -2
  269. package/actions/standard/hiding/revealing.d.ts.map +1 -1
  270. package/actions/standard/hiding/revealing.js +4 -3
  271. package/actions/standard/hiding/revealing.js.map +1 -1
  272. package/actions/standard/index.d.ts +61 -56
  273. package/actions/standard/index.d.ts.map +1 -1
  274. package/actions/standard/index.js +181 -166
  275. package/actions/standard/index.js.map +1 -1
  276. package/actions/standard/inserting/index.d.ts +2 -2
  277. package/actions/standard/inserting/index.d.ts.map +1 -1
  278. package/actions/standard/inserting/index.js +3 -3
  279. package/actions/standard/inserting/index.js.map +1 -1
  280. package/actions/standard/inserting/inserting-data.d.ts +1 -1
  281. package/actions/standard/inserting/inserting-data.d.ts.map +1 -1
  282. package/actions/standard/inserting/inserting-data.js +3 -3
  283. package/actions/standard/inserting/inserting-data.js.map +1 -1
  284. package/actions/standard/inserting/inserting-events.d.ts +2 -2
  285. package/actions/standard/inserting/inserting-events.d.ts.map +1 -1
  286. package/actions/standard/inserting/inserting.d.ts +14 -2
  287. package/actions/standard/inserting/inserting.d.ts.map +1 -1
  288. package/actions/standard/inserting/inserting.js +96 -30
  289. package/actions/standard/inserting/inserting.js.map +1 -1
  290. package/actions/standard/inventory/index.d.ts +2 -2
  291. package/actions/standard/inventory/index.d.ts.map +1 -1
  292. package/actions/standard/inventory/index.js +3 -3
  293. package/actions/standard/inventory/index.js.map +1 -1
  294. package/actions/standard/inventory/inventory.d.ts +2 -2
  295. package/actions/standard/inventory/inventory.d.ts.map +1 -1
  296. package/actions/standard/inventory/inventory.js +20 -31
  297. package/actions/standard/inventory/inventory.js.map +1 -1
  298. package/actions/standard/listening/index.d.ts +2 -2
  299. package/actions/standard/listening/index.d.ts.map +1 -1
  300. package/actions/standard/listening/index.js +3 -3
  301. package/actions/standard/listening/index.js.map +1 -1
  302. package/actions/standard/listening/listening.d.ts +14 -3
  303. package/actions/standard/listening/listening.d.ts.map +1 -1
  304. package/actions/standard/listening/listening.js +53 -12
  305. package/actions/standard/listening/listening.js.map +1 -1
  306. package/actions/standard/lock-shared.d.ts +1 -1
  307. package/actions/standard/lock-shared.d.ts.map +1 -1
  308. package/actions/standard/lock-shared.js +10 -10
  309. package/actions/standard/lock-shared.js.map +1 -1
  310. package/actions/standard/locking/index.d.ts +2 -2
  311. package/actions/standard/locking/index.d.ts.map +1 -1
  312. package/actions/standard/locking/index.js +2 -2
  313. package/actions/standard/locking/index.js.map +1 -1
  314. package/actions/standard/locking/locking.d.ts +11 -2
  315. package/actions/standard/locking/locking.d.ts.map +1 -1
  316. package/actions/standard/locking/locking.js +86 -27
  317. package/actions/standard/locking/locking.js.map +1 -1
  318. package/actions/standard/looking/index.d.ts +4 -4
  319. package/actions/standard/looking/index.d.ts.map +1 -1
  320. package/actions/standard/looking/index.js +9 -9
  321. package/actions/standard/looking/index.js.map +1 -1
  322. package/actions/standard/looking/looking-data.d.ts +2 -2
  323. package/actions/standard/looking/looking-data.d.ts.map +1 -1
  324. package/actions/standard/looking/looking-data.js +15 -13
  325. package/actions/standard/looking/looking-data.js.map +1 -1
  326. package/actions/standard/looking/looking.d.ts +2 -2
  327. package/actions/standard/looking/looking.d.ts.map +1 -1
  328. package/actions/standard/looking/looking.js +15 -14
  329. package/actions/standard/looking/looking.js.map +1 -1
  330. package/actions/standard/looking/snippet-resolver.js +2 -2
  331. package/actions/standard/looking/snippet-resolver.js.map +1 -1
  332. package/actions/standard/lowering/index.d.ts +1 -1
  333. package/actions/standard/lowering/index.d.ts.map +1 -1
  334. package/actions/standard/lowering/index.js +2 -2
  335. package/actions/standard/lowering/index.js.map +1 -1
  336. package/actions/standard/lowering/lowering.d.ts +2 -2
  337. package/actions/standard/lowering/lowering.js +4 -4
  338. package/actions/standard/lowering/lowering.js.map +1 -1
  339. package/actions/standard/opening/index.d.ts +2 -2
  340. package/actions/standard/opening/index.d.ts.map +1 -1
  341. package/actions/standard/opening/index.js +2 -2
  342. package/actions/standard/opening/index.js.map +1 -1
  343. package/actions/standard/opening/opening-data.d.ts +2 -2
  344. package/actions/standard/opening/opening-data.d.ts.map +1 -1
  345. package/actions/standard/opening/opening-messages.d.ts +3 -0
  346. package/actions/standard/opening/opening-messages.d.ts.map +1 -1
  347. package/actions/standard/opening/opening-messages.js +4 -0
  348. package/actions/standard/opening/opening-messages.js.map +1 -1
  349. package/actions/standard/opening/opening.d.ts +10 -2
  350. package/actions/standard/opening/opening.d.ts.map +1 -1
  351. package/actions/standard/opening/opening.js +94 -82
  352. package/actions/standard/opening/opening.js.map +1 -1
  353. package/actions/standard/pulling/index.d.ts +2 -2
  354. package/actions/standard/pulling/index.d.ts.map +1 -1
  355. package/actions/standard/pulling/index.js +3 -3
  356. package/actions/standard/pulling/index.js.map +1 -1
  357. package/actions/standard/pulling/pulling.d.ts +11 -2
  358. package/actions/standard/pulling/pulling.d.ts.map +1 -1
  359. package/actions/standard/pulling/pulling.js +53 -15
  360. package/actions/standard/pulling/pulling.js.map +1 -1
  361. package/actions/standard/pushing/index.d.ts +2 -2
  362. package/actions/standard/pushing/index.d.ts.map +1 -1
  363. package/actions/standard/pushing/index.js +3 -3
  364. package/actions/standard/pushing/index.js.map +1 -1
  365. package/actions/standard/pushing/pushing-original.d.ts +2 -2
  366. package/actions/standard/pushing/pushing-original.d.ts.map +1 -1
  367. package/actions/standard/pushing/pushing-original.js +4 -4
  368. package/actions/standard/pushing/pushing-original.js.map +1 -1
  369. package/actions/standard/pushing/pushing-types.d.ts +3 -6
  370. package/actions/standard/pushing/pushing-types.d.ts.map +1 -1
  371. package/actions/standard/pushing/pushing-types.js +3 -1
  372. package/actions/standard/pushing/pushing-types.js.map +1 -1
  373. package/actions/standard/pushing/pushing.d.ts +16 -7
  374. package/actions/standard/pushing/pushing.d.ts.map +1 -1
  375. package/actions/standard/pushing/pushing.js +70 -90
  376. package/actions/standard/pushing/pushing.js.map +1 -1
  377. package/actions/standard/putting/index.d.ts +2 -2
  378. package/actions/standard/putting/index.d.ts.map +1 -1
  379. package/actions/standard/putting/index.js +3 -3
  380. package/actions/standard/putting/index.js.map +1 -1
  381. package/actions/standard/putting/putting-data.d.ts +1 -1
  382. package/actions/standard/putting/putting-data.d.ts.map +1 -1
  383. package/actions/standard/putting/putting-data.js +3 -3
  384. package/actions/standard/putting/putting-data.js.map +1 -1
  385. package/actions/standard/putting/putting-types.d.ts +10 -21
  386. package/actions/standard/putting/putting-types.d.ts.map +1 -1
  387. package/actions/standard/putting/putting-types.js +0 -1
  388. package/actions/standard/putting/putting-types.js.map +1 -1
  389. package/actions/standard/putting/putting.d.ts +12 -2
  390. package/actions/standard/putting/putting.d.ts.map +1 -1
  391. package/actions/standard/putting/putting.js +191 -209
  392. package/actions/standard/putting/putting.js.map +1 -1
  393. package/actions/standard/quitting/index.d.ts +2 -2
  394. package/actions/standard/quitting/index.d.ts.map +1 -1
  395. package/actions/standard/quitting/index.js +3 -3
  396. package/actions/standard/quitting/index.js.map +1 -1
  397. package/actions/standard/quitting/quitting.d.ts +2 -2
  398. package/actions/standard/quitting/quitting.d.ts.map +1 -1
  399. package/actions/standard/quitting/quitting.js +4 -3
  400. package/actions/standard/quitting/quitting.js.map +1 -1
  401. package/actions/standard/raising/index.d.ts +1 -1
  402. package/actions/standard/raising/index.d.ts.map +1 -1
  403. package/actions/standard/raising/index.js +2 -2
  404. package/actions/standard/raising/index.js.map +1 -1
  405. package/actions/standard/raising/raising.d.ts +2 -2
  406. package/actions/standard/raising/raising.js +4 -4
  407. package/actions/standard/raising/raising.js.map +1 -1
  408. package/actions/standard/reading/index.d.ts +2 -2
  409. package/actions/standard/reading/index.d.ts.map +1 -1
  410. package/actions/standard/reading/index.js +2 -2
  411. package/actions/standard/reading/index.js.map +1 -1
  412. package/actions/standard/reading/reading.d.ts +7 -1
  413. package/actions/standard/reading/reading.d.ts.map +1 -1
  414. package/actions/standard/reading/reading.js +47 -63
  415. package/actions/standard/reading/reading.js.map +1 -1
  416. package/actions/standard/removing/index.d.ts +1 -1
  417. package/actions/standard/removing/index.d.ts.map +1 -1
  418. package/actions/standard/removing/index.js +2 -2
  419. package/actions/standard/removing/index.js.map +1 -1
  420. package/actions/standard/removing/removing-data.d.ts +1 -1
  421. package/actions/standard/removing/removing-data.d.ts.map +1 -1
  422. package/actions/standard/removing/removing-data.js +4 -4
  423. package/actions/standard/removing/removing-data.js.map +1 -1
  424. package/actions/standard/removing/removing-events.d.ts +2 -2
  425. package/actions/standard/removing/removing-events.d.ts.map +1 -1
  426. package/actions/standard/removing/removing-types.d.ts +10 -16
  427. package/actions/standard/removing/removing-types.d.ts.map +1 -1
  428. package/actions/standard/removing/removing-types.js.map +1 -1
  429. package/actions/standard/removing/removing.d.ts +15 -2
  430. package/actions/standard/removing/removing.d.ts.map +1 -1
  431. package/actions/standard/removing/removing.js +201 -142
  432. package/actions/standard/removing/removing.js.map +1 -1
  433. package/actions/standard/restarting/index.d.ts +2 -2
  434. package/actions/standard/restarting/index.d.ts.map +1 -1
  435. package/actions/standard/restarting/index.js +3 -3
  436. package/actions/standard/restarting/index.js.map +1 -1
  437. package/actions/standard/restarting/restarting.d.ts +2 -2
  438. package/actions/standard/restarting/restarting.d.ts.map +1 -1
  439. package/actions/standard/restarting/restarting.js +4 -3
  440. package/actions/standard/restarting/restarting.js.map +1 -1
  441. package/actions/standard/restoring/index.d.ts +2 -2
  442. package/actions/standard/restoring/index.d.ts.map +1 -1
  443. package/actions/standard/restoring/index.js +3 -3
  444. package/actions/standard/restoring/index.js.map +1 -1
  445. package/actions/standard/restoring/restoring.d.ts +2 -2
  446. package/actions/standard/restoring/restoring.d.ts.map +1 -1
  447. package/actions/standard/restoring/restoring.js +4 -3
  448. package/actions/standard/restoring/restoring.js.map +1 -1
  449. package/actions/standard/saving/index.d.ts +2 -2
  450. package/actions/standard/saving/index.d.ts.map +1 -1
  451. package/actions/standard/saving/index.js +3 -3
  452. package/actions/standard/saving/index.js.map +1 -1
  453. package/actions/standard/saving/saving.d.ts +2 -2
  454. package/actions/standard/saving/saving.d.ts.map +1 -1
  455. package/actions/standard/saving/saving.js +4 -3
  456. package/actions/standard/saving/saving.js.map +1 -1
  457. package/actions/standard/scoring/index.d.ts +2 -2
  458. package/actions/standard/scoring/index.d.ts.map +1 -1
  459. package/actions/standard/scoring/index.js +2 -2
  460. package/actions/standard/scoring/index.js.map +1 -1
  461. package/actions/standard/scoring/scoring.d.ts +2 -2
  462. package/actions/standard/scoring/scoring.d.ts.map +1 -1
  463. package/actions/standard/scoring/scoring.js +4 -3
  464. package/actions/standard/scoring/scoring.js.map +1 -1
  465. package/actions/standard/searching/index.d.ts +2 -2
  466. package/actions/standard/searching/index.d.ts.map +1 -1
  467. package/actions/standard/searching/index.js +2 -2
  468. package/actions/standard/searching/index.js.map +1 -1
  469. package/actions/standard/searching/searching.d.ts +12 -2
  470. package/actions/standard/searching/searching.d.ts.map +1 -1
  471. package/actions/standard/searching/searching.js +61 -23
  472. package/actions/standard/searching/searching.js.map +1 -1
  473. package/actions/standard/searching-helpers.d.ts +1 -1
  474. package/actions/standard/searching-helpers.d.ts.map +1 -1
  475. package/actions/standard/searching-helpers.js +35 -23
  476. package/actions/standard/searching-helpers.js.map +1 -1
  477. package/actions/standard/showing/index.d.ts +2 -2
  478. package/actions/standard/showing/index.d.ts.map +1 -1
  479. package/actions/standard/showing/index.js +3 -3
  480. package/actions/standard/showing/index.js.map +1 -1
  481. package/actions/standard/showing/showing.d.ts +16 -2
  482. package/actions/standard/showing/showing.d.ts.map +1 -1
  483. package/actions/standard/showing/showing.js +77 -17
  484. package/actions/standard/showing/showing.js.map +1 -1
  485. package/actions/standard/sleeping/index.d.ts +2 -2
  486. package/actions/standard/sleeping/index.d.ts.map +1 -1
  487. package/actions/standard/sleeping/index.js +2 -2
  488. package/actions/standard/sleeping/index.js.map +1 -1
  489. package/actions/standard/sleeping/sleeping.d.ts +2 -2
  490. package/actions/standard/sleeping/sleeping.d.ts.map +1 -1
  491. package/actions/standard/sleeping/sleeping.js +4 -3
  492. package/actions/standard/sleeping/sleeping.js.map +1 -1
  493. package/actions/standard/smelling/index.d.ts +2 -2
  494. package/actions/standard/smelling/index.d.ts.map +1 -1
  495. package/actions/standard/smelling/index.js +3 -3
  496. package/actions/standard/smelling/index.js.map +1 -1
  497. package/actions/standard/smelling/smelling.d.ts +12 -2
  498. package/actions/standard/smelling/smelling.d.ts.map +1 -1
  499. package/actions/standard/smelling/smelling.js +50 -11
  500. package/actions/standard/smelling/smelling.js.map +1 -1
  501. package/actions/standard/switching-shared.d.ts +1 -1
  502. package/actions/standard/switching-shared.d.ts.map +1 -1
  503. package/actions/standard/switching_off/index.d.ts +2 -2
  504. package/actions/standard/switching_off/index.d.ts.map +1 -1
  505. package/actions/standard/switching_off/index.js +2 -2
  506. package/actions/standard/switching_off/index.js.map +1 -1
  507. package/actions/standard/switching_off/switching_off.d.ts +13 -3
  508. package/actions/standard/switching_off/switching_off.d.ts.map +1 -1
  509. package/actions/standard/switching_off/switching_off.js +61 -21
  510. package/actions/standard/switching_off/switching_off.js.map +1 -1
  511. package/actions/standard/switching_on/index.d.ts +2 -2
  512. package/actions/standard/switching_on/index.d.ts.map +1 -1
  513. package/actions/standard/switching_on/index.js +2 -2
  514. package/actions/standard/switching_on/index.js.map +1 -1
  515. package/actions/standard/switching_on/switching_on.d.ts +16 -7
  516. package/actions/standard/switching_on/switching_on.d.ts.map +1 -1
  517. package/actions/standard/switching_on/switching_on.js +67 -79
  518. package/actions/standard/switching_on/switching_on.js.map +1 -1
  519. package/actions/standard/taking/index.d.ts +1 -1
  520. package/actions/standard/taking/index.d.ts.map +1 -1
  521. package/actions/standard/taking/index.js +2 -2
  522. package/actions/standard/taking/index.js.map +1 -1
  523. package/actions/standard/taking/taking-data.d.ts +1 -1
  524. package/actions/standard/taking/taking-data.d.ts.map +1 -1
  525. package/actions/standard/taking/taking-data.js +5 -5
  526. package/actions/standard/taking/taking-data.js.map +1 -1
  527. package/actions/standard/taking/taking-types.d.ts +14 -36
  528. package/actions/standard/taking/taking-types.d.ts.map +1 -1
  529. package/actions/standard/taking/taking-types.js.map +1 -1
  530. package/actions/standard/taking/taking.d.ts +13 -2
  531. package/actions/standard/taking/taking.d.ts.map +1 -1
  532. package/actions/standard/taking/taking.js +145 -197
  533. package/actions/standard/taking/taking.js.map +1 -1
  534. package/actions/standard/taking_off/index.d.ts +1 -1
  535. package/actions/standard/taking_off/index.d.ts.map +1 -1
  536. package/actions/standard/taking_off/index.js +2 -2
  537. package/actions/standard/taking_off/index.js.map +1 -1
  538. package/actions/standard/taking_off/taking-off.d.ts +8 -2
  539. package/actions/standard/taking_off/taking-off.d.ts.map +1 -1
  540. package/actions/standard/taking_off/taking-off.js +74 -38
  541. package/actions/standard/taking_off/taking-off.js.map +1 -1
  542. package/actions/standard/talking/index.d.ts +2 -2
  543. package/actions/standard/talking/index.d.ts.map +1 -1
  544. package/actions/standard/talking/index.js +3 -3
  545. package/actions/standard/talking/index.js.map +1 -1
  546. package/actions/standard/talking/talking.d.ts +17 -2
  547. package/actions/standard/talking/talking.d.ts.map +1 -1
  548. package/actions/standard/talking/talking.js +57 -12
  549. package/actions/standard/talking/talking.js.map +1 -1
  550. package/actions/standard/telling/index.d.ts +5 -0
  551. package/actions/standard/telling/index.d.ts.map +1 -0
  552. package/actions/standard/telling/index.js +10 -0
  553. package/actions/standard/telling/index.js.map +1 -0
  554. package/actions/standard/telling/telling.d.ts +25 -0
  555. package/actions/standard/telling/telling.d.ts.map +1 -0
  556. package/actions/standard/telling/telling.js +123 -0
  557. package/actions/standard/telling/telling.js.map +1 -0
  558. package/actions/standard/throwing/index.d.ts +1 -1
  559. package/actions/standard/throwing/index.d.ts.map +1 -1
  560. package/actions/standard/throwing/index.js +2 -2
  561. package/actions/standard/throwing/index.js.map +1 -1
  562. package/actions/standard/throwing/throwing.d.ts +13 -2
  563. package/actions/standard/throwing/throwing.d.ts.map +1 -1
  564. package/actions/standard/throwing/throwing.js +92 -93
  565. package/actions/standard/throwing/throwing.js.map +1 -1
  566. package/actions/standard/tool-shared.d.ts +38 -0
  567. package/actions/standard/tool-shared.d.ts.map +1 -0
  568. package/actions/standard/tool-shared.js +74 -0
  569. package/actions/standard/tool-shared.js.map +1 -0
  570. package/actions/standard/touching/index.d.ts +2 -2
  571. package/actions/standard/touching/index.d.ts.map +1 -1
  572. package/actions/standard/touching/index.js +3 -3
  573. package/actions/standard/touching/index.js.map +1 -1
  574. package/actions/standard/touching/touching.d.ts +11 -2
  575. package/actions/standard/touching/touching.d.ts.map +1 -1
  576. package/actions/standard/touching/touching.js +50 -14
  577. package/actions/standard/touching/touching.js.map +1 -1
  578. package/actions/standard/turning/index.d.ts +7 -0
  579. package/actions/standard/turning/index.d.ts.map +1 -0
  580. package/actions/standard/turning/index.js +13 -0
  581. package/actions/standard/turning/index.js.map +1 -0
  582. package/actions/standard/turning/turning-messages.d.ts +14 -0
  583. package/actions/standard/turning/turning-messages.d.ts.map +1 -0
  584. package/actions/standard/turning/turning-messages.js +18 -0
  585. package/actions/standard/turning/turning-messages.js.map +1 -0
  586. package/actions/standard/turning/turning.d.ts +40 -0
  587. package/actions/standard/turning/turning.d.ts.map +1 -0
  588. package/actions/standard/turning/turning.js +197 -0
  589. package/actions/standard/turning/turning.js.map +1 -0
  590. package/actions/standard/undoing/index.d.ts +2 -2
  591. package/actions/standard/undoing/index.d.ts.map +1 -1
  592. package/actions/standard/undoing/index.js +3 -3
  593. package/actions/standard/undoing/index.js.map +1 -1
  594. package/actions/standard/undoing/undoing.d.ts +2 -2
  595. package/actions/standard/undoing/undoing.d.ts.map +1 -1
  596. package/actions/standard/undoing/undoing.js +2 -2
  597. package/actions/standard/undoing/undoing.js.map +1 -1
  598. package/actions/standard/unlocking/index.d.ts +2 -2
  599. package/actions/standard/unlocking/index.d.ts.map +1 -1
  600. package/actions/standard/unlocking/index.js +2 -2
  601. package/actions/standard/unlocking/index.js.map +1 -1
  602. package/actions/standard/unlocking/unlocking.d.ts +11 -2
  603. package/actions/standard/unlocking/unlocking.d.ts.map +1 -1
  604. package/actions/standard/unlocking/unlocking.js +84 -25
  605. package/actions/standard/unlocking/unlocking.js.map +1 -1
  606. package/actions/standard/version/engine-version.d.ts +6 -0
  607. package/actions/standard/version/engine-version.d.ts.map +1 -0
  608. package/actions/standard/version/engine-version.js +9 -0
  609. package/actions/standard/version/engine-version.js.map +1 -0
  610. package/actions/standard/version/index.d.ts +2 -2
  611. package/actions/standard/version/index.d.ts.map +1 -1
  612. package/actions/standard/version/index.js +3 -3
  613. package/actions/standard/version/index.js.map +1 -1
  614. package/actions/standard/version/version.d.ts +4 -4
  615. package/actions/standard/version/version.d.ts.map +1 -1
  616. package/actions/standard/version/version.js +10 -6
  617. package/actions/standard/version/version.js.map +1 -1
  618. package/actions/standard/waiting/index.d.ts +2 -2
  619. package/actions/standard/waiting/index.d.ts.map +1 -1
  620. package/actions/standard/waiting/index.js +2 -2
  621. package/actions/standard/waiting/index.js.map +1 -1
  622. package/actions/standard/waiting/waiting.d.ts +2 -2
  623. package/actions/standard/waiting/waiting.d.ts.map +1 -1
  624. package/actions/standard/waiting/waiting.js +4 -3
  625. package/actions/standard/waiting/waiting.js.map +1 -1
  626. package/actions/standard/wearable-shared.d.ts +1 -1
  627. package/actions/standard/wearable-shared.d.ts.map +1 -1
  628. package/actions/standard/wearable-shared.js +2 -2
  629. package/actions/standard/wearable-shared.js.map +1 -1
  630. package/actions/standard/wearing/index.d.ts +1 -1
  631. package/actions/standard/wearing/index.d.ts.map +1 -1
  632. package/actions/standard/wearing/index.js +2 -2
  633. package/actions/standard/wearing/index.js.map +1 -1
  634. package/actions/standard/wearing/wearing.d.ts +13 -3
  635. package/actions/standard/wearing/wearing.d.ts.map +1 -1
  636. package/actions/standard/wearing/wearing.js +73 -28
  637. package/actions/standard/wearing/wearing.js.map +1 -1
  638. package/capabilities/index.d.ts +6 -6
  639. package/capabilities/index.d.ts.map +1 -1
  640. package/capabilities/index.js +21 -21
  641. package/capabilities/index.js.map +1 -1
  642. package/chains/index.d.ts +2 -2
  643. package/chains/index.d.ts.map +1 -1
  644. package/chains/index.js +7 -7
  645. package/chains/index.js.map +1 -1
  646. package/channels/index.d.ts +5 -5
  647. package/channels/index.d.ts.map +1 -1
  648. package/channels/index.js +43 -43
  649. package/channels/index.js.map +1 -1
  650. package/channels/registry.js +6 -6
  651. package/channels/registry.js.map +1 -1
  652. package/channels/standard.d.ts +13 -10
  653. package/channels/standard.d.ts.map +1 -1
  654. package/channels/standard.js +21 -17
  655. package/channels/standard.js.map +1 -1
  656. package/combat/index.d.ts +1 -1
  657. package/combat/index.d.ts.map +1 -1
  658. package/combat/index.js +2 -2
  659. package/combat/index.js.map +1 -1
  660. package/death/deadly-room-transformer.d.ts +37 -0
  661. package/death/deadly-room-transformer.d.ts.map +1 -0
  662. package/death/deadly-room-transformer.js +79 -0
  663. package/death/deadly-room-transformer.js.map +1 -0
  664. package/death/index.d.ts +18 -0
  665. package/death/index.d.ts.map +1 -0
  666. package/death/index.js +28 -0
  667. package/death/index.js.map +1 -0
  668. package/death/kill-player.d.ts +49 -0
  669. package/death/kill-player.d.ts.map +1 -0
  670. package/death/kill-player.js +55 -0
  671. package/death/kill-player.js.map +1 -0
  672. package/death/player-death-events.d.ts +40 -0
  673. package/death/player-death-events.d.ts.map +1 -0
  674. package/death/player-death-events.js +27 -0
  675. package/death/player-death-events.js.map +1 -0
  676. package/death/probabilistic-death.d.ts +23 -0
  677. package/death/probabilistic-death.d.ts.map +1 -0
  678. package/death/probabilistic-death.js +27 -0
  679. package/death/probabilistic-death.js.map +1 -0
  680. package/events/event-registry.d.ts +34 -34
  681. package/events/event-registry.d.ts.map +1 -1
  682. package/events/index.d.ts +4 -4
  683. package/events/index.d.ts.map +1 -1
  684. package/events/index.js +4 -4
  685. package/events/index.js.map +1 -1
  686. package/helpers/index.d.ts +1 -1
  687. package/helpers/index.d.ts.map +1 -1
  688. package/helpers/index.js +1 -1
  689. package/helpers/index.js.map +1 -1
  690. package/helpers/multi-object-handler.d.ts +1 -1
  691. package/helpers/multi-object-handler.d.ts.map +1 -1
  692. package/helpers/multi-object-handler.js +8 -5
  693. package/helpers/multi-object-handler.js.map +1 -1
  694. package/index.d.ts +16 -15
  695. package/index.d.ts.map +1 -1
  696. package/index.js +16 -15
  697. package/index.js.map +1 -1
  698. package/inference/implicit-inference.d.ts +1 -1
  699. package/inference/implicit-inference.d.ts.map +1 -1
  700. package/inference/index.d.ts +1 -1
  701. package/inference/index.d.ts.map +1 -1
  702. package/inference/index.js +4 -4
  703. package/inference/index.js.map +1 -1
  704. package/npc/behaviors.d.ts +1 -1
  705. package/npc/behaviors.d.ts.map +1 -1
  706. package/npc/behaviors.js +20 -19
  707. package/npc/behaviors.js.map +1 -1
  708. package/npc/character-observer.js +6 -6
  709. package/npc/character-observer.js.map +1 -1
  710. package/npc/index.d.ts +7 -7
  711. package/npc/index.d.ts.map +1 -1
  712. package/npc/index.js +23 -23
  713. package/npc/index.js.map +1 -1
  714. package/npc/lucidity-decay.js +2 -2
  715. package/npc/lucidity-decay.js.map +1 -1
  716. package/npc/npc-service.d.ts +9 -1
  717. package/npc/npc-service.d.ts.map +1 -1
  718. package/npc/npc-service.js +33 -32
  719. package/npc/npc-service.js.map +1 -1
  720. package/package.json +7 -7
  721. package/query-handlers/index.d.ts +2 -2
  722. package/query-handlers/index.d.ts.map +1 -1
  723. package/query-handlers/index.js +3 -3
  724. package/query-handlers/index.js.map +1 -1
  725. package/scope/index.d.ts +3 -3
  726. package/scope/index.d.ts.map +1 -1
  727. package/scope/index.js +3 -3
  728. package/scope/index.js.map +1 -1
  729. package/scope/scope-resolver.d.ts +1 -1
  730. package/scope/scope-resolver.d.ts.map +1 -1
  731. package/scope/scope-resolver.js +13 -15
  732. package/scope/scope-resolver.js.map +1 -1
  733. package/scope/witness-system.d.ts +1 -1
  734. package/scope/witness-system.d.ts.map +1 -1
  735. package/scope/witness-system.js +16 -16
  736. package/scope/witness-system.js.map +1 -1
  737. package/services/index.d.ts +1 -1
  738. package/services/index.d.ts.map +1 -1
  739. package/services/index.js +2 -2
  740. package/services/index.js.map +1 -1
  741. package/utils/index.d.ts +1 -1
  742. package/utils/index.d.ts.map +1 -1
  743. package/utils/index.js +2 -2
  744. package/utils/index.js.map +1 -1
  745. package/utils/noun-phrase.d.ts.map +1 -1
  746. package/utils/noun-phrase.js +5 -0
  747. package/utils/noun-phrase.js.map +1 -1
  748. package/validation/command-validator.d.ts +68 -16
  749. package/validation/command-validator.d.ts.map +1 -1
  750. package/validation/command-validator.js +275 -211
  751. package/validation/command-validator.js.map +1 -1
  752. package/validation/index.d.ts +3 -3
  753. package/validation/index.d.ts.map +1 -1
  754. package/validation/index.js +2 -2
  755. package/validation/index.js.map +1 -1
  756. package/validation/types.d.ts +1 -1
  757. package/validation/types.d.ts.map +1 -1
  758. package/vocabulary/index.d.ts +1 -1
  759. package/vocabulary/index.d.ts.map +1 -1
  760. package/vocabulary/index.js +1 -1
  761. package/vocabulary/index.js.map +1 -1
  762. package/vocabulary/standard-english.d.ts +1 -1
  763. package/vocabulary/standard-english.d.ts.map +1 -1
  764. package/vocabulary/standard-english.js +5 -5
  765. package/vocabulary/standard-english.js.map +1 -1
@@ -2,8 +2,8 @@
2
2
  * Event type definitions for the removing action
3
3
  * @module
4
4
  */
5
- export { TakenEventData as RemovedEventData } from '../taking/taking-events';
5
+ export { TakenEventData as RemovedEventData } from '../taking/taking-events.js';
6
6
  export interface RemovingEventMap {
7
- 'if.event.taken': import('../taking/taking-events').TakenEventData;
7
+ 'if.event.taken': import('../taking/taking-events.js').TakenEventData;
8
8
  }
9
9
  //# sourceMappingURL=removing-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"removing-events.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,OAAO,yBAAyB,EAAE,cAAc,CAAC;CACpE"}
1
+ {"version":3,"file":"removing-events.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,OAAO,4BAA4B,EAAE,cAAc,CAAC;CACvE"}
@@ -3,29 +3,23 @@
3
3
  *
4
4
  * Provides type-safe access to shared data for multi-object support
5
5
  */
6
- import { IFEntity, IRemoveItemResult, IRemoveItemFromSupporterResult, ITakeItemResult } from '@sharpee/world-model';
6
+ import { IRemoveItemResult, IRemoveItemFromSupporterResult, ITakeItemResult } from '@sharpee/world-model';
7
7
  /**
8
- * Result of validating/executing a single entity in multi-object command
8
+ * Per-item mutation scratch for removing one entity. For a single-object
9
+ * command this lives on the action's sharedData; for a multi-object
10
+ * command each item gets its own copy via the lifecycle engine's per-item
11
+ * `itemData` (ADR-228 D4).
9
12
  */
10
- export interface RemovingItemResult {
11
- entity: IFEntity;
12
- success: boolean;
13
- error?: string;
14
- errorParams?: Record<string, unknown>;
13
+ export interface RemovingItemScratch {
15
14
  removeResult?: IRemoveItemResult | IRemoveItemFromSupporterResult | null;
16
15
  takeResult?: ITakeItemResult;
17
16
  }
18
17
  /**
19
- * Typed shared data for removing action
18
+ * Typed shared data for removing action.
19
+ * Interceptor and multi-object state live in the lifecycle engine's
20
+ * reserved sharedData slots (ADR-228), not here.
20
21
  */
21
- export interface RemovingSharedData {
22
- removeResult?: IRemoveItemResult | IRemoveItemFromSupporterResult | null;
23
- takeResult?: ITakeItemResult;
24
- /**
25
- * Multi-object support: results for each entity
26
- * When set, indicates this is a multi-object command
27
- */
28
- multiObjectResults?: RemovingItemResult[];
22
+ export interface RemovingSharedData extends RemovingItemScratch {
29
23
  }
30
24
  /**
31
25
  * Safely get typed shared data from context
@@ -1 +1 @@
1
- {"version":3,"file":"removing-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEpH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,iBAAiB,GAAG,8BAA8B,GAAG,IAAI,CAAC;IACzE,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,iBAAiB,GAAG,8BAA8B,GAAG,IAAI,CAAC;IACzE,UAAU,CAAC,EAAE,eAAe,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAKtG"}
1
+ {"version":3,"file":"removing-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,iBAAiB,GAAG,8BAA8B,GAAG,IAAI,CAAC;IACzE,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAKtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"removing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAiCH,sDAKC;AARD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA4C;IAChF,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"removing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyBH,sDAKC;AARD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA4C;IAChF,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC"}
@@ -15,8 +15,21 @@
15
15
  * - "remove all but X from box" - removes all except specified items
16
16
  * - "remove X and Y from box" - removes multiple specified items
17
17
  */
18
- import { Action } from '../../enhanced-types';
19
- import { ActionMetadata } from '../../../validation';
18
+ import { Action } from '../../enhanced-types.js';
19
+ import { ActionMetadata } from '../../../validation/index.js';
20
+ import { ActionLifecycleDescriptor } from '../../lifecycle/index.js';
21
+ /**
22
+ * Interceptor surface (ADR-228). D6-B delegation-seam ruling: removing IS
23
+ * a take (it re-implements taking's mutation and emits `if.event.taken`),
24
+ * so the item is consulted under BOTH ids — `if.action.removing` first
25
+ * (the specific phrasing), then `if.action.taking`. A taking-guard (the
26
+ * TrollAxe class) can therefore never be bypassed by REMOVE FROM
27
+ * phrasing. Authors: one physical operation fires hooks under two ids —
28
+ * register a trait's interceptor under exactly ONE of them to avoid
29
+ * double-mutation. The source container/supporter is consulted under
30
+ * `if.action.removing` per D3-B (all command entities fire).
31
+ */
32
+ export declare const removingLifecycle: ActionLifecycleDescriptor;
20
33
  export declare const removingAction: Action & {
21
34
  metadata: ActionMetadata;
22
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"removing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAwTrD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAyL/D,CAAC"}
1
+ {"version":3,"file":"removing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyB9D,OAAO,EACL,yBAAyB,EAa1B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,yBA4C/B,CAAC;AAuPF,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAwO/D,CAAC"}
@@ -17,17 +17,74 @@
17
17
  * - "remove X and Y from box" - removes multiple specified items
18
18
  */
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.removingAction = void 0;
21
- const snapshot_utils_1 = require("../../base/snapshot-utils");
20
+ exports.removingAction = exports.removingLifecycle = void 0;
21
+ const snapshot_utils_js_1 = require("../../base/snapshot-utils.js");
22
22
  const world_model_1 = require("@sharpee/world-model");
23
- const constants_1 = require("../../constants");
24
- const scope_1 = require("../../../scope");
25
- const removing_messages_1 = require("./removing-messages");
23
+ const constants_js_1 = require("../../constants.js");
24
+ const index_js_1 = require("../../../scope/index.js");
25
+ const removing_messages_js_1 = require("./removing-messages.js");
26
26
  // Import types
27
- const removing_types_1 = require("./removing-types");
27
+ const removing_types_js_1 = require("./removing-types.js");
28
28
  // Import multi-object helpers
29
- const multi_object_handler_1 = require("../../../helpers/multi-object-handler");
30
- const utils_1 = require("../../../utils");
29
+ const multi_object_handler_js_1 = require("../../../helpers/multi-object-handler.js");
30
+ const index_js_2 = require("../../../utils/index.js");
31
+ const index_js_3 = require("../../lifecycle/index.js");
32
+ /**
33
+ * Interceptor surface (ADR-228). D6-B delegation-seam ruling: removing IS
34
+ * a take (it re-implements taking's mutation and emits `if.event.taken`),
35
+ * so the item is consulted under BOTH ids — `if.action.removing` first
36
+ * (the specific phrasing), then `if.action.taking`. A taking-guard (the
37
+ * TrollAxe class) can therefore never be bypassed by REMOVE FROM
38
+ * phrasing. Authors: one physical operation fires hooks under two ids —
39
+ * register a trait's interceptor under exactly ONE of them to avoid
40
+ * double-mutation. The source container/supporter is consulted under
41
+ * `if.action.removing` per D3-B (all command entities fire).
42
+ */
43
+ exports.removingLifecycle = {
44
+ actionId: constants_js_1.IFActions.REMOVING,
45
+ slots: [
46
+ {
47
+ id: 'item',
48
+ actionIds: [constants_js_1.IFActions.REMOVING, constants_js_1.IFActions.TAKING],
49
+ resolve: (ctx) => ctx.command.directObject?.entity,
50
+ seedData: (ctx, entity) => ({
51
+ itemId: entity.id,
52
+ itemName: entity.name,
53
+ sourceId: ctx.command.indirectObject?.entity?.id,
54
+ sourceName: ctx.command.indirectObject?.entity?.name
55
+ })
56
+ },
57
+ {
58
+ id: 'source',
59
+ actionIds: [constants_js_1.IFActions.REMOVING],
60
+ resolve: (ctx) => ctx.command.indirectObject?.entity,
61
+ seedData: (ctx, entity, multiObjectItem) => {
62
+ const item = multiObjectItem ?? ctx.command.directObject?.entity;
63
+ return {
64
+ itemId: item?.id,
65
+ itemName: item?.name,
66
+ sourceId: entity.id,
67
+ sourceName: entity.name
68
+ };
69
+ }
70
+ },
71
+ {
72
+ // ADR-230 Phase 6 (sketch ruling 6): `take X from Y with Z` remapped
73
+ // from the orphan if.action.taking_with onto removing; the explicit
74
+ // tool is consultable (D3b treatment, interceptor-only — no trait
75
+ // requirement). Published order item → source → tool.
76
+ id: 'tool',
77
+ actionIds: [constants_js_1.IFActions.REMOVING],
78
+ resolve: (ctx) => ctx.command.instrument?.entity,
79
+ seedData: (ctx, entity) => ({
80
+ toolId: entity.id,
81
+ toolName: entity.name,
82
+ itemId: ctx.command.directObject?.entity?.id,
83
+ sourceId: ctx.command.indirectObject?.entity?.id
84
+ })
85
+ }
86
+ ]
87
+ };
31
88
  // ============================================================================
32
89
  // Helper Functions (standalone to avoid `this` issues in object literal)
33
90
  // ============================================================================
@@ -59,8 +116,8 @@ function validateSingleEntity(context, item, source) {
59
116
  if (world_model_1.ActorBehavior.isHolding(actor, item.id, context.world)) {
60
117
  return {
61
118
  valid: false,
62
- error: removing_messages_1.RemovingMessages.ALREADY_HAVE,
63
- params: { item: (0, utils_1.nounPhraseFor)(item) }
119
+ error: removing_messages_js_1.RemovingMessages.ALREADY_HAVE,
120
+ params: { item: (0, index_js_2.nounPhraseFor)(item) }
64
121
  };
65
122
  }
66
123
  // Check if the item is actually in/on the source
@@ -69,30 +126,30 @@ function validateSingleEntity(context, item, source) {
69
126
  if (source.has(world_model_1.TraitType.CONTAINER)) {
70
127
  return {
71
128
  valid: false,
72
- error: removing_messages_1.RemovingMessages.NOT_IN_CONTAINER,
129
+ error: removing_messages_js_1.RemovingMessages.NOT_IN_CONTAINER,
73
130
  params: {
74
- item: (0, utils_1.nounPhraseFor)(item),
75
- container: (0, utils_1.nounPhraseFor)(source)
131
+ item: (0, index_js_2.nounPhraseFor)(item),
132
+ container: (0, index_js_2.nounPhraseFor)(source)
76
133
  }
77
134
  };
78
135
  }
79
136
  else if (source.has(world_model_1.TraitType.SUPPORTER)) {
80
137
  return {
81
138
  valid: false,
82
- error: removing_messages_1.RemovingMessages.NOT_ON_SURFACE,
139
+ error: removing_messages_js_1.RemovingMessages.NOT_ON_SURFACE,
83
140
  params: {
84
- item: (0, utils_1.nounPhraseFor)(item),
85
- surface: (0, utils_1.nounPhraseFor)(source)
141
+ item: (0, index_js_2.nounPhraseFor)(item),
142
+ surface: (0, index_js_2.nounPhraseFor)(source)
86
143
  }
87
144
  };
88
145
  }
89
146
  else {
90
147
  return {
91
148
  valid: false,
92
- error: removing_messages_1.RemovingMessages.NOT_IN_CONTAINER,
149
+ error: removing_messages_js_1.RemovingMessages.NOT_IN_CONTAINER,
93
150
  params: {
94
- item: (0, utils_1.nounPhraseFor)(item),
95
- container: (0, utils_1.nounPhraseFor)(source)
151
+ item: (0, index_js_2.nounPhraseFor)(item),
152
+ container: (0, index_js_2.nounPhraseFor)(source)
96
153
  }
97
154
  };
98
155
  }
@@ -103,8 +160,8 @@ function validateSingleEntity(context, item, source) {
103
160
  if (source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
104
161
  return {
105
162
  valid: false,
106
- error: removing_messages_1.RemovingMessages.CONTAINER_CLOSED,
107
- params: { container: (0, utils_1.nounPhraseFor)(source) }
163
+ error: removing_messages_js_1.RemovingMessages.CONTAINER_CLOSED,
164
+ params: { container: (0, index_js_2.nounPhraseFor)(source) }
108
165
  };
109
166
  }
110
167
  }
@@ -112,37 +169,24 @@ function validateSingleEntity(context, item, source) {
112
169
  if (!world_model_1.ActorBehavior.canTakeItem(actor, item, context.world)) {
113
170
  return {
114
171
  valid: false,
115
- error: removing_messages_1.RemovingMessages.CANNOT_TAKE,
116
- params: { item: (0, utils_1.nounPhraseFor)(item) }
172
+ error: removing_messages_js_1.RemovingMessages.CANNOT_TAKE,
173
+ params: { item: (0, index_js_2.nounPhraseFor)(item) }
117
174
  };
118
175
  }
119
176
  return { valid: true };
120
177
  }
121
178
  /**
122
- * Validate a multi-object command (remove all from box, remove X and Y from box)
179
+ * Expand the multi-object item list for "remove all/X and Y from Z" —
180
+ * removing resolves its items from the SOURCE's contents, not from scope.
123
181
  */
124
- function validateMultiObject(context) {
125
- const source = context.command.indirectObject?.entity;
126
- // Must have a source
127
- if (!source) {
128
- return { valid: false, error: removing_messages_1.RemovingMessages.NO_SOURCE };
129
- }
130
- // Container must be open if it's openable
131
- if (source.has(world_model_1.TraitType.CONTAINER) && source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
132
- return {
133
- valid: false,
134
- error: removing_messages_1.RemovingMessages.CONTAINER_CLOSED,
135
- params: { container: (0, utils_1.nounPhraseFor)(source) }
136
- };
137
- }
138
- // Get items from source - for "remove all from X" we need contents of X
182
+ function expandRemovableItems(context, source) {
139
183
  const directObject = context.command.parsed.structure.directObject;
140
184
  let items;
141
185
  if (directObject?.isAll) {
142
186
  // "remove all from X" - get all contents of source
143
187
  items = getSourceContents(context, source);
144
188
  // Apply exclusions from "all but X"
145
- const excludedNames = (0, multi_object_handler_1.getExcludedNames)(context);
189
+ const excludedNames = (0, multi_object_handler_js_1.getExcludedNames)(context);
146
190
  if (excludedNames.length > 0) {
147
191
  items = items.filter(e => {
148
192
  const name = e.name.toLowerCase();
@@ -165,34 +209,14 @@ function validateMultiObject(context) {
165
209
  else {
166
210
  items = [];
167
211
  }
168
- if (items.length === 0) {
169
- return { valid: false, error: removing_messages_1.RemovingMessages.NOTHING_TO_REMOVE };
170
- }
171
- // Validate each entity, store results
172
- const results = items.map(item => {
173
- const validation = validateSingleEntity(context, item, source);
174
- return {
175
- entity: item,
176
- success: validation.valid,
177
- error: validation.valid ? undefined : validation.error,
178
- errorParams: validation.valid ? undefined : validation.params
179
- };
180
- });
181
- // Store results for execute/report phases
182
- const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
183
- sharedData.multiObjectResults = results;
184
- // Valid if at least one can be removed
185
- const anySuccess = results.some(r => r.success);
186
- if (!anySuccess) {
187
- // All failed - return the first error
188
- return { valid: false, error: results[0].error, params: results[0].errorParams };
189
- }
190
- return { valid: true };
212
+ return items;
191
213
  }
192
214
  /**
193
- * Execute removing a single entity from source
215
+ * Execute removing a single entity from source. Mutation results are
216
+ * written into `scratch` — the single-object sharedData or the item's
217
+ * multi-object itemData (ADR-228 D4).
194
218
  */
195
- function executeSingleEntity(context, item, source, result) {
219
+ function executeSingleEntity(context, item, source, scratch) {
196
220
  const actor = context.player;
197
221
  // First validate removal from source using appropriate behavior
198
222
  let removeResult = null;
@@ -202,10 +226,10 @@ function executeSingleEntity(context, item, source, result) {
202
226
  else if (source.has(world_model_1.TraitType.SUPPORTER)) {
203
227
  removeResult = world_model_1.SupporterBehavior.removeItem(source, item, context.world);
204
228
  }
205
- result.removeResult = removeResult;
229
+ scratch.removeResult = removeResult;
206
230
  // Validate taking using ActorBehavior
207
231
  const takeResult = world_model_1.ActorBehavior.takeItem(actor, item, context.world);
208
- result.takeResult = takeResult;
232
+ scratch.takeResult = takeResult;
209
233
  // Perform the actual move - this is the critical mutation!
210
234
  context.world.moveEntity(item.id, actor.id);
211
235
  }
@@ -214,20 +238,20 @@ function executeSingleEntity(context, item, source, result) {
214
238
  *
215
239
  * Uses simplified event pattern (ADR-097): domain event carries messageId directly.
216
240
  */
217
- function reportSingleSuccess(context, item, source, result, events) {
241
+ function reportSingleSuccess(context, item, source, _scratch, events) {
218
242
  const actor = context.player;
219
243
  // Build message params — EntityInfo for the formatter chain (ADR-158)
220
244
  const params = {
221
- item: (0, utils_1.nounPhraseFor)(item)
245
+ item: (0, index_js_2.nounPhraseFor)(item)
222
246
  };
223
247
  let messageKey;
224
248
  if (source.has(world_model_1.TraitType.CONTAINER)) {
225
- params.container = (0, utils_1.nounPhraseFor)(source);
226
- messageKey = removing_messages_1.RemovingMessages.REMOVED_FROM;
249
+ params.container = (0, index_js_2.nounPhraseFor)(source);
250
+ messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM;
227
251
  }
228
252
  else {
229
- params.surface = (0, utils_1.nounPhraseFor)(source);
230
- messageKey = removing_messages_1.RemovingMessages.REMOVED_FROM_SURFACE;
253
+ params.surface = (0, index_js_2.nounPhraseFor)(source);
254
+ messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM_SURFACE;
231
255
  }
232
256
  // Emit domain event with messageId (simplified pattern - ADR-097)
233
257
  // Using if.event.taken since removing is semantically a form of taking
@@ -243,9 +267,9 @@ function reportSingleSuccess(context, item, source, result, events) {
243
267
  container: source.name,
244
268
  fromContainer: source.has(world_model_1.TraitType.CONTAINER),
245
269
  fromSupporter: source.has(world_model_1.TraitType.SUPPORTER) && !source.has(world_model_1.TraitType.CONTAINER),
246
- itemSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(item, context.world, true),
247
- actorSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(actor, context.world, false),
248
- sourceSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
270
+ itemSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(item, context.world, true),
271
+ actorSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(actor, context.world, false),
272
+ sourceSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
249
273
  }));
250
274
  }
251
275
  /**
@@ -253,28 +277,28 @@ function reportSingleSuccess(context, item, source, result, events) {
253
277
  *
254
278
  * Uses simplified event pattern (ADR-097): domain event carries messageId directly.
255
279
  */
256
- function reportSingleBlocked(context, item, source, error, errorParams, events) {
280
+ function reportSingleBlocked(context, item, source, result, events) {
257
281
  events.push(context.event('if.event.remove_blocked', {
258
282
  // Rendering data — EntityInfo for the formatter chain (ADR-158)
259
- messageId: `${context.action.id}.${error}`,
260
- params: { ...errorParams, item: (0, utils_1.nounPhraseFor)(item), source: (0, utils_1.nounPhraseFor)(source) },
283
+ messageId: (0, index_js_3.blockedMessageId)(context, result),
284
+ params: { ...result.params, item: (0, index_js_2.nounPhraseFor)(item), source: (0, index_js_2.nounPhraseFor)(source) },
261
285
  // Domain data — strings for handlers
262
286
  itemId: item.id,
263
287
  itemName: item.name,
264
288
  sourceId: source.id,
265
289
  sourceName: source.name,
266
- reason: error
290
+ reason: result.error
267
291
  }));
268
292
  }
269
293
  // ============================================================================
270
294
  // Action Definition
271
295
  // ============================================================================
272
296
  exports.removingAction = {
273
- id: constants_1.IFActions.REMOVING,
297
+ id: constants_js_1.IFActions.REMOVING,
274
298
  // Default scope requirements for this action's slots
275
299
  defaultScope: {
276
- item: scope_1.ScopeLevel.REACHABLE,
277
- source: scope_1.ScopeLevel.REACHABLE
300
+ item: index_js_1.ScopeLevel.REACHABLE,
301
+ source: index_js_1.ScopeLevel.REACHABLE
278
302
  },
279
303
  requiredMessages: [
280
304
  'no_target',
@@ -292,21 +316,42 @@ exports.removingAction = {
292
316
  metadata: {
293
317
  requiresDirectObject: true,
294
318
  requiresIndirectObject: true,
295
- directObjectScope: scope_1.ScopeLevel.REACHABLE
319
+ directObjectScope: index_js_1.ScopeLevel.REACHABLE
296
320
  },
297
321
  validate(context) {
298
- // Check for multi-object command
299
- if ((0, multi_object_handler_1.isMultiObjectCommand)(context)) {
300
- return validateMultiObject(context);
322
+ const source = context.command.indirectObject?.entity;
323
+ // Check for multi-object command — full per-item lifecycle (ADR-228 D4)
324
+ if ((0, multi_object_handler_js_1.isMultiObjectCommand)(context)) {
325
+ // Must have a source
326
+ if (!source) {
327
+ return { valid: false, error: removing_messages_js_1.RemovingMessages.NO_SOURCE };
328
+ }
329
+ // Container must be open if it's openable
330
+ if (source.has(world_model_1.TraitType.CONTAINER) && source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
331
+ return {
332
+ valid: false,
333
+ error: removing_messages_js_1.RemovingMessages.CONTAINER_CLOSED,
334
+ params: { container: (0, index_js_2.nounPhraseFor)(source) }
335
+ };
336
+ }
337
+ const items = expandRemovableItems(context, source);
338
+ if (items.length === 0) {
339
+ return { valid: false, error: removing_messages_js_1.RemovingMessages.NOTHING_TO_REMOVE };
340
+ }
341
+ const results = (0, index_js_3.runMultiObjectValidate)(context, exports.removingLifecycle, 'item', items, (ctx, item) => validateSingleEntity(ctx, item, source));
342
+ // Valid if at least one can be removed; all-fail returns the first error
343
+ if (!results.some(r => r.success)) {
344
+ return { valid: false, error: results[0].error, errorQualified: results[0].errorQualified, params: results[0].errorParams };
345
+ }
346
+ return { valid: true };
301
347
  }
302
348
  // Single object validation
303
349
  const item = context.command.directObject?.entity;
304
- const source = context.command.indirectObject?.entity;
305
350
  // Validate we have an item
306
351
  if (!item) {
307
352
  return {
308
353
  valid: false,
309
- error: removing_messages_1.RemovingMessages.NO_TARGET,
354
+ error: removing_messages_js_1.RemovingMessages.NO_TARGET,
310
355
  params: {}
311
356
  };
312
357
  }
@@ -314,63 +359,56 @@ exports.removingAction = {
314
359
  if (!source) {
315
360
  return {
316
361
  valid: false,
317
- error: removing_messages_1.RemovingMessages.NO_SOURCE,
318
- params: { item: (0, utils_1.nounPhraseFor)(item) }
362
+ error: removing_messages_js_1.RemovingMessages.NO_SOURCE,
363
+ params: { item: (0, index_js_2.nounPhraseFor)(item) }
319
364
  };
320
365
  }
321
- return validateSingleEntity(context, item, source);
366
+ const state = (0, index_js_3.resolveLifecycle)(context, exports.removingLifecycle);
367
+ const preVeto = (0, index_js_3.runPreValidate)(context, state);
368
+ if (preVeto)
369
+ return preVeto;
370
+ const standard = validateSingleEntity(context, item, source);
371
+ if (!standard.valid)
372
+ return standard;
373
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
374
+ const postVeto = (0, index_js_3.runPostValidate)(context, state);
375
+ if (postVeto)
376
+ return postVeto;
377
+ return { valid: true };
322
378
  },
323
379
  execute(context) {
324
- const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
325
380
  const source = context.command.indirectObject.entity;
326
- // Check for multi-object command
327
- if (sharedData.multiObjectResults) {
328
- // Execute for each successful validation
329
- for (const result of sharedData.multiObjectResults) {
330
- if (result.success) {
331
- executeSingleEntity(context, result.entity, source, result);
332
- }
333
- }
381
+ // Multi-object command: per-item execute + hooks (D4)
382
+ const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
383
+ if (multi) {
384
+ (0, index_js_3.runMultiObjectExecute)(context, multi, (ctx, item, itemData) => {
385
+ executeSingleEntity(ctx, item, source, itemData);
386
+ });
334
387
  return;
335
388
  }
336
389
  // Single object execution
337
- const actor = context.player;
390
+ const sharedData = (0, removing_types_js_1.getRemovingSharedData)(context);
338
391
  const item = context.command.directObject.entity;
339
- // First validate removal from source using appropriate behavior
340
- let removeResult = null;
341
- if (source.has(world_model_1.TraitType.CONTAINER)) {
342
- removeResult = world_model_1.ContainerBehavior.removeItem(source, item, context.world);
343
- }
344
- else if (source.has(world_model_1.TraitType.SUPPORTER)) {
345
- removeResult = world_model_1.SupporterBehavior.removeItem(source, item, context.world);
346
- }
347
- // Store results for report phase using sharedData
348
- sharedData.removeResult = removeResult;
349
- // Validate taking using ActorBehavior
350
- const takeResult = world_model_1.ActorBehavior.takeItem(actor, item, context.world);
351
- sharedData.takeResult = takeResult;
352
- // Perform the actual move - this is the critical mutation!
353
- context.world.moveEntity(item.id, actor.id);
392
+ executeSingleEntity(context, item, source, sharedData);
393
+ const state = (0, index_js_3.getLifecycleState)(context);
394
+ if (state)
395
+ (0, index_js_3.runPostExecute)(context, state);
354
396
  },
355
397
  /**
356
398
  * Report events after successful removing
357
399
  * Only called on success path - validation passed
358
400
  */
359
401
  report(context) {
360
- const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
361
402
  const source = context.command.indirectObject.entity;
362
- // Check for multi-object command
363
- if (sharedData.multiObjectResults) {
403
+ // Multi-object command: per-item success/blocked events + hooks (D4)
404
+ const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
405
+ if (multi) {
364
406
  const events = [];
365
- // Generate events for each item (success and failure)
366
- for (const result of sharedData.multiObjectResults) {
367
- if (result.success) {
368
- reportSingleSuccess(context, result.entity, source, result, events);
369
- }
370
- else {
371
- reportSingleBlocked(context, result.entity, source, result.error, result.errorParams, events);
372
- }
373
- }
407
+ (0, index_js_3.runMultiObjectReport)(context, multi, events, 'if.event.taken', 'if.event.remove_blocked', (ctx, item, itemData, evts) => {
408
+ reportSingleSuccess(ctx, item, source, itemData, evts);
409
+ }, (ctx, item, itemResult, evts) => {
410
+ reportSingleBlocked(ctx, item, source, itemResult, evts);
411
+ });
374
412
  return events;
375
413
  }
376
414
  // Single object report
@@ -378,19 +416,19 @@ exports.removingAction = {
378
416
  const item = context.command.directObject.entity;
379
417
  // Build message params — EntityInfo for the formatter chain (ADR-158)
380
418
  const params = {
381
- item: (0, utils_1.nounPhraseFor)(item)
419
+ item: (0, index_js_2.nounPhraseFor)(item)
382
420
  };
383
421
  let messageKey;
384
422
  if (source.has(world_model_1.TraitType.CONTAINER)) {
385
- params.container = (0, utils_1.nounPhraseFor)(source);
386
- messageKey = removing_messages_1.RemovingMessages.REMOVED_FROM;
423
+ params.container = (0, index_js_2.nounPhraseFor)(source);
424
+ messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM;
387
425
  }
388
426
  else {
389
- params.surface = (0, utils_1.nounPhraseFor)(source);
390
- messageKey = removing_messages_1.RemovingMessages.REMOVED_FROM_SURFACE;
427
+ params.surface = (0, index_js_2.nounPhraseFor)(source);
428
+ messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM_SURFACE;
391
429
  }
392
430
  // Emit domain event with messageId (simplified pattern - ADR-097)
393
- return [
431
+ const events = [
394
432
  context.event('if.event.taken', {
395
433
  // Rendering data (messageId + params for text-service)
396
434
  messageId: `${context.action.id}.${messageKey}`,
@@ -403,11 +441,15 @@ exports.removingAction = {
403
441
  container: source.name,
404
442
  fromContainer: source.has(world_model_1.TraitType.CONTAINER),
405
443
  fromSupporter: source.has(world_model_1.TraitType.SUPPORTER) && !source.has(world_model_1.TraitType.CONTAINER),
406
- itemSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(item, context.world, true),
407
- actorSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(actor, context.world, false),
408
- sourceSnapshot: (0, snapshot_utils_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
444
+ itemSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(item, context.world, true),
445
+ actorSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(actor, context.world, false),
446
+ sourceSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
409
447
  })
410
448
  ];
449
+ const state = (0, index_js_3.getLifecycleState)(context);
450
+ if (state)
451
+ (0, index_js_3.runPostReport)(context, state, events, 'if.event.taken');
452
+ return events;
411
453
  },
412
454
  /**
413
455
  * Generate events when validation fails
@@ -417,13 +459,13 @@ exports.removingAction = {
417
459
  blocked(context, result) {
418
460
  const item = context.command.directObject?.entity;
419
461
  const source = context.command.indirectObject?.entity;
420
- return [context.event('if.event.remove_blocked', {
462
+ const events = [context.event('if.event.remove_blocked', {
421
463
  // Rendering data — EntityInfo for the formatter chain (ADR-158)
422
- messageId: `${context.action.id}.${result.error}`,
464
+ messageId: (0, index_js_3.blockedMessageId)(context, result),
423
465
  params: {
424
466
  ...result.params,
425
- item: item ? (0, utils_1.nounPhraseFor)(item) : undefined,
426
- source: source ? (0, utils_1.nounPhraseFor)(source) : undefined
467
+ item: item ? (0, index_js_2.nounPhraseFor)(item) : undefined,
468
+ source: source ? (0, index_js_2.nounPhraseFor)(source) : undefined
427
469
  },
428
470
  // Domain data — strings for handlers
429
471
  itemId: item?.id,
@@ -432,6 +474,23 @@ exports.removingAction = {
432
474
  sourceName: source?.name,
433
475
  reason: result.error
434
476
  })];
477
+ if (result.error) {
478
+ const state = (0, index_js_3.getLifecycleState)(context);
479
+ if (state) {
480
+ // Single-object path: notify all consultations (ADR-228 D2/D3)
481
+ (0, index_js_3.runOnBlocked)(context, state, events, 'if.event.remove_blocked', result.error);
482
+ }
483
+ else {
484
+ // Multi-object all-fail path: first failed item's consultations only
485
+ // (taking's pattern — the blocked event carries that item's error).
486
+ const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
487
+ const first = multi?.[0];
488
+ if (first && !first.success) {
489
+ (0, index_js_3.runOnBlocked)(context, first.state, events, 'if.event.remove_blocked', first.error ?? result.error);
490
+ }
491
+ }
492
+ }
493
+ return events;
435
494
  }
436
495
  };
437
496
  //# sourceMappingURL=removing.js.map