@sharpee/world-model 0.9.66-beta → 0.9.69-beta
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 +2 -0
- package/annotations/index.d.ts.map +1 -0
- package/annotations/index.js +18 -0
- package/annotations/index.js.map +1 -0
- package/annotations/types.d.ts +35 -0
- package/annotations/types.d.ts.map +1 -0
- package/annotations/types.js +9 -0
- package/annotations/types.js.map +1 -0
- package/behaviors/attack.d.ts +52 -0
- package/behaviors/attack.d.ts.map +1 -0
- package/behaviors/attack.js +161 -0
- package/behaviors/attack.js.map +1 -0
- package/behaviors/behavior.d.ts +67 -0
- package/behaviors/behavior.d.ts.map +1 -0
- package/behaviors/behavior.js +80 -0
- package/behaviors/behavior.js.map +1 -0
- package/behaviors/index.d.ts +21 -0
- package/behaviors/index.d.ts.map +1 -0
- package/behaviors/index.js +39 -0
- package/behaviors/index.js.map +1 -0
- package/capabilities/action-interceptor.d.ts +169 -0
- package/capabilities/action-interceptor.d.ts.map +1 -0
- package/capabilities/action-interceptor.js +15 -0
- package/capabilities/action-interceptor.js.map +1 -0
- package/capabilities/capability-behavior.d.ts +112 -0
- package/capabilities/capability-behavior.d.ts.map +1 -0
- package/capabilities/capability-behavior.js +9 -0
- package/capabilities/capability-behavior.js.map +1 -0
- package/capabilities/capability-defaults.d.ts +67 -0
- package/capabilities/capability-defaults.d.ts.map +1 -0
- package/capabilities/capability-defaults.js +81 -0
- package/capabilities/capability-defaults.js.map +1 -0
- package/capabilities/capability-helpers.d.ts +76 -0
- package/capabilities/capability-helpers.d.ts.map +1 -0
- package/capabilities/capability-helpers.js +112 -0
- package/capabilities/capability-helpers.js.map +1 -0
- package/capabilities/capability-registry.d.ts +115 -0
- package/capabilities/capability-registry.d.ts.map +1 -0
- package/capabilities/capability-registry.js +136 -0
- package/capabilities/capability-registry.js.map +1 -0
- package/capabilities/entity-builder.d.ts +79 -0
- package/capabilities/entity-builder.d.ts.map +1 -0
- package/capabilities/entity-builder.js +116 -0
- package/capabilities/entity-builder.js.map +1 -0
- package/capabilities/index.d.ts +16 -0
- package/capabilities/index.d.ts.map +1 -0
- package/capabilities/index.js +56 -0
- package/capabilities/index.js.map +1 -0
- package/capabilities/interceptor-helpers.d.ts +74 -0
- package/capabilities/interceptor-helpers.d.ts.map +1 -0
- package/capabilities/interceptor-helpers.js +111 -0
- package/capabilities/interceptor-helpers.js.map +1 -0
- package/capabilities/interceptor-registry.d.ts +125 -0
- package/capabilities/interceptor-registry.d.ts.map +1 -0
- package/capabilities/interceptor-registry.js +176 -0
- package/capabilities/interceptor-registry.js.map +1 -0
- package/capabilities/types.d.ts +35 -0
- package/capabilities/types.d.ts.map +1 -0
- package/capabilities/types.js +16 -0
- package/capabilities/types.js.map +1 -0
- package/commands/command-types.d.ts +30 -0
- package/commands/command-types.d.ts.map +1 -0
- package/commands/command-types.js +6 -0
- package/commands/command-types.js.map +1 -0
- package/commands/index.d.ts +7 -0
- package/commands/index.d.ts.map +1 -0
- package/commands/index.js +23 -0
- package/commands/index.js.map +1 -0
- package/commands/parsed-command.d.ts +204 -0
- package/commands/parsed-command.d.ts.map +1 -0
- package/commands/parsed-command.js +25 -0
- package/commands/parsed-command.js.map +1 -0
- package/commands/validated-command.d.ts +52 -0
- package/commands/validated-command.d.ts.map +1 -0
- package/commands/validated-command.js +8 -0
- package/commands/validated-command.js.map +1 -0
- package/constants/action-failures.d.ts +54 -0
- package/constants/action-failures.d.ts.map +1 -0
- package/constants/action-failures.js +68 -0
- package/constants/action-failures.js.map +1 -0
- package/constants/directions.d.ts +32 -0
- package/constants/directions.d.ts.map +1 -0
- package/constants/directions.js +53 -0
- package/constants/directions.js.map +1 -0
- package/constants/if-events.d.ts +5 -0
- package/constants/if-events.d.ts.map +1 -0
- package/constants/if-events.js +10 -0
- package/constants/if-events.js.map +1 -0
- package/constants/index.d.ts +9 -0
- package/constants/index.d.ts.map +1 -0
- package/constants/index.js +25 -0
- package/constants/index.js.map +1 -0
- package/entities/entity-store.d.ts +66 -0
- package/entities/entity-store.d.ts.map +1 -0
- package/entities/entity-store.js +116 -0
- package/entities/entity-store.js.map +1 -0
- package/entities/entity-types.d.ts +40 -0
- package/entities/entity-types.d.ts.map +1 -0
- package/entities/entity-types.js +56 -0
- package/entities/entity-types.js.map +1 -0
- package/entities/if-entity.d.ts +314 -0
- package/entities/if-entity.d.ts.map +1 -0
- package/entities/if-entity.js +621 -0
- package/entities/if-entity.js.map +1 -0
- package/entities/index.d.ts +5 -0
- package/entities/index.d.ts.map +1 -0
- package/entities/index.js +13 -0
- package/entities/index.js.map +1 -0
- package/events/types.d.ts +45 -0
- package/events/types.d.ts.map +1 -0
- package/events/types.js +9 -0
- package/events/types.js.map +1 -0
- package/examples/event-handler-registration.d.ts +14 -0
- package/examples/event-handler-registration.d.ts.map +1 -0
- package/examples/event-handler-registration.js +158 -0
- package/examples/event-handler-registration.js.map +1 -0
- package/extensions/base-extension.d.ts +69 -0
- package/extensions/base-extension.d.ts.map +1 -0
- package/extensions/base-extension.js +83 -0
- package/extensions/base-extension.js.map +1 -0
- package/extensions/index.d.ts +11 -0
- package/extensions/index.d.ts.map +1 -0
- package/extensions/index.js +39 -0
- package/extensions/index.js.map +1 -0
- package/extensions/loader.d.ts +52 -0
- package/extensions/loader.d.ts.map +1 -0
- package/extensions/loader.js +177 -0
- package/extensions/loader.js.map +1 -0
- package/extensions/manager.d.ts +68 -0
- package/extensions/manager.d.ts.map +1 -0
- package/extensions/manager.js +164 -0
- package/extensions/manager.js.map +1 -0
- package/extensions/registry.d.ts +100 -0
- package/extensions/registry.d.ts.map +1 -0
- package/extensions/registry.js +193 -0
- package/extensions/registry.js.map +1 -0
- package/extensions/types.d.ts +226 -0
- package/extensions/types.d.ts.map +1 -0
- package/extensions/types.js +28 -0
- package/extensions/types.js.map +1 -0
- package/index.d.ts +41 -0
- package/index.d.ts.map +1 -0
- package/index.js +71 -0
- package/index.js.map +1 -0
- package/interfaces/command-executor.d.ts +17 -0
- package/interfaces/command-executor.d.ts.map +1 -0
- package/interfaces/command-executor.js +6 -0
- package/interfaces/command-executor.js.map +1 -0
- package/interfaces/command-processor.d.ts +17 -0
- package/interfaces/command-processor.d.ts.map +1 -0
- package/interfaces/command-processor.js +6 -0
- package/interfaces/command-processor.js.map +1 -0
- package/interfaces/command-validator.d.ts +17 -0
- package/interfaces/command-validator.d.ts.map +1 -0
- package/interfaces/command-validator.js +6 -0
- package/interfaces/command-validator.js.map +1 -0
- package/interfaces/index.d.ts +8 -0
- package/interfaces/index.d.ts.map +1 -0
- package/interfaces/index.js +24 -0
- package/interfaces/index.js.map +1 -0
- package/interfaces/language-provider.d.ts +86 -0
- package/interfaces/language-provider.d.ts.map +1 -0
- package/interfaces/language-provider.js +14 -0
- package/interfaces/language-provider.js.map +1 -0
- package/interfaces/parser.d.ts +16 -0
- package/interfaces/parser.d.ts.map +1 -0
- package/interfaces/parser.js +6 -0
- package/interfaces/parser.js.map +1 -0
- package/package.json +1 -16
- package/scope/index.d.ts +8 -0
- package/scope/index.d.ts.map +1 -0
- package/scope/index.js +24 -0
- package/scope/index.js.map +1 -0
- package/scope/scope-evaluator.d.ts +58 -0
- package/scope/scope-evaluator.d.ts.map +1 -0
- package/scope/scope-evaluator.js +207 -0
- package/scope/scope-evaluator.js.map +1 -0
- package/scope/scope-registry.d.ts +59 -0
- package/scope/scope-registry.d.ts.map +1 -0
- package/scope/scope-registry.js +182 -0
- package/scope/scope-registry.js.map +1 -0
- package/scope/scope-rule.d.ts +86 -0
- package/scope/scope-rule.d.ts.map +1 -0
- package/scope/scope-rule.js +7 -0
- package/scope/scope-rule.js.map +1 -0
- package/services/ScopeService.d.ts +8 -0
- package/services/ScopeService.d.ts.map +1 -0
- package/services/ScopeService.js +19 -0
- package/services/ScopeService.js.map +1 -0
- package/services/index.d.ts +2 -0
- package/services/index.d.ts.map +1 -0
- package/services/index.js +6 -0
- package/services/index.js.map +1 -0
- package/test-structure.d.ts +3 -0
- package/test-structure.d.ts.map +1 -0
- package/test-structure.js +26 -0
- package/test-structure.js.map +1 -0
- package/traits/actor/actorBehavior.d.ts +121 -0
- package/traits/actor/actorBehavior.d.ts.map +1 -0
- package/traits/actor/actorBehavior.js +288 -0
- package/traits/actor/actorBehavior.js.map +1 -0
- package/traits/actor/actorTrait.d.ts +158 -0
- package/traits/actor/actorTrait.d.ts.map +1 -0
- package/traits/actor/actorTrait.js +152 -0
- package/traits/actor/actorTrait.js.map +1 -0
- package/traits/actor/index.d.ts +3 -0
- package/traits/actor/index.d.ts.map +1 -0
- package/traits/actor/index.js +11 -0
- package/traits/actor/index.js.map +1 -0
- package/traits/all-traits.d.ts +95 -0
- package/traits/all-traits.d.ts.map +1 -0
- package/traits/all-traits.js +178 -0
- package/traits/all-traits.js.map +1 -0
- package/traits/attached/attachedTrait.d.ts +61 -0
- package/traits/attached/attachedTrait.d.ts.map +1 -0
- package/traits/attached/attachedTrait.js +36 -0
- package/traits/attached/attachedTrait.js.map +1 -0
- package/traits/attached/index.d.ts +2 -0
- package/traits/attached/index.d.ts.map +1 -0
- package/traits/attached/index.js +18 -0
- package/traits/attached/index.js.map +1 -0
- package/traits/breakable/breakableBehavior.d.ts +43 -0
- package/traits/breakable/breakableBehavior.d.ts.map +1 -0
- package/traits/breakable/breakableBehavior.js +70 -0
- package/traits/breakable/breakableBehavior.js.map +1 -0
- package/traits/breakable/breakableTrait.d.ts +22 -0
- package/traits/breakable/breakableTrait.d.ts.map +1 -0
- package/traits/breakable/breakableTrait.js +25 -0
- package/traits/breakable/breakableTrait.js.map +1 -0
- package/traits/breakable/index.d.ts +3 -0
- package/traits/breakable/index.d.ts.map +1 -0
- package/traits/breakable/index.js +8 -0
- package/traits/breakable/index.js.map +1 -0
- package/traits/button/buttonTrait.d.ts +53 -0
- package/traits/button/buttonTrait.d.ts.map +1 -0
- package/traits/button/buttonTrait.js +36 -0
- package/traits/button/buttonTrait.js.map +1 -0
- package/traits/button/index.d.ts +2 -0
- package/traits/button/index.d.ts.map +1 -0
- package/traits/button/index.js +18 -0
- package/traits/button/index.js.map +1 -0
- package/traits/climbable/climbableBehavior.d.ts +37 -0
- package/traits/climbable/climbableBehavior.d.ts.map +1 -0
- package/traits/climbable/climbableBehavior.js +70 -0
- package/traits/climbable/climbableBehavior.js.map +1 -0
- package/traits/climbable/climbableTrait.d.ts +31 -0
- package/traits/climbable/climbableTrait.d.ts.map +1 -0
- package/traits/climbable/climbableTrait.js +47 -0
- package/traits/climbable/climbableTrait.js.map +1 -0
- package/traits/climbable/index.d.ts +6 -0
- package/traits/climbable/index.d.ts.map +1 -0
- package/traits/climbable/index.js +22 -0
- package/traits/climbable/index.js.map +1 -0
- package/traits/clothing/clothingTrait.d.ts +58 -0
- package/traits/clothing/clothingTrait.d.ts.map +1 -0
- package/traits/clothing/clothingTrait.js +78 -0
- package/traits/clothing/clothingTrait.js.map +1 -0
- package/traits/clothing/index.d.ts +2 -0
- package/traits/clothing/index.d.ts.map +1 -0
- package/traits/clothing/index.js +19 -0
- package/traits/clothing/index.js.map +1 -0
- package/traits/combatant/combatantBehavior.d.ts +70 -0
- package/traits/combatant/combatantBehavior.d.ts.map +1 -0
- package/traits/combatant/combatantBehavior.js +155 -0
- package/traits/combatant/combatantBehavior.js.map +1 -0
- package/traits/combatant/combatantTrait.d.ts +98 -0
- package/traits/combatant/combatantTrait.d.ts.map +1 -0
- package/traits/combatant/combatantTrait.js +122 -0
- package/traits/combatant/combatantTrait.js.map +1 -0
- package/traits/combatant/index.d.ts +3 -0
- package/traits/combatant/index.d.ts.map +1 -0
- package/traits/combatant/index.js +8 -0
- package/traits/combatant/index.js.map +1 -0
- package/traits/container/container-utils.d.ts +39 -0
- package/traits/container/container-utils.d.ts.map +1 -0
- package/traits/container/container-utils.js +72 -0
- package/traits/container/container-utils.js.map +1 -0
- package/traits/container/containerBehavior.d.ts +94 -0
- package/traits/container/containerBehavior.d.ts.map +1 -0
- package/traits/container/containerBehavior.js +256 -0
- package/traits/container/containerBehavior.js.map +1 -0
- package/traits/container/containerTrait.d.ts +30 -0
- package/traits/container/containerTrait.d.ts.map +1 -0
- package/traits/container/containerTrait.js +45 -0
- package/traits/container/containerTrait.js.map +1 -0
- package/traits/container/index.d.ts +4 -0
- package/traits/container/index.d.ts.map +1 -0
- package/traits/container/index.js +14 -0
- package/traits/container/index.js.map +1 -0
- package/traits/destructible/destructibleBehavior.d.ts +57 -0
- package/traits/destructible/destructibleBehavior.d.ts.map +1 -0
- package/traits/destructible/destructibleBehavior.js +145 -0
- package/traits/destructible/destructibleBehavior.js.map +1 -0
- package/traits/destructible/destructibleTrait.d.ts +49 -0
- package/traits/destructible/destructibleTrait.d.ts.map +1 -0
- package/traits/destructible/destructibleTrait.js +43 -0
- package/traits/destructible/destructibleTrait.js.map +1 -0
- package/traits/destructible/index.d.ts +3 -0
- package/traits/destructible/index.d.ts.map +1 -0
- package/traits/destructible/index.js +8 -0
- package/traits/destructible/index.js.map +1 -0
- package/traits/door/doorBehavior.d.ts +42 -0
- package/traits/door/doorBehavior.d.ts.map +1 -0
- package/traits/door/doorBehavior.js +76 -0
- package/traits/door/doorBehavior.js.map +1 -0
- package/traits/door/doorTrait.d.ts +19 -0
- package/traits/door/doorTrait.d.ts.map +1 -0
- package/traits/door/doorTrait.js +33 -0
- package/traits/door/doorTrait.js.map +1 -0
- package/traits/door/index.d.ts +3 -0
- package/traits/door/index.d.ts.map +1 -0
- package/traits/door/index.js +9 -0
- package/traits/door/index.js.map +1 -0
- package/traits/edible/edibleBehavior.d.ts +63 -0
- package/traits/edible/edibleBehavior.d.ts.map +1 -0
- package/traits/edible/edibleBehavior.js +157 -0
- package/traits/edible/edibleBehavior.js.map +1 -0
- package/traits/edible/edibleTrait.d.ts +57 -0
- package/traits/edible/edibleTrait.d.ts.map +1 -0
- package/traits/edible/edibleTrait.js +51 -0
- package/traits/edible/edibleTrait.js.map +1 -0
- package/traits/edible/index.d.ts +3 -0
- package/traits/edible/index.d.ts.map +1 -0
- package/traits/edible/index.js +20 -0
- package/traits/edible/index.js.map +1 -0
- package/traits/enterable/enterableTrait.d.ts +33 -0
- package/traits/enterable/enterableTrait.d.ts.map +1 -0
- package/traits/enterable/enterableTrait.js +38 -0
- package/traits/enterable/enterableTrait.js.map +1 -0
- package/traits/enterable/index.d.ts +5 -0
- package/traits/enterable/index.d.ts.map +1 -0
- package/traits/enterable/index.js +21 -0
- package/traits/enterable/index.js.map +1 -0
- package/traits/equipped/equippedTrait.d.ts +46 -0
- package/traits/equipped/equippedTrait.d.ts.map +1 -0
- package/traits/equipped/equippedTrait.js +34 -0
- package/traits/equipped/equippedTrait.js.map +1 -0
- package/traits/equipped/index.d.ts +2 -0
- package/traits/equipped/index.d.ts.map +1 -0
- package/traits/equipped/index.js +6 -0
- package/traits/equipped/index.js.map +1 -0
- package/traits/exit/exitBehavior.d.ts +51 -0
- package/traits/exit/exitBehavior.d.ts.map +1 -0
- package/traits/exit/exitBehavior.js +231 -0
- package/traits/exit/exitBehavior.js.map +1 -0
- package/traits/exit/exitTrait.d.ts +41 -0
- package/traits/exit/exitTrait.d.ts.map +1 -0
- package/traits/exit/exitTrait.js +75 -0
- package/traits/exit/exitTrait.js.map +1 -0
- package/traits/exit/index.d.ts +3 -0
- package/traits/exit/index.d.ts.map +1 -0
- package/traits/exit/index.js +9 -0
- package/traits/exit/index.js.map +1 -0
- package/traits/identity/identityBehavior.d.ts +64 -0
- package/traits/identity/identityBehavior.d.ts.map +1 -0
- package/traits/identity/identityBehavior.js +154 -0
- package/traits/identity/identityBehavior.js.map +1 -0
- package/traits/identity/identityTrait.d.ts +70 -0
- package/traits/identity/identityTrait.d.ts.map +1 -0
- package/traits/identity/identityTrait.js +79 -0
- package/traits/identity/identityTrait.js.map +1 -0
- package/traits/identity/index.d.ts +3 -0
- package/traits/identity/index.d.ts.map +1 -0
- package/traits/identity/index.js +20 -0
- package/traits/identity/index.js.map +1 -0
- package/traits/implementations.d.ts +52 -0
- package/traits/implementations.d.ts.map +1 -0
- package/traits/implementations.js +150 -0
- package/traits/implementations.js.map +1 -0
- package/traits/index.d.ts +37 -0
- package/traits/index.d.ts.map +1 -0
- package/traits/index.js +64 -0
- package/traits/index.js.map +1 -0
- package/traits/light-source/index.d.ts +3 -0
- package/traits/light-source/index.d.ts.map +1 -0
- package/traits/light-source/index.js +9 -0
- package/traits/light-source/index.js.map +1 -0
- package/traits/light-source/lightSourceBehavior.d.ts +57 -0
- package/traits/light-source/lightSourceBehavior.d.ts.map +1 -0
- package/traits/light-source/lightSourceBehavior.js +135 -0
- package/traits/light-source/lightSourceBehavior.js.map +1 -0
- package/traits/light-source/lightSourceTrait.d.ts +28 -0
- package/traits/light-source/lightSourceTrait.d.ts.map +1 -0
- package/traits/light-source/lightSourceTrait.js +37 -0
- package/traits/light-source/lightSourceTrait.js.map +1 -0
- package/traits/lockable/index.d.ts +3 -0
- package/traits/lockable/index.d.ts.map +1 -0
- package/traits/lockable/index.js +20 -0
- package/traits/lockable/index.js.map +1 -0
- package/traits/lockable/lockableBehavior.d.ts +88 -0
- package/traits/lockable/lockableBehavior.d.ts.map +1 -0
- package/traits/lockable/lockableBehavior.js +196 -0
- package/traits/lockable/lockableBehavior.js.map +1 -0
- package/traits/lockable/lockableTrait.d.ts +59 -0
- package/traits/lockable/lockableTrait.d.ts.map +1 -0
- package/traits/lockable/lockableTrait.js +50 -0
- package/traits/lockable/lockableTrait.js.map +1 -0
- package/traits/moveable-scenery/index.d.ts +2 -0
- package/traits/moveable-scenery/index.d.ts.map +1 -0
- package/traits/moveable-scenery/index.js +18 -0
- package/traits/moveable-scenery/index.js.map +1 -0
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts +69 -0
- package/traits/moveable-scenery/moveableSceneryTrait.d.ts.map +1 -0
- package/traits/moveable-scenery/moveableSceneryTrait.js +43 -0
- package/traits/moveable-scenery/moveableSceneryTrait.js.map +1 -0
- package/traits/npc/index.d.ts +5 -0
- package/traits/npc/index.d.ts.map +1 -0
- package/traits/npc/index.js +9 -0
- package/traits/npc/index.js.map +1 -0
- package/traits/npc/npcTrait.d.ts +128 -0
- package/traits/npc/npcTrait.d.ts.map +1 -0
- package/traits/npc/npcTrait.js +180 -0
- package/traits/npc/npcTrait.js.map +1 -0
- package/traits/openable/index.d.ts +3 -0
- package/traits/openable/index.d.ts.map +1 -0
- package/traits/openable/index.js +20 -0
- package/traits/openable/index.js.map +1 -0
- package/traits/openable/openableBehavior.d.ts +64 -0
- package/traits/openable/openableBehavior.d.ts.map +1 -0
- package/traits/openable/openableBehavior.js +109 -0
- package/traits/openable/openableBehavior.js.map +1 -0
- package/traits/openable/openableTrait.d.ts +46 -0
- package/traits/openable/openableTrait.d.ts.map +1 -0
- package/traits/openable/openableTrait.js +42 -0
- package/traits/openable/openableTrait.js.map +1 -0
- package/traits/pullable/index.d.ts +2 -0
- package/traits/pullable/index.d.ts.map +1 -0
- package/traits/pullable/index.js +18 -0
- package/traits/pullable/index.js.map +1 -0
- package/traits/pullable/pullableTrait.d.ts +81 -0
- package/traits/pullable/pullableTrait.d.ts.map +1 -0
- package/traits/pullable/pullableTrait.js +44 -0
- package/traits/pullable/pullableTrait.js.map +1 -0
- package/traits/pushable/index.d.ts +2 -0
- package/traits/pushable/index.d.ts.map +1 -0
- package/traits/pushable/index.js +18 -0
- package/traits/pushable/index.js.map +1 -0
- package/traits/pushable/pushableTrait.d.ts +81 -0
- package/traits/pushable/pushableTrait.d.ts.map +1 -0
- package/traits/pushable/pushableTrait.js +44 -0
- package/traits/pushable/pushableTrait.js.map +1 -0
- package/traits/readable/index.d.ts +3 -0
- package/traits/readable/index.d.ts.map +1 -0
- package/traits/readable/index.js +9 -0
- package/traits/readable/index.js.map +1 -0
- package/traits/readable/readableBehavior.d.ts +42 -0
- package/traits/readable/readableBehavior.d.ts.map +1 -0
- package/traits/readable/readableBehavior.js +174 -0
- package/traits/readable/readableBehavior.js.map +1 -0
- package/traits/readable/readableTrait.d.ts +37 -0
- package/traits/readable/readableTrait.d.ts.map +1 -0
- package/traits/readable/readableTrait.js +51 -0
- package/traits/readable/readableTrait.js.map +1 -0
- package/traits/register-all.d.ts +10 -0
- package/traits/register-all.d.ts.map +1 -0
- package/traits/register-all.js +19 -0
- package/traits/register-all.js.map +1 -0
- package/traits/room/index.d.ts +9 -0
- package/traits/room/index.d.ts.map +1 -0
- package/traits/room/index.js +14 -0
- package/traits/room/index.js.map +1 -0
- package/traits/room/roomBehavior.d.ts +87 -0
- package/traits/room/roomBehavior.d.ts.map +1 -0
- package/traits/room/roomBehavior.js +232 -0
- package/traits/room/roomBehavior.js.map +1 -0
- package/traits/room/roomTrait.d.ts +101 -0
- package/traits/room/roomTrait.d.ts.map +1 -0
- package/traits/room/roomTrait.js +59 -0
- package/traits/room/roomTrait.js.map +1 -0
- package/traits/scenery/index.d.ts +3 -0
- package/traits/scenery/index.d.ts.map +1 -0
- package/traits/scenery/index.js +9 -0
- package/traits/scenery/index.js.map +1 -0
- package/traits/scenery/sceneryBehavior.d.ts +21 -0
- package/traits/scenery/sceneryBehavior.d.ts.map +1 -0
- package/traits/scenery/sceneryBehavior.js +42 -0
- package/traits/scenery/sceneryBehavior.js.map +1 -0
- package/traits/scenery/sceneryTrait.d.ts +30 -0
- package/traits/scenery/sceneryTrait.d.ts.map +1 -0
- package/traits/scenery/sceneryTrait.js +39 -0
- package/traits/scenery/sceneryTrait.js.map +1 -0
- package/traits/story-info/index.d.ts +2 -0
- package/traits/story-info/index.d.ts.map +1 -0
- package/traits/story-info/index.js +6 -0
- package/traits/story-info/index.js.map +1 -0
- package/traits/story-info/storyInfoTrait.d.ts +22 -0
- package/traits/story-info/storyInfoTrait.d.ts.map +1 -0
- package/traits/story-info/storyInfoTrait.js +30 -0
- package/traits/story-info/storyInfoTrait.js.map +1 -0
- package/traits/supporter/index.d.ts +3 -0
- package/traits/supporter/index.d.ts.map +1 -0
- package/traits/supporter/index.js +9 -0
- package/traits/supporter/index.js.map +1 -0
- package/traits/supporter/supporterBehavior.d.ts +83 -0
- package/traits/supporter/supporterBehavior.d.ts.map +1 -0
- package/traits/supporter/supporterBehavior.js +210 -0
- package/traits/supporter/supporterBehavior.js.map +1 -0
- package/traits/supporter/supporterTrait.d.ts +26 -0
- package/traits/supporter/supporterTrait.d.ts.map +1 -0
- package/traits/supporter/supporterTrait.js +30 -0
- package/traits/supporter/supporterTrait.js.map +1 -0
- package/traits/switchable/index.d.ts +3 -0
- package/traits/switchable/index.d.ts.map +1 -0
- package/traits/switchable/index.js +20 -0
- package/traits/switchable/index.js.map +1 -0
- package/traits/switchable/switchableBehavior.d.ts +73 -0
- package/traits/switchable/switchableBehavior.d.ts.map +1 -0
- package/traits/switchable/switchableBehavior.js +191 -0
- package/traits/switchable/switchableBehavior.js.map +1 -0
- package/traits/switchable/switchableTrait.d.ts +61 -0
- package/traits/switchable/switchableTrait.d.ts.map +1 -0
- package/traits/switchable/switchableTrait.js +52 -0
- package/traits/switchable/switchableTrait.js.map +1 -0
- package/traits/trait-types.d.ts +82 -0
- package/traits/trait-types.d.ts.map +1 -0
- package/traits/trait-types.js +150 -0
- package/traits/trait-types.js.map +1 -0
- package/traits/trait.d.ts +44 -0
- package/traits/trait.d.ts.map +1 -0
- package/traits/trait.js +42 -0
- package/traits/trait.js.map +1 -0
- package/traits/vehicle/index.d.ts +6 -0
- package/traits/vehicle/index.d.ts.map +1 -0
- package/traits/vehicle/index.js +22 -0
- package/traits/vehicle/index.js.map +1 -0
- package/traits/vehicle/vehicleBehavior.d.ts +62 -0
- package/traits/vehicle/vehicleBehavior.d.ts.map +1 -0
- package/traits/vehicle/vehicleBehavior.js +145 -0
- package/traits/vehicle/vehicleBehavior.js.map +1 -0
- package/traits/vehicle/vehicleTrait.d.ts +77 -0
- package/traits/vehicle/vehicleTrait.d.ts.map +1 -0
- package/traits/vehicle/vehicleTrait.js +92 -0
- package/traits/vehicle/vehicleTrait.js.map +1 -0
- package/traits/weapon/index.d.ts +3 -0
- package/traits/weapon/index.d.ts.map +1 -0
- package/traits/weapon/index.js +8 -0
- package/traits/weapon/index.js.map +1 -0
- package/traits/weapon/weaponBehavior.d.ts +47 -0
- package/traits/weapon/weaponBehavior.d.ts.map +1 -0
- package/traits/weapon/weaponBehavior.js +106 -0
- package/traits/weapon/weaponBehavior.js.map +1 -0
- package/traits/weapon/weaponTrait.d.ts +67 -0
- package/traits/weapon/weaponTrait.d.ts.map +1 -0
- package/traits/weapon/weaponTrait.js +60 -0
- package/traits/weapon/weaponTrait.js.map +1 -0
- package/traits/wearable/index.d.ts +3 -0
- package/traits/wearable/index.d.ts.map +1 -0
- package/traits/wearable/index.js +20 -0
- package/traits/wearable/index.js.map +1 -0
- package/traits/wearable/wearableBehavior.d.ts +64 -0
- package/traits/wearable/wearableBehavior.d.ts.map +1 -0
- package/traits/wearable/wearableBehavior.js +142 -0
- package/traits/wearable/wearableBehavior.js.map +1 -0
- package/traits/wearable/wearableTrait.d.ts +54 -0
- package/traits/wearable/wearableTrait.d.ts.map +1 -0
- package/traits/wearable/wearableTrait.js +53 -0
- package/traits/wearable/wearableTrait.js.map +1 -0
- package/utils/event-utils.d.ts +30 -0
- package/utils/event-utils.d.ts.map +1 -0
- package/utils/event-utils.js +33 -0
- package/utils/event-utils.js.map +1 -0
- package/world/AuthorModel.d.ts +151 -0
- package/world/AuthorModel.d.ts.map +1 -0
- package/world/AuthorModel.js +416 -0
- package/world/AuthorModel.js.map +1 -0
- package/world/SharedDataStore.d.ts +24 -0
- package/world/SharedDataStore.d.ts.map +1 -0
- package/world/SharedDataStore.js +50 -0
- package/world/SharedDataStore.js.map +1 -0
- package/world/SpatialIndex.d.ts +16 -0
- package/world/SpatialIndex.d.ts.map +1 -0
- package/world/SpatialIndex.js +117 -0
- package/world/SpatialIndex.js.map +1 -0
- package/world/VisibilityBehavior.d.ts +83 -0
- package/world/VisibilityBehavior.d.ts.map +1 -0
- package/world/VisibilityBehavior.js +484 -0
- package/world/VisibilityBehavior.js.map +1 -0
- package/world/WorldModel.d.ts +301 -0
- package/world/WorldModel.d.ts.map +1 -0
- package/world/WorldModel.js +1085 -0
- package/world/WorldModel.js.map +1 -0
- package/world/capabilities.d.ts +36 -0
- package/world/capabilities.d.ts.map +1 -0
- package/world/capabilities.js +18 -0
- package/world/capabilities.js.map +1 -0
- package/world/index.d.ts +7 -0
- package/world/index.d.ts.map +1 -0
- package/world/index.js +21 -0
- package/world/index.js.map +1 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interceptor Helpers (ADR-118)
|
|
4
|
+
*
|
|
5
|
+
* Helper functions for working with trait interceptors.
|
|
6
|
+
* Mirrors capability-helpers.ts pattern but for interceptors.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.findTraitWithInterceptor = findTraitWithInterceptor;
|
|
10
|
+
exports.hasInterceptor = hasInterceptor;
|
|
11
|
+
exports.getEntityInterceptors = getEntityInterceptors;
|
|
12
|
+
exports.traitHasInterceptor = traitHasInterceptor;
|
|
13
|
+
exports.getInterceptorTraits = getInterceptorTraits;
|
|
14
|
+
/**
|
|
15
|
+
* Find a trait on the entity that has an interceptor registered for the given action.
|
|
16
|
+
*
|
|
17
|
+
* Note: This checks both the static `interceptors` declaration on the trait class
|
|
18
|
+
* AND the registry. Use this when you need the trait instance.
|
|
19
|
+
*
|
|
20
|
+
* @param entity - The entity to search
|
|
21
|
+
* @param actionId - The action ID to find
|
|
22
|
+
* @returns The trait that has an interceptor registered, or undefined
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const trait = findTraitWithInterceptor(boat, 'if.action.entering');
|
|
27
|
+
* if (trait) {
|
|
28
|
+
* // Entity has an interceptor for entering
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
function findTraitWithInterceptor(entity, actionId) {
|
|
33
|
+
for (const trait of entity.traits.values()) {
|
|
34
|
+
// First check static declaration (if available)
|
|
35
|
+
const traitClass = trait.constructor;
|
|
36
|
+
if (traitClass.interceptors?.includes(actionId)) {
|
|
37
|
+
return trait;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Check if an entity has any trait declaring an interceptor for an action.
|
|
44
|
+
*
|
|
45
|
+
* @param entity - The entity to check
|
|
46
|
+
* @param actionId - The action ID to check for
|
|
47
|
+
* @returns True if entity has a trait with this interceptor
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* if (hasInterceptor(entity, 'if.action.entering')) {
|
|
52
|
+
* // Entity can intercept entering actions
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
function hasInterceptor(entity, actionId) {
|
|
57
|
+
return findTraitWithInterceptor(entity, actionId) !== undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get all interceptor action IDs declared by an entity's traits.
|
|
61
|
+
*
|
|
62
|
+
* @param entity - The entity to inspect
|
|
63
|
+
* @returns Array of action IDs the entity intercepts
|
|
64
|
+
*/
|
|
65
|
+
function getEntityInterceptors(entity) {
|
|
66
|
+
const interceptors = [];
|
|
67
|
+
for (const trait of entity.traits.values()) {
|
|
68
|
+
const traitClass = trait.constructor;
|
|
69
|
+
if (traitClass.interceptors) {
|
|
70
|
+
interceptors.push(...traitClass.interceptors);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return interceptors;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Type guard to check if a trait declares a specific interceptor.
|
|
77
|
+
*
|
|
78
|
+
* @param trait - The trait to check
|
|
79
|
+
* @param actionId - The action ID to check for
|
|
80
|
+
* @param traitType - Optional: specific trait class to narrow to
|
|
81
|
+
* @returns True if trait has the interceptor (and is of specified type)
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* if (traitHasInterceptor(trait, 'if.action.entering', InflatableTrait)) {
|
|
86
|
+
* // trait is narrowed to InflatableTrait
|
|
87
|
+
* console.log(trait.isInflated);
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
function traitHasInterceptor(trait, actionId, traitType) {
|
|
92
|
+
const traitClass = trait.constructor;
|
|
93
|
+
const hasAction = traitClass.interceptors?.includes(actionId) ?? false;
|
|
94
|
+
if (traitType) {
|
|
95
|
+
return hasAction && trait instanceof traitType;
|
|
96
|
+
}
|
|
97
|
+
return hasAction;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Find all traits on an entity that have interceptors.
|
|
101
|
+
*
|
|
102
|
+
* @param entity - The entity to inspect
|
|
103
|
+
* @returns Array of traits that declare at least one interceptor
|
|
104
|
+
*/
|
|
105
|
+
function getInterceptorTraits(entity) {
|
|
106
|
+
return Array.from(entity.traits.values()).filter(trait => {
|
|
107
|
+
const traitClass = trait.constructor;
|
|
108
|
+
return traitClass.interceptors && traitClass.interceptors.length > 0;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=interceptor-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor-helpers.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/capabilities/interceptor-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAuBH,4DAYC;AAgBD,wCAEC;AAQD,sDAWC;AAkBD,kDAYC;AAQD,oDAKC;AA9GD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,wBAAwB,CACtC,MAAgB,EAChB,QAAgB;IAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,gDAAgD;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,IAAI,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAAC,MAAgB,EAAE,QAAgB;IAC/D,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,SAAS,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAAgB;IACpD,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,mBAAmB,CACjC,KAAa,EACb,QAAgB,EAChB,SAAyC;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAEvE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,IAAI,KAAK,YAAY,SAAS,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,MAAgB;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAgC,CAAC;QAC1D,OAAO,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interceptor Registry (ADR-118)
|
|
3
|
+
*
|
|
4
|
+
* Registry for trait-interceptor bindings. Stories register interceptors
|
|
5
|
+
* for their traits, and stdlib actions look them up at runtime.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors capability-registry.ts pattern but for interceptors instead
|
|
8
|
+
* of full-delegation behaviors.
|
|
9
|
+
*/
|
|
10
|
+
import { ITrait } from '../traits/trait';
|
|
11
|
+
import { ActionInterceptor } from './action-interceptor';
|
|
12
|
+
/**
|
|
13
|
+
* Options for registering an action interceptor.
|
|
14
|
+
*/
|
|
15
|
+
export interface InterceptorRegistrationOptions {
|
|
16
|
+
/** Priority for resolution (higher = checked first). Default: 0 */
|
|
17
|
+
priority?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Binding between a trait type, action, and interceptor.
|
|
21
|
+
*/
|
|
22
|
+
export interface TraitInterceptorBinding {
|
|
23
|
+
/** Trait type identifier */
|
|
24
|
+
traitType: string;
|
|
25
|
+
/** Action ID this interceptor handles */
|
|
26
|
+
actionId: string;
|
|
27
|
+
/** The interceptor that handles this trait+action */
|
|
28
|
+
interceptor: ActionInterceptor;
|
|
29
|
+
/** Priority for resolution (higher = checked first) */
|
|
30
|
+
priority: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Register an interceptor for a trait+action combination.
|
|
34
|
+
*
|
|
35
|
+
* Stories call this to register their interceptors during initialization.
|
|
36
|
+
* Each trait+action pair can only have one interceptor registered.
|
|
37
|
+
*
|
|
38
|
+
* @param traitType - The trait type identifier (e.g., 'dungeo.trait.inflatable')
|
|
39
|
+
* @param actionId - The action ID (e.g., 'if.action.entering')
|
|
40
|
+
* @param interceptor - The interceptor implementation
|
|
41
|
+
* @param options - Optional configuration (priority)
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // Register boat puncture interceptor
|
|
46
|
+
* registerActionInterceptor(
|
|
47
|
+
* InflatableTrait.type,
|
|
48
|
+
* 'if.action.entering',
|
|
49
|
+
* InflatableEnteringInterceptor
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* // With priority
|
|
53
|
+
* registerActionInterceptor(
|
|
54
|
+
* TrollGuardianTrait.type,
|
|
55
|
+
* 'if.action.going',
|
|
56
|
+
* TrollGoingInterceptor,
|
|
57
|
+
* { priority: 100 }
|
|
58
|
+
* );
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function registerActionInterceptor(traitType: string, actionId: string, interceptor: ActionInterceptor, options?: InterceptorRegistrationOptions): void;
|
|
62
|
+
/**
|
|
63
|
+
* Result from looking up an interceptor for an entity+action.
|
|
64
|
+
*/
|
|
65
|
+
export interface InterceptorLookupResult {
|
|
66
|
+
/** The interceptor */
|
|
67
|
+
interceptor: ActionInterceptor;
|
|
68
|
+
/** The trait that declared this interceptor */
|
|
69
|
+
trait: ITrait;
|
|
70
|
+
/** The binding metadata */
|
|
71
|
+
binding: TraitInterceptorBinding;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get interceptor for an entity and action.
|
|
75
|
+
*
|
|
76
|
+
* Finds a trait on the entity that has an interceptor registered for
|
|
77
|
+
* the given action. Looks up by trait type string in the registry.
|
|
78
|
+
*
|
|
79
|
+
* @param entity - The entity to check
|
|
80
|
+
* @param actionId - The action ID
|
|
81
|
+
* @returns The interceptor and trait, or undefined if not found
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const result = getInterceptorForAction(boat, 'if.action.entering');
|
|
86
|
+
* if (result) {
|
|
87
|
+
* const { interceptor, trait, binding } = result;
|
|
88
|
+
* // Call interceptor hooks during action execution
|
|
89
|
+
* }
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare function getInterceptorForAction(entity: {
|
|
93
|
+
traits: Map<string, ITrait>;
|
|
94
|
+
}, actionId: string): InterceptorLookupResult | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Get the interceptor binding for a trait type and action.
|
|
97
|
+
*
|
|
98
|
+
* @param traitType - The trait type identifier
|
|
99
|
+
* @param actionId - The action ID
|
|
100
|
+
* @returns The binding, or undefined if not registered
|
|
101
|
+
*/
|
|
102
|
+
export declare function getInterceptorBinding(traitType: string, actionId: string): TraitInterceptorBinding | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Check if an interceptor is registered for a trait+action.
|
|
105
|
+
*
|
|
106
|
+
* @param traitType - The trait type identifier
|
|
107
|
+
* @param actionId - The action ID
|
|
108
|
+
*/
|
|
109
|
+
export declare function hasActionInterceptor(traitType: string, actionId: string): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Unregister an interceptor (primarily for testing).
|
|
112
|
+
*
|
|
113
|
+
* @param traitType - The trait type identifier
|
|
114
|
+
* @param actionId - The action ID
|
|
115
|
+
*/
|
|
116
|
+
export declare function unregisterActionInterceptor(traitType: string, actionId: string): void;
|
|
117
|
+
/**
|
|
118
|
+
* Clear all registered interceptors (for testing).
|
|
119
|
+
*/
|
|
120
|
+
export declare function clearInterceptorRegistry(): void;
|
|
121
|
+
/**
|
|
122
|
+
* Get all registered interceptor bindings (for debugging/introspection).
|
|
123
|
+
*/
|
|
124
|
+
export declare function getAllInterceptorBindings(): Map<string, TraitInterceptorBinding>;
|
|
125
|
+
//# sourceMappingURL=interceptor-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor-registry.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/capabilities/interceptor-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE,8BAA8B,GACvC,IAAI,CAeN;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sBAAsB;IACtB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EACvC,QAAQ,EAAE,MAAM,GACf,uBAAuB,GAAG,SAAS,CA4BrC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,uBAAuB,GAAG,SAAS,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAEhF"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interceptor Registry (ADR-118)
|
|
4
|
+
*
|
|
5
|
+
* Registry for trait-interceptor bindings. Stories register interceptors
|
|
6
|
+
* for their traits, and stdlib actions look them up at runtime.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors capability-registry.ts pattern but for interceptors instead
|
|
9
|
+
* of full-delegation behaviors.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.registerActionInterceptor = registerActionInterceptor;
|
|
13
|
+
exports.getInterceptorForAction = getInterceptorForAction;
|
|
14
|
+
exports.getInterceptorBinding = getInterceptorBinding;
|
|
15
|
+
exports.hasActionInterceptor = hasActionInterceptor;
|
|
16
|
+
exports.unregisterActionInterceptor = unregisterActionInterceptor;
|
|
17
|
+
exports.clearInterceptorRegistry = clearInterceptorRegistry;
|
|
18
|
+
exports.getAllInterceptorBindings = getAllInterceptorBindings;
|
|
19
|
+
/**
|
|
20
|
+
* Registry storage: key = `${traitType}:${actionId}`
|
|
21
|
+
* Uses globalThis to ensure the registry is shared across module boundaries
|
|
22
|
+
* (e.g., when story modules import from packages but actions run from bundle)
|
|
23
|
+
*/
|
|
24
|
+
const INTERCEPTOR_REGISTRY_KEY = '__sharpee_interceptor_registry__';
|
|
25
|
+
// Use globalThis to share registry across module instances
|
|
26
|
+
function getInterceptorRegistry() {
|
|
27
|
+
const global = globalThis;
|
|
28
|
+
if (!global[INTERCEPTOR_REGISTRY_KEY]) {
|
|
29
|
+
global[INTERCEPTOR_REGISTRY_KEY] = new Map();
|
|
30
|
+
}
|
|
31
|
+
return global[INTERCEPTOR_REGISTRY_KEY];
|
|
32
|
+
}
|
|
33
|
+
// For backwards compatibility, expose as const (but delegates to globalThis)
|
|
34
|
+
const interceptorRegistry = {
|
|
35
|
+
get size() { return getInterceptorRegistry().size; },
|
|
36
|
+
has(key) { return getInterceptorRegistry().has(key); },
|
|
37
|
+
get(key) { return getInterceptorRegistry().get(key); },
|
|
38
|
+
set(key, value) { return getInterceptorRegistry().set(key, value); },
|
|
39
|
+
delete(key) { return getInterceptorRegistry().delete(key); },
|
|
40
|
+
clear() { return getInterceptorRegistry().clear(); },
|
|
41
|
+
keys() { return getInterceptorRegistry().keys(); },
|
|
42
|
+
values() { return getInterceptorRegistry().values(); },
|
|
43
|
+
entries() { return getInterceptorRegistry().entries(); },
|
|
44
|
+
[Symbol.iterator]() { return getInterceptorRegistry()[Symbol.iterator](); }
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Generate registry key for trait+action combination.
|
|
48
|
+
*/
|
|
49
|
+
function registryKey(traitType, actionId) {
|
|
50
|
+
return `${traitType}:${actionId}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Register an interceptor for a trait+action combination.
|
|
54
|
+
*
|
|
55
|
+
* Stories call this to register their interceptors during initialization.
|
|
56
|
+
* Each trait+action pair can only have one interceptor registered.
|
|
57
|
+
*
|
|
58
|
+
* @param traitType - The trait type identifier (e.g., 'dungeo.trait.inflatable')
|
|
59
|
+
* @param actionId - The action ID (e.g., 'if.action.entering')
|
|
60
|
+
* @param interceptor - The interceptor implementation
|
|
61
|
+
* @param options - Optional configuration (priority)
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* // Register boat puncture interceptor
|
|
66
|
+
* registerActionInterceptor(
|
|
67
|
+
* InflatableTrait.type,
|
|
68
|
+
* 'if.action.entering',
|
|
69
|
+
* InflatableEnteringInterceptor
|
|
70
|
+
* );
|
|
71
|
+
*
|
|
72
|
+
* // With priority
|
|
73
|
+
* registerActionInterceptor(
|
|
74
|
+
* TrollGuardianTrait.type,
|
|
75
|
+
* 'if.action.going',
|
|
76
|
+
* TrollGoingInterceptor,
|
|
77
|
+
* { priority: 100 }
|
|
78
|
+
* );
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
function registerActionInterceptor(traitType, actionId, interceptor, options) {
|
|
82
|
+
const key = registryKey(traitType, actionId);
|
|
83
|
+
if (interceptorRegistry.has(key)) {
|
|
84
|
+
throw new Error(`Interceptor already registered for trait "${traitType}" and action "${actionId}"`);
|
|
85
|
+
}
|
|
86
|
+
interceptorRegistry.set(key, {
|
|
87
|
+
traitType,
|
|
88
|
+
actionId,
|
|
89
|
+
interceptor,
|
|
90
|
+
priority: options?.priority ?? 0
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get interceptor for an entity and action.
|
|
95
|
+
*
|
|
96
|
+
* Finds a trait on the entity that has an interceptor registered for
|
|
97
|
+
* the given action. Looks up by trait type string in the registry.
|
|
98
|
+
*
|
|
99
|
+
* @param entity - The entity to check
|
|
100
|
+
* @param actionId - The action ID
|
|
101
|
+
* @returns The interceptor and trait, or undefined if not found
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const result = getInterceptorForAction(boat, 'if.action.entering');
|
|
106
|
+
* if (result) {
|
|
107
|
+
* const { interceptor, trait, binding } = result;
|
|
108
|
+
* // Call interceptor hooks during action execution
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
function getInterceptorForAction(entity, actionId) {
|
|
113
|
+
// Find all traits that have an interceptor registered for this action
|
|
114
|
+
const candidates = [];
|
|
115
|
+
for (const trait of entity.traits.values()) {
|
|
116
|
+
// Look up interceptor by trait type string (more reliable than static property)
|
|
117
|
+
const traitType = trait.type;
|
|
118
|
+
const key = registryKey(traitType, actionId);
|
|
119
|
+
const binding = interceptorRegistry.get(key);
|
|
120
|
+
if (binding) {
|
|
121
|
+
candidates.push({ trait, binding });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (candidates.length === 0) {
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
// Sort by priority (highest first) and return the first one
|
|
128
|
+
candidates.sort((a, b) => b.binding.priority - a.binding.priority);
|
|
129
|
+
const { trait, binding } = candidates[0];
|
|
130
|
+
return {
|
|
131
|
+
interceptor: binding.interceptor,
|
|
132
|
+
trait,
|
|
133
|
+
binding
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the interceptor binding for a trait type and action.
|
|
138
|
+
*
|
|
139
|
+
* @param traitType - The trait type identifier
|
|
140
|
+
* @param actionId - The action ID
|
|
141
|
+
* @returns The binding, or undefined if not registered
|
|
142
|
+
*/
|
|
143
|
+
function getInterceptorBinding(traitType, actionId) {
|
|
144
|
+
return interceptorRegistry.get(registryKey(traitType, actionId));
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Check if an interceptor is registered for a trait+action.
|
|
148
|
+
*
|
|
149
|
+
* @param traitType - The trait type identifier
|
|
150
|
+
* @param actionId - The action ID
|
|
151
|
+
*/
|
|
152
|
+
function hasActionInterceptor(traitType, actionId) {
|
|
153
|
+
return interceptorRegistry.has(registryKey(traitType, actionId));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Unregister an interceptor (primarily for testing).
|
|
157
|
+
*
|
|
158
|
+
* @param traitType - The trait type identifier
|
|
159
|
+
* @param actionId - The action ID
|
|
160
|
+
*/
|
|
161
|
+
function unregisterActionInterceptor(traitType, actionId) {
|
|
162
|
+
interceptorRegistry.delete(registryKey(traitType, actionId));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Clear all registered interceptors (for testing).
|
|
166
|
+
*/
|
|
167
|
+
function clearInterceptorRegistry() {
|
|
168
|
+
interceptorRegistry.clear();
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get all registered interceptor bindings (for debugging/introspection).
|
|
172
|
+
*/
|
|
173
|
+
function getAllInterceptorBindings() {
|
|
174
|
+
return new Map(interceptorRegistry);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=interceptor-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor-registry.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/capabilities/interceptor-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability dispatch types (ADR-090)
|
|
3
|
+
*
|
|
4
|
+
* Types for entity-centric action dispatch where traits declare
|
|
5
|
+
* which verbs/actions they respond to.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Result from capability behavior validation.
|
|
9
|
+
* Mirrors stdlib's ValidationResult for consistency.
|
|
10
|
+
*/
|
|
11
|
+
export interface CapabilityValidationResult {
|
|
12
|
+
/** Whether the behavior can execute */
|
|
13
|
+
valid: boolean;
|
|
14
|
+
/** Error code if validation failed (for message lookup) */
|
|
15
|
+
error?: string;
|
|
16
|
+
/** Additional context for error messages */
|
|
17
|
+
params?: Record<string, any>;
|
|
18
|
+
/** Data to pass to execute/report phases */
|
|
19
|
+
data?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Effect returned by capability behaviors.
|
|
23
|
+
* Simplified version - actual emit() is in event-processor.
|
|
24
|
+
*/
|
|
25
|
+
export interface CapabilityEffect {
|
|
26
|
+
/** Event type (e.g., 'if.event.lowered', 'action.blocked') */
|
|
27
|
+
type: string;
|
|
28
|
+
/** Event payload */
|
|
29
|
+
payload: Record<string, any>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Helper to create effects (mirrors event-processor's emit)
|
|
33
|
+
*/
|
|
34
|
+
export declare function createEffect(type: string, payload: Record<string, any>): CapabilityEffect;
|
|
35
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/capabilities/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAEzF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Capability dispatch types (ADR-090)
|
|
4
|
+
*
|
|
5
|
+
* Types for entity-centric action dispatch where traits declare
|
|
6
|
+
* which verbs/actions they respond to.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createEffect = createEffect;
|
|
10
|
+
/**
|
|
11
|
+
* Helper to create effects (mirrors event-processor's emit)
|
|
12
|
+
*/
|
|
13
|
+
function createEffect(type, payload) {
|
|
14
|
+
return { type, payload };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/capabilities/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA+BH,oCAEC;AALD;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,OAA4B;IACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command processing error types and result types
|
|
3
|
+
*/
|
|
4
|
+
import type { IParseError } from './parsed-command';
|
|
5
|
+
import type { IValidationError, IValidatedCommand } from './validated-command';
|
|
6
|
+
/**
|
|
7
|
+
* Errors that can occur during execution
|
|
8
|
+
*/
|
|
9
|
+
export interface IExecutionError {
|
|
10
|
+
type: 'EXECUTION_ERROR';
|
|
11
|
+
code: 'HANDLER_ERROR' | 'EVENT_GENERATION_FAILED' | 'STATE_CORRUPTION';
|
|
12
|
+
message: string;
|
|
13
|
+
validated: IValidatedCommand;
|
|
14
|
+
error?: Error;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Union type for all command processing errors
|
|
18
|
+
*/
|
|
19
|
+
export type CommandError = IParseError | IValidationError | IExecutionError;
|
|
20
|
+
/**
|
|
21
|
+
* Result type for command processing phases
|
|
22
|
+
*/
|
|
23
|
+
export type CommandResult<T, E = CommandError> = {
|
|
24
|
+
success: true;
|
|
25
|
+
value: T;
|
|
26
|
+
} | {
|
|
27
|
+
success: false;
|
|
28
|
+
error: E;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=command-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-types.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/commands/command-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,eAAe,GAAG,yBAAyB,GAAG,kBAAkB,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,IACzC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-types.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/commands/command-types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Command types for the IF command processing pipeline
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./parsed-command"), exports);
|
|
21
|
+
__exportStar(require("./validated-command"), exports);
|
|
22
|
+
__exportStar(require("./command-types"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../mnt/c/repotemp/sharpee/packages/world-model/src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,sDAAoC;AACpC,kDAAgC"}
|