@sharpee/world-model 0.9.93 → 0.9.96

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 (84) hide show
  1. package/behaviors/attack.d.ts.map +1 -1
  2. package/behaviors/attack.js +7 -5
  3. package/behaviors/attack.js.map +1 -1
  4. package/entities/if-entity.d.ts +6 -8
  5. package/entities/if-entity.d.ts.map +1 -1
  6. package/entities/if-entity.js +39 -15
  7. package/entities/if-entity.js.map +1 -1
  8. package/events/types.d.ts +7 -30
  9. package/events/types.d.ts.map +1 -1
  10. package/events/types.js +4 -3
  11. package/events/types.js.map +1 -1
  12. package/examples/event-handler-registration.d.ts.map +1 -1
  13. package/examples/event-handler-registration.js +6 -4
  14. package/examples/event-handler-registration.js.map +1 -1
  15. package/index.d.ts +0 -1
  16. package/index.d.ts.map +1 -1
  17. package/index.js +0 -2
  18. package/index.js.map +1 -1
  19. package/package.json +3 -3
  20. package/scope/scope-evaluator.d.ts +13 -3
  21. package/scope/scope-evaluator.d.ts.map +1 -1
  22. package/scope/scope-evaluator.js +15 -5
  23. package/scope/scope-evaluator.js.map +1 -1
  24. package/services/index.d.ts +0 -1
  25. package/services/index.d.ts.map +1 -1
  26. package/services/index.js +3 -4
  27. package/services/index.js.map +1 -1
  28. package/traits/container/containerTrait.d.ts +6 -0
  29. package/traits/container/containerTrait.d.ts.map +1 -1
  30. package/traits/container/containerTrait.js +12 -0
  31. package/traits/container/containerTrait.js.map +1 -1
  32. package/traits/edible/edibleBehavior.d.ts +0 -5
  33. package/traits/edible/edibleBehavior.d.ts.map +1 -1
  34. package/traits/edible/edibleBehavior.js +7 -38
  35. package/traits/edible/edibleBehavior.js.map +1 -1
  36. package/traits/edible/edibleTrait.d.ts +5 -6
  37. package/traits/edible/edibleTrait.d.ts.map +1 -1
  38. package/traits/edible/edibleTrait.js +4 -7
  39. package/traits/edible/edibleTrait.js.map +1 -1
  40. package/traits/implementations.d.ts +2 -1
  41. package/traits/implementations.d.ts.map +1 -1
  42. package/traits/implementations.js +4 -1
  43. package/traits/implementations.js.map +1 -1
  44. package/traits/index.d.ts +1 -0
  45. package/traits/index.d.ts.map +1 -1
  46. package/traits/index.js +1 -0
  47. package/traits/index.js.map +1 -1
  48. package/traits/light-source/lightSourceTrait.d.ts +4 -0
  49. package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
  50. package/traits/light-source/lightSourceTrait.js +4 -0
  51. package/traits/light-source/lightSourceTrait.js.map +1 -1
  52. package/traits/open-inventory/index.d.ts +2 -0
  53. package/traits/open-inventory/index.d.ts.map +1 -0
  54. package/traits/open-inventory/index.js +6 -0
  55. package/traits/open-inventory/index.js.map +1 -0
  56. package/traits/open-inventory/openInventoryTrait.d.ts +30 -0
  57. package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -0
  58. package/traits/open-inventory/openInventoryTrait.js +38 -0
  59. package/traits/open-inventory/openInventoryTrait.js.map +1 -0
  60. package/traits/openable/openableTrait.d.ts +6 -0
  61. package/traits/openable/openableTrait.d.ts.map +1 -1
  62. package/traits/openable/openableTrait.js +4 -0
  63. package/traits/openable/openableTrait.js.map +1 -1
  64. package/traits/room/index.d.ts +1 -1
  65. package/traits/room/index.d.ts.map +1 -1
  66. package/traits/room/index.js.map +1 -1
  67. package/traits/switchable/switchableTrait.d.ts +6 -0
  68. package/traits/switchable/switchableTrait.d.ts.map +1 -1
  69. package/traits/switchable/switchableTrait.js +4 -0
  70. package/traits/switchable/switchableTrait.js.map +1 -1
  71. package/traits/trait-types.d.ts +1 -0
  72. package/traits/trait-types.d.ts.map +1 -1
  73. package/traits/trait-types.js +3 -1
  74. package/traits/trait-types.js.map +1 -1
  75. package/world/AuthorModel.d.ts.map +1 -1
  76. package/world/AuthorModel.js +6 -5
  77. package/world/AuthorModel.js.map +1 -1
  78. package/world/VisibilityBehavior.d.ts +22 -5
  79. package/world/VisibilityBehavior.d.ts.map +1 -1
  80. package/world/VisibilityBehavior.js +70 -125
  81. package/world/VisibilityBehavior.js.map +1 -1
  82. package/world/WorldModel.d.ts.map +1 -1
  83. package/world/WorldModel.js +12 -8
  84. package/world/WorldModel.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scope-evaluator.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/scope/scope-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-evaluator.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/scope/scope-evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- export { ScopeService } from './ScopeService';
2
1
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":""}
package/services/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScopeService = void 0;
4
- var ScopeService_1 = require("./ScopeService");
5
- Object.defineProperty(exports, "ScopeService", { enumerable: true, get: function () { return ScopeService_1.ScopeService; } });
2
+ // ScopeService stub removed (ISSUE-065) — was dead code, never imported by any consumer.
3
+ // Scope is handled by RuleScopeEvaluator (world-model), GrammarScopeResolver (parser),
4
+ // and StandardScopeResolver (stdlib).
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/services/index.ts"],"names":[],"mappings":";AAAA,yFAAyF;AACzF,uFAAuF;AACvF,sCAAsC"}
@@ -25,6 +25,12 @@ export declare class ContainerTrait implements ITrait {
25
25
  allowedTypes?: string[];
26
26
  /** These entity types cannot be placed in the container */
27
27
  excludedTypes?: string[];
28
+ /** Whether this container holds a liquid */
29
+ containsLiquid?: boolean;
30
+ /** Type of liquid in the container (e.g., 'water', 'ale') */
31
+ liquidType?: string;
32
+ /** Amount of liquid remaining (arbitrary units) */
33
+ liquidAmount?: number;
28
34
  constructor(data?: Partial<ContainerTrait>);
29
35
  }
30
36
  //# sourceMappingURL=containerTrait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"containerTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAuB;IAC3C,QAAQ,CAAC,IAAI,cAAuB;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,qDAAqD;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEb,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;CAc3C"}
1
+ {"version":3,"file":"containerTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAuB;IAC3C,QAAQ,CAAC,IAAI,cAAuB;IAEpC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,0DAA0D;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,qDAAqD;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,gEAAgE;IAChE,aAAa,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;CAiB3C"}
@@ -22,6 +22,12 @@ class ContainerTrait {
22
22
  allowedTypes;
23
23
  /** These entity types cannot be placed in the container */
24
24
  excludedTypes;
25
+ /** Whether this container holds a liquid */
26
+ containsLiquid;
27
+ /** Type of liquid in the container (e.g., 'water', 'ale') */
28
+ liquidType;
29
+ /** Amount of liquid remaining (arbitrary units) */
30
+ liquidAmount;
25
31
  constructor(data) {
26
32
  // Set defaults
27
33
  this.isTransparent = false;
@@ -38,6 +44,12 @@ class ContainerTrait {
38
44
  this.allowedTypes = data.allowedTypes;
39
45
  if (data.excludedTypes !== undefined)
40
46
  this.excludedTypes = data.excludedTypes;
47
+ if (data.containsLiquid !== undefined)
48
+ this.containsLiquid = data.containsLiquid;
49
+ if (data.liquidType !== undefined)
50
+ this.liquidType = data.liquidType;
51
+ if (data.liquidAmount !== undefined)
52
+ this.liquidAmount = data.liquidAmount;
41
53
  }
42
54
  }
43
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"containerTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAG9D,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,cAAc;IACzB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CASN;IAEF,gEAAgE;IAChE,aAAa,CAAU;IAEvB,8CAA8C;IAC9C,SAAS,CAAU;IAEnB,6DAA6D;IAC7D,YAAY,CAAY;IAExB,2DAA2D;IAC3D,aAAa,CAAY;IAEzB,YAAY,IAA8B;QACxC,eAAe;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,8BAA8B;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAChF,CAAC;IACH,CAAC;;AAzCH,wCA0CC"}
1
+ {"version":3,"file":"containerTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/container/containerTrait.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAG9D,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,cAAc;IACzB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,uBAAS,CAAC,SAAS,CAAC;IAEpC,6CAA6C;IAC7C,QAAQ,CASN;IAEF,gEAAgE;IAChE,aAAa,CAAU;IAEvB,8CAA8C;IAC9C,SAAS,CAAU;IAEnB,6DAA6D;IAC7D,YAAY,CAAY;IAExB,2DAA2D;IAC3D,aAAa,CAAY;IAEzB,4CAA4C;IAC5C,cAAc,CAAW;IAEzB,6DAA6D;IAC7D,UAAU,CAAU;IAEpB,mDAAmD;IACnD,YAAY,CAAU;IAEtB,YAAY,IAA8B;QACxC,eAAe;QACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,8BAA8B;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/D,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAClE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3E,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9E,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACjF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACrE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7E,CAAC;IACH,CAAC;;AArDH,wCAsDC"}
@@ -11,23 +11,19 @@ export declare class EdibleBehavior extends Behavior {
11
11
  static requiredTraits: "edible"[];
12
12
  /**
13
13
  * Check if an item can be consumed
14
- * Supports both 'servings' (canonical) and 'consumed' (legacy) property names
15
14
  */
16
15
  static canConsume(item: IFEntity): boolean;
17
16
  /**
18
17
  * Consume the item
19
18
  * @returns Events describing what happened
20
- * Supports both 'servings' (canonical) and 'portions' (legacy) property names
21
19
  */
22
20
  static consume(item: IFEntity, actor: IFEntity): ISemanticEvent[];
23
21
  /**
24
22
  * Check if item is fully consumed
25
- * Supports both 'servings' (canonical) and 'consumed' (legacy) property names
26
23
  */
27
24
  static isEmpty(item: IFEntity): boolean;
28
25
  /**
29
26
  * Check if this is a liquid
30
- * Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
31
27
  */
32
28
  static isLiquid(item: IFEntity): boolean;
33
29
  /**
@@ -36,7 +32,6 @@ export declare class EdibleBehavior extends Behavior {
36
32
  static getNutrition(item: IFEntity): number;
37
33
  /**
38
34
  * Get remaining servings
39
- * Supports both 'servings' (canonical) and 'portions' (legacy) property names
40
35
  */
41
36
  static getServings(item: IFEntity): number;
42
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"edibleBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAE3C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAW1C;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE;IA+DjE;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAWvC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAMxC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK3C;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAS1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAKzD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKjE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAI5D"}
1
+ {"version":3,"file":"edibleBehavior.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,MAAM,CAAC,cAAc,aAAsB;IAE3C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAK1C;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE;IAsDjE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKvC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKxC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK3C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK1C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAKzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAKzD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,SAAS;IAKvD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAKjE;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS;CAI5D"}
@@ -16,29 +16,20 @@ class EdibleBehavior extends behavior_1.Behavior {
16
16
  static requiredTraits = [trait_types_1.TraitType.EDIBLE];
17
17
  /**
18
18
  * Check if an item can be consumed
19
- * Supports both 'servings' (canonical) and 'consumed' (legacy) property names
20
19
  */
21
20
  static canConsume(item) {
22
21
  const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
23
- // Check legacy 'consumed' flag first
24
- if (edible.consumed === true) {
25
- return false;
26
- }
27
- // Then check servings (default to 1 if undefined)
28
- const servings = edible.servings ?? edible.portions ?? 1;
29
- return servings > 0;
22
+ return (edible.servings ?? 1) > 0;
30
23
  }
31
24
  /**
32
25
  * Consume the item
33
26
  * @returns Events describing what happened
34
- * Supports both 'servings' (canonical) and 'portions' (legacy) property names
35
27
  */
36
28
  static consume(item, actor) {
37
29
  const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
38
- // Get current servings (supporting legacy properties)
39
- let currentServings = edible.servings ?? edible.portions ?? 1;
40
- const isLiquid = edible.liquid || edible.isDrink || false;
41
- if (currentServings <= 0 || edible.consumed === true) {
30
+ let currentServings = edible.servings ?? 1;
31
+ const isLiquid = edible.liquid ?? false;
32
+ if (currentServings <= 0) {
42
33
  return [
43
34
  (0, core_1.createEvent)(if_events_1.IFEvents.ACTION_FAILED, {
44
35
  action: isLiquid ? 'drink' : 'eat',
@@ -47,16 +38,8 @@ class EdibleBehavior extends behavior_1.Behavior {
47
38
  }, { target: item.id, actor: actor.id })
48
39
  ];
49
40
  }
50
- // Consume one serving - update both properties for compatibility
51
41
  currentServings--;
52
42
  edible.servings = currentServings;
53
- if (edible.portions !== undefined) {
54
- edible.portions = currentServings;
55
- }
56
- // Mark as consumed if no servings left
57
- if (currentServings <= 0) {
58
- edible.consumed = true;
59
- }
60
43
  const events = [
61
44
  (0, core_1.createEvent)(isLiquid ? if_events_1.IFEvents.ITEM_DRUNK : if_events_1.IFEvents.ITEM_EATEN, {
62
45
  nutrition: edible.nutrition,
@@ -77,26 +60,17 @@ class EdibleBehavior extends behavior_1.Behavior {
77
60
  }
78
61
  /**
79
62
  * Check if item is fully consumed
80
- * Supports both 'servings' (canonical) and 'consumed' (legacy) property names
81
63
  */
82
64
  static isEmpty(item) {
83
65
  const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
84
- // Check legacy 'consumed' flag first
85
- if (edible.consumed === true) {
86
- return true;
87
- }
88
- // Then check servings
89
- const servings = edible.servings ?? edible.portions ?? 1;
90
- return servings <= 0;
66
+ return (edible.servings ?? 1) <= 0;
91
67
  }
92
68
  /**
93
69
  * Check if this is a liquid
94
- * Supports both 'liquid' (canonical) and 'isDrink' (legacy) property names
95
70
  */
96
71
  static isLiquid(item) {
97
72
  const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
98
- // Support both property names for backward compatibility
99
- return edible.liquid || edible.isDrink || false;
73
+ return edible.liquid ?? false;
100
74
  }
101
75
  /**
102
76
  * Get nutrition value
@@ -107,15 +81,10 @@ class EdibleBehavior extends behavior_1.Behavior {
107
81
  }
108
82
  /**
109
83
  * Get remaining servings
110
- * Supports both 'servings' (canonical) and 'portions' (legacy) property names
111
84
  */
112
85
  static getServings(item) {
113
86
  const edible = EdibleBehavior.require(item, trait_types_1.TraitType.EDIBLE);
114
- // Check legacy 'consumed' flag - if consumed, return 0
115
- if (edible.consumed === true) {
116
- return 0;
117
- }
118
- return edible.servings ?? edible.portions ?? 1;
87
+ return edible.servings ?? 1;
119
88
  }
120
89
  /**
121
90
  * Check if consuming has special effects
@@ -1 +1 @@
1
- {"version":3,"file":"edibleBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edibleBehavior.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleBehavior.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export type TasteQuality = 'delicious' | 'tasty' | 'good' | 'plain' | 'bland' |
4
4
  export interface IEdibleData {
5
5
  /** Nutrition value (arbitrary units) */
6
6
  nutrition?: number;
7
- /** Number of bites/servings remaining (alias: portions) */
7
+ /** Number of bites/servings remaining */
8
8
  servings?: number;
9
9
  /** Whether this is a liquid (drunk vs eaten) */
10
10
  liquid?: boolean;
@@ -26,6 +26,8 @@ export interface IEdibleData {
26
26
  effects?: string[];
27
27
  /** Whether eating this satisfies hunger */
28
28
  satisfiesHunger?: boolean;
29
+ /** Whether drinking this satisfies thirst */
30
+ satisfiesThirst?: boolean;
29
31
  }
30
32
  /**
31
33
  * Edible trait indicates an entity can be eaten or drunk.
@@ -48,10 +50,7 @@ export declare class EdibleTrait implements ITrait, IEdibleData {
48
50
  taste?: TasteQuality;
49
51
  effects?: string[];
50
52
  satisfiesHunger?: boolean;
51
- constructor(data?: IEdibleData & {
52
- portions?: number;
53
- isDrink?: boolean;
54
- consumed?: boolean;
55
- });
53
+ satisfiesThirst?: boolean;
54
+ constructor(data?: IEdibleData);
56
55
  }
57
56
  //# sourceMappingURL=edibleTrait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edibleTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,gCAAgC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,MAAM,EAAE,WAAW;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAoB;IACxC,QAAQ,CAAC,IAAI,WAAoB;IAGjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;gBAEd,IAAI,GAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;CAsBlG"}
1
+ {"version":3,"file":"edibleTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,gCAAgC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,MAAM,EAAE,WAAW;IACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAoB;IACxC,QAAQ,CAAC,IAAI,WAAoB;IAGjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;gBAEd,IAAI,GAAE,WAAgB;CAiBnC"}
@@ -26,15 +26,11 @@ class EdibleTrait {
26
26
  taste;
27
27
  effects;
28
28
  satisfiesHunger;
29
+ satisfiesThirst;
29
30
  constructor(data = {}) {
30
- // Set defaults and merge with provided data
31
- // Support both 'servings' and legacy 'portions' naming
32
- // If consumed is true, set servings to 0
33
- const baseServings = data.servings ?? data.portions ?? 1;
34
- this.servings = data.consumed ? 0 : baseServings;
31
+ this.servings = data.servings ?? 1;
35
32
  this.nutrition = data.nutrition ?? 1;
36
- // Support both 'liquid' and legacy 'isDrink' naming
37
- this.liquid = data.liquid ?? data.isDrink ?? false;
33
+ this.liquid = data.liquid ?? false;
38
34
  this.consumeMessage = data.consumeMessage;
39
35
  this.remainsType = data.remainsType;
40
36
  this.hasEffect = data.hasEffect ?? (data.effects && data.effects.length > 0) ?? false;
@@ -45,6 +41,7 @@ class EdibleTrait {
45
41
  this.taste = data.taste;
46
42
  this.effects = data.effects;
47
43
  this.satisfiesHunger = data.satisfiesHunger;
44
+ this.satisfiesThirst = data.satisfiesThirst;
48
45
  }
49
46
  }
50
47
  exports.EdibleTrait = EdibleTrait;
@@ -1 +1 @@
1
- {"version":3,"file":"edibleTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAGxD,gDAA2C;AA6C3C;;;;;GAKG;AACH,MAAa,WAAW;IACtB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAEjC,6BAA6B;IAC7B,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,MAAM,CAAU;IAChB,cAAc,CAAU;IACxB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAU;IAC3B,MAAM,CAAS;IACf,IAAI,CAAS;IAEb,sBAAsB;IACtB,KAAK,CAAgB;IACrB,OAAO,CAAY;IACnB,eAAe,CAAW;IAE1B,YAAY,OAAmF,EAAE;QAC/F,4CAA4C;QAC5C,uDAAuD;QACvD,yCAAyC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,oDAAoD;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QACtF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;;AAzCH,kCA0CC"}
1
+ {"version":3,"file":"edibleTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/edible/edibleTrait.ts"],"names":[],"mappings":";AAAA,wDAAwD;;;AAGxD,gDAA2C;AAgD3C;;;;;GAKG;AACH,MAAa,WAAW;IACtB,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,uBAAS,CAAC,MAAM,CAAC;IAEjC,6BAA6B;IAC7B,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,MAAM,CAAU;IAChB,cAAc,CAAU;IACxB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,iBAAiB,CAAU;IAC3B,MAAM,CAAS;IACf,IAAI,CAAS;IAEb,sBAAsB;IACtB,KAAK,CAAgB;IACrB,OAAO,CAAY;IACnB,eAAe,CAAW;IAC1B,eAAe,CAAW;IAE1B,YAAY,OAAoB,EAAE;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;QACtF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAE3B,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;;AArCH,kCAsCC"}
@@ -33,6 +33,7 @@ import { DestructibleTrait } from './destructible/destructibleTrait';
33
33
  import { CombatantTrait } from './combatant/combatantTrait';
34
34
  import { EquippedTrait } from './equipped/equippedTrait';
35
35
  import { NpcTrait } from './npc/npcTrait';
36
+ import { OpenInventoryTrait } from './open-inventory/openInventoryTrait';
36
37
  import { VehicleTrait } from './vehicle/vehicleTrait';
37
38
  import { EnterableTrait } from './enterable/enterableTrait';
38
39
  import { StoryInfoTrait } from './story-info/storyInfoTrait';
@@ -48,5 +49,5 @@ export declare function getTraitImplementation(type: TraitType): ITraitConstruct
48
49
  * Create trait instance by type
49
50
  */
50
51
  export declare function createTrait(type: TraitType, data?: any): InstanceType<ITraitConstructor>;
51
- 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, VehicleTrait, EnterableTrait, StoryInfoTrait };
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 };
52
53
  //# 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.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.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");
@@ -72,6 +72,8 @@ Object.defineProperty(exports, "EquippedTrait", { enumerable: true, get: functio
72
72
  // NPC traits (ADR-070)
73
73
  const npcTrait_1 = require("./npc/npcTrait");
74
74
  Object.defineProperty(exports, "NpcTrait", { enumerable: true, get: function () { return npcTrait_1.NpcTrait; } });
75
+ const openInventoryTrait_1 = require("./open-inventory/openInventoryTrait");
76
+ Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
75
77
  // Transport traits
76
78
  const vehicleTrait_1 = require("./vehicle/vehicleTrait");
77
79
  Object.defineProperty(exports, "VehicleTrait", { enumerable: true, get: function () { return vehicleTrait_1.VehicleTrait; } });
@@ -120,6 +122,7 @@ exports.TRAIT_IMPLEMENTATIONS = {
120
122
  [trait_types_1.TraitType.EQUIPPED]: equippedTrait_1.EquippedTrait,
121
123
  // NPC traits (ADR-070)
122
124
  [trait_types_1.TraitType.NPC]: npcTrait_1.NpcTrait,
125
+ [trait_types_1.TraitType.OPEN_INVENTORY]: openInventoryTrait_1.OpenInventoryTrait,
123
126
  // Transport traits
124
127
  [trait_types_1.TraitType.VEHICLE]: vehicleTrait_1.VehicleTrait,
125
128
  [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
@@ -31,6 +31,7 @@ export * from './equipped';
31
31
  export * from './vehicle';
32
32
  export * from './enterable';
33
33
  export * from './npc';
34
+ export * from './open-inventory';
34
35
  export * from './story-info';
35
36
  export * from './register-all';
36
37
  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;AAGtB,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,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC"}
package/traits/index.js CHANGED
@@ -55,6 +55,7 @@ __exportStar(require("./vehicle"), exports);
55
55
  __exportStar(require("./enterable"), exports);
56
56
  // NPC traits
57
57
  __exportStar(require("./npc"), exports);
58
+ __exportStar(require("./open-inventory"), exports);
58
59
  // System traits
59
60
  __exportStar(require("./story-info"), exports);
60
61
  // 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;AAEtB,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,gBAAgB;AAChB,+CAA6B;AAE7B,oBAAoB;AACpB,iDAA+B;AAE/B,2BAA2B;AAC3B,+CAA6B"}
@@ -23,6 +23,10 @@ export declare class LightSourceTrait implements ITrait {
23
23
  maxFuel?: number;
24
24
  /** Fuel consumption rate per turn (when lit) */
25
25
  fuelConsumptionRate?: number;
26
+ /** Description when lit (used by computed description getter on IFEntity) */
27
+ litDescription?: string;
28
+ /** Description when unlit (used by computed description getter on IFEntity) */
29
+ unlitDescription?: string;
26
30
  constructor(data?: Partial<LightSourceTrait>);
27
31
  }
28
32
  //# sourceMappingURL=lightSourceTrait.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightSourceTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA0B;IAC9C,QAAQ,CAAC,IAAI,gBAA0B;IAEvC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAK;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAEjB,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;CAK7C"}
1
+ {"version":3,"file":"lightSourceTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA0B;IAC9C,QAAQ,CAAC,IAAI,gBAA0B;IAEvC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAK;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAEd,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;CAK7C"}
@@ -27,6 +27,10 @@ class LightSourceTrait {
27
27
  maxFuel;
28
28
  /** Fuel consumption rate per turn (when lit) */
29
29
  fuelConsumptionRate;
30
+ /** Description when lit (used by computed description getter on IFEntity) */
31
+ litDescription;
32
+ /** Description when unlit (used by computed description getter on IFEntity) */
33
+ unlitDescription;
30
34
  constructor(data) {
31
35
  if (data) {
32
36
  Object.assign(this, data);
@@ -1 +1 @@
1
- {"version":3,"file":"lightSourceTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAGnE,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IACrC,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IAEvC,gCAAgC;IAChC,UAAU,GAAW,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,CAAW;IAEhB,6DAA6D;IAC7D,aAAa,CAAU;IAEvB,oDAAoD;IACpD,OAAO,CAAU;IAEjB,gDAAgD;IAChD,mBAAmB,CAAU;IAE7B,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AA5BH,4CA6BC"}
1
+ {"version":3,"file":"lightSourceTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/light-source/lightSourceTrait.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAGnE,gDAA2C;AAE3C;;;;;GAKG;AACH,MAAa,gBAAgB;IAC3B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IACrC,IAAI,GAAG,uBAAS,CAAC,YAAY,CAAC;IAEvC,gCAAgC;IAChC,UAAU,GAAW,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,KAAK,CAAW;IAEhB,6DAA6D;IAC7D,aAAa,CAAU;IAEvB,oDAAoD;IACpD,OAAO,CAAU;IAEjB,gDAAgD;IAChD,mBAAmB,CAAU;IAE7B,6EAA6E;IAC7E,cAAc,CAAU;IAExB,+EAA+E;IAC/E,gBAAgB,CAAU;IAE1B,YAAY,IAAgC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AAlCH,4CAmCC"}
@@ -0,0 +1,2 @@
1
+ export { OpenInventoryTrait } from './openInventoryTrait';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenInventoryTrait = void 0;
4
+ var openInventoryTrait_1 = require("./openInventoryTrait");
5
+ Object.defineProperty(exports, "OpenInventoryTrait", { enumerable: true, get: function () { return openInventoryTrait_1.OpenInventoryTrait; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/index.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file Open Inventory Trait
3
+ * @description Marks an NPC's inventory as reachable by other actors.
4
+ *
5
+ * By default, items held by an NPC (actor) are visible but not reachable
6
+ * by the player — like a closed transparent container. Adding this trait
7
+ * to an actor makes their inventory reachable, allowing the player to
8
+ * take items directly from them.
9
+ *
10
+ * @public OpenInventoryTrait
11
+ * @owner world-model / scope
12
+ */
13
+ import { ITrait } from '../trait';
14
+ /**
15
+ * When applied to an actor, makes their carried items reachable by others.
16
+ *
17
+ * Without this trait, NPC inventory items are VISIBLE but not REACHABLE.
18
+ * With this trait, NPC inventory items follow normal reachability rules.
19
+ *
20
+ * Use cases:
21
+ * - A horse carrying saddlebags the player can reach into
22
+ * - A friendly NPC holding out an item for the player to take
23
+ * - A dead NPC whose belongings are accessible
24
+ */
25
+ export declare class OpenInventoryTrait implements ITrait {
26
+ static readonly type: "openInventory";
27
+ readonly type: "openInventory";
28
+ constructor(data?: Partial<OpenInventoryTrait>);
29
+ }
30
+ //# sourceMappingURL=openInventoryTrait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openInventoryTrait.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,YAAW,MAAM;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAA4B;IAChD,QAAQ,CAAC,IAAI,kBAA4B;gBAE7B,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAK/C"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * @file Open Inventory Trait
4
+ * @description Marks an NPC's inventory as reachable by other actors.
5
+ *
6
+ * By default, items held by an NPC (actor) are visible but not reachable
7
+ * by the player — like a closed transparent container. Adding this trait
8
+ * to an actor makes their inventory reachable, allowing the player to
9
+ * take items directly from them.
10
+ *
11
+ * @public OpenInventoryTrait
12
+ * @owner world-model / scope
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.OpenInventoryTrait = void 0;
16
+ const trait_types_1 = require("../trait-types");
17
+ /**
18
+ * When applied to an actor, makes their carried items reachable by others.
19
+ *
20
+ * Without this trait, NPC inventory items are VISIBLE but not REACHABLE.
21
+ * With this trait, NPC inventory items follow normal reachability rules.
22
+ *
23
+ * Use cases:
24
+ * - A horse carrying saddlebags the player can reach into
25
+ * - A friendly NPC holding out an item for the player to take
26
+ * - A dead NPC whose belongings are accessible
27
+ */
28
+ class OpenInventoryTrait {
29
+ static type = trait_types_1.TraitType.OPEN_INVENTORY;
30
+ type = trait_types_1.TraitType.OPEN_INVENTORY;
31
+ constructor(data) {
32
+ if (data) {
33
+ Object.assign(this, data);
34
+ }
35
+ }
36
+ }
37
+ exports.OpenInventoryTrait = OpenInventoryTrait;
38
+ //# sourceMappingURL=openInventoryTrait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openInventoryTrait.js","sourceRoot":"","sources":["../../../../../../../../repos/sharpee/packages/world-model/src/traits/open-inventory/openInventoryTrait.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAGH,gDAA2C;AAE3C;;;;;;;;;;GAUG;AACH,MAAa,kBAAkB;IAC7B,MAAM,CAAU,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,uBAAS,CAAC,cAAc,CAAC;IAEzC,YAAY,IAAkC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AARH,gDASC"}