@sharpee/engine 3.1.0 → 3.5.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/action-context-factory.d.ts +9 -2
- package/action-context-factory.d.ts.map +1 -1
- package/action-context-factory.js +15 -5
- package/action-context-factory.js.map +1 -1
- package/command-executor.d.ts +10 -4
- package/command-executor.d.ts.map +1 -1
- package/command-executor.js +27 -20
- package/command-executor.js.map +1 -1
- package/game-engine.d.ts +49 -11
- package/game-engine.d.ts.map +1 -1
- package/game-engine.js +133 -87
- package/game-engine.js.map +1 -1
- package/index.d.ts +20 -18
- package/index.d.ts.map +1 -1
- package/index.js +26 -23
- package/index.js.map +1 -1
- package/language-provider-interface.d.ts +1 -1
- package/language-provider-interface.d.ts.map +1 -1
- package/narrative/index.d.ts +1 -1
- package/narrative/index.d.ts.map +1 -1
- package/narrative/index.js +3 -3
- package/narrative/index.js.map +1 -1
- package/package.json +12 -12
- package/platform-operations.d.ts +2 -2
- package/platform-operations.d.ts.map +1 -1
- package/platform-operations.js +4 -4
- package/platform-operations.js.map +1 -1
- package/prose-pipeline/assemble.js +2 -2
- package/prose-pipeline/assemble.js.map +1 -1
- package/prose-pipeline/decorations/index.d.ts +4 -4
- package/prose-pipeline/decorations/index.d.ts.map +1 -1
- package/prose-pipeline/decorations/index.js +7 -7
- package/prose-pipeline/decorations/index.js.map +1 -1
- package/prose-pipeline/decorations/parser.d.ts +1 -1
- package/prose-pipeline/decorations/parser.d.ts.map +1 -1
- package/prose-pipeline/decorations/parser.js +6 -6
- package/prose-pipeline/decorations/parser.js.map +1 -1
- package/prose-pipeline/decorations/resolver.js +2 -2
- package/prose-pipeline/decorations/resolver.js.map +1 -1
- package/prose-pipeline/handlers/audibility.d.ts +1 -1
- package/prose-pipeline/handlers/audibility.d.ts.map +1 -1
- package/prose-pipeline/handlers/audibility.js +7 -7
- package/prose-pipeline/handlers/audibility.js.map +1 -1
- package/prose-pipeline/handlers/banner.d.ts +1 -1
- package/prose-pipeline/handlers/banner.d.ts.map +1 -1
- package/prose-pipeline/handlers/banner.js +8 -8
- package/prose-pipeline/handlers/banner.js.map +1 -1
- package/prose-pipeline/handlers/client-query.d.ts +1 -1
- package/prose-pipeline/handlers/client-query.d.ts.map +1 -1
- package/prose-pipeline/handlers/client-query.js +2 -2
- package/prose-pipeline/handlers/client-query.js.map +1 -1
- package/prose-pipeline/handlers/command-failed.d.ts +1 -1
- package/prose-pipeline/handlers/command-failed.d.ts.map +1 -1
- package/prose-pipeline/handlers/command-failed.js +4 -4
- package/prose-pipeline/handlers/command-failed.js.map +1 -1
- package/prose-pipeline/handlers/domain-message.d.ts +1 -1
- package/prose-pipeline/handlers/domain-message.d.ts.map +1 -1
- package/prose-pipeline/handlers/domain-message.js +15 -8
- package/prose-pipeline/handlers/domain-message.js.map +1 -1
- package/prose-pipeline/handlers/game.d.ts +1 -1
- package/prose-pipeline/handlers/game.d.ts.map +1 -1
- package/prose-pipeline/handlers/game.js +2 -2
- package/prose-pipeline/handlers/game.js.map +1 -1
- package/prose-pipeline/handlers/generic.d.ts +1 -1
- package/prose-pipeline/handlers/generic.d.ts.map +1 -1
- package/prose-pipeline/handlers/generic.js +12 -12
- package/prose-pipeline/handlers/generic.js.map +1 -1
- package/prose-pipeline/handlers/implicit-take.d.ts +1 -1
- package/prose-pipeline/handlers/implicit-take.d.ts.map +1 -1
- package/prose-pipeline/handlers/implicit-take.js +2 -2
- package/prose-pipeline/handlers/implicit-take.js.map +1 -1
- package/prose-pipeline/handlers/index.d.ts +11 -11
- package/prose-pipeline/handlers/index.d.ts.map +1 -1
- package/prose-pipeline/handlers/index.js +21 -21
- package/prose-pipeline/handlers/index.js.map +1 -1
- package/prose-pipeline/handlers/platform.d.ts +1 -1
- package/prose-pipeline/handlers/platform.d.ts.map +1 -1
- package/prose-pipeline/handlers/platform.js +5 -5
- package/prose-pipeline/handlers/platform.js.map +1 -1
- package/prose-pipeline/handlers/revealed.d.ts +1 -1
- package/prose-pipeline/handlers/revealed.d.ts.map +1 -1
- package/prose-pipeline/handlers/revealed.js +4 -4
- package/prose-pipeline/handlers/revealed.js.map +1 -1
- package/prose-pipeline/handlers/room.d.ts +1 -1
- package/prose-pipeline/handlers/room.d.ts.map +1 -1
- package/prose-pipeline/handlers/room.js +9 -9
- package/prose-pipeline/handlers/room.js.map +1 -1
- package/prose-pipeline/handlers/types.d.ts +7 -1
- package/prose-pipeline/handlers/types.d.ts.map +1 -1
- package/prose-pipeline/index.d.ts +11 -9
- package/prose-pipeline/index.d.ts.map +1 -1
- package/prose-pipeline/index.js +36 -32
- package/prose-pipeline/index.js.map +1 -1
- package/prose-pipeline/phrase-render.d.ts +28 -1
- package/prose-pipeline/phrase-render.d.ts.map +1 -1
- package/prose-pipeline/phrase-render.js +29 -2
- package/prose-pipeline/phrase-render.js.map +1 -1
- package/prose-pipeline/pipeline.d.ts +4 -5
- package/prose-pipeline/pipeline.d.ts.map +1 -1
- package/prose-pipeline/pipeline.js +31 -31
- package/prose-pipeline/pipeline.js.map +1 -1
- package/prose-pipeline/render-context.d.ts +2 -0
- package/prose-pipeline/render-context.d.ts.map +1 -1
- package/prose-pipeline/render-context.js.map +1 -1
- package/prose-pipeline/stages/index.d.ts +2 -2
- package/prose-pipeline/stages/index.d.ts.map +1 -1
- package/prose-pipeline/stages/index.js +5 -5
- package/prose-pipeline/stages/index.js.map +1 -1
- package/save-restore-service.d.ts +9 -3
- package/save-restore-service.d.ts.map +1 -1
- package/save-restore-service.js +15 -1
- package/save-restore-service.js.map +1 -1
- package/sound/dispatcher.js +2 -2
- package/sound/dispatcher.js.map +1 -1
- package/sound/index.d.ts +2 -2
- package/sound/index.d.ts.map +1 -1
- package/sound/index.js +6 -6
- package/sound/index.js.map +1 -1
- package/story.d.ts +10 -3
- package/story.d.ts.map +1 -1
- package/story.js +2 -2
- package/story.js.map +1 -1
- package/test-helpers/mock-prose-pipeline.d.ts +1 -1
- package/test-helpers/mock-prose-pipeline.d.ts.map +1 -1
- package/turn-event-processor.d.ts +1 -1
- package/turn-event-processor.d.ts.map +1 -1
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ActionContext, Action, ScopeResolver, ValidatedCommand } from '@sharpee/stdlib';
|
|
5
5
|
import { WorldModel } from '@sharpee/world-model';
|
|
6
|
+
import { SeededRandom } from '@sharpee/core';
|
|
6
7
|
import { ISound } from '@sharpee/if-domain';
|
|
7
|
-
import { GameContext } from './types';
|
|
8
|
+
import { GameContext } from './types.js';
|
|
8
9
|
/**
|
|
9
10
|
* Create an ActionContext for action execution.
|
|
10
11
|
*
|
|
@@ -14,6 +15,12 @@ import { GameContext } from './types';
|
|
|
14
15
|
* passes its turn-scoped buffer here; recursive
|
|
15
16
|
* sub-contexts (implicit take) inherit the same buffer
|
|
16
17
|
* so a nested action's sounds also reach the dispatcher.
|
|
18
|
+
* @param actionRandom The engine-owned dedicated action RNG stream
|
|
19
|
+
* (ADR-231 D6), exposed as `context.random`. Separate
|
|
20
|
+
* from the turn-plugin/scheduler/basic-combat streams;
|
|
21
|
+
* its seed is persisted across save/restore. When
|
|
22
|
+
* absent (bare test harnesses), a fresh time-seeded
|
|
23
|
+
* stream is created so `context.random` always exists.
|
|
17
24
|
*/
|
|
18
|
-
export declare function createActionContext(world: WorldModel, gameContext: GameContext, command: ValidatedCommand, action: Action, scopeResolver: ScopeResolver, soundBuffer?: ISound[]): ActionContext;
|
|
25
|
+
export declare function createActionContext(world: WorldModel, gameContext: GameContext, command: ValidatedCommand, action: Action, scopeResolver: ScopeResolver, soundBuffer?: ISound[], actionRandom?: SeededRandom): ActionContext;
|
|
19
26
|
//# sourceMappingURL=action-context-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-context-factory.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/action-context-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAA+E,MAAM,iBAAiB,CAAC;AACtK,OAAO,EAAE,UAAU,EAAuB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"action-context-factory.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/action-context-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAA+E,MAAM,iBAAiB,CAAC;AACtK,OAAO,EAAE,UAAU,EAAuB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAsE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA+CzC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,YAAY,CAAC,EAAE,YAAY,GAC1B,aAAa,CA6Qf"}
|
|
@@ -7,7 +7,7 @@ exports.createActionContext = createActionContext;
|
|
|
7
7
|
const stdlib_1 = require("@sharpee/stdlib");
|
|
8
8
|
const world_model_1 = require("@sharpee/world-model");
|
|
9
9
|
const core_1 = require("@sharpee/core");
|
|
10
|
-
const
|
|
10
|
+
const shared_data_keys_js_1 = require("./shared-data-keys.js");
|
|
11
11
|
/**
|
|
12
12
|
* Helper to get entity from command slot
|
|
13
13
|
*/
|
|
@@ -54,9 +54,16 @@ function getScopeError(required, actual, entity) {
|
|
|
54
54
|
* passes its turn-scoped buffer here; recursive
|
|
55
55
|
* sub-contexts (implicit take) inherit the same buffer
|
|
56
56
|
* so a nested action's sounds also reach the dispatcher.
|
|
57
|
+
* @param actionRandom The engine-owned dedicated action RNG stream
|
|
58
|
+
* (ADR-231 D6), exposed as `context.random`. Separate
|
|
59
|
+
* from the turn-plugin/scheduler/basic-combat streams;
|
|
60
|
+
* its seed is persisted across save/restore. When
|
|
61
|
+
* absent (bare test harnesses), a fresh time-seeded
|
|
62
|
+
* stream is created so `context.random` always exists.
|
|
57
63
|
*/
|
|
58
|
-
function createActionContext(world, gameContext, command, action, scopeResolver, soundBuffer) {
|
|
64
|
+
function createActionContext(world, gameContext, command, action, scopeResolver, soundBuffer, actionRandom) {
|
|
59
65
|
const player = gameContext.player;
|
|
66
|
+
const random = actionRandom ?? (0, core_1.createSeededRandom)();
|
|
60
67
|
const currentLocation = world.getLocation(player.id)
|
|
61
68
|
? world.getEntity(world.getLocation(player.id))
|
|
62
69
|
: player;
|
|
@@ -100,6 +107,9 @@ function createActionContext(world, gameContext, command, action, scopeResolver,
|
|
|
100
107
|
action,
|
|
101
108
|
// Shared data for passing information between phases
|
|
102
109
|
sharedData,
|
|
110
|
+
// Dedicated action RNG stream (ADR-231 D6) — actions must draw all
|
|
111
|
+
// randomness here, never from Math.random()
|
|
112
|
+
random,
|
|
103
113
|
// Validation result - set by CommandExecutor after validate() phase
|
|
104
114
|
validationResult: undefined,
|
|
105
115
|
// Scope checking methods (delegate to scopeResolver)
|
|
@@ -220,7 +230,7 @@ function createActionContext(world, gameContext, command, action, scopeResolver,
|
|
|
220
230
|
// Create a sub-context for the taking action — inherit the same
|
|
221
231
|
// sound buffer so any sounds emitted during an implicit take still
|
|
222
232
|
// reach the per-turn dispatcher.
|
|
223
|
-
const takeContext = createActionContext(world, gameContext, takeCommand, stdlib_1.takingAction, scopeResolver, soundBuffer);
|
|
233
|
+
const takeContext = createActionContext(world, gameContext, takeCommand, stdlib_1.takingAction, scopeResolver, soundBuffer, random);
|
|
224
234
|
// Run the taking action's validate phase
|
|
225
235
|
const validation = stdlib_1.takingAction.validate(takeContext);
|
|
226
236
|
if (!validation.valid) {
|
|
@@ -251,8 +261,8 @@ function createActionContext(world, gameContext, command, action, scopeResolver,
|
|
|
251
261
|
// Combine: implicit take notification + state change events (no success message)
|
|
252
262
|
const implicitTakeEvents = [implicitTakeEvent, ...filteredTakeEvents];
|
|
253
263
|
// Store in sharedData for the report phase to access
|
|
254
|
-
const existingEvents = sharedData[
|
|
255
|
-
sharedData[
|
|
264
|
+
const existingEvents = sharedData[shared_data_keys_js_1.SharedDataKeys.IMPLICIT_TAKE_EVENTS] ?? [];
|
|
265
|
+
sharedData[shared_data_keys_js_1.SharedDataKeys.IMPLICIT_TAKE_EVENTS] = [...existingEvents, ...implicitTakeEvents];
|
|
256
266
|
return {
|
|
257
267
|
ok: true,
|
|
258
268
|
implicitTakeEvents
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-context-factory.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/action-context-factory.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"action-context-factory.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/action-context-factory.ts"],"names":[],"mappings":"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"}
|
package/command-executor.d.ts
CHANGED
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
*
|
|
10
10
|
* All event creation is owned by the action components themselves.
|
|
11
11
|
*/
|
|
12
|
-
import { ISystemEvent, IGenericEventSource, Result } from '@sharpee/core';
|
|
12
|
+
import { ISystemEvent, IGenericEventSource, Result, SeededRandom } from '@sharpee/core';
|
|
13
13
|
import { IParser, IValidatedCommand, IParsedCommand, IValidationError } from '@sharpee/world-model';
|
|
14
14
|
import { ISound } from '@sharpee/if-domain';
|
|
15
15
|
import { WorldModel } from '@sharpee/world-model';
|
|
16
16
|
import { EventProcessor } from '@sharpee/event-processor';
|
|
17
17
|
import { ActionRegistry } from '@sharpee/stdlib';
|
|
18
|
-
import { GameContext, TurnResult, EngineConfig } from './types';
|
|
18
|
+
import { GameContext, TurnResult, EngineConfig } from './types.js';
|
|
19
19
|
/**
|
|
20
20
|
* Data passed to pre-action hook listeners (ADR-148).
|
|
21
21
|
*
|
|
@@ -55,7 +55,13 @@ export declare class CommandExecutor {
|
|
|
55
55
|
private scopeResolver?;
|
|
56
56
|
private parsedCommandTransformers;
|
|
57
57
|
private beforeActionListeners;
|
|
58
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Engine-owned dedicated action RNG stream (ADR-231 D6), threaded into
|
|
60
|
+
* every ActionContext this executor creates. Optional so bare test
|
|
61
|
+
* harnesses still work; the engine always provides it.
|
|
62
|
+
*/
|
|
63
|
+
private actionRandom?;
|
|
64
|
+
constructor(world: WorldModel, actionRegistry: ActionRegistry, eventProcessor: EventProcessor, parser: IParser, systemEvents?: IGenericEventSource<ISystemEvent>, actionRandom?: SeededRandom);
|
|
59
65
|
/**
|
|
60
66
|
* Validate a parsed command against the world model.
|
|
61
67
|
*
|
|
@@ -92,5 +98,5 @@ export declare class CommandExecutor {
|
|
|
92
98
|
private emitBeforeAction;
|
|
93
99
|
execute(input: string, world: WorldModel, context: GameContext, config?: EngineConfig, soundBuffer?: ISound[]): Promise<TurnResult>;
|
|
94
100
|
}
|
|
95
|
-
export declare function createCommandExecutor(world: WorldModel, actionRegistry: ActionRegistry, eventProcessor: EventProcessor, parser: IParser, systemEvents?: IGenericEventSource<ISystemEvent
|
|
101
|
+
export declare function createCommandExecutor(world: WorldModel, actionRegistry: ActionRegistry, eventProcessor: EventProcessor, parser: IParser, systemEvents?: IGenericEventSource<ISystemEvent>, actionRandom?: SeededRandom): CommandExecutor;
|
|
96
102
|
//# sourceMappingURL=command-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/command-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,YAAY,EAAE,mBAAmB,EAA0B,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/command-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,YAAY,EAAE,mBAAmB,EAA0B,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChI,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,cAAc,EAKf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAWnE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAE/F;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,KACd,cAAc,CAAC;AAEpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,qBAAqB,CAAkC;IAC/D;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAC,CAAe;gBAGlC,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAChD,YAAY,CAAC,EAAE,YAAY;IAiB7B;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAIrF;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAI7E;;;;;OAKG;IACH,kCAAkC,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO;IASlF;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMlB,OAAO,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,YAAY,EACrB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,UAAU,CAAC;CAyTvB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAChD,YAAY,CAAC,EAAE,YAAY,GAC1B,eAAe,CAEjB"}
|
package/command-executor.js
CHANGED
|
@@ -14,11 +14,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.CommandExecutor = void 0;
|
|
15
15
|
exports.createCommandExecutor = createCommandExecutor;
|
|
16
16
|
const core_1 = require("@sharpee/core");
|
|
17
|
-
const
|
|
18
|
-
const
|
|
17
|
+
const parser_interface_js_1 = require("./parser-interface.js");
|
|
18
|
+
const shared_data_keys_js_1 = require("./shared-data-keys.js");
|
|
19
19
|
const stdlib_1 = require("@sharpee/stdlib");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
20
|
+
const action_context_factory_js_1 = require("./action-context-factory.js");
|
|
21
|
+
const capability_dispatch_helper_js_1 = require("./capability-dispatch-helper.js");
|
|
22
22
|
class CommandExecutor {
|
|
23
23
|
parser;
|
|
24
24
|
validator;
|
|
@@ -27,7 +27,13 @@ class CommandExecutor {
|
|
|
27
27
|
scopeResolver;
|
|
28
28
|
parsedCommandTransformers = [];
|
|
29
29
|
beforeActionListeners = [];
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Engine-owned dedicated action RNG stream (ADR-231 D6), threaded into
|
|
32
|
+
* every ActionContext this executor creates. Optional so bare test
|
|
33
|
+
* harnesses still work; the engine always provides it.
|
|
34
|
+
*/
|
|
35
|
+
actionRandom;
|
|
36
|
+
constructor(world, actionRegistry, eventProcessor, parser, systemEvents, actionRandom) {
|
|
31
37
|
if (!world)
|
|
32
38
|
throw new Error('World model is required');
|
|
33
39
|
if (!actionRegistry)
|
|
@@ -43,6 +49,7 @@ class CommandExecutor {
|
|
|
43
49
|
}
|
|
44
50
|
this.actionRegistry = actionRegistry;
|
|
45
51
|
this.eventProcessor = eventProcessor;
|
|
52
|
+
this.actionRandom = actionRandom;
|
|
46
53
|
}
|
|
47
54
|
/**
|
|
48
55
|
* Validate a parsed command against the world model.
|
|
@@ -104,7 +111,7 @@ class CommandExecutor {
|
|
|
104
111
|
try {
|
|
105
112
|
// Set world context for parser entity resolution
|
|
106
113
|
const player = world.getPlayer();
|
|
107
|
-
if (player && (0,
|
|
114
|
+
if (player && (0, parser_interface_js_1.hasWorldContext)(this.parser)) {
|
|
108
115
|
const playerLocation = world.getLocation(player.id) || '';
|
|
109
116
|
this.parser.setWorldContext(world, player.id, playerLocation);
|
|
110
117
|
}
|
|
@@ -169,7 +176,7 @@ class CommandExecutor {
|
|
|
169
176
|
if (!this.scopeResolver) {
|
|
170
177
|
this.scopeResolver = (0, stdlib_1.createScopeResolver)(world);
|
|
171
178
|
}
|
|
172
|
-
const actionContext = (0,
|
|
179
|
+
const actionContext = (0, action_context_factory_js_1.createActionContext)(world, context, command, action, this.scopeResolver, soundBuffer, this.actionRandom);
|
|
173
180
|
// Pre-action hook (ADR-148): listeners can modify world state before validation
|
|
174
181
|
this.emitBeforeAction({
|
|
175
182
|
actionId: command.actionId,
|
|
@@ -183,11 +190,11 @@ class CommandExecutor {
|
|
|
183
190
|
command.directObject?.entity,
|
|
184
191
|
command.indirectObject?.entity
|
|
185
192
|
];
|
|
186
|
-
const capabilityCheck = (0,
|
|
193
|
+
const capabilityCheck = (0, capability_dispatch_helper_js_1.checkCapabilityDispatchMulti)(world, command.actionId, involvedEntities);
|
|
187
194
|
// Run action's four phases: validate → execute → report (or blocked)
|
|
188
195
|
// If capability dispatch applies, use capability behavior; otherwise use action
|
|
189
196
|
let actionValidation = capabilityCheck.shouldDispatch
|
|
190
|
-
? (0,
|
|
197
|
+
? (0, capability_dispatch_helper_js_1.executeCapabilityValidate)(capabilityCheck, actionContext)
|
|
191
198
|
: action.validate(actionContext);
|
|
192
199
|
let currentCommand = command;
|
|
193
200
|
let currentContext = actionContext;
|
|
@@ -222,21 +229,21 @@ class CommandExecutor {
|
|
|
222
229
|
}
|
|
223
230
|
};
|
|
224
231
|
// Create new context with inferred command
|
|
225
|
-
const inferredContext = (0,
|
|
232
|
+
const inferredContext = (0, action_context_factory_js_1.createActionContext)(world, context, inferredCommand, action, this.scopeResolver, soundBuffer, this.actionRandom);
|
|
226
233
|
// Mark that inference occurred (for "(the leaflet)" message)
|
|
227
234
|
const sharedData = inferredContext.sharedData;
|
|
228
|
-
sharedData[
|
|
229
|
-
sharedData[
|
|
230
|
-
sharedData[
|
|
235
|
+
sharedData[shared_data_keys_js_1.SharedDataKeys.INFERENCE_PERFORMED] = true;
|
|
236
|
+
sharedData[shared_data_keys_js_1.SharedDataKeys.ORIGINAL_TARGET] = directObject.entity;
|
|
237
|
+
sharedData[shared_data_keys_js_1.SharedDataKeys.INFERRED_TARGET] = inferenceResult.inferredTarget;
|
|
231
238
|
// Re-check capability dispatch for inferred target
|
|
232
239
|
const inferredInvolvedEntities = [
|
|
233
240
|
inferenceResult.inferredTarget,
|
|
234
241
|
command.indirectObject?.entity
|
|
235
242
|
];
|
|
236
|
-
const inferredCapabilityCheck = (0,
|
|
243
|
+
const inferredCapabilityCheck = (0, capability_dispatch_helper_js_1.checkCapabilityDispatchMulti)(world, command.actionId, inferredInvolvedEntities);
|
|
237
244
|
// Re-validate with inferred target (using capability dispatch if applicable)
|
|
238
245
|
const retryValidation = inferredCapabilityCheck.shouldDispatch
|
|
239
|
-
? (0,
|
|
246
|
+
? (0, capability_dispatch_helper_js_1.executeCapabilityValidate)(inferredCapabilityCheck, inferredContext)
|
|
240
247
|
: action.validate(inferredContext);
|
|
241
248
|
if (retryValidation.valid) {
|
|
242
249
|
// Inference succeeded - use the inferred command
|
|
@@ -255,8 +262,8 @@ class CommandExecutor {
|
|
|
255
262
|
if (actionValidation.valid) {
|
|
256
263
|
if (useCapabilityDispatch) {
|
|
257
264
|
// Capability dispatch: use behavior phases
|
|
258
|
-
(0,
|
|
259
|
-
events = (0,
|
|
265
|
+
(0, capability_dispatch_helper_js_1.executeCapabilityExecute)(currentContext);
|
|
266
|
+
events = (0, capability_dispatch_helper_js_1.executeCapabilityReport)(currentContext);
|
|
260
267
|
}
|
|
261
268
|
else {
|
|
262
269
|
// Standard action: use action phases
|
|
@@ -281,7 +288,7 @@ class CommandExecutor {
|
|
|
281
288
|
// Validation failed - use blocked() for error events
|
|
282
289
|
if (useCapabilityDispatch) {
|
|
283
290
|
// Capability dispatch: use behavior's blocked phase
|
|
284
|
-
events = (0,
|
|
291
|
+
events = (0, capability_dispatch_helper_js_1.executeCapabilityBlocked)(currentContext, actionValidation, command.actionId);
|
|
285
292
|
}
|
|
286
293
|
else if (action.blocked) {
|
|
287
294
|
events = action.blocked(currentContext, actionValidation);
|
|
@@ -360,7 +367,7 @@ class CommandExecutor {
|
|
|
360
367
|
}
|
|
361
368
|
}
|
|
362
369
|
exports.CommandExecutor = CommandExecutor;
|
|
363
|
-
function createCommandExecutor(world, actionRegistry, eventProcessor, parser, systemEvents) {
|
|
364
|
-
return new CommandExecutor(world, actionRegistry, eventProcessor, parser, systemEvents);
|
|
370
|
+
function createCommandExecutor(world, actionRegistry, eventProcessor, parser, systemEvents, actionRandom) {
|
|
371
|
+
return new CommandExecutor(world, actionRegistry, eventProcessor, parser, systemEvents, actionRandom);
|
|
365
372
|
}
|
|
366
373
|
//# sourceMappingURL=command-executor.js.map
|
package/command-executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/command-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/command-executor.ts"],"names":[],"mappings":"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"}
|
package/game-engine.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ import { WorldModel, IFEntity } from '@sharpee/world-model';
|
|
|
7
7
|
import { EventProcessor } from '@sharpee/event-processor';
|
|
8
8
|
import { Parser, IPerceptionService } from '@sharpee/stdlib';
|
|
9
9
|
import { LanguageProvider, ClientCapabilities, CmgtPacket, TurnPacket } from '@sharpee/if-domain';
|
|
10
|
-
import { IProsePipeline, type SlotContributor, type SlotEntry } from './prose-pipeline';
|
|
10
|
+
import { IProsePipeline, type SlotContributor, type SlotEntry } from './prose-pipeline/index.js';
|
|
11
11
|
import { ITextBlock } from '@sharpee/text-blocks';
|
|
12
|
-
import { ISemanticEvent, ISaveRestoreHooks, ISemanticEventSource } from '@sharpee/core';
|
|
12
|
+
import { ISemanticEvent, ISaveRestoreHooks, ISemanticEventSource, SeededRandom } from '@sharpee/core';
|
|
13
13
|
import { PluginRegistry } from '@sharpee/plugins';
|
|
14
|
-
import { GameContext, TurnResult, EngineConfig, InputModeHandler, EngineIntrospection } from './types';
|
|
15
|
-
import { Story } from './story';
|
|
16
|
-
import { NarrativeSettings } from './narrative';
|
|
17
|
-
import { ParsedCommandTransformer, BeforeActionHookListener } from './command-executor';
|
|
14
|
+
import { GameContext, TurnResult, EngineConfig, InputModeHandler, EngineIntrospection } from './types.js';
|
|
15
|
+
import { Story } from './story.js';
|
|
16
|
+
import { NarrativeSettings } from './narrative/index.js';
|
|
17
|
+
import { ParsedCommandTransformer, BeforeActionHookListener } from './command-executor.js';
|
|
18
18
|
/**
|
|
19
19
|
* Game engine events
|
|
20
20
|
*/
|
|
@@ -96,6 +96,14 @@ export declare class GameEngine {
|
|
|
96
96
|
*/
|
|
97
97
|
private soundDispatcher;
|
|
98
98
|
private random;
|
|
99
|
+
/**
|
|
100
|
+
* Dedicated action RNG stream (ADR-231 D6), exposed to actions as
|
|
101
|
+
* `ActionContext.random`. A separate instance from `random` (the
|
|
102
|
+
* turn-plugin stream) so plugin draws can never shift action rolls;
|
|
103
|
+
* its seed rides the save blob (`IEngineState.actionRngSeed`) so
|
|
104
|
+
* post-restore action outcomes replay deterministically.
|
|
105
|
+
*/
|
|
106
|
+
private actionRandom;
|
|
99
107
|
private narrativeSettings;
|
|
100
108
|
private inputModeHandlers;
|
|
101
109
|
private vocabularyManager;
|
|
@@ -179,17 +187,34 @@ export declare class GameEngine {
|
|
|
179
187
|
* (`start()` has not run).
|
|
180
188
|
*/
|
|
181
189
|
private emitChannelPacket;
|
|
190
|
+
/**
|
|
191
|
+
* Resume a stopped engine without touching world state.
|
|
192
|
+
*
|
|
193
|
+
* The post-mortem revival seam: after `stop('defeat')`, a harness (or a
|
|
194
|
+
* story resurrection policy) that has restored the world to a live-player
|
|
195
|
+
* snapshot — e.g. the transcript-tester's RETRY block via
|
|
196
|
+
* `world.loadJSON()` — needs turn execution back without any world
|
|
197
|
+
* teardown (a full reboot would clear the world it just restored).
|
|
198
|
+
* Flips `running` back on; emits nothing, rebuilds nothing.
|
|
199
|
+
*
|
|
200
|
+
* No-op when already running. Throws if the engine was never started
|
|
201
|
+
* (no command executor) — resuming presumes a completed `start()`.
|
|
202
|
+
*/
|
|
203
|
+
resume(): void;
|
|
182
204
|
/**
|
|
183
205
|
* Stop the game engine
|
|
184
206
|
*/
|
|
185
|
-
stop(reason?: 'quit' | 'victory' | 'defeat' | 'abort', details?: any): void;
|
|
207
|
+
stop(reason?: 'quit' | 'victory' | 'defeat' | 'abort' | 'restart', details?: any): void;
|
|
186
208
|
/**
|
|
187
|
-
*
|
|
209
|
+
* Build the restart acknowledgment event (ADR-248).
|
|
188
210
|
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
211
|
+
* On confirmed restart the engine does NOT rebuild in place — it renders
|
|
212
|
+
* this acknowledgment ("The story restarts.") in the final packet, then
|
|
213
|
+
* stops with reason 'restart'; the client owns the reboot via its own
|
|
214
|
+
* boot path. No pre-emptive restart_completed(true) is emitted: the new
|
|
215
|
+
* boot's opening banner is the success signal.
|
|
191
216
|
*/
|
|
192
|
-
private
|
|
217
|
+
private createRestartAckEvent;
|
|
193
218
|
/**
|
|
194
219
|
* Execute a turn
|
|
195
220
|
*/
|
|
@@ -285,6 +310,19 @@ export declare class GameEngine {
|
|
|
285
310
|
* Get plugin registry for registering turn-cycle plugins (ADR-120)
|
|
286
311
|
*/
|
|
287
312
|
getPluginRegistry(): PluginRegistry;
|
|
313
|
+
/**
|
|
314
|
+
* The negotiated client capabilities for this session (ADR-216): the
|
|
315
|
+
* `client has <capability>` predicate reads these live, and channel
|
|
316
|
+
* gating uses the same flags at manifest time. Text-only before
|
|
317
|
+
* `start({ capabilities })` runs or when none were negotiated.
|
|
318
|
+
*/
|
|
319
|
+
getClientCapabilities(): ClientCapabilities;
|
|
320
|
+
/**
|
|
321
|
+
* Get the dedicated action RNG stream (ADR-231 D6). Part of the
|
|
322
|
+
* ISaveRestoreStateProvider contract — the save service persists this
|
|
323
|
+
* stream's seed and the restore path re-seeds it.
|
|
324
|
+
*/
|
|
325
|
+
getActionRandom(): SeededRandom;
|
|
288
326
|
/**
|
|
289
327
|
* Get event processor for handler registration (ADR-075)
|
|
290
328
|
*/
|
package/game-engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-engine.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/game-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,QAAQ,EAaT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAU,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAKL,MAAM,EAON,kBAAkB,EAMnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAyB,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAU,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,cAAc,EAAiB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"game-engine.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/game-engine.ts"],"names":[],"mappings":"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"}
|