@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
@@ -8,52 +8,51 @@
8
8
  * 3. report: Generate success events with item and container snapshots
9
9
  * 4. blocked: Generate error events when validation fails
10
10
  *
11
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
12
+ * engine (ADR-228): `takingLifecycle` declares the interceptor surface and
13
+ * the engine owns hook order, veto semantics, and multi-object per-item
14
+ * lifecycles. This file contains no hand-rolled hook plumbing.
15
+ *
11
16
  * Supports multi-object commands:
12
17
  * - "take all" - takes all portable reachable items
13
18
  * - "take all but X" - takes all except specified items
14
19
  * - "take X and Y" - takes multiple specified items
15
20
  */
16
21
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.takingAction = void 0;
22
+ exports.takingAction = exports.takingLifecycle = void 0;
18
23
  const world_model_1 = require("@sharpee/world-model");
19
24
  const constants_1 = require("../../constants");
20
25
  const types_1 = require("../../../scope/types");
21
26
  const taking_messages_1 = require("./taking-messages");
22
27
  const utils_1 = require("../../../utils");
28
+ const lifecycle_1 = require("../../lifecycle");
23
29
  // Import type guards and typed interfaces
24
30
  const taking_types_1 = require("./taking-types");
25
31
  // Import multi-object helpers
26
32
  const multi_object_handler_1 = require("../../../helpers/multi-object-handler");
33
+ /**
34
+ * Interceptor surface (ADR-228): the taken item is the only consultable
35
+ * entity of a TAKE command.
36
+ */
37
+ exports.takingLifecycle = {
38
+ actionId: constants_1.IFActions.TAKING,
39
+ slots: [
40
+ {
41
+ id: 'item',
42
+ actionIds: [constants_1.IFActions.TAKING],
43
+ resolve: (ctx) => ctx.command.directObject?.entity
44
+ }
45
+ ]
46
+ };
27
47
  // ============================================================================
28
48
  // Helper Functions (standalone to avoid `this` issues in object literal)
29
49
  // ============================================================================
30
50
  /**
31
- * Validate taking a single entity
51
+ * Standard validation for taking a single entity (no interceptor logic —
52
+ * the lifecycle engine wraps this with pre/postValidate hooks).
32
53
  */
33
54
  function validateSingleEntity(context, noun) {
34
55
  const actor = context.player;
35
- // Check for interceptor on the target entity (ADR-118)
36
- // This runs first so entity-specific blocks (e.g., white-hot axe) take priority
37
- const interceptorResult = context.world.getInterceptorForAction(noun, constants_1.IFActions.TAKING);
38
- if (interceptorResult) {
39
- const { interceptor } = interceptorResult;
40
- const interceptorData = {};
41
- // Store interceptor in sharedData for later phases
42
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
43
- sharedData._interceptor = interceptor;
44
- sharedData._interceptorData = interceptorData;
45
- // === PRE-VALIDATE HOOK ===
46
- if (interceptor.preValidate) {
47
- const result = interceptor.preValidate(noun, context.world, actor.id, interceptorData);
48
- if (result !== null && !result.valid) {
49
- return {
50
- valid: false,
51
- error: result.error,
52
- params: result.params
53
- };
54
- }
55
- }
56
- }
57
56
  // Check scope - must be able to reach the item
58
57
  const scopeCheck = context.requireScope(noun, types_1.ScopeLevel.REACHABLE);
59
58
  if (!scopeCheck.ok) {
@@ -89,21 +88,6 @@ function validateSingleEntity(context, noun) {
89
88
  params: { item: (0, utils_1.nounPhraseFor)(noun) }
90
89
  };
91
90
  }
92
- // === POST-VALIDATE HOOK ===
93
- if (interceptorResult) {
94
- const interceptor = (0, taking_types_1.getTakingSharedData)(context)._interceptor;
95
- const interceptorData = (0, taking_types_1.getTakingSharedData)(context)._interceptorData ?? {};
96
- if (interceptor?.postValidate) {
97
- const result = interceptor.postValidate(noun, context.world, actor.id, interceptorData);
98
- if (result !== null && !result.valid) {
99
- return {
100
- valid: false,
101
- error: result.error,
102
- params: result.params
103
- };
104
- }
105
- }
106
- }
107
91
  // Use ActorBehavior to validate capacity constraints
108
92
  if (!world_model_1.ActorBehavior.canTakeItem(actor, noun, context.world)) {
109
93
  // Check if it's a container capacity issue
@@ -144,62 +128,22 @@ function validateSingleEntity(context, noun) {
144
128
  return { valid: true };
145
129
  }
146
130
  /**
147
- * Validate a multi-object command (take all, take X and Y)
148
- */
149
- function validateMultiObject(context) {
150
- const playerId = context.player.id;
151
- const items = (0, multi_object_handler_1.expandMultiObject)(context, {
152
- scope: 'reachable',
153
- // Filter out items already carried by the player
154
- filter: (entity, world) => world.getLocation(entity.id) !== playerId
155
- });
156
- if (items.length === 0) {
157
- return { valid: false, error: taking_messages_1.TakingMessages.NOTHING_TO_TAKE };
158
- }
159
- // Validate each entity, store results
160
- const results = items.map(item => {
161
- const validation = validateSingleEntity(context, item.entity);
162
- // validateSingleEntity stores the item's interceptor in the shared
163
- // fields (single-object contract) — move it onto THIS result so each
164
- // item's execute/report hooks fire with its own phase data (ADR-118).
165
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
166
- const result = {
167
- entity: item.entity,
168
- success: validation.valid,
169
- error: validation.valid ? undefined : validation.error,
170
- interceptor: sharedData._interceptor,
171
- interceptorData: sharedData._interceptorData
172
- };
173
- delete sharedData._interceptor;
174
- delete sharedData._interceptorData;
175
- return result;
176
- });
177
- // Store results for execute/report phases
178
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
179
- sharedData.multiObjectResults = results;
180
- // Valid if at least one can be taken
181
- const anySuccess = results.some(r => r.success);
182
- if (!anySuccess) {
183
- // All failed - return the first error
184
- return { valid: false, error: results[0].error };
185
- }
186
- return { valid: true };
187
- }
188
- /**
189
- * Execute taking a single entity
131
+ * Execute taking a single entity. Mutation results (previous location,
132
+ * implicit worn-removal) are written into `scratch` — the single-object
133
+ * sharedData or the item's multi-object itemData.
190
134
  */
191
- function executeSingleEntity(context, noun, result) {
135
+ function executeSingleEntity(context, noun, scratch) {
192
136
  const actor = context.player;
193
137
  // Capture context BEFORE any mutations
194
138
  const previousLocation = context.world.getLocation(noun.id);
195
- result.previousLocation = previousLocation;
139
+ scratch.previousLocation = previousLocation;
196
140
  // Check if item is worn and needs to be removed first
197
141
  if (noun.has(world_model_1.TraitType.WEARABLE)) {
198
142
  const wearableTrait = noun.get(world_model_1.TraitType.WEARABLE);
199
143
  if ((0, taking_types_1.isWearableTrait)(wearableTrait) && (wearableTrait.isWorn ?? wearableTrait.worn)) {
200
144
  // Mark that we implicitly removed a worn item
201
- result.implicitlyRemoved = true;
202
- result.wasWorn = true;
145
+ scratch.implicitlyRemoved = true;
146
+ scratch.wasWorn = true;
203
147
  // Get the wearer (the one who has the item currently)
204
148
  const wearer = previousLocation ? context.world.getEntity(previousLocation) : null;
205
149
  // Remove the worn status
@@ -222,11 +166,11 @@ function executeSingleEntity(context, noun, result) {
222
166
  * Uses simplified event pattern (ADR-097): domain event carries messageId directly.
223
167
  * Text-service looks up message from domain event - no separate action.success needed.
224
168
  */
225
- function reportSingleSuccess(context, noun, result, events, isMultiObject = false) {
169
+ function reportSingleSuccess(context, noun, scratch, events, isMultiObject = false) {
226
170
  const actor = context.player;
227
171
  // Check if we implicitly removed a worn item
228
- if (result.implicitlyRemoved) {
229
- const previousLocation = result.previousLocation;
172
+ if (scratch.implicitlyRemoved) {
173
+ const previousLocation = scratch.previousLocation;
230
174
  const container = previousLocation ? context.world.getEntity(previousLocation) : null;
231
175
  events.push(context.event('if.event.removed', {
232
176
  implicit: true,
@@ -235,7 +179,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
235
179
  }));
236
180
  }
237
181
  // Determine if taken from a container/supporter
238
- const previousLocation = result.previousLocation;
182
+ const previousLocation = scratch.previousLocation;
239
183
  const isFromContainerOrSupporter = previousLocation &&
240
184
  previousLocation !== context.world.getLocation(actor.id);
241
185
  // Get container name for message
@@ -259,7 +203,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
259
203
  itemId: noun.id,
260
204
  actor: actor.name,
261
205
  actorId: actor.id,
262
- previousLocation: result.previousLocation,
206
+ previousLocation: scratch.previousLocation,
263
207
  container: containerEntity ? (0, utils_1.nounPhraseFor)(containerEntity) : ''
264
208
  };
265
209
  // Emit domain event with messageId (simplified pattern - ADR-097).
@@ -272,7 +216,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
272
216
  itemId: noun.id,
273
217
  actor: actor.name,
274
218
  actorId: actor.id,
275
- previousLocation: result.previousLocation,
219
+ previousLocation: scratch.previousLocation,
276
220
  container: containerEntity?.name || ''
277
221
  }));
278
222
  }
@@ -319,76 +263,78 @@ exports.takingAction = {
319
263
  directObjectScope: types_1.ScopeLevel.REACHABLE
320
264
  },
321
265
  validate(context) {
322
- // Check for multi-object command
266
+ // Check for multi-object command — full per-item lifecycle (ADR-228 D4)
323
267
  if ((0, multi_object_handler_1.isMultiObjectCommand)(context)) {
324
- return validateMultiObject(context);
268
+ const playerId = context.player.id;
269
+ const items = (0, multi_object_handler_1.expandMultiObject)(context, {
270
+ scope: 'reachable',
271
+ // Filter out items already carried by the player
272
+ filter: (entity, world) => world.getLocation(entity.id) !== playerId
273
+ }).map(i => i.entity);
274
+ if (items.length === 0) {
275
+ return { valid: false, error: taking_messages_1.TakingMessages.NOTHING_TO_TAKE };
276
+ }
277
+ const results = (0, lifecycle_1.runMultiObjectValidate)(context, exports.takingLifecycle, 'item', items, (ctx, item) => validateSingleEntity(ctx, item));
278
+ // Valid if at least one can be taken; all-fail returns the first error
279
+ if (!results.some(r => r.success)) {
280
+ return { valid: false, error: results[0].error, params: results[0].errorParams };
281
+ }
282
+ return { valid: true };
325
283
  }
326
284
  // Single object validation
327
285
  const noun = context.command.directObject?.entity;
328
286
  if (!noun) {
329
287
  return { valid: false, error: taking_messages_1.TakingMessages.NO_TARGET };
330
288
  }
331
- return validateSingleEntity(context, noun);
289
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.takingLifecycle);
290
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
291
+ if (preVeto)
292
+ return preVeto;
293
+ const standard = validateSingleEntity(context, noun);
294
+ if (!standard.valid)
295
+ return standard;
296
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
297
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
298
+ if (postVeto)
299
+ return postVeto;
300
+ return { valid: true };
332
301
  },
333
302
  execute(context) {
334
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
335
- // Check for multi-object command
336
- if (sharedData.multiObjectResults) {
337
- // Execute for each successful validation
338
- for (const result of sharedData.multiObjectResults) {
339
- if (result.success) {
340
- executeSingleEntity(context, result.entity, result);
341
- // === POST-EXECUTE HOOK (per item, ADR-118) ===
342
- if (result.interceptor?.postExecute) {
343
- result.interceptor.postExecute(result.entity, context.world, context.player.id, result.interceptorData ?? {});
344
- }
345
- }
346
- }
303
+ // Multi-object command: per-item execute + postExecute hooks (D4)
304
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
305
+ if (multi) {
306
+ (0, lifecycle_1.runMultiObjectExecute)(context, multi, (ctx, item, itemData) => {
307
+ executeSingleEntity(ctx, item, itemData);
308
+ });
347
309
  return;
348
310
  }
349
311
  // Single object execution
350
312
  const noun = context.command.directObject.entity;
351
- executeSingleEntity(context, noun, sharedData);
352
- // === POST-EXECUTE HOOK (ADR-118) ===
353
- if (sharedData._interceptor?.postExecute) {
354
- sharedData._interceptor.postExecute(noun, context.world, context.player.id, sharedData._interceptorData ?? {});
355
- }
313
+ executeSingleEntity(context, noun, (0, taking_types_1.getTakingSharedData)(context));
314
+ const state = (0, lifecycle_1.getLifecycleState)(context);
315
+ if (state)
316
+ (0, lifecycle_1.runPostExecute)(context, state);
356
317
  },
357
318
  report(context) {
358
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
359
319
  const events = [];
360
- // Check for multi-object command
361
- if (sharedData.multiObjectResults) {
362
- // Generate events for each item (success and failure)
320
+ // Multi-object command: per-item success/blocked events + hooks (D4)
321
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
322
+ if (multi) {
363
323
  // Use compact format when multiple items
364
- const isMultiObject = sharedData.multiObjectResults.length > 1;
365
- for (const result of sharedData.multiObjectResults) {
366
- if (result.success) {
367
- reportSingleSuccess(context, result.entity, result, events, isMultiObject);
368
- // === POST-REPORT HOOK (per item, ADR-118) ===
369
- if (result.interceptor?.postReport) {
370
- const reportResult = result.interceptor.postReport(result.entity, context.world, context.player.id, result.interceptorData ?? {});
371
- if (reportResult) {
372
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.taken', reportResult, context);
373
- }
374
- }
375
- }
376
- else {
377
- reportSingleBlocked(context, result.entity, result.error, events);
378
- }
379
- }
324
+ const isMultiObject = multi.length > 1;
325
+ (0, lifecycle_1.runMultiObjectReport)(context, multi, events, 'if.event.taken', 'if.event.take_blocked', (ctx, item, itemData, evts) => {
326
+ reportSingleSuccess(ctx, item, itemData, evts, isMultiObject);
327
+ }, (ctx, item, error, _errorParams, evts) => {
328
+ reportSingleBlocked(ctx, item, error, evts);
329
+ });
380
330
  return events;
381
331
  }
382
332
  // Single object report
383
333
  const noun = context.command.directObject.entity;
384
- reportSingleSuccess(context, noun, sharedData, events, false);
385
- // === POST-REPORT HOOK (ADR-118) ===
386
- if (sharedData._interceptor?.postReport) {
387
- const reportResult = sharedData._interceptor.postReport(noun, context.world, context.player.id, sharedData._interceptorData ?? {});
388
- if (reportResult) {
389
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.taken', reportResult, context);
390
- }
391
- }
334
+ reportSingleSuccess(context, noun, (0, taking_types_1.getTakingSharedData)(context), events, false);
335
+ const state = (0, lifecycle_1.getLifecycleState)(context);
336
+ if (state)
337
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.taken');
392
338
  return events;
393
339
  },
394
340
  blocked(context, result) {
@@ -411,13 +357,21 @@ exports.takingAction = {
411
357
  itemId: noun?.id,
412
358
  reason: result.error
413
359
  })];
414
- // === ON-BLOCKED HOOK (ADR-118, interceptor-wiring audit 2026-07-12) ===
415
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
416
- if (sharedData._interceptor?.onBlocked && noun && result.error) {
417
- const customEffects = sharedData._interceptor.onBlocked(noun, context.world, context.player.id, result.error, sharedData._interceptorData ?? {});
418
- if (customEffects) {
419
- for (const effect of customEffects) {
420
- events.push(context.event(effect.type, effect.payload));
360
+ if (result.error) {
361
+ const state = (0, lifecycle_1.getLifecycleState)(context);
362
+ if (state) {
363
+ // Single-object path: notify all consultations (ADR-228 D2/D3)
364
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.take_blocked', result.error);
365
+ }
366
+ else {
367
+ // Multi-object all-fail path: the blocked event carries the FIRST
368
+ // failed item's error, so only that item's consultations are
369
+ // notified here — the other items produced no events for hooks to
370
+ // decorate. (Partial failures are handled per item in report().)
371
+ const multi = (0, lifecycle_1.getMultiObjectLifecycle)(context);
372
+ const first = multi?.[0];
373
+ if (first && !first.success) {
374
+ (0, lifecycle_1.runOnBlocked)(context, first.state, events, 'if.event.take_blocked', first.error ?? result.error);
421
375
  }
422
376
  }
423
377
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taking.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAKH,sDAAyO;AACzO,+CAA4C;AAC5C,gDAAkD;AAClD,uDAAmD;AACnD,0CAA+C;AAE/C,0CAA0C;AAC1C,iDAMwB;AAExB,8BAA8B;AAC9B,gFAAgG;AAEhG,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAE/E;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAsB,EAAE,IAAc;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7B,uDAAuD;IACvD,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC;IACxF,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC;QAC1C,MAAM,eAAe,GAA0B,EAAE,CAAC;QAElD,mDAAmD;QACnD,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAChD,UAAU,CAAC,YAAY,GAAG,WAAW,CAAC;QACtC,UAAU,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAE9C,4BAA4B;QAC5B,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YACvF,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAU,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC,KAAM,CAAC;IAC3B,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAc,CAAC,cAAc,EAAE,CAAC;IAChE,CAAC;IAED,oCAAoC;IACpC,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,eAAe,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;QACjC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gCAAc,CAAC,YAAY;YAClC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gCAAc,CAAC,cAAc;YACpC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,6BAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,aAAa,IAAI,gCAAc,CAAC,cAAc;YACrD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC,YAAY,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC5E,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;YACxF,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC,2BAAa,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,2CAA2C;QAC3C,IAAI,KAAK,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,IAAA,+BAAgB,EAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,yBAAyB;gBACzB,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;wBACjD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC/C,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,QAAQ,CAAC,CAAC;wBACnD,OAAO,CAAC,IAAA,8BAAe,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC1F,CAAC,CAAC,CAAC,MAAM,CAAC;oBACV,IAAI,YAAY,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACrD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAc,CAAC,cAAc,EAAE,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACpD,MAAM,aAAa,GAAG,+BAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7E,MAAM,UAAU,GAAG,8BAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;wBACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAc,CAAC,SAAS,EAAE,CAAC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gCAAc,CAAC,WAAW;YACjC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;SACtC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAsB;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAA,wCAAiB,EAAC,OAAO,EAAE;QACvC,KAAK,EAAE,WAAW;QAClB,iDAAiD;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,QAAQ;KACrE,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAc,CAAC,eAAe,EAAE,CAAC;IACjE,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAuB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACnD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAqB;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;YACtD,WAAW,EAAE,UAAU,CAAC,YAAY;YACpC,eAAe,EAAE,UAAU,CAAC,gBAAgB;SAC7C,CAAC;QACF,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAChD,UAAU,CAAC,kBAAkB,GAAG,OAAO,CAAC;IAExC,qCAAqC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,sCAAsC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,IAAc,EACd,MAA2C;IAE3C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7B,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAE3C,sDAAsD;IACtD,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,IAAA,8BAAe,EAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACnF,8CAA8C;YAC9C,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,sDAAsD;YACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,yBAAyB;YACzB,IAAI,MAAM,EAAE,CAAC;gBACX,8BAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAE5C,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,2BAAa,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,UAAU,CACtB,IAAI,CAAC,EAAE,EACP,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,IAAc,EACd,MAA2C,EAC3C,MAAwB,EACxB,gBAAyB,KAAK;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7B,6CAA6C;IAC7C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC5C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,SAAS,EAAE,IAAI;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACjD,MAAM,0BAA0B,GAAG,gBAAgB;QACjD,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3D,iCAAiC;IACjC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5F,wCAAwC;IACxC,IAAI,UAAkB,CAAC;IACvB,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,GAAG,gCAAc,CAAC,WAAW,CAAC;IAC1C,CAAC;SAAM,IAAI,0BAA0B,EAAE,CAAC;QACtC,UAAU,GAAG,gCAAc,CAAC,UAAU,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,gCAAc,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,qEAAqE;IACrE,uEAAuE;IACvE,eAAe;IACf,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;KACjE,CAAC;IAEF,mEAAmE;IACnE,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;QAC1C,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,EAAE;QAC/C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS,EAAE,eAAe,EAAE,IAAI,IAAI,EAAE;KACvC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,IAAc,EACd,KAAa,EACb,MAAwB;IAExB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACjD,gEAAgE;QAChE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;QACrC,qCAAqC;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAElE,QAAA,YAAY,GAA0C;IACjE,EAAE,EAAE,qBAAS,CAAC,MAAM;IAEpB,qDAAqD;IACrD,YAAY,EAAE;QACZ,MAAM,EAAE,kBAAU,CAAC,SAAS;KAC7B;IAED,gBAAgB,EAAE;QAChB,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,OAAO;QACP,YAAY;QACZ,iBAAiB;KAClB;IAED,QAAQ,EAAE;QACR,oBAAoB,EAAE,IAAI;QAC1B,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,kBAAU,CAAC,SAAS;KACxC;IAED,QAAQ,CAAC,OAAsB;QAC7B,iCAAiC;QACjC,IAAI,IAAA,2CAAoB,EAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAc,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,OAAsB;QAC5B,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAEhD,iCAAiC;QACjC,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClC,yCAAyC;YACzC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACpD,gDAAgD;oBAChD,IAAI,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;wBACpC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;oBAChH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAa,CAAC,MAAO,CAAC;QACnD,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE/C,sCAAsC;QACtC,IAAI,UAAU,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,iCAAiC;QACjC,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClC,sDAAsD;YACtD,yCAAyC;YACzC,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBAC3E,+CAA+C;oBAC/C,IAAI,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;wBACnC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;wBAClI,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAA,0CAA4B,EAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBAChF,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAM,EAAE,MAAM,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAa,CAAC,MAAO,CAAC;QACnD,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9D,qCAAqC;QACrC,IAAI,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YACnI,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAA,0CAA4B,EAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAsB,EAAE,MAAwB;QACtD,4CAA4C;QAC5C,0CAA0C;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAElD,gEAAgE;QAChE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;QAEhF,MAAM,MAAM,GAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACvE,gEAAgE;gBAChE,SAAS;gBACT,MAAM,EAAE;oBACN,GAAG,MAAM,CAAC,MAAM;oBAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC7C;gBACD,qCAAqC;gBACrC,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChB,MAAM,EAAE,MAAM,CAAC,KAAK;aACrB,CAAC,CAAC,CAAC;QAEJ,yEAAyE;QACzE,MAAM,UAAU,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,YAAY,EAAE,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CACrD,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE,CACxF,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,EAAE,qBAAqB;CAC7B,CAAC"}
1
+ {"version":3,"file":"taking.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,12 @@
12
12
  */
13
13
  import { Action } from '../../enhanced-types';
14
14
  import { ActionMetadata } from '../../../validation';
15
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
16
+ /**
17
+ * Interceptor surface (ADR-228): the worn item is the only consultable
18
+ * entity of a TAKE OFF command.
19
+ */
20
+ export declare const takingOffLifecycle: ActionLifecycleDescriptor;
15
21
  export declare const takingOffAction: Action & {
16
22
  metadata: ActionMetadata;
17
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"taking-off.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking_off/taking-off.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmCrD,eAAO,MAAM,eAAe,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAuKhE,CAAC"}
1
+ {"version":3,"file":"taking-off.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking_off/taking-off.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAarD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,yBAShC,CAAC;AAuBF,eAAO,MAAM,eAAe,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA8LhE,CAAC"}
@@ -12,12 +12,27 @@
12
12
  * 4. report: Generate success events from sharedData
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.takingOffAction = void 0;
15
+ exports.takingOffAction = exports.takingOffLifecycle = void 0;
16
16
  const world_model_1 = require("@sharpee/world-model");
17
17
  const constants_1 = require("../../constants");
18
18
  const scope_1 = require("../../../scope");
19
19
  const utils_1 = require("../../../utils");
20
20
  const wearable_shared_1 = require("../wearable-shared");
21
+ const lifecycle_1 = require("../../lifecycle");
22
+ /**
23
+ * Interceptor surface (ADR-228): the worn item is the only consultable
24
+ * entity of a TAKE OFF command.
25
+ */
26
+ exports.takingOffLifecycle = {
27
+ actionId: constants_1.IFActions.TAKING_OFF,
28
+ slots: [
29
+ {
30
+ id: 'item',
31
+ actionIds: [constants_1.IFActions.TAKING_OFF],
32
+ resolve: (ctx) => ctx.command.directObject?.entity
33
+ }
34
+ ]
35
+ };
21
36
  function getTakingOffSharedData(context) {
22
37
  return context.sharedData;
23
38
  }
@@ -41,6 +56,10 @@ exports.takingOffAction = {
41
56
  if (!item) {
42
57
  return { valid: false, error: 'no_target' };
43
58
  }
59
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.takingOffLifecycle);
60
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
61
+ if (preVeto)
62
+ return preVeto;
44
63
  if (!item.has(world_model_1.TraitType.WEARABLE)) {
45
64
  return { valid: false, error: 'not_wearing', params: { item: (0, utils_1.nounPhraseFor)(item) } };
46
65
  }
@@ -54,6 +73,21 @@ exports.takingOffAction = {
54
73
  }
55
74
  return { valid: false, error: 'cant_remove', params: { item: (0, utils_1.nounPhraseFor)(item) } };
56
75
  }
76
+ // Folded execute-phase refusals (ADR-229 R1): both are pure reads, so
77
+ // they run as standard validation and their failures flow through
78
+ // blocked() → onBlocked like every other refusal.
79
+ const wearableContext = (0, wearable_shared_1.analyzeWearableContext)(context, item, actor);
80
+ const blockingItem = (0, wearable_shared_1.checkRemovalBlockers)(wearableContext);
81
+ if (blockingItem) {
82
+ return { valid: false, error: 'prevents_removal', params: { blocking: (0, utils_1.nounPhraseFor)(blockingItem) } };
83
+ }
84
+ if ((0, wearable_shared_1.hasRemovalRestrictions)(wearableContext.wearableTrait)) {
85
+ return { valid: false, error: 'cant_remove', params: { item: (0, utils_1.nounPhraseFor)(item) } };
86
+ }
87
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
88
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
89
+ if (postVeto)
90
+ return postVeto;
57
91
  return { valid: true };
58
92
  },
59
93
  execute(context) {
@@ -69,24 +103,9 @@ exports.takingOffAction = {
69
103
  // Store body part and layer
70
104
  sharedData.bodyPart = wearableTrait.bodyPart;
71
105
  sharedData.layer = wearableTrait.layer;
72
- // Check for layering conflicts using shared helper
73
- const blockingItem = (0, wearable_shared_1.checkRemovalBlockers)(wearableContext);
74
- if (blockingItem) {
75
- sharedData.failed = true;
76
- sharedData.errorMessageId = 'prevents_removal';
77
- sharedData.errorReason = 'prevents_removal';
78
- sharedData.errorParams = { blocking: (0, utils_1.nounPhraseFor)(blockingItem) };
79
- return;
80
- }
81
- // Check if removing this would cause problems (e.g., cursed items).
82
- // params carry EntityInfo for the formatter chain (ADR-158).
83
- if ((0, wearable_shared_1.hasRemovalRestrictions)(wearableTrait)) {
84
- sharedData.failed = true;
85
- sharedData.errorMessageId = 'cant_remove';
86
- sharedData.errorReason = 'cant_remove';
87
- sharedData.errorParams = { item: (0, utils_1.nounPhraseFor)(item) };
88
- return;
89
- }
106
+ // Layering blockers and removal restrictions are validate-phase
107
+ // refusals now (ADR-229 R1) — execute only keeps the behavior-result
108
+ // defensive branch below as the true safety net.
90
109
  // Delegate state change to behavior
91
110
  const result = world_model_1.WearableBehavior.remove(item, actor);
92
111
  // Handle failure cases (defensive checks)
@@ -113,6 +132,13 @@ exports.takingOffAction = {
113
132
  sharedData.failed = false;
114
133
  sharedData.params = (0, wearable_shared_1.buildWearableEventParams)(item, wearableTrait);
115
134
  sharedData.messageId = 'removed';
135
+ // Interceptor lifecycle (ADR-228): postExecute runs after the successful
136
+ // mutation only — the defensive behavior-failure branch above
137
+ // early-returns with sharedData.failed and skips it, matching the
138
+ // switching_on precedent.
139
+ const state = (0, lifecycle_1.getLifecycleState)(context);
140
+ if (state)
141
+ (0, lifecycle_1.runPostExecute)(context, state);
116
142
  },
117
143
  /**
118
144
  * Generate events when validation fails
@@ -121,7 +147,7 @@ exports.takingOffAction = {
121
147
  */
122
148
  blocked(context, result) {
123
149
  const item = context.command.directObject?.entity;
124
- return [context.event('if.event.take_off_blocked', {
150
+ const events = [context.event('if.event.take_off_blocked', {
125
151
  // Rendering data
126
152
  messageId: `${context.action.id}.${result.error}`,
127
153
  params: result.params || {},
@@ -130,6 +156,12 @@ exports.takingOffAction = {
130
156
  itemName: item?.name,
131
157
  reason: result.error
132
158
  })];
159
+ if (result.error) {
160
+ const state = (0, lifecycle_1.getLifecycleState)(context);
161
+ if (state)
162
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.take_off_blocked', result.error);
163
+ }
164
+ return events;
133
165
  },
134
166
  /**
135
167
  * Report phase - generates events after successful execution
@@ -149,7 +181,7 @@ exports.takingOffAction = {
149
181
  })];
150
182
  }
151
183
  // Emit domain event with messageId (simplified pattern - ADR-097)
152
- return [
184
+ const events = [
153
185
  context.event('if.event.removed', {
154
186
  // Rendering data (messageId + params for text-service)
155
187
  messageId: `${context.action.id}.${sharedData.messageId}`,
@@ -162,6 +194,10 @@ exports.takingOffAction = {
162
194
  layer: sharedData.layer
163
195
  })
164
196
  ];
197
+ const state = (0, lifecycle_1.getLifecycleState)(context);
198
+ if (state)
199
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.removed');
200
+ return events;
165
201
  },
166
202
  metadata: {
167
203
  requiresDirectObject: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taking-off.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking_off/taking-off.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taking-off.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking_off/taking-off.ts"],"names":[],"mappings":"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"}