@sharpee/world-model 0.9.99 → 0.9.102

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.
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ /**
3
+ * WorldEventSystem — event registration, chaining, validation, and history
4
+ * for WorldModel.
5
+ *
6
+ * Public interface: registerEventHandler, unregisterEventHandler,
7
+ * registerEventValidator, registerEventPreviewer, connectEventProcessor,
8
+ * chainEvent, applyEvent, canApplyEvent, previewEvent, getAppliedEvents,
9
+ * getEventsSince, clearEventHistory, preserveChains, restoreChains, clear.
10
+ *
11
+ * Owner context: packages/world-model (ADR-086, ADR-094). Extracted from
12
+ * WorldModel to isolate event concerns.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.WorldEventSystem = void 0;
16
+ /**
17
+ * Manages all event-related state and logic for WorldModel.
18
+ *
19
+ * Handlers, validators, previewers, and chain handlers are registered here.
20
+ * The world reference is set after construction via setWorldRef() so that
21
+ * handlers receive the correct IWorldModel when invoked.
22
+ */
23
+ class WorldEventSystem {
24
+ worldRef = null;
25
+ eventHandlers = new Map();
26
+ eventValidators = new Map();
27
+ eventPreviewers = new Map();
28
+ appliedEvents = [];
29
+ eventProcessorWiring = null;
30
+ maxEventHistory = 1000;
31
+ // Event chaining (ADR-094)
32
+ eventChains = new Map();
33
+ /**
34
+ * Set the world reference used when invoking handlers.
35
+ * Called by WorldModel after construction.
36
+ *
37
+ * @param world - The IWorldModel instance handlers will receive
38
+ */
39
+ setWorldRef(world) {
40
+ this.worldRef = world;
41
+ }
42
+ getWorld() {
43
+ if (!this.worldRef) {
44
+ throw new Error('WorldEventSystem: world reference not set. Call setWorldRef() first.');
45
+ }
46
+ return this.worldRef;
47
+ }
48
+ // ── Handler registration ────────────────────────────────────────────
49
+ /**
50
+ * Register an event handler for a specific event type.
51
+ *
52
+ * @param eventType - The event type string to handle
53
+ * @param handler - Handler function receiving the event and world
54
+ */
55
+ registerEventHandler(eventType, handler) {
56
+ this.eventHandlers.set(eventType, handler);
57
+ // If already connected to EventProcessor, wire immediately (ADR-086)
58
+ if (this.eventProcessorWiring) {
59
+ this.wireHandlerToProcessor(eventType, handler);
60
+ }
61
+ }
62
+ /**
63
+ * Unregister the handler for a specific event type.
64
+ *
65
+ * @param eventType - The event type to unregister
66
+ */
67
+ unregisterEventHandler(eventType) {
68
+ this.eventHandlers.delete(eventType);
69
+ }
70
+ /**
71
+ * Register a validator for a specific event type.
72
+ *
73
+ * @param eventType - The event type to validate
74
+ * @param validator - Validator function returning true if event is valid
75
+ */
76
+ registerEventValidator(eventType, validator) {
77
+ this.eventValidators.set(eventType, validator);
78
+ }
79
+ /**
80
+ * Register a previewer for a specific event type.
81
+ *
82
+ * @param eventType - The event type to preview
83
+ * @param previewer - Previewer function returning predicted changes
84
+ */
85
+ registerEventPreviewer(eventType, previewer) {
86
+ this.eventPreviewers.set(eventType, previewer);
87
+ }
88
+ // ── EventProcessor wiring (ADR-086) ─────────────────────────────────
89
+ /**
90
+ * Connect to the engine's EventProcessor.
91
+ * Wires all existing handlers and chains, and enables automatic wiring
92
+ * for future registrations.
93
+ *
94
+ * @param wiring - The EventProcessor wiring interface
95
+ */
96
+ connectEventProcessor(wiring) {
97
+ this.eventProcessorWiring = wiring;
98
+ for (const [eventType, handler] of this.eventHandlers) {
99
+ this.wireHandlerToProcessor(eventType, handler);
100
+ }
101
+ for (const triggerType of this.eventChains.keys()) {
102
+ this.wireChainToProcessor(triggerType);
103
+ }
104
+ }
105
+ wireHandlerToProcessor(eventType, handler) {
106
+ if (!this.eventProcessorWiring)
107
+ return;
108
+ const world = this.getWorld();
109
+ const adaptedHandler = (event) => {
110
+ handler(event, world);
111
+ return [];
112
+ };
113
+ this.eventProcessorWiring.registerHandler(eventType, adaptedHandler);
114
+ }
115
+ // ── Event chaining (ADR-094) ────────────────────────────────────────
116
+ /**
117
+ * Register an event chain handler.
118
+ * Chain handlers produce new events when a trigger event occurs.
119
+ *
120
+ * @param triggerType - The event type that triggers this chain
121
+ * @param handler - Function that returns new events to emit
122
+ * @param options - Chain registration options (mode, key, priority)
123
+ */
124
+ chainEvent(triggerType, handler, options = {}) {
125
+ const { mode = 'cascade', key, priority = 100 } = options;
126
+ const registration = { handler, key, priority };
127
+ if (!this.eventChains.has(triggerType)) {
128
+ this.eventChains.set(triggerType, []);
129
+ }
130
+ const chains = this.eventChains.get(triggerType);
131
+ if (mode === 'override') {
132
+ this.eventChains.set(triggerType, [registration]);
133
+ }
134
+ else if (key) {
135
+ const existingIndex = chains.findIndex(c => c.key === key);
136
+ if (existingIndex >= 0) {
137
+ chains[existingIndex] = registration;
138
+ }
139
+ else {
140
+ chains.push(registration);
141
+ }
142
+ }
143
+ else {
144
+ chains.push(registration);
145
+ }
146
+ chains.sort((a, b) => a.priority - b.priority);
147
+ if (this.eventProcessorWiring) {
148
+ this.wireChainToProcessor(triggerType);
149
+ }
150
+ }
151
+ wireChainToProcessor(triggerType) {
152
+ if (!this.eventProcessorWiring)
153
+ return;
154
+ this.eventProcessorWiring.registerHandler(triggerType, (event) => {
155
+ const chainedEvents = this.executeChains(triggerType, event);
156
+ return chainedEvents.map(e => ({ type: 'emit', event: e }));
157
+ });
158
+ }
159
+ executeChains(triggerType, event) {
160
+ const chains = this.eventChains.get(triggerType) || [];
161
+ const results = [];
162
+ const world = this.getWorld();
163
+ const triggerData = (event.data || {});
164
+ const currentDepth = triggerData._chainDepth || 0;
165
+ const transactionId = triggerData._transactionId;
166
+ for (const chain of chains) {
167
+ const chainedEvents = chain.handler(event, world);
168
+ if (chainedEvents) {
169
+ const eventsArray = Array.isArray(chainedEvents) ? chainedEvents : [chainedEvents];
170
+ for (const chainedEvent of eventsArray) {
171
+ const newDepth = currentDepth + 1;
172
+ if (newDepth > 10) {
173
+ console.warn(`Chain depth exceeded for ${chainedEvent.type}, skipping`);
174
+ continue;
175
+ }
176
+ const existingData = (chainedEvent.data || {});
177
+ const enrichedEvent = {
178
+ id: chainedEvent.id || `chain-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
179
+ type: chainedEvent.type,
180
+ timestamp: chainedEvent.timestamp || Date.now(),
181
+ entities: chainedEvent.entities || {},
182
+ data: {
183
+ ...existingData,
184
+ _chainedFrom: event.type,
185
+ _chainSourceId: event.id,
186
+ _chainDepth: newDepth,
187
+ ...(transactionId ? { _transactionId: transactionId } : {})
188
+ }
189
+ };
190
+ results.push(enrichedEvent);
191
+ }
192
+ }
193
+ }
194
+ return results;
195
+ }
196
+ // ── Event application ───────────────────────────────────────────────
197
+ /**
198
+ * Apply an event to the world. Validates first, then invokes the handler
199
+ * and records the event in history.
200
+ *
201
+ * @param event - The event to apply
202
+ * @throws Error if validation fails
203
+ */
204
+ applyEvent(event) {
205
+ if (!this.canApplyEvent(event)) {
206
+ throw new Error(`Cannot apply event of type '${event.type}': validation failed`);
207
+ }
208
+ const world = this.getWorld();
209
+ const handler = this.eventHandlers.get(event.type);
210
+ if (handler) {
211
+ handler(event, world);
212
+ }
213
+ this.appliedEvents.push(event);
214
+ if (this.appliedEvents.length > this.maxEventHistory) {
215
+ this.appliedEvents = this.appliedEvents.slice(-this.maxEventHistory);
216
+ }
217
+ }
218
+ /**
219
+ * Check if an event can be applied (runs the validator if registered).
220
+ *
221
+ * @param event - The event to validate
222
+ * @returns true if the event is valid or no validator is registered
223
+ */
224
+ canApplyEvent(event) {
225
+ const validator = this.eventValidators.get(event.type);
226
+ if (!validator)
227
+ return true;
228
+ return validator(event, this.getWorld());
229
+ }
230
+ /**
231
+ * Preview the changes an event would cause without applying it.
232
+ *
233
+ * @param event - The event to preview
234
+ * @returns Array of predicted world changes
235
+ */
236
+ previewEvent(event) {
237
+ const previewer = this.eventPreviewers.get(event.type);
238
+ if (!previewer)
239
+ return [];
240
+ return previewer(event, this.getWorld());
241
+ }
242
+ // ── Event history ───────────────────────────────────────────────────
243
+ /**
244
+ * Get all applied events (defensive copy).
245
+ *
246
+ * @returns Array of all events in history
247
+ */
248
+ getAppliedEvents() {
249
+ return [...this.appliedEvents];
250
+ }
251
+ /**
252
+ * Get events applied since a given timestamp.
253
+ *
254
+ * @param timestamp - The cutoff timestamp
255
+ * @returns Events with timestamp greater than the cutoff
256
+ */
257
+ getEventsSince(timestamp) {
258
+ return this.appliedEvents.filter(event => event.timestamp > timestamp);
259
+ }
260
+ /**
261
+ * Clear the event history.
262
+ */
263
+ clearEventHistory() {
264
+ this.appliedEvents = [];
265
+ }
266
+ // ── Chain preservation for save/restore ─────────────────────────────
267
+ /**
268
+ * Snapshot the current event chains (code registrations, not serialized).
269
+ * Used by WorldModel.loadJSON to preserve chains across restore.
270
+ *
271
+ * @returns A snapshot of the chain map
272
+ */
273
+ preserveChains() {
274
+ return new Map(this.eventChains);
275
+ }
276
+ /**
277
+ * Restore previously preserved chains.
278
+ *
279
+ * @param chains - Chain snapshot from preserveChains()
280
+ */
281
+ restoreChains(chains) {
282
+ for (const [key, value] of chains) {
283
+ this.eventChains.set(key, value);
284
+ }
285
+ }
286
+ // ── Lifecycle ───────────────────────────────────────────────────────
287
+ /**
288
+ * Reset all runtime event state. Does not clear handler/validator/previewer
289
+ * registrations (those are code registrations, not runtime state).
290
+ */
291
+ clear() {
292
+ this.appliedEvents = [];
293
+ this.eventChains.clear();
294
+ }
295
+ }
296
+ exports.WorldEventSystem = WorldEventSystem;
297
+ //# sourceMappingURL=WorldEventSystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorldEventSystem.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/WorldEventSystem.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { IFEntity } from '../entities/if-entity';
2
- import { EntityType } from '../entities/entity-types';
3
2
  import { TraitType } from '../traits/trait-types';
4
3
  import { DirectionType } from '../constants/directions';
5
4
  import { ISemanticEvent, ISemanticEventSource } from "../../core/index";
@@ -8,41 +7,11 @@ import { ICapabilityData, ICapabilityRegistration } from './capabilities';
8
7
  import { WorldState, WorldConfig, ContentsOptions, WorldChange, IGrammarVocabularyProvider, IEventProcessorWiring, GamePrompt } from "../../if-domain/index";
9
8
  import { ScopeRegistry } from '../scope/scope-registry';
10
9
  import { IScopeRule } from '../scope/scope-rule';
11
- export type EventHandler = (event: ISemanticEvent, world: IWorldModel) => void;
12
- export type EventValidator = (event: ISemanticEvent, world: IWorldModel) => boolean;
13
- export type EventPreviewer = (event: ISemanticEvent, world: IWorldModel) => WorldChange[];
14
- /**
15
- * Chain handler - returns events to emit (or null/empty to skip).
16
- * Unlike regular event handlers, chain handlers produce new events.
17
- */
18
- export type EventChainHandler = (event: ISemanticEvent, world: IWorldModel) => ISemanticEvent | ISemanticEvent[] | null | undefined | void;
19
- /**
20
- * Options for chain registration
21
- */
22
- export interface ChainEventOptions {
23
- /**
24
- * How to handle existing chains for this trigger:
25
- * - 'cascade' (default): Add to existing chains, all fire
26
- * - 'override': Replace ALL existing chains for this trigger
27
- */
28
- mode?: 'cascade' | 'override';
29
- /**
30
- * Unique key for this chain. Chains with same key replace each other.
31
- * Useful for stdlib to define replaceable defaults.
32
- */
33
- key?: string;
34
- /**
35
- * Priority for ordering when multiple chains fire (lower = earlier)
36
- * Default: 100
37
- */
38
- priority?: number;
39
- }
10
+ import { EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions } from './WorldEventSystem';
11
+ export type { EventHandler, EventValidator, EventPreviewer, EventChainHandler, ChainEventOptions };
40
12
  export { WorldState, WorldConfig, ContentsOptions, WorldChange } from "../../if-domain/index";
41
- export interface ScoreEntry {
42
- id: string;
43
- points: number;
44
- description: string;
45
- }
13
+ import { ScoreEntry } from './ScoreLedger';
14
+ export { ScoreEntry } from './ScoreLedger';
46
15
  export interface IWorldModel {
47
16
  getDataStore(): IDataStore;
48
17
  registerCapability(name: string, registration: Partial<ICapabilityRegistration>): void;
@@ -50,7 +19,6 @@ export interface IWorldModel {
50
19
  getCapability(name: string): ICapabilityData | undefined;
51
20
  hasCapability(name: string): boolean;
52
21
  createEntity(displayName: string, type?: string): IFEntity;
53
- createEntityWithTraits(type: EntityType): IFEntity;
54
22
  getEntity(id: string): IFEntity | undefined;
55
23
  hasEntity(id: string): boolean;
56
24
  removeEntity(id: string): boolean;
@@ -143,15 +111,9 @@ export declare class WorldModel implements IWorldModel {
143
111
  private config;
144
112
  private capabilities;
145
113
  private scoreLedger;
146
- private scoreMaxScore;
147
114
  private idCounters;
148
- private eventHandlers;
149
- private eventValidators;
150
- private eventPreviewers;
151
- private appliedEvents;
152
- private eventProcessorWiring;
153
- private maxEventHistory;
154
- private eventChains;
115
+ private eventSystem;
116
+ private serializer;
155
117
  private platformEvents?;
156
118
  private scopeRegistry;
157
119
  private scopeEvaluator;
@@ -164,12 +126,6 @@ export declare class WorldModel implements IWorldModel {
164
126
  hasCapability(name: string): boolean;
165
127
  private generateId;
166
128
  createEntity(displayName: string, type?: string): IFEntity;
167
- /**
168
- * Create an entity with type safety and automatic trait assignment
169
- * @param type The entity type (from EntityType constants)
170
- * @returns The created entity with appropriate default traits
171
- */
172
- createEntityWithTraits(type: EntityType): IFEntity;
173
129
  getEntity(id: string): IFEntity | undefined;
174
130
  hasEntity(id: string): boolean;
175
131
  removeEntity(id: string): boolean;
@@ -209,41 +165,20 @@ export declare class WorldModel implements IWorldModel {
209
165
  getMaxScore(): number;
210
166
  toJSON(): string;
211
167
  loadJSON(json: string): void;
168
+ private getSerializableState;
212
169
  clear(): void;
213
170
  registerEventHandler(eventType: string, handler: EventHandler): void;
214
171
  unregisterEventHandler(eventType: string): void;
215
172
  registerEventValidator(eventType: string, validator: EventValidator): void;
216
173
  registerEventPreviewer(eventType: string, previewer: EventPreviewer): void;
217
- /**
218
- * Connect this WorldModel to the engine's EventProcessor (ADR-086).
219
- * Wires all existing handlers and chains, and enables automatic wiring for future ones.
220
- */
221
174
  connectEventProcessor(wiring: IEventProcessorWiring): void;
222
- /**
223
- * Adapt a WorldModel handler to EventProcessor signature and register it.
224
- */
225
- private wireHandlerToProcessor;
226
- /**
227
- * Register an event chain handler (ADR-094).
228
- * Chain handlers produce new events when a trigger event occurs.
229
- */
230
175
  chainEvent(triggerType: string, handler: EventChainHandler, options?: ChainEventOptions): void;
231
- /**
232
- * Wire chains for a trigger type to the EventProcessor.
233
- * Chain handlers return events to be emitted.
234
- */
235
- private wireChainToProcessor;
236
- /**
237
- * Execute all chains for a trigger type and collect their events.
238
- */
239
- private executeChains;
240
176
  applyEvent(event: ISemanticEvent): void;
241
177
  canApplyEvent(event: ISemanticEvent): boolean;
242
178
  previewEvent(event: ISemanticEvent): WorldChange[];
243
179
  getAppliedEvents(): ISemanticEvent[];
244
180
  getEventsSince(timestamp: number): ISemanticEvent[];
245
181
  clearEventHistory(): void;
246
- private rebuildIdCounters;
247
182
  getDataStore(): IDataStore;
248
183
  getScopeRegistry(): ScopeRegistry;
249
184
  getGrammarVocabularyProvider(): IGrammarVocabularyProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"WorldModel.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/WorldModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorldModel.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/WorldModel.ts"],"names":[],"mappings":"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"}