@sharpee/stdlib 0.9.104 → 0.9.106

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.
@@ -47,6 +47,8 @@ export interface RoomSnapshot {
47
47
  isDark?: boolean;
48
48
  isVisited?: boolean;
49
49
  exits?: Record<string, string>;
50
+ /** Direction constant → display name from the active vocabulary (ADR-143) */
51
+ exitDisplayNames?: Record<string, string>;
50
52
  contents?: EntitySnapshot[];
51
53
  traits?: Record<string, unknown>;
52
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-utils.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EAAE,UAAU,EAGrB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,eAAe,UAAO,GACrB,cAAc,CAiGhB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,UAAU,EACjB,eAAe,UAAO,GACrB,YAAY,CA8Dd;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAAE,EACpB,KAAK,EAAE,UAAU,GAChB,cAAc,EAAE,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMpF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAE3F"}
1
+ {"version":3,"file":"snapshot-utils.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EAAE,UAAU,EAGrB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,UAAU,EACjB,eAAe,UAAO,GACrB,cAAc,CAiGhB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,UAAU,EACjB,eAAe,UAAO,GACrB,YAAY,CAkEd;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAAE,EACpB,KAAK,EAAE,UAAU,GAChB,cAAc,EAAE,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMpF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAE3F"}
@@ -131,15 +131,19 @@ function captureRoomSnapshot(room, world, includeContents = true) {
131
131
  }
132
132
  // Capture exits from room trait
133
133
  const exits = {};
134
+ const exitDisplayNames = {};
134
135
  if (roomTrait?.exits) {
136
+ const vocab = world.directions();
135
137
  for (const [dir, exitInfo] of Object.entries(roomTrait.exits)) {
136
138
  if (exitInfo?.destination) {
137
139
  exits[dir] = exitInfo.destination;
140
+ exitDisplayNames[dir] = vocab.getDisplayName(dir);
138
141
  }
139
142
  }
140
143
  }
141
144
  if (Object.keys(exits).length > 0) {
142
145
  snapshot.exits = exits;
146
+ snapshot.exitDisplayNames = exitDisplayNames;
143
147
  }
144
148
  // Capture contents if requested
145
149
  if (includeContents) {
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-utils.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-utils.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/base/snapshot-utils.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * This separates data structure concerns from business logic.
6
6
  */
7
7
  import { ActionDataBuilder, ActionDataConfig } from '../../data-builder-types';
8
+ import { DirectionVocabularyRegistry } from "../../../../world-model/index";
8
9
  /**
9
10
  * Build actor moved event data
10
11
  */
@@ -20,7 +21,7 @@ export declare const buildActorEnteredData: ActionDataBuilder<Record<string, unk
20
21
  /**
21
22
  * Determine the success message for going action
22
23
  */
23
- export declare function determineGoingMessage(movedData: Record<string, unknown>): {
24
+ export declare function determineGoingMessage(movedData: Record<string, unknown>, directionRegistry?: DirectionVocabularyRegistry): {
24
25
  messageId: string;
25
26
  params: Record<string, any>;
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"going-data.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/going/going-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAsC/E;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwD1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6B3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiC5E,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAgBpD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG3E,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG5E,CAAC"}
1
+ {"version":3,"file":"going-data.d.ts","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/going/going-data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAgH,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAoCjL;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwD1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6B3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiC5E,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,iBAAiB,CAAC,EAAE,2BAA2B,GAC9C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAsBpD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG3E,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG5E,CAAC"}
@@ -134,17 +134,22 @@ exports.buildActorEnteredData = buildActorEnteredData;
134
134
  /**
135
135
  * Determine the success message for going action
136
136
  */
137
- function determineGoingMessage(movedData) {
137
+ function determineGoingMessage(movedData, directionRegistry) {
138
138
  const messageId = movedData.firstVisit ? 'first_visit' : 'moved_to';
139
139
  const destinationRoom = movedData.destinationRoom;
140
140
  const destinationName = destinationRoom?.name ||
141
141
  destinationRoom?.attributes?.name ||
142
142
  destinationRoom?.id ||
143
143
  'unknown';
144
+ // Use vocabulary display name if registry provided, otherwise lowercase constant
145
+ const rawDirection = movedData.direction;
146
+ const direction = directionRegistry
147
+ ? directionRegistry.getDisplayName(rawDirection)
148
+ : rawDirection.toLowerCase();
144
149
  return {
145
150
  messageId,
146
151
  params: {
147
- direction: movedData.direction,
152
+ direction,
148
153
  destination: destinationName
149
154
  }
150
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"going-data.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/going/going-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"going-data.js","sourceRoot":"","sources":["../../../../../../../../../repos/sharpee/packages/stdlib/src/actions/standard/going/going-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Character model message IDs (ADR-141)
3
+ *
4
+ * Semantic message IDs for character state change events.
5
+ * Actual text is provided by the language layer.
6
+ *
7
+ * Public interface: CharacterMessages const, CharacterMessageId type.
8
+ * Owner context: stdlib / npc
9
+ */
10
+ /**
11
+ * Message IDs for character model state change events.
12
+ *
13
+ * These are emitted as observable behavior events when an NPC's
14
+ * cognitive or emotional state changes. Silent by default — authors
15
+ * opt in per NPC to surface them to the player.
16
+ */
17
+ export declare const CharacterMessages: {
18
+ readonly LUCIDITY_SHIFT: "npc.character.lucidity_shift";
19
+ readonly LUCIDITY_BASELINE_RESTORED: "npc.character.lucidity_baseline_restored";
20
+ readonly HALLUCINATION_ONSET: "npc.character.hallucination_onset";
21
+ readonly MOOD_CHANGED: "npc.character.mood_changed";
22
+ readonly THREAT_CHANGED: "npc.character.threat_changed";
23
+ readonly DISPOSITION_CHANGED: "npc.character.disposition_changed";
24
+ readonly FACT_LEARNED: "npc.character.fact_learned";
25
+ };
26
+ /**
27
+ * Type for character model message IDs.
28
+ */
29
+ export type CharacterMessageId = (typeof CharacterMessages)[keyof typeof CharacterMessages];
30
+ //# sourceMappingURL=character-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-messages.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/character-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAmBpB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Character model message IDs (ADR-141)
4
+ *
5
+ * Semantic message IDs for character state change events.
6
+ * Actual text is provided by the language layer.
7
+ *
8
+ * Public interface: CharacterMessages const, CharacterMessageId type.
9
+ * Owner context: stdlib / npc
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CharacterMessages = void 0;
13
+ /**
14
+ * Message IDs for character model state change events.
15
+ *
16
+ * These are emitted as observable behavior events when an NPC's
17
+ * cognitive or emotional state changes. Silent by default — authors
18
+ * opt in per NPC to surface them to the player.
19
+ */
20
+ exports.CharacterMessages = {
21
+ // Lucidity transitions
22
+ LUCIDITY_SHIFT: 'npc.character.lucidity_shift',
23
+ LUCIDITY_BASELINE_RESTORED: 'npc.character.lucidity_baseline_restored',
24
+ // Cognitive events
25
+ HALLUCINATION_ONSET: 'npc.character.hallucination_onset',
26
+ // Mood changes
27
+ MOOD_CHANGED: 'npc.character.mood_changed',
28
+ // Threat changes
29
+ THREAT_CHANGED: 'npc.character.threat_changed',
30
+ // Disposition changes
31
+ DISPOSITION_CHANGED: 'npc.character.disposition_changed',
32
+ // Knowledge
33
+ FACT_LEARNED: 'npc.character.fact_learned',
34
+ };
35
+ //# sourceMappingURL=character-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-messages.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/character-messages.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG;IAC/B,uBAAuB;IACvB,cAAc,EAAE,8BAA8B;IAC9C,0BAA0B,EAAE,0CAA0C;IAEtE,mBAAmB;IACnB,mBAAmB,EAAE,mCAAmC;IAExD,eAAe;IACf,YAAY,EAAE,4BAA4B;IAE1C,iBAAiB;IACjB,cAAc,EAAE,8BAA8B;IAE9C,sBAAsB;IACtB,mBAAmB,EAAE,mCAAmC;IAExD,YAAY;IACZ,YAAY,EAAE,4BAA4B;CAClC,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Character observation handler (ADR-141)
3
+ *
4
+ * Processes events witnessed by NPCs through the cognitive profile filter
5
+ * and updates character model state accordingly.
6
+ *
7
+ * Public interface: observeEvent(), DefaultStateTransitions.
8
+ * Owner context: stdlib / npc
9
+ */
10
+ import { ISemanticEvent, EntityId } from "../../core/index";
11
+ import { IFEntity, WorldModel, CharacterModelTrait } from "../../world-model/index";
12
+ /** A default state transition triggered by an event type. */
13
+ export interface StateTransitionRule {
14
+ /** Event type pattern to match (exact string match). */
15
+ eventType: string;
16
+ /** Threat delta when this event is observed. */
17
+ threatDelta?: number;
18
+ /** Mood valence delta. */
19
+ moodValenceDelta?: number;
20
+ /** Mood arousal delta. */
21
+ moodArousalDelta?: number;
22
+ /**
23
+ * Disposition delta toward the event's actor.
24
+ * Only applied when the event has an actor entity.
25
+ */
26
+ dispositionDelta?: number;
27
+ }
28
+ /**
29
+ * Default state transition rules.
30
+ *
31
+ * Stories can override by providing their own rules array
32
+ * to observeEvent(). These are sensible defaults per ADR-141:
33
+ * violence increases threat, gifts improve disposition, etc.
34
+ */
35
+ export declare const DefaultStateTransitions: StateTransitionRule[];
36
+ /**
37
+ * Filter an event through the NPC's cognitive profile.
38
+ *
39
+ * @param trait - The NPC's CharacterModelTrait
40
+ * @param event - The incoming event
41
+ * @returns 'pass' if the event should be processed, 'miss' if filtered out,
42
+ * 'amplify' if the event should be processed with heightened impact
43
+ */
44
+ export declare function filterPerception(trait: CharacterModelTrait, event: ISemanticEvent): 'pass' | 'miss' | 'amplify';
45
+ /**
46
+ * Inject hallucinated facts for an NPC with augmented perception.
47
+ *
48
+ * Only injects when the NPC's current lucidity state matches
49
+ * the perceived event's `when` condition.
50
+ *
51
+ * @param trait - The NPC's CharacterModelTrait
52
+ * @param npcId - The NPC entity ID
53
+ * @param turn - Current turn number
54
+ * @returns Array of hallucination events (may be empty)
55
+ */
56
+ export declare function injectHallucinations(trait: CharacterModelTrait, npcId: EntityId, turn: number): ISemanticEvent[];
57
+ /**
58
+ * Process an event observed by an NPC through the character model.
59
+ *
60
+ * 1. Checks for CharacterModelTrait (returns early if absent — opt-in).
61
+ * 2. Filters event through cognitive profile perception mode.
62
+ * 3. Adds witnessed fact to knowledge.
63
+ * 4. Applies default state transition rules.
64
+ * 5. Checks lucidity triggers.
65
+ * 6. Injects hallucinated facts (augmented perception).
66
+ * 7. Emits observable behavior events for state changes.
67
+ *
68
+ * @param npc - The NPC entity
69
+ * @param event - The observed event
70
+ * @param world - The world model
71
+ * @param turn - Current turn number
72
+ * @param rules - State transition rules (defaults to DefaultStateTransitions)
73
+ * @returns Array of observable behavior events emitted by state changes
74
+ */
75
+ export declare function observeEvent(npc: IFEntity, event: ISemanticEvent, world: WorldModel, turn: number, rules?: StateTransitionRule[]): ISemanticEvent[];
76
+ //# sourceMappingURL=character-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-observer.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/character-observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,mBAAmB,EAGpB,MAAM,sBAAsB,CAAC;AAO9B,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAcxD,CAAC;AA0BF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,cAAc,GACpB,MAAM,GAAG,MAAM,GAAG,SAAS,CA4B7B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,MAAM,GACX,cAAc,EAAE,CAoBlB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,mBAAmB,EAA4B,GACrD,cAAc,EAAE,CA+FlB"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /**
3
+ * Character observation handler (ADR-141)
4
+ *
5
+ * Processes events witnessed by NPCs through the cognitive profile filter
6
+ * and updates character model state accordingly.
7
+ *
8
+ * Public interface: observeEvent(), DefaultStateTransitions.
9
+ * Owner context: stdlib / npc
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DefaultStateTransitions = void 0;
13
+ exports.filterPerception = filterPerception;
14
+ exports.injectHallucinations = injectHallucinations;
15
+ exports.observeEvent = observeEvent;
16
+ const world_model_1 = require("../../world-model/index.js");
17
+ const character_messages_1 = require("./character-messages");
18
+ /**
19
+ * Default state transition rules.
20
+ *
21
+ * Stories can override by providing their own rules array
22
+ * to observeEvent(). These are sensible defaults per ADR-141:
23
+ * violence increases threat, gifts improve disposition, etc.
24
+ */
25
+ exports.DefaultStateTransitions = [
26
+ // Violence
27
+ { eventType: 'npc.attacked', threatDelta: 30, moodValenceDelta: -0.3, moodArousalDelta: 0.3 },
28
+ { eventType: 'if.action.attacking', threatDelta: 20, moodValenceDelta: -0.2, moodArousalDelta: 0.2 },
29
+ { eventType: 'npc.killed', threatDelta: 40, moodValenceDelta: -0.5, moodArousalDelta: 0.4 },
30
+ // Kindness
31
+ { eventType: 'if.action.giving', dispositionDelta: 10, moodValenceDelta: 0.1 },
32
+ // Theft
33
+ { eventType: 'if.action.taking', dispositionDelta: -5 },
34
+ // Speech
35
+ { eventType: 'npc.spoke', moodArousalDelta: 0.05 },
36
+ ];
37
+ // ---------------------------------------------------------------------------
38
+ // Event creation helper
39
+ // ---------------------------------------------------------------------------
40
+ let eventCounter = 0;
41
+ function createCharacterEvent(type, npcId, data) {
42
+ return {
43
+ id: `char_${++eventCounter}_${Date.now()}`,
44
+ type,
45
+ timestamp: Date.now(),
46
+ entities: { actor: npcId },
47
+ data,
48
+ };
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // Perception filter
52
+ // ---------------------------------------------------------------------------
53
+ /**
54
+ * Filter an event through the NPC's cognitive profile.
55
+ *
56
+ * @param trait - The NPC's CharacterModelTrait
57
+ * @param event - The incoming event
58
+ * @returns 'pass' if the event should be processed, 'miss' if filtered out,
59
+ * 'amplify' if the event should be processed with heightened impact
60
+ */
61
+ function filterPerception(trait, event) {
62
+ const mode = trait.cognitiveProfile.perception;
63
+ if (mode === 'accurate')
64
+ return 'pass';
65
+ if (mode === 'filtered') {
66
+ const filters = trait.perceptionFilters;
67
+ if (!filters)
68
+ return 'pass';
69
+ const eventType = event.type;
70
+ const eventTags = event.tags ?? [];
71
+ const allTokens = [eventType, ...eventTags];
72
+ // Check misses
73
+ for (const pattern of filters.misses) {
74
+ if (allTokens.some(t => t.includes(pattern)))
75
+ return 'miss';
76
+ }
77
+ // Check amplifies
78
+ for (const pattern of filters.amplifies) {
79
+ if (allTokens.some(t => t.includes(pattern)))
80
+ return 'amplify';
81
+ }
82
+ return 'pass';
83
+ }
84
+ // augmented — events pass through; hallucinations are injected separately
85
+ return 'pass';
86
+ }
87
+ // ---------------------------------------------------------------------------
88
+ // Hallucination injection
89
+ // ---------------------------------------------------------------------------
90
+ /**
91
+ * Inject hallucinated facts for an NPC with augmented perception.
92
+ *
93
+ * Only injects when the NPC's current lucidity state matches
94
+ * the perceived event's `when` condition.
95
+ *
96
+ * @param trait - The NPC's CharacterModelTrait
97
+ * @param npcId - The NPC entity ID
98
+ * @param turn - Current turn number
99
+ * @returns Array of hallucination events (may be empty)
100
+ */
101
+ function injectHallucinations(trait, npcId, turn) {
102
+ if (trait.cognitiveProfile.perception !== 'augmented')
103
+ return [];
104
+ const events = [];
105
+ for (const [topic, perceived] of Object.entries(trait.perceivedEvents)) {
106
+ if (trait.currentLucidityState === perceived.when) {
107
+ // Only inject once — don't re-hallucinate known facts
108
+ if (!trait.knows(topic)) {
109
+ trait.addFact(topic, 'hallucinated', 'certain', turn);
110
+ events.push(createCharacterEvent(character_messages_1.CharacterMessages.HALLUCINATION_ONSET, npcId, { topic, content: perceived.content }));
111
+ }
112
+ }
113
+ }
114
+ return events;
115
+ }
116
+ // ---------------------------------------------------------------------------
117
+ // Main observation handler
118
+ // ---------------------------------------------------------------------------
119
+ /**
120
+ * Process an event observed by an NPC through the character model.
121
+ *
122
+ * 1. Checks for CharacterModelTrait (returns early if absent — opt-in).
123
+ * 2. Filters event through cognitive profile perception mode.
124
+ * 3. Adds witnessed fact to knowledge.
125
+ * 4. Applies default state transition rules.
126
+ * 5. Checks lucidity triggers.
127
+ * 6. Injects hallucinated facts (augmented perception).
128
+ * 7. Emits observable behavior events for state changes.
129
+ *
130
+ * @param npc - The NPC entity
131
+ * @param event - The observed event
132
+ * @param world - The world model
133
+ * @param turn - Current turn number
134
+ * @param rules - State transition rules (defaults to DefaultStateTransitions)
135
+ * @returns Array of observable behavior events emitted by state changes
136
+ */
137
+ function observeEvent(npc, event, world, turn, rules = exports.DefaultStateTransitions) {
138
+ const trait = npc.get(world_model_1.TraitType.CHARACTER_MODEL);
139
+ if (!trait)
140
+ return [];
141
+ const emittedEvents = [];
142
+ // 1. Perception filter
143
+ const perception = filterPerception(trait, event);
144
+ if (perception === 'miss')
145
+ return [];
146
+ const amplify = perception === 'amplify' ? 2.0 : 1.0;
147
+ // 2. Add witnessed fact
148
+ const factTopic = event.type;
149
+ if (!trait.knows(factTopic)) {
150
+ trait.addFact(factTopic, 'witnessed', 'certain', turn);
151
+ emittedEvents.push(createCharacterEvent(character_messages_1.CharacterMessages.FACT_LEARNED, npc.id, { topic: factTopic, source: 'witnessed' }));
152
+ }
153
+ // 3. Apply state transition rules
154
+ const previousMood = trait.getMood();
155
+ const previousThreat = trait.getThreat();
156
+ for (const rule of rules) {
157
+ if (rule.eventType !== event.type)
158
+ continue;
159
+ if (rule.threatDelta) {
160
+ trait.adjustThreat(rule.threatDelta * amplify);
161
+ }
162
+ if (rule.moodValenceDelta) {
163
+ trait.adjustMood(rule.moodValenceDelta * amplify, 0);
164
+ }
165
+ if (rule.moodArousalDelta) {
166
+ trait.adjustMood(0, rule.moodArousalDelta * amplify);
167
+ }
168
+ if (rule.dispositionDelta && event.entities.actor) {
169
+ trait.adjustDisposition(event.entities.actor, rule.dispositionDelta * amplify);
170
+ }
171
+ }
172
+ // Emit mood change event if mood word changed
173
+ const newMood = trait.getMood();
174
+ if (newMood !== previousMood) {
175
+ emittedEvents.push(createCharacterEvent(character_messages_1.CharacterMessages.MOOD_CHANGED, npc.id, { from: previousMood, to: newMood }));
176
+ }
177
+ // Emit threat change event if threat word changed
178
+ const newThreat = trait.getThreat();
179
+ if (newThreat !== previousThreat) {
180
+ emittedEvents.push(createCharacterEvent(character_messages_1.CharacterMessages.THREAT_CHANGED, npc.id, { from: previousThreat, to: newThreat }));
181
+ }
182
+ // 4. Check lucidity triggers
183
+ if (trait.lucidityConfig) {
184
+ const previousState = trait.currentLucidityState;
185
+ for (const [triggerName, trigger] of Object.entries(trait.lucidityConfig.triggers)) {
186
+ // Trigger names can reference event types or predicate names
187
+ if (event.type === triggerName || (trait.hasPredicate(triggerName) && trait.evaluate(triggerName))) {
188
+ if (trigger.transition === 'immediate') {
189
+ trait.enterLucidityState(trigger.target);
190
+ }
191
+ // 'next turn' transitions are handled by lucidity decay / tick processing
192
+ // We store them as pending for the next tick cycle
193
+ if (trigger.transition === 'next turn' && trait.currentLucidityState !== trigger.target) {
194
+ trait.enterLucidityState(trigger.target);
195
+ }
196
+ }
197
+ }
198
+ if (trait.currentLucidityState !== previousState) {
199
+ emittedEvents.push(createCharacterEvent(character_messages_1.CharacterMessages.LUCIDITY_SHIFT, npc.id, { from: previousState, to: trait.currentLucidityState }));
200
+ }
201
+ }
202
+ // 5. Inject hallucinations (augmented perception)
203
+ const hallucinationEvents = injectHallucinations(trait, npc.id, turn);
204
+ emittedEvents.push(...hallucinationEvents);
205
+ return emittedEvents;
206
+ }
207
+ //# sourceMappingURL=character-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"character-observer.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/character-observer.ts"],"names":[],"mappings":"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"}
package/npc/index.d.ts CHANGED
@@ -5,6 +5,9 @@
5
5
  */
6
6
  export * from './types';
7
7
  export * from './npc-messages';
8
+ export * from './character-messages';
8
9
  export { NpcService, createNpcService, registerNpcCombatResolver, clearNpcCombatResolver, type INpcService, type NpcCombatResolver, } from './npc-service';
10
+ export { observeEvent, filterPerception, injectHallucinations, DefaultStateTransitions, type StateTransitionRule, } from './character-observer';
11
+ export { processLucidityDecay, enterLucidityWindow, DECAY_RATE_TURNS, } from './lucidity-decay';
9
12
  export { guardBehavior, passiveBehavior, createWandererBehavior, createFollowerBehavior, createPatrolBehavior, } from './behaviors';
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
package/npc/index.js CHANGED
@@ -19,17 +19,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.createPatrolBehavior = exports.createFollowerBehavior = exports.createWandererBehavior = exports.passiveBehavior = exports.guardBehavior = exports.clearNpcCombatResolver = exports.registerNpcCombatResolver = exports.createNpcService = exports.NpcService = void 0;
22
+ exports.createPatrolBehavior = exports.createFollowerBehavior = exports.createWandererBehavior = exports.passiveBehavior = exports.guardBehavior = exports.DECAY_RATE_TURNS = exports.enterLucidityWindow = exports.processLucidityDecay = exports.DefaultStateTransitions = exports.injectHallucinations = exports.filterPerception = exports.observeEvent = exports.clearNpcCombatResolver = exports.registerNpcCombatResolver = exports.createNpcService = exports.NpcService = void 0;
23
23
  // Types
24
24
  __exportStar(require("./types"), exports);
25
25
  // Message IDs
26
26
  __exportStar(require("./npc-messages"), exports);
27
+ __exportStar(require("./character-messages"), exports);
27
28
  // Service
28
29
  var npc_service_1 = require("./npc-service");
29
30
  Object.defineProperty(exports, "NpcService", { enumerable: true, get: function () { return npc_service_1.NpcService; } });
30
31
  Object.defineProperty(exports, "createNpcService", { enumerable: true, get: function () { return npc_service_1.createNpcService; } });
31
32
  Object.defineProperty(exports, "registerNpcCombatResolver", { enumerable: true, get: function () { return npc_service_1.registerNpcCombatResolver; } });
32
33
  Object.defineProperty(exports, "clearNpcCombatResolver", { enumerable: true, get: function () { return npc_service_1.clearNpcCombatResolver; } });
34
+ // Character model observation and lucidity (ADR-141)
35
+ var character_observer_1 = require("./character-observer");
36
+ Object.defineProperty(exports, "observeEvent", { enumerable: true, get: function () { return character_observer_1.observeEvent; } });
37
+ Object.defineProperty(exports, "filterPerception", { enumerable: true, get: function () { return character_observer_1.filterPerception; } });
38
+ Object.defineProperty(exports, "injectHallucinations", { enumerable: true, get: function () { return character_observer_1.injectHallucinations; } });
39
+ Object.defineProperty(exports, "DefaultStateTransitions", { enumerable: true, get: function () { return character_observer_1.DefaultStateTransitions; } });
40
+ var lucidity_decay_1 = require("./lucidity-decay");
41
+ Object.defineProperty(exports, "processLucidityDecay", { enumerable: true, get: function () { return lucidity_decay_1.processLucidityDecay; } });
42
+ Object.defineProperty(exports, "enterLucidityWindow", { enumerable: true, get: function () { return lucidity_decay_1.enterLucidityWindow; } });
43
+ Object.defineProperty(exports, "DECAY_RATE_TURNS", { enumerable: true, get: function () { return lucidity_decay_1.DECAY_RATE_TURNS; } });
33
44
  // Standard behaviors
34
45
  var behaviors_1 = require("./behaviors");
35
46
  Object.defineProperty(exports, "guardBehavior", { enumerable: true, get: function () { return behaviors_1.guardBehavior; } });
package/npc/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,cAAc;AACd,iDAA+B;AAE/B,UAAU;AACV,6CAOuB;AANrB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,wHAAA,yBAAyB,OAAA;AACzB,qHAAA,sBAAsB,OAAA;AAKxB,qBAAqB;AACrB,yCAMqB;AALnB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,cAAc;AACd,iDAA+B;AAC/B,uDAAqC;AAErC,UAAU;AACV,6CAOuB;AANrB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,wHAAA,yBAAyB,OAAA;AACzB,qHAAA,sBAAsB,OAAA;AAKxB,qDAAqD;AACrD,2DAM8B;AAL5B,kHAAA,YAAY,OAAA;AACZ,sHAAA,gBAAgB,OAAA;AAChB,0HAAA,oBAAoB,OAAA;AACpB,6HAAA,uBAAuB,OAAA;AAGzB,mDAI0B;AAHxB,sHAAA,oBAAoB,OAAA;AACpB,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA;AAGlB,qBAAqB;AACrB,yCAMqB;AALnB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Lucidity decay processing (ADR-141)
3
+ *
4
+ * End-of-turn processing for NPC lucidity windows.
5
+ * When an NPC is in a lucid window with no sustaining trigger active,
6
+ * lucidity decays and eventually returns to baseline.
7
+ *
8
+ * Public interface: processLucidityDecay(), DECAY_RATE_TURNS.
9
+ * Owner context: stdlib / npc
10
+ */
11
+ import { ISemanticEvent } from "../../core/index";
12
+ import { IFEntity, WorldModel, CharacterModelTrait, DecayRate } from "../../world-model/index";
13
+ /**
14
+ * Maps decay rate words to number of turns before baseline is restored.
15
+ * These are the window durations when no sustaining trigger is active.
16
+ */
17
+ export declare const DECAY_RATE_TURNS: Record<DecayRate, number>;
18
+ /**
19
+ * Process end-of-turn lucidity decay for a single NPC.
20
+ *
21
+ * If the NPC has a CharacterModelTrait with an active lucidity window,
22
+ * decrements the window counter. When it reaches zero, the cognitive
23
+ * profile returns to baseline and a LUCIDITY_BASELINE_RESTORED event
24
+ * is emitted.
25
+ *
26
+ * If no lucidity config or no active window, returns empty array.
27
+ *
28
+ * @param npc - The NPC entity
29
+ * @param world - The world model (unused in current impl, reserved for future)
30
+ * @param turn - Current turn number (unused in current impl, reserved for future)
31
+ * @returns Array of events emitted (baseline restored, or empty)
32
+ */
33
+ export declare function processLucidityDecay(npc: IFEntity, world: WorldModel, turn: number): ISemanticEvent[];
34
+ /**
35
+ * Initialize a lucidity window with the appropriate turn count
36
+ * based on the NPC's configured decay rate.
37
+ *
38
+ * Call this when entering a lucidity state via a trigger, so the
39
+ * window has the correct duration based on decayRate.
40
+ *
41
+ * @param trait - The NPC's CharacterModelTrait
42
+ * @param targetState - The lucidity state to enter
43
+ */
44
+ export declare function enterLucidityWindow(trait: CharacterModelTrait, targetState: string): void;
45
+ //# sourceMappingURL=lucidity-decay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucidity-decay.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/lucidity-decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAY,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,mBAAmB,EACnB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAO9B;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAItD,CAAC;AA0BF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,GACX,cAAc,EAAE,CAsBlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,MAAM,GAClB,IAAI,CAQN"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Lucidity decay processing (ADR-141)
4
+ *
5
+ * End-of-turn processing for NPC lucidity windows.
6
+ * When an NPC is in a lucid window with no sustaining trigger active,
7
+ * lucidity decays and eventually returns to baseline.
8
+ *
9
+ * Public interface: processLucidityDecay(), DECAY_RATE_TURNS.
10
+ * Owner context: stdlib / npc
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DECAY_RATE_TURNS = void 0;
14
+ exports.processLucidityDecay = processLucidityDecay;
15
+ exports.enterLucidityWindow = enterLucidityWindow;
16
+ const world_model_1 = require("../../world-model/index.js");
17
+ const character_messages_1 = require("./character-messages");
18
+ // ---------------------------------------------------------------------------
19
+ // Decay rate mapping
20
+ // ---------------------------------------------------------------------------
21
+ /**
22
+ * Maps decay rate words to number of turns before baseline is restored.
23
+ * These are the window durations when no sustaining trigger is active.
24
+ */
25
+ exports.DECAY_RATE_TURNS = {
26
+ slow: 8,
27
+ moderate: 4,
28
+ fast: 2,
29
+ };
30
+ // ---------------------------------------------------------------------------
31
+ // Event helper
32
+ // ---------------------------------------------------------------------------
33
+ let decayEventCounter = 0;
34
+ function createDecayEvent(type, npcId, data) {
35
+ return {
36
+ id: `decay_${++decayEventCounter}_${Date.now()}`,
37
+ type,
38
+ timestamp: Date.now(),
39
+ entities: { actor: npcId },
40
+ data,
41
+ };
42
+ }
43
+ // ---------------------------------------------------------------------------
44
+ // Main decay function
45
+ // ---------------------------------------------------------------------------
46
+ /**
47
+ * Process end-of-turn lucidity decay for a single NPC.
48
+ *
49
+ * If the NPC has a CharacterModelTrait with an active lucidity window,
50
+ * decrements the window counter. When it reaches zero, the cognitive
51
+ * profile returns to baseline and a LUCIDITY_BASELINE_RESTORED event
52
+ * is emitted.
53
+ *
54
+ * If no lucidity config or no active window, returns empty array.
55
+ *
56
+ * @param npc - The NPC entity
57
+ * @param world - The world model (unused in current impl, reserved for future)
58
+ * @param turn - Current turn number (unused in current impl, reserved for future)
59
+ * @returns Array of events emitted (baseline restored, or empty)
60
+ */
61
+ function processLucidityDecay(npc, world, turn) {
62
+ const trait = npc.get(world_model_1.TraitType.CHARACTER_MODEL);
63
+ if (!trait)
64
+ return [];
65
+ if (!trait.lucidityConfig)
66
+ return [];
67
+ // No active window
68
+ if (trait.lucidityWindowTurns <= 0)
69
+ return [];
70
+ const previousState = trait.currentLucidityState;
71
+ const expired = trait.decayLucidity();
72
+ if (expired) {
73
+ return [
74
+ createDecayEvent(character_messages_1.CharacterMessages.LUCIDITY_BASELINE_RESTORED, npc.id, { from: previousState, to: trait.currentLucidityState }),
75
+ ];
76
+ }
77
+ return [];
78
+ }
79
+ /**
80
+ * Initialize a lucidity window with the appropriate turn count
81
+ * based on the NPC's configured decay rate.
82
+ *
83
+ * Call this when entering a lucidity state via a trigger, so the
84
+ * window has the correct duration based on decayRate.
85
+ *
86
+ * @param trait - The NPC's CharacterModelTrait
87
+ * @param targetState - The lucidity state to enter
88
+ */
89
+ function enterLucidityWindow(trait, targetState) {
90
+ if (!trait.lucidityConfig) {
91
+ trait.enterLucidityState(targetState);
92
+ return;
93
+ }
94
+ const turns = exports.DECAY_RATE_TURNS[trait.lucidityConfig.decayRate];
95
+ trait.enterLucidityState(targetState, turns);
96
+ }
97
+ //# sourceMappingURL=lucidity-decay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucidity-decay.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/lucidity-decay.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAiEH,oDA0BC;AAYD,kDAWC;AA/GD,sDAM8B;AAC9B,6DAAyD;AAEzD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;GAGG;AACU,QAAA,gBAAgB,GAA8B;IACzD,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,SAAS,gBAAgB,CACvB,IAAY,EACZ,KAAe,EACf,IAA6B;IAE7B,OAAO;QACL,EAAE,EAAE,SAAS,EAAE,iBAAiB,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;QAChD,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC1B,IAAI;KACL,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,SAAgB,oBAAoB,CAClC,GAAa,EACb,KAAiB,EACjB,IAAY;IAEZ,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,uBAAS,CAAC,eAAe,CAAoC,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAErC,mBAAmB;IACnB,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IAEtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,gBAAgB,CACd,sCAAiB,CAAC,0BAA0B,EAC5C,GAAG,CAAC,EAAE,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,oBAAoB,EAAE,CACxD;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CACjC,KAA0B,EAC1B,WAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,wBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/D,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"npc-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npc-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ exports.clearNpcCombatResolver = clearNpcCombatResolver;
11
11
  exports.createNpcService = createNpcService;
12
12
  const world_model_1 = require("../../world-model/index.js");
13
13
  const npc_messages_1 = require("./npc-messages");
14
+ const lucidity_decay_1 = require("./lucidity-decay");
14
15
  /**
15
16
  * Module-level NPC combat resolver. Set via registerNpcCombatResolver().
16
17
  * Uses globalThis to share across module boundaries (same pattern as interceptor registry).
@@ -91,6 +92,11 @@ class NpcService {
91
92
  const actions = behavior.onTurn(npcContext);
92
93
  const actionEvents = this.executeActions(npc, actions, world, random);
93
94
  events.push(...actionEvents);
95
+ // Process lucidity decay for NPCs with character model (ADR-141)
96
+ if (npc.has(world_model_1.TraitType.CHARACTER_MODEL)) {
97
+ const decayEvents = (0, lucidity_decay_1.processLucidityDecay)(npc, world, turn);
98
+ events.push(...decayEvents);
99
+ }
94
100
  }
95
101
  return events;
96
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"npc-service.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npc-service.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/stdlib/src/npc/npc-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sharpee/stdlib",
3
- "version": "0.9.104",
3
+ "version": "0.9.106",
4
4
  "description": "Standard library for Sharpee IF Platform - actions, commands, and game mechanics",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -12,11 +12,11 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@sharpee/core": "^0.9.104",
16
- "@sharpee/if-domain": "^0.9.104",
17
- "@sharpee/if-services": "^0.9.104",
18
- "@sharpee/lang-en-us": "^0.9.104",
19
- "@sharpee/world-model": "^0.9.104"
15
+ "@sharpee/core": "^0.9.106",
16
+ "@sharpee/if-domain": "^0.9.106",
17
+ "@sharpee/if-services": "^0.9.106",
18
+ "@sharpee/lang-en-us": "^0.9.106",
19
+ "@sharpee/world-model": "^0.9.106"
20
20
  },
21
21
  "keywords": [
22
22
  "interactive-fiction",