@sharpee/world-model 0.9.105 → 0.9.107

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.
Files changed (36) hide show
  1. package/index.d.ts +1 -0
  2. package/index.d.ts.map +1 -1
  3. package/index.js +1 -0
  4. package/index.js.map +1 -1
  5. package/package.json +3 -3
  6. package/traits/all-traits.d.ts +5 -2
  7. package/traits/all-traits.d.ts.map +1 -1
  8. package/traits/all-traits.js +6 -0
  9. package/traits/all-traits.js.map +1 -1
  10. package/traits/character-model/character-vocabulary.d.ts +160 -0
  11. package/traits/character-model/character-vocabulary.d.ts.map +1 -0
  12. package/traits/character-model/character-vocabulary.js +167 -0
  13. package/traits/character-model/character-vocabulary.js.map +1 -0
  14. package/traits/character-model/characterModelTrait.d.ts +269 -0
  15. package/traits/character-model/characterModelTrait.d.ts.map +1 -0
  16. package/traits/character-model/characterModelTrait.js +457 -0
  17. package/traits/character-model/characterModelTrait.js.map +1 -0
  18. package/traits/character-model/index.d.ts +3 -0
  19. package/traits/character-model/index.d.ts.map +1 -0
  20. package/traits/character-model/index.js +21 -0
  21. package/traits/character-model/index.js.map +1 -0
  22. package/traits/implementations.d.ts +2 -1
  23. package/traits/implementations.d.ts.map +1 -1
  24. package/traits/implementations.js +6 -1
  25. package/traits/implementations.js.map +1 -1
  26. package/traits/index.d.ts +1 -0
  27. package/traits/index.d.ts.map +1 -1
  28. package/traits/index.js +2 -0
  29. package/traits/index.js.map +1 -1
  30. package/traits/trait-types.d.ts +1 -0
  31. package/traits/trait-types.d.ts.map +1 -1
  32. package/traits/trait-types.js +4 -0
  33. package/traits/trait-types.js.map +1 -1
  34. package/world/SpatialIndex.d.ts.map +1 -1
  35. package/world/SpatialIndex.js +6 -2
  36. package/world/SpatialIndex.js.map +1 -1
@@ -0,0 +1,457 @@
1
+ "use strict";
2
+ /**
3
+ * Character model trait (ADR-141)
4
+ *
5
+ * Rich internal state for NPCs: personality, disposition, mood, threat,
6
+ * cognitive profile, knowledge, beliefs, and goals. Opt-in — only NPCs
7
+ * that need behavioral depth carry this trait alongside NpcTrait.
8
+ *
9
+ * Public interface: ICharacterModelData, CharacterModelTrait, CharacterPredicate.
10
+ * Owner context: world-model / character-model trait
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.CharacterModelTrait = void 0;
14
+ const character_vocabulary_1 = require("./character-vocabulary");
15
+ // ---------------------------------------------------------------------------
16
+ // Trait implementation
17
+ // ---------------------------------------------------------------------------
18
+ /**
19
+ * CharacterModelTrait — rich internal state for NPCs.
20
+ *
21
+ * All state is stored as plain properties so JSON serialization survives.
22
+ * Predicate functions are registered at runtime and live in a transient map
23
+ * that is rebuilt after deserialization by the builder or story setup code.
24
+ */
25
+ class CharacterModelTrait {
26
+ static type = 'characterModel';
27
+ type = 'characterModel';
28
+ // -- Personality (fixed at creation) --
29
+ personality;
30
+ // -- Disposition (per-entity, directed) --
31
+ dispositions;
32
+ // -- Mood (transient, undirected, valence-arousal internally) --
33
+ moodValence;
34
+ moodArousal;
35
+ // -- Threat (situational, 0-100) --
36
+ threatValue;
37
+ // -- Cognitive profile --
38
+ cognitiveProfile;
39
+ // -- Knowledge --
40
+ knowledge;
41
+ // -- Beliefs --
42
+ beliefs;
43
+ // -- Goals --
44
+ goals;
45
+ // -- Lucidity --
46
+ lucidityConfig;
47
+ currentLucidityState;
48
+ lucidityWindowTurns;
49
+ // -- Perception --
50
+ perceptionFilters;
51
+ perceivedEvents;
52
+ // -- Predicates (transient, not serialized) --
53
+ predicates = new Map();
54
+ constructor(data = {}) {
55
+ // Personality
56
+ this.personality = data.personality ? { ...data.personality } : {};
57
+ // Dispositions
58
+ this.dispositions = data.dispositions ? { ...data.dispositions } : {};
59
+ // Mood — accept either word or raw axes
60
+ if (data.moodValence !== undefined && data.moodArousal !== undefined) {
61
+ this.moodValence = data.moodValence;
62
+ this.moodArousal = data.moodArousal;
63
+ }
64
+ else if (data.mood) {
65
+ const axes = character_vocabulary_1.MOOD_AXES[data.mood];
66
+ this.moodValence = axes.valence;
67
+ this.moodArousal = axes.arousal;
68
+ }
69
+ else {
70
+ // Default: calm
71
+ this.moodValence = character_vocabulary_1.MOOD_AXES.calm.valence;
72
+ this.moodArousal = character_vocabulary_1.MOOD_AXES.calm.arousal;
73
+ }
74
+ // Threat — accept either word or raw value
75
+ if (data.threatValue !== undefined) {
76
+ this.threatValue = data.threatValue;
77
+ }
78
+ else if (data.threat) {
79
+ this.threatValue = character_vocabulary_1.THREAT_VALUES[data.threat];
80
+ }
81
+ else {
82
+ this.threatValue = character_vocabulary_1.THREAT_VALUES.safe;
83
+ }
84
+ // Cognitive profile
85
+ this.cognitiveProfile = {
86
+ ...character_vocabulary_1.STABLE_COGNITIVE_PROFILE,
87
+ ...(data.cognitiveProfile ?? {}),
88
+ };
89
+ // Knowledge
90
+ this.knowledge = data.knowledge ? { ...data.knowledge } : {};
91
+ // Beliefs
92
+ this.beliefs = data.beliefs ? { ...data.beliefs } : {};
93
+ // Goals
94
+ this.goals = data.goals ? [...data.goals] : [];
95
+ // Lucidity
96
+ this.lucidityConfig = data.lucidityConfig;
97
+ this.currentLucidityState = data.currentLucidityState ?? (data.lucidityConfig?.baseline ?? 'stable');
98
+ this.lucidityWindowTurns = data.lucidityWindowTurns ?? -1;
99
+ // Perception
100
+ this.perceptionFilters = data.perceptionFilters;
101
+ this.perceivedEvents = data.perceivedEvents ? { ...data.perceivedEvents } : {};
102
+ // Register platform predicates
103
+ this.registerPlatformPredicates();
104
+ }
105
+ // =========================================================================
106
+ // Personality (read-only after creation)
107
+ // =========================================================================
108
+ /**
109
+ * Set personality from expression array. Typically called once at creation.
110
+ *
111
+ * @param exprs - Personality expressions like 'very honest', 'cowardly'
112
+ */
113
+ setPersonality(...exprs) {
114
+ for (const expr of exprs) {
115
+ const [trait, value] = (0, character_vocabulary_1.parsePersonalityExpr)(expr);
116
+ this.personality[trait] = value;
117
+ }
118
+ }
119
+ /**
120
+ * Get the intensity value for a personality trait.
121
+ *
122
+ * @param trait - The personality trait to query
123
+ * @returns The intensity value (0-1), or 0 if the trait is not set
124
+ */
125
+ getPersonality(trait) {
126
+ return this.personality[trait] ?? 0;
127
+ }
128
+ // =========================================================================
129
+ // Disposition
130
+ // =========================================================================
131
+ /**
132
+ * Set disposition toward an entity using a word.
133
+ *
134
+ * @param entityId - The entity this disposition is directed at
135
+ * @param word - A disposition word like 'trusts' or 'wary of'
136
+ */
137
+ setDisposition(entityId, word) {
138
+ this.dispositions[entityId] = (0, character_vocabulary_1.dispositionToValue)(word);
139
+ }
140
+ /**
141
+ * Adjust disposition toward an entity by a numeric delta.
142
+ * Clamps to -100..100.
143
+ *
144
+ * @param entityId - The entity to adjust disposition for
145
+ * @param delta - Amount to add (positive = warmer, negative = colder)
146
+ */
147
+ adjustDisposition(entityId, delta) {
148
+ const current = this.dispositions[entityId] ?? 0;
149
+ this.dispositions[entityId] = Math.max(-100, Math.min(100, current + delta));
150
+ }
151
+ /**
152
+ * Get the numeric disposition value toward an entity.
153
+ *
154
+ * @param entityId - The entity to query
155
+ * @returns Numeric disposition (-100 to 100), defaults to 0 (neutral)
156
+ */
157
+ getDispositionValue(entityId) {
158
+ return this.dispositions[entityId] ?? 0;
159
+ }
160
+ /**
161
+ * Get the disposition word toward an entity.
162
+ *
163
+ * @param entityId - The entity to query
164
+ * @returns The disposition word
165
+ */
166
+ getDispositionWord(entityId) {
167
+ return (0, character_vocabulary_1.valueToDisposition)(this.getDispositionValue(entityId));
168
+ }
169
+ // =========================================================================
170
+ // Mood
171
+ // =========================================================================
172
+ /**
173
+ * Set mood by word. Translates to internal valence-arousal axes.
174
+ *
175
+ * @param word - A mood word like 'nervous' or 'cheerful'
176
+ */
177
+ setMood(word) {
178
+ const axes = character_vocabulary_1.MOOD_AXES[word];
179
+ this.moodValence = axes.valence;
180
+ this.moodArousal = axes.arousal;
181
+ }
182
+ /**
183
+ * Adjust mood axes by deltas. Clamps valence to -1..1 and arousal to 0..1.
184
+ *
185
+ * @param valenceDelta - Change in valence
186
+ * @param arousalDelta - Change in arousal
187
+ */
188
+ adjustMood(valenceDelta, arousalDelta) {
189
+ this.moodValence = Math.max(-1, Math.min(1, this.moodValence + valenceDelta));
190
+ this.moodArousal = Math.max(0, Math.min(1, this.moodArousal + arousalDelta));
191
+ }
192
+ /**
193
+ * Get the current mood as a word (nearest match to valence-arousal position).
194
+ *
195
+ * @returns The mood word
196
+ */
197
+ getMood() {
198
+ return (0, character_vocabulary_1.nearestMood)(this.moodValence, this.moodArousal);
199
+ }
200
+ // =========================================================================
201
+ // Threat
202
+ // =========================================================================
203
+ /**
204
+ * Set threat level by word.
205
+ *
206
+ * @param level - A threat level word
207
+ */
208
+ setThreat(level) {
209
+ this.threatValue = character_vocabulary_1.THREAT_VALUES[level];
210
+ }
211
+ /**
212
+ * Adjust threat level by a numeric delta. Clamps to 0..100.
213
+ *
214
+ * @param delta - Amount to add (positive = more threatened)
215
+ */
216
+ adjustThreat(delta) {
217
+ this.threatValue = Math.max(0, Math.min(100, this.threatValue + delta));
218
+ }
219
+ /**
220
+ * Get the current threat level as a word.
221
+ *
222
+ * @returns The threat level word
223
+ */
224
+ getThreat() {
225
+ return (0, character_vocabulary_1.valueToThreat)(this.threatValue);
226
+ }
227
+ // =========================================================================
228
+ // Knowledge
229
+ // =========================================================================
230
+ /**
231
+ * Add or update a fact in the NPC's knowledge base.
232
+ *
233
+ * @param topic - The topic this fact is about
234
+ * @param source - How the NPC learned this fact
235
+ * @param confidence - How confident the NPC is
236
+ * @param turn - The turn number when the fact was learned
237
+ */
238
+ addFact(topic, source, confidence, turn) {
239
+ this.knowledge[topic] = { source, confidence, turnLearned: turn };
240
+ }
241
+ /**
242
+ * Check whether the NPC knows about a topic.
243
+ *
244
+ * @param topic - The topic to check
245
+ * @returns True if the NPC has any fact about this topic
246
+ */
247
+ knows(topic) {
248
+ return topic in this.knowledge;
249
+ }
250
+ /**
251
+ * Get a fact from the knowledge base.
252
+ *
253
+ * @param topic - The topic to query
254
+ * @returns The fact, or undefined if unknown
255
+ */
256
+ getFact(topic) {
257
+ return this.knowledge[topic];
258
+ }
259
+ // =========================================================================
260
+ // Beliefs
261
+ // =========================================================================
262
+ /**
263
+ * Add or update a belief.
264
+ *
265
+ * @param topic - What the belief is about
266
+ * @param strength - How strongly held
267
+ * @param resistance - How resistant to counter-evidence
268
+ */
269
+ addBelief(topic, strength, resistance = 'none') {
270
+ this.beliefs[topic] = { strength, resistance };
271
+ }
272
+ /**
273
+ * Check whether the NPC holds a belief about a topic.
274
+ *
275
+ * @param topic - The topic to check
276
+ * @returns True if the NPC has a belief about this topic
277
+ */
278
+ hasBelief(topic) {
279
+ return topic in this.beliefs;
280
+ }
281
+ /**
282
+ * Get a belief.
283
+ *
284
+ * @param topic - The topic to query
285
+ * @returns The belief, or undefined
286
+ */
287
+ getBelief(topic) {
288
+ return this.beliefs[topic];
289
+ }
290
+ // =========================================================================
291
+ // Goals
292
+ // =========================================================================
293
+ /**
294
+ * Add a goal with priority. Higher priority = more important.
295
+ *
296
+ * @param id - Goal identifier
297
+ * @param priority - Numeric priority (higher = more important)
298
+ */
299
+ addGoal(id, priority) {
300
+ const existing = this.goals.findIndex(g => g.id === id);
301
+ if (existing >= 0) {
302
+ this.goals[existing].priority = priority;
303
+ }
304
+ else {
305
+ this.goals.push({ id, priority });
306
+ }
307
+ this.goals.sort((a, b) => b.priority - a.priority);
308
+ }
309
+ /**
310
+ * Remove a goal by id.
311
+ *
312
+ * @param id - Goal identifier to remove
313
+ */
314
+ removeGoal(id) {
315
+ this.goals = this.goals.filter(g => g.id !== id);
316
+ }
317
+ /**
318
+ * Get the highest-priority goal, or undefined if none.
319
+ *
320
+ * @returns The top goal, or undefined
321
+ */
322
+ getTopGoal() {
323
+ return this.goals[0];
324
+ }
325
+ /**
326
+ * Check whether the NPC has a specific goal.
327
+ *
328
+ * @param id - Goal identifier to check
329
+ * @returns True if the goal exists
330
+ */
331
+ hasGoal(id) {
332
+ return this.goals.some(g => g.id === id);
333
+ }
334
+ /**
335
+ * Update the priority of an existing goal.
336
+ *
337
+ * @param id - Goal identifier
338
+ * @param priority - New priority value
339
+ */
340
+ updateGoalPriority(id, priority) {
341
+ const goal = this.goals.find(g => g.id === id);
342
+ if (goal) {
343
+ goal.priority = priority;
344
+ this.goals.sort((a, b) => b.priority - a.priority);
345
+ }
346
+ }
347
+ // =========================================================================
348
+ // Lucidity
349
+ // =========================================================================
350
+ /**
351
+ * Transition to a new lucidity state.
352
+ *
353
+ * @param state - The target lucidity state name
354
+ * @param windowTurns - How many turns this window lasts (-1 = indefinite)
355
+ */
356
+ enterLucidityState(state, windowTurns = -1) {
357
+ this.currentLucidityState = state;
358
+ this.lucidityWindowTurns = windowTurns;
359
+ }
360
+ /**
361
+ * Decay the lucidity window by one turn. Returns to baseline when expired.
362
+ *
363
+ * @returns True if the window expired and baseline was restored
364
+ */
365
+ decayLucidity() {
366
+ if (this.lucidityWindowTurns <= 0)
367
+ return false;
368
+ this.lucidityWindowTurns--;
369
+ if (this.lucidityWindowTurns === 0) {
370
+ this.currentLucidityState = this.lucidityConfig?.baseline ?? 'stable';
371
+ this.lucidityWindowTurns = -1;
372
+ return true;
373
+ }
374
+ return false;
375
+ }
376
+ // =========================================================================
377
+ // Predicates
378
+ // =========================================================================
379
+ /**
380
+ * Register a named predicate function.
381
+ *
382
+ * @param name - Predicate name (e.g., 'trusts player', 'threatened')
383
+ * @param fn - Function that evaluates against this trait's state
384
+ */
385
+ registerPredicate(name, fn) {
386
+ this.predicates.set(name, fn);
387
+ }
388
+ /**
389
+ * Evaluate a named predicate against current state.
390
+ * Supports 'not X' negation.
391
+ *
392
+ * @param predicate - The predicate name to evaluate
393
+ * @returns True if the predicate is satisfied
394
+ * @throws Error if the predicate is not registered
395
+ */
396
+ evaluate(predicate) {
397
+ // Handle negation
398
+ if (predicate.startsWith('not ')) {
399
+ const inner = predicate.slice(4);
400
+ return !this.evaluate(inner);
401
+ }
402
+ const fn = this.predicates.get(predicate);
403
+ if (!fn) {
404
+ throw new Error(`Unknown character predicate: '${predicate}'`);
405
+ }
406
+ return fn(this);
407
+ }
408
+ /**
409
+ * Check if a predicate is registered.
410
+ *
411
+ * @param name - Predicate name
412
+ * @returns True if registered
413
+ */
414
+ hasPredicate(name) {
415
+ return this.predicates.has(name);
416
+ }
417
+ // =========================================================================
418
+ // Platform predicates
419
+ // =========================================================================
420
+ /** Register all built-in predicates defined by ADR-141. */
421
+ registerPlatformPredicates() {
422
+ // --- Disposition (parameterized) ---
423
+ this.registerPredicate('trusts player', (t) => t.getDispositionValue('player') > 50);
424
+ this.registerPredicate('dislikes player', (t) => t.getDispositionValue('player') < -30);
425
+ this.registerPredicate('likes player', (t) => t.getDispositionValue('player') > 30);
426
+ // --- Threat (>= thresholds match THREAT_VALUES so word and predicate align) ---
427
+ this.registerPredicate('safe', (t) => t.threatValue <= 10);
428
+ this.registerPredicate('threatened', (t) => t.threatValue >= character_vocabulary_1.THREAT_VALUES.threatened);
429
+ this.registerPredicate('cornered', (t) => t.threatValue >= character_vocabulary_1.THREAT_VALUES.cornered);
430
+ // --- Personality ---
431
+ this.registerPredicate('cowardly', (t) => t.getPersonality('cowardly') > 0.4);
432
+ this.registerPredicate('honest', (t) => t.getPersonality('honest') > 0.4);
433
+ this.registerPredicate('loyal', (t) => t.getPersonality('loyal') > 0.4);
434
+ this.registerPredicate('cunning', (t) => t.getPersonality('cunning') > 0.4);
435
+ this.registerPredicate('paranoid', (t) => t.getPersonality('paranoid') > 0.4);
436
+ this.registerPredicate('cruel', (t) => t.getPersonality('cruel') > 0.4);
437
+ this.registerPredicate('curious', (t) => t.getPersonality('curious') > 0.4);
438
+ this.registerPredicate('stubborn', (t) => t.getPersonality('stubborn') > 0.4);
439
+ this.registerPredicate('generous', (t) => t.getPersonality('generous') > 0.4);
440
+ this.registerPredicate('vain', (t) => t.getPersonality('vain') > 0.4);
441
+ this.registerPredicate('devout', (t) => t.getPersonality('devout') > 0.4);
442
+ this.registerPredicate('impulsive', (t) => t.getPersonality('impulsive') > 0.4);
443
+ // --- Mood ---
444
+ for (const mood of ['calm', 'content', 'cheerful', 'nervous', 'anxious', 'panicked',
445
+ 'angry', 'furious', 'sad', 'grieving', 'suspicious', 'confused', 'resigned']) {
446
+ this.registerPredicate(mood, (t) => t.getMood() === mood);
447
+ }
448
+ // --- Cognitive state ---
449
+ this.registerPredicate('lucid', (t) => t.currentLucidityState === 'lucid' || t.currentLucidityState === 'stable');
450
+ this.registerPredicate('hallucinating', (t) => t.cognitiveProfile.perception === 'augmented' && t.currentLucidityState !== 'lucid');
451
+ this.registerPredicate('fragmented', (t) => t.cognitiveProfile.coherence === 'fragmented');
452
+ this.registerPredicate('dissociative', (t) => t.cognitiveProfile.selfModel === 'fractured');
453
+ this.registerPredicate('belief resistant', (t) => t.cognitiveProfile.beliefFormation === 'resistant');
454
+ }
455
+ }
456
+ exports.CharacterModelTrait = CharacterModelTrait;
457
+ //# sourceMappingURL=characterModelTrait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characterModelTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/characterModelTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAGH,iEAwBgC;AA4DhC,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAa,mBAAmB;IAC9B,MAAM,CAAU,IAAI,GAAG,gBAAyB,CAAC;IACxC,IAAI,GAAG,gBAAyB,CAAC;IAE1C,wCAAwC;IACxC,WAAW,CAAyB;IAEpC,2CAA2C;IAC3C,YAAY,CAAyB;IAErC,iEAAiE;IACjE,WAAW,CAAS;IACpB,WAAW,CAAS;IAEpB,oCAAoC;IACpC,WAAW,CAAS;IAEpB,0BAA0B;IAC1B,gBAAgB,CAAmB;IAEnC,kBAAkB;IAClB,SAAS,CAAuB;IAEhC,gBAAgB;IAChB,OAAO,CAAyB;IAEhC,cAAc;IACd,KAAK,CAAS;IAEd,iBAAiB;IACjB,cAAc,CAAkB;IAChC,oBAAoB,CAAS;IAC7B,mBAAmB,CAAS;IAE5B,mBAAmB;IACnB,iBAAiB,CAA0B;IAC3C,eAAe,CAAiC;IAEhD,+CAA+C;IACvC,UAAU,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEhE,YAAY,OAA4B,EAAE;QACxC,cAAc;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnE,eAAe;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,wCAAwC;QACxC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,gCAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,IAAI,CAAC,WAAW,GAAG,gCAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,gCAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5C,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,oCAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,oCAAa,CAAC,IAAI,CAAC;QACxC,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,+CAAwB;YAC3B,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACjC,CAAC;QAEF,YAAY;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,UAAU;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,QAAQ;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/C,WAAW;QACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,IAAI,QAAQ,CAAC,CAAC;QACrG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;QAE1D,aAAa;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,+BAA+B;QAC/B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,4EAA4E;IAC5E,yCAAyC;IACzC,4EAA4E;IAE5E;;;;OAIG;IACH,cAAc,CAAC,GAAG,KAAwB;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAA,2CAAoB,EAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAuB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E;;;;;OAKG;IACH,cAAc,CAAC,QAAgB,EAAE,IAAqB;QACpD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAA,yCAAkB,EAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAgB,EAAE,KAAa;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAA,yCAAkB,EAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4EAA4E;IAC5E,OAAO;IACP,4EAA4E;IAE5E;;;;OAIG;IACH,OAAO,CAAC,IAAU;QAChB,MAAM,IAAI,GAAG,gCAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,YAAoB,EAAE,YAAoB;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAA,kCAAW,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E;;;;OAIG;IACH,SAAS,CAAC,KAAkB;QAC1B,IAAI,CAAC,WAAW,GAAG,oCAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAA,oCAAa,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E;;;;;;;OAOG;IACH,OAAO,CAAC,KAAa,EAAE,MAAkB,EAAE,UAA0B,EAAE,IAAY;QACjF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E;;;;;;OAMG;IACH,SAAS,CAAC,KAAa,EAAE,QAAwB,EAAE,aAA6B,MAAM;QACpF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAC5E,QAAQ;IACR,4EAA4E;IAE5E;;;;;OAKG;IACH,OAAO,CAAC,EAAU,EAAE,QAAgB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,EAAU,EAAE,QAAgB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E;;;;;OAKG;IACH,kBAAkB,CAAC,KAAa,EAAE,cAAsB,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,IAAI,QAAQ,CAAC;YACtE,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;;;;OAKG;IACH,iBAAiB,CAAC,IAAY,EAAE,EAAsB;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAiB;QACxB,kBAAkB;QAClB,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,4EAA4E;IAC5E,sBAAsB;IACtB,4EAA4E;IAE5E,2DAA2D;IACnD,0BAA0B;QAChC,sCAAsC;QACtC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAEpF,iFAAiF;QACjF,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,oCAAa,CAAC,UAAU,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,oCAAa,CAAC,QAAQ,CAAC,CAAC;QAEnF,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;QAEhF,eAAe;QACf,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU;YACjF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;YACxF,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,oBAAoB,KAAK,OAAO,IAAI,CAAC,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,gBAAgB,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,CAAC,oBAAoB,KAAK,OAAO,CAAC,CAAC;QACvF,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,gBAAgB,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,gBAAgB,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,gBAAgB,CAAC,eAAe,KAAK,WAAW,CAAC,CAAC;IACxD,CAAC;;AA9eH,kDA+eC"}
@@ -0,0 +1,3 @@
1
+ export { CharacterModelTrait, ICharacterModelData, CharacterPredicate } from './characterModelTrait';
2
+ export * from './character-vocabulary';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrG,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CharacterModelTrait = void 0;
18
+ var characterModelTrait_1 = require("./characterModelTrait");
19
+ Object.defineProperty(exports, "CharacterModelTrait", { enumerable: true, get: function () { return characterModelTrait_1.CharacterModelTrait; } });
20
+ __exportStar(require("./character-vocabulary"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/character-model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAqG;AAA5F,0HAAA,mBAAmB,OAAA;AAC5B,yDAAuC"}
@@ -34,6 +34,7 @@ import { CombatantTrait } from './combatant/combatantTrait';
34
34
  import { EquippedTrait } from './equipped/equippedTrait';
35
35
  import { NpcTrait } from './npc/npcTrait';
36
36
  import { OpenInventoryTrait } from './open-inventory/openInventoryTrait';
37
+ import { CharacterModelTrait } from './character-model/characterModelTrait';
37
38
  import { VehicleTrait } from './vehicle/vehicleTrait';
38
39
  import { EnterableTrait } from './enterable/enterableTrait';
39
40
  import { StoryInfoTrait } from './story-info/storyInfoTrait';
@@ -49,5 +50,5 @@ export declare function getTraitImplementation(type: TraitType): ITraitConstruct
49
50
  * Create trait instance by type
50
51
  */
51
52
  export declare function createTrait(type: TraitType, data?: any): InstanceType<ITraitConstructor>;
52
- export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, OpenInventoryTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
53
+ export { IdentityTrait, ContainerTrait, SupporterTrait, RoomTrait, WearableTrait, ClothingTrait, EdibleTrait, SceneryTrait, OpenableTrait, LockableTrait, SwitchableTrait, ReadableTrait, LightSourceTrait, DoorTrait, ActorTrait, ExitTrait, ClimbableTrait, PullableTrait, AttachedTrait, PushableTrait, ButtonTrait, MoveableSceneryTrait, WeaponTrait, BreakableTrait, DestructibleTrait, CombatantTrait, EquippedTrait, NpcTrait, OpenInventoryTrait, CharacterModelTrait, VehicleTrait, EnterableTrait, StoryInfoTrait };
53
54
  //# sourceMappingURL=implementations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementations.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Maps trait types to their implementation classes
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.OpenInventoryTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
8
+ exports.StoryInfoTrait = exports.EnterableTrait = exports.VehicleTrait = exports.CharacterModelTrait = exports.OpenInventoryTrait = exports.NpcTrait = exports.EquippedTrait = exports.CombatantTrait = exports.DestructibleTrait = exports.BreakableTrait = exports.WeaponTrait = exports.MoveableSceneryTrait = exports.ButtonTrait = exports.PushableTrait = exports.AttachedTrait = exports.PullableTrait = exports.ClimbableTrait = exports.ExitTrait = exports.ActorTrait = exports.DoorTrait = exports.LightSourceTrait = exports.ReadableTrait = exports.SwitchableTrait = exports.LockableTrait = exports.OpenableTrait = exports.SceneryTrait = exports.EdibleTrait = exports.ClothingTrait = exports.WearableTrait = exports.RoomTrait = exports.SupporterTrait = exports.ContainerTrait = exports.IdentityTrait = exports.TRAIT_IMPLEMENTATIONS = void 0;
9
9
  exports.getTraitImplementation = getTraitImplementation;
10
10
  exports.createTrait = createTrait;
11
11
  const trait_types_1 = require("./trait-types");
@@ -74,6 +74,9 @@ const npcTrait_1 = require("./npc/npcTrait");
74
74
  Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
75
75
  const openInventoryTrait_1 = require("./open-inventory/openInventoryTrait");
76
76
  Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
77
+ // Character model (ADR-141)
78
+ const characterModelTrait_1 = require("./character-model/characterModelTrait");
79
+ Object.defineProperty(exports, "CharacterModelTrait", { enumerable: true, get: function () { return characterModelTrait_1.CharacterModelTrait; } });
77
80
  // Transport traits
78
81
  const vehicleTrait_1 = require("./vehicle/vehicleTrait");
79
82
  Object.defineProperty(exports, "VehicleTrait", { enumerable: true, get: function () { return vehicleTrait_1.VehicleTrait; } });
@@ -123,6 +126,8 @@ exports.TRAIT_IMPLEMENTATIONS = {
123
126
  // NPC traits (ADR-070)
124
127
  [trait_types_1.TraitType.NPC]: npcTrait_1.NpcTrait,
125
128
  [trait_types_1.TraitType.OPEN_INVENTORY]: openInventoryTrait_1.OpenInventoryTrait,
129
+ // Character model (ADR-141)
130
+ [trait_types_1.TraitType.CHARACTER_MODEL]: characterModelTrait_1.CharacterModelTrait,
126
131
  // Transport traits
127
132
  [trait_types_1.TraitType.VEHICLE]: vehicleTrait_1.VehicleTrait,
128
133
  [trait_types_1.TraitType.ENTERABLE]: enterableTrait_1.EnterableTrait,
@@ -1 +1 @@
1
- {"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementations.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/implementations.ts"],"names":[],"mappings":"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"}
package/traits/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export * from './vehicle';
32
32
  export * from './enterable';
33
33
  export * from './npc';
34
34
  export * from './open-inventory';
35
+ export * from './character-model';
35
36
  export * from './story-info';
36
37
  export * from './register-all';
37
38
  export * from './all-traits';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAGxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
package/traits/index.js CHANGED
@@ -56,6 +56,8 @@ __exportStar(require("./enterable"), exports);
56
56
  // NPC traits
57
57
  __exportStar(require("./npc"), exports);
58
58
  __exportStar(require("./open-inventory"), exports);
59
+ // Character model (ADR-141)
60
+ __exportStar(require("./character-model"), exports);
59
61
  // System traits
60
62
  __exportStar(require("./story-info"), exports);
61
63
  // Register function
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;AACtB,mDAAiC;AAEjC,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/index.ts"],"names":[],"mappings":";AAAA,2CAA2C;AAC3C,sCAAsC;;;;;;;;;;;;;;;;AAEtC,mBAAmB;AACnB,0CAAwB;AACxB,gDAA8B;AAC9B,oDAAkC;AAElC,kEAAkE;AAClE,6CAA2B;AAC3B,8CAA4B;AAC5B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AAExB,sBAAsB;AACtB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AAEnC,gBAAgB;AAChB,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,8CAA4B;AAC5B,6CAA2B;AAE3B,mBAAmB;AACnB,4CAA0B;AAC1B,8CAA4B;AAE5B,aAAa;AACb,wCAAsB;AACtB,mDAAiC;AAEjC,4BAA4B;AAC5B,oDAAkC;AAElC,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
@@ -36,6 +36,7 @@ export declare const TraitType: {
36
36
  readonly EQUIPPED: "equipped";
37
37
  readonly NPC: "npc";
38
38
  readonly OPEN_INVENTORY: "openInventory";
39
+ readonly CHARACTER_MODEL: "characterModel";
39
40
  readonly VEHICLE: "vehicle";
40
41
  readonly ENTERABLE: "enterable";
41
42
  readonly STORY_INFO: "storyInfo";