@sharpee/world-model 0.9.100 → 0.9.103
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/package.json +3 -3
- package/world/AuthorModel.d.ts +122 -105
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +241 -322
- package/world/AuthorModel.js.map +1 -1
- package/world/ScoreLedger.d.ts +96 -0
- package/world/ScoreLedger.d.ts.map +1 -0
- package/world/ScoreLedger.js +126 -0
- package/world/ScoreLedger.js.map +1 -0
- package/world/WorldEventSystem.d.ts +186 -0
- package/world/WorldEventSystem.d.ts.map +1 -0
- package/world/WorldEventSystem.js +297 -0
- package/world/WorldEventSystem.js.map +1 -0
- package/world/WorldModel.d.ts +7 -72
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +54 -344
- package/world/WorldModel.js.map +1 -1
- package/world/WorldSerializer.d.ts +61 -0
- package/world/WorldSerializer.d.ts.map +1 -0
- package/world/WorldSerializer.js +136 -0
- package/world/WorldSerializer.js.map +1 -0
package/world/AuthorModel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"AuthorModel.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/AuthorModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScoreLedger — score tracking subsystem for WorldModel.
|
|
3
|
+
*
|
|
4
|
+
* Public interface: award, revoke, has, getTotal, getEntries, setMax, getMax,
|
|
5
|
+
* toJSON, fromJSON, clear.
|
|
6
|
+
*
|
|
7
|
+
* Owner context: packages/world-model (ADR-129). Extracted from WorldModel
|
|
8
|
+
* to isolate scoring concerns and simplify serialization.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* A single score entry in the ledger.
|
|
12
|
+
*/
|
|
13
|
+
export interface ScoreEntry {
|
|
14
|
+
id: string;
|
|
15
|
+
points: number;
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Serialized shape of the score ledger for persistence.
|
|
20
|
+
*/
|
|
21
|
+
export interface ScoreLedgerData {
|
|
22
|
+
scoreLedger: ScoreEntry[];
|
|
23
|
+
scoreMaxScore: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tracks score entries awarded during gameplay.
|
|
27
|
+
* Each entry has a unique ID to prevent double-awards and support revocation.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ScoreLedger {
|
|
30
|
+
private ledger;
|
|
31
|
+
private maxScore;
|
|
32
|
+
/**
|
|
33
|
+
* Award points for an achievement. Returns false if already awarded.
|
|
34
|
+
*
|
|
35
|
+
* @param id - Unique identifier for this score entry
|
|
36
|
+
* @param points - Points to award
|
|
37
|
+
* @param description - Human-readable description
|
|
38
|
+
* @returns true if awarded, false if id was already in the ledger
|
|
39
|
+
*/
|
|
40
|
+
award(id: string, points: number, description: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Revoke a previously awarded score entry.
|
|
43
|
+
*
|
|
44
|
+
* @param id - The entry ID to revoke
|
|
45
|
+
* @returns true if revoked, false if not found
|
|
46
|
+
*/
|
|
47
|
+
revoke(id: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Check if a score entry has been awarded.
|
|
50
|
+
*
|
|
51
|
+
* @param id - The entry ID to check
|
|
52
|
+
* @returns true if the entry exists in the ledger
|
|
53
|
+
*/
|
|
54
|
+
has(id: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Get the total score (sum of all entry points).
|
|
57
|
+
*
|
|
58
|
+
* @returns Total points across all entries
|
|
59
|
+
*/
|
|
60
|
+
getTotal(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Get a copy of all score entries.
|
|
63
|
+
*
|
|
64
|
+
* @returns Array of score entries (defensive copy)
|
|
65
|
+
*/
|
|
66
|
+
getEntries(): ScoreEntry[];
|
|
67
|
+
/**
|
|
68
|
+
* Set the maximum possible score.
|
|
69
|
+
*
|
|
70
|
+
* @param max - Maximum score value
|
|
71
|
+
*/
|
|
72
|
+
setMax(max: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* Get the maximum possible score.
|
|
75
|
+
*
|
|
76
|
+
* @returns Maximum score value
|
|
77
|
+
*/
|
|
78
|
+
getMax(): number;
|
|
79
|
+
/**
|
|
80
|
+
* Serialize the ledger for persistence.
|
|
81
|
+
*
|
|
82
|
+
* @returns Serializable data object
|
|
83
|
+
*/
|
|
84
|
+
toJSON(): ScoreLedgerData;
|
|
85
|
+
/**
|
|
86
|
+
* Restore the ledger from serialized data.
|
|
87
|
+
*
|
|
88
|
+
* @param data - Previously serialized ledger data
|
|
89
|
+
*/
|
|
90
|
+
fromJSON(data: Partial<ScoreLedgerData>): void;
|
|
91
|
+
/**
|
|
92
|
+
* Reset the ledger to empty state.
|
|
93
|
+
*/
|
|
94
|
+
clear(): void;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=ScoreLedger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScoreLedger.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/ScoreLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAQ/D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAO3B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAQlB;;;;OAIG;IACH,UAAU,IAAI,UAAU,EAAE;IAI1B;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;;;OAIG;IACH,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;IACH,MAAM,IAAI,eAAe;IAOzB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAS9C;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ScoreLedger — score tracking subsystem for WorldModel.
|
|
4
|
+
*
|
|
5
|
+
* Public interface: award, revoke, has, getTotal, getEntries, setMax, getMax,
|
|
6
|
+
* toJSON, fromJSON, clear.
|
|
7
|
+
*
|
|
8
|
+
* Owner context: packages/world-model (ADR-129). Extracted from WorldModel
|
|
9
|
+
* to isolate scoring concerns and simplify serialization.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ScoreLedger = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* Tracks score entries awarded during gameplay.
|
|
15
|
+
* Each entry has a unique ID to prevent double-awards and support revocation.
|
|
16
|
+
*/
|
|
17
|
+
class ScoreLedger {
|
|
18
|
+
ledger = [];
|
|
19
|
+
maxScore = 0;
|
|
20
|
+
/**
|
|
21
|
+
* Award points for an achievement. Returns false if already awarded.
|
|
22
|
+
*
|
|
23
|
+
* @param id - Unique identifier for this score entry
|
|
24
|
+
* @param points - Points to award
|
|
25
|
+
* @param description - Human-readable description
|
|
26
|
+
* @returns true if awarded, false if id was already in the ledger
|
|
27
|
+
*/
|
|
28
|
+
award(id, points, description) {
|
|
29
|
+
if (this.ledger.some(e => e.id === id)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
this.ledger.push({ id, points, description });
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Revoke a previously awarded score entry.
|
|
37
|
+
*
|
|
38
|
+
* @param id - The entry ID to revoke
|
|
39
|
+
* @returns true if revoked, false if not found
|
|
40
|
+
*/
|
|
41
|
+
revoke(id) {
|
|
42
|
+
const idx = this.ledger.findIndex(e => e.id === id);
|
|
43
|
+
if (idx < 0)
|
|
44
|
+
return false;
|
|
45
|
+
this.ledger.splice(idx, 1);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if a score entry has been awarded.
|
|
50
|
+
*
|
|
51
|
+
* @param id - The entry ID to check
|
|
52
|
+
* @returns true if the entry exists in the ledger
|
|
53
|
+
*/
|
|
54
|
+
has(id) {
|
|
55
|
+
return this.ledger.some(e => e.id === id);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get the total score (sum of all entry points).
|
|
59
|
+
*
|
|
60
|
+
* @returns Total points across all entries
|
|
61
|
+
*/
|
|
62
|
+
getTotal() {
|
|
63
|
+
let total = 0;
|
|
64
|
+
for (const entry of this.ledger) {
|
|
65
|
+
total += entry.points;
|
|
66
|
+
}
|
|
67
|
+
return total;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get a copy of all score entries.
|
|
71
|
+
*
|
|
72
|
+
* @returns Array of score entries (defensive copy)
|
|
73
|
+
*/
|
|
74
|
+
getEntries() {
|
|
75
|
+
return [...this.ledger];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Set the maximum possible score.
|
|
79
|
+
*
|
|
80
|
+
* @param max - Maximum score value
|
|
81
|
+
*/
|
|
82
|
+
setMax(max) {
|
|
83
|
+
this.maxScore = max;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the maximum possible score.
|
|
87
|
+
*
|
|
88
|
+
* @returns Maximum score value
|
|
89
|
+
*/
|
|
90
|
+
getMax() {
|
|
91
|
+
return this.maxScore;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Serialize the ledger for persistence.
|
|
95
|
+
*
|
|
96
|
+
* @returns Serializable data object
|
|
97
|
+
*/
|
|
98
|
+
toJSON() {
|
|
99
|
+
return {
|
|
100
|
+
scoreLedger: this.ledger,
|
|
101
|
+
scoreMaxScore: this.maxScore,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Restore the ledger from serialized data.
|
|
106
|
+
*
|
|
107
|
+
* @param data - Previously serialized ledger data
|
|
108
|
+
*/
|
|
109
|
+
fromJSON(data) {
|
|
110
|
+
if (data.scoreLedger) {
|
|
111
|
+
this.ledger = data.scoreLedger;
|
|
112
|
+
}
|
|
113
|
+
if (data.scoreMaxScore !== undefined) {
|
|
114
|
+
this.maxScore = data.scoreMaxScore;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Reset the ledger to empty state.
|
|
119
|
+
*/
|
|
120
|
+
clear() {
|
|
121
|
+
this.ledger = [];
|
|
122
|
+
this.maxScore = 0;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ScoreLedger = ScoreLedger;
|
|
126
|
+
//# sourceMappingURL=ScoreLedger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScoreLedger.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/ScoreLedger.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAmBH;;;GAGG;AACH,MAAa,WAAW;IACd,MAAM,GAAiB,EAAE,CAAC;IAC1B,QAAQ,GAAW,CAAC,CAAC;IAE7B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAU,EAAE,MAAc,EAAE,WAAmB;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC7B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAA8B;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;CACF;AApHD,kCAoHC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorldEventSystem — event registration, chaining, validation, and history
|
|
3
|
+
* for WorldModel.
|
|
4
|
+
*
|
|
5
|
+
* Public interface: registerEventHandler, unregisterEventHandler,
|
|
6
|
+
* registerEventValidator, registerEventPreviewer, connectEventProcessor,
|
|
7
|
+
* chainEvent, applyEvent, canApplyEvent, previewEvent, getAppliedEvents,
|
|
8
|
+
* getEventsSince, clearEventHistory, preserveChains, restoreChains, clear.
|
|
9
|
+
*
|
|
10
|
+
* Owner context: packages/world-model (ADR-086, ADR-094). Extracted from
|
|
11
|
+
* WorldModel to isolate event concerns.
|
|
12
|
+
*/
|
|
13
|
+
import { ISemanticEvent } from "../../core/index";
|
|
14
|
+
import { WorldChange, IEventProcessorWiring } from "../../if-domain/index";
|
|
15
|
+
import type { IWorldModel } from './WorldModel';
|
|
16
|
+
/** Handler invoked when an event is applied to the world */
|
|
17
|
+
export type EventHandler = (event: ISemanticEvent, world: IWorldModel) => void;
|
|
18
|
+
/** Validator that determines whether an event can be applied */
|
|
19
|
+
export type EventValidator = (event: ISemanticEvent, world: IWorldModel) => boolean;
|
|
20
|
+
/** Previewer that returns predicted world changes without applying */
|
|
21
|
+
export type EventPreviewer = (event: ISemanticEvent, world: IWorldModel) => WorldChange[];
|
|
22
|
+
/**
|
|
23
|
+
* Chain handler — returns events to emit (or null/empty to skip).
|
|
24
|
+
* Unlike regular event handlers, chain handlers produce new events.
|
|
25
|
+
*/
|
|
26
|
+
export type EventChainHandler = (event: ISemanticEvent, world: IWorldModel) => ISemanticEvent | ISemanticEvent[] | null | undefined | void;
|
|
27
|
+
/**
|
|
28
|
+
* Options for chain registration.
|
|
29
|
+
*/
|
|
30
|
+
export interface ChainEventOptions {
|
|
31
|
+
/**
|
|
32
|
+
* How to handle existing chains for this trigger:
|
|
33
|
+
* - 'cascade' (default): Add to existing chains, all fire
|
|
34
|
+
* - 'override': Replace ALL existing chains for this trigger
|
|
35
|
+
*/
|
|
36
|
+
mode?: 'cascade' | 'override';
|
|
37
|
+
/**
|
|
38
|
+
* Unique key for this chain. Chains with same key replace each other.
|
|
39
|
+
* Useful for stdlib to define replaceable defaults.
|
|
40
|
+
*/
|
|
41
|
+
key?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Priority for ordering when multiple chains fire (lower = earlier).
|
|
44
|
+
* Default: 100
|
|
45
|
+
*/
|
|
46
|
+
priority?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Internal chain registration record.
|
|
50
|
+
*/
|
|
51
|
+
interface ChainRegistration {
|
|
52
|
+
handler: EventChainHandler;
|
|
53
|
+
key?: string;
|
|
54
|
+
priority: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Manages all event-related state and logic for WorldModel.
|
|
58
|
+
*
|
|
59
|
+
* Handlers, validators, previewers, and chain handlers are registered here.
|
|
60
|
+
* The world reference is set after construction via setWorldRef() so that
|
|
61
|
+
* handlers receive the correct IWorldModel when invoked.
|
|
62
|
+
*/
|
|
63
|
+
export declare class WorldEventSystem {
|
|
64
|
+
private worldRef;
|
|
65
|
+
private eventHandlers;
|
|
66
|
+
private eventValidators;
|
|
67
|
+
private eventPreviewers;
|
|
68
|
+
private appliedEvents;
|
|
69
|
+
private eventProcessorWiring;
|
|
70
|
+
private maxEventHistory;
|
|
71
|
+
private eventChains;
|
|
72
|
+
/**
|
|
73
|
+
* Set the world reference used when invoking handlers.
|
|
74
|
+
* Called by WorldModel after construction.
|
|
75
|
+
*
|
|
76
|
+
* @param world - The IWorldModel instance handlers will receive
|
|
77
|
+
*/
|
|
78
|
+
setWorldRef(world: IWorldModel): void;
|
|
79
|
+
private getWorld;
|
|
80
|
+
/**
|
|
81
|
+
* Register an event handler for a specific event type.
|
|
82
|
+
*
|
|
83
|
+
* @param eventType - The event type string to handle
|
|
84
|
+
* @param handler - Handler function receiving the event and world
|
|
85
|
+
*/
|
|
86
|
+
registerEventHandler(eventType: string, handler: EventHandler): void;
|
|
87
|
+
/**
|
|
88
|
+
* Unregister the handler for a specific event type.
|
|
89
|
+
*
|
|
90
|
+
* @param eventType - The event type to unregister
|
|
91
|
+
*/
|
|
92
|
+
unregisterEventHandler(eventType: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Register a validator for a specific event type.
|
|
95
|
+
*
|
|
96
|
+
* @param eventType - The event type to validate
|
|
97
|
+
* @param validator - Validator function returning true if event is valid
|
|
98
|
+
*/
|
|
99
|
+
registerEventValidator(eventType: string, validator: EventValidator): void;
|
|
100
|
+
/**
|
|
101
|
+
* Register a previewer for a specific event type.
|
|
102
|
+
*
|
|
103
|
+
* @param eventType - The event type to preview
|
|
104
|
+
* @param previewer - Previewer function returning predicted changes
|
|
105
|
+
*/
|
|
106
|
+
registerEventPreviewer(eventType: string, previewer: EventPreviewer): void;
|
|
107
|
+
/**
|
|
108
|
+
* Connect to the engine's EventProcessor.
|
|
109
|
+
* Wires all existing handlers and chains, and enables automatic wiring
|
|
110
|
+
* for future registrations.
|
|
111
|
+
*
|
|
112
|
+
* @param wiring - The EventProcessor wiring interface
|
|
113
|
+
*/
|
|
114
|
+
connectEventProcessor(wiring: IEventProcessorWiring): void;
|
|
115
|
+
private wireHandlerToProcessor;
|
|
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: string, handler: EventChainHandler, options?: ChainEventOptions): void;
|
|
125
|
+
private wireChainToProcessor;
|
|
126
|
+
private executeChains;
|
|
127
|
+
/**
|
|
128
|
+
* Apply an event to the world. Validates first, then invokes the handler
|
|
129
|
+
* and records the event in history.
|
|
130
|
+
*
|
|
131
|
+
* @param event - The event to apply
|
|
132
|
+
* @throws Error if validation fails
|
|
133
|
+
*/
|
|
134
|
+
applyEvent(event: ISemanticEvent): void;
|
|
135
|
+
/**
|
|
136
|
+
* Check if an event can be applied (runs the validator if registered).
|
|
137
|
+
*
|
|
138
|
+
* @param event - The event to validate
|
|
139
|
+
* @returns true if the event is valid or no validator is registered
|
|
140
|
+
*/
|
|
141
|
+
canApplyEvent(event: ISemanticEvent): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Preview the changes an event would cause without applying it.
|
|
144
|
+
*
|
|
145
|
+
* @param event - The event to preview
|
|
146
|
+
* @returns Array of predicted world changes
|
|
147
|
+
*/
|
|
148
|
+
previewEvent(event: ISemanticEvent): WorldChange[];
|
|
149
|
+
/**
|
|
150
|
+
* Get all applied events (defensive copy).
|
|
151
|
+
*
|
|
152
|
+
* @returns Array of all events in history
|
|
153
|
+
*/
|
|
154
|
+
getAppliedEvents(): ISemanticEvent[];
|
|
155
|
+
/**
|
|
156
|
+
* Get events applied since a given timestamp.
|
|
157
|
+
*
|
|
158
|
+
* @param timestamp - The cutoff timestamp
|
|
159
|
+
* @returns Events with timestamp greater than the cutoff
|
|
160
|
+
*/
|
|
161
|
+
getEventsSince(timestamp: number): ISemanticEvent[];
|
|
162
|
+
/**
|
|
163
|
+
* Clear the event history.
|
|
164
|
+
*/
|
|
165
|
+
clearEventHistory(): void;
|
|
166
|
+
/**
|
|
167
|
+
* Snapshot the current event chains (code registrations, not serialized).
|
|
168
|
+
* Used by WorldModel.loadJSON to preserve chains across restore.
|
|
169
|
+
*
|
|
170
|
+
* @returns A snapshot of the chain map
|
|
171
|
+
*/
|
|
172
|
+
preserveChains(): Map<string, ChainRegistration[]>;
|
|
173
|
+
/**
|
|
174
|
+
* Restore previously preserved chains.
|
|
175
|
+
*
|
|
176
|
+
* @param chains - Chain snapshot from preserveChains()
|
|
177
|
+
*/
|
|
178
|
+
restoreChains(chains: Map<string, ChainRegistration[]>): void;
|
|
179
|
+
/**
|
|
180
|
+
* Reset all runtime event state. Does not clear handler/validator/previewer
|
|
181
|
+
* registrations (those are code registrations, not runtime state).
|
|
182
|
+
*/
|
|
183
|
+
clear(): void;
|
|
184
|
+
}
|
|
185
|
+
export {};
|
|
186
|
+
//# sourceMappingURL=WorldEventSystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldEventSystem.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/world/WorldEventSystem.ts"],"names":[],"mappings":"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"}
|