@sharpee/stdlib 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -52
- 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 +35 -48
- 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 +122 -132
- 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/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 -59
- 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 +36 -52
- 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 -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 +11 -0
- package/actions/standard/taking/taking.d.ts.map +1 -1
- package/actions/standard/taking/taking.js +102 -148
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing-types.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"pushing-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing-types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8BH,oDAKC;AARD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAA4C;IAC/E,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,UAA+B,CAAC;AACjD,CAAC"}
|
|
@@ -7,14 +7,23 @@
|
|
|
7
7
|
* - Revealing hidden passages
|
|
8
8
|
* - General pushing feedback
|
|
9
9
|
*
|
|
10
|
-
* Uses four-phase pattern
|
|
11
|
-
* 1. validate:
|
|
12
|
-
* 2. execute:
|
|
13
|
-
* 3. blocked:
|
|
14
|
-
* 4. report:
|
|
10
|
+
* Uses four-phase pattern:
|
|
11
|
+
* 1. validate: Check target exists and is pushable
|
|
12
|
+
* 2. execute: Perform push-type-specific mutations
|
|
13
|
+
* 3. blocked: Generate error events when validation fails
|
|
14
|
+
* 4. report: Generate success events
|
|
15
|
+
*
|
|
16
|
+
* Interceptor consultation (ADR-118) runs through the shared lifecycle
|
|
17
|
+
* engine (ADR-228) via `pushingLifecycle` — no hand-rolled hook plumbing.
|
|
15
18
|
*/
|
|
16
19
|
import { Action } from '../../enhanced-types';
|
|
17
20
|
import { ActionMetadata } from '../../../validation';
|
|
21
|
+
import { ActionLifecycleDescriptor } from '../../lifecycle';
|
|
22
|
+
/**
|
|
23
|
+
* Interceptor surface (ADR-228): the pushed target is the only
|
|
24
|
+
* consultable entity of a PUSH command.
|
|
25
|
+
*/
|
|
26
|
+
export declare const pushingLifecycle: ActionLifecycleDescriptor;
|
|
18
27
|
export declare const pushingAction: Action & {
|
|
19
28
|
metadata: ActionMetadata;
|
|
20
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pushing.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAarD,OAAO,EACL,yBAAyB,EAQ1B,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,yBAe9B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAqQ9D,CAAC"}
|
|
@@ -8,19 +8,43 @@
|
|
|
8
8
|
* - Revealing hidden passages
|
|
9
9
|
* - General pushing feedback
|
|
10
10
|
*
|
|
11
|
-
* Uses four-phase pattern
|
|
12
|
-
* 1. validate:
|
|
13
|
-
* 2. execute:
|
|
14
|
-
* 3. blocked:
|
|
15
|
-
* 4. report:
|
|
11
|
+
* Uses four-phase pattern:
|
|
12
|
+
* 1. validate: Check target exists and is pushable
|
|
13
|
+
* 2. execute: Perform push-type-specific mutations
|
|
14
|
+
* 3. blocked: Generate error events when validation fails
|
|
15
|
+
* 4. report: Generate success events
|
|
16
|
+
*
|
|
17
|
+
* Interceptor consultation (ADR-118) runs through the shared lifecycle
|
|
18
|
+
* engine (ADR-228) via `pushingLifecycle` — no hand-rolled hook plumbing.
|
|
16
19
|
*/
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.pushingAction = void 0;
|
|
21
|
+
exports.pushingAction = exports.pushingLifecycle = void 0;
|
|
19
22
|
const world_model_1 = require("@sharpee/world-model");
|
|
20
23
|
const constants_1 = require("../../constants");
|
|
21
24
|
const types_1 = require("../../../scope/types");
|
|
22
25
|
const pushing_types_1 = require("./pushing-types");
|
|
23
26
|
const utils_1 = require("../../../utils");
|
|
27
|
+
const lifecycle_1 = require("../../lifecycle");
|
|
28
|
+
/**
|
|
29
|
+
* Interceptor surface (ADR-228): the pushed target is the only
|
|
30
|
+
* consultable entity of a PUSH command.
|
|
31
|
+
*/
|
|
32
|
+
exports.pushingLifecycle = {
|
|
33
|
+
actionId: constants_1.IFActions.PUSHING,
|
|
34
|
+
slots: [
|
|
35
|
+
{
|
|
36
|
+
id: 'target',
|
|
37
|
+
actionIds: [constants_1.IFActions.PUSHING],
|
|
38
|
+
resolve: (ctx) => ctx.command.directObject?.entity,
|
|
39
|
+
// Context the old hand-rolled wiring seeded — kept for story
|
|
40
|
+
// interceptors outside this repo (ADR-228 D3 symmetric-context).
|
|
41
|
+
seedData: (_ctx, entity) => ({
|
|
42
|
+
targetId: entity.id,
|
|
43
|
+
targetName: entity.name
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
};
|
|
24
48
|
exports.pushingAction = {
|
|
25
49
|
id: constants_1.IFActions.PUSHING,
|
|
26
50
|
// Default scope requirements for this action's slots
|
|
@@ -52,7 +76,6 @@ exports.pushingAction = {
|
|
|
52
76
|
validate(context) {
|
|
53
77
|
const actor = context.player;
|
|
54
78
|
const target = context.command.directObject?.entity;
|
|
55
|
-
const sharedData = (0, pushing_types_1.getPushingSharedData)(context);
|
|
56
79
|
// Must have something to push
|
|
57
80
|
if (!target) {
|
|
58
81
|
return {
|
|
@@ -60,28 +83,10 @@ exports.pushingAction = {
|
|
|
60
83
|
error: 'no_target'
|
|
61
84
|
};
|
|
62
85
|
}
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
targetId: target.id,
|
|
68
|
-
targetName: target.name
|
|
69
|
-
};
|
|
70
|
-
// Store for later phases
|
|
71
|
-
sharedData.interceptor = interceptor;
|
|
72
|
-
sharedData.interceptorData = interceptorData;
|
|
73
|
-
// === PRE-VALIDATE HOOK ===
|
|
74
|
-
// Called before standard validation - can block early
|
|
75
|
-
if (interceptor?.preValidate) {
|
|
76
|
-
const result = interceptor.preValidate(target, context.world, actor.id, interceptorData);
|
|
77
|
-
if (result !== null) {
|
|
78
|
-
return {
|
|
79
|
-
valid: result.valid,
|
|
80
|
-
error: result.error,
|
|
81
|
-
params: result.params
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
86
|
+
const state = (0, lifecycle_1.resolveLifecycle)(context, exports.pushingLifecycle);
|
|
87
|
+
const preVeto = (0, lifecycle_1.runPreValidate)(context, state);
|
|
88
|
+
if (preVeto)
|
|
89
|
+
return preVeto;
|
|
85
90
|
// Check scope - must be able to reach the target
|
|
86
91
|
const scopeCheck = context.requireScope(target, types_1.ScopeLevel.REACHABLE);
|
|
87
92
|
if (!scopeCheck.ok) {
|
|
@@ -112,18 +117,10 @@ exports.pushingAction = {
|
|
|
112
117
|
error: 'pushing_does_nothing'
|
|
113
118
|
};
|
|
114
119
|
}
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
-
if (result !== null) {
|
|
120
|
-
return {
|
|
121
|
-
valid: result.valid,
|
|
122
|
-
error: result.error,
|
|
123
|
-
params: result.params
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
}
|
|
120
|
+
// Canonical placement (ADR-228): postValidate runs after ALL standard validation
|
|
121
|
+
const postVeto = (0, lifecycle_1.runPostValidate)(context, state);
|
|
122
|
+
if (postVeto)
|
|
123
|
+
return postVeto;
|
|
127
124
|
return { valid: true };
|
|
128
125
|
},
|
|
129
126
|
/**
|
|
@@ -225,34 +222,18 @@ exports.pushingAction = {
|
|
|
225
222
|
sharedData.messageParams.target = (0, utils_1.nounPhraseFor)(target);
|
|
226
223
|
break;
|
|
227
224
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
const interceptorData = sharedData.interceptorData || {};
|
|
232
|
-
if (interceptor?.postExecute) {
|
|
233
|
-
interceptor.postExecute(target, context.world, context.player.id, interceptorData);
|
|
234
|
-
}
|
|
225
|
+
const state = (0, lifecycle_1.getLifecycleState)(context);
|
|
226
|
+
if (state)
|
|
227
|
+
(0, lifecycle_1.runPostExecute)(context, state);
|
|
235
228
|
},
|
|
236
229
|
/**
|
|
237
230
|
* Generate events when validation fails
|
|
238
231
|
*/
|
|
239
232
|
blocked(context, result) {
|
|
240
233
|
const target = context.command.directObject?.entity;
|
|
241
|
-
const sharedData = (0, pushing_types_1.getPushingSharedData)(context);
|
|
242
|
-
// === ON-BLOCKED HOOK ===
|
|
243
|
-
// Called when action is blocked - can provide custom blocked handling
|
|
244
|
-
const interceptor = sharedData.interceptor;
|
|
245
|
-
const interceptorData = sharedData.interceptorData || {};
|
|
246
|
-
if (interceptor?.onBlocked && target && result.error) {
|
|
247
|
-
const customEffects = interceptor.onBlocked(target, context.world, context.player.id, result.error, interceptorData);
|
|
248
|
-
if (customEffects !== null) {
|
|
249
|
-
// Interceptor provided custom blocked effects
|
|
250
|
-
return customEffects.map(effect => context.event(effect.type, effect.payload));
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
234
|
// Standard blocked handling — params carry EntityInfo for the
|
|
254
235
|
// formatter chain (ADR-158); top-level fields stay strings for handlers.
|
|
255
|
-
|
|
236
|
+
const events = [context.event('if.event.pushed', {
|
|
256
237
|
blocked: true,
|
|
257
238
|
messageId: `${context.action.id}.${result.error}`,
|
|
258
239
|
params: { target: target ? (0, utils_1.nounPhraseFor)(target) : undefined, ...result.params },
|
|
@@ -260,6 +241,12 @@ exports.pushingAction = {
|
|
|
260
241
|
targetId: target?.id,
|
|
261
242
|
targetName: target?.name
|
|
262
243
|
})];
|
|
244
|
+
if (result.error) {
|
|
245
|
+
const state = (0, lifecycle_1.getLifecycleState)(context);
|
|
246
|
+
if (state)
|
|
247
|
+
(0, lifecycle_1.runOnBlocked)(context, state, events, 'if.event.pushed', result.error);
|
|
248
|
+
}
|
|
249
|
+
return events;
|
|
263
250
|
},
|
|
264
251
|
/**
|
|
265
252
|
* Report phase - generates all events after successful execution
|
|
@@ -267,7 +254,6 @@ exports.pushingAction = {
|
|
|
267
254
|
report(context) {
|
|
268
255
|
const events = [];
|
|
269
256
|
const sharedData = (0, pushing_types_1.getPushingSharedData)(context);
|
|
270
|
-
const target = context.command.directObject.entity;
|
|
271
257
|
// Emit pushed event with messageId for text rendering
|
|
272
258
|
events.push(context.event('if.event.pushed', {
|
|
273
259
|
messageId: `${context.action.id}.${sharedData.messageId}`,
|
|
@@ -287,15 +273,9 @@ exports.pushingAction = {
|
|
|
287
273
|
revealsPassage: sharedData.revealsPassage,
|
|
288
274
|
requiresStrength: sharedData.requiresStrength
|
|
289
275
|
}));
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
const interceptor = sharedData.interceptor;
|
|
294
|
-
const interceptorData = sharedData.interceptorData || {};
|
|
295
|
-
if (interceptor?.postReport) {
|
|
296
|
-
const result = interceptor.postReport(target, context.world, context.player.id, interceptorData);
|
|
297
|
-
(0, world_model_1.applyInterceptorReportResult)(events, 'if.event.pushed', result, context);
|
|
298
|
-
}
|
|
276
|
+
const state = (0, lifecycle_1.getLifecycleState)(context);
|
|
277
|
+
if (state)
|
|
278
|
+
(0, lifecycle_1.runPostReport)(context, state, events, 'if.event.pushed');
|
|
299
279
|
return events;
|
|
300
280
|
},
|
|
301
281
|
group: "device_manipulation"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushing.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"pushing.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/pushing/pushing.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,35 +2,24 @@
|
|
|
2
2
|
* Type definitions for the putting action
|
|
3
3
|
*
|
|
4
4
|
* Provides type-safe access to shared data for multi-object support
|
|
5
|
-
* and interceptor integration (ADR-118)
|
|
6
5
|
*/
|
|
7
|
-
import {
|
|
6
|
+
import { IAddItemResult, IAddItemToSupporterResult } from '@sharpee/world-model';
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* Per-item mutation scratch for putting one entity. For a single-object
|
|
9
|
+
* command this lives on the action's sharedData; for a multi-object
|
|
10
|
+
* command each item gets its own copy via the lifecycle engine's per-item
|
|
11
|
+
* `itemData` (ADR-228 D4).
|
|
10
12
|
*/
|
|
11
|
-
export interface
|
|
12
|
-
entity: IFEntity;
|
|
13
|
-
success: boolean;
|
|
14
|
-
error?: string;
|
|
15
|
-
errorParams?: Record<string, unknown>;
|
|
13
|
+
export interface PuttingItemScratch {
|
|
16
14
|
targetPreposition?: 'in' | 'on';
|
|
17
15
|
putResult?: IAddItemResult | IAddItemToSupporterResult;
|
|
18
16
|
}
|
|
19
17
|
/**
|
|
20
|
-
* Typed shared data for putting action
|
|
18
|
+
* Typed shared data for putting action.
|
|
19
|
+
* Interceptor and multi-object state live in the lifecycle engine's
|
|
20
|
+
* reserved sharedData slots (ADR-228), not here.
|
|
21
21
|
*/
|
|
22
|
-
export interface PuttingSharedData {
|
|
23
|
-
targetPreposition?: 'in' | 'on';
|
|
24
|
-
putResult?: IAddItemResult | IAddItemToSupporterResult;
|
|
25
|
-
/**
|
|
26
|
-
* Multi-object support: results for each entity
|
|
27
|
-
* When set, indicates this is a multi-object command
|
|
28
|
-
*/
|
|
29
|
-
multiObjectResults?: PuttingItemResult[];
|
|
30
|
-
/** Interceptor found during validate, if any (ADR-118) */
|
|
31
|
-
interceptor?: ActionInterceptor;
|
|
32
|
-
/** Shared data for interceptor phases (ADR-118) */
|
|
33
|
-
interceptorData?: InterceptorSharedData;
|
|
22
|
+
export interface PuttingSharedData extends PuttingItemScratch {
|
|
34
23
|
}
|
|
35
24
|
/**
|
|
36
25
|
* Safely get typed shared data from context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putting-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting-types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"putting-types.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,cAAc,GAAG,yBAAyB,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;CAAG;AAEhE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,iBAAiB,CAKpG"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Type definitions for the putting action
|
|
4
4
|
*
|
|
5
5
|
* Provides type-safe access to shared data for multi-object support
|
|
6
|
-
* and interceptor integration (ADR-118)
|
|
7
6
|
*/
|
|
8
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
8
|
exports.getPuttingSharedData = getPuttingSharedData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putting-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting-types.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"putting-types.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting-types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyBH,oDAKC;AARD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAA4C;IAC/E,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,UAA+B,CAAC;AACjD,CAAC"}
|
|
@@ -17,6 +17,16 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { Action } from '../../enhanced-types';
|
|
19
19
|
import { ActionMetadata } from '../../../validation';
|
|
20
|
+
import { ActionLifecycleDescriptor } from '../../lifecycle';
|
|
21
|
+
/**
|
|
22
|
+
* Interceptor surface (ADR-228): BOTH the item and the container/supporter
|
|
23
|
+
* are consulted (D3-B order: direct object first). Each side's sharedData
|
|
24
|
+
* is seeded with the other's identity (D3 sub-ruling — symmetric context);
|
|
25
|
+
* in a multi-object command the container's seed carries the item
|
|
26
|
+
* currently being processed, which is what makes the trophy-case
|
|
27
|
+
* postExecute award score once per deposited treasure (D4).
|
|
28
|
+
*/
|
|
29
|
+
export declare const puttingLifecycle: ActionLifecycleDescriptor;
|
|
20
30
|
export declare const puttingAction: Action & {
|
|
21
31
|
metadata: ActionMetadata;
|
|
22
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putting.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"putting.d.ts","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee_v2/packages/stdlib/src/actions/standard/putting/putting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAmC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAerD,OAAO,EACL,yBAAyB,EAY1B,MAAM,iBAAiB,CAAC;AASzB;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,yBA+B9B,CAAC;AAgPF,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAA;CAsQ9D,CAAC"}
|