@sharpee/world-model 0.9.113 → 1.0.8
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/annotations/index.d.ts.map +1 -1
- package/annotations/types.d.ts.map +1 -1
- package/behaviors/attack.d.ts +1 -1
- package/behaviors/attack.d.ts.map +1 -1
- package/behaviors/behavior.d.ts.map +1 -1
- package/behaviors/index.d.ts.map +1 -1
- package/capabilities/action-interceptor.d.ts +1 -1
- package/capabilities/action-interceptor.d.ts.map +1 -1
- package/capabilities/capability-behavior.d.ts.map +1 -1
- package/capabilities/capability-defaults.d.ts.map +1 -1
- package/capabilities/capability-helpers.d.ts.map +1 -1
- package/capabilities/capability-registry.d.ts.map +1 -1
- package/capabilities/entity-builder.d.ts.map +1 -1
- package/capabilities/index.d.ts.map +1 -1
- package/capabilities/interceptor-helpers.d.ts.map +1 -1
- package/capabilities/interceptor-registry.d.ts.map +1 -1
- package/capabilities/types.d.ts.map +1 -1
- package/commands/command-types.d.ts.map +1 -1
- package/commands/index.d.ts.map +1 -1
- package/commands/parsed-command.d.ts.map +1 -1
- package/commands/validated-command.d.ts.map +1 -1
- package/constants/action-failures.d.ts.map +1 -1
- package/constants/directions.d.ts.map +1 -1
- package/constants/if-events.d.ts +1 -1
- package/constants/if-events.d.ts.map +1 -1
- package/constants/if-events.js +1 -1
- package/constants/index.d.ts.map +1 -1
- package/entities/entity-store.d.ts.map +1 -1
- package/entities/entity-types.d.ts +2 -0
- package/entities/entity-types.d.ts.map +1 -1
- package/entities/entity-types.js +3 -0
- package/entities/entity-types.js.map +1 -1
- package/entities/if-entity.d.ts +1 -1
- package/entities/if-entity.d.ts.map +1 -1
- package/entities/index.d.ts +2 -0
- package/entities/index.d.ts.map +1 -1
- package/entities/index.js +3 -1
- package/entities/index.js.map +1 -1
- package/entities/wall-entity.d.ts +112 -0
- package/entities/wall-entity.d.ts.map +1 -0
- package/entities/wall-entity.js +50 -0
- package/entities/wall-entity.js.map +1 -0
- package/events/types.d.ts +1 -1
- package/events/types.d.ts.map +1 -1
- package/examples/event-handler-registration.d.ts.map +1 -1
- package/extensions/base-extension.d.ts.map +1 -1
- package/extensions/index.d.ts.map +1 -1
- package/extensions/loader.d.ts.map +1 -1
- package/extensions/manager.d.ts.map +1 -1
- package/extensions/registry.d.ts.map +1 -1
- package/extensions/types.d.ts.map +1 -1
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/interfaces/command-executor.d.ts +1 -1
- package/interfaces/command-executor.d.ts.map +1 -1
- package/interfaces/command-processor.d.ts +1 -1
- package/interfaces/command-processor.d.ts.map +1 -1
- package/interfaces/command-validator.d.ts +1 -1
- package/interfaces/command-validator.d.ts.map +1 -1
- package/interfaces/index.d.ts.map +1 -1
- package/interfaces/language-provider.d.ts.map +1 -1
- package/interfaces/parser.d.ts.map +1 -1
- package/package.json +3 -3
- package/scope/index.d.ts.map +1 -1
- package/scope/scope-evaluator.d.ts.map +1 -1
- package/scope/scope-registry.d.ts.map +1 -1
- package/scope/scope-rule.d.ts.map +1 -1
- package/services/index.d.ts.map +1 -1
- package/test-structure.d.ts.map +1 -1
- package/traits/acoustic/acousticDampenerTrait.d.ts +61 -0
- package/traits/acoustic/acousticDampenerTrait.d.ts.map +1 -0
- package/traits/acoustic/acousticDampenerTrait.js +38 -0
- package/traits/acoustic/acousticDampenerTrait.js.map +1 -0
- package/traits/acoustic/acousticTrait.d.ts +64 -0
- package/traits/acoustic/acousticTrait.d.ts.map +1 -0
- package/traits/acoustic/acousticTrait.js +47 -0
- package/traits/acoustic/acousticTrait.js.map +1 -0
- package/traits/acoustic/index.d.ts +3 -0
- package/traits/acoustic/index.d.ts.map +1 -0
- package/traits/acoustic/index.js +10 -0
- package/traits/acoustic/index.js.map +1 -0
- package/traits/actor/actorBehavior.d.ts +1 -1
- package/traits/actor/actorBehavior.d.ts.map +1 -1
- package/traits/actor/actorTrait.d.ts.map +1 -1
- package/traits/actor/index.d.ts.map +1 -1
- package/traits/all-traits.d.ts +1 -1
- package/traits/all-traits.d.ts.map +1 -1
- package/traits/all-traits.js +1 -1
- package/traits/attached/attachedTrait.d.ts.map +1 -1
- package/traits/attached/index.d.ts.map +1 -1
- package/traits/breakable/breakableBehavior.d.ts +1 -1
- package/traits/breakable/breakableBehavior.d.ts.map +1 -1
- package/traits/breakable/breakableTrait.d.ts.map +1 -1
- package/traits/breakable/index.d.ts.map +1 -1
- package/traits/button/buttonTrait.d.ts.map +1 -1
- package/traits/button/index.d.ts.map +1 -1
- package/traits/character-model/character-vocabulary.d.ts.map +1 -1
- package/traits/character-model/characterModelTrait.d.ts.map +1 -1
- package/traits/character-model/index.d.ts.map +1 -1
- package/traits/climbable/climbableBehavior.d.ts.map +1 -1
- package/traits/climbable/climbableTrait.d.ts.map +1 -1
- package/traits/climbable/index.d.ts.map +1 -1
- package/traits/clothing/clothingTrait.d.ts.map +1 -1
- package/traits/clothing/index.d.ts.map +1 -1
- package/traits/combatant/combatantBehavior.d.ts +1 -1
- package/traits/combatant/combatantBehavior.d.ts.map +1 -1
- package/traits/combatant/combatantTrait.d.ts.map +1 -1
- package/traits/combatant/index.d.ts.map +1 -1
- package/traits/concealment/concealedStateTrait.d.ts.map +1 -1
- package/traits/concealment/concealedVisibilityBehavior.d.ts.map +1 -1
- package/traits/concealment/concealmentTrait.d.ts.map +1 -1
- package/traits/concealment/index.d.ts.map +1 -1
- package/traits/container/container-utils.d.ts.map +1 -1
- package/traits/container/containerBehavior.d.ts.map +1 -1
- package/traits/container/containerTrait.d.ts.map +1 -1
- package/traits/container/index.d.ts.map +1 -1
- package/traits/destructible/destructibleBehavior.d.ts +1 -1
- package/traits/destructible/destructibleBehavior.d.ts.map +1 -1
- package/traits/destructible/destructibleTrait.d.ts.map +1 -1
- package/traits/destructible/index.d.ts.map +1 -1
- package/traits/door/doorBehavior.d.ts.map +1 -1
- package/traits/door/doorTrait.d.ts.map +1 -1
- package/traits/door/index.d.ts.map +1 -1
- package/traits/edible/edibleBehavior.d.ts +1 -1
- package/traits/edible/edibleBehavior.d.ts.map +1 -1
- package/traits/edible/edibleBehavior.js +1 -1
- package/traits/edible/edibleTrait.d.ts.map +1 -1
- package/traits/edible/index.d.ts.map +1 -1
- package/traits/enterable/enterableTrait.d.ts.map +1 -1
- package/traits/enterable/index.d.ts.map +1 -1
- package/traits/equipped/equippedTrait.d.ts.map +1 -1
- package/traits/equipped/index.d.ts.map +1 -1
- package/traits/exit/exitBehavior.d.ts +1 -1
- package/traits/exit/exitBehavior.d.ts.map +1 -1
- package/traits/exit/exitBehavior.js +1 -1
- package/traits/exit/exitTrait.d.ts.map +1 -1
- package/traits/exit/index.d.ts.map +1 -1
- package/traits/identity/identityBehavior.d.ts.map +1 -1
- package/traits/identity/identityTrait.d.ts.map +1 -1
- package/traits/identity/index.d.ts.map +1 -1
- package/traits/implementations.d.ts.map +1 -1
- package/traits/implementations.js +8 -0
- package/traits/implementations.js.map +1 -1
- package/traits/index.d.ts +3 -0
- package/traits/index.d.ts.map +1 -1
- package/traits/index.js +5 -0
- package/traits/index.js.map +1 -1
- package/traits/light-source/index.d.ts.map +1 -1
- package/traits/light-source/lightSourceBehavior.d.ts.map +1 -1
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -1
- package/traits/listener/index.d.ts +2 -0
- package/traits/listener/index.d.ts.map +1 -0
- package/traits/listener/index.js +7 -0
- package/traits/listener/index.js.map +1 -0
- package/traits/listener/listenerTrait.d.ts +40 -0
- package/traits/listener/listenerTrait.d.ts.map +1 -0
- package/traits/listener/listenerTrait.js +23 -0
- package/traits/listener/listenerTrait.js.map +1 -0
- package/traits/lockable/index.d.ts.map +1 -1
- package/traits/lockable/lockableBehavior.d.ts +1 -1
- package/traits/lockable/lockableBehavior.d.ts.map +1 -1
- package/traits/lockable/lockableTrait.d.ts +1 -1
- package/traits/lockable/lockableTrait.d.ts.map +1 -1
- package/traits/moveable-scenery/index.d.ts.map +1 -1
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -1
- package/traits/npc/index.d.ts.map +1 -1
- package/traits/npc/npcTrait.d.ts +1 -1
- package/traits/npc/npcTrait.d.ts.map +1 -1
- package/traits/obstructor-protocol.d.ts +96 -0
- package/traits/obstructor-protocol.d.ts.map +1 -0
- package/traits/obstructor-protocol.js +77 -0
- package/traits/obstructor-protocol.js.map +1 -0
- package/traits/open-inventory/index.d.ts.map +1 -1
- package/traits/open-inventory/openInventoryTrait.d.ts.map +1 -1
- package/traits/openable/index.d.ts.map +1 -1
- package/traits/openable/openableBehavior.d.ts.map +1 -1
- package/traits/openable/openableTrait.d.ts.map +1 -1
- package/traits/pullable/index.d.ts.map +1 -1
- package/traits/pullable/pullableTrait.d.ts.map +1 -1
- package/traits/pushable/index.d.ts.map +1 -1
- package/traits/pushable/pushableTrait.d.ts.map +1 -1
- package/traits/readable/index.d.ts.map +1 -1
- package/traits/readable/readableBehavior.d.ts +1 -1
- package/traits/readable/readableBehavior.d.ts.map +1 -1
- package/traits/readable/readableBehavior.js +1 -1
- package/traits/readable/readableTrait.d.ts.map +1 -1
- package/traits/region/index.d.ts.map +1 -1
- package/traits/region/regionTrait.d.ts.map +1 -1
- package/traits/register-all.d.ts.map +1 -1
- package/traits/room/index.d.ts.map +1 -1
- package/traits/room/roomBehavior.d.ts +1 -1
- package/traits/room/roomBehavior.d.ts.map +1 -1
- package/traits/room/roomTrait.d.ts +7 -0
- package/traits/room/roomTrait.d.ts.map +1 -1
- package/traits/room/roomTrait.js +2 -0
- package/traits/room/roomTrait.js.map +1 -1
- package/traits/scene/index.d.ts.map +1 -1
- package/traits/scene/sceneTrait.d.ts.map +1 -1
- package/traits/scenery/index.d.ts.map +1 -1
- package/traits/scenery/sceneryBehavior.d.ts.map +1 -1
- package/traits/scenery/sceneryTrait.d.ts.map +1 -1
- package/traits/story-info/index.d.ts.map +1 -1
- package/traits/story-info/storyInfoTrait.d.ts +6 -0
- package/traits/story-info/storyInfoTrait.d.ts.map +1 -1
- package/traits/story-info/storyInfoTrait.js +6 -0
- package/traits/story-info/storyInfoTrait.js.map +1 -1
- package/traits/supporter/index.d.ts.map +1 -1
- package/traits/supporter/supporterBehavior.d.ts.map +1 -1
- package/traits/supporter/supporterTrait.d.ts.map +1 -1
- package/traits/switchable/index.d.ts.map +1 -1
- package/traits/switchable/switchableBehavior.d.ts +1 -1
- package/traits/switchable/switchableBehavior.d.ts.map +1 -1
- package/traits/switchable/switchableTrait.d.ts.map +1 -1
- package/traits/trait-types.d.ts +3 -0
- package/traits/trait-types.d.ts.map +1 -1
- package/traits/trait-types.js +8 -0
- package/traits/trait-types.js.map +1 -1
- package/traits/trait.d.ts.map +1 -1
- package/traits/vehicle/index.d.ts.map +1 -1
- package/traits/vehicle/vehicleBehavior.d.ts.map +1 -1
- package/traits/vehicle/vehicleTrait.d.ts.map +1 -1
- package/traits/weapon/index.d.ts.map +1 -1
- package/traits/weapon/weaponBehavior.d.ts.map +1 -1
- package/traits/weapon/weaponTrait.d.ts.map +1 -1
- package/traits/wearable/index.d.ts.map +1 -1
- package/traits/wearable/wearableBehavior.d.ts.map +1 -1
- package/traits/wearable/wearableTrait.d.ts.map +1 -1
- package/utils/event-utils.d.ts +2 -2
- package/utils/event-utils.d.ts.map +1 -1
- package/utils/event-utils.js +1 -1
- package/world/AuthorModel.d.ts +5 -2
- package/world/AuthorModel.d.ts.map +1 -1
- package/world/AuthorModel.js +7 -0
- package/world/AuthorModel.js.map +1 -1
- package/world/ScoreLedger.d.ts.map +1 -1
- package/world/SharedDataStore.d.ts.map +1 -1
- package/world/SpatialIndex.d.ts.map +1 -1
- package/world/VisibilityBehavior.d.ts.map +1 -1
- package/world/WorldEventSystem.d.ts +2 -2
- package/world/WorldEventSystem.d.ts.map +1 -1
- package/world/WorldModel.d.ts +26 -3
- package/world/WorldModel.d.ts.map +1 -1
- package/world/WorldModel.js +37 -1
- package/world/WorldModel.js.map +1 -1
- package/world/WorldSerializer.d.ts.map +1 -1
- package/world/capabilities.d.ts.map +1 -1
- package/world/index.d.ts +5 -1
- package/world/index.d.ts.map +1 -1
- package/world/index.js +8 -2
- package/world/index.js.map +1 -1
- package/world/wall-creation.d.ts +38 -0
- package/world/wall-creation.d.ts.map +1 -0
- package/world/wall-creation.js +98 -0
- package/world/wall-creation.js.map +1 -0
- package/world/wall-validation.d.ts +45 -0
- package/world/wall-validation.d.ts.map +1 -0
- package/world/wall-validation.js +98 -0
- package/world/wall-validation.js.map +1 -0
- package/services/ScopeService.d.ts +0 -8
- package/services/ScopeService.d.ts.map +0 -1
- package/services/ScopeService.js +0 -19
- package/services/ScopeService.js.map +0 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// packages/world-model/src/world/wall-validation.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.validateWallSpec = validateWallSpec;
|
|
5
|
+
const trait_types_1 = require("../traits/trait-types");
|
|
6
|
+
/**
|
|
7
|
+
* Resolves an `IFEntity | EntityId` reference to its id string.
|
|
8
|
+
*/
|
|
9
|
+
function refToId(ref) {
|
|
10
|
+
return typeof ref === 'string' ? ref : ref.id;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validates a wall specification before mutation.
|
|
14
|
+
*
|
|
15
|
+
* @param spec - The author-supplied wall specification.
|
|
16
|
+
* @param world - Read-only view of the world for entity/location lookups.
|
|
17
|
+
* @throws Error if cardinality, adjective presence, per-room adjective
|
|
18
|
+
* uniqueness, or `obstructedBy` resolution fails. The first failure
|
|
19
|
+
* detected aborts validation; no partial state escapes.
|
|
20
|
+
*/
|
|
21
|
+
function validateWallSpec(spec, world) {
|
|
22
|
+
if (!Array.isArray(spec.between)) {
|
|
23
|
+
throw new Error('createWall: `between` must be a tuple of exactly two rooms');
|
|
24
|
+
}
|
|
25
|
+
if (spec.between.length !== 2) {
|
|
26
|
+
throw new Error(`createWall: \`between\` must contain exactly 2 rooms (got ${spec.between.length})`);
|
|
27
|
+
}
|
|
28
|
+
const roomAId = refToId(spec.between[0]);
|
|
29
|
+
const roomBId = refToId(spec.between[1]);
|
|
30
|
+
if (roomAId === roomBId) {
|
|
31
|
+
throw new Error(`createWall: \`between\` must reference two distinct rooms (got self-reference '${roomAId}')`);
|
|
32
|
+
}
|
|
33
|
+
const roomA = world.getEntity(roomAId);
|
|
34
|
+
if (!roomA) {
|
|
35
|
+
throw new Error(`createWall: room '${roomAId}' does not exist`);
|
|
36
|
+
}
|
|
37
|
+
const roomB = world.getEntity(roomBId);
|
|
38
|
+
if (!roomB) {
|
|
39
|
+
throw new Error(`createWall: room '${roomBId}' does not exist`);
|
|
40
|
+
}
|
|
41
|
+
const roomATrait = roomA.get(trait_types_1.TraitType.ROOM);
|
|
42
|
+
if (!roomATrait) {
|
|
43
|
+
throw new Error(`createWall: entity '${roomAId}' is not a room`);
|
|
44
|
+
}
|
|
45
|
+
const roomBTrait = roomB.get(trait_types_1.TraitType.ROOM);
|
|
46
|
+
if (!roomBTrait) {
|
|
47
|
+
throw new Error(`createWall: entity '${roomBId}' is not a room`);
|
|
48
|
+
}
|
|
49
|
+
if (!spec.sides || typeof spec.sides !== 'object') {
|
|
50
|
+
throw new Error('createWall: `sides` must be a record keyed by room id');
|
|
51
|
+
}
|
|
52
|
+
const sideA = spec.sides[roomAId];
|
|
53
|
+
const sideB = spec.sides[roomBId];
|
|
54
|
+
validateSide(roomAId, sideA);
|
|
55
|
+
validateSide(roomBId, sideB);
|
|
56
|
+
validateAdjectiveUniqueness(roomAId, sideA.adjective, roomATrait, world);
|
|
57
|
+
validateAdjectiveUniqueness(roomBId, sideB.adjective, roomBTrait, world);
|
|
58
|
+
validateObstructor(roomAId, sideA, world);
|
|
59
|
+
validateObstructor(roomBId, sideB, world);
|
|
60
|
+
return { roomAId, roomBId, roomA, roomB };
|
|
61
|
+
}
|
|
62
|
+
function validateSide(roomId, side) {
|
|
63
|
+
if (!side) {
|
|
64
|
+
throw new Error(`createWall: missing per-side data for room '${roomId}'`);
|
|
65
|
+
}
|
|
66
|
+
if (typeof side.adjective !== 'string') {
|
|
67
|
+
throw new Error(`createWall: side for room '${roomId}' is missing a string \`adjective\``);
|
|
68
|
+
}
|
|
69
|
+
if (side.adjective.trim().length === 0) {
|
|
70
|
+
throw new Error(`createWall: side for room '${roomId}' has an empty \`adjective\``);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function validateAdjectiveUniqueness(roomId, adjective, roomTrait, world) {
|
|
74
|
+
const existingWallIds = roomTrait.walls ?? [];
|
|
75
|
+
for (const existingWallId of existingWallIds) {
|
|
76
|
+
const existing = world.getEntity(existingWallId);
|
|
77
|
+
if (!existing)
|
|
78
|
+
continue;
|
|
79
|
+
const sides = existing.sides;
|
|
80
|
+
const existingSide = sides?.get(roomId);
|
|
81
|
+
if (existingSide && existingSide.adjective === adjective) {
|
|
82
|
+
throw new Error(`createWall: adjective '${adjective}' is already used by another wall in room '${roomId}'`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function validateObstructor(roomId, side, world) {
|
|
87
|
+
if (side.obstructedBy === undefined)
|
|
88
|
+
return;
|
|
89
|
+
const obstructor = world.getEntity(side.obstructedBy);
|
|
90
|
+
if (!obstructor) {
|
|
91
|
+
throw new Error(`createWall: \`obstructedBy\` references nonexistent entity '${side.obstructedBy}' for room '${roomId}'`);
|
|
92
|
+
}
|
|
93
|
+
const obstructorLocation = world.getLocation(side.obstructedBy);
|
|
94
|
+
if (obstructorLocation !== roomId) {
|
|
95
|
+
throw new Error(`createWall: \`obstructedBy\` entity '${side.obstructedBy}' must be located in room '${roomId}' (currently in '${obstructorLocation ?? 'no location'}')`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=wall-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wall-validation.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/world/wall-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IFEntity } from '../entities/if-entity';
|
|
2
|
-
export declare class ScopeService {
|
|
3
|
-
private world;
|
|
4
|
-
constructor(world: any);
|
|
5
|
-
canSee(viewer: IFEntity, target: IFEntity): boolean;
|
|
6
|
-
canReach(actor: IFEntity, target: IFEntity): boolean;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ScopeService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeService.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/world-model/src/services/ScopeService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,GAAG;IAE9B,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAKnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;CAIrD"}
|
package/services/ScopeService.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScopeService = void 0;
|
|
4
|
-
class ScopeService {
|
|
5
|
-
world;
|
|
6
|
-
constructor(world) {
|
|
7
|
-
this.world = world;
|
|
8
|
-
}
|
|
9
|
-
canSee(viewer, target) {
|
|
10
|
-
// TODO: Implement visibility logic
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
canReach(actor, target) {
|
|
14
|
-
// TODO: Implement reachability logic
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.ScopeService = ScopeService;
|
|
19
|
-
//# sourceMappingURL=ScopeService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeService.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/world-model/src/services/ScopeService.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACH;IAApB,YAAoB,KAAU;QAAV,UAAK,GAAL,KAAK,CAAK;IAAG,CAAC;IAElC,MAAM,CAAC,MAAgB,EAAE,MAAgB;QACvC,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAe,EAAE,MAAgB;QACxC,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAZD,oCAYC"}
|