@sharpee/if-services 1.1.1 → 1.1.2

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 CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@sharpee/if-services",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Runtime service interfaces for Sharpee Interactive Fiction Platform",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
7
7
  "dependencies": {
8
8
  "@sharpee/core": "^1.1.1",
9
9
  "@sharpee/if-domain": "^1.1.1",
10
- "@sharpee/world-model": "^1.1.1"
10
+ "@sharpee/world-model": "^1.1.2"
11
11
  },
12
12
  "keywords": [
13
13
  "sharpee",
@@ -14,6 +14,29 @@ import type { IFEntity, IWorldModel } from '@sharpee/world-model';
14
14
  * Sense types for perception checks
15
15
  */
16
16
  export type Sense = 'sight' | 'hearing' | 'smell' | 'touch';
17
+ /**
18
+ * A single per-sense rendering of a witnessable fact: the message ID to render
19
+ * and the parameters that fill its template.
20
+ *
21
+ * @see ADR-069 amendment — Per-sense rendering selection
22
+ */
23
+ export interface Rendering {
24
+ messageId: string;
25
+ params: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * The per-sense renderings carried by a witnessable event's `data.renderings`.
29
+ *
30
+ * The emitter (e.g. NpcService) populates the senses it produces; PerceptionService
31
+ * selects one by the perceiver's available sense. Absent ⇒ not a witnessable fact
32
+ * (pass through). Present-but-empty `{}` ⇒ perceptible by nothing (blocked).
33
+ */
34
+ export type PerSenseRenderings = Partial<Record<Sense, Rendering>>;
35
+ /**
36
+ * Fixed selection precedence for renderings — independent of map key order.
37
+ * A new `Sense` must declare its rank here.
38
+ */
39
+ export declare const SENSE_PRECEDENCE: readonly Sense[];
17
40
  /**
18
41
  * Reasons why perception might be blocked
19
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"perception-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/if-services/src/perception-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,YAAY,CACV,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,WAAW,GACjB,cAAc,EAAE,CAAC;IAEpB;;;;;;;;OAQG;IACH,WAAW,CACT,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC;CACZ"}
1
+ {"version":3,"file":"perception-service.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/if-services/src/perception-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,KAAK,EAA2C,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,YAAY,CACV,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,WAAW,GACjB,cAAc,EAAE,CAAC;IAEpB;;;;;;;;OAQG;IACH,WAAW,CACT,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC;CACZ"}
@@ -10,4 +10,10 @@
10
10
  * @see ADR-069 Perception-Based Event Filtering
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SENSE_PRECEDENCE = void 0;
14
+ /**
15
+ * Fixed selection precedence for renderings — independent of map key order.
16
+ * A new `Sense` must declare its rank here.
17
+ */
18
+ exports.SENSE_PRECEDENCE = ['sight', 'hearing', 'smell', 'touch'];
13
19
  //# sourceMappingURL=perception-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"perception-service.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/if-services/src/perception-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"perception-service.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/if-services/src/perception-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA8BH;;;GAGG;AACU,QAAA,gBAAgB,GAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC"}