@sharpee/stdlib 3.0.0 → 3.1.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 (287) hide show
  1. package/actions/base/snapshot-utils.js +2 -2
  2. package/actions/base/snapshot-utils.js.map +1 -1
  3. package/actions/constants.d.ts +2 -0
  4. package/actions/constants.d.ts.map +1 -1
  5. package/actions/constants.js +3 -0
  6. package/actions/constants.js.map +1 -1
  7. package/actions/index.d.ts +2 -0
  8. package/actions/index.d.ts.map +1 -1
  9. package/actions/index.js +6 -0
  10. package/actions/index.js.map +1 -1
  11. package/actions/lifecycle/descriptor.d.ts +111 -0
  12. package/actions/lifecycle/descriptor.d.ts.map +1 -0
  13. package/actions/lifecycle/descriptor.js +22 -0
  14. package/actions/lifecycle/descriptor.js.map +1 -0
  15. package/actions/lifecycle/index.d.ts +14 -0
  16. package/actions/lifecycle/index.d.ts.map +1 -0
  17. package/actions/lifecycle/index.js +27 -0
  18. package/actions/lifecycle/index.js.map +1 -0
  19. package/actions/lifecycle/lifecycle-engine.d.ts +173 -0
  20. package/actions/lifecycle/lifecycle-engine.d.ts.map +1 -0
  21. package/actions/lifecycle/lifecycle-engine.js +247 -0
  22. package/actions/lifecycle/lifecycle-engine.js.map +1 -0
  23. package/actions/lifecycle/multi-object-lifecycle.d.ts +105 -0
  24. package/actions/lifecycle/multi-object-lifecycle.d.ts.map +1 -0
  25. package/actions/lifecycle/multi-object-lifecycle.js +136 -0
  26. package/actions/lifecycle/multi-object-lifecycle.js.map +1 -0
  27. package/actions/lifecycle/registry.d.ts +39 -0
  28. package/actions/lifecycle/registry.d.ts.map +1 -0
  29. package/actions/lifecycle/registry.js +128 -0
  30. package/actions/lifecycle/registry.js.map +1 -0
  31. package/actions/standard/asking/asking.d.ts +25 -0
  32. package/actions/standard/asking/asking.d.ts.map +1 -0
  33. package/actions/standard/asking/asking.js +114 -0
  34. package/actions/standard/asking/asking.js.map +1 -0
  35. package/actions/standard/asking/index.d.ts +5 -0
  36. package/actions/standard/asking/index.d.ts.map +1 -0
  37. package/actions/standard/asking/index.js +10 -0
  38. package/actions/standard/asking/index.js.map +1 -0
  39. package/actions/standard/attacking/attacking.d.ts +14 -0
  40. package/actions/standard/attacking/attacking.d.ts.map +1 -1
  41. package/actions/standard/attacking/attacking.js +138 -94
  42. package/actions/standard/attacking/attacking.js.map +1 -1
  43. package/actions/standard/attacking/index.d.ts +1 -1
  44. package/actions/standard/attacking/index.d.ts.map +1 -1
  45. package/actions/standard/attacking/index.js +2 -1
  46. package/actions/standard/attacking/index.js.map +1 -1
  47. package/actions/standard/climbing/climbing.d.ts +10 -0
  48. package/actions/standard/climbing/climbing.d.ts.map +1 -1
  49. package/actions/standard/climbing/climbing.js +51 -11
  50. package/actions/standard/climbing/climbing.js.map +1 -1
  51. package/actions/standard/closing/closing.d.ts +6 -0
  52. package/actions/standard/closing/closing.d.ts.map +1 -1
  53. package/actions/standard/closing/closing.js +37 -52
  54. package/actions/standard/closing/closing.js.map +1 -1
  55. package/actions/standard/cutting/cutting-messages.d.ts +17 -0
  56. package/actions/standard/cutting/cutting-messages.d.ts.map +1 -0
  57. package/actions/standard/cutting/cutting-messages.js +22 -0
  58. package/actions/standard/cutting/cutting-messages.js.map +1 -0
  59. package/actions/standard/cutting/cutting.d.ts +35 -0
  60. package/actions/standard/cutting/cutting.d.ts.map +1 -0
  61. package/actions/standard/cutting/cutting.js +228 -0
  62. package/actions/standard/cutting/cutting.js.map +1 -0
  63. package/actions/standard/cutting/index.d.ts +7 -0
  64. package/actions/standard/cutting/index.d.ts.map +1 -0
  65. package/actions/standard/cutting/index.js +12 -0
  66. package/actions/standard/cutting/index.js.map +1 -0
  67. package/actions/standard/deadly-room-death/deadly-room-death.d.ts +16 -0
  68. package/actions/standard/deadly-room-death/deadly-room-death.d.ts.map +1 -0
  69. package/actions/standard/deadly-room-death/deadly-room-death.js +44 -0
  70. package/actions/standard/deadly-room-death/deadly-room-death.js.map +1 -0
  71. package/actions/standard/deadly-room-death/index.d.ts +2 -0
  72. package/actions/standard/deadly-room-death/index.d.ts.map +1 -0
  73. package/actions/standard/deadly-room-death/index.js +6 -0
  74. package/actions/standard/deadly-room-death/index.js.map +1 -0
  75. package/actions/standard/digging/digging-messages.d.ts +17 -0
  76. package/actions/standard/digging/digging-messages.d.ts.map +1 -0
  77. package/actions/standard/digging/digging-messages.js +22 -0
  78. package/actions/standard/digging/digging-messages.js.map +1 -0
  79. package/actions/standard/digging/digging.d.ts +35 -0
  80. package/actions/standard/digging/digging.d.ts.map +1 -0
  81. package/actions/standard/digging/digging.js +228 -0
  82. package/actions/standard/digging/digging.js.map +1 -0
  83. package/actions/standard/digging/index.d.ts +7 -0
  84. package/actions/standard/digging/index.d.ts.map +1 -0
  85. package/actions/standard/digging/index.js +12 -0
  86. package/actions/standard/digging/index.js.map +1 -0
  87. package/actions/standard/drinking/drinking.d.ts +9 -0
  88. package/actions/standard/drinking/drinking.d.ts.map +1 -1
  89. package/actions/standard/drinking/drinking.js +40 -2
  90. package/actions/standard/drinking/drinking.js.map +1 -1
  91. package/actions/standard/dropping/dropping-types.d.ts +10 -18
  92. package/actions/standard/dropping/dropping-types.d.ts.map +1 -1
  93. package/actions/standard/dropping/dropping-types.js.map +1 -1
  94. package/actions/standard/dropping/dropping.d.ts +6 -0
  95. package/actions/standard/dropping/dropping.d.ts.map +1 -1
  96. package/actions/standard/dropping/dropping.js +86 -108
  97. package/actions/standard/dropping/dropping.js.map +1 -1
  98. package/actions/standard/eating/eating.d.ts +9 -0
  99. package/actions/standard/eating/eating.d.ts.map +1 -1
  100. package/actions/standard/eating/eating.js +40 -2
  101. package/actions/standard/eating/eating.js.map +1 -1
  102. package/actions/standard/entering/entering.d.ts +14 -5
  103. package/actions/standard/entering/entering.d.ts.map +1 -1
  104. package/actions/standard/entering/entering.js +45 -67
  105. package/actions/standard/entering/entering.js.map +1 -1
  106. package/actions/standard/examining/examining.d.ts +6 -0
  107. package/actions/standard/examining/examining.d.ts.map +1 -1
  108. package/actions/standard/examining/examining.js +35 -48
  109. package/actions/standard/examining/examining.js.map +1 -1
  110. package/actions/standard/exiting/exiting.d.ts +6 -0
  111. package/actions/standard/exiting/exiting.d.ts.map +1 -1
  112. package/actions/standard/exiting/exiting.js +54 -3
  113. package/actions/standard/exiting/exiting.js.map +1 -1
  114. package/actions/standard/giving/giving.d.ts +21 -0
  115. package/actions/standard/giving/giving.d.ts.map +1 -1
  116. package/actions/standard/giving/giving.js +78 -2
  117. package/actions/standard/giving/giving.js.map +1 -1
  118. package/actions/standard/going/going.d.ts +10 -16
  119. package/actions/standard/going/going.d.ts.map +1 -1
  120. package/actions/standard/going/going.js +122 -132
  121. package/actions/standard/going/going.js.map +1 -1
  122. package/actions/standard/hiding/hiding.d.ts +10 -1
  123. package/actions/standard/hiding/hiding.d.ts.map +1 -1
  124. package/actions/standard/hiding/hiding.js +43 -4
  125. package/actions/standard/hiding/hiding.js.map +1 -1
  126. package/actions/standard/index.d.ts +5 -0
  127. package/actions/standard/index.d.ts.map +1 -1
  128. package/actions/standard/index.js +19 -4
  129. package/actions/standard/index.js.map +1 -1
  130. package/actions/standard/inserting/inserting.d.ts +12 -0
  131. package/actions/standard/inserting/inserting.d.ts.map +1 -1
  132. package/actions/standard/inserting/inserting.js +70 -5
  133. package/actions/standard/inserting/inserting.js.map +1 -1
  134. package/actions/standard/listening/listening.d.ts +12 -1
  135. package/actions/standard/listening/listening.d.ts.map +1 -1
  136. package/actions/standard/listening/listening.js +45 -4
  137. package/actions/standard/listening/listening.js.map +1 -1
  138. package/actions/standard/locking/locking.d.ts +9 -0
  139. package/actions/standard/locking/locking.d.ts.map +1 -1
  140. package/actions/standard/locking/locking.js +62 -3
  141. package/actions/standard/locking/locking.js.map +1 -1
  142. package/actions/standard/opening/opening-messages.d.ts +3 -0
  143. package/actions/standard/opening/opening-messages.d.ts.map +1 -1
  144. package/actions/standard/opening/opening-messages.js +4 -0
  145. package/actions/standard/opening/opening-messages.js.map +1 -1
  146. package/actions/standard/opening/opening.d.ts +8 -0
  147. package/actions/standard/opening/opening.d.ts.map +1 -1
  148. package/actions/standard/opening/opening.js +73 -59
  149. package/actions/standard/opening/opening.js.map +1 -1
  150. package/actions/standard/pulling/pulling.d.ts +9 -0
  151. package/actions/standard/pulling/pulling.d.ts.map +1 -1
  152. package/actions/standard/pulling/pulling.js +40 -2
  153. package/actions/standard/pulling/pulling.js.map +1 -1
  154. package/actions/standard/pushing/pushing-types.d.ts +3 -6
  155. package/actions/standard/pushing/pushing-types.d.ts.map +1 -1
  156. package/actions/standard/pushing/pushing-types.js +3 -1
  157. package/actions/standard/pushing/pushing-types.js.map +1 -1
  158. package/actions/standard/pushing/pushing.d.ts +14 -5
  159. package/actions/standard/pushing/pushing.d.ts.map +1 -1
  160. package/actions/standard/pushing/pushing.js +51 -71
  161. package/actions/standard/pushing/pushing.js.map +1 -1
  162. package/actions/standard/putting/putting-types.d.ts +10 -21
  163. package/actions/standard/putting/putting-types.d.ts.map +1 -1
  164. package/actions/standard/putting/putting-types.js +0 -1
  165. package/actions/standard/putting/putting-types.js.map +1 -1
  166. package/actions/standard/putting/putting.d.ts +10 -0
  167. package/actions/standard/putting/putting.d.ts.map +1 -1
  168. package/actions/standard/putting/putting.js +133 -151
  169. package/actions/standard/putting/putting.js.map +1 -1
  170. package/actions/standard/reading/reading.d.ts +6 -0
  171. package/actions/standard/reading/reading.d.ts.map +1 -1
  172. package/actions/standard/reading/reading.js +36 -52
  173. package/actions/standard/reading/reading.js.map +1 -1
  174. package/actions/standard/removing/removing-types.d.ts +10 -16
  175. package/actions/standard/removing/removing-types.d.ts.map +1 -1
  176. package/actions/standard/removing/removing-types.js.map +1 -1
  177. package/actions/standard/removing/removing.d.ts +13 -0
  178. package/actions/standard/removing/removing.d.ts.map +1 -1
  179. package/actions/standard/removing/removing.js +147 -88
  180. package/actions/standard/removing/removing.js.map +1 -1
  181. package/actions/standard/searching/searching.d.ts +10 -0
  182. package/actions/standard/searching/searching.d.ts.map +1 -1
  183. package/actions/standard/searching/searching.js +44 -8
  184. package/actions/standard/searching/searching.js.map +1 -1
  185. package/actions/standard/showing/showing.d.ts +14 -0
  186. package/actions/standard/showing/showing.d.ts.map +1 -1
  187. package/actions/standard/showing/showing.js +62 -2
  188. package/actions/standard/showing/showing.js.map +1 -1
  189. package/actions/standard/smelling/smelling.d.ts +10 -0
  190. package/actions/standard/smelling/smelling.d.ts.map +1 -1
  191. package/actions/standard/smelling/smelling.js +41 -2
  192. package/actions/standard/smelling/smelling.js.map +1 -1
  193. package/actions/standard/switching_off/switching_off.d.ts +11 -1
  194. package/actions/standard/switching_off/switching_off.d.ts.map +1 -1
  195. package/actions/standard/switching_off/switching_off.js +44 -4
  196. package/actions/standard/switching_off/switching_off.js.map +1 -1
  197. package/actions/standard/switching_on/switching_on.d.ts +14 -5
  198. package/actions/standard/switching_on/switching_on.d.ts.map +1 -1
  199. package/actions/standard/switching_on/switching_on.js +45 -57
  200. package/actions/standard/switching_on/switching_on.js.map +1 -1
  201. package/actions/standard/taking/taking-types.d.ts +14 -36
  202. package/actions/standard/taking/taking-types.d.ts.map +1 -1
  203. package/actions/standard/taking/taking-types.js.map +1 -1
  204. package/actions/standard/taking/taking.d.ts +11 -0
  205. package/actions/standard/taking/taking.d.ts.map +1 -1
  206. package/actions/standard/taking/taking.js +102 -148
  207. package/actions/standard/taking/taking.js.map +1 -1
  208. package/actions/standard/taking_off/taking-off.d.ts +6 -0
  209. package/actions/standard/taking_off/taking-off.d.ts.map +1 -1
  210. package/actions/standard/taking_off/taking-off.js +57 -21
  211. package/actions/standard/taking_off/taking-off.js.map +1 -1
  212. package/actions/standard/talking/talking.d.ts +15 -0
  213. package/actions/standard/talking/talking.d.ts.map +1 -1
  214. package/actions/standard/talking/talking.js +52 -3
  215. package/actions/standard/talking/talking.js.map +1 -1
  216. package/actions/standard/telling/index.d.ts +5 -0
  217. package/actions/standard/telling/index.d.ts.map +1 -0
  218. package/actions/standard/telling/index.js +10 -0
  219. package/actions/standard/telling/index.js.map +1 -0
  220. package/actions/standard/telling/telling.d.ts +25 -0
  221. package/actions/standard/telling/telling.d.ts.map +1 -0
  222. package/actions/standard/telling/telling.js +114 -0
  223. package/actions/standard/telling/telling.js.map +1 -0
  224. package/actions/standard/throwing/throwing.d.ts +11 -0
  225. package/actions/standard/throwing/throwing.d.ts.map +1 -1
  226. package/actions/standard/throwing/throwing.js +69 -70
  227. package/actions/standard/throwing/throwing.js.map +1 -1
  228. package/actions/standard/tool-shared.d.ts +38 -0
  229. package/actions/standard/tool-shared.d.ts.map +1 -0
  230. package/actions/standard/tool-shared.js +74 -0
  231. package/actions/standard/tool-shared.js.map +1 -0
  232. package/actions/standard/touching/touching.d.ts +9 -0
  233. package/actions/standard/touching/touching.d.ts.map +1 -1
  234. package/actions/standard/touching/touching.js +40 -4
  235. package/actions/standard/touching/touching.js.map +1 -1
  236. package/actions/standard/turning/index.d.ts +5 -0
  237. package/actions/standard/turning/index.d.ts.map +1 -0
  238. package/actions/standard/turning/index.js +9 -0
  239. package/actions/standard/turning/index.js.map +1 -0
  240. package/actions/standard/turning/turning.d.ts +17 -0
  241. package/actions/standard/turning/turning.d.ts.map +1 -0
  242. package/actions/standard/turning/turning.js +25 -0
  243. package/actions/standard/turning/turning.js.map +1 -0
  244. package/actions/standard/unlocking/unlocking.d.ts +9 -0
  245. package/actions/standard/unlocking/unlocking.d.ts.map +1 -1
  246. package/actions/standard/unlocking/unlocking.js +62 -3
  247. package/actions/standard/unlocking/unlocking.js.map +1 -1
  248. package/actions/standard/wearing/wearing.d.ts +11 -1
  249. package/actions/standard/wearing/wearing.d.ts.map +1 -1
  250. package/actions/standard/wearing/wearing.js +57 -12
  251. package/actions/standard/wearing/wearing.js.map +1 -1
  252. package/channels/standard.d.ts +13 -10
  253. package/channels/standard.d.ts.map +1 -1
  254. package/channels/standard.js +14 -10
  255. package/channels/standard.js.map +1 -1
  256. package/death/deadly-room-transformer.d.ts +37 -0
  257. package/death/deadly-room-transformer.d.ts.map +1 -0
  258. package/death/deadly-room-transformer.js +79 -0
  259. package/death/deadly-room-transformer.js.map +1 -0
  260. package/death/index.d.ts +18 -0
  261. package/death/index.d.ts.map +1 -0
  262. package/death/index.js +28 -0
  263. package/death/index.js.map +1 -0
  264. package/death/kill-player.d.ts +49 -0
  265. package/death/kill-player.d.ts.map +1 -0
  266. package/death/kill-player.js +55 -0
  267. package/death/kill-player.js.map +1 -0
  268. package/death/player-death-events.d.ts +40 -0
  269. package/death/player-death-events.d.ts.map +1 -0
  270. package/death/player-death-events.js +27 -0
  271. package/death/player-death-events.js.map +1 -0
  272. package/death/probabilistic-death.d.ts +23 -0
  273. package/death/probabilistic-death.d.ts.map +1 -0
  274. package/death/probabilistic-death.js +27 -0
  275. package/death/probabilistic-death.js.map +1 -0
  276. package/index.d.ts +1 -0
  277. package/index.d.ts.map +1 -1
  278. package/index.js +1 -0
  279. package/index.js.map +1 -1
  280. package/npc/behaviors.d.ts.map +1 -1
  281. package/npc/behaviors.js +9 -8
  282. package/npc/behaviors.js.map +1 -1
  283. package/npc/npc-service.d.ts +8 -0
  284. package/npc/npc-service.d.ts.map +1 -1
  285. package/npc/npc-service.js +19 -18
  286. package/npc/npc-service.js.map +1 -1
  287. package/package.json +7 -7
@@ -14,19 +14,34 @@
14
14
  * - "drop X and Y" - drops multiple specified items
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.droppingAction = void 0;
17
+ exports.droppingAction = exports.droppingLifecycle = void 0;
18
18
  const world_model_1 = require("@sharpee/world-model");
19
19
  const data_builder_types_1 = require("../../data-builder-types");
20
20
  const constants_1 = require("../../constants");
21
21
  const types_1 = require("../../../scope/types");
22
22
  const utils_1 = require("../../../utils");
23
23
  const dropping_messages_1 = require("./dropping-messages");
24
+ const lifecycle_1 = require("../../lifecycle");
24
25
  // Import our data builder
25
26
  const dropping_data_1 = require("./dropping-data");
26
27
  // Import types
27
28
  const dropping_types_1 = require("./dropping-types");
28
29
  // Import multi-object helpers
29
30
  const multi_object_handler_1 = require("../../../helpers/multi-object-handler");
31
+ /**
32
+ * Interceptor surface (ADR-228): the dropped item is the only consultable
33
+ * entity of a DROP command.
34
+ */
35
+ exports.droppingLifecycle = {
36
+ actionId: constants_1.IFActions.DROPPING,
37
+ slots: [
38
+ {
39
+ id: 'item',
40
+ actionIds: [constants_1.IFActions.DROPPING],
41
+ resolve: (ctx) => ctx.command.directObject?.entity
42
+ }
43
+ ]
44
+ };
30
45
  // ============================================================================
31
46
  // Helper Functions (standalone to avoid `this` issues in object literal)
32
47
  // ============================================================================
@@ -84,43 +99,15 @@ function validateSingleEntity(context, noun) {
84
99
  return { valid: true };
85
100
  }
86
101
  /**
87
- * Validate a multi-object command (drop all, drop X and Y)
102
+ * Execute dropping a single entity. Mutation results are written into
103
+ * `scratch` — the single-object sharedData or the item's multi-object
104
+ * itemData (ADR-228 D4).
88
105
  */
89
- function validateMultiObject(context) {
90
- // For dropping, scope is 'carried' - only drop things we're holding
91
- const items = (0, multi_object_handler_1.expandMultiObject)(context, { scope: 'carried' });
92
- if (items.length === 0) {
93
- return { valid: false, error: dropping_messages_1.DroppingMessages.NOTHING_TO_DROP };
94
- }
95
- // Validate each entity, store results
96
- const results = items.map(item => {
97
- const validation = validateSingleEntity(context, item.entity);
98
- return {
99
- entity: item.entity,
100
- success: validation.valid,
101
- error: validation.valid ? undefined : validation.error,
102
- errorParams: validation.valid ? undefined : validation.params
103
- };
104
- });
105
- // Store results for execute/report phases
106
- const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
107
- sharedData.multiObjectResults = results;
108
- // Valid if at least one can be dropped
109
- const anySuccess = results.some(r => r.success);
110
- if (!anySuccess) {
111
- // All failed - return the first error
112
- return { valid: false, error: results[0].error, params: results[0].errorParams };
113
- }
114
- return { valid: true };
115
- }
116
- /**
117
- * Execute dropping a single entity
118
- */
119
- function executeSingleEntity(context, noun, result) {
106
+ function executeSingleEntity(context, noun, scratch) {
120
107
  const actor = context.player;
121
108
  // Store the drop location before the move (player's current location)
122
109
  const dropLocation = context.world.getLocation(actor.id);
123
- result.dropLocation = dropLocation;
110
+ scratch.dropLocation = dropLocation;
124
111
  // Delegate to ActorBehavior for dropping validation
125
112
  world_model_1.ActorBehavior.dropItem(actor, noun, context.world);
126
113
  // Actually move the item to the drop location
@@ -134,10 +121,10 @@ function executeSingleEntity(context, noun, result) {
134
121
  * Uses simplified event pattern (ADR-097): domain event carries messageId directly.
135
122
  * Text-service looks up message from domain event - no separate action.success needed.
136
123
  */
137
- function reportSingleSuccess(context, noun, result, events, isMultiObject = false) {
124
+ function reportSingleSuccess(context, noun, scratch, events, isMultiObject = false) {
138
125
  const actor = context.player;
139
- const dropLocation = result.dropLocation
140
- ? context.world.getEntity(result.dropLocation)
126
+ const dropLocation = scratch.dropLocation
127
+ ? context.world.getEntity(scratch.dropLocation)
141
128
  : getDropLocation(context);
142
129
  // Determine message key based on context.
143
130
  // params carry EntityInfo for the formatter chain (ADR-158).
@@ -237,54 +224,49 @@ exports.droppingAction = {
237
224
  directObjectScope: types_1.ScopeLevel.CARRIED
238
225
  },
239
226
  validate(context) {
240
- // Check for multi-object command
227
+ // Check for multi-object command — full per-item lifecycle (ADR-228 D4)
241
228
  if ((0, multi_object_handler_1.isMultiObjectCommand)(context)) {
242
- return validateMultiObject(context);
229
+ // For dropping, scope is 'carried' - only drop things we're holding
230
+ const items = (0, multi_object_handler_1.expandMultiObject)(context, { scope: 'carried' }).map(i => i.entity);
231
+ if (items.length === 0) {
232
+ return { valid: false, error: dropping_messages_1.DroppingMessages.NOTHING_TO_DROP };
233
+ }
234
+ const results = (0, lifecycle_1.runMultiObjectValidate)(context, exports.droppingLifecycle, 'item', items, (ctx, item) => validateSingleEntity(ctx, item));
235
+ // Valid if at least one can be dropped; all-fail returns the first error
236
+ if (!results.some(r => r.success)) {
237
+ return { valid: false, error: results[0].error, params: results[0].errorParams };
238
+ }
239
+ return { valid: true };
243
240
  }
244
241
  // Single object validation
245
242
  const noun = context.command.directObject?.entity;
246
243
  if (!noun) {
247
244
  return { valid: false, error: dropping_messages_1.DroppingMessages.NO_TARGET };
248
245
  }
249
- const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
250
- // Check for interceptor on the item being dropped (ADR-118)
251
- const interceptorResult = context.world.getInterceptorForAction(noun, constants_1.IFActions.DROPPING);
252
- const interceptor = interceptorResult?.interceptor;
253
- const interceptorData = {};
254
- sharedData.interceptor = interceptor;
255
- sharedData.interceptorData = interceptorData;
256
- // === PRE-VALIDATE HOOK ===
257
- if (interceptor?.preValidate) {
258
- const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
259
- if (result !== null) {
260
- return { valid: result.valid, error: result.error, params: result.params };
261
- }
262
- }
246
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.droppingLifecycle);
247
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
248
+ if (preVeto)
249
+ return preVeto;
263
250
  const validation = validateSingleEntity(context, noun);
264
251
  if (!validation.valid)
265
252
  return validation;
266
- // === POST-VALIDATE HOOK ===
267
- if (interceptor?.postValidate) {
268
- const result = interceptor.postValidate(noun, context.world, context.player.id, interceptorData);
269
- if (result !== null) {
270
- return { valid: result.valid, error: result.error, params: result.params };
271
- }
272
- }
253
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
254
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
255
+ if (postVeto)
256
+ return postVeto;
273
257
  return { valid: true };
274
258
  },
275
259
  execute(context) {
276
- const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
277
- // Check for multi-object command
278
- if (sharedData.multiObjectResults) {
279
- // Execute for each successful validation
280
- for (const result of sharedData.multiObjectResults) {
281
- if (result.success) {
282
- executeSingleEntity(context, result.entity, result);
283
- }
284
- }
260
+ // Multi-object command: per-item execute + postExecute hooks (D4)
261
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
262
+ if (multi) {
263
+ (0, lifecycle_1.runMultiObjectExecute)(context, multi, (ctx, item, itemData) => {
264
+ executeSingleEntity(ctx, item, itemData);
265
+ });
285
266
  return;
286
267
  }
287
268
  // Single object execution
269
+ const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
288
270
  const actor = context.player;
289
271
  const noun = context.command.directObject.entity;
290
272
  // Delegate to ActorBehavior for dropping validation
@@ -296,29 +278,22 @@ exports.droppingAction = {
296
278
  }
297
279
  // Store result for report phase using sharedData
298
280
  sharedData.dropResult = result;
299
- // === POST-EXECUTE HOOK ===
300
- const interceptor = sharedData.interceptor;
301
- const interceptorData = sharedData.interceptorData || {};
302
- if (interceptor?.postExecute) {
303
- interceptor.postExecute(noun, context.world, actor.id, interceptorData);
304
- }
281
+ const state = (0, lifecycle_1.getLifecycleState)(context);
282
+ if (state)
283
+ (0, lifecycle_1.runPostExecute)(context, state);
305
284
  },
306
285
  report(context) {
307
- const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
308
- // Check for multi-object command
309
- if (sharedData.multiObjectResults) {
286
+ // Multi-object command: per-item success/blocked events + hooks (D4)
287
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
288
+ if (multi) {
310
289
  const events = [];
311
- // Generate events for each item (success and failure)
312
290
  // Use compact format when multiple items
313
- const isMultiObject = sharedData.multiObjectResults.length > 1;
314
- for (const result of sharedData.multiObjectResults) {
315
- if (result.success) {
316
- reportSingleSuccess(context, result.entity, result, events, isMultiObject);
317
- }
318
- else {
319
- reportSingleBlocked(context, result.entity, result.error, result.errorParams, events);
320
- }
321
- }
291
+ const isMultiObject = multi.length > 1;
292
+ (0, lifecycle_1.runMultiObjectReport)(context, multi, events, 'if.event.dropped', 'if.event.drop_blocked', (ctx, item, itemData, evts) => {
293
+ reportSingleSuccess(ctx, item, itemData, evts, isMultiObject);
294
+ }, (ctx, item, error, errorParams, evts) => {
295
+ reportSingleBlocked(ctx, item, error, errorParams, evts);
296
+ });
322
297
  return events;
323
298
  }
324
299
  // Single object report - use the data builder pattern for domain data
@@ -340,30 +315,14 @@ exports.droppingAction = {
340
315
  actorId: actor.id
341
316
  })
342
317
  ];
343
- // === POST-REPORT HOOK ===
344
- // Apply interceptor's override (replaces if.event.dropped.messageId)
345
- // and/or emit (additional events). See ISSUE-074.
346
- const interceptor = sharedData.interceptor;
347
- const interceptorData = sharedData.interceptorData || {};
348
- if (interceptor?.postReport) {
349
- const result = interceptor.postReport(noun, context.world, actor.id, interceptorData);
350
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.dropped', result, context);
351
- }
318
+ const state = (0, lifecycle_1.getLifecycleState)(context);
319
+ if (state)
320
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.dropped');
352
321
  return events;
353
322
  },
354
323
  blocked(context, result) {
355
324
  const noun = context.command.directObject?.entity;
356
- const sharedData = (0, dropping_types_1.getDroppingSharedData)(context);
357
- // === ON-BLOCKED HOOK ===
358
- const interceptor = sharedData.interceptor;
359
- const interceptorData = sharedData.interceptorData || {};
360
- if (interceptor?.onBlocked && noun && result.error) {
361
- const customEffects = interceptor.onBlocked(noun, context.world, context.player.id, result.error, interceptorData);
362
- if (customEffects !== null) {
363
- return customEffects.map(effect => context.event(effect.type, effect.payload));
364
- }
365
- }
366
- return [context.event('if.event.drop_blocked', {
325
+ const events = [context.event('if.event.drop_blocked', {
367
326
  // Rendering data — EntityInfo for the formatter chain (ADR-158)
368
327
  messageId: `${context.action.id}.${result.error}`,
369
328
  params: { ...result.params, item: noun ? (0, utils_1.nounPhraseFor)(noun) : undefined },
@@ -372,6 +331,25 @@ exports.droppingAction = {
372
331
  itemId: noun?.id,
373
332
  reason: result.error
374
333
  })];
334
+ if (result.error) {
335
+ const state = (0, lifecycle_1.getLifecycleState)(context);
336
+ if (state) {
337
+ // Single-object path: notify all consultations (ADR-228 D2/D3)
338
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.drop_blocked', result.error);
339
+ }
340
+ else {
341
+ // Multi-object all-fail path: the blocked event carries the FIRST
342
+ // failed item's error, so only that item's consultations are
343
+ // notified here — the other items produced no events for hooks to
344
+ // decorate. (Partial failures are handled per item in report().)
345
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
346
+ const first = multi?.[0];
347
+ if (first && !first.success) {
348
+ (0, lifecycle_1.runOnBlocked)(context, first.state, events, 'if.event.drop_blocked', first.error ?? result.error);
349
+ }
350
+ }
351
+ }
352
+ return events;
375
353
  },
376
354
  group: "object_manipulation"
377
355
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dropping.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropping.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,20 @@
10
10
  * 3. blocked: Generate events when validation fails
11
11
  * 4. report: Generate success events
12
12
  *
13
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
14
+ * engine (ADR-228) via `eatingLifecycle` — no hand-rolled hook plumbing.
15
+ *
13
16
  * Supports implicit take - "eat apple" when apple is on ground will
14
17
  * automatically take it first.
15
18
  */
16
19
  import { Action } from '../../enhanced-types';
17
20
  import { ActionMetadata } from '../../../validation';
21
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
22
+ /**
23
+ * Interceptor surface (ADR-228): the eaten item is the only consultable
24
+ * entity of an EAT command.
25
+ */
26
+ export declare const eatingLifecycle: ActionLifecycleDescriptor;
18
27
  export declare const eatingAction: Action & {
19
28
  metadata: ActionMetadata;
20
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"eating.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/eating/eating.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkBrD,eAAO,MAAM,YAAY,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAqO7D,CAAC"}
1
+ {"version":3,"file":"eating.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/eating/eating.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,yBAS7B,CAAC;AAgBF,eAAO,MAAM,YAAY,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA2P7D,CAAC"}
@@ -11,15 +11,33 @@
11
11
  * 3. blocked: Generate events when validation fails
12
12
  * 4. report: Generate success events
13
13
  *
14
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
15
+ * engine (ADR-228) via `eatingLifecycle` — no hand-rolled hook plumbing.
16
+ *
14
17
  * Supports implicit take - "eat apple" when apple is on ground will
15
18
  * automatically take it first.
16
19
  */
17
20
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.eatingAction = void 0;
21
+ exports.eatingAction = exports.eatingLifecycle = void 0;
19
22
  const world_model_1 = require("@sharpee/world-model");
20
23
  const constants_1 = require("../../constants");
21
24
  const types_1 = require("../../../scope/types");
22
25
  const utils_1 = require("../../../utils");
26
+ const lifecycle_1 = require("../../lifecycle");
27
+ /**
28
+ * Interceptor surface (ADR-228): the eaten item is the only consultable
29
+ * entity of an EAT command.
30
+ */
31
+ exports.eatingLifecycle = {
32
+ actionId: constants_1.IFActions.EATING,
33
+ slots: [
34
+ {
35
+ id: 'item',
36
+ actionIds: [constants_1.IFActions.EATING],
37
+ resolve: (ctx) => ctx.command.directObject?.entity
38
+ }
39
+ ]
40
+ };
23
41
  function getEatingSharedData(context) {
24
42
  return context.sharedData;
25
43
  }
@@ -68,6 +86,10 @@ exports.eatingAction = {
68
86
  error: 'no_item'
69
87
  };
70
88
  }
89
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.eatingLifecycle);
90
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
91
+ if (preVeto)
92
+ return preVeto;
71
93
  // Check scope - must be able to reach the item
72
94
  const scopeCheck = context.requireScope(item, types_1.ScopeLevel.REACHABLE);
73
95
  if (!scopeCheck.ok) {
@@ -102,6 +124,10 @@ exports.eatingAction = {
102
124
  if (!carryCheck.ok) {
103
125
  return carryCheck.error;
104
126
  }
127
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
128
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
129
+ if (postVeto)
130
+ return postVeto;
105
131
  return { valid: true };
106
132
  },
107
133
  /**
@@ -190,13 +216,16 @@ exports.eatingAction = {
190
216
  sharedData.itemName = item.name;
191
217
  sharedData.messageId = messageId;
192
218
  sharedData.eventData = eventData;
219
+ const state = (0, lifecycle_1.getLifecycleState)(context);
220
+ if (state)
221
+ (0, lifecycle_1.runPostExecute)(context, state);
193
222
  },
194
223
  /**
195
224
  * Generate events when validation fails
196
225
  */
197
226
  blocked(context, result) {
198
227
  const item = context.command.directObject?.entity;
199
- return [context.event('if.event.eaten', {
228
+ const events = [context.event('if.event.eaten', {
200
229
  blocked: true,
201
230
  messageId: `${context.action.id}.${result.error}`,
202
231
  // params carry EntityInfo for the formatter chain (ADR-158)
@@ -205,6 +234,12 @@ exports.eatingAction = {
205
234
  itemId: item?.id,
206
235
  itemName: item?.name
207
236
  })];
237
+ if (result.error) {
238
+ const state = (0, lifecycle_1.getLifecycleState)(context);
239
+ if (state)
240
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.eaten', result.error);
241
+ }
242
+ return events;
208
243
  },
209
244
  /**
210
245
  * Report phase - generates all events after successful execution
@@ -224,6 +259,9 @@ exports.eatingAction = {
224
259
  params: { item: item ? (0, utils_1.nounPhraseFor)(item) : { name: sharedData.eventData?.itemName ?? '' } },
225
260
  ...sharedData.eventData
226
261
  }));
262
+ const state = (0, lifecycle_1.getLifecycleState)(context);
263
+ if (state)
264
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.eaten');
227
265
  return events;
228
266
  },
229
267
  group: "interaction"
@@ -1 +1 @@
1
- {"version":3,"file":"eating.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/eating/eating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eating.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/eating/eating.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,22 @@
4
4
  * This action handles entering objects that have the ENTRY trait or
5
5
  * are containers/supporters marked as enterable.
6
6
  *
7
- * Uses four-phase pattern with interceptor support (ADR-118):
8
- * 1. validate: preValidate hook standard checks postValidate hook
9
- * 2. execute: standard mutation postExecute hook
10
- * 3. blocked: onBlocked hook (if validation failed)
11
- * 4. report: standard events → postReport hook (additional effects)
7
+ * Uses four-phase pattern:
8
+ * 1. validate: Check target exists and can be entered
9
+ * 2. execute: Move the actor into the target
10
+ * 3. blocked: Generate error events when validation fails
11
+ * 4. report: Generate success events
12
+ *
13
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
14
+ * engine (ADR-228) via `enteringLifecycle` — no hand-rolled hook plumbing.
12
15
  */
13
16
  import { Action } from '../../enhanced-types';
17
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
18
+ /**
19
+ * Interceptor surface (ADR-228): the entered target is the only
20
+ * consultable entity of an ENTER command.
21
+ */
22
+ export declare const enteringLifecycle: ActionLifecycleDescriptor;
14
23
  import { ActionMetadata } from '../../../validation';
15
24
  export declare const enteringAction: Action & {
16
25
  metadata: ActionMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"entering.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/entering/entering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAuC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA8N/D,CAAC"}
1
+ {"version":3,"file":"entering.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/entering/entering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAW/E,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,yBAS/B,CAAC;AAoBF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAgL/D,CAAC"}