@sharpee/stdlib 3.0.0 → 3.3.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.
- package/actions/author/index.d.ts +1 -1
- package/actions/author/index.d.ts.map +1 -1
- package/actions/author/index.js +2 -2
- package/actions/author/index.js.map +1 -1
- package/actions/author/trace.d.ts +3 -3
- package/actions/author/trace.d.ts.map +1 -1
- package/actions/author/trace.js +2 -2
- package/actions/author/trace.js.map +1 -1
- package/actions/base/index.d.ts +2 -2
- package/actions/base/index.d.ts.map +1 -1
- package/actions/base/index.js +2 -2
- package/actions/base/index.js.map +1 -1
- package/actions/base/migration-shim.d.ts +1 -1
- package/actions/base/migration-shim.d.ts.map +1 -1
- package/actions/base/report-helpers.d.ts +1 -1
- package/actions/base/report-helpers.d.ts.map +1 -1
- package/actions/base/report-helpers.js +3 -3
- package/actions/base/report-helpers.js.map +1 -1
- package/actions/base/snapshot-utils.js +2 -2
- package/actions/base/snapshot-utils.js.map +1 -1
- package/actions/capability-dispatch.d.ts +3 -3
- package/actions/capability-dispatch.d.ts.map +1 -1
- package/actions/capability-dispatch.js +18 -8
- package/actions/capability-dispatch.js.map +1 -1
- package/actions/constants.d.ts +2 -0
- package/actions/constants.d.ts.map +1 -1
- package/actions/constants.js +3 -0
- package/actions/constants.js.map +1 -1
- package/actions/context-adapter.d.ts +2 -2
- package/actions/context-adapter.d.ts.map +1 -1
- package/actions/data-builder-types.d.ts +1 -1
- package/actions/data-builder-types.d.ts.map +1 -1
- package/actions/enhanced-context.d.ts +5 -4
- package/actions/enhanced-context.d.ts.map +1 -1
- package/actions/enhanced-context.js +85 -67
- package/actions/enhanced-context.js.map +1 -1
- package/actions/enhanced-types.d.ts +29 -3
- package/actions/enhanced-types.d.ts.map +1 -1
- package/actions/enhanced-types.js.map +1 -1
- package/actions/helpers/emit-illustrations.d.ts +1 -1
- package/actions/helpers/emit-illustrations.d.ts.map +1 -1
- package/actions/index.d.ts +10 -8
- package/actions/index.d.ts.map +1 -1
- package/actions/index.js +16 -10
- package/actions/index.js.map +1 -1
- package/actions/lifecycle/descriptor.d.ts +111 -0
- package/actions/lifecycle/descriptor.d.ts.map +1 -0
- package/actions/lifecycle/descriptor.js +22 -0
- package/actions/lifecycle/descriptor.js.map +1 -0
- package/actions/lifecycle/index.d.ts +14 -0
- package/actions/lifecycle/index.d.ts.map +1 -0
- package/actions/lifecycle/index.js +28 -0
- package/actions/lifecycle/index.js.map +1 -0
- package/actions/lifecycle/lifecycle-engine.d.ts +189 -0
- package/actions/lifecycle/lifecycle-engine.d.ts.map +1 -0
- package/actions/lifecycle/lifecycle-engine.js +272 -0
- package/actions/lifecycle/lifecycle-engine.js.map +1 -0
- package/actions/lifecycle/multi-object-lifecycle.d.ts +113 -0
- package/actions/lifecycle/multi-object-lifecycle.d.ts.map +1 -0
- package/actions/lifecycle/multi-object-lifecycle.js +138 -0
- package/actions/lifecycle/multi-object-lifecycle.js.map +1 -0
- package/actions/lifecycle/registry.d.ts +40 -0
- package/actions/lifecycle/registry.d.ts.map +1 -0
- package/actions/lifecycle/registry.js +131 -0
- package/actions/lifecycle/registry.js.map +1 -0
- package/actions/meta-action.d.ts +1 -1
- package/actions/meta-action.d.ts.map +1 -1
- package/actions/meta-action.js +2 -2
- package/actions/meta-action.js.map +1 -1
- package/actions/registry.d.ts +2 -2
- package/actions/registry.d.ts.map +1 -1
- package/actions/standard/about/about.d.ts +2 -2
- package/actions/standard/about/about.d.ts.map +1 -1
- package/actions/standard/about/about.js +4 -3
- package/actions/standard/about/about.js.map +1 -1
- package/actions/standard/about/index.d.ts +2 -2
- package/actions/standard/about/index.d.ts.map +1 -1
- package/actions/standard/about/index.js +2 -2
- package/actions/standard/about/index.js.map +1 -1
- package/actions/standard/again/again.d.ts +2 -2
- package/actions/standard/again/again.d.ts.map +1 -1
- package/actions/standard/again/again.js +4 -3
- package/actions/standard/again/again.js.map +1 -1
- package/actions/standard/again/index.d.ts +2 -2
- package/actions/standard/again/index.d.ts.map +1 -1
- package/actions/standard/again/index.js +2 -2
- package/actions/standard/again/index.js.map +1 -1
- package/actions/standard/asking/asking.d.ts +25 -0
- package/actions/standard/asking/asking.d.ts.map +1 -0
- package/actions/standard/asking/asking.js +123 -0
- package/actions/standard/asking/asking.js.map +1 -0
- package/actions/standard/asking/index.d.ts +5 -0
- package/actions/standard/asking/index.d.ts.map +1 -0
- package/actions/standard/asking/index.js +10 -0
- package/actions/standard/asking/index.js.map +1 -0
- package/actions/standard/attacking/attacking-data.d.ts +2 -2
- package/actions/standard/attacking/attacking-data.d.ts.map +1 -1
- package/actions/standard/attacking/attacking-events.d.ts +1 -1
- package/actions/standard/attacking/attacking-events.d.ts.map +1 -1
- package/actions/standard/attacking/attacking-types.d.ts +3 -0
- package/actions/standard/attacking/attacking-types.d.ts.map +1 -1
- package/actions/standard/attacking/attacking-types.js.map +1 -1
- package/actions/standard/attacking/attacking.d.ts +16 -2
- package/actions/standard/attacking/attacking.d.ts.map +1 -1
- package/actions/standard/attacking/attacking.js +194 -127
- package/actions/standard/attacking/attacking.js.map +1 -1
- package/actions/standard/attacking/index.d.ts +2 -2
- package/actions/standard/attacking/index.d.ts.map +1 -1
- package/actions/standard/attacking/index.js +5 -4
- package/actions/standard/attacking/index.js.map +1 -1
- package/actions/standard/climbing/climbing.d.ts +12 -2
- package/actions/standard/climbing/climbing.d.ts.map +1 -1
- package/actions/standard/climbing/climbing.js +111 -29
- package/actions/standard/climbing/climbing.js.map +1 -1
- package/actions/standard/climbing/index.d.ts +2 -2
- package/actions/standard/climbing/index.d.ts.map +1 -1
- package/actions/standard/climbing/index.js +2 -2
- package/actions/standard/climbing/index.js.map +1 -1
- package/actions/standard/closing/closing-data.d.ts +1 -1
- package/actions/standard/closing/closing-data.d.ts.map +1 -1
- package/actions/standard/closing/closing-data.js +3 -3
- package/actions/standard/closing/closing-data.js.map +1 -1
- package/actions/standard/closing/closing-event-data.d.ts +1 -1
- package/actions/standard/closing/closing-event-data.d.ts.map +1 -1
- package/actions/standard/closing/closing.d.ts +8 -2
- package/actions/standard/closing/closing.d.ts.map +1 -1
- package/actions/standard/closing/closing.js +61 -78
- package/actions/standard/closing/closing.js.map +1 -1
- package/actions/standard/closing/index.d.ts +3 -3
- package/actions/standard/closing/index.d.ts.map +1 -1
- package/actions/standard/closing/index.js +2 -2
- package/actions/standard/closing/index.js.map +1 -1
- package/actions/standard/cutting/cutting-messages.d.ts +17 -0
- package/actions/standard/cutting/cutting-messages.d.ts.map +1 -0
- package/actions/standard/cutting/cutting-messages.js +22 -0
- package/actions/standard/cutting/cutting-messages.js.map +1 -0
- package/actions/standard/cutting/cutting.d.ts +35 -0
- package/actions/standard/cutting/cutting.d.ts.map +1 -0
- package/actions/standard/cutting/cutting.js +232 -0
- package/actions/standard/cutting/cutting.js.map +1 -0
- package/actions/standard/cutting/index.d.ts +7 -0
- package/actions/standard/cutting/index.d.ts.map +1 -0
- package/actions/standard/cutting/index.js +12 -0
- package/actions/standard/cutting/index.js.map +1 -0
- package/actions/standard/deadly-room-death/deadly-room-death.d.ts +16 -0
- package/actions/standard/deadly-room-death/deadly-room-death.d.ts.map +1 -0
- package/actions/standard/deadly-room-death/deadly-room-death.js +44 -0
- package/actions/standard/deadly-room-death/deadly-room-death.js.map +1 -0
- package/actions/standard/deadly-room-death/index.d.ts +2 -0
- package/actions/standard/deadly-room-death/index.d.ts.map +1 -0
- package/actions/standard/deadly-room-death/index.js +6 -0
- package/actions/standard/deadly-room-death/index.js.map +1 -0
- package/actions/standard/digging/digging-messages.d.ts +17 -0
- package/actions/standard/digging/digging-messages.d.ts.map +1 -0
- package/actions/standard/digging/digging-messages.js +22 -0
- package/actions/standard/digging/digging-messages.js.map +1 -0
- package/actions/standard/digging/digging.d.ts +35 -0
- package/actions/standard/digging/digging.d.ts.map +1 -0
- package/actions/standard/digging/digging.js +232 -0
- package/actions/standard/digging/digging.js.map +1 -0
- package/actions/standard/digging/index.d.ts +7 -0
- package/actions/standard/digging/index.d.ts.map +1 -0
- package/actions/standard/digging/index.js +12 -0
- package/actions/standard/digging/index.js.map +1 -0
- package/actions/standard/drinking/drinking.d.ts +11 -2
- package/actions/standard/drinking/drinking.d.ts.map +1 -1
- package/actions/standard/drinking/drinking.js +53 -15
- package/actions/standard/drinking/drinking.js.map +1 -1
- package/actions/standard/drinking/index.d.ts +2 -2
- package/actions/standard/drinking/index.d.ts.map +1 -1
- package/actions/standard/drinking/index.js +3 -3
- package/actions/standard/drinking/index.js.map +1 -1
- package/actions/standard/dropping/dropping-data.d.ts +2 -2
- package/actions/standard/dropping/dropping-data.d.ts.map +1 -1
- package/actions/standard/dropping/dropping-data.js +9 -9
- package/actions/standard/dropping/dropping-data.js.map +1 -1
- package/actions/standard/dropping/dropping-events.d.ts +1 -1
- package/actions/standard/dropping/dropping-events.d.ts.map +1 -1
- package/actions/standard/dropping/dropping-types.d.ts +10 -18
- package/actions/standard/dropping/dropping-types.d.ts.map +1 -1
- package/actions/standard/dropping/dropping-types.js.map +1 -1
- package/actions/standard/dropping/dropping.d.ts +8 -2
- package/actions/standard/dropping/dropping.d.ts.map +1 -1
- package/actions/standard/dropping/dropping.js +135 -146
- package/actions/standard/dropping/dropping.js.map +1 -1
- package/actions/standard/dropping/index.d.ts +2 -2
- package/actions/standard/dropping/index.d.ts.map +1 -1
- package/actions/standard/dropping/index.js +2 -2
- package/actions/standard/dropping/index.js.map +1 -1
- package/actions/standard/eating/eating.d.ts +11 -2
- package/actions/standard/eating/eating.d.ts.map +1 -1
- package/actions/standard/eating/eating.js +53 -15
- package/actions/standard/eating/eating.js.map +1 -1
- package/actions/standard/eating/index.d.ts +2 -2
- package/actions/standard/eating/index.d.ts.map +1 -1
- package/actions/standard/eating/index.js +3 -3
- package/actions/standard/eating/index.js.map +1 -1
- package/actions/standard/entering/entering.d.ts +16 -7
- package/actions/standard/entering/entering.d.ts.map +1 -1
- package/actions/standard/entering/entering.js +65 -87
- package/actions/standard/entering/entering.js.map +1 -1
- package/actions/standard/entering/index.d.ts +2 -2
- package/actions/standard/entering/index.d.ts.map +1 -1
- package/actions/standard/entering/index.js +2 -2
- package/actions/standard/entering/index.js.map +1 -1
- package/actions/standard/examining/examining-data.d.ts +1 -1
- package/actions/standard/examining/examining-data.d.ts.map +1 -1
- package/actions/standard/examining/examining-data.js +72 -17
- package/actions/standard/examining/examining-data.js.map +1 -1
- package/actions/standard/examining/examining.d.ts +8 -2
- package/actions/standard/examining/examining.d.ts.map +1 -1
- package/actions/standard/examining/examining.js +54 -65
- package/actions/standard/examining/examining.js.map +1 -1
- package/actions/standard/examining/index.d.ts +2 -2
- package/actions/standard/examining/index.d.ts.map +1 -1
- package/actions/standard/examining/index.js +2 -2
- package/actions/standard/examining/index.js.map +1 -1
- package/actions/standard/exiting/exiting-messages.d.ts +2 -0
- package/actions/standard/exiting/exiting-messages.d.ts.map +1 -1
- package/actions/standard/exiting/exiting-messages.js +2 -0
- package/actions/standard/exiting/exiting-messages.js.map +1 -1
- package/actions/standard/exiting/exiting.d.ts +8 -2
- package/actions/standard/exiting/exiting.d.ts.map +1 -1
- package/actions/standard/exiting/exiting.js +88 -18
- package/actions/standard/exiting/exiting.js.map +1 -1
- package/actions/standard/exiting/index.d.ts +2 -2
- package/actions/standard/exiting/index.d.ts.map +1 -1
- package/actions/standard/exiting/index.js +2 -2
- package/actions/standard/exiting/index.js.map +1 -1
- package/actions/standard/giving/giving.d.ts +23 -2
- package/actions/standard/giving/giving.d.ts.map +1 -1
- package/actions/standard/giving/giving.js +100 -23
- package/actions/standard/giving/giving.js.map +1 -1
- package/actions/standard/giving/index.d.ts +2 -2
- package/actions/standard/giving/index.d.ts.map +1 -1
- package/actions/standard/giving/index.js +3 -3
- package/actions/standard/giving/index.js.map +1 -1
- package/actions/standard/going/going-data.d.ts +1 -1
- package/actions/standard/going/going-data.d.ts.map +1 -1
- package/actions/standard/going/going-data.js +6 -6
- package/actions/standard/going/going-data.js.map +1 -1
- package/actions/standard/going/going.d.ts +20 -18
- package/actions/standard/going/going.d.ts.map +1 -1
- package/actions/standard/going/going.js +185 -162
- package/actions/standard/going/going.js.map +1 -1
- package/actions/standard/going/index.d.ts +2 -2
- package/actions/standard/going/index.d.ts.map +1 -1
- package/actions/standard/going/index.js +5 -3
- package/actions/standard/going/index.js.map +1 -1
- package/actions/standard/help/help.d.ts +2 -2
- package/actions/standard/help/help.d.ts.map +1 -1
- package/actions/standard/help/help.js +4 -3
- package/actions/standard/help/help.js.map +1 -1
- package/actions/standard/help/index.d.ts +2 -2
- package/actions/standard/help/index.d.ts.map +1 -1
- package/actions/standard/help/index.js +2 -2
- package/actions/standard/help/index.js.map +1 -1
- package/actions/standard/hiding/concealment-break.js +19 -19
- package/actions/standard/hiding/concealment-break.js.map +1 -1
- package/actions/standard/hiding/hiding.d.ts +13 -4
- package/actions/standard/hiding/hiding.d.ts.map +1 -1
- package/actions/standard/hiding/hiding.js +59 -15
- package/actions/standard/hiding/hiding.js.map +1 -1
- package/actions/standard/hiding/index.d.ts +4 -4
- package/actions/standard/hiding/index.d.ts.map +1 -1
- package/actions/standard/hiding/index.js +6 -6
- package/actions/standard/hiding/index.js.map +1 -1
- package/actions/standard/hiding/revealing.d.ts +2 -2
- package/actions/standard/hiding/revealing.d.ts.map +1 -1
- package/actions/standard/hiding/revealing.js +4 -3
- package/actions/standard/hiding/revealing.js.map +1 -1
- package/actions/standard/index.d.ts +61 -56
- package/actions/standard/index.d.ts.map +1 -1
- package/actions/standard/index.js +181 -166
- package/actions/standard/index.js.map +1 -1
- package/actions/standard/inserting/index.d.ts +2 -2
- package/actions/standard/inserting/index.d.ts.map +1 -1
- package/actions/standard/inserting/index.js +3 -3
- package/actions/standard/inserting/index.js.map +1 -1
- package/actions/standard/inserting/inserting-data.d.ts +1 -1
- package/actions/standard/inserting/inserting-data.d.ts.map +1 -1
- package/actions/standard/inserting/inserting-data.js +3 -3
- package/actions/standard/inserting/inserting-data.js.map +1 -1
- package/actions/standard/inserting/inserting-events.d.ts +2 -2
- package/actions/standard/inserting/inserting-events.d.ts.map +1 -1
- package/actions/standard/inserting/inserting.d.ts +14 -2
- package/actions/standard/inserting/inserting.d.ts.map +1 -1
- package/actions/standard/inserting/inserting.js +96 -30
- package/actions/standard/inserting/inserting.js.map +1 -1
- package/actions/standard/inventory/index.d.ts +2 -2
- package/actions/standard/inventory/index.d.ts.map +1 -1
- package/actions/standard/inventory/index.js +3 -3
- package/actions/standard/inventory/index.js.map +1 -1
- package/actions/standard/inventory/inventory.d.ts +2 -2
- package/actions/standard/inventory/inventory.d.ts.map +1 -1
- package/actions/standard/inventory/inventory.js +20 -31
- package/actions/standard/inventory/inventory.js.map +1 -1
- package/actions/standard/listening/index.d.ts +2 -2
- package/actions/standard/listening/index.d.ts.map +1 -1
- package/actions/standard/listening/index.js +3 -3
- package/actions/standard/listening/index.js.map +1 -1
- package/actions/standard/listening/listening.d.ts +14 -3
- package/actions/standard/listening/listening.d.ts.map +1 -1
- package/actions/standard/listening/listening.js +53 -12
- package/actions/standard/listening/listening.js.map +1 -1
- package/actions/standard/lock-shared.d.ts +1 -1
- package/actions/standard/lock-shared.d.ts.map +1 -1
- package/actions/standard/lock-shared.js +10 -10
- package/actions/standard/lock-shared.js.map +1 -1
- package/actions/standard/locking/index.d.ts +2 -2
- package/actions/standard/locking/index.d.ts.map +1 -1
- package/actions/standard/locking/index.js +2 -2
- package/actions/standard/locking/index.js.map +1 -1
- package/actions/standard/locking/locking.d.ts +11 -2
- package/actions/standard/locking/locking.d.ts.map +1 -1
- package/actions/standard/locking/locking.js +86 -27
- package/actions/standard/locking/locking.js.map +1 -1
- package/actions/standard/looking/index.d.ts +4 -4
- package/actions/standard/looking/index.d.ts.map +1 -1
- package/actions/standard/looking/index.js +9 -9
- package/actions/standard/looking/index.js.map +1 -1
- package/actions/standard/looking/looking-data.d.ts +2 -2
- package/actions/standard/looking/looking-data.d.ts.map +1 -1
- package/actions/standard/looking/looking-data.js +15 -13
- package/actions/standard/looking/looking-data.js.map +1 -1
- package/actions/standard/looking/looking.d.ts +2 -2
- package/actions/standard/looking/looking.d.ts.map +1 -1
- package/actions/standard/looking/looking.js +15 -14
- package/actions/standard/looking/looking.js.map +1 -1
- package/actions/standard/looking/snippet-resolver.js +2 -2
- package/actions/standard/looking/snippet-resolver.js.map +1 -1
- package/actions/standard/lowering/index.d.ts +1 -1
- package/actions/standard/lowering/index.d.ts.map +1 -1
- package/actions/standard/lowering/index.js +2 -2
- package/actions/standard/lowering/index.js.map +1 -1
- package/actions/standard/lowering/lowering.d.ts +2 -2
- package/actions/standard/lowering/lowering.js +4 -4
- package/actions/standard/lowering/lowering.js.map +1 -1
- package/actions/standard/opening/index.d.ts +2 -2
- package/actions/standard/opening/index.d.ts.map +1 -1
- package/actions/standard/opening/index.js +2 -2
- package/actions/standard/opening/index.js.map +1 -1
- package/actions/standard/opening/opening-data.d.ts +2 -2
- package/actions/standard/opening/opening-data.d.ts.map +1 -1
- package/actions/standard/opening/opening-messages.d.ts +3 -0
- package/actions/standard/opening/opening-messages.d.ts.map +1 -1
- package/actions/standard/opening/opening-messages.js +4 -0
- package/actions/standard/opening/opening-messages.js.map +1 -1
- package/actions/standard/opening/opening.d.ts +10 -2
- package/actions/standard/opening/opening.d.ts.map +1 -1
- package/actions/standard/opening/opening.js +94 -82
- package/actions/standard/opening/opening.js.map +1 -1
- package/actions/standard/pulling/index.d.ts +2 -2
- package/actions/standard/pulling/index.d.ts.map +1 -1
- package/actions/standard/pulling/index.js +3 -3
- package/actions/standard/pulling/index.js.map +1 -1
- package/actions/standard/pulling/pulling.d.ts +11 -2
- package/actions/standard/pulling/pulling.d.ts.map +1 -1
- package/actions/standard/pulling/pulling.js +53 -15
- package/actions/standard/pulling/pulling.js.map +1 -1
- package/actions/standard/pushing/index.d.ts +2 -2
- package/actions/standard/pushing/index.d.ts.map +1 -1
- package/actions/standard/pushing/index.js +3 -3
- package/actions/standard/pushing/index.js.map +1 -1
- package/actions/standard/pushing/pushing-original.d.ts +2 -2
- package/actions/standard/pushing/pushing-original.d.ts.map +1 -1
- package/actions/standard/pushing/pushing-original.js +4 -4
- package/actions/standard/pushing/pushing-original.js.map +1 -1
- package/actions/standard/pushing/pushing-types.d.ts +3 -6
- package/actions/standard/pushing/pushing-types.d.ts.map +1 -1
- package/actions/standard/pushing/pushing-types.js +3 -1
- package/actions/standard/pushing/pushing-types.js.map +1 -1
- package/actions/standard/pushing/pushing.d.ts +16 -7
- package/actions/standard/pushing/pushing.d.ts.map +1 -1
- package/actions/standard/pushing/pushing.js +70 -90
- package/actions/standard/pushing/pushing.js.map +1 -1
- package/actions/standard/putting/index.d.ts +2 -2
- package/actions/standard/putting/index.d.ts.map +1 -1
- package/actions/standard/putting/index.js +3 -3
- package/actions/standard/putting/index.js.map +1 -1
- package/actions/standard/putting/putting-data.d.ts +1 -1
- package/actions/standard/putting/putting-data.d.ts.map +1 -1
- package/actions/standard/putting/putting-data.js +3 -3
- package/actions/standard/putting/putting-data.js.map +1 -1
- package/actions/standard/putting/putting-types.d.ts +10 -21
- package/actions/standard/putting/putting-types.d.ts.map +1 -1
- package/actions/standard/putting/putting-types.js +0 -1
- package/actions/standard/putting/putting-types.js.map +1 -1
- package/actions/standard/putting/putting.d.ts +12 -2
- package/actions/standard/putting/putting.d.ts.map +1 -1
- package/actions/standard/putting/putting.js +191 -209
- package/actions/standard/putting/putting.js.map +1 -1
- package/actions/standard/quitting/index.d.ts +2 -2
- package/actions/standard/quitting/index.d.ts.map +1 -1
- package/actions/standard/quitting/index.js +3 -3
- package/actions/standard/quitting/index.js.map +1 -1
- package/actions/standard/quitting/quitting.d.ts +2 -2
- package/actions/standard/quitting/quitting.d.ts.map +1 -1
- package/actions/standard/quitting/quitting.js +4 -3
- package/actions/standard/quitting/quitting.js.map +1 -1
- package/actions/standard/raising/index.d.ts +1 -1
- package/actions/standard/raising/index.d.ts.map +1 -1
- package/actions/standard/raising/index.js +2 -2
- package/actions/standard/raising/index.js.map +1 -1
- package/actions/standard/raising/raising.d.ts +2 -2
- package/actions/standard/raising/raising.js +4 -4
- package/actions/standard/raising/raising.js.map +1 -1
- package/actions/standard/reading/index.d.ts +2 -2
- package/actions/standard/reading/index.d.ts.map +1 -1
- package/actions/standard/reading/index.js +2 -2
- package/actions/standard/reading/index.js.map +1 -1
- package/actions/standard/reading/reading.d.ts +7 -1
- package/actions/standard/reading/reading.d.ts.map +1 -1
- package/actions/standard/reading/reading.js +47 -63
- package/actions/standard/reading/reading.js.map +1 -1
- package/actions/standard/removing/index.d.ts +1 -1
- package/actions/standard/removing/index.d.ts.map +1 -1
- package/actions/standard/removing/index.js +2 -2
- package/actions/standard/removing/index.js.map +1 -1
- package/actions/standard/removing/removing-data.d.ts +1 -1
- package/actions/standard/removing/removing-data.d.ts.map +1 -1
- package/actions/standard/removing/removing-data.js +4 -4
- package/actions/standard/removing/removing-data.js.map +1 -1
- package/actions/standard/removing/removing-events.d.ts +2 -2
- package/actions/standard/removing/removing-events.d.ts.map +1 -1
- package/actions/standard/removing/removing-types.d.ts +10 -16
- package/actions/standard/removing/removing-types.d.ts.map +1 -1
- package/actions/standard/removing/removing-types.js.map +1 -1
- package/actions/standard/removing/removing.d.ts +15 -2
- package/actions/standard/removing/removing.d.ts.map +1 -1
- package/actions/standard/removing/removing.js +201 -142
- package/actions/standard/removing/removing.js.map +1 -1
- package/actions/standard/restarting/index.d.ts +2 -2
- package/actions/standard/restarting/index.d.ts.map +1 -1
- package/actions/standard/restarting/index.js +3 -3
- package/actions/standard/restarting/index.js.map +1 -1
- package/actions/standard/restarting/restarting.d.ts +2 -2
- package/actions/standard/restarting/restarting.d.ts.map +1 -1
- package/actions/standard/restarting/restarting.js +4 -3
- package/actions/standard/restarting/restarting.js.map +1 -1
- package/actions/standard/restoring/index.d.ts +2 -2
- package/actions/standard/restoring/index.d.ts.map +1 -1
- package/actions/standard/restoring/index.js +3 -3
- package/actions/standard/restoring/index.js.map +1 -1
- package/actions/standard/restoring/restoring.d.ts +2 -2
- package/actions/standard/restoring/restoring.d.ts.map +1 -1
- package/actions/standard/restoring/restoring.js +4 -3
- package/actions/standard/restoring/restoring.js.map +1 -1
- package/actions/standard/saving/index.d.ts +2 -2
- package/actions/standard/saving/index.d.ts.map +1 -1
- package/actions/standard/saving/index.js +3 -3
- package/actions/standard/saving/index.js.map +1 -1
- package/actions/standard/saving/saving.d.ts +2 -2
- package/actions/standard/saving/saving.d.ts.map +1 -1
- package/actions/standard/saving/saving.js +4 -3
- package/actions/standard/saving/saving.js.map +1 -1
- package/actions/standard/scoring/index.d.ts +2 -2
- package/actions/standard/scoring/index.d.ts.map +1 -1
- package/actions/standard/scoring/index.js +2 -2
- package/actions/standard/scoring/index.js.map +1 -1
- package/actions/standard/scoring/scoring.d.ts +2 -2
- package/actions/standard/scoring/scoring.d.ts.map +1 -1
- package/actions/standard/scoring/scoring.js +4 -3
- package/actions/standard/scoring/scoring.js.map +1 -1
- package/actions/standard/searching/index.d.ts +2 -2
- package/actions/standard/searching/index.d.ts.map +1 -1
- package/actions/standard/searching/index.js +2 -2
- package/actions/standard/searching/index.js.map +1 -1
- package/actions/standard/searching/searching.d.ts +12 -2
- package/actions/standard/searching/searching.d.ts.map +1 -1
- package/actions/standard/searching/searching.js +61 -23
- package/actions/standard/searching/searching.js.map +1 -1
- package/actions/standard/searching-helpers.d.ts +1 -1
- package/actions/standard/searching-helpers.d.ts.map +1 -1
- package/actions/standard/searching-helpers.js +35 -23
- package/actions/standard/searching-helpers.js.map +1 -1
- package/actions/standard/showing/index.d.ts +2 -2
- package/actions/standard/showing/index.d.ts.map +1 -1
- package/actions/standard/showing/index.js +3 -3
- package/actions/standard/showing/index.js.map +1 -1
- package/actions/standard/showing/showing.d.ts +16 -2
- package/actions/standard/showing/showing.d.ts.map +1 -1
- package/actions/standard/showing/showing.js +77 -17
- package/actions/standard/showing/showing.js.map +1 -1
- package/actions/standard/sleeping/index.d.ts +2 -2
- package/actions/standard/sleeping/index.d.ts.map +1 -1
- package/actions/standard/sleeping/index.js +2 -2
- package/actions/standard/sleeping/index.js.map +1 -1
- package/actions/standard/sleeping/sleeping.d.ts +2 -2
- package/actions/standard/sleeping/sleeping.d.ts.map +1 -1
- package/actions/standard/sleeping/sleeping.js +4 -3
- package/actions/standard/sleeping/sleeping.js.map +1 -1
- package/actions/standard/smelling/index.d.ts +2 -2
- package/actions/standard/smelling/index.d.ts.map +1 -1
- package/actions/standard/smelling/index.js +3 -3
- package/actions/standard/smelling/index.js.map +1 -1
- package/actions/standard/smelling/smelling.d.ts +12 -2
- package/actions/standard/smelling/smelling.d.ts.map +1 -1
- package/actions/standard/smelling/smelling.js +50 -11
- package/actions/standard/smelling/smelling.js.map +1 -1
- package/actions/standard/switching-shared.d.ts +1 -1
- package/actions/standard/switching-shared.d.ts.map +1 -1
- package/actions/standard/switching_off/index.d.ts +2 -2
- package/actions/standard/switching_off/index.d.ts.map +1 -1
- package/actions/standard/switching_off/index.js +2 -2
- package/actions/standard/switching_off/index.js.map +1 -1
- package/actions/standard/switching_off/switching_off.d.ts +13 -3
- package/actions/standard/switching_off/switching_off.d.ts.map +1 -1
- package/actions/standard/switching_off/switching_off.js +61 -21
- package/actions/standard/switching_off/switching_off.js.map +1 -1
- package/actions/standard/switching_on/index.d.ts +2 -2
- package/actions/standard/switching_on/index.d.ts.map +1 -1
- package/actions/standard/switching_on/index.js +2 -2
- package/actions/standard/switching_on/index.js.map +1 -1
- package/actions/standard/switching_on/switching_on.d.ts +16 -7
- package/actions/standard/switching_on/switching_on.d.ts.map +1 -1
- package/actions/standard/switching_on/switching_on.js +67 -79
- package/actions/standard/switching_on/switching_on.js.map +1 -1
- package/actions/standard/taking/index.d.ts +1 -1
- package/actions/standard/taking/index.d.ts.map +1 -1
- package/actions/standard/taking/index.js +2 -2
- package/actions/standard/taking/index.js.map +1 -1
- package/actions/standard/taking/taking-data.d.ts +1 -1
- package/actions/standard/taking/taking-data.d.ts.map +1 -1
- package/actions/standard/taking/taking-data.js +5 -5
- package/actions/standard/taking/taking-data.js.map +1 -1
- package/actions/standard/taking/taking-types.d.ts +14 -36
- package/actions/standard/taking/taking-types.d.ts.map +1 -1
- package/actions/standard/taking/taking-types.js.map +1 -1
- package/actions/standard/taking/taking.d.ts +13 -2
- package/actions/standard/taking/taking.d.ts.map +1 -1
- package/actions/standard/taking/taking.js +145 -197
- package/actions/standard/taking/taking.js.map +1 -1
- package/actions/standard/taking_off/index.d.ts +1 -1
- package/actions/standard/taking_off/index.d.ts.map +1 -1
- package/actions/standard/taking_off/index.js +2 -2
- package/actions/standard/taking_off/index.js.map +1 -1
- package/actions/standard/taking_off/taking-off.d.ts +8 -2
- package/actions/standard/taking_off/taking-off.d.ts.map +1 -1
- package/actions/standard/taking_off/taking-off.js +74 -38
- package/actions/standard/taking_off/taking-off.js.map +1 -1
- package/actions/standard/talking/index.d.ts +2 -2
- package/actions/standard/talking/index.d.ts.map +1 -1
- package/actions/standard/talking/index.js +3 -3
- package/actions/standard/talking/index.js.map +1 -1
- package/actions/standard/talking/talking.d.ts +17 -2
- package/actions/standard/talking/talking.d.ts.map +1 -1
- package/actions/standard/talking/talking.js +57 -12
- package/actions/standard/talking/talking.js.map +1 -1
- package/actions/standard/telling/index.d.ts +5 -0
- package/actions/standard/telling/index.d.ts.map +1 -0
- package/actions/standard/telling/index.js +10 -0
- package/actions/standard/telling/index.js.map +1 -0
- package/actions/standard/telling/telling.d.ts +25 -0
- package/actions/standard/telling/telling.d.ts.map +1 -0
- package/actions/standard/telling/telling.js +123 -0
- package/actions/standard/telling/telling.js.map +1 -0
- package/actions/standard/throwing/index.d.ts +1 -1
- package/actions/standard/throwing/index.d.ts.map +1 -1
- package/actions/standard/throwing/index.js +2 -2
- package/actions/standard/throwing/index.js.map +1 -1
- package/actions/standard/throwing/throwing.d.ts +13 -2
- package/actions/standard/throwing/throwing.d.ts.map +1 -1
- package/actions/standard/throwing/throwing.js +92 -93
- package/actions/standard/throwing/throwing.js.map +1 -1
- package/actions/standard/tool-shared.d.ts +38 -0
- package/actions/standard/tool-shared.d.ts.map +1 -0
- package/actions/standard/tool-shared.js +74 -0
- package/actions/standard/tool-shared.js.map +1 -0
- package/actions/standard/touching/index.d.ts +2 -2
- package/actions/standard/touching/index.d.ts.map +1 -1
- package/actions/standard/touching/index.js +3 -3
- package/actions/standard/touching/index.js.map +1 -1
- package/actions/standard/touching/touching.d.ts +11 -2
- package/actions/standard/touching/touching.d.ts.map +1 -1
- package/actions/standard/touching/touching.js +50 -14
- package/actions/standard/touching/touching.js.map +1 -1
- package/actions/standard/turning/index.d.ts +7 -0
- package/actions/standard/turning/index.d.ts.map +1 -0
- package/actions/standard/turning/index.js +13 -0
- package/actions/standard/turning/index.js.map +1 -0
- package/actions/standard/turning/turning-messages.d.ts +14 -0
- package/actions/standard/turning/turning-messages.d.ts.map +1 -0
- package/actions/standard/turning/turning-messages.js +18 -0
- package/actions/standard/turning/turning-messages.js.map +1 -0
- package/actions/standard/turning/turning.d.ts +40 -0
- package/actions/standard/turning/turning.d.ts.map +1 -0
- package/actions/standard/turning/turning.js +197 -0
- package/actions/standard/turning/turning.js.map +1 -0
- package/actions/standard/undoing/index.d.ts +2 -2
- package/actions/standard/undoing/index.d.ts.map +1 -1
- package/actions/standard/undoing/index.js +3 -3
- package/actions/standard/undoing/index.js.map +1 -1
- package/actions/standard/undoing/undoing.d.ts +2 -2
- package/actions/standard/undoing/undoing.d.ts.map +1 -1
- package/actions/standard/undoing/undoing.js +2 -2
- package/actions/standard/undoing/undoing.js.map +1 -1
- package/actions/standard/unlocking/index.d.ts +2 -2
- package/actions/standard/unlocking/index.d.ts.map +1 -1
- package/actions/standard/unlocking/index.js +2 -2
- package/actions/standard/unlocking/index.js.map +1 -1
- package/actions/standard/unlocking/unlocking.d.ts +11 -2
- package/actions/standard/unlocking/unlocking.d.ts.map +1 -1
- package/actions/standard/unlocking/unlocking.js +84 -25
- package/actions/standard/unlocking/unlocking.js.map +1 -1
- package/actions/standard/version/engine-version.d.ts +6 -0
- package/actions/standard/version/engine-version.d.ts.map +1 -0
- package/actions/standard/version/engine-version.js +9 -0
- package/actions/standard/version/engine-version.js.map +1 -0
- package/actions/standard/version/index.d.ts +2 -2
- package/actions/standard/version/index.d.ts.map +1 -1
- package/actions/standard/version/index.js +3 -3
- package/actions/standard/version/index.js.map +1 -1
- package/actions/standard/version/version.d.ts +4 -4
- package/actions/standard/version/version.d.ts.map +1 -1
- package/actions/standard/version/version.js +10 -6
- package/actions/standard/version/version.js.map +1 -1
- package/actions/standard/waiting/index.d.ts +2 -2
- package/actions/standard/waiting/index.d.ts.map +1 -1
- package/actions/standard/waiting/index.js +2 -2
- package/actions/standard/waiting/index.js.map +1 -1
- package/actions/standard/waiting/waiting.d.ts +2 -2
- package/actions/standard/waiting/waiting.d.ts.map +1 -1
- package/actions/standard/waiting/waiting.js +4 -3
- package/actions/standard/waiting/waiting.js.map +1 -1
- package/actions/standard/wearable-shared.d.ts +1 -1
- package/actions/standard/wearable-shared.d.ts.map +1 -1
- package/actions/standard/wearable-shared.js +2 -2
- package/actions/standard/wearable-shared.js.map +1 -1
- package/actions/standard/wearing/index.d.ts +1 -1
- package/actions/standard/wearing/index.d.ts.map +1 -1
- package/actions/standard/wearing/index.js +2 -2
- package/actions/standard/wearing/index.js.map +1 -1
- package/actions/standard/wearing/wearing.d.ts +13 -3
- package/actions/standard/wearing/wearing.d.ts.map +1 -1
- package/actions/standard/wearing/wearing.js +73 -28
- package/actions/standard/wearing/wearing.js.map +1 -1
- package/capabilities/index.d.ts +6 -6
- package/capabilities/index.d.ts.map +1 -1
- package/capabilities/index.js +21 -21
- package/capabilities/index.js.map +1 -1
- package/chains/index.d.ts +2 -2
- package/chains/index.d.ts.map +1 -1
- package/chains/index.js +7 -7
- package/chains/index.js.map +1 -1
- package/channels/index.d.ts +5 -5
- package/channels/index.d.ts.map +1 -1
- package/channels/index.js +43 -43
- package/channels/index.js.map +1 -1
- package/channels/registry.js +6 -6
- package/channels/registry.js.map +1 -1
- package/channels/standard.d.ts +13 -10
- package/channels/standard.d.ts.map +1 -1
- package/channels/standard.js +21 -17
- package/channels/standard.js.map +1 -1
- package/combat/index.d.ts +1 -1
- package/combat/index.d.ts.map +1 -1
- package/combat/index.js +2 -2
- package/combat/index.js.map +1 -1
- package/death/deadly-room-transformer.d.ts +37 -0
- package/death/deadly-room-transformer.d.ts.map +1 -0
- package/death/deadly-room-transformer.js +79 -0
- package/death/deadly-room-transformer.js.map +1 -0
- package/death/index.d.ts +18 -0
- package/death/index.d.ts.map +1 -0
- package/death/index.js +28 -0
- package/death/index.js.map +1 -0
- package/death/kill-player.d.ts +49 -0
- package/death/kill-player.d.ts.map +1 -0
- package/death/kill-player.js +55 -0
- package/death/kill-player.js.map +1 -0
- package/death/player-death-events.d.ts +40 -0
- package/death/player-death-events.d.ts.map +1 -0
- package/death/player-death-events.js +27 -0
- package/death/player-death-events.js.map +1 -0
- package/death/probabilistic-death.d.ts +23 -0
- package/death/probabilistic-death.d.ts.map +1 -0
- package/death/probabilistic-death.js +27 -0
- package/death/probabilistic-death.js.map +1 -0
- package/events/event-registry.d.ts +34 -34
- package/events/event-registry.d.ts.map +1 -1
- package/events/index.d.ts +4 -4
- package/events/index.d.ts.map +1 -1
- package/events/index.js +4 -4
- package/events/index.js.map +1 -1
- package/helpers/index.d.ts +1 -1
- package/helpers/index.d.ts.map +1 -1
- package/helpers/index.js +1 -1
- package/helpers/index.js.map +1 -1
- package/helpers/multi-object-handler.d.ts +1 -1
- package/helpers/multi-object-handler.d.ts.map +1 -1
- package/helpers/multi-object-handler.js +8 -5
- package/helpers/multi-object-handler.js.map +1 -1
- package/index.d.ts +16 -15
- package/index.d.ts.map +1 -1
- package/index.js +16 -15
- package/index.js.map +1 -1
- package/inference/implicit-inference.d.ts +1 -1
- package/inference/implicit-inference.d.ts.map +1 -1
- package/inference/index.d.ts +1 -1
- package/inference/index.d.ts.map +1 -1
- package/inference/index.js +4 -4
- package/inference/index.js.map +1 -1
- package/npc/behaviors.d.ts +1 -1
- package/npc/behaviors.d.ts.map +1 -1
- package/npc/behaviors.js +20 -19
- package/npc/behaviors.js.map +1 -1
- package/npc/character-observer.js +6 -6
- package/npc/character-observer.js.map +1 -1
- package/npc/index.d.ts +7 -7
- package/npc/index.d.ts.map +1 -1
- package/npc/index.js +23 -23
- package/npc/index.js.map +1 -1
- package/npc/lucidity-decay.js +2 -2
- package/npc/lucidity-decay.js.map +1 -1
- package/npc/npc-service.d.ts +9 -1
- package/npc/npc-service.d.ts.map +1 -1
- package/npc/npc-service.js +33 -32
- package/npc/npc-service.js.map +1 -1
- package/package.json +7 -7
- package/query-handlers/index.d.ts +2 -2
- package/query-handlers/index.d.ts.map +1 -1
- package/query-handlers/index.js +3 -3
- package/query-handlers/index.js.map +1 -1
- package/scope/index.d.ts +3 -3
- package/scope/index.d.ts.map +1 -1
- package/scope/index.js +3 -3
- package/scope/index.js.map +1 -1
- package/scope/scope-resolver.d.ts +1 -1
- package/scope/scope-resolver.d.ts.map +1 -1
- package/scope/scope-resolver.js +13 -15
- package/scope/scope-resolver.js.map +1 -1
- package/scope/witness-system.d.ts +1 -1
- package/scope/witness-system.d.ts.map +1 -1
- package/scope/witness-system.js +16 -16
- package/scope/witness-system.js.map +1 -1
- package/services/index.d.ts +1 -1
- package/services/index.d.ts.map +1 -1
- package/services/index.js +2 -2
- package/services/index.js.map +1 -1
- package/utils/index.d.ts +1 -1
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +2 -2
- package/utils/index.js.map +1 -1
- package/utils/noun-phrase.d.ts.map +1 -1
- package/utils/noun-phrase.js +5 -0
- package/utils/noun-phrase.js.map +1 -1
- package/validation/command-validator.d.ts +68 -16
- package/validation/command-validator.d.ts.map +1 -1
- package/validation/command-validator.js +275 -211
- package/validation/command-validator.js.map +1 -1
- package/validation/index.d.ts +3 -3
- package/validation/index.d.ts.map +1 -1
- package/validation/index.js +2 -2
- package/validation/index.js.map +1 -1
- package/validation/types.d.ts +1 -1
- package/validation/types.d.ts.map +1 -1
- package/vocabulary/index.d.ts +1 -1
- package/vocabulary/index.d.ts.map +1 -1
- package/vocabulary/index.js +1 -1
- package/vocabulary/index.js.map +1 -1
- package/vocabulary/standard-english.d.ts +1 -1
- package/vocabulary/standard-english.d.ts.map +1 -1
- package/vocabulary/standard-english.js +5 -5
- package/vocabulary/standard-english.js.map +1 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Event type definitions for the removing action
|
|
3
3
|
* @module
|
|
4
4
|
*/
|
|
5
|
-
export { TakenEventData as RemovedEventData } from '../taking/taking-events';
|
|
5
|
+
export { TakenEventData as RemovedEventData } from '../taking/taking-events.js';
|
|
6
6
|
export interface RemovingEventMap {
|
|
7
|
-
'if.event.taken': import('../taking/taking-events').TakenEventData;
|
|
7
|
+
'if.event.taken': import('../taking/taking-events.js').TakenEventData;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=removing-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removing-events.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"removing-events.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,OAAO,4BAA4B,EAAE,cAAc,CAAC;CACvE"}
|
|
@@ -3,29 +3,23 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides type-safe access to shared data for multi-object support
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { IRemoveItemResult, IRemoveItemFromSupporterResult, ITakeItemResult } from '@sharpee/world-model';
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Per-item mutation scratch for removing 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).
|
|
9
12
|
*/
|
|
10
|
-
export interface
|
|
11
|
-
entity: IFEntity;
|
|
12
|
-
success: boolean;
|
|
13
|
-
error?: string;
|
|
14
|
-
errorParams?: Record<string, unknown>;
|
|
13
|
+
export interface RemovingItemScratch {
|
|
15
14
|
removeResult?: IRemoveItemResult | IRemoveItemFromSupporterResult | null;
|
|
16
15
|
takeResult?: ITakeItemResult;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
|
-
* Typed shared data for removing action
|
|
18
|
+
* Typed shared data for removing action.
|
|
19
|
+
* Interceptor and multi-object state live in the lifecycle engine's
|
|
20
|
+
* reserved sharedData slots (ADR-228), not here.
|
|
20
21
|
*/
|
|
21
|
-
export interface RemovingSharedData {
|
|
22
|
-
removeResult?: IRemoveItemResult | IRemoveItemFromSupporterResult | null;
|
|
23
|
-
takeResult?: ITakeItemResult;
|
|
24
|
-
/**
|
|
25
|
-
* Multi-object support: results for each entity
|
|
26
|
-
* When set, indicates this is a multi-object command
|
|
27
|
-
*/
|
|
28
|
-
multiObjectResults?: RemovingItemResult[];
|
|
22
|
+
export interface RemovingSharedData extends RemovingItemScratch {
|
|
29
23
|
}
|
|
30
24
|
/**
|
|
31
25
|
* Safely get typed shared data from context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removing-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"removing-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,iBAAiB,GAAG,8BAA8B,GAAG,IAAI,CAAC;IACzE,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;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":"removing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"removing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyBH,sDAKC;AARD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA4C;IAChF,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,UAAgC,CAAC;AAClD,CAAC"}
|
|
@@ -15,8 +15,21 @@
|
|
|
15
15
|
* - "remove all but X from box" - removes all except specified items
|
|
16
16
|
* - "remove X and Y from box" - removes multiple specified items
|
|
17
17
|
*/
|
|
18
|
-
import { Action } from '../../enhanced-types';
|
|
19
|
-
import { ActionMetadata } from '../../../validation';
|
|
18
|
+
import { Action } from '../../enhanced-types.js';
|
|
19
|
+
import { ActionMetadata } from '../../../validation/index.js';
|
|
20
|
+
import { ActionLifecycleDescriptor } from '../../lifecycle/index.js';
|
|
21
|
+
/**
|
|
22
|
+
* Interceptor surface (ADR-228). D6-B delegation-seam ruling: removing IS
|
|
23
|
+
* a take (it re-implements taking's mutation and emits `if.event.taken`),
|
|
24
|
+
* so the item is consulted under BOTH ids — `if.action.removing` first
|
|
25
|
+
* (the specific phrasing), then `if.action.taking`. A taking-guard (the
|
|
26
|
+
* TrollAxe class) can therefore never be bypassed by REMOVE FROM
|
|
27
|
+
* phrasing. Authors: one physical operation fires hooks under two ids —
|
|
28
|
+
* register a trait's interceptor under exactly ONE of them to avoid
|
|
29
|
+
* double-mutation. The source container/supporter is consulted under
|
|
30
|
+
* `if.action.removing` per D3-B (all command entities fire).
|
|
31
|
+
*/
|
|
32
|
+
export declare const removingLifecycle: ActionLifecycleDescriptor;
|
|
20
33
|
export declare const removingAction: Action & {
|
|
21
34
|
metadata: ActionMetadata;
|
|
22
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,
|
|
1
|
+
{"version":3,"file":"removing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/removing/removing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAyB9D,OAAO,EACL,yBAAyB,EAa1B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,yBA4C/B,CAAC;AAuPF,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAwO/D,CAAC"}
|
|
@@ -17,17 +17,74 @@
|
|
|
17
17
|
* - "remove X and Y from box" - removes multiple specified items
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.removingAction = void 0;
|
|
21
|
-
const
|
|
20
|
+
exports.removingAction = exports.removingLifecycle = void 0;
|
|
21
|
+
const snapshot_utils_js_1 = require("../../base/snapshot-utils.js");
|
|
22
22
|
const world_model_1 = require("@sharpee/world-model");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
23
|
+
const constants_js_1 = require("../../constants.js");
|
|
24
|
+
const index_js_1 = require("../../../scope/index.js");
|
|
25
|
+
const removing_messages_js_1 = require("./removing-messages.js");
|
|
26
26
|
// Import types
|
|
27
|
-
const
|
|
27
|
+
const removing_types_js_1 = require("./removing-types.js");
|
|
28
28
|
// Import multi-object helpers
|
|
29
|
-
const
|
|
30
|
-
const
|
|
29
|
+
const multi_object_handler_js_1 = require("../../../helpers/multi-object-handler.js");
|
|
30
|
+
const index_js_2 = require("../../../utils/index.js");
|
|
31
|
+
const index_js_3 = require("../../lifecycle/index.js");
|
|
32
|
+
/**
|
|
33
|
+
* Interceptor surface (ADR-228). D6-B delegation-seam ruling: removing IS
|
|
34
|
+
* a take (it re-implements taking's mutation and emits `if.event.taken`),
|
|
35
|
+
* so the item is consulted under BOTH ids — `if.action.removing` first
|
|
36
|
+
* (the specific phrasing), then `if.action.taking`. A taking-guard (the
|
|
37
|
+
* TrollAxe class) can therefore never be bypassed by REMOVE FROM
|
|
38
|
+
* phrasing. Authors: one physical operation fires hooks under two ids —
|
|
39
|
+
* register a trait's interceptor under exactly ONE of them to avoid
|
|
40
|
+
* double-mutation. The source container/supporter is consulted under
|
|
41
|
+
* `if.action.removing` per D3-B (all command entities fire).
|
|
42
|
+
*/
|
|
43
|
+
exports.removingLifecycle = {
|
|
44
|
+
actionId: constants_js_1.IFActions.REMOVING,
|
|
45
|
+
slots: [
|
|
46
|
+
{
|
|
47
|
+
id: 'item',
|
|
48
|
+
actionIds: [constants_js_1.IFActions.REMOVING, constants_js_1.IFActions.TAKING],
|
|
49
|
+
resolve: (ctx) => ctx.command.directObject?.entity,
|
|
50
|
+
seedData: (ctx, entity) => ({
|
|
51
|
+
itemId: entity.id,
|
|
52
|
+
itemName: entity.name,
|
|
53
|
+
sourceId: ctx.command.indirectObject?.entity?.id,
|
|
54
|
+
sourceName: ctx.command.indirectObject?.entity?.name
|
|
55
|
+
})
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 'source',
|
|
59
|
+
actionIds: [constants_js_1.IFActions.REMOVING],
|
|
60
|
+
resolve: (ctx) => ctx.command.indirectObject?.entity,
|
|
61
|
+
seedData: (ctx, entity, multiObjectItem) => {
|
|
62
|
+
const item = multiObjectItem ?? ctx.command.directObject?.entity;
|
|
63
|
+
return {
|
|
64
|
+
itemId: item?.id,
|
|
65
|
+
itemName: item?.name,
|
|
66
|
+
sourceId: entity.id,
|
|
67
|
+
sourceName: entity.name
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
// ADR-230 Phase 6 (sketch ruling 6): `take X from Y with Z` remapped
|
|
73
|
+
// from the orphan if.action.taking_with onto removing; the explicit
|
|
74
|
+
// tool is consultable (D3b treatment, interceptor-only — no trait
|
|
75
|
+
// requirement). Published order item → source → tool.
|
|
76
|
+
id: 'tool',
|
|
77
|
+
actionIds: [constants_js_1.IFActions.REMOVING],
|
|
78
|
+
resolve: (ctx) => ctx.command.instrument?.entity,
|
|
79
|
+
seedData: (ctx, entity) => ({
|
|
80
|
+
toolId: entity.id,
|
|
81
|
+
toolName: entity.name,
|
|
82
|
+
itemId: ctx.command.directObject?.entity?.id,
|
|
83
|
+
sourceId: ctx.command.indirectObject?.entity?.id
|
|
84
|
+
})
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
};
|
|
31
88
|
// ============================================================================
|
|
32
89
|
// Helper Functions (standalone to avoid `this` issues in object literal)
|
|
33
90
|
// ============================================================================
|
|
@@ -59,8 +116,8 @@ function validateSingleEntity(context, item, source) {
|
|
|
59
116
|
if (world_model_1.ActorBehavior.isHolding(actor, item.id, context.world)) {
|
|
60
117
|
return {
|
|
61
118
|
valid: false,
|
|
62
|
-
error:
|
|
63
|
-
params: { item: (0,
|
|
119
|
+
error: removing_messages_js_1.RemovingMessages.ALREADY_HAVE,
|
|
120
|
+
params: { item: (0, index_js_2.nounPhraseFor)(item) }
|
|
64
121
|
};
|
|
65
122
|
}
|
|
66
123
|
// Check if the item is actually in/on the source
|
|
@@ -69,30 +126,30 @@ function validateSingleEntity(context, item, source) {
|
|
|
69
126
|
if (source.has(world_model_1.TraitType.CONTAINER)) {
|
|
70
127
|
return {
|
|
71
128
|
valid: false,
|
|
72
|
-
error:
|
|
129
|
+
error: removing_messages_js_1.RemovingMessages.NOT_IN_CONTAINER,
|
|
73
130
|
params: {
|
|
74
|
-
item: (0,
|
|
75
|
-
container: (0,
|
|
131
|
+
item: (0, index_js_2.nounPhraseFor)(item),
|
|
132
|
+
container: (0, index_js_2.nounPhraseFor)(source)
|
|
76
133
|
}
|
|
77
134
|
};
|
|
78
135
|
}
|
|
79
136
|
else if (source.has(world_model_1.TraitType.SUPPORTER)) {
|
|
80
137
|
return {
|
|
81
138
|
valid: false,
|
|
82
|
-
error:
|
|
139
|
+
error: removing_messages_js_1.RemovingMessages.NOT_ON_SURFACE,
|
|
83
140
|
params: {
|
|
84
|
-
item: (0,
|
|
85
|
-
surface: (0,
|
|
141
|
+
item: (0, index_js_2.nounPhraseFor)(item),
|
|
142
|
+
surface: (0, index_js_2.nounPhraseFor)(source)
|
|
86
143
|
}
|
|
87
144
|
};
|
|
88
145
|
}
|
|
89
146
|
else {
|
|
90
147
|
return {
|
|
91
148
|
valid: false,
|
|
92
|
-
error:
|
|
149
|
+
error: removing_messages_js_1.RemovingMessages.NOT_IN_CONTAINER,
|
|
93
150
|
params: {
|
|
94
|
-
item: (0,
|
|
95
|
-
container: (0,
|
|
151
|
+
item: (0, index_js_2.nounPhraseFor)(item),
|
|
152
|
+
container: (0, index_js_2.nounPhraseFor)(source)
|
|
96
153
|
}
|
|
97
154
|
};
|
|
98
155
|
}
|
|
@@ -103,8 +160,8 @@ function validateSingleEntity(context, item, source) {
|
|
|
103
160
|
if (source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
|
|
104
161
|
return {
|
|
105
162
|
valid: false,
|
|
106
|
-
error:
|
|
107
|
-
params: { container: (0,
|
|
163
|
+
error: removing_messages_js_1.RemovingMessages.CONTAINER_CLOSED,
|
|
164
|
+
params: { container: (0, index_js_2.nounPhraseFor)(source) }
|
|
108
165
|
};
|
|
109
166
|
}
|
|
110
167
|
}
|
|
@@ -112,37 +169,24 @@ function validateSingleEntity(context, item, source) {
|
|
|
112
169
|
if (!world_model_1.ActorBehavior.canTakeItem(actor, item, context.world)) {
|
|
113
170
|
return {
|
|
114
171
|
valid: false,
|
|
115
|
-
error:
|
|
116
|
-
params: { item: (0,
|
|
172
|
+
error: removing_messages_js_1.RemovingMessages.CANNOT_TAKE,
|
|
173
|
+
params: { item: (0, index_js_2.nounPhraseFor)(item) }
|
|
117
174
|
};
|
|
118
175
|
}
|
|
119
176
|
return { valid: true };
|
|
120
177
|
}
|
|
121
178
|
/**
|
|
122
|
-
*
|
|
179
|
+
* Expand the multi-object item list for "remove all/X and Y from Z" —
|
|
180
|
+
* removing resolves its items from the SOURCE's contents, not from scope.
|
|
123
181
|
*/
|
|
124
|
-
function
|
|
125
|
-
const source = context.command.indirectObject?.entity;
|
|
126
|
-
// Must have a source
|
|
127
|
-
if (!source) {
|
|
128
|
-
return { valid: false, error: removing_messages_1.RemovingMessages.NO_SOURCE };
|
|
129
|
-
}
|
|
130
|
-
// Container must be open if it's openable
|
|
131
|
-
if (source.has(world_model_1.TraitType.CONTAINER) && source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
|
|
132
|
-
return {
|
|
133
|
-
valid: false,
|
|
134
|
-
error: removing_messages_1.RemovingMessages.CONTAINER_CLOSED,
|
|
135
|
-
params: { container: (0, utils_1.nounPhraseFor)(source) }
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
// Get items from source - for "remove all from X" we need contents of X
|
|
182
|
+
function expandRemovableItems(context, source) {
|
|
139
183
|
const directObject = context.command.parsed.structure.directObject;
|
|
140
184
|
let items;
|
|
141
185
|
if (directObject?.isAll) {
|
|
142
186
|
// "remove all from X" - get all contents of source
|
|
143
187
|
items = getSourceContents(context, source);
|
|
144
188
|
// Apply exclusions from "all but X"
|
|
145
|
-
const excludedNames = (0,
|
|
189
|
+
const excludedNames = (0, multi_object_handler_js_1.getExcludedNames)(context);
|
|
146
190
|
if (excludedNames.length > 0) {
|
|
147
191
|
items = items.filter(e => {
|
|
148
192
|
const name = e.name.toLowerCase();
|
|
@@ -165,34 +209,14 @@ function validateMultiObject(context) {
|
|
|
165
209
|
else {
|
|
166
210
|
items = [];
|
|
167
211
|
}
|
|
168
|
-
|
|
169
|
-
return { valid: false, error: removing_messages_1.RemovingMessages.NOTHING_TO_REMOVE };
|
|
170
|
-
}
|
|
171
|
-
// Validate each entity, store results
|
|
172
|
-
const results = items.map(item => {
|
|
173
|
-
const validation = validateSingleEntity(context, item, source);
|
|
174
|
-
return {
|
|
175
|
-
entity: item,
|
|
176
|
-
success: validation.valid,
|
|
177
|
-
error: validation.valid ? undefined : validation.error,
|
|
178
|
-
errorParams: validation.valid ? undefined : validation.params
|
|
179
|
-
};
|
|
180
|
-
});
|
|
181
|
-
// Store results for execute/report phases
|
|
182
|
-
const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
|
|
183
|
-
sharedData.multiObjectResults = results;
|
|
184
|
-
// Valid if at least one can be removed
|
|
185
|
-
const anySuccess = results.some(r => r.success);
|
|
186
|
-
if (!anySuccess) {
|
|
187
|
-
// All failed - return the first error
|
|
188
|
-
return { valid: false, error: results[0].error, params: results[0].errorParams };
|
|
189
|
-
}
|
|
190
|
-
return { valid: true };
|
|
212
|
+
return items;
|
|
191
213
|
}
|
|
192
214
|
/**
|
|
193
|
-
* Execute removing a single entity from source
|
|
215
|
+
* Execute removing a single entity from source. Mutation results are
|
|
216
|
+
* written into `scratch` — the single-object sharedData or the item's
|
|
217
|
+
* multi-object itemData (ADR-228 D4).
|
|
194
218
|
*/
|
|
195
|
-
function executeSingleEntity(context, item, source,
|
|
219
|
+
function executeSingleEntity(context, item, source, scratch) {
|
|
196
220
|
const actor = context.player;
|
|
197
221
|
// First validate removal from source using appropriate behavior
|
|
198
222
|
let removeResult = null;
|
|
@@ -202,10 +226,10 @@ function executeSingleEntity(context, item, source, result) {
|
|
|
202
226
|
else if (source.has(world_model_1.TraitType.SUPPORTER)) {
|
|
203
227
|
removeResult = world_model_1.SupporterBehavior.removeItem(source, item, context.world);
|
|
204
228
|
}
|
|
205
|
-
|
|
229
|
+
scratch.removeResult = removeResult;
|
|
206
230
|
// Validate taking using ActorBehavior
|
|
207
231
|
const takeResult = world_model_1.ActorBehavior.takeItem(actor, item, context.world);
|
|
208
|
-
|
|
232
|
+
scratch.takeResult = takeResult;
|
|
209
233
|
// Perform the actual move - this is the critical mutation!
|
|
210
234
|
context.world.moveEntity(item.id, actor.id);
|
|
211
235
|
}
|
|
@@ -214,20 +238,20 @@ function executeSingleEntity(context, item, source, result) {
|
|
|
214
238
|
*
|
|
215
239
|
* Uses simplified event pattern (ADR-097): domain event carries messageId directly.
|
|
216
240
|
*/
|
|
217
|
-
function reportSingleSuccess(context, item, source,
|
|
241
|
+
function reportSingleSuccess(context, item, source, _scratch, events) {
|
|
218
242
|
const actor = context.player;
|
|
219
243
|
// Build message params — EntityInfo for the formatter chain (ADR-158)
|
|
220
244
|
const params = {
|
|
221
|
-
item: (0,
|
|
245
|
+
item: (0, index_js_2.nounPhraseFor)(item)
|
|
222
246
|
};
|
|
223
247
|
let messageKey;
|
|
224
248
|
if (source.has(world_model_1.TraitType.CONTAINER)) {
|
|
225
|
-
params.container = (0,
|
|
226
|
-
messageKey =
|
|
249
|
+
params.container = (0, index_js_2.nounPhraseFor)(source);
|
|
250
|
+
messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM;
|
|
227
251
|
}
|
|
228
252
|
else {
|
|
229
|
-
params.surface = (0,
|
|
230
|
-
messageKey =
|
|
253
|
+
params.surface = (0, index_js_2.nounPhraseFor)(source);
|
|
254
|
+
messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM_SURFACE;
|
|
231
255
|
}
|
|
232
256
|
// Emit domain event with messageId (simplified pattern - ADR-097)
|
|
233
257
|
// Using if.event.taken since removing is semantically a form of taking
|
|
@@ -243,9 +267,9 @@ function reportSingleSuccess(context, item, source, result, events) {
|
|
|
243
267
|
container: source.name,
|
|
244
268
|
fromContainer: source.has(world_model_1.TraitType.CONTAINER),
|
|
245
269
|
fromSupporter: source.has(world_model_1.TraitType.SUPPORTER) && !source.has(world_model_1.TraitType.CONTAINER),
|
|
246
|
-
itemSnapshot: (0,
|
|
247
|
-
actorSnapshot: (0,
|
|
248
|
-
sourceSnapshot: (0,
|
|
270
|
+
itemSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(item, context.world, true),
|
|
271
|
+
actorSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(actor, context.world, false),
|
|
272
|
+
sourceSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
|
|
249
273
|
}));
|
|
250
274
|
}
|
|
251
275
|
/**
|
|
@@ -253,28 +277,28 @@ function reportSingleSuccess(context, item, source, result, events) {
|
|
|
253
277
|
*
|
|
254
278
|
* Uses simplified event pattern (ADR-097): domain event carries messageId directly.
|
|
255
279
|
*/
|
|
256
|
-
function reportSingleBlocked(context, item, source,
|
|
280
|
+
function reportSingleBlocked(context, item, source, result, events) {
|
|
257
281
|
events.push(context.event('if.event.remove_blocked', {
|
|
258
282
|
// Rendering data — EntityInfo for the formatter chain (ADR-158)
|
|
259
|
-
messageId:
|
|
260
|
-
params: { ...
|
|
283
|
+
messageId: (0, index_js_3.blockedMessageId)(context, result),
|
|
284
|
+
params: { ...result.params, item: (0, index_js_2.nounPhraseFor)(item), source: (0, index_js_2.nounPhraseFor)(source) },
|
|
261
285
|
// Domain data — strings for handlers
|
|
262
286
|
itemId: item.id,
|
|
263
287
|
itemName: item.name,
|
|
264
288
|
sourceId: source.id,
|
|
265
289
|
sourceName: source.name,
|
|
266
|
-
reason: error
|
|
290
|
+
reason: result.error
|
|
267
291
|
}));
|
|
268
292
|
}
|
|
269
293
|
// ============================================================================
|
|
270
294
|
// Action Definition
|
|
271
295
|
// ============================================================================
|
|
272
296
|
exports.removingAction = {
|
|
273
|
-
id:
|
|
297
|
+
id: constants_js_1.IFActions.REMOVING,
|
|
274
298
|
// Default scope requirements for this action's slots
|
|
275
299
|
defaultScope: {
|
|
276
|
-
item:
|
|
277
|
-
source:
|
|
300
|
+
item: index_js_1.ScopeLevel.REACHABLE,
|
|
301
|
+
source: index_js_1.ScopeLevel.REACHABLE
|
|
278
302
|
},
|
|
279
303
|
requiredMessages: [
|
|
280
304
|
'no_target',
|
|
@@ -292,21 +316,42 @@ exports.removingAction = {
|
|
|
292
316
|
metadata: {
|
|
293
317
|
requiresDirectObject: true,
|
|
294
318
|
requiresIndirectObject: true,
|
|
295
|
-
directObjectScope:
|
|
319
|
+
directObjectScope: index_js_1.ScopeLevel.REACHABLE
|
|
296
320
|
},
|
|
297
321
|
validate(context) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
322
|
+
const source = context.command.indirectObject?.entity;
|
|
323
|
+
// Check for multi-object command — full per-item lifecycle (ADR-228 D4)
|
|
324
|
+
if ((0, multi_object_handler_js_1.isMultiObjectCommand)(context)) {
|
|
325
|
+
// Must have a source
|
|
326
|
+
if (!source) {
|
|
327
|
+
return { valid: false, error: removing_messages_js_1.RemovingMessages.NO_SOURCE };
|
|
328
|
+
}
|
|
329
|
+
// Container must be open if it's openable
|
|
330
|
+
if (source.has(world_model_1.TraitType.CONTAINER) && source.has(world_model_1.TraitType.OPENABLE) && !world_model_1.OpenableBehavior.isOpen(source)) {
|
|
331
|
+
return {
|
|
332
|
+
valid: false,
|
|
333
|
+
error: removing_messages_js_1.RemovingMessages.CONTAINER_CLOSED,
|
|
334
|
+
params: { container: (0, index_js_2.nounPhraseFor)(source) }
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
const items = expandRemovableItems(context, source);
|
|
338
|
+
if (items.length === 0) {
|
|
339
|
+
return { valid: false, error: removing_messages_js_1.RemovingMessages.NOTHING_TO_REMOVE };
|
|
340
|
+
}
|
|
341
|
+
const results = (0, index_js_3.runMultiObjectValidate)(context, exports.removingLifecycle, 'item', items, (ctx, item) => validateSingleEntity(ctx, item, source));
|
|
342
|
+
// Valid if at least one can be removed; all-fail returns the first error
|
|
343
|
+
if (!results.some(r => r.success)) {
|
|
344
|
+
return { valid: false, error: results[0].error, errorQualified: results[0].errorQualified, params: results[0].errorParams };
|
|
345
|
+
}
|
|
346
|
+
return { valid: true };
|
|
301
347
|
}
|
|
302
348
|
// Single object validation
|
|
303
349
|
const item = context.command.directObject?.entity;
|
|
304
|
-
const source = context.command.indirectObject?.entity;
|
|
305
350
|
// Validate we have an item
|
|
306
351
|
if (!item) {
|
|
307
352
|
return {
|
|
308
353
|
valid: false,
|
|
309
|
-
error:
|
|
354
|
+
error: removing_messages_js_1.RemovingMessages.NO_TARGET,
|
|
310
355
|
params: {}
|
|
311
356
|
};
|
|
312
357
|
}
|
|
@@ -314,63 +359,56 @@ exports.removingAction = {
|
|
|
314
359
|
if (!source) {
|
|
315
360
|
return {
|
|
316
361
|
valid: false,
|
|
317
|
-
error:
|
|
318
|
-
params: { item: (0,
|
|
362
|
+
error: removing_messages_js_1.RemovingMessages.NO_SOURCE,
|
|
363
|
+
params: { item: (0, index_js_2.nounPhraseFor)(item) }
|
|
319
364
|
};
|
|
320
365
|
}
|
|
321
|
-
|
|
366
|
+
const state = (0, index_js_3.resolveLifecycle)(context, exports.removingLifecycle);
|
|
367
|
+
const preVeto = (0, index_js_3.runPreValidate)(context, state);
|
|
368
|
+
if (preVeto)
|
|
369
|
+
return preVeto;
|
|
370
|
+
const standard = validateSingleEntity(context, item, source);
|
|
371
|
+
if (!standard.valid)
|
|
372
|
+
return standard;
|
|
373
|
+
// Canonical placement (ADR-228): postValidate runs after ALL standard validation
|
|
374
|
+
const postVeto = (0, index_js_3.runPostValidate)(context, state);
|
|
375
|
+
if (postVeto)
|
|
376
|
+
return postVeto;
|
|
377
|
+
return { valid: true };
|
|
322
378
|
},
|
|
323
379
|
execute(context) {
|
|
324
|
-
const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
|
|
325
380
|
const source = context.command.indirectObject.entity;
|
|
326
|
-
//
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
}
|
|
333
|
-
}
|
|
381
|
+
// Multi-object command: per-item execute + hooks (D4)
|
|
382
|
+
const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
|
|
383
|
+
if (multi) {
|
|
384
|
+
(0, index_js_3.runMultiObjectExecute)(context, multi, (ctx, item, itemData) => {
|
|
385
|
+
executeSingleEntity(ctx, item, source, itemData);
|
|
386
|
+
});
|
|
334
387
|
return;
|
|
335
388
|
}
|
|
336
389
|
// Single object execution
|
|
337
|
-
const
|
|
390
|
+
const sharedData = (0, removing_types_js_1.getRemovingSharedData)(context);
|
|
338
391
|
const item = context.command.directObject.entity;
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
if (
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
else if (source.has(world_model_1.TraitType.SUPPORTER)) {
|
|
345
|
-
removeResult = world_model_1.SupporterBehavior.removeItem(source, item, context.world);
|
|
346
|
-
}
|
|
347
|
-
// Store results for report phase using sharedData
|
|
348
|
-
sharedData.removeResult = removeResult;
|
|
349
|
-
// Validate taking using ActorBehavior
|
|
350
|
-
const takeResult = world_model_1.ActorBehavior.takeItem(actor, item, context.world);
|
|
351
|
-
sharedData.takeResult = takeResult;
|
|
352
|
-
// Perform the actual move - this is the critical mutation!
|
|
353
|
-
context.world.moveEntity(item.id, actor.id);
|
|
392
|
+
executeSingleEntity(context, item, source, sharedData);
|
|
393
|
+
const state = (0, index_js_3.getLifecycleState)(context);
|
|
394
|
+
if (state)
|
|
395
|
+
(0, index_js_3.runPostExecute)(context, state);
|
|
354
396
|
},
|
|
355
397
|
/**
|
|
356
398
|
* Report events after successful removing
|
|
357
399
|
* Only called on success path - validation passed
|
|
358
400
|
*/
|
|
359
401
|
report(context) {
|
|
360
|
-
const sharedData = (0, removing_types_1.getRemovingSharedData)(context);
|
|
361
402
|
const source = context.command.indirectObject.entity;
|
|
362
|
-
//
|
|
363
|
-
|
|
403
|
+
// Multi-object command: per-item success/blocked events + hooks (D4)
|
|
404
|
+
const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
|
|
405
|
+
if (multi) {
|
|
364
406
|
const events = [];
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
else {
|
|
371
|
-
reportSingleBlocked(context, result.entity, source, result.error, result.errorParams, events);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
407
|
+
(0, index_js_3.runMultiObjectReport)(context, multi, events, 'if.event.taken', 'if.event.remove_blocked', (ctx, item, itemData, evts) => {
|
|
408
|
+
reportSingleSuccess(ctx, item, source, itemData, evts);
|
|
409
|
+
}, (ctx, item, itemResult, evts) => {
|
|
410
|
+
reportSingleBlocked(ctx, item, source, itemResult, evts);
|
|
411
|
+
});
|
|
374
412
|
return events;
|
|
375
413
|
}
|
|
376
414
|
// Single object report
|
|
@@ -378,19 +416,19 @@ exports.removingAction = {
|
|
|
378
416
|
const item = context.command.directObject.entity;
|
|
379
417
|
// Build message params — EntityInfo for the formatter chain (ADR-158)
|
|
380
418
|
const params = {
|
|
381
|
-
item: (0,
|
|
419
|
+
item: (0, index_js_2.nounPhraseFor)(item)
|
|
382
420
|
};
|
|
383
421
|
let messageKey;
|
|
384
422
|
if (source.has(world_model_1.TraitType.CONTAINER)) {
|
|
385
|
-
params.container = (0,
|
|
386
|
-
messageKey =
|
|
423
|
+
params.container = (0, index_js_2.nounPhraseFor)(source);
|
|
424
|
+
messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM;
|
|
387
425
|
}
|
|
388
426
|
else {
|
|
389
|
-
params.surface = (0,
|
|
390
|
-
messageKey =
|
|
427
|
+
params.surface = (0, index_js_2.nounPhraseFor)(source);
|
|
428
|
+
messageKey = removing_messages_js_1.RemovingMessages.REMOVED_FROM_SURFACE;
|
|
391
429
|
}
|
|
392
430
|
// Emit domain event with messageId (simplified pattern - ADR-097)
|
|
393
|
-
|
|
431
|
+
const events = [
|
|
394
432
|
context.event('if.event.taken', {
|
|
395
433
|
// Rendering data (messageId + params for text-service)
|
|
396
434
|
messageId: `${context.action.id}.${messageKey}`,
|
|
@@ -403,11 +441,15 @@ exports.removingAction = {
|
|
|
403
441
|
container: source.name,
|
|
404
442
|
fromContainer: source.has(world_model_1.TraitType.CONTAINER),
|
|
405
443
|
fromSupporter: source.has(world_model_1.TraitType.SUPPORTER) && !source.has(world_model_1.TraitType.CONTAINER),
|
|
406
|
-
itemSnapshot: (0,
|
|
407
|
-
actorSnapshot: (0,
|
|
408
|
-
sourceSnapshot: (0,
|
|
444
|
+
itemSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(item, context.world, true),
|
|
445
|
+
actorSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(actor, context.world, false),
|
|
446
|
+
sourceSnapshot: (0, snapshot_utils_js_1.captureEntitySnapshot)(source, context.world, source.has(world_model_1.TraitType.ROOM))
|
|
409
447
|
})
|
|
410
448
|
];
|
|
449
|
+
const state = (0, index_js_3.getLifecycleState)(context);
|
|
450
|
+
if (state)
|
|
451
|
+
(0, index_js_3.runPostReport)(context, state, events, 'if.event.taken');
|
|
452
|
+
return events;
|
|
411
453
|
},
|
|
412
454
|
/**
|
|
413
455
|
* Generate events when validation fails
|
|
@@ -417,13 +459,13 @@ exports.removingAction = {
|
|
|
417
459
|
blocked(context, result) {
|
|
418
460
|
const item = context.command.directObject?.entity;
|
|
419
461
|
const source = context.command.indirectObject?.entity;
|
|
420
|
-
|
|
462
|
+
const events = [context.event('if.event.remove_blocked', {
|
|
421
463
|
// Rendering data — EntityInfo for the formatter chain (ADR-158)
|
|
422
|
-
messageId:
|
|
464
|
+
messageId: (0, index_js_3.blockedMessageId)(context, result),
|
|
423
465
|
params: {
|
|
424
466
|
...result.params,
|
|
425
|
-
item: item ? (0,
|
|
426
|
-
source: source ? (0,
|
|
467
|
+
item: item ? (0, index_js_2.nounPhraseFor)(item) : undefined,
|
|
468
|
+
source: source ? (0, index_js_2.nounPhraseFor)(source) : undefined
|
|
427
469
|
},
|
|
428
470
|
// Domain data — strings for handlers
|
|
429
471
|
itemId: item?.id,
|
|
@@ -432,6 +474,23 @@ exports.removingAction = {
|
|
|
432
474
|
sourceName: source?.name,
|
|
433
475
|
reason: result.error
|
|
434
476
|
})];
|
|
477
|
+
if (result.error) {
|
|
478
|
+
const state = (0, index_js_3.getLifecycleState)(context);
|
|
479
|
+
if (state) {
|
|
480
|
+
// Single-object path: notify all consultations (ADR-228 D2/D3)
|
|
481
|
+
(0, index_js_3.runOnBlocked)(context, state, events, 'if.event.remove_blocked', result.error);
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
// Multi-object all-fail path: first failed item's consultations only
|
|
485
|
+
// (taking's pattern — the blocked event carries that item's error).
|
|
486
|
+
const multi = (0, index_js_3.getMultiObjectLifecycle)(context);
|
|
487
|
+
const first = multi?.[0];
|
|
488
|
+
if (first && !first.success) {
|
|
489
|
+
(0, index_js_3.runOnBlocked)(context, first.state, events, 'if.event.remove_blocked', first.error ?? result.error);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
return events;
|
|
435
494
|
}
|
|
436
495
|
};
|
|
437
496
|
//# sourceMappingURL=removing.js.map
|