@sharpee/stdlib 2.2.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 (299) 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 -31
  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 +39 -3
  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 +134 -140
  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/looking/index.d.ts +1 -0
  143. package/actions/standard/looking/index.d.ts.map +1 -1
  144. package/actions/standard/looking/index.js +5 -1
  145. package/actions/standard/looking/index.js.map +1 -1
  146. package/actions/standard/looking/snippet-gate-registry.d.ts +55 -0
  147. package/actions/standard/looking/snippet-gate-registry.d.ts.map +1 -0
  148. package/actions/standard/looking/snippet-gate-registry.js +63 -0
  149. package/actions/standard/looking/snippet-gate-registry.js.map +1 -0
  150. package/actions/standard/looking/snippet-resolver.d.ts +9 -3
  151. package/actions/standard/looking/snippet-resolver.d.ts.map +1 -1
  152. package/actions/standard/looking/snippet-resolver.js +75 -4
  153. package/actions/standard/looking/snippet-resolver.js.map +1 -1
  154. package/actions/standard/opening/opening-messages.d.ts +3 -0
  155. package/actions/standard/opening/opening-messages.d.ts.map +1 -1
  156. package/actions/standard/opening/opening-messages.js +4 -0
  157. package/actions/standard/opening/opening-messages.js.map +1 -1
  158. package/actions/standard/opening/opening.d.ts +8 -0
  159. package/actions/standard/opening/opening.d.ts.map +1 -1
  160. package/actions/standard/opening/opening.js +73 -39
  161. package/actions/standard/opening/opening.js.map +1 -1
  162. package/actions/standard/pulling/pulling.d.ts +9 -0
  163. package/actions/standard/pulling/pulling.d.ts.map +1 -1
  164. package/actions/standard/pulling/pulling.js +40 -2
  165. package/actions/standard/pulling/pulling.js.map +1 -1
  166. package/actions/standard/pushing/pushing-types.d.ts +3 -6
  167. package/actions/standard/pushing/pushing-types.d.ts.map +1 -1
  168. package/actions/standard/pushing/pushing-types.js +3 -1
  169. package/actions/standard/pushing/pushing-types.js.map +1 -1
  170. package/actions/standard/pushing/pushing.d.ts +14 -5
  171. package/actions/standard/pushing/pushing.d.ts.map +1 -1
  172. package/actions/standard/pushing/pushing.js +51 -71
  173. package/actions/standard/pushing/pushing.js.map +1 -1
  174. package/actions/standard/putting/putting-types.d.ts +10 -21
  175. package/actions/standard/putting/putting-types.d.ts.map +1 -1
  176. package/actions/standard/putting/putting-types.js +0 -1
  177. package/actions/standard/putting/putting-types.js.map +1 -1
  178. package/actions/standard/putting/putting.d.ts +10 -0
  179. package/actions/standard/putting/putting.d.ts.map +1 -1
  180. package/actions/standard/putting/putting.js +133 -151
  181. package/actions/standard/putting/putting.js.map +1 -1
  182. package/actions/standard/reading/reading.d.ts +6 -0
  183. package/actions/standard/reading/reading.d.ts.map +1 -1
  184. package/actions/standard/reading/reading.js +39 -3
  185. package/actions/standard/reading/reading.js.map +1 -1
  186. package/actions/standard/removing/removing-types.d.ts +10 -16
  187. package/actions/standard/removing/removing-types.d.ts.map +1 -1
  188. package/actions/standard/removing/removing-types.js.map +1 -1
  189. package/actions/standard/removing/removing.d.ts +13 -0
  190. package/actions/standard/removing/removing.d.ts.map +1 -1
  191. package/actions/standard/removing/removing.js +147 -88
  192. package/actions/standard/removing/removing.js.map +1 -1
  193. package/actions/standard/searching/searching.d.ts +10 -0
  194. package/actions/standard/searching/searching.d.ts.map +1 -1
  195. package/actions/standard/searching/searching.js +44 -8
  196. package/actions/standard/searching/searching.js.map +1 -1
  197. package/actions/standard/showing/showing.d.ts +14 -0
  198. package/actions/standard/showing/showing.d.ts.map +1 -1
  199. package/actions/standard/showing/showing.js +62 -2
  200. package/actions/standard/showing/showing.js.map +1 -1
  201. package/actions/standard/smelling/smelling.d.ts +10 -0
  202. package/actions/standard/smelling/smelling.d.ts.map +1 -1
  203. package/actions/standard/smelling/smelling.js +41 -2
  204. package/actions/standard/smelling/smelling.js.map +1 -1
  205. package/actions/standard/switching_off/switching_off.d.ts +11 -1
  206. package/actions/standard/switching_off/switching_off.d.ts.map +1 -1
  207. package/actions/standard/switching_off/switching_off.js +44 -4
  208. package/actions/standard/switching_off/switching_off.js.map +1 -1
  209. package/actions/standard/switching_on/switching_on.d.ts +14 -5
  210. package/actions/standard/switching_on/switching_on.d.ts.map +1 -1
  211. package/actions/standard/switching_on/switching_on.js +45 -57
  212. package/actions/standard/switching_on/switching_on.js.map +1 -1
  213. package/actions/standard/taking/taking-types.d.ts +14 -32
  214. package/actions/standard/taking/taking-types.d.ts.map +1 -1
  215. package/actions/standard/taking/taking-types.js.map +1 -1
  216. package/actions/standard/taking/taking.d.ts +11 -0
  217. package/actions/standard/taking/taking.d.ts.map +1 -1
  218. package/actions/standard/taking/taking.js +107 -111
  219. package/actions/standard/taking/taking.js.map +1 -1
  220. package/actions/standard/taking_off/taking-off.d.ts +6 -0
  221. package/actions/standard/taking_off/taking-off.d.ts.map +1 -1
  222. package/actions/standard/taking_off/taking-off.js +57 -21
  223. package/actions/standard/taking_off/taking-off.js.map +1 -1
  224. package/actions/standard/talking/talking.d.ts +15 -0
  225. package/actions/standard/talking/talking.d.ts.map +1 -1
  226. package/actions/standard/talking/talking.js +52 -3
  227. package/actions/standard/talking/talking.js.map +1 -1
  228. package/actions/standard/telling/index.d.ts +5 -0
  229. package/actions/standard/telling/index.d.ts.map +1 -0
  230. package/actions/standard/telling/index.js +10 -0
  231. package/actions/standard/telling/index.js.map +1 -0
  232. package/actions/standard/telling/telling.d.ts +25 -0
  233. package/actions/standard/telling/telling.d.ts.map +1 -0
  234. package/actions/standard/telling/telling.js +114 -0
  235. package/actions/standard/telling/telling.js.map +1 -0
  236. package/actions/standard/throwing/throwing.d.ts +11 -0
  237. package/actions/standard/throwing/throwing.d.ts.map +1 -1
  238. package/actions/standard/throwing/throwing.js +69 -70
  239. package/actions/standard/throwing/throwing.js.map +1 -1
  240. package/actions/standard/tool-shared.d.ts +38 -0
  241. package/actions/standard/tool-shared.d.ts.map +1 -0
  242. package/actions/standard/tool-shared.js +74 -0
  243. package/actions/standard/tool-shared.js.map +1 -0
  244. package/actions/standard/touching/touching.d.ts +9 -0
  245. package/actions/standard/touching/touching.d.ts.map +1 -1
  246. package/actions/standard/touching/touching.js +40 -4
  247. package/actions/standard/touching/touching.js.map +1 -1
  248. package/actions/standard/turning/index.d.ts +5 -0
  249. package/actions/standard/turning/index.d.ts.map +1 -0
  250. package/actions/standard/turning/index.js +9 -0
  251. package/actions/standard/turning/index.js.map +1 -0
  252. package/actions/standard/turning/turning.d.ts +17 -0
  253. package/actions/standard/turning/turning.d.ts.map +1 -0
  254. package/actions/standard/turning/turning.js +25 -0
  255. package/actions/standard/turning/turning.js.map +1 -0
  256. package/actions/standard/unlocking/unlocking.d.ts +9 -0
  257. package/actions/standard/unlocking/unlocking.d.ts.map +1 -1
  258. package/actions/standard/unlocking/unlocking.js +62 -3
  259. package/actions/standard/unlocking/unlocking.js.map +1 -1
  260. package/actions/standard/wearing/wearing.d.ts +11 -1
  261. package/actions/standard/wearing/wearing.d.ts.map +1 -1
  262. package/actions/standard/wearing/wearing.js +57 -12
  263. package/actions/standard/wearing/wearing.js.map +1 -1
  264. package/channels/standard.d.ts +13 -10
  265. package/channels/standard.d.ts.map +1 -1
  266. package/channels/standard.js +14 -10
  267. package/channels/standard.js.map +1 -1
  268. package/death/deadly-room-transformer.d.ts +37 -0
  269. package/death/deadly-room-transformer.d.ts.map +1 -0
  270. package/death/deadly-room-transformer.js +79 -0
  271. package/death/deadly-room-transformer.js.map +1 -0
  272. package/death/index.d.ts +18 -0
  273. package/death/index.d.ts.map +1 -0
  274. package/death/index.js +28 -0
  275. package/death/index.js.map +1 -0
  276. package/death/kill-player.d.ts +49 -0
  277. package/death/kill-player.d.ts.map +1 -0
  278. package/death/kill-player.js +55 -0
  279. package/death/kill-player.js.map +1 -0
  280. package/death/player-death-events.d.ts +40 -0
  281. package/death/player-death-events.d.ts.map +1 -0
  282. package/death/player-death-events.js +27 -0
  283. package/death/player-death-events.js.map +1 -0
  284. package/death/probabilistic-death.d.ts +23 -0
  285. package/death/probabilistic-death.d.ts.map +1 -0
  286. package/death/probabilistic-death.js +27 -0
  287. package/death/probabilistic-death.js.map +1 -0
  288. package/index.d.ts +1 -0
  289. package/index.d.ts.map +1 -1
  290. package/index.js +1 -0
  291. package/index.js.map +1 -1
  292. package/npc/behaviors.d.ts.map +1 -1
  293. package/npc/behaviors.js +9 -8
  294. package/npc/behaviors.js.map +1 -1
  295. package/npc/npc-service.d.ts +8 -0
  296. package/npc/npc-service.d.ts.map +1 -1
  297. package/npc/npc-service.js +19 -18
  298. package/npc/npc-service.js.map +1 -1
  299. 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,53 +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)
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.
148
134
  */
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
- return {
163
- entity: item.entity,
164
- success: validation.valid,
165
- error: validation.valid ? undefined : validation.error
166
- };
167
- });
168
- // Store results for execute/report phases
169
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
170
- sharedData.multiObjectResults = results;
171
- // Valid if at least one can be taken
172
- const anySuccess = results.some(r => r.success);
173
- if (!anySuccess) {
174
- // All failed - return the first error
175
- return { valid: false, error: results[0].error };
176
- }
177
- return { valid: true };
178
- }
179
- /**
180
- * Execute taking a single entity
181
- */
182
- function executeSingleEntity(context, noun, result) {
135
+ function executeSingleEntity(context, noun, scratch) {
183
136
  const actor = context.player;
184
137
  // Capture context BEFORE any mutations
185
138
  const previousLocation = context.world.getLocation(noun.id);
186
- result.previousLocation = previousLocation;
139
+ scratch.previousLocation = previousLocation;
187
140
  // Check if item is worn and needs to be removed first
188
141
  if (noun.has(world_model_1.TraitType.WEARABLE)) {
189
142
  const wearableTrait = noun.get(world_model_1.TraitType.WEARABLE);
190
143
  if ((0, taking_types_1.isWearableTrait)(wearableTrait) && (wearableTrait.isWorn ?? wearableTrait.worn)) {
191
144
  // Mark that we implicitly removed a worn item
192
- result.implicitlyRemoved = true;
193
- result.wasWorn = true;
145
+ scratch.implicitlyRemoved = true;
146
+ scratch.wasWorn = true;
194
147
  // Get the wearer (the one who has the item currently)
195
148
  const wearer = previousLocation ? context.world.getEntity(previousLocation) : null;
196
149
  // Remove the worn status
@@ -213,11 +166,11 @@ function executeSingleEntity(context, noun, result) {
213
166
  * Uses simplified event pattern (ADR-097): domain event carries messageId directly.
214
167
  * Text-service looks up message from domain event - no separate action.success needed.
215
168
  */
216
- function reportSingleSuccess(context, noun, result, events, isMultiObject = false) {
169
+ function reportSingleSuccess(context, noun, scratch, events, isMultiObject = false) {
217
170
  const actor = context.player;
218
171
  // Check if we implicitly removed a worn item
219
- if (result.implicitlyRemoved) {
220
- const previousLocation = result.previousLocation;
172
+ if (scratch.implicitlyRemoved) {
173
+ const previousLocation = scratch.previousLocation;
221
174
  const container = previousLocation ? context.world.getEntity(previousLocation) : null;
222
175
  events.push(context.event('if.event.removed', {
223
176
  implicit: true,
@@ -226,7 +179,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
226
179
  }));
227
180
  }
228
181
  // Determine if taken from a container/supporter
229
- const previousLocation = result.previousLocation;
182
+ const previousLocation = scratch.previousLocation;
230
183
  const isFromContainerOrSupporter = previousLocation &&
231
184
  previousLocation !== context.world.getLocation(actor.id);
232
185
  // Get container name for message
@@ -250,7 +203,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
250
203
  itemId: noun.id,
251
204
  actor: actor.name,
252
205
  actorId: actor.id,
253
- previousLocation: result.previousLocation,
206
+ previousLocation: scratch.previousLocation,
254
207
  container: containerEntity ? (0, utils_1.nounPhraseFor)(containerEntity) : ''
255
208
  };
256
209
  // Emit domain event with messageId (simplified pattern - ADR-097).
@@ -263,7 +216,7 @@ function reportSingleSuccess(context, noun, result, events, isMultiObject = fals
263
216
  itemId: noun.id,
264
217
  actor: actor.name,
265
218
  actorId: actor.id,
266
- previousLocation: result.previousLocation,
219
+ previousLocation: scratch.previousLocation,
267
220
  container: containerEntity?.name || ''
268
221
  }));
269
222
  }
@@ -310,54 +263,78 @@ exports.takingAction = {
310
263
  directObjectScope: types_1.ScopeLevel.REACHABLE
311
264
  },
312
265
  validate(context) {
313
- // Check for multi-object command
266
+ // Check for multi-object command — full per-item lifecycle (ADR-228 D4)
314
267
  if ((0, multi_object_handler_1.isMultiObjectCommand)(context)) {
315
- 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 };
316
283
  }
317
284
  // Single object validation
318
285
  const noun = context.command.directObject?.entity;
319
286
  if (!noun) {
320
287
  return { valid: false, error: taking_messages_1.TakingMessages.NO_TARGET };
321
288
  }
322
- 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 };
323
301
  },
324
302
  execute(context) {
325
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
326
- // Check for multi-object command
327
- if (sharedData.multiObjectResults) {
328
- // Execute for each successful validation
329
- for (const result of sharedData.multiObjectResults) {
330
- if (result.success) {
331
- executeSingleEntity(context, result.entity, result);
332
- }
333
- }
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
+ });
334
309
  return;
335
310
  }
336
311
  // Single object execution
337
312
  const noun = context.command.directObject.entity;
338
- executeSingleEntity(context, noun, sharedData);
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);
339
317
  },
340
318
  report(context) {
341
- const sharedData = (0, taking_types_1.getTakingSharedData)(context);
342
319
  const events = [];
343
- // Check for multi-object command
344
- if (sharedData.multiObjectResults) {
345
- // 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) {
346
323
  // Use compact format when multiple items
347
- const isMultiObject = sharedData.multiObjectResults.length > 1;
348
- for (const result of sharedData.multiObjectResults) {
349
- if (result.success) {
350
- reportSingleSuccess(context, result.entity, result, events, isMultiObject);
351
- }
352
- else {
353
- reportSingleBlocked(context, result.entity, result.error, events);
354
- }
355
- }
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
+ });
356
330
  return events;
357
331
  }
358
332
  // Single object report
359
333
  const noun = context.command.directObject.entity;
360
- reportSingleSuccess(context, noun, sharedData, events, false);
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');
361
338
  return events;
362
339
  },
363
340
  blocked(context, result) {
@@ -368,7 +345,7 @@ exports.takingAction = {
368
345
  // short keys (e.g., 'fixed_in_place') get the action ID prefix
369
346
  const error = result.error || '';
370
347
  const messageId = error.includes('.') ? error : `${context.action.id}.${error}`;
371
- return [context.event('if.event.take_blocked', {
348
+ const events = [context.event('if.event.take_blocked', {
372
349
  // Rendering data — EntityInfo for the formatter chain (ADR-158)
373
350
  messageId,
374
351
  params: {
@@ -380,6 +357,25 @@ exports.takingAction = {
380
357
  itemId: noun?.id,
381
358
  reason: result.error
382
359
  })];
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);
375
+ }
376
+ }
377
+ }
378
+ return events;
383
379
  },
384
380
  group: "object_manipulation"
385
381
  };
@@ -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,sDAA2M;AAC3M,+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,OAAO;YACL,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;SACvD,CAAC;IACJ,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;gBACtD,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;IACjD,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;gBAC7E,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;QAC9D,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,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBAC7C,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;IACN,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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"}
@@ -9,9 +9,24 @@
9
9
  * 2. execute: Analyze conversation state (no world mutations)
10
10
  * 3. blocked: Handle validation failures
11
11
  * 4. report: Emit talked event and success message
12
+ *
13
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
14
+ * engine (ADR-228) via `talkingLifecycle` — no hand-rolled hook plumbing.
12
15
  */
13
16
  import { Action } from '../../enhanced-types';
14
17
  import { ActionMetadata } from '../../../validation';
18
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
19
+ /**
20
+ * Interceptor surface (ADR-228): the person talked to is the only
21
+ * consultable entity of a TALK command.
22
+ *
23
+ * Wiring this closed a live Dungeo dead-registration bug (ADR-118 hook
24
+ * audit): `TrollTalkingInterceptor` — a preValidate veto implementing the
25
+ * MDL-canon "Unfortunately, the troll can't hear you" when the troll is
26
+ * incapacitated — was registered under `if.action.talking` but never
27
+ * consulted, because talking was unwired.
28
+ */
29
+ export declare const talkingLifecycle: ActionLifecycleDescriptor;
15
30
  export declare const talkingAction: Action & {
16
31
  metadata: ActionMetadata;
17
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"talking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/talking/talking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiBrD,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAoM9D,CAAC"}
1
+ {"version":3,"file":"talking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/talking/talking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;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;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,yBAS9B,CAAC;AAeF,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAgO9D,CAAC"}