@sharpee/engine 3.0.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/combatant-health-validation.d.ts +38 -0
- package/combatant-health-validation.d.ts.map +1 -0
- package/combatant-health-validation.js +54 -0
- package/combatant-health-validation.js.map +1 -0
- 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 +65 -11
- package/game-engine.d.ts.map +1 -1
- package/game-engine.js +185 -85
- package/game-engine.js.map +1 -1
- package/index.d.ts +20 -17
- package/index.d.ts.map +1 -1
- package/index.js +26 -22
- 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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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load-time combatant/health validation (ADR-226 / ADR-223 child A, AC-7).
|
|
3
|
+
*
|
|
4
|
+
* After a story's `initializeWorld` returns, every entity carrying a
|
|
5
|
+
* `CombatantTrait` is checked for the `HealthTrait` it requires — health/life-state
|
|
6
|
+
* is the single source combat operates on (ADR-226 §2), so a combatant with no
|
|
7
|
+
* health has no target for damage. A missing health trait fails story load
|
|
8
|
+
* synchronously, naming every offending entity — the same fail-fast posture as
|
|
9
|
+
* `validateRoomSnippets`. This is a story-authoring mistake, not a
|
|
10
|
+
* runtime-recoverable state.
|
|
11
|
+
*
|
|
12
|
+
* Public interface: `validateCombatantHealth`, `CombatantHealthValidationError`.
|
|
13
|
+
*
|
|
14
|
+
* Owner context: `@sharpee/engine` — story-load orchestration (`GameEngine.setStory`).
|
|
15
|
+
*/
|
|
16
|
+
import type { WorldModel } from '@sharpee/world-model';
|
|
17
|
+
/**
|
|
18
|
+
* Story-load failure: entities with `CombatantTrait` but no required `HealthTrait`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class CombatantHealthValidationError extends Error {
|
|
21
|
+
/** `(id, name)` of every combatant missing a `HealthTrait`, in discovery order. */
|
|
22
|
+
readonly missing: ReadonlyArray<{
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
}>;
|
|
26
|
+
constructor(missing: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}>);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Validate that every combatant carries the health trait combat requires.
|
|
33
|
+
*
|
|
34
|
+
* @param world the initialized world model (after `initializeWorld`)
|
|
35
|
+
* @throws CombatantHealthValidationError naming every combatant with no `HealthTrait`
|
|
36
|
+
*/
|
|
37
|
+
export declare function validateCombatantHealth(world: WorldModel): void;
|
|
38
|
+
//# sourceMappingURL=combatant-health-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combatant-health-validation.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/combatant-health-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;gBAElD,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAYzD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAY/D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Load-time combatant/health validation (ADR-226 / ADR-223 child A, AC-7).
|
|
4
|
+
*
|
|
5
|
+
* After a story's `initializeWorld` returns, every entity carrying a
|
|
6
|
+
* `CombatantTrait` is checked for the `HealthTrait` it requires — health/life-state
|
|
7
|
+
* is the single source combat operates on (ADR-226 §2), so a combatant with no
|
|
8
|
+
* health has no target for damage. A missing health trait fails story load
|
|
9
|
+
* synchronously, naming every offending entity — the same fail-fast posture as
|
|
10
|
+
* `validateRoomSnippets`. This is a story-authoring mistake, not a
|
|
11
|
+
* runtime-recoverable state.
|
|
12
|
+
*
|
|
13
|
+
* Public interface: `validateCombatantHealth`, `CombatantHealthValidationError`.
|
|
14
|
+
*
|
|
15
|
+
* Owner context: `@sharpee/engine` — story-load orchestration (`GameEngine.setStory`).
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.CombatantHealthValidationError = void 0;
|
|
19
|
+
exports.validateCombatantHealth = validateCombatantHealth;
|
|
20
|
+
const world_model_1 = require("@sharpee/world-model");
|
|
21
|
+
/**
|
|
22
|
+
* Story-load failure: entities with `CombatantTrait` but no required `HealthTrait`.
|
|
23
|
+
*/
|
|
24
|
+
class CombatantHealthValidationError extends Error {
|
|
25
|
+
/** `(id, name)` of every combatant missing a `HealthTrait`, in discovery order. */
|
|
26
|
+
missing;
|
|
27
|
+
constructor(missing) {
|
|
28
|
+
const lines = missing.map((m) => ` entity "${m.name}" (${m.id}) has CombatantTrait but no HealthTrait`);
|
|
29
|
+
super('Combatant(s) missing required HealthTrait (ADR-226 AC-7):\n' +
|
|
30
|
+
lines.join('\n') +
|
|
31
|
+
'\n Add a HealthTrait alongside each CombatantTrait (combat operates on health).');
|
|
32
|
+
this.name = 'CombatantHealthValidationError';
|
|
33
|
+
this.missing = missing;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.CombatantHealthValidationError = CombatantHealthValidationError;
|
|
37
|
+
/**
|
|
38
|
+
* Validate that every combatant carries the health trait combat requires.
|
|
39
|
+
*
|
|
40
|
+
* @param world the initialized world model (after `initializeWorld`)
|
|
41
|
+
* @throws CombatantHealthValidationError naming every combatant with no `HealthTrait`
|
|
42
|
+
*/
|
|
43
|
+
function validateCombatantHealth(world) {
|
|
44
|
+
const missing = [];
|
|
45
|
+
for (const entity of world.findByTrait(world_model_1.TraitType.COMBATANT)) {
|
|
46
|
+
if (!entity.has(world_model_1.TraitType.HEALTH)) {
|
|
47
|
+
missing.push({ id: entity.id, name: entity.name });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (missing.length > 0) {
|
|
51
|
+
throw new CombatantHealthValidationError(missing);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=combatant-health-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combatant-health-validation.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/engine/src/combatant-health-validation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgCH,0DAYC;AAzCD,sDAAiD;AAEjD;;GAEG;AACH,MAAa,8BAA+B,SAAQ,KAAK;IACvD,mFAAmF;IAC1E,OAAO,CAA8C;IAE9D,YAAY,OAA4C;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,yCAAyC,CAC9E,CAAC;QACF,KAAK,CACH,6DAA6D;YAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,kFAAkF,CACrF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAhBD,wEAgBC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAiB;IACvD,MAAM,OAAO,GAAwC,EAAE,CAAC;IAExD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,uBAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
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
|
*/
|
|
@@ -462,6 +500,22 @@ export declare class GameEngine {
|
|
|
462
500
|
* Check if game is over
|
|
463
501
|
*/
|
|
464
502
|
private isGameOver;
|
|
503
|
+
/**
|
|
504
|
+
* The `cause` of a canonical player-death event (ADR-224) emitted during the
|
|
505
|
+
* given turn, or `undefined` if the player did not die this turn. Scans the
|
|
506
|
+
* turn's accumulated events, so it sees deaths from the action, interceptors,
|
|
507
|
+
* and scheduler daemons alike. When several fire in one turn (rare), the first
|
|
508
|
+
* is authoritative — `killPlayer` is idempotent, so later calls emit nothing.
|
|
509
|
+
* @param turn the turn number whose events to scan
|
|
510
|
+
*/
|
|
511
|
+
private playerDeathCauseThisTurn;
|
|
512
|
+
/**
|
|
513
|
+
* Whether the player is currently dead by their derived `HealthTrait` state
|
|
514
|
+
* (ADR-226/ADR-224). A player with no `HealthTrait` is alive by default (the
|
|
515
|
+
* opt-in rule) — `killPlayer` lazily attaches one, so a real death always has a
|
|
516
|
+
* trait to read. This is the engine's "final word" after story policy has run.
|
|
517
|
+
*/
|
|
518
|
+
private isPlayerDead;
|
|
465
519
|
/**
|
|
466
520
|
* Add event listener
|
|
467
521
|
*/
|
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,
|
|
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,2BAA2B,CAAC;AAChH,OAAO,EAAE,UAAU,EAAc,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAqG,iBAAiB,EAAyb,oBAAoB,EAA+W,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7+B,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EACL,WAAW,EACX,UAAU,EAGV,YAAY,EACZ,gBAAgB,EAEhB,mBAAmB,EAKpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAA0B,MAAM,sBAAsB,CAAC;AAIjF,OAAO,EAA0C,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAWnI;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,KAAK,mBAAmB,GAAG,MAAM,gBAAgB,CAAC;AAClD,KAAK,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAElF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAiBvC,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,cAAc,CAAiE;IACvF,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,iBAAiB,CAAC,CAAqB;IAC/C,OAAO,CAAC,cAAc,CAAiB;IAEvC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAAgB;IAEnC;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAe;IAC7B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,iBAAiB,CAAoB;IAG7C,OAAO,CAAC,iBAAiB,CAAuC;IAGhE,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAA2B;IAGrD,OAAO,CAAC,qBAAqB,CAAS;IAEtC;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAC,CAAqB;gBAEpC,OAAO,EAAE;QACnB,KAAK,EAAE,UAAU,CAAC;QAClB,MAAM,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;QACvC,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB;IAmID;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA+J5B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD;;;;;;OAMG;IACH,UAAU,IAAI,mBAAmB;IA+HjC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,kBAAkB,CAAA;KAAE,GAAG,IAAI;IAkF5D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAclC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;;;;;;;OAYG;IACH,MAAM,IAAI,IAAI;IAYd;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IA8CvF;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAwXrD;;;;;;;;;;;;;OAaG;YACW,kBAAkB;IAmJhC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;;;;OAKG;YACW,4BAA4B;IAgH1C;;OAEG;IACH,UAAU,IAAI,WAAW;IAIzB;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAwCpC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,QAAQ,IAAI,KAAK,GAAG,SAAS;IAI7B;;OAEG;IACH,cAAc,IAAI,oBAAoB;IAItC;;;;;OAKG;IACH,oBAAoB,IAAI,iBAAiB;IAIzC;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;IAiC1C;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;;;OAKG;IACH,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI9D;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,cAAc,IAAI,cAAc,GAAG,SAAS;IAI5C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAI7C;;;;;;;;;OASG;IACH,uBAAuB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAI3D;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIzC;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIxD;;OAEG;IACH,mBAAmB,IAAI,iBAAiB,GAAG,SAAS;IAIpD;;;;;;OAMG;IACH,gCAAgC,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAI7E;;;;;OAKG;IACH,kCAAkC,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO;IAIlF;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIxD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAe9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;OAGG;IACH,IAAI,IAAI,OAAO;IAmBf;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4C3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,UAAU,IAAI,UAAU,EAAE;IAI1B;;OAEG;IACH,eAAe,CAAC,KAAK,SAAK,GAAG,cAAc,EAAE;IAa7C;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhE;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,IAAI;IAiBxE;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyE5B;;OAEG;YACW,yBAAyB;IA4OvC;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,IAAI;IAgBZ;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,mBAAmB,EAC9B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACnC,IAAI;IAQP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,mBAAmB,EAC/B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACnC,IAAI;CAQR;AAGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzD"}
|