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