@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
@@ -10,13 +10,60 @@
10
10
  * 2. execute: Transfer item, store result in sharedData
11
11
  * 3. blocked: Generate events when validation fails
12
12
  * 4. report: Generate success events from sharedData
13
+ *
14
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
15
+ * engine (ADR-228) via `givingLifecycle` — no hand-rolled hook plumbing.
13
16
  */
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.givingAction = void 0;
18
+ exports.givingAction = exports.givingLifecycle = void 0;
16
19
  const types_1 = require("../../../scope/types");
17
20
  const world_model_1 = require("@sharpee/world-model");
18
21
  const constants_1 = require("../../constants");
19
22
  const utils_1 = require("../../../utils");
23
+ const lifecycle_1 = require("../../lifecycle");
24
+ /**
25
+ * Interceptor surface (ADR-228): BOTH the given item and the recipient
26
+ * are consulted (D3-B published order: direct object first), each side's
27
+ * sharedData seeded with the other entity's identity (D3 sub-ruling —
28
+ * symmetric context, same shape as putting's descriptor).
29
+ *
30
+ * Item-side limitation (ADR-118 hook audit): before this wiring the item
31
+ * side was fully dead — no validate-phase block was possible; giving's
32
+ * only story seam was the recipient's execute-phase-only ADR-090
33
+ * capability behavior (see execute() below). The item slot is declared
34
+ * anyway per the Phase-5 ruling — documenting the limitation beats
35
+ * silently omitting the slot. Note also: when an ADR-090 capability
36
+ * behavior handles the give, report() is delegated to it and no
37
+ * `if.event.given` primary event exists for a postReport override to
38
+ * target (the engine's defensive warn fires instead; `emit` still works).
39
+ */
40
+ exports.givingLifecycle = {
41
+ actionId: constants_1.IFActions.GIVING,
42
+ slots: [
43
+ {
44
+ id: 'item',
45
+ actionIds: [constants_1.IFActions.GIVING],
46
+ resolve: (ctx) => ctx.command.directObject?.entity,
47
+ seedData: (ctx, entity) => ({
48
+ itemId: entity.id,
49
+ itemName: entity.name,
50
+ recipientId: ctx.command.indirectObject?.entity?.id,
51
+ recipientName: ctx.command.indirectObject?.entity?.name
52
+ })
53
+ },
54
+ {
55
+ id: 'recipient',
56
+ actionIds: [constants_1.IFActions.GIVING],
57
+ resolve: (ctx) => ctx.command.indirectObject?.entity,
58
+ seedData: (ctx, entity) => ({
59
+ itemId: ctx.command.directObject?.entity?.id,
60
+ itemName: ctx.command.directObject?.entity?.name,
61
+ recipientId: entity.id,
62
+ recipientName: entity.name
63
+ })
64
+ }
65
+ ]
66
+ };
20
67
  function getGivingSharedData(context) {
21
68
  return context.sharedData;
22
69
  }
@@ -72,6 +119,10 @@ exports.givingAction = {
72
119
  params: {}
73
120
  };
74
121
  }
122
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.givingLifecycle);
123
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
124
+ if (preVeto)
125
+ return preVeto;
75
126
  // Item must be carried (or implicitly takeable)
76
127
  // This enables "give apple to bob" when apple is on the ground
77
128
  const carryCheck = context.requireCarriedOrImplicitTake(item);
@@ -140,6 +191,10 @@ exports.givingAction = {
140
191
  }
141
192
  }
142
193
  }
194
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
195
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
196
+ if (postVeto)
197
+ return postVeto;
143
198
  return { valid: true };
144
199
  },
145
200
  execute(context) {
@@ -159,6 +214,10 @@ exports.givingAction = {
159
214
  sharedData.capabilityBehavior = behavior;
160
215
  sharedData.capabilityTrait = capTrait;
161
216
  behavior.execute(recipient, context.world, context.player.id, context.sharedData);
217
+ // Interceptor hooks still run after a capability-handled give (ADR-228 D3)
218
+ const capState = (0, lifecycle_1.getLifecycleState)(context);
219
+ if (capState)
220
+ (0, lifecycle_1.runPostExecute)(context, capState);
162
221
  return;
163
222
  }
164
223
  }
@@ -204,11 +263,14 @@ exports.givingAction = {
204
263
  item: (0, utils_1.nounPhraseFor)(item),
205
264
  recipient: (0, utils_1.nounPhraseFor)(recipient)
206
265
  };
266
+ const state = (0, lifecycle_1.getLifecycleState)(context);
267
+ if (state)
268
+ (0, lifecycle_1.runPostExecute)(context, state);
207
269
  },
208
270
  blocked(context, result) {
209
271
  const item = context.command.directObject?.entity;
210
272
  const recipient = context.command.indirectObject?.entity;
211
- return [context.event('if.event.give_blocked', {
273
+ const events = [context.event('if.event.give_blocked', {
212
274
  blocked: true,
213
275
  messageId: `${context.action.id}.${result.error}`,
214
276
  // params carry EntityInfo for the formatter chain (ADR-158)
@@ -223,6 +285,12 @@ exports.givingAction = {
223
285
  recipientId: recipient?.id,
224
286
  recipientName: recipient?.name
225
287
  })];
288
+ if (result.error) {
289
+ const state = (0, lifecycle_1.getLifecycleState)(context);
290
+ if (state)
291
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.give_blocked', result.error);
292
+ }
293
+ return events;
226
294
  },
227
295
  report(context) {
228
296
  const sharedData = getGivingSharedData(context);
@@ -238,6 +306,11 @@ exports.givingAction = {
238
306
  const effects = sharedData.capabilityBehavior.report(recipient, context.world, context.player.id, context.sharedData);
239
307
  events.push(...effectsToEvents(effects, context));
240
308
  }
309
+ // Interceptor hooks still run (ADR-228 D3); note there is no
310
+ // `if.event.given` on this path for an override to target.
311
+ const capState = (0, lifecycle_1.getLifecycleState)(context);
312
+ if (capState)
313
+ (0, lifecycle_1.runPostReport)(context, capState, events, 'if.event.given');
241
314
  return events;
242
315
  }
243
316
  // Standard: emit given event with messageId for text rendering
@@ -250,6 +323,9 @@ exports.givingAction = {
250
323
  recipientName: sharedData.recipientName,
251
324
  accepted: true
252
325
  }));
326
+ const state = (0, lifecycle_1.getLifecycleState)(context);
327
+ if (state)
328
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.given');
253
329
  return events;
254
330
  },
255
331
  group: "social"
@@ -1 +1 @@
1
- {"version":3,"file":"giving.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/giving/giving.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAIH,gDAAkD;AAElD,sDAQ8B;AAC9B,+CAA4C;AAE5C,0CAA+C;AAkB/C,SAAS,mBAAmB,CAAC,OAAsB;IACjD,OAAO,OAAO,CAAC,UAA8B,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CAAC,OAA2B,EAAE,OAAsB;IAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEY,QAAA,YAAY,GAA0C;IACjE,EAAE,EAAE,qBAAS,CAAC,MAAM;IAEpB,qDAAqD;IACrD,YAAY,EAAE;QACZ,IAAI,EAAE,kBAAU,CAAC,SAAS,EAAG,iCAAiC;QAC9D,SAAS,EAAE,kBAAU,CAAC,SAAS;KAChC;IAED,gBAAgB,EAAE;QAChB,SAAS;QACT,cAAc;QACd,aAAa;QACb,uBAAuB;QACvB,yBAAyB;QACzB,WAAW;QACX,MAAM;QACN,gBAAgB;QAChB,WAAW;QACX,gBAAgB;QAChB,SAAS;QACT,OAAO;QACP,SAAS;QACT,oBAAoB;QACpB,qBAAqB;KACtB;IAED,QAAQ,EAAE;QACR,oBAAoB,EAAE,IAAI;QAC1B,sBAAsB,EAAE,IAAI;QAC5B,iBAAiB,EAAE,kBAAU,CAAC,SAAS,EAAG,iCAAiC;QAC3E,mBAAmB,EAAE,kBAAU,CAAC,SAAS;KAC1C;IAED,QAAQ,CAAC,OAAsB;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;QAEzD,2CAA2C;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,+DAA+D;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,KAAM,CAAC;QAC3B,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAA,qBAAa,EAAC,SAAS,CAAC,EAAE;aAChD,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAI,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE;aACtC,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,wBAAU,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,IAAK,cAAqD,CAAC,gBAAgB,CAAmC,CAAC;YAEpJ,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAEnE,mBAAmB;gBACnB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAChF,OAAO;wBACL,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,gBAAgB;wBACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAA,qBAAa,EAAC,SAAS,CAAC,EAAE;qBAChD,CAAC;gBACJ,CAAC;gBAED,eAAe;gBACf,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAClC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACzD,OAAO,GAAG,GAAG,8BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC7C,CAAC,EAAE,CAAC,CAAC,CAAC;oBACN,MAAM,UAAU,GAAG,8BAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAEpD,IAAI,aAAa,GAAG,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;wBACjD,OAAO;4BACL,KAAK,EAAE,KAAK;4BACZ,KAAK,EAAE,WAAW;4BAClB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAA,qBAAa,EAAC,SAAS,CAAC,EAAE;yBAC3E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC,aAAa,CAAC,IAAK,cAAqD,EAAE,CAAC,aAAa,CAAC,CAAwC,CAAC;QAC1L,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzC,IAAI,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAmB,EAAE,CAAC;oBACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC5C,OAAO;4BACL,KAAK,EAAE,KAAK;4BACZ,KAAK,EAAE,gBAAgB;4BACvB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAA,qBAAa,EAAC,SAAS,CAAC,EAAE;yBAC3E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,OAAsB;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAa,CAAC,MAAO,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAe,CAAC,MAAO,CAAC;QAC1D,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEhD,mBAAmB;QACnB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;QACtC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QAE1C,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAA,qCAAuB,EAAC,SAAS,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,kBAAkB,GAAG,QAAQ,CAAC;gBACzC,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC;gBACtC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBAClF,OAAO;YACT,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAEhD,iDAAiD;QACjD,IAAI,cAAc,GAAwC,QAAQ,CAAC;QACnE,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,wBAAU,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,CAAC,aAAa,CAAC,IAAK,cAAqD,EAAE,CAAC,aAAa,CAAC,CAAwC,CAAC;QAE1L,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzC,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAiB,EAAE,CAAC;oBACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC1C,cAAc,GAAG,UAAU,CAAC;wBAC5B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,cAAc,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/F,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAoB,EAAE,CAAC;oBACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC7C,cAAc,GAAG,WAAW,CAAC;wBAC7B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;QAE3C,qDAAqD;QACrD,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,UAAU;gBACb,UAAU,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBAC5C,MAAM;YACR,KAAK,WAAW;gBACd,UAAU,CAAC,SAAS,GAAG,qBAAqB,CAAC;gBAC7C,MAAM;YACR;gBACE,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;QACnC,CAAC;QAED,4DAA4D;QAC5D,UAAU,CAAC,MAAM,GAAG;YAClB,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;YACzB,SAAS,EAAE,IAAA,qBAAa,EAAC,SAAS,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAAsB,EAAE,MAAwB;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;QACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBAC7C,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;gBACjD,4DAA4D;gBAC5D,MAAM,EAAE;oBACN,GAAG,MAAM,CAAC,MAAM;oBAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC5C,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC5D;gBACD,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChB,QAAQ,EAAE,IAAI,EAAE,IAAI;gBACpB,WAAW,EAAE,SAAS,EAAE,EAAE;gBAC1B,aAAa,EAAE,SAAS,EAAE,IAAI;aAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,OAAsB;QAC3B,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,uEAAuE;QACvE,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAED,iEAAiE;QACjE,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAClD,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAChE,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,+DAA+D;QAC/D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC1C,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE;YACzD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,UAAU,CAAC,MAAM;YACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,WAAW;YACjC,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,CAAC;QAEJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,EAAE,QAAQ;CAChB,CAAC"}
1
+ {"version":3,"file":"giving.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/giving/giving.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,11 @@
11
11
  * 4. report: standard events → postReport hook (additional effects)
12
12
  */
13
13
  import { Action, ActionContext } from '../../enhanced-types';
14
- import { IFEntity, DirectionType, ActionInterceptor, InterceptorSharedData, RegionCrossings } from '@sharpee/world-model';
14
+ import { DirectionType, RegionCrossings } from '@sharpee/world-model';
15
15
  import { ActionMetadata } from '../../../validation';
16
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
16
17
  /**
17
18
  * Shared data passed between execute and report phases.
18
- * Now includes interceptor data for ADR-118 support.
19
19
  */
20
20
  export interface GoingSharedData {
21
21
  isFirstVisit?: boolean;
@@ -23,24 +23,18 @@ export interface GoingSharedData {
23
23
  currentLocation?: string;
24
24
  direction?: DirectionType;
25
25
  vehicleId?: string;
26
- /** Source room interceptor found during validate (ADR-118) */
27
- interceptor?: ActionInterceptor;
28
- /** Shared data for source interceptor phases */
29
- interceptorData?: InterceptorSharedData;
30
- /** Source room entity for interceptor lookups */
31
- sourceRoom?: IFEntity;
32
- /** Destination room interceptor found during validate (ADR-126) */
33
- destinationInterceptor?: ActionInterceptor;
34
- /** Shared data for destination interceptor phases */
35
- destinationInterceptorData?: InterceptorSharedData;
36
- /** Destination room entity for interceptor lookups */
37
- destinationRoom?: IFEntity;
38
- /** Which interceptor blocked the action, if any */
39
- blockedBy?: 'source' | 'destination';
40
26
  /** Region boundary crossings computed during execute (ADR-149) */
41
27
  regionCrossings?: RegionCrossings;
42
28
  }
43
29
  export declare function getGoingSharedData(context: ActionContext): GoingSharedData;
30
+ /**
31
+ * Interceptor surface (ADR-228): all three implicit entities of a GO
32
+ * command are consulted, in this published order — source room
33
+ * (if.action.going), destination room (if.action.entering_room, ADR-126),
34
+ * door (if.action.going; the previously-dead surface the audit found).
35
+ * First veto wins across the chain.
36
+ */
37
+ export declare const goingLifecycle: ActionLifecycleDescriptor;
44
38
  export declare const goingAction: Action & {
45
39
  metadata: ActionMetadata;
46
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"going.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/going/going.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAEL,QAAQ,EAQR,aAAa,EAEb,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgBrD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,gDAAgD;IAChD,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,iDAAiD;IACjD,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;IAC3C,qDAAqD;IACrD,0BAA0B,CAAC,EAAE,qBAAqB,CAAC;IACnD,sDAAsD;IACtD,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACrC,kEAAkE;IAClE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAE1E;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAuf5D,CAAC"}
1
+ {"version":3,"file":"going.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/going/going.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAoB,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAUL,aAAa,EAEb,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAWzB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAE1E;AAiDD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,yBA8B5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA0Y5D,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * 4. report: standard events → postReport hook (additional effects)
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.goingAction = void 0;
15
+ exports.goingAction = exports.goingLifecycle = void 0;
16
16
  exports.getGoingSharedData = getGoingSharedData;
17
17
  const world_model_1 = require("@sharpee/world-model");
18
18
  const constants_1 = require("../../constants");
@@ -21,11 +21,96 @@ const snapshot_utils_1 = require("../../base/snapshot-utils");
21
21
  const data_builder_types_1 = require("../../data-builder-types");
22
22
  const going_messages_1 = require("./going-messages");
23
23
  const utils_1 = require("../../../utils");
24
+ const lifecycle_1 = require("../../lifecycle");
24
25
  // Import our data builders
25
26
  const going_data_1 = require("./going-data");
26
27
  function getGoingSharedData(context) {
27
28
  return context.sharedData;
28
29
  }
30
+ // ============================================================================
31
+ // Implicit-entity resolvers (ADR-228 D3) — going has no parsed object
32
+ // slots; its consultable entities are derived from the command + world.
33
+ // Resolution is read-only and returns undefined when the entity does not
34
+ // apply (no exit, blocked-only direction, not in a room).
35
+ // ============================================================================
36
+ /** The direction of travel, from extras or a direction-named direct object. */
37
+ function resolveDirection(context) {
38
+ let direction = context.command.parsed.extras?.direction;
39
+ if (!direction && context.command.directObject?.entity) {
40
+ const entityName = context.command.directObject.entity.name ||
41
+ context.command.directObject.entity.attributes?.name;
42
+ if (entityName) {
43
+ direction = entityName;
44
+ }
45
+ }
46
+ return direction || undefined;
47
+ }
48
+ /** The room movement starts from (the containing room when in a walkable vehicle). */
49
+ function resolveSourceRoom(context) {
50
+ const walkCheck = (0, world_model_1.canActorWalkInVehicle)(context.world, context.player.id);
51
+ let currentRoom = context.currentLocation;
52
+ if (walkCheck.vehicle && walkCheck.canWalk) {
53
+ const containingRoom = context.world.getContainingRoom(context.player.id);
54
+ if (containingRoom) {
55
+ currentRoom = containingRoom;
56
+ }
57
+ }
58
+ return currentRoom?.has(world_model_1.TraitType.ROOM) ? currentRoom : undefined;
59
+ }
60
+ /** The exit's door (via) and destination room, when the exit exists. */
61
+ function resolveExitEntities(context) {
62
+ const sourceRoom = resolveSourceRoom(context);
63
+ const direction = resolveDirection(context);
64
+ if (!sourceRoom || !direction)
65
+ return {};
66
+ // A blocked-only direction has no traversable exit (Chord `north is blocked:`)
67
+ if (world_model_1.RoomBehavior.isExitBlocked(sourceRoom, direction))
68
+ return {};
69
+ const exitConfig = world_model_1.RoomBehavior.getExit(sourceRoom, direction);
70
+ if (!exitConfig)
71
+ return {};
72
+ const door = exitConfig.via ? (context.world.getEntity(exitConfig.via) ?? undefined) : undefined;
73
+ const destination = context.world.getEntity(exitConfig.destination) ?? undefined;
74
+ return { door, destination };
75
+ }
76
+ /**
77
+ * Interceptor surface (ADR-228): all three implicit entities of a GO
78
+ * command are consulted, in this published order — source room
79
+ * (if.action.going), destination room (if.action.entering_room, ADR-126),
80
+ * door (if.action.going; the previously-dead surface the audit found).
81
+ * First veto wins across the chain.
82
+ */
83
+ exports.goingLifecycle = {
84
+ actionId: constants_1.IFActions.GOING,
85
+ slots: [
86
+ {
87
+ id: 'source',
88
+ actionIds: [constants_1.IFActions.GOING],
89
+ resolve: resolveSourceRoom,
90
+ seedData: (ctx) => ({ direction: resolveDirection(ctx) })
91
+ },
92
+ {
93
+ id: 'destination',
94
+ actionIds: [constants_1.IFActions.ENTERING_ROOM],
95
+ resolve: (ctx) => resolveExitEntities(ctx).destination,
96
+ seedData: (ctx, entity) => ({
97
+ direction: resolveDirection(ctx),
98
+ sourceRoomId: resolveSourceRoom(ctx)?.id,
99
+ destinationRoomId: entity.id
100
+ })
101
+ },
102
+ {
103
+ id: 'door',
104
+ actionIds: [constants_1.IFActions.GOING],
105
+ resolve: (ctx) => resolveExitEntities(ctx).door,
106
+ seedData: (ctx) => ({
107
+ direction: resolveDirection(ctx),
108
+ sourceRoomId: resolveSourceRoom(ctx)?.id,
109
+ destinationRoomId: resolveExitEntities(ctx).destination?.id
110
+ })
111
+ }
112
+ ]
113
+ };
29
114
  exports.goingAction = {
30
115
  id: constants_1.IFActions.GOING,
31
116
  requiredMessages: [
@@ -91,31 +176,12 @@ exports.goingAction = {
91
176
  error: going_messages_1.GoingMessages.NOT_IN_ROOM
92
177
  };
93
178
  }
94
- // Check for interceptor on the source room (ADR-118)
95
- // Interceptors on rooms can block or modify movement attempts
96
- const interceptorResult = context.world.getInterceptorForAction(currentRoom, constants_1.IFActions.GOING);
97
- const interceptor = interceptorResult?.interceptor;
98
- const interceptorData = {
99
- // Pass direction info to interceptor
100
- direction: direction
101
- };
102
- // Store for later phases
103
- sharedData.interceptor = interceptor;
104
- sharedData.interceptorData = interceptorData;
105
- sharedData.sourceRoom = currentRoom;
106
- // === SOURCE PRE-VALIDATE HOOK ===
107
- // Called before standard validation - can block early
108
- if (interceptor?.preValidate) {
109
- const result = interceptor.preValidate(currentRoom, context.world, actor.id, interceptorData);
110
- if (result !== null && !result.valid) {
111
- sharedData.blockedBy = 'source';
112
- return {
113
- valid: result.valid,
114
- error: result.error,
115
- params: result.params
116
- };
117
- }
118
- }
179
+ // Resolve the interceptor surface (ADR-228): source room, destination
180
+ // room, and door the engine owns hook order and veto semantics.
181
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.goingLifecycle);
182
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
183
+ if (preVeto)
184
+ return preVeto;
119
185
  // Check if the direction is blocked BEFORE requiring an exit config:
120
186
  // a blockedExits entry means "this direction is deliberately refused
121
187
  // with this message" whether or not an exit exists (a blocked-only
@@ -188,57 +254,12 @@ exports.goingAction = {
188
254
  // Note: We allow entry to dark rooms - you just can't see.
189
255
  // Darkness affects visibility (looking), not movement.
190
256
  // This matches traditional IF behavior (e.g., Cloak of Darkness).
191
- // === DESTINATION INTERCEPTOR LOOKUP (ADR-126) ===
192
- // Check if the destination room has an entry condition interceptor
193
- const destInterceptorResult = context.world.getInterceptorForAction(destination, constants_1.IFActions.ENTERING_ROOM);
194
- const destInterceptor = destInterceptorResult?.interceptor;
195
- const destInterceptorData = {
196
- direction: direction,
197
- sourceRoomId: currentRoom.id,
198
- destinationRoomId: destination.id
199
- };
200
- // Store for later phases
201
- sharedData.destinationInterceptor = destInterceptor;
202
- sharedData.destinationInterceptorData = destInterceptorData;
203
- sharedData.destinationRoom = destination;
204
- // === DESTINATION PRE-VALIDATE HOOK (ADR-126) ===
205
- // Called after destination is resolved but before player moves - can block entry
206
- if (destInterceptor?.preValidate) {
207
- const result = destInterceptor.preValidate(destination, context.world, actor.id, destInterceptorData);
208
- if (result !== null && !result.valid) {
209
- sharedData.blockedBy = 'destination';
210
- return {
211
- valid: result.valid,
212
- error: result.error,
213
- params: result.params
214
- };
215
- }
216
- }
217
- // === SOURCE POST-VALIDATE HOOK ===
218
- // Called after standard validation passes - can add entity-specific conditions
219
- if (interceptor?.postValidate) {
220
- const result = interceptor.postValidate(currentRoom, context.world, actor.id, interceptorData);
221
- if (result !== null) {
222
- sharedData.blockedBy = 'source';
223
- return {
224
- valid: result.valid,
225
- error: result.error,
226
- params: result.params
227
- };
228
- }
229
- }
230
- // === DESTINATION POST-VALIDATE HOOK (ADR-126) ===
231
- if (destInterceptor?.postValidate) {
232
- const result = destInterceptor.postValidate(destination, context.world, actor.id, destInterceptorData);
233
- if (result !== null) {
234
- sharedData.blockedBy = 'destination';
235
- return {
236
- valid: result.valid,
237
- error: result.error,
238
- params: result.params
239
- };
240
- }
241
- }
257
+ // Canonical placement (ADR-228): postValidate runs after ALL standard
258
+ // validation, for every consultation (source destination door),
259
+ // first veto wins.
260
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
261
+ if (postVeto)
262
+ return postVeto;
242
263
  return { valid: true };
243
264
  },
244
265
  execute(context) {
@@ -287,19 +308,9 @@ exports.goingAction = {
287
308
  }
288
309
  // Compute region boundary crossings (ADR-149)
289
310
  sharedData.regionCrossings = context.world.getRegionCrossings(sourceRoom.id, destination.id);
290
- // === SOURCE POST-EXECUTE HOOK ===
291
- // Called after standard execution - can perform additional mutations
292
- const interceptor = sharedData.interceptor;
293
- const interceptorData = sharedData.interceptorData || {};
294
- if (interceptor?.postExecute && sharedData.sourceRoom) {
295
- interceptor.postExecute(sharedData.sourceRoom, context.world, actor.id, interceptorData);
296
- }
297
- // === DESTINATION POST-EXECUTE HOOK (ADR-126) ===
298
- const destInterceptor = sharedData.destinationInterceptor;
299
- const destInterceptorData = sharedData.destinationInterceptorData || {};
300
- if (destInterceptor?.postExecute && sharedData.destinationRoom) {
301
- destInterceptor.postExecute(sharedData.destinationRoom, context.world, actor.id, destInterceptorData);
302
- }
311
+ const state = (0, lifecycle_1.getLifecycleState)(context);
312
+ if (state)
313
+ (0, lifecycle_1.runPostExecute)(context, state);
303
314
  },
304
315
  /**
305
316
  * Report events after successful movement
@@ -342,7 +353,10 @@ exports.goingAction = {
342
353
  // Check if destination is dark (no usable light source)
343
354
  const isDark = world_model_1.VisibilityBehavior.isDark(destinationRoom, context.world);
344
355
  if (isDark) {
345
- // Dark room with no light - emit went event with darkness messageId
356
+ // Dark room with no light - emit went event with darkness messageId.
357
+ // No early return: postReport hooks still run below (ADR-228 D7.1 —
358
+ // the old early return skipped hooks on exactly the path that emits
359
+ // if.event.went).
346
360
  events.push(context.event('if.event.went', {
347
361
  messageId: `${context.action.id}.too_dark`,
348
362
  params: {},
@@ -350,6 +364,9 @@ exports.goingAction = {
350
364
  destinationId: destinationRoom.id,
351
365
  isDark: true
352
366
  }));
367
+ const state = (0, lifecycle_1.getLifecycleState)(context);
368
+ if (state)
369
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.went');
353
370
  return events;
354
371
  }
355
372
  // Room has light - build and emit room description
@@ -408,24 +425,11 @@ exports.goingAction = {
408
425
  itemNames: listableContents.map(e => e.name)
409
426
  }));
410
427
  }
411
- // === SOURCE POST-REPORT HOOK ===
412
- // Apply interceptor's override (replaces if.event.went.messageId, when emitted)
413
- // and/or emit (additional events). See ISSUE-074.
414
428
  // Note: if.event.went is only emitted on dark/blocked; override is a no-op
415
429
  // on success non-dark transitions. Use emit for narration after success.
416
- const interceptor = sharedData.interceptor;
417
- const interceptorData = sharedData.interceptorData || {};
418
- if (interceptor?.postReport && sharedData.sourceRoom) {
419
- const result = interceptor.postReport(sharedData.sourceRoom, context.world, context.player.id, interceptorData);
420
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.went', result, context);
421
- }
422
- // === DESTINATION POST-REPORT HOOK (ADR-126) ===
423
- const destInterceptor = sharedData.destinationInterceptor;
424
- const destInterceptorData = sharedData.destinationInterceptorData || {};
425
- if (destInterceptor?.postReport && sharedData.destinationRoom) {
426
- const result = destInterceptor.postReport(sharedData.destinationRoom, context.world, context.player.id, destInterceptorData);
427
- (0, world_model_1.applyInterceptorReportResult)(events, 'if.event.went', result, context);
428
- }
430
+ const state = (0, lifecycle_1.getLifecycleState)(context);
431
+ if (state)
432
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.went');
429
433
  return events;
430
434
  },
431
435
  /**
@@ -433,37 +437,23 @@ exports.goingAction = {
433
437
  * Called instead of execute/report when validate returns invalid
434
438
  */
435
439
  blocked(context, result) {
436
- const sharedData = getGoingSharedData(context);
437
- // === DESTINATION ON-BLOCKED HOOK (ADR-126) ===
438
- // If the destination interceptor blocked entry, let it handle the blocked phase first
439
- if (sharedData.blockedBy === 'destination') {
440
- const destInterceptor = sharedData.destinationInterceptor;
441
- const destInterceptorData = sharedData.destinationInterceptorData || {};
442
- if (destInterceptor?.onBlocked && sharedData.destinationRoom && result.error) {
443
- const customEffects = destInterceptor.onBlocked(sharedData.destinationRoom, context.world, context.player.id, result.error, destInterceptorData);
444
- if (customEffects !== null) {
445
- return customEffects.map(effect => context.event(effect.type, effect.payload));
446
- }
447
- }
448
- }
449
- // === SOURCE ON-BLOCKED HOOK ===
450
- // Called when action is blocked by source room or standard checks
451
- const interceptor = sharedData.interceptor;
452
- const interceptorData = sharedData.interceptorData || {};
453
- if (interceptor?.onBlocked && sharedData.sourceRoom && result.error) {
454
- const customEffects = interceptor.onBlocked(sharedData.sourceRoom, context.world, context.player.id, result.error, interceptorData);
455
- if (customEffects !== null) {
456
- return customEffects.map(effect => context.event(effect.type, effect.payload));
457
- }
458
- }
459
- // Standard blocked handling
460
- return [context.event('if.event.went', {
440
+ // Standard blocked event — always emitted (ADR-228 D2)
441
+ const events = [context.event('if.event.went', {
461
442
  blocked: true,
462
443
  reason: result.error,
463
444
  messageId: `${context.action.id}.${result.error}`,
464
445
  params: result.params || {},
465
446
  actorId: context.player.id
466
447
  })];
448
+ // All resolved consultations (source, destination, door) are notified;
449
+ // single-override arbitration replaces the old blockedBy precedence
450
+ // split (ADR-228 D2/D3).
451
+ if (result.error) {
452
+ const state = (0, lifecycle_1.getLifecycleState)(context);
453
+ if (state)
454
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.went', result.error);
455
+ }
456
+ return events;
467
457
  },
468
458
  group: "movement",
469
459
  metadata: {
@@ -1 +1 @@
1
- {"version":3,"file":"going.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/going/going.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"going.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/going/going.ts"],"names":[],"mappings":"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"}