@sharpee/engine 0.9.64-beta → 0.9.66-beta
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/README.md +0 -0
- package/package.json +16 -34
- package/LICENSE +0 -21
- package/dist-npm/action-context-factory.d.ts +0 -11
- package/dist-npm/action-context-factory.d.ts.map +0 -1
- package/dist-npm/action-context-factory.js +0 -258
- package/dist-npm/action-context-factory.js.map +0 -1
- package/dist-npm/capability-dispatch-helper.d.ts +0 -106
- package/dist-npm/capability-dispatch-helper.d.ts.map +0 -1
- package/dist-npm/capability-dispatch-helper.js +0 -269
- package/dist-npm/capability-dispatch-helper.js.map +0 -1
- package/dist-npm/command-executor.d.ts +0 -53
- package/dist-npm/command-executor.d.ts.map +0 -1
- package/dist-npm/command-executor.js +0 -329
- package/dist-npm/command-executor.js.map +0 -1
- package/dist-npm/event-adapter.d.ts +0 -44
- package/dist-npm/event-adapter.d.ts.map +0 -1
- package/dist-npm/event-adapter.js +0 -127
- package/dist-npm/event-adapter.js.map +0 -1
- package/dist-npm/event-sequencer.d.ts +0 -73
- package/dist-npm/event-sequencer.d.ts.map +0 -1
- package/dist-npm/event-sequencer.js +0 -134
- package/dist-npm/event-sequencer.js.map +0 -1
- package/dist-npm/events/event-emitter.d.ts +0 -34
- package/dist-npm/events/event-emitter.d.ts.map +0 -1
- package/dist-npm/events/event-emitter.js +0 -67
- package/dist-npm/events/event-emitter.js.map +0 -1
- package/dist-npm/game-engine.d.ts +0 -292
- package/dist-npm/game-engine.d.ts.map +0 -1
- package/dist-npm/game-engine.js +0 -1597
- package/dist-npm/game-engine.js.map +0 -1
- package/dist-npm/index.d.ts +0 -27
- package/dist-npm/index.d.ts.map +0 -1
- package/dist-npm/index.js +0 -63
- package/dist-npm/index.js.map +0 -1
- package/dist-npm/narrative/index.d.ts +0 -5
- package/dist-npm/narrative/index.d.ts.map +0 -1
- package/dist-npm/narrative/index.js +0 -10
- package/dist-npm/narrative/index.js.map +0 -1
- package/dist-npm/narrative/narrative-settings.d.ts +0 -73
- package/dist-npm/narrative/narrative-settings.d.ts.map +0 -1
- package/dist-npm/narrative/narrative-settings.js +0 -28
- package/dist-npm/narrative/narrative-settings.js.map +0 -1
- package/dist-npm/parser-interface.d.ts +0 -77
- package/dist-npm/parser-interface.d.ts.map +0 -1
- package/dist-npm/parser-interface.js +0 -48
- package/dist-npm/parser-interface.js.map +0 -1
- package/dist-npm/platform-operations.d.ts +0 -83
- package/dist-npm/platform-operations.d.ts.map +0 -1
- package/dist-npm/platform-operations.js +0 -218
- package/dist-npm/platform-operations.js.map +0 -1
- package/dist-npm/save-restore-service.d.ts +0 -125
- package/dist-npm/save-restore-service.d.ts.map +0 -1
- package/dist-npm/save-restore-service.js +0 -405
- package/dist-npm/save-restore-service.js.map +0 -1
- package/dist-npm/scheduler/index.d.ts +0 -9
- package/dist-npm/scheduler/index.d.ts.map +0 -1
- package/dist-npm/scheduler/index.js +0 -25
- package/dist-npm/scheduler/index.js.map +0 -1
- package/dist-npm/scheduler/scheduler-service.d.ts +0 -75
- package/dist-npm/scheduler/scheduler-service.d.ts.map +0 -1
- package/dist-npm/scheduler/scheduler-service.js +0 -310
- package/dist-npm/scheduler/scheduler-service.js.map +0 -1
- package/dist-npm/scheduler/seeded-random.d.ts +0 -7
- package/dist-npm/scheduler/seeded-random.d.ts.map +0 -1
- package/dist-npm/scheduler/seeded-random.js +0 -11
- package/dist-npm/scheduler/seeded-random.js.map +0 -1
- package/dist-npm/scheduler/types.d.ts +0 -134
- package/dist-npm/scheduler/types.d.ts.map +0 -1
- package/dist-npm/scheduler/types.js +0 -9
- package/dist-npm/scheduler/types.js.map +0 -1
- package/dist-npm/shared-data-keys.d.ts +0 -53
- package/dist-npm/shared-data-keys.d.ts.map +0 -1
- package/dist-npm/shared-data-keys.js +0 -29
- package/dist-npm/shared-data-keys.js.map +0 -1
- package/dist-npm/story.d.ts +0 -216
- package/dist-npm/story.d.ts.map +0 -1
- package/dist-npm/story.js +0 -60
- package/dist-npm/story.js.map +0 -1
- package/dist-npm/test-helpers/mock-text-service.d.ts +0 -11
- package/dist-npm/test-helpers/mock-text-service.d.ts.map +0 -1
- package/dist-npm/test-helpers/mock-text-service.js +0 -47
- package/dist-npm/test-helpers/mock-text-service.js.map +0 -1
- package/dist-npm/turn-event-processor.d.ts +0 -89
- package/dist-npm/turn-event-processor.d.ts.map +0 -1
- package/dist-npm/turn-event-processor.js +0 -144
- package/dist-npm/turn-event-processor.js.map +0 -1
- package/dist-npm/types.d.ts +0 -214
- package/dist-npm/types.d.ts.map +0 -1
- package/dist-npm/types.js +0 -8
- package/dist-npm/types.js.map +0 -1
- package/dist-npm/vocabulary-manager.d.ts +0 -35
- package/dist-npm/vocabulary-manager.d.ts.map +0 -1
- package/dist-npm/vocabulary-manager.js +0 -74
- package/dist-npm/vocabulary-manager.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../../src/command-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event Adapter - Converts between SemanticEvent and SequencedEvent
|
|
3
|
-
*
|
|
4
|
-
* This adapter handles:
|
|
5
|
-
* - Event normalization for consistent structure
|
|
6
|
-
* - Event enrichment pipeline for adding metadata
|
|
7
|
-
*/
|
|
8
|
-
import { ISemanticEvent } from "../../core/dist-npm/src/index";
|
|
9
|
-
import { SequencedEvent } from './types';
|
|
10
|
-
/**
|
|
11
|
-
* Event normalization - ensures consistent event structure
|
|
12
|
-
* Preserves all original properties (including requiresClientAction for platform events)
|
|
13
|
-
*/
|
|
14
|
-
export declare function normalizeEvent(event: ISemanticEvent): ISemanticEvent;
|
|
15
|
-
/**
|
|
16
|
-
* Event enrichment pipeline - adds additional metadata
|
|
17
|
-
*/
|
|
18
|
-
export declare function enrichEvent(event: ISemanticEvent, context?: EventProcessingContext): ISemanticEvent;
|
|
19
|
-
/**
|
|
20
|
-
* Event processing context for enrichment
|
|
21
|
-
*/
|
|
22
|
-
export interface EventProcessingContext {
|
|
23
|
-
turn?: number;
|
|
24
|
-
playerId?: string;
|
|
25
|
-
locationId?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Process an event through the pipeline.
|
|
29
|
-
*
|
|
30
|
-
* Pipeline stages:
|
|
31
|
-
* 1. Normalization (ensure required fields, lowercase type)
|
|
32
|
-
* 2. Enrichment (add turn info, default entities)
|
|
33
|
-
*/
|
|
34
|
-
export declare function processEvent(event: ISemanticEvent, context?: EventProcessingContext): ISemanticEvent;
|
|
35
|
-
/**
|
|
36
|
-
* Convert a SemanticEvent to a SequencedEvent
|
|
37
|
-
*/
|
|
38
|
-
export declare function toSequencedEvent(event: ISemanticEvent, turn: number, sequence: number): SequencedEvent;
|
|
39
|
-
/**
|
|
40
|
-
* Convert a SequencedEvent back to a SemanticEvent
|
|
41
|
-
* Preserves all original properties (including requiresClientAction for platform events)
|
|
42
|
-
*/
|
|
43
|
-
export declare function toSemanticEvent(event: SequencedEvent): ISemanticEvent;
|
|
44
|
-
//# sourceMappingURL=event-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-adapter.d.ts","sourceRoot":"","sources":["../../../../src/event-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAcpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CAmChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CAIhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,cAAc,CAYhB;AAsBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CASrE"}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Event Adapter - Converts between SemanticEvent and SequencedEvent
|
|
4
|
-
*
|
|
5
|
-
* This adapter handles:
|
|
6
|
-
* - Event normalization for consistent structure
|
|
7
|
-
* - Event enrichment pipeline for adding metadata
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.normalizeEvent = normalizeEvent;
|
|
11
|
-
exports.enrichEvent = enrichEvent;
|
|
12
|
-
exports.processEvent = processEvent;
|
|
13
|
-
exports.toSequencedEvent = toSequencedEvent;
|
|
14
|
-
exports.toSemanticEvent = toSemanticEvent;
|
|
15
|
-
/**
|
|
16
|
-
* Event normalization - ensures consistent event structure
|
|
17
|
-
* Preserves all original properties (including requiresClientAction for platform events)
|
|
18
|
-
*/
|
|
19
|
-
function normalizeEvent(event) {
|
|
20
|
-
const normalized = {
|
|
21
|
-
...event, // Preserve all original properties (e.g., requiresClientAction)
|
|
22
|
-
id: event.id || generateEventId(),
|
|
23
|
-
type: event.type.toLowerCase(),
|
|
24
|
-
timestamp: event.timestamp || Date.now(),
|
|
25
|
-
entities: event.entities || {},
|
|
26
|
-
data: event.data,
|
|
27
|
-
tags: event.tags,
|
|
28
|
-
priority: event.priority,
|
|
29
|
-
narrate: event.narrate
|
|
30
|
-
};
|
|
31
|
-
return normalized;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Event enrichment pipeline - adds additional metadata
|
|
35
|
-
*/
|
|
36
|
-
function enrichEvent(event, context) {
|
|
37
|
-
const enriched = { ...event };
|
|
38
|
-
if (context) {
|
|
39
|
-
// Add turn information to data
|
|
40
|
-
if (context.turn !== undefined && enriched.data && typeof enriched.data === 'object') {
|
|
41
|
-
enriched.data = { ...enriched.data, turn: context.turn };
|
|
42
|
-
}
|
|
43
|
-
// Add player as actor if not specified
|
|
44
|
-
if (context.playerId && !enriched.entities.actor) {
|
|
45
|
-
enriched.entities = { ...enriched.entities, actor: context.playerId };
|
|
46
|
-
}
|
|
47
|
-
// Add location if not specified
|
|
48
|
-
if (context.locationId && !enriched.entities.location) {
|
|
49
|
-
enriched.entities = { ...enriched.entities, location: context.locationId };
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
// Add default tags based on event type
|
|
53
|
-
if (!enriched.tags) {
|
|
54
|
-
enriched.tags = [];
|
|
55
|
-
}
|
|
56
|
-
// Add category tags
|
|
57
|
-
if (enriched.type.startsWith('action.') && !enriched.tags.includes('action')) {
|
|
58
|
-
enriched.tags = [...enriched.tags, 'action'];
|
|
59
|
-
}
|
|
60
|
-
else if (enriched.type.startsWith('system.') && !enriched.tags.includes('system')) {
|
|
61
|
-
enriched.tags = [...enriched.tags, 'system'];
|
|
62
|
-
}
|
|
63
|
-
else if (enriched.type.startsWith('game.') && !enriched.tags.includes('game')) {
|
|
64
|
-
enriched.tags = [...enriched.tags, 'game'];
|
|
65
|
-
}
|
|
66
|
-
return enriched;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Process an event through the pipeline.
|
|
70
|
-
*
|
|
71
|
-
* Pipeline stages:
|
|
72
|
-
* 1. Normalization (ensure required fields, lowercase type)
|
|
73
|
-
* 2. Enrichment (add turn info, default entities)
|
|
74
|
-
*/
|
|
75
|
-
function processEvent(event, context) {
|
|
76
|
-
const normalized = normalizeEvent(event);
|
|
77
|
-
const enriched = enrichEvent(normalized, context);
|
|
78
|
-
return enriched;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Convert a SemanticEvent to a SequencedEvent
|
|
82
|
-
*/
|
|
83
|
-
function toSequencedEvent(event, turn, sequence) {
|
|
84
|
-
const processed = processEvent(event, { turn });
|
|
85
|
-
return {
|
|
86
|
-
type: processed.type,
|
|
87
|
-
data: processed.data,
|
|
88
|
-
sequence,
|
|
89
|
-
timestamp: new Date(processed.timestamp),
|
|
90
|
-
turn,
|
|
91
|
-
scope: determineScope(processed),
|
|
92
|
-
source: processed.id
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Generate a unique event ID
|
|
97
|
-
*/
|
|
98
|
-
function generateEventId() {
|
|
99
|
-
return `event-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Determine the scope of an event
|
|
103
|
-
*/
|
|
104
|
-
function determineScope(event) {
|
|
105
|
-
if (event.type.startsWith('platform.')) {
|
|
106
|
-
return 'system';
|
|
107
|
-
}
|
|
108
|
-
if (event.type === 'action.error') {
|
|
109
|
-
return 'turn';
|
|
110
|
-
}
|
|
111
|
-
return 'turn';
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Convert a SequencedEvent back to a SemanticEvent
|
|
115
|
-
* Preserves all original properties (including requiresClientAction for platform events)
|
|
116
|
-
*/
|
|
117
|
-
function toSemanticEvent(event) {
|
|
118
|
-
return {
|
|
119
|
-
...event, // Preserve all original properties (e.g., requiresClientAction, payload)
|
|
120
|
-
id: event.source || `${event.turn}-${event.sequence}`,
|
|
121
|
-
type: event.type,
|
|
122
|
-
timestamp: event.timestamp.getTime(),
|
|
123
|
-
data: event.data,
|
|
124
|
-
entities: event.entities || {}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=event-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-adapter.js","sourceRoot":"","sources":["../../../../src/event-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event Sequencer - Manages event ordering within turns
|
|
3
|
-
*
|
|
4
|
-
* Ensures all events have proper sequence numbers for ordering
|
|
5
|
-
* and grouping within a turn.
|
|
6
|
-
*/
|
|
7
|
-
import { GameEvent, SequencedEvent } from './types';
|
|
8
|
-
/**
|
|
9
|
-
* Event sequencer class
|
|
10
|
-
*/
|
|
11
|
-
declare class EventSequencer {
|
|
12
|
-
private counter;
|
|
13
|
-
/**
|
|
14
|
-
* Get next sequence number
|
|
15
|
-
*/
|
|
16
|
-
next(): number;
|
|
17
|
-
/**
|
|
18
|
-
* Reset turn counter (optional, for testing)
|
|
19
|
-
*/
|
|
20
|
-
resetTurn(turn: number): void;
|
|
21
|
-
/**
|
|
22
|
-
* Sequence a single event
|
|
23
|
-
*/
|
|
24
|
-
sequence(event: GameEvent, turn: number): SequencedEvent;
|
|
25
|
-
/**
|
|
26
|
-
* Sequence multiple events
|
|
27
|
-
*/
|
|
28
|
-
sequenceAll(events: GameEvent[], turn: number): SequencedEvent[];
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Event sequence utilities
|
|
32
|
-
*/
|
|
33
|
-
export declare class EventSequenceUtils {
|
|
34
|
-
/**
|
|
35
|
-
* Sort events by sequence number
|
|
36
|
-
*/
|
|
37
|
-
static sort(events: SequencedEvent[]): SequencedEvent[];
|
|
38
|
-
/**
|
|
39
|
-
* Filter events by type
|
|
40
|
-
*/
|
|
41
|
-
static filterByType(events: SequencedEvent[], type: string): SequencedEvent[];
|
|
42
|
-
/**
|
|
43
|
-
* Filter events by turn
|
|
44
|
-
*/
|
|
45
|
-
static filterByTurn(events: SequencedEvent[], turn: number): SequencedEvent[];
|
|
46
|
-
/**
|
|
47
|
-
* Filter events by scope
|
|
48
|
-
*/
|
|
49
|
-
static filterByScope(events: SequencedEvent[], scope: SequencedEvent['scope']): SequencedEvent[];
|
|
50
|
-
/**
|
|
51
|
-
* Group events by type
|
|
52
|
-
*/
|
|
53
|
-
static groupByType(events: SequencedEvent[]): Record<string, SequencedEvent[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Group events by turn
|
|
56
|
-
*/
|
|
57
|
-
static groupByTurn(events: SequencedEvent[]): Record<number, SequencedEvent[]>;
|
|
58
|
-
/**
|
|
59
|
-
* Get latest event by type
|
|
60
|
-
*/
|
|
61
|
-
static getLatestByType(events: SequencedEvent[], type: string): SequencedEvent | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Count events by type
|
|
64
|
-
*/
|
|
65
|
-
static countByType(events: SequencedEvent[]): Record<string, number>;
|
|
66
|
-
/**
|
|
67
|
-
* Get events in sequence range
|
|
68
|
-
*/
|
|
69
|
-
static getInRange(events: SequencedEvent[], start: number, end: number, inclusive?: boolean): SequencedEvent[];
|
|
70
|
-
}
|
|
71
|
-
export declare const eventSequencer: EventSequencer;
|
|
72
|
-
export {};
|
|
73
|
-
//# sourceMappingURL=event-sequencer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-sequencer.d.ts","sourceRoot":"","sources":["../../../../src/event-sequencer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAsB;IAErC;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAUxD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE;CAGjE;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAIvD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE;IAI7E;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE;IAI7E;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,cAAc,EAAE;IAIhG;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAa9E;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAa9E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAS1F;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUpE;;OAEG;IACH,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,OAAc,GACxB,cAAc,EAAE;CAOpB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Event Sequencer - Manages event ordering within turns
|
|
4
|
-
*
|
|
5
|
-
* Ensures all events have proper sequence numbers for ordering
|
|
6
|
-
* and grouping within a turn.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.eventSequencer = exports.EventSequenceUtils = void 0;
|
|
10
|
-
/**
|
|
11
|
-
* Event sequencer class
|
|
12
|
-
*/
|
|
13
|
-
class EventSequencer {
|
|
14
|
-
counter = Date.now();
|
|
15
|
-
/**
|
|
16
|
-
* Get next sequence number
|
|
17
|
-
*/
|
|
18
|
-
next() {
|
|
19
|
-
return ++this.counter;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Reset turn counter (optional, for testing)
|
|
23
|
-
*/
|
|
24
|
-
resetTurn(turn) {
|
|
25
|
-
// No-op in this implementation
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Sequence a single event
|
|
29
|
-
*/
|
|
30
|
-
sequence(event, turn) {
|
|
31
|
-
return {
|
|
32
|
-
...event,
|
|
33
|
-
sequence: this.next(),
|
|
34
|
-
timestamp: new Date(),
|
|
35
|
-
turn,
|
|
36
|
-
scope: 'turn'
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Sequence multiple events
|
|
41
|
-
*/
|
|
42
|
-
sequenceAll(events, turn) {
|
|
43
|
-
return events.map(event => this.sequence(event, turn));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Event sequence utilities
|
|
48
|
-
*/
|
|
49
|
-
class EventSequenceUtils {
|
|
50
|
-
/**
|
|
51
|
-
* Sort events by sequence number
|
|
52
|
-
*/
|
|
53
|
-
static sort(events) {
|
|
54
|
-
return [...events].sort((a, b) => a.sequence - b.sequence);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Filter events by type
|
|
58
|
-
*/
|
|
59
|
-
static filterByType(events, type) {
|
|
60
|
-
return events.filter(e => e.type === type);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Filter events by turn
|
|
64
|
-
*/
|
|
65
|
-
static filterByTurn(events, turn) {
|
|
66
|
-
return events.filter(e => e.turn === turn);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Filter events by scope
|
|
70
|
-
*/
|
|
71
|
-
static filterByScope(events, scope) {
|
|
72
|
-
return events.filter(e => e.scope === scope);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Group events by type
|
|
76
|
-
*/
|
|
77
|
-
static groupByType(events) {
|
|
78
|
-
const groups = {};
|
|
79
|
-
for (const event of events) {
|
|
80
|
-
if (!groups[event.type]) {
|
|
81
|
-
groups[event.type] = [];
|
|
82
|
-
}
|
|
83
|
-
groups[event.type].push(event);
|
|
84
|
-
}
|
|
85
|
-
return groups;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Group events by turn
|
|
89
|
-
*/
|
|
90
|
-
static groupByTurn(events) {
|
|
91
|
-
const groups = {};
|
|
92
|
-
for (const event of events) {
|
|
93
|
-
if (!groups[event.turn]) {
|
|
94
|
-
groups[event.turn] = [];
|
|
95
|
-
}
|
|
96
|
-
groups[event.turn].push(event);
|
|
97
|
-
}
|
|
98
|
-
return groups;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Get latest event by type
|
|
102
|
-
*/
|
|
103
|
-
static getLatestByType(events, type) {
|
|
104
|
-
const filtered = this.filterByType(events, type);
|
|
105
|
-
if (filtered.length === 0)
|
|
106
|
-
return undefined;
|
|
107
|
-
return filtered.reduce((latest, current) => current.sequence > latest.sequence ? current : latest);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Count events by type
|
|
111
|
-
*/
|
|
112
|
-
static countByType(events) {
|
|
113
|
-
const counts = {};
|
|
114
|
-
for (const event of events) {
|
|
115
|
-
counts[event.type] = (counts[event.type] || 0) + 1;
|
|
116
|
-
}
|
|
117
|
-
return counts;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Get events in sequence range
|
|
121
|
-
*/
|
|
122
|
-
static getInRange(events, start, end, inclusive = true) {
|
|
123
|
-
if (inclusive) {
|
|
124
|
-
return events.filter(e => e.sequence >= start && e.sequence <= end);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
return events.filter(e => e.sequence > start && e.sequence < end);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
exports.EventSequenceUtils = EventSequenceUtils;
|
|
132
|
-
// Export singleton instance
|
|
133
|
-
exports.eventSequencer = new EventSequencer();
|
|
134
|
-
//# sourceMappingURL=event-sequencer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-sequencer.js","sourceRoot":"","sources":["../../../../src/event-sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event emitter for managing game events
|
|
3
|
-
*/
|
|
4
|
-
import { ISemanticEvent } from "../../../core/dist-npm/src/index";
|
|
5
|
-
import { IGameEvent, SimpleEventHandler } from "../../../world-model/dist-npm/src/index";
|
|
6
|
-
/**
|
|
7
|
-
* Simple event emitter for the game event system
|
|
8
|
-
* Used for story-level event handlers (daemons)
|
|
9
|
-
*/
|
|
10
|
-
export declare class EventEmitter {
|
|
11
|
-
private handlers;
|
|
12
|
-
/**
|
|
13
|
-
* Register a handler for an event type
|
|
14
|
-
*/
|
|
15
|
-
on(eventType: string, handler: SimpleEventHandler): void;
|
|
16
|
-
/**
|
|
17
|
-
* Remove a handler for an event type
|
|
18
|
-
*/
|
|
19
|
-
off(eventType: string, handler: SimpleEventHandler): void;
|
|
20
|
-
/**
|
|
21
|
-
* Emit an event to all registered handlers
|
|
22
|
-
* Returns any semantic events generated by handlers
|
|
23
|
-
*/
|
|
24
|
-
emit(event: IGameEvent): ISemanticEvent[];
|
|
25
|
-
/**
|
|
26
|
-
* Clear all handlers for a specific event type
|
|
27
|
-
*/
|
|
28
|
-
clear(eventType?: string): void;
|
|
29
|
-
/**
|
|
30
|
-
* Get count of handlers for an event type
|
|
31
|
-
*/
|
|
32
|
-
listenerCount(eventType: string): number;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../../../src/events/event-emitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;OAEG;IACH,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAMxD;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAUzD;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,EAAE;IAczC;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ/B;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGzC"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Event emitter for managing game events
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EventEmitter = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Simple event emitter for the game event system
|
|
9
|
-
* Used for story-level event handlers (daemons)
|
|
10
|
-
*/
|
|
11
|
-
class EventEmitter {
|
|
12
|
-
handlers = new Map();
|
|
13
|
-
/**
|
|
14
|
-
* Register a handler for an event type
|
|
15
|
-
*/
|
|
16
|
-
on(eventType, handler) {
|
|
17
|
-
const handlers = this.handlers.get(eventType) || [];
|
|
18
|
-
handlers.push(handler);
|
|
19
|
-
this.handlers.set(eventType, handlers);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Remove a handler for an event type
|
|
23
|
-
*/
|
|
24
|
-
off(eventType, handler) {
|
|
25
|
-
const handlers = this.handlers.get(eventType);
|
|
26
|
-
if (handlers) {
|
|
27
|
-
const index = handlers.indexOf(handler);
|
|
28
|
-
if (index !== -1) {
|
|
29
|
-
handlers.splice(index, 1);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Emit an event to all registered handlers
|
|
35
|
-
* Returns any semantic events generated by handlers
|
|
36
|
-
*/
|
|
37
|
-
emit(event) {
|
|
38
|
-
const results = [];
|
|
39
|
-
const handlers = this.handlers.get(event.type) || [];
|
|
40
|
-
for (const handler of handlers) {
|
|
41
|
-
const result = handler(event);
|
|
42
|
-
if (result) {
|
|
43
|
-
results.push(...result);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return results;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Clear all handlers for a specific event type
|
|
50
|
-
*/
|
|
51
|
-
clear(eventType) {
|
|
52
|
-
if (eventType) {
|
|
53
|
-
this.handlers.delete(eventType);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.handlers.clear();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Get count of handlers for an event type
|
|
61
|
-
*/
|
|
62
|
-
listenerCount(eventType) {
|
|
63
|
-
return this.handlers.get(eventType)?.length || 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.EventEmitter = EventEmitter;
|
|
67
|
-
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../../../../src/events/event-emitter.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH;;;GAGG;AACH,MAAa,YAAY;IACf,QAAQ,GAAsC,IAAI,GAAG,EAAE,CAAC;IAEhE;;OAEG;IACH,EAAE,CAAC,SAAiB,EAAE,OAA2B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,SAAiB,EAAE,OAA2B;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAiB;QACpB,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAErD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAkB;QACtB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AA5DD,oCA4DC"}
|