@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
@@ -122,8 +122,8 @@ function captureRoomSnapshot(room, world, includeContents = true) {
122
122
  descriptionId: identity?.descriptionId
123
123
  };
124
124
  // Add darkness state from room trait
125
- if (roomTrait?.isDark !== undefined) {
126
- snapshot.isDark = roomTrait.isDark === true;
125
+ if (roomTrait?.requiresLight !== undefined) {
126
+ snapshot.isDark = roomTrait.requiresLight === true;
127
127
  }
128
128
  // Add visited state
129
129
  if (roomTrait?.visited !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-utils.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-utils.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ export declare const IFActions: {
39
39
  readonly EMPTYING: "if.action.emptying";
40
40
  readonly LOCKING: "if.action.locking";
41
41
  readonly UNLOCKING: "if.action.unlocking";
42
+ readonly CUTTING: "if.action.cutting";
43
+ readonly DIGGING: "if.action.digging";
42
44
  readonly WEARING: "if.action.wearing";
43
45
  readonly TAKING_OFF: "if.action.taking_off";
44
46
  readonly SWITCHING_ON: "if.action.switching_on";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,SAAS;;;;;;;;CAiBZ,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,SAAS;;;;;;;;CAiBZ,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
@@ -52,6 +52,9 @@ exports.IFActions = {
52
52
  // Lock/unlock actions
53
53
  LOCKING: 'if.action.locking',
54
54
  UNLOCKING: 'if.action.unlocking',
55
+ // Tool-gated dispatch actions (ADR-230 D3c / Phase 6)
56
+ CUTTING: 'if.action.cutting',
57
+ DIGGING: 'if.action.digging',
55
58
  // Wearing actions
56
59
  WEARING: 'if.action.wearing',
57
60
  TAKING_OFF: 'if.action.taking_off',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/constants.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export { MetaAction } from './meta-action';
7
7
  export { MetaCommandRegistry } from './meta-registry';
8
8
  export * from './registry';
9
9
  export * from './constants';
10
+ export * from './lifecycle';
11
+ export * from './lifecycle/registry';
10
12
  export * from './standard';
11
13
  export * from './author';
12
14
  export { createEvent } from '@sharpee/core';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAK5B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
package/actions/index.js CHANGED
@@ -29,6 +29,12 @@ Object.defineProperty(exports, "MetaCommandRegistry", { enumerable: true, get: f
29
29
  // Implementation
30
30
  __exportStar(require("./registry"), exports);
31
31
  __exportStar(require("./constants"), exports);
32
+ // Interceptor lifecycle engine (ADR-228) — descriptors + shared hook runner
33
+ __exportStar(require("./lifecycle"), exports);
34
+ // Wired-action registry (ADR-228 D5) — the descriptor table + derived id set.
35
+ // Exported here, NOT from the lifecycle barrel: actions import that barrel,
36
+ // and this module imports the actions (cycle otherwise).
37
+ __exportStar(require("./lifecycle/registry"), exports);
32
38
  // Standard actions
33
39
  __exportStar(require("./standard"), exports);
34
40
  // Author/debug actions
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,8DAA8D;AAC9D,mDAAiC;AACjC,qDAAmC;AAEnC,uBAAuB;AACvB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,iDAAsD;AAA7C,oHAAA,mBAAmB,OAAA;AAE5B,iBAAiB;AACjB,6CAA2B;AAC3B,8CAA4B;AAE5B,mBAAmB;AACnB,6CAA2B;AAE3B,uBAAuB;AACvB,2CAAyB;AAEzB,mBAAmB;AACnB,sCAA4C;AAAnC,mGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,8DAA8D;AAC9D,mDAAiC;AACjC,qDAAmC;AAEnC,uBAAuB;AACvB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,iDAAsD;AAA7C,oHAAA,mBAAmB,OAAA;AAE5B,iBAAiB;AACjB,6CAA2B;AAC3B,8CAA4B;AAE5B,4EAA4E;AAC5E,8CAA4B;AAE5B,8EAA8E;AAC9E,4EAA4E;AAC5E,yDAAyD;AACzD,uDAAqC;AAErC,mBAAmB;AACnB,6CAA2B;AAE3B,uBAAuB;AACvB,2CAAyB;AAEzB,mBAAmB;AACnB,sCAA4C;AAAnC,mGAAA,WAAW,OAAA"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Interceptor lifecycle descriptors (ADR-228).
3
+ *
4
+ * A descriptor is an action's declarative statement of its interceptor
5
+ * surface: which command entities carry interceptors under which action
6
+ * ids, in what order they are consulted, and which rare special contracts
7
+ * apply. The shared lifecycle engine (`lifecycle-engine.ts`) executes the
8
+ * ADR-228 rulings (D1 veto-only, D2 structured onBlocked, D3 all-entities
9
+ * fixed order, D4 per-item multi-object) against this declaration — the
10
+ * action never hand-rolls hook plumbing.
11
+ *
12
+ * An action is "wired" for interceptors iff it has a descriptor; the
13
+ * stdlib wired-action registry (ADR-228 D5) is derived mechanically from
14
+ * the descriptor table, never hand-maintained.
15
+ *
16
+ * Public interface: `ActionLifecycleDescriptor`, `EntitySlotSpec`,
17
+ * `LifecycleContracts`.
18
+ * Owner: stdlib standard-action infrastructure (ADR-228).
19
+ */
20
+ import { IFEntity } from '@sharpee/world-model';
21
+ import { ActionContext } from '../enhanced-types';
22
+ /**
23
+ * One consultable entity slot of a command.
24
+ *
25
+ * Slots are declared in the published consultation order (ADR-228 D3-B):
26
+ * direct object → indirect object / instrument → action-specific implicit
27
+ * entities (e.g. going's door, source room, destination room; exiting's
28
+ * current container). Validate-phase vetoes stop the chain at the first
29
+ * vetoing slot; postExecute/postReport run for every slot that survived.
30
+ *
31
+ * Both-ids rule (ADR-228 D6): a slot may consult more than one action id
32
+ * (specific id first — e.g. removing consults `if.action.removing` then
33
+ * `if.action.taking` on the item). One physical operation can therefore
34
+ * fire hooks under two ids; a trait should register its interceptor under
35
+ * exactly one of them to avoid double-mutation.
36
+ */
37
+ export interface EntitySlotSpec {
38
+ /**
39
+ * Slot identity — stable, human-readable, unique within the descriptor
40
+ * (e.g. 'directObject', 'container', 'item', 'weapon', 'door', 'source',
41
+ * 'destination'). Used in docs, diagnostics, and tests.
42
+ */
43
+ id: string;
44
+ /**
45
+ * Action ids to consult on this slot's entity, in consultation order
46
+ * (specific id before delegated id per D6).
47
+ */
48
+ actionIds: string[];
49
+ /**
50
+ * Resolve this slot's entity from the command. Return `undefined` when
51
+ * the slot is not present in this particular command (e.g. no indirect
52
+ * object) — the slot is then skipped, never an error.
53
+ *
54
+ * Implicit-entity slots resolve here too (going's source/destination
55
+ * rooms, exiting's current container) — resolution is not limited to
56
+ * parsed command objects.
57
+ */
58
+ resolve(context: ActionContext): IFEntity | undefined;
59
+ /**
60
+ * Optional seed for the slot's per-consultation sharedData, applied at
61
+ * resolve time. Used for symmetric cross-entity context (ADR-228 D3
62
+ * sub-ruling: the item-side hook in putting/inserting receives the
63
+ * container id, mirroring how the container's hook receives the item id).
64
+ *
65
+ * @param context - The action context.
66
+ * @param entity - This slot's resolved entity.
67
+ * @param multiObjectItem - In a multi-object per-item resolution (D4),
68
+ * the item currently being processed — so a shared slot (e.g. the
69
+ * container in "put all in case") can seed per-item context like the
70
+ * item id. Undefined for single-object commands and for the item slot
71
+ * itself (where `entity` IS the item).
72
+ */
73
+ seedData?(context: ActionContext, entity: IFEntity, multiObjectItem?: IFEntity): Record<string, unknown>;
74
+ }
75
+ /**
76
+ * Rare, explicit special contracts (ADR-228 D7.3). A contract changes the
77
+ * engine's standard hook semantics for the action and MUST be declared
78
+ * here — never encoded as a comment or an ad-hoc branch in the action.
79
+ */
80
+ export interface LifecycleContracts {
81
+ /**
82
+ * attacking only: when a combatant target's interceptor implements
83
+ * postExecute, that hook REPLACES the action's standard combat
84
+ * resolution instead of running after it. The action reads this flag to
85
+ * decide whether to run its core execute logic; the engine still runs
86
+ * the hook itself normally.
87
+ */
88
+ postExecuteReplacesCore?: boolean;
89
+ }
90
+ /**
91
+ * An action's declarative interceptor surface (ADR-228 D0-B).
92
+ *
93
+ * Supplied by the action to the lifecycle engine at each phase boundary.
94
+ * Descriptors are static per action (module-level constants) — anything
95
+ * command-dependent lives in slot `resolve`/`seedData` functions.
96
+ */
97
+ export interface ActionLifecycleDescriptor {
98
+ /**
99
+ * The action's primary id (e.g. `IFActions.TAKING`). Used for
100
+ * diagnostics and the D5 registry derivation.
101
+ */
102
+ actionId: string;
103
+ /**
104
+ * Entity slots in the published consultation order (D3-B): direct
105
+ * object → indirect/instrument → implicit entities.
106
+ */
107
+ slots: EntitySlotSpec[];
108
+ /** Rare special contracts (D7.3). Omit unless the ADR names one. */
109
+ contracts?: LifecycleContracts;
110
+ }
111
+ //# sourceMappingURL=descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/lifecycle/descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEtD;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,CACP,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,QAAQ,EAChB,eAAe,CAAC,EAAE,QAAQ,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;IAExB,oEAAoE;IACpE,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Interceptor lifecycle descriptors (ADR-228).
4
+ *
5
+ * A descriptor is an action's declarative statement of its interceptor
6
+ * surface: which command entities carry interceptors under which action
7
+ * ids, in what order they are consulted, and which rare special contracts
8
+ * apply. The shared lifecycle engine (`lifecycle-engine.ts`) executes the
9
+ * ADR-228 rulings (D1 veto-only, D2 structured onBlocked, D3 all-entities
10
+ * fixed order, D4 per-item multi-object) against this declaration — the
11
+ * action never hand-rolls hook plumbing.
12
+ *
13
+ * An action is "wired" for interceptors iff it has a descriptor; the
14
+ * stdlib wired-action registry (ADR-228 D5) is derived mechanically from
15
+ * the descriptor table, never hand-maintained.
16
+ *
17
+ * Public interface: `ActionLifecycleDescriptor`, `EntitySlotSpec`,
18
+ * `LifecycleContracts`.
19
+ * Owner: stdlib standard-action infrastructure (ADR-228).
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ //# sourceMappingURL=descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/lifecycle/descriptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Interceptor lifecycle engine barrel (ADR-228).
3
+ *
4
+ * The shared implementation of the ADR-118 interceptor lifecycle:
5
+ * descriptors declare an action's interceptor surface; the engine runs
6
+ * the D1-D4 rulings exactly once. See `lifecycle-engine.ts` for the
7
+ * contract details.
8
+ *
9
+ * Owner: stdlib standard-action infrastructure (ADR-228).
10
+ */
11
+ export { ActionLifecycleDescriptor, EntitySlotSpec, LifecycleContracts } from './descriptor';
12
+ export { LifecycleState, ResolvedConsultation, ResolveLifecycleOptions, resolveLifecycle, getLifecycleState, runPreValidate, runPostValidate, runPostExecute, runPostReport, runOnBlocked } from './lifecycle-engine';
13
+ export { MultiObjectItemState, runMultiObjectValidate, getMultiObjectLifecycle, runMultiObjectExecute, runMultiObjectReport } from './multi-object-lifecycle';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * Interceptor lifecycle engine barrel (ADR-228).
4
+ *
5
+ * The shared implementation of the ADR-118 interceptor lifecycle:
6
+ * descriptors declare an action's interceptor surface; the engine runs
7
+ * the D1-D4 rulings exactly once. See `lifecycle-engine.ts` for the
8
+ * contract details.
9
+ *
10
+ * Owner: stdlib standard-action infrastructure (ADR-228).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.runMultiObjectReport = exports.runMultiObjectExecute = exports.getMultiObjectLifecycle = exports.runMultiObjectValidate = exports.runOnBlocked = exports.runPostReport = exports.runPostExecute = exports.runPostValidate = exports.runPreValidate = exports.getLifecycleState = exports.resolveLifecycle = void 0;
14
+ var lifecycle_engine_1 = require("./lifecycle-engine");
15
+ Object.defineProperty(exports, "resolveLifecycle", { enumerable: true, get: function () { return lifecycle_engine_1.resolveLifecycle; } });
16
+ Object.defineProperty(exports, "getLifecycleState", { enumerable: true, get: function () { return lifecycle_engine_1.getLifecycleState; } });
17
+ Object.defineProperty(exports, "runPreValidate", { enumerable: true, get: function () { return lifecycle_engine_1.runPreValidate; } });
18
+ Object.defineProperty(exports, "runPostValidate", { enumerable: true, get: function () { return lifecycle_engine_1.runPostValidate; } });
19
+ Object.defineProperty(exports, "runPostExecute", { enumerable: true, get: function () { return lifecycle_engine_1.runPostExecute; } });
20
+ Object.defineProperty(exports, "runPostReport", { enumerable: true, get: function () { return lifecycle_engine_1.runPostReport; } });
21
+ Object.defineProperty(exports, "runOnBlocked", { enumerable: true, get: function () { return lifecycle_engine_1.runOnBlocked; } });
22
+ var multi_object_lifecycle_1 = require("./multi-object-lifecycle");
23
+ Object.defineProperty(exports, "runMultiObjectValidate", { enumerable: true, get: function () { return multi_object_lifecycle_1.runMultiObjectValidate; } });
24
+ Object.defineProperty(exports, "getMultiObjectLifecycle", { enumerable: true, get: function () { return multi_object_lifecycle_1.getMultiObjectLifecycle; } });
25
+ Object.defineProperty(exports, "runMultiObjectExecute", { enumerable: true, get: function () { return multi_object_lifecycle_1.runMultiObjectExecute; } });
26
+ Object.defineProperty(exports, "runMultiObjectReport", { enumerable: true, get: function () { return multi_object_lifecycle_1.runMultiObjectReport; } });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/lifecycle/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAQH,uDAW4B;AAP1B,oHAAA,gBAAgB,OAAA;AAChB,qHAAA,iBAAiB,OAAA;AACjB,kHAAA,cAAc,OAAA;AACd,mHAAA,eAAe,OAAA;AACf,kHAAA,cAAc,OAAA;AACd,iHAAA,aAAa,OAAA;AACb,gHAAA,YAAY,OAAA;AAGd,mEAMkC;AAJhC,gIAAA,sBAAsB,OAAA;AACtB,iIAAA,uBAAuB,OAAA;AACvB,+HAAA,qBAAqB,OAAA;AACrB,8HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Interceptor lifecycle engine (ADR-228).
3
+ *
4
+ * The single implementation of the ADR-118 interceptor lifecycle. Actions
5
+ * declare their interceptor surface as an `ActionLifecycleDescriptor` and
6
+ * call the engine at their four phase boundaries; the engine owns the
7
+ * rulings exactly once:
8
+ *
9
+ * - D1 — veto-only guards: a validate hook acts only when it returns
10
+ * `{valid: false}`; any other result (including `{valid: true}`) falls
11
+ * through. No hook can skip standard validation or later consultations.
12
+ * (The explicit force-allow marker is a reserved, unimplemented
13
+ * extension — see ADR-228 D1.)
14
+ * - D2 — structured onBlocked: `{ override?, emit? }` applied against the
15
+ * standard blocked event, which always survives.
16
+ * - D3 — all command entities consulted in the descriptor's published
17
+ * slot order, each consultation with its own sharedData; first veto
18
+ * stops the validate chain; postExecute/postReport run for every
19
+ * consultation once the action proceeds.
20
+ * - Override arbitration: at most one consultation may return an
21
+ * `override` per report/blocked application — a second is a hard error,
22
+ * mirroring ADR-106's "multiple game.message reactions" rule.
23
+ *
24
+ * Multi-object commands (D4) run one lifecycle per item via
25
+ * `multi-object-lifecycle.ts`, built on the same primitives.
26
+ *
27
+ * Public interface: `resolveLifecycle`, `getLifecycleState`,
28
+ * `runPreValidate`, `runPostValidate`, `runPostExecute`, `runPostReport`,
29
+ * `runOnBlocked`, `LifecycleState`, `ResolvedConsultation`.
30
+ * Owner: stdlib standard-action infrastructure (ADR-228).
31
+ */
32
+ import { ISemanticEvent } from '@sharpee/core';
33
+ import { IFEntity, InterceptorSharedData } from '@sharpee/world-model';
34
+ import type { ActionInterceptor } from '@sharpee/world-model';
35
+ import { ActionContext, ValidationResult } from '../enhanced-types';
36
+ import { ActionLifecycleDescriptor } from './descriptor';
37
+ /**
38
+ * One resolved (entity, actionId) interceptor consultation.
39
+ *
40
+ * A slot that consults two action ids (D6 both-ids) yields up to two
41
+ * consultations; each has its own `data` (D3 sharedData isolation).
42
+ */
43
+ export interface ResolvedConsultation {
44
+ /** The descriptor slot this consultation came from. */
45
+ slotId: string;
46
+ /** The action id the interceptor was resolved under. */
47
+ actionId: string;
48
+ /** The entity whose trait declared the interceptor. */
49
+ entity: IFEntity;
50
+ /** The resolved interceptor. */
51
+ interceptor: ActionInterceptor;
52
+ /** Per-consultation shared data, isolated from other consultations. */
53
+ data: InterceptorSharedData;
54
+ }
55
+ /**
56
+ * The command's resolved lifecycle: the descriptor plus every
57
+ * consultation found for the command's entities, in consultation order.
58
+ */
59
+ export interface LifecycleState {
60
+ descriptor: ActionLifecycleDescriptor;
61
+ consultations: ResolvedConsultation[];
62
+ }
63
+ /**
64
+ * Options for `resolveLifecycle`.
65
+ */
66
+ export interface ResolveLifecycleOptions {
67
+ /**
68
+ * Substitute a specific entity for one slot instead of calling its
69
+ * `resolve` — used by the multi-object helper (D4) to bind each
70
+ * expanded item to the item slot. The resulting state is NOT stored in
71
+ * sharedData (per-item states live in the multi-object results).
72
+ */
73
+ slotOverride?: {
74
+ slotId: string;
75
+ entity: IFEntity;
76
+ };
77
+ }
78
+ /**
79
+ * Resolve an action's interceptor consultations for the current command.
80
+ *
81
+ * Iterates the descriptor's slots in published order (D3-B); for each
82
+ * slot that resolves to an entity, consults the world's interceptor
83
+ * registry under each of the slot's action ids (D6 order). Every match
84
+ * becomes a `ResolvedConsultation` with fresh sharedData (seeded via the
85
+ * slot's `seedData`, if any).
86
+ *
87
+ * Stores the state in `context.sharedData` (unless `slotOverride` is
88
+ * used) so later phases can fetch it with `getLifecycleState`.
89
+ *
90
+ * @param context - The action context.
91
+ * @param descriptor - The action's declared interceptor surface.
92
+ * @param options - See `ResolveLifecycleOptions`.
93
+ * @returns The resolved lifecycle state (possibly with zero consultations).
94
+ */
95
+ export declare function resolveLifecycle(context: ActionContext, descriptor: ActionLifecycleDescriptor, options?: ResolveLifecycleOptions): LifecycleState;
96
+ /**
97
+ * Fetch the lifecycle state stored by `resolveLifecycle` for this command.
98
+ *
99
+ * @param context - The action context.
100
+ * @returns The state, or `undefined` if `resolveLifecycle` has not run.
101
+ */
102
+ export declare function getLifecycleState(context: ActionContext): LifecycleState | undefined;
103
+ /**
104
+ * Run every consultation's `preValidate` hook in order (D3-B).
105
+ *
106
+ * First veto wins: returns that veto as a `ValidationResult` and stops
107
+ * consulting. Returns `null` when no hook vetoes (the action continues
108
+ * with standard validation — D1: hooks cannot approve, only object).
109
+ *
110
+ * @param context - The action context.
111
+ * @param state - The resolved lifecycle state.
112
+ */
113
+ export declare function runPreValidate(context: ActionContext, state: LifecycleState): ValidationResult | null;
114
+ /**
115
+ * Run every consultation's `postValidate` hook in order (D3-B).
116
+ *
117
+ * Canonical placement (ADR-228): after ALL standard validation has
118
+ * passed. First veto wins; returns `null` when no hook vetoes.
119
+ *
120
+ * @param context - The action context.
121
+ * @param state - The resolved lifecycle state.
122
+ */
123
+ export declare function runPostValidate(context: ActionContext, state: LifecycleState): ValidationResult | null;
124
+ /**
125
+ * Run every consultation's `postExecute` hook in order (D3-B: all
126
+ * consultations survived validation once the action executed).
127
+ *
128
+ * Note the `postExecuteReplacesCore` contract (D7.3) governs whether the
129
+ * ACTION runs its own core logic — the engine always runs the hooks
130
+ * themselves normally.
131
+ *
132
+ * @param context - The action context.
133
+ * @param state - The resolved lifecycle state.
134
+ */
135
+ export declare function runPostExecute(context: ActionContext, state: LifecycleState): void;
136
+ /**
137
+ * Run every consultation's `postReport` hook and apply the results to the
138
+ * action's events.
139
+ *
140
+ * At most ONE consultation may return an `override` — a second is a hard
141
+ * error (throws), mirroring the `InterceptorReportResult` contract's
142
+ * ADR-106 rule. `emit` effects append in consultation order.
143
+ *
144
+ * @param context - The action context.
145
+ * @param state - The resolved lifecycle state.
146
+ * @param events - The action's events array; mutated in place.
147
+ * @param primaryEventType - The event type an `override` targets.
148
+ * @param searchFrom - Index in `events` where this report began — override
149
+ * targeting searches from here so per-item applications (D4) land on
150
+ * the item's own event, not an earlier item's.
151
+ */
152
+ export declare function runPostReport(context: ActionContext, state: LifecycleState, events: ISemanticEvent[], primaryEventType: string, searchFrom?: number): void;
153
+ /**
154
+ * Run every consultation's `onBlocked` hook and apply the results to the
155
+ * action's blocked events (D2: the standard blocked event always
156
+ * survives; `override` swaps its message, `emit` appends).
157
+ *
158
+ * All resolved consultations are notified — including ones the validate
159
+ * chain never reached — matching the D3 author model ("a clause on any
160
+ * entity involved in the command fires"). At most one `override` (hard
161
+ * error otherwise).
162
+ *
163
+ * @param context - The action context.
164
+ * @param state - The resolved lifecycle state.
165
+ * @param events - The blocked events array (standard blocked event
166
+ * already pushed); mutated in place.
167
+ * @param blockedEventType - The standard blocked event's type.
168
+ * @param error - The validation error code the action was blocked with.
169
+ * @param searchFrom - Index in `events` where this item's blocked report
170
+ * began (D4 per-item targeting).
171
+ */
172
+ export declare function runOnBlocked(context: ActionContext, state: LifecycleState, events: ISemanticEvent[], blockedEventType: string, error: string, searchFrom?: number): void;
173
+ //# sourceMappingURL=lifecycle-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-engine.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/lifecycle/lifecycle-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,QAAQ,EACR,qBAAqB,EAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AASzD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,EAAE,QAAQ,CAAC;IACjB,gCAAgC;IAChC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,uEAAuE;IACvE,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,yBAAyB,CAAC;IACtC,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,yBAAyB,EACrC,OAAO,CAAC,EAAE,uBAAuB,GAChC,cAAc,CAoChB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,GAAG,SAAS,CAEpF;AAaD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,GACpB,gBAAgB,GAAG,IAAI,CASzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,GACpB,gBAAgB,GAAG,IAAI,CASzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAIlF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,EAAE,EACxB,gBAAgB,EAAE,MAAM,EACxB,UAAU,GAAE,MAAU,GACrB,IAAI,CAkBN;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,EAAE,EACxB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAU,GACrB,IAAI,CAkBN"}