@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
@@ -4,14 +4,23 @@
4
4
  * This action validates conditions for switching something on and returns
5
5
  * appropriate events. It delegates state changes to SwitchableBehavior.
6
6
  *
7
- * Uses four-phase pattern with interceptor support (ADR-118):
8
- * 1. validate: preValidate hook standard checks postValidate hook
9
- * 2. execute: standard mutation postExecute hook
10
- * 3. report: standard events postReport hook
11
- * 4. blocked: onBlocked hook (if validation failed)
7
+ * Uses four-phase pattern:
8
+ * 1. validate: Check target exists and can be switched on
9
+ * 2. execute: Delegate state change to SwitchableBehavior
10
+ * 3. report: Generate success events (plus auto-LOOK when illuminating)
11
+ * 4. blocked: Generate error events when validation fails
12
+ *
13
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
14
+ * engine (ADR-228) via `switchingOnLifecycle` — 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 switched-on target is the only
21
+ * consultable entity of a SWITCH ON command.
22
+ */
23
+ export declare const switchingOnLifecycle: ActionLifecycleDescriptor;
15
24
  export declare const switchingOnAction: Action & {
16
25
  metadata: ActionMetadata;
17
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"switching_on.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/switching_on/switching_on.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA6DrD,eAAO,MAAM,iBAAiB,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA2VlE,CAAC"}
1
+ {"version":3,"file":"switching_on.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/switching_on/switching_on.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAkBrD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,yBASlC,CAAC;AAsCF,eAAO,MAAM,iBAAiB,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAuTlE,CAAC"}
@@ -5,14 +5,17 @@
5
5
  * This action validates conditions for switching something on and returns
6
6
  * appropriate events. It delegates state changes to SwitchableBehavior.
7
7
  *
8
- * Uses four-phase pattern with interceptor support (ADR-118):
9
- * 1. validate: preValidate hook standard checks postValidate hook
10
- * 2. execute: standard mutation postExecute hook
11
- * 3. report: standard events postReport hook
12
- * 4. blocked: onBlocked hook (if validation failed)
8
+ * Uses four-phase pattern:
9
+ * 1. validate: Check target exists and can be switched on
10
+ * 2. execute: Delegate state change to SwitchableBehavior
11
+ * 3. report: Generate success events (plus auto-LOOK when illuminating)
12
+ * 4. blocked: Generate error events when validation fails
13
+ *
14
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
15
+ * engine (ADR-228) via `switchingOnLifecycle` — no hand-rolled hook plumbing.
13
16
  */
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.switchingOnAction = void 0;
18
+ exports.switchingOnAction = exports.switchingOnLifecycle = void 0;
16
19
  const world_model_1 = require("@sharpee/world-model");
17
20
  const constants_1 = require("../../constants");
18
21
  const scope_1 = require("../../../scope");
@@ -20,6 +23,21 @@ const switching_shared_1 = require("../switching-shared");
20
23
  const switching_on_messages_1 = require("./switching_on-messages");
21
24
  const utils_1 = require("../../../utils");
22
25
  const snapshot_utils_1 = require("../../base/snapshot-utils");
26
+ const lifecycle_1 = require("../../lifecycle");
27
+ /**
28
+ * Interceptor surface (ADR-228): the switched-on target is the only
29
+ * consultable entity of a SWITCH ON command.
30
+ */
31
+ exports.switchingOnLifecycle = {
32
+ actionId: constants_1.IFActions.SWITCHING_ON,
33
+ slots: [
34
+ {
35
+ id: 'target',
36
+ actionIds: [constants_1.IFActions.SWITCHING_ON],
37
+ resolve: (ctx) => ctx.command.directObject?.entity
38
+ }
39
+ ]
40
+ };
23
41
  function getSwitchingOnSharedData(context) {
24
42
  return context.sharedData;
25
43
  }
@@ -46,24 +64,13 @@ exports.switchingOnAction = {
46
64
  ],
47
65
  validate(context) {
48
66
  const noun = context.command.directObject?.entity;
49
- const sharedData = getSwitchingOnSharedData(context);
50
67
  if (!noun) {
51
68
  return { valid: false, error: switching_on_messages_1.MESSAGES.NO_TARGET };
52
69
  }
53
- // Check for interceptor on the target entity (ADR-118)
54
- const interceptorResult = context.world.getInterceptorForAction(noun, constants_1.IFActions.SWITCHING_ON);
55
- const interceptor = interceptorResult?.interceptor;
56
- const interceptorData = {};
57
- // Store for later phases
58
- sharedData.interceptor = interceptor;
59
- sharedData.interceptorData = interceptorData;
60
- // === PRE-VALIDATE HOOK ===
61
- if (interceptor?.preValidate) {
62
- const result = interceptor.preValidate(noun, context.world, context.player.id, interceptorData);
63
- if (result !== null) {
64
- return { valid: result.valid, error: result.error, params: result.params };
65
- }
66
- }
70
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.switchingOnLifecycle);
71
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
72
+ if (preVeto)
73
+ return preVeto;
67
74
  // Check scope - must be able to reach the target
68
75
  const scopeCheck = context.requireScope(noun, scope_1.ScopeLevel.REACHABLE);
69
76
  if (!scopeCheck.ok) {
@@ -81,13 +88,10 @@ exports.switchingOnAction = {
81
88
  return { valid: false, error: switching_on_messages_1.MESSAGES.NO_POWER, params: { target: (0, utils_1.nounPhraseFor)(noun) } };
82
89
  }
83
90
  }
84
- // === POST-VALIDATE HOOK ===
85
- if (interceptor?.postValidate) {
86
- const result = interceptor.postValidate(noun, context.world, context.player.id, interceptorData);
87
- if (result !== null) {
88
- return { valid: result.valid, error: result.error, params: result.params };
89
- }
90
- }
91
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
92
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
93
+ if (postVeto)
94
+ return postVeto;
91
95
  return { valid: true };
92
96
  },
93
97
  execute(context) {
@@ -176,12 +180,9 @@ exports.switchingOnAction = {
176
180
  sharedData.messageId = (0, switching_shared_1.determineSwitchingMessage)(true, // isOn
177
181
  analysis, result.onSound, !!(result.autoOffTime && result.autoOffTime > 0), undefined, // no running sound when turning on
178
182
  willOpen);
179
- // === POST-EXECUTE HOOK ===
180
- const interceptor = sharedData.interceptor;
181
- const interceptorData = sharedData.interceptorData || {};
182
- if (interceptor?.postExecute) {
183
- interceptor.postExecute(noun, context.world, context.player.id, interceptorData);
184
- }
183
+ const state = (0, lifecycle_1.getLifecycleState)(context);
184
+ if (state)
185
+ (0, lifecycle_1.runPostExecute)(context, state);
185
186
  },
186
187
  /**
187
188
  * Report phase - generates events after successful execution
@@ -274,18 +275,9 @@ exports.switchingOnAction = {
274
275
  }));
275
276
  }
276
277
  }
277
- // === POST-REPORT HOOK ===
278
- // Apply interceptor's override (replaces if.event.switched_on.messageId)
279
- // and/or emit (additional events). See ISSUE-074.
280
- const interceptor = sharedData.interceptor;
281
- const interceptorData = sharedData.interceptorData || {};
282
- if (interceptor?.postReport) {
283
- const noun = context.command.directObject?.entity;
284
- if (noun) {
285
- const result = interceptor.postReport(noun, context.world, context.player.id, interceptorData);
286
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.switched_on', result, context);
287
- }
288
- }
278
+ const state = (0, lifecycle_1.getLifecycleState)(context);
279
+ if (state)
280
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.switched_on');
289
281
  return events;
290
282
  },
291
283
  /**
@@ -295,17 +287,7 @@ exports.switchingOnAction = {
295
287
  */
296
288
  blocked(context, result) {
297
289
  const noun = context.command.directObject?.entity;
298
- const sharedData = getSwitchingOnSharedData(context);
299
- // === ON-BLOCKED HOOK ===
300
- const interceptor = sharedData.interceptor;
301
- const interceptorData = sharedData.interceptorData || {};
302
- if (interceptor?.onBlocked && noun && result.error) {
303
- const customEffects = interceptor.onBlocked(noun, context.world, context.player.id, result.error, interceptorData);
304
- if (customEffects !== null) {
305
- return customEffects.map(effect => context.event(effect.type, effect.payload));
306
- }
307
- }
308
- return [context.event('if.event.switch_on_blocked', {
290
+ const events = [context.event('if.event.switch_on_blocked', {
309
291
  // Rendering data
310
292
  messageId: `${context.action.id}.${result.error}`,
311
293
  params: result.params || {},
@@ -314,6 +296,12 @@ exports.switchingOnAction = {
314
296
  targetName: noun?.name,
315
297
  reason: result.error
316
298
  })];
299
+ if (result.error) {
300
+ const state = (0, lifecycle_1.getLifecycleState)(context);
301
+ if (state)
302
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.switch_on_blocked', result.error);
303
+ }
304
+ return events;
317
305
  },
318
306
  group: "device_manipulation",
319
307
  metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"switching_on.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/switching_on/switching_on.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switching_on.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/switching_on/switching_on.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Provides type-safe access to traits and shared data
5
5
  */
6
6
  import { EntityId } from '@sharpee/core';
7
- import { IWearableData, IFEntity, ActionInterceptor, InterceptorSharedData } from '@sharpee/world-model';
7
+ import { IWearableData } from '@sharpee/world-model';
8
8
  /**
9
9
  * Type guard for wearable trait data
10
10
  * Checks for both 'worn' (internal) and 'isWorn' (accessor) properties
@@ -32,42 +32,29 @@ export declare function hasCapacityLimit(trait: unknown): trait is ContainerTrai
32
32
  capacity: ContainerCapacity;
33
33
  };
34
34
  /**
35
- * Result of validating/executing a single entity in multi-object command
35
+ * Per-item mutation scratch for taking one entity: the fields
36
+ * executeSingleEntity writes and reportSingleSuccess reads. For a
37
+ * single-object command this lives on the action's sharedData; for a
38
+ * multi-object command each item gets its own copy via the lifecycle
39
+ * engine's per-item `itemData` (ADR-228 D4).
36
40
  */
37
- export interface TakingItemResult {
38
- entity: IFEntity;
39
- success: boolean;
40
- error?: string;
41
+ export interface TakingItemScratch {
42
+ /** The location the item was in before being taken */
41
43
  previousLocation?: EntityId;
44
+ /** True if a worn item was implicitly removed before taking */
42
45
  implicitlyRemoved?: boolean;
46
+ /** True if the item was being worn (used with implicitlyRemoved) */
43
47
  wasWorn?: boolean;
44
- /** Interceptor bound to THIS item (ADR-118) — captured at validate so each item's hooks fire in execute/report */
45
- interceptor?: ActionInterceptor;
46
- /** Per-item interceptor phase data (decision snapshots, occurrence counters) */
47
- interceptorData?: InterceptorSharedData;
48
48
  }
49
49
  /**
50
50
  * Typed shared data for taking action
51
51
  *
52
52
  * This interface defines all data that the taking action
53
- * stores in context.sharedData for communication between phases
53
+ * stores in context.sharedData for communication between phases.
54
+ * Interceptor and multi-object state live in the lifecycle engine's
55
+ * reserved sharedData slots (ADR-228), not here.
54
56
  */
55
- export interface TakingSharedData {
56
- /**
57
- * The location the item was in before being taken
58
- * Used to determine if it was in a container/supporter
59
- */
60
- previousLocation?: EntityId;
61
- /**
62
- * True if a worn item was implicitly removed before taking
63
- * Triggers an additional 'removed' event
64
- */
65
- implicitlyRemoved?: boolean;
66
- /**
67
- * True if the item was being worn (used with implicitlyRemoved)
68
- * Helps generate appropriate messages
69
- */
70
- wasWorn?: boolean;
57
+ export interface TakingSharedData extends TakingItemScratch {
71
58
  /**
72
59
  * For future use: track if item was locked in container
73
60
  */
@@ -76,15 +63,6 @@ export interface TakingSharedData {
76
63
  * For future use: track if container was opened implicitly
77
64
  */
78
65
  containerOpened?: boolean;
79
- /**
80
- * Multi-object support: results for each entity
81
- * When set, indicates this is a multi-object command
82
- */
83
- multiObjectResults?: TakingItemResult[];
84
- /** Interceptor that claimed this taking action (ADR-118) */
85
- _interceptor?: ActionInterceptor;
86
- /** Shared data passed between interceptor phases */
87
- _interceptorData?: InterceptorSharedData;
88
66
  }
89
67
  /**
90
68
  * Type guard to check if shared data has taking-specific fields
@@ -1 +1 @@
1
- {"version":3,"file":"taking-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEzG;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAW3F;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,GAAG;IAAE,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAM9G;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kHAAkH;IAClH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gFAAgF;IAChF,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAExC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAItF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,gBAAgB,CAMlG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,EAC5C,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC9B,IAAI,CAEN"}
1
+ {"version":3,"file":"taking-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAW3F;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAM5E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,GAAG;IAAE,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAM9G;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAItF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,gBAAgB,CAMlG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,EAC5C,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAC9B,IAAI,CAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"taking-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,0CAWC;AAmBD,4CAMC;AAED,4CAMC;AAqED,gDAIC;AAKD,kDAMC;AAKD,kDAKC;AA9ID;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,+DAA+D;IAC/D,OAAO,CACL,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAChD,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAC7C,CAAC;AACJ,CAAC;AAmBD,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,UAAU,IAAI,KAAK,IAAI,eAAe,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,gBAAgB,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC;AAkED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAyB;IAC1D,yDAAyD;IACzD,gCAAgC;IAChC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAA4C;IAC9E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,uBAAuB;QACvB,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAA8B,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAA4C,EAC5C,IAA+B;IAE/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"taking-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,0CAWC;AAmBD,4CAMC;AAED,4CAMC;AAyCD,gDAIC;AAKD,kDAMC;AAKD,kDAKC;AAlHD;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,+DAA+D;IAC/D,OAAO,CACL,CAAC,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;QAChD,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAC7C,CAAC;AACJ,CAAC;AAmBD,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,UAAU,IAAI,KAAK,IAAI,eAAe,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,gBAAgB,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC;AAsCD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAyB;IAC1D,yDAAyD;IACzD,gCAAgC;IAChC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,OAA4C;IAC9E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,uBAAuB;QACvB,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAA8B,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAA4C,EAC5C,IAA+B;IAE/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -7,6 +7,11 @@
7
7
  * 3. report: Generate success events with item and container snapshots
8
8
  * 4. blocked: Generate error events when validation fails
9
9
  *
10
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
11
+ * engine (ADR-228): `takingLifecycle` declares the interceptor surface and
12
+ * the engine owns hook order, veto semantics, and multi-object per-item
13
+ * lifecycles. This file contains no hand-rolled hook plumbing.
14
+ *
10
15
  * Supports multi-object commands:
11
16
  * - "take all" - takes all portable reachable items
12
17
  * - "take all but X" - takes all except specified items
@@ -14,6 +19,12 @@
14
19
  */
15
20
  import { Action } from '../../enhanced-types';
16
21
  import { ActionMetadata } from '../../../validation';
22
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
23
+ /**
24
+ * Interceptor surface (ADR-228): the taken item is the only consultable
25
+ * entity of a TAKE command.
26
+ */
27
+ export declare const takingLifecycle: ActionLifecycleDescriptor;
17
28
  export declare const takingAction: Action & {
18
29
  metadata: ActionMetadata;
19
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"taking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyVrD,eAAO,MAAM,YAAY,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAsJ7D,CAAC"}
1
+ {"version":3,"file":"taking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/taking/taking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD,OAAO,EACL,yBAAyB,EAY1B,MAAM,iBAAiB,CAAC;AAazB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,yBAS7B,CAAC;AAiPF,eAAO,MAAM,YAAY,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAqK7D,CAAC"}