@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
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiggingMessages = void 0;
4
+ /**
5
+ * Message constants for the digging action (ADR-230 Phase 6)
6
+ *
7
+ * These constants provide type safety for message IDs within stdlib.
8
+ * The lang-en-us package uses matching string literals (stable, injected at runtime).
9
+ */
10
+ exports.DiggingMessages = {
11
+ // Error messages
12
+ NO_TARGET: 'no_target',
13
+ NOT_DIGGABLE: 'not_diggable',
14
+ CANT_DIG: 'cant_dig',
15
+ // Tool requirement (shared ids from tool-shared.ts)
16
+ NO_TOOL: 'no_tool',
17
+ TOOL_NOT_HELD: 'tool_not_held',
18
+ WRONG_TOOL: 'wrong_tool',
19
+ // Success message (typically overridden by the entity's implementation)
20
+ DUG: 'dug',
21
+ };
22
+ //# sourceMappingURL=digging-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digging-messages.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/digging/digging-messages.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,oDAAoD;IACpD,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IAExB,wEAAwE;IACxE,GAAG,EAAE,KAAK;CACF,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Digging action (ADR-230 Phase 6 (sketch ruling 6, cutting template)) — trait-gated, implementation-dispatching.
3
+ *
4
+ * The action itself performs NO mutation. DiggableTrait gates eligibility
5
+ * and carries the author-configured tool requirement; the dig OUTCOME is
6
+ * the target entity's own registered implementation, on either surface
7
+ * (dual-surface re-pin, 2026-07-17):
8
+ * - an ADR-090 capability behavior registered for if.action.digging
9
+ * (TS authors), invoked from execute/report/blocked; or
10
+ * - an ADR-228 interceptor (Chord `on digging it`) whose postExecute
11
+ * owns the mutation and whose postReport owns the narration.
12
+ *
13
+ * A diggable entity with NEITHER surface refuses with cant_dig — the
14
+ * runtime safety net behind the Chord loader's load-time check.
15
+ *
16
+ * Four-phase pattern (ADR-051):
17
+ * 1. validate: diggable gate, tool requirement, implementation presence
18
+ * 2. execute: delegate to the capability behavior, if that's the surface
19
+ * 3. report: behavior effects, or the standard cut event for interceptors
20
+ * 4. blocked: standard blocked event through the lifecycle engine
21
+ */
22
+ import { Action } from '../../enhanced-types';
23
+ import { ActionMetadata } from '../../../validation';
24
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
25
+ /**
26
+ * Interceptor surface (ADR-228, ADR-230 Phase 6 (sketch ruling 6, cutting template)): the cut target and any
27
+ * explicit tool are the consultable entities of a DIG command, published
28
+ * order target → tool (D3-B). Explicit tools only — mirrors locking's key
29
+ * slot (ADR-229 R2).
30
+ */
31
+ export declare const diggingLifecycle: ActionLifecycleDescriptor;
32
+ export declare const diggingAction: Action & {
33
+ metadata: ActionMetadata;
34
+ };
35
+ //# sourceMappingURL=digging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digging.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/digging/digging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAU/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,yBA6B9B,CAAC;AAqBF,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAqL9D,CAAC"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ /**
3
+ * Digging action (ADR-230 Phase 6 (sketch ruling 6, cutting template)) — trait-gated, implementation-dispatching.
4
+ *
5
+ * The action itself performs NO mutation. DiggableTrait gates eligibility
6
+ * and carries the author-configured tool requirement; the dig OUTCOME is
7
+ * the target entity's own registered implementation, on either surface
8
+ * (dual-surface re-pin, 2026-07-17):
9
+ * - an ADR-090 capability behavior registered for if.action.digging
10
+ * (TS authors), invoked from execute/report/blocked; or
11
+ * - an ADR-228 interceptor (Chord `on digging it`) whose postExecute
12
+ * owns the mutation and whose postReport owns the narration.
13
+ *
14
+ * A diggable entity with NEITHER surface refuses with cant_dig — the
15
+ * runtime safety net behind the Chord loader's load-time check.
16
+ *
17
+ * Four-phase pattern (ADR-051):
18
+ * 1. validate: diggable gate, tool requirement, implementation presence
19
+ * 2. execute: delegate to the capability behavior, if that's the surface
20
+ * 3. report: behavior effects, or the standard cut event for interceptors
21
+ * 4. blocked: standard blocked event through the lifecycle engine
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.diggingAction = exports.diggingLifecycle = void 0;
25
+ const world_model_1 = require("@sharpee/world-model");
26
+ const constants_1 = require("../../constants");
27
+ const types_1 = require("../../../scope/types");
28
+ const digging_messages_1 = require("./digging-messages");
29
+ const tool_shared_1 = require("../tool-shared");
30
+ const utils_1 = require("../../../utils");
31
+ const lifecycle_1 = require("../../lifecycle");
32
+ /**
33
+ * Interceptor surface (ADR-228, ADR-230 Phase 6 (sketch ruling 6, cutting template)): the cut target and any
34
+ * explicit tool are the consultable entities of a DIG command, published
35
+ * order target → tool (D3-B). Explicit tools only — mirrors locking's key
36
+ * slot (ADR-229 R2).
37
+ */
38
+ exports.diggingLifecycle = {
39
+ actionId: constants_1.IFActions.DIGGING,
40
+ slots: [
41
+ {
42
+ id: 'target',
43
+ actionIds: [constants_1.IFActions.DIGGING],
44
+ resolve: (ctx) => ctx.command.directObject?.entity,
45
+ seedData: (ctx, entity) => {
46
+ const tool = ctx.command.instrument?.entity ?? ctx.command.indirectObject?.entity;
47
+ return {
48
+ targetId: entity.id,
49
+ targetName: entity.name,
50
+ toolId: tool?.id,
51
+ toolName: tool?.name
52
+ };
53
+ }
54
+ },
55
+ {
56
+ id: 'tool',
57
+ actionIds: [constants_1.IFActions.DIGGING],
58
+ resolve: (ctx) => ctx.command.instrument?.entity ?? ctx.command.indirectObject?.entity,
59
+ seedData: (ctx, entity) => ({
60
+ toolId: entity.id,
61
+ toolName: entity.name,
62
+ targetId: ctx.command.directObject?.entity?.id,
63
+ targetName: ctx.command.directObject?.entity?.name
64
+ })
65
+ }
66
+ ]
67
+ };
68
+ /**
69
+ * Convert capability effects to semantic events. Effect messageIds are
70
+ * forwarded unchanged — implementations MUST emit fully-qualified ids
71
+ * (stdlib CLAUDE.md capability-effect rule; short keys render blank on
72
+ * the universal dispatch path).
73
+ */
74
+ function effectsToEvents(effects, context) {
75
+ return effects.map((effect) => context.event(effect.type, { ...effect.payload }));
76
+ }
77
+ exports.diggingAction = {
78
+ id: constants_1.IFActions.DIGGING,
79
+ defaultScope: {
80
+ target: types_1.ScopeLevel.REACHABLE
81
+ },
82
+ requiresHolding: false,
83
+ requiredMessages: [
84
+ 'no_target',
85
+ 'not_diggable',
86
+ 'cant_dig',
87
+ 'no_tool',
88
+ 'tool_not_held',
89
+ 'wrong_tool',
90
+ 'dug'
91
+ ],
92
+ metadata: {
93
+ requiresDirectObject: true,
94
+ requiresIndirectObject: false,
95
+ directObjectScope: types_1.ScopeLevel.REACHABLE
96
+ },
97
+ group: 'manipulation',
98
+ validate(context) {
99
+ const noun = context.command.directObject?.entity;
100
+ if (!noun) {
101
+ return { valid: false, error: digging_messages_1.DiggingMessages.NO_TARGET };
102
+ }
103
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.diggingLifecycle);
104
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
105
+ if (preVeto)
106
+ return preVeto;
107
+ const scopeCheck = context.requireScope(noun, types_1.ScopeLevel.REACHABLE);
108
+ if (!scopeCheck.ok) {
109
+ return scopeCheck.error;
110
+ }
111
+ // Eligibility gate: only a diggable entity can be cut.
112
+ if (!noun.has(world_model_1.TraitType.DIGGABLE)) {
113
+ return {
114
+ valid: false,
115
+ error: digging_messages_1.DiggingMessages.NOT_DIGGABLE,
116
+ params: { item: (0, utils_1.nounPhraseFor)(noun) }
117
+ };
118
+ }
119
+ // Author-configured tool requirement (shared helper, PIN 2).
120
+ const tool = context.command.instrument?.entity ?? context.command.indirectObject?.entity;
121
+ const toolValidation = (0, tool_shared_1.validateToolRequirements)(context, noun, tool, world_model_1.DiggableBehavior.requiresTool(noun), (toolId) => world_model_1.DiggableBehavior.canDigWith(noun, toolId));
122
+ if (toolValidation) {
123
+ return toolValidation;
124
+ }
125
+ // Implementation presence (dual-surface): a capability behavior on one
126
+ // of the target's traits, or an interceptor consulting this action.
127
+ const capabilityTrait = (0, world_model_1.findTraitWithCapability)(noun, constants_1.IFActions.DIGGING);
128
+ const behavior = capabilityTrait
129
+ ? context.world.getBehaviorForCapability(capabilityTrait, constants_1.IFActions.DIGGING)
130
+ : undefined;
131
+ const hasInterceptor = !!context.world.getInterceptorForAction(noun, constants_1.IFActions.DIGGING);
132
+ if (!behavior && !hasInterceptor) {
133
+ // Runtime safety net — the Chord loader's post-load check is the
134
+ // primary catch for unimplemented diggables.
135
+ return {
136
+ valid: false,
137
+ error: digging_messages_1.DiggingMessages.CANT_DIG,
138
+ params: { item: (0, utils_1.nounPhraseFor)(noun) }
139
+ };
140
+ }
141
+ let data;
142
+ if (behavior) {
143
+ const sharedData = {};
144
+ const behaviorResult = behavior.validate(noun, context.world, context.player.id, sharedData);
145
+ if (!behaviorResult.valid) {
146
+ return {
147
+ valid: false,
148
+ error: behaviorResult.error,
149
+ params: behaviorResult.params
150
+ };
151
+ }
152
+ data = { behavior, sharedData };
153
+ }
154
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
155
+ if (postVeto)
156
+ return postVeto;
157
+ return { valid: true, data };
158
+ },
159
+ /**
160
+ * Execute — the action mutates NOTHING itself. A capability-behavior
161
+ * implementation runs here; an interceptor implementation runs in its
162
+ * own postExecute hook via the lifecycle engine.
163
+ */
164
+ execute(context) {
165
+ const noun = context.command.directObject.entity;
166
+ const data = context.validationResult?.data;
167
+ if (data?.behavior) {
168
+ data.behavior.execute(noun, context.world, context.player.id, data.sharedData);
169
+ context.sharedData.diggingDispatch = data;
170
+ }
171
+ const state = (0, lifecycle_1.getLifecycleState)(context);
172
+ if (state)
173
+ (0, lifecycle_1.runPostExecute)(context, state);
174
+ },
175
+ report(context) {
176
+ const noun = context.command.directObject.entity;
177
+ const tool = context.command.instrument?.entity ?? context.command.indirectObject?.entity;
178
+ const data = (context.sharedData.diggingDispatch ?? context.validationResult?.data);
179
+ let events;
180
+ if (data?.behavior) {
181
+ // Capability surface: the implementation owns the narration.
182
+ events = effectsToEvents(data.behavior.report(noun, context.world, context.player.id, data.sharedData), context);
183
+ }
184
+ else {
185
+ // Interceptor surface: standard cut event; the implementation's
186
+ // postReport override typically replaces the generic message.
187
+ events = [
188
+ context.event('if.event.dug', {
189
+ messageId: `${context.action.id}.${digging_messages_1.DiggingMessages.DUG}`,
190
+ params: { item: (0, utils_1.nounPhraseFor)(noun), tool: tool ? (0, utils_1.nounPhraseFor)(tool) : undefined },
191
+ targetId: noun.id,
192
+ targetName: noun.name,
193
+ toolId: tool?.id,
194
+ toolName: tool?.name,
195
+ actorId: context.player.id
196
+ })
197
+ ];
198
+ }
199
+ const state = (0, lifecycle_1.getLifecycleState)(context);
200
+ if (state)
201
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.dug');
202
+ return events;
203
+ },
204
+ blocked(context, result) {
205
+ const noun = context.command.directObject?.entity;
206
+ const error = result.error || '';
207
+ const messageId = error.includes('.') ? error : `${context.action.id}.${error}`;
208
+ const events = [
209
+ context.event('if.event.dug_blocked', {
210
+ messageId,
211
+ params: {
212
+ ...result.params,
213
+ item: noun ? (0, utils_1.nounPhraseFor)(noun) : undefined
214
+ },
215
+ targetId: noun?.id,
216
+ targetName: noun?.name,
217
+ reason: result.error
218
+ })
219
+ ];
220
+ if (result.error) {
221
+ const state = (0, lifecycle_1.getLifecycleState)(context);
222
+ if (state)
223
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.dug_blocked', result.error);
224
+ }
225
+ return events;
226
+ }
227
+ };
228
+ //# sourceMappingURL=digging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digging.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/digging/digging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Digging action (ADR-230 Phase 6) — public exports.
3
+ */
4
+ export { diggingAction, diggingLifecycle } from './digging';
5
+ export { DiggingMessages } from './digging-messages';
6
+ export type { DiggingMessageId } from './digging-messages';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/digging/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiggingMessages = exports.diggingLifecycle = exports.diggingAction = void 0;
4
+ /**
5
+ * Digging action (ADR-230 Phase 6) — public exports.
6
+ */
7
+ var digging_1 = require("./digging");
8
+ Object.defineProperty(exports, "diggingAction", { enumerable: true, get: function () { return digging_1.diggingAction; } });
9
+ Object.defineProperty(exports, "diggingLifecycle", { enumerable: true, get: function () { return digging_1.diggingLifecycle; } });
10
+ var digging_messages_1 = require("./digging-messages");
11
+ Object.defineProperty(exports, "DiggingMessages", { enumerable: true, get: function () { return digging_messages_1.DiggingMessages; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/digging/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,qCAA4D;AAAnD,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACxC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"}
@@ -9,9 +9,18 @@
9
9
  * 2. execute: Perform implicit take if needed, store data in sharedData
10
10
  * 3. blocked: Generate events when validation fails
11
11
  * 4. report: Generate success events
12
+ *
13
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
14
+ * engine (ADR-228) via `drinkingLifecycle` — no hand-rolled hook plumbing.
12
15
  */
13
16
  import { Action } from '../../enhanced-types';
14
17
  import { ActionMetadata } from '../../../validation';
18
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
19
+ /**
20
+ * Interceptor surface (ADR-228): the drunk item is the only consultable
21
+ * entity of a DRINK command.
22
+ */
23
+ export declare const drinkingLifecycle: ActionLifecycleDescriptor;
15
24
  export declare const drinkingAction: Action & {
16
25
  metadata: ActionMetadata;
17
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drinking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/drinking/drinking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyHrD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAqN/D,CAAC"}
1
+ {"version":3,"file":"drinking.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/drinking/drinking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,yBAS/B,CAAC;AAuHF,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA0O/D,CAAC"}
@@ -10,13 +10,31 @@
10
10
  * 2. execute: Perform implicit take if needed, store data in sharedData
11
11
  * 3. blocked: Generate events when validation fails
12
12
  * 4. report: Generate success events
13
+ *
14
+ * Interceptor consultation (ADR-118) runs through the shared lifecycle
15
+ * engine (ADR-228) via `drinkingLifecycle` — no hand-rolled hook plumbing.
13
16
  */
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.drinkingAction = void 0;
18
+ exports.drinkingAction = exports.drinkingLifecycle = void 0;
16
19
  const world_model_1 = require("@sharpee/world-model");
17
20
  const constants_1 = require("../../constants");
18
21
  const types_1 = require("../../../scope/types");
19
22
  const utils_1 = require("../../../utils");
23
+ const lifecycle_1 = require("../../lifecycle");
24
+ /**
25
+ * Interceptor surface (ADR-228): the drunk item is the only consultable
26
+ * entity of a DRINK command.
27
+ */
28
+ exports.drinkingLifecycle = {
29
+ actionId: constants_1.IFActions.DRINKING,
30
+ slots: [
31
+ {
32
+ id: 'item',
33
+ actionIds: [constants_1.IFActions.DRINKING],
34
+ resolve: (ctx) => ctx.command.directObject?.entity
35
+ }
36
+ ]
37
+ };
20
38
  function getDrinkingSharedData(context) {
21
39
  return context.sharedData;
22
40
  }
@@ -152,6 +170,10 @@ exports.drinkingAction = {
152
170
  if (!item) {
153
171
  return { valid: false, error: 'no_item' };
154
172
  }
173
+ const state = (0, lifecycle_1.resolveLifecycle)(context, exports.drinkingLifecycle);
174
+ const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
175
+ if (preVeto)
176
+ return preVeto;
155
177
  // Check scope - must be able to reach the item
156
178
  const scopeCheck = context.requireScope(item, types_1.ScopeLevel.REACHABLE);
157
179
  if (!scopeCheck.ok) {
@@ -182,6 +204,10 @@ exports.drinkingAction = {
182
204
  if (containerTrait && item.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(item)) {
183
205
  return { valid: false, error: 'container_closed', params: { item: (0, utils_1.nounPhraseFor)(item) } };
184
206
  }
207
+ // Canonical placement (ADR-228): postValidate runs after ALL standard validation
208
+ const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
209
+ if (postVeto)
210
+ return postVeto;
185
211
  return { valid: true };
186
212
  },
187
213
  /**
@@ -248,13 +274,16 @@ exports.drinkingAction = {
248
274
  sharedData.messageId = messageId;
249
275
  sharedData.params = params;
250
276
  sharedData.eventData = eventData;
277
+ const state = (0, lifecycle_1.getLifecycleState)(context);
278
+ if (state)
279
+ (0, lifecycle_1.runPostExecute)(context, state);
251
280
  },
252
281
  /**
253
282
  * Generate events when validation fails
254
283
  */
255
284
  blocked(context, result) {
256
285
  const item = context.command.directObject?.entity;
257
- return [context.event('if.event.drunk', {
286
+ const events = [context.event('if.event.drunk', {
258
287
  blocked: true,
259
288
  messageId: `${context.action.id}.${result.error}`,
260
289
  // params carry EntityInfo for the formatter chain (ADR-158)
@@ -263,6 +292,12 @@ exports.drinkingAction = {
263
292
  itemId: item?.id,
264
293
  itemName: item?.name
265
294
  })];
295
+ if (result.error) {
296
+ const state = (0, lifecycle_1.getLifecycleState)(context);
297
+ if (state)
298
+ (0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.drunk', result.error);
299
+ }
300
+ return events;
266
301
  },
267
302
  /**
268
303
  * Report phase - generates all events after successful execution
@@ -285,6 +320,9 @@ exports.drinkingAction = {
285
320
  params: sharedData.params || {},
286
321
  ...sharedData.eventData
287
322
  }));
323
+ const state = (0, lifecycle_1.getLifecycleState)(context);
324
+ if (state)
325
+ (0, lifecycle_1.runPostReport)(context, state, events, 'if.event.drunk');
288
326
  return events;
289
327
  }
290
328
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drinking.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/drinking/drinking.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAIH,sDAAgH;AAChH,+CAA4C;AAG5C,gDAAkD;AAClD,0CAA+C;AAc/C,SAAS,qBAAqB,CAAC,OAAsB;IACnD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,WAAoC,EACpC,cAA0C,EAC1C,SAAyB,EACzB,MAA2B;IAE3B,IAAI,SAAS,GAAG,OAAO,CAAC;IAExB,iCAAiC;IACjC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC9B,SAAS,CAAC,iBAAiB,GAAG,QAAQ,GAAG,CAAC,CAAC;YAC3C,SAAS,GAAG,SAAS,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3E,CAAC;QAED,sBAAsB;QACtB,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,aAAa,GAA2B;gBAC5C,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,QAAQ;aACtB,CAAC;YACF,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YACxC,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,SAAS,GAAG,iBAAiB,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnD,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,WAAW,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,SAAS,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;YACxD,IAAI,WAAW,CAAC,eAAe,KAAK,IAAI,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAClE,SAAS,GAAG,iBAAiB,CAAC;YAChC,CAAC;iBAAM,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;gBACjD,SAAS,GAAG,eAAe,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,cAAc,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QACpD,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;QAE/B,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;QACnD,CAAC;QAED,IAAI,cAAc,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC9C,SAAS,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;YACrD,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAEzE,IAAI,SAAS,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;gBACpC,SAAS,GAAG,WAAW,CAAC;YAC1B,CAAC;iBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACjC,SAAS,GAAG,gBAAgB,CAAC;gBAC7B,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,YAAY,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACxD,MAAM,YAAY,GAA2B;YAC3C,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,QAAQ;SACpB,CAAC;QACF,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAEY,QAAA,cAAc,GAA0C;IACnE,EAAE,EAAE,qBAAS,CAAC,QAAQ;IAEtB,qDAAqD;IACrD,YAAY,EAAE;QACZ,IAAI,EAAE,kBAAU,CAAC,SAAS;KAC3B;IAED,KAAK,EAAE,aAAa;IAEpB,QAAQ,EAAE;QACR,oBAAoB,EAAE,IAAI;QAC1B,sBAAsB,EAAE,KAAK;QAC7B,iBAAiB,EAAE,kBAAU,CAAC,SAAS;KACxC;IAED,gBAAgB,EAAE;QAChB,SAAS;QACT,aAAa;QACb,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,gBAAgB;QAChB,WAAW;QACX,cAAc;QACd,QAAQ;QACR,SAAS;QACT,QAAQ;KACT;IAED,QAAQ,CAAC,OAAsB;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAElD,6BAA6B;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,kBAAU,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,KAAM,CAAC;QAC3B,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,WAAoC,CAAC;QACzC,IAAI,cAA0C,CAAC;QAE/C,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAgB,CAAC;YACxD,WAAW,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAmB,CAAC;YACjE,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,4BAA4B;QAC5B,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5F,CAAC;QAED,sCAAsC;QACtC,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5F,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAsB;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAa,CAAC,MAAO,CAAC;QACnD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAElD,aAAa;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAgB;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAS,CAAC,SAAS,CAAmB;YACjD,CAAC,CAAC,SAAS,CAAC;QAEd,wBAAwB;QACxB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,KAAK,KAAK,CAAC,EAAE,CAAC;QAEzC,mBAAmB;QACnB,MAAM,SAAS,GAAmB;YAChC,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC;QAEF,4DAA4D;QAC5D,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QAEF,sDAAsD;QACtD,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,4BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,gDAAgD;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC;QAClF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEzF,gEAAgE;QAEhE,wDAAwD;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,+DAA+D;QAC/D,IAAI,WAAW,EAAE,CAAC;YAChB,yEAAyE;YACzE,4BAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEpC,qDAAqD;YACrD,MAAM,aAAa,GAAG,4BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;gBACpC,SAAS,CAAC,iBAAiB,GAAG,aAAa,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,cAAc,IAAI,cAAc,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,aAAa,GAAG,cAAc,CAAC,YAAY,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YACjD,cAAc,CAAC,YAAY,GAAG,SAAS,CAAC;YAExC,qDAAqD;YACrD,SAAS,CAAC,YAAY,GAAG,aAAa,CAAC;YACvC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,sBAAsB;QACtB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACjC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAsB,EAAE,MAAwB;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBACtC,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;gBACjD,4DAA4D;gBAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;gBAC1E,MAAM,EAAE,MAAM,CAAC,KAAK;gBACpB,MAAM,EAAE,IAAI,EAAE,EAAE;gBAChB,QAAQ,EAAE,IAAI,EAAE,IAAI;aACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAsB;QAC3B,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAElD,wCAAwC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,iBAAiB,GAA2B;gBAChD,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,qDAAqD;QACrD,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,IAAI,EAAE;YAC/B,GAAG,UAAU,CAAC,SAAS;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"drinking.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/drinking/drinking.ts"],"names":[],"mappings":"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"}
@@ -4,24 +4,25 @@
4
4
  * Provides type-safe access to shared data for multi-object support
5
5
  */
6
6
  import { EntityId } from '@sharpee/core';
7
- import { IFEntity, ActionInterceptor, InterceptorSharedData } from '@sharpee/world-model';
8
7
  /**
9
- * Result of validating/executing a single entity in multi-object command
8
+ * Per-item mutation scratch for dropping one entity. For a single-object
9
+ * command this lives on the action's sharedData; for a multi-object
10
+ * command each item gets its own copy via the lifecycle engine's per-item
11
+ * `itemData` (ADR-228 D4).
10
12
  */
11
- export interface DroppingItemResult {
12
- entity: IFEntity;
13
- success: boolean;
14
- error?: string;
15
- errorParams?: Record<string, unknown>;
13
+ export interface DroppingItemScratch {
14
+ /** Where the item was dropped to */
16
15
  dropLocation?: EntityId;
17
16
  }
18
17
  /**
19
18
  * Typed shared data for dropping action
20
19
  *
21
20
  * This interface defines all data that the dropping action
22
- * stores in context.sharedData for communication between phases
21
+ * stores in context.sharedData for communication between phases.
22
+ * Interceptor and multi-object state live in the lifecycle engine's
23
+ * reserved sharedData slots (ADR-228), not here.
23
24
  */
24
- export interface DroppingSharedData {
25
+ export interface DroppingSharedData extends DroppingItemScratch {
25
26
  /**
26
27
  * Result from ActorBehavior.dropItem for single-object drops
27
28
  */
@@ -29,15 +30,6 @@ export interface DroppingSharedData {
29
30
  success: boolean;
30
31
  droppedLocation?: EntityId;
31
32
  };
32
- /**
33
- * Multi-object support: results for each entity
34
- * When set, indicates this is a multi-object command
35
- */
36
- multiObjectResults?: DroppingItemResult[];
37
- /** Interceptor found during validate, if any (ADR-118) */
38
- interceptor?: ActionInterceptor;
39
- /** Shared data for interceptor phases */
40
- interceptorData?: InterceptorSharedData;
41
33
  }
42
34
  /**
43
35
  * Type guard to check if shared data has dropping-specific fields
@@ -1 +1 @@
1
- {"version":3,"file":"dropping-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,CAAC,EAAE,QAAQ,CAAC;KAC5B,CAAC;IAEF;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE1C,0DAA0D;IAC1D,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,yCAAyC;IACzC,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,kBAAkB,CAE1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAKtG"}
1
+ {"version":3,"file":"dropping-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,CAAC,EAAE,QAAQ,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,IAAI,kBAAkB,CAE1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,kBAAkB,CAKtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropping-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8CH,oDAEC;AAKD,sDAKC;AAfD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAyB;IAC5D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA4C;IAChF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"dropping-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoCH,oDAEC;AAKD,sDAKC;AAfD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAyB;IAC5D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA4C;IAChF,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC"}
@@ -14,6 +14,12 @@
14
14
  */
15
15
  import { Action } from '../../enhanced-types';
16
16
  import { ActionMetadata } from '../../../validation';
17
+ import { ActionLifecycleDescriptor } from '../../lifecycle';
18
+ /**
19
+ * Interceptor surface (ADR-228): the dropped item is the only consultable
20
+ * entity of a DROP command.
21
+ */
22
+ export declare const droppingLifecycle: ActionLifecycleDescriptor;
17
23
  export declare const droppingAction: Action & {
18
24
  metadata: ActionMetadata;
19
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dropping.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAe/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA6OrD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CA+L/D,CAAC"}
1
+ {"version":3,"file":"dropping.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/dropping/dropping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAa/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EACL,yBAAyB,EAY1B,MAAM,iBAAiB,CAAC;AAWzB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,yBAS/B,CAAC;AA+LF,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAwL/D,CAAC"}