@sharpee/sharpee 1.0.0 → 1.1.0

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/README.md CHANGED
@@ -7,10 +7,22 @@ A modern TypeScript interactive fiction engine for creating text adventures and
7
7
 
8
8
  ## Installation
9
9
 
10
+ Add the runtime library to a project that embeds the engine:
11
+
10
12
  ```bash
11
13
  npm install @sharpee/sharpee
12
14
  ```
13
15
 
16
+ To scaffold and build a story from the command line, install the devkit globally —
17
+ it provides the `sharpee` CLI:
18
+
19
+ ```bash
20
+ npm install -g @sharpee/devkit
21
+ # then
22
+ sharpee init my-story
23
+ sharpee build
24
+ ```
25
+
14
26
  ## Features
15
27
 
16
28
  - **Event-Driven Architecture** - Immutable events for all state changes
@@ -24,59 +36,44 @@ npm install @sharpee/sharpee
24
36
  ```typescript
25
37
  import {
26
38
  GameEngine,
27
- WorldModel,
28
39
  EnglishParser,
29
- EnglishLanguageProvider,
30
- TextService
40
+ EnglishLanguageProvider
31
41
  } from '@sharpee/sharpee';
32
42
 
33
- // Define your story
34
- const story = {
35
- metadata: {
36
- title: 'My Adventure',
37
- author: 'Your Name',
38
- version: '1.0.0'
39
- },
40
-
41
- setup(world: WorldModel) {
42
- // Create a room
43
- const room = world.createEntity('room', {
44
- id: 'start-room',
45
- name: 'Starting Room',
46
- description: 'You are in a small room with stone walls.'
47
- });
48
-
49
- // Set as starting location
50
- world.setStartingLocation(room);
51
- }
52
- };
53
-
54
- // Initialize the engine
55
- const engine = new GameEngine({
56
- story,
57
- parser: new EnglishParser(),
58
- languageProvider: new EnglishLanguageProvider(),
59
- textService: new TextService()
60
- });
61
-
62
- // Start the game
63
- const startEvents = engine.start();
43
+ // Set up language + parser
44
+ const language = new EnglishLanguageProvider();
45
+ const parser = new EnglishParser(language);
46
+
47
+ // Build the engine (world and player typically come from your story setup)
48
+ const engine = new GameEngine({ world, player, parser, language });
49
+
50
+ // Register the story, then start
51
+ engine.setStory(story);
52
+ engine.start();
64
53
 
65
54
  // Process player commands
66
- const events = engine.processCommand('look');
55
+ const result = await engine.executeTurn('look');
67
56
  ```
68
57
 
58
+ > Rendering is no longer a separate text service (ADR-174). The engine's prose
59
+ > pipeline produces `ITextBlock[]` that are carried to the UI by channels
60
+ > (ADR-163); use `renderToString` to flatten blocks for a plain-text host.
61
+
69
62
  ## What's Included
70
63
 
71
- This package re-exports the core Sharpee packages:
64
+ This umbrella package re-exports the **story runtime baseline** — the imports a
65
+ story author needs (ADR-178). It deliberately does **not** re-export every
66
+ symbol from every sub-package; for advanced use, import the specific sub-package
67
+ directly (e.g. `@sharpee/world-model`, `@sharpee/stdlib`).
72
68
 
73
69
  | Export | Description |
74
70
  |--------|-------------|
75
71
  | `GameEngine` | Main game runtime |
76
- | `WorldModel`, `IFEntity` | Entity and world management |
72
+ | `WorldModel`, `IFEntity`, `TraitType` | Entity and world management (types) |
77
73
  | `EnglishParser` | Natural language command parser |
78
- | `EnglishLanguageProvider` | English text generation |
79
- | `TextService` | Text formatting and output |
74
+ | `EnglishLanguageProvider` | English language provider |
75
+ | `renderToString`, `renderStatusLine` | Flatten prose blocks for a text host |
76
+ | `ITextBlock`, `IDecoration` | Prose-pipeline output types (ADR-096) |
80
77
  | `QueryManager` | Player input queries (yes/no, menus) |
81
78
 
82
79
  ## Standard Actions
package/index.d.ts CHANGED
@@ -3,20 +3,20 @@
3
3
  *
4
4
  * Main entry point that aggregates all packages for easy consumption
5
5
  */
6
- export { GameEngine, type Story, type StoryConfig } from "../engine/index";
7
- export { type WorldModel, type IFEntity, TraitType, StoryInfoTrait } from "../world-model/index";
8
- export { QueryManager, createQueryManager, type IPendingQuery as PendingQuery, type IQueryResponse as QueryResponse, type IQueryHandler as QueryHandler, type QueryValidator, QuerySource, QueryType, PlatformEventType, type IPlatformEvent as PlatformEvent, type ISaveContext as SaveContext, type IRestoreContext as RestoreContext, type IQuitContext as QuitContext, type IRestartContext as RestartContext, type ISemanticEvent as SemanticEvent, isPlatformRequestEvent, createSaveCompletedEvent, createRestoreCompletedEvent, createQuitConfirmedEvent, createQuitCancelledEvent, createRestartCompletedEvent } from "../core/index";
9
- export { Parser, type Token, type ValidatedCommand, type ParseError, CommandValidator } from "../stdlib/index";
10
- export { EnglishLanguageProvider } from "../lang-en-us/index";
11
- export { EnglishParser } from "../parser-en-us/index";
12
- export { renderToString, renderStatusLine } from "../channel-service/index";
13
- export type { CLIRenderOptions } from "../channel-service/index";
14
- export type { ITextBlock, IDecoration, TextContent } from "../text-blocks/index";
15
- export { TestingExtension, createDebugContext } from "../ext-testing/index";
16
- export { CharacterBuilder, applyCharacter, COGNITIVE_PRESETS, VocabularyExtension, type CompiledCharacter, type CognitivePresetName, } from "../character/index";
17
- export { AudioRegistry, AtmosphereBuilder, isAudioEvent, type AudioCue, type VariationPool, type DuckingConfig, type RoomAtmosphere, type FadeDefaults, type AudioEvent, type AudioSfxEvent, type AudioMusicPlayEvent, type AudioMusicStopEvent, type AudioAmbientPlayEvent, type AudioAmbientStopEvent, type AudioAmbientStopAllEvent, type AudioProceduralEvent, type AudioEffectEvent, type AudioEffectClearEvent, type AudioCapabilities, type AudioPreferences, } from "../media/index";
18
- export { TurnPlugin, TurnPluginContext, TurnPluginActionResult, PluginRegistry } from "../plugins/index";
19
- export { NpcPlugin } from "../plugin-npc/index";
20
- export { SchedulerPlugin } from "../plugin-scheduler/index";
21
- export { StateMachinePlugin } from "../plugin-state-machine/index";
6
+ export { GameEngine, type Story, type StoryConfig } from '@sharpee/engine';
7
+ export { type WorldModel, type IFEntity, TraitType, StoryInfoTrait } from '@sharpee/world-model';
8
+ export { QueryManager, createQueryManager, type IPendingQuery as PendingQuery, type IQueryResponse as QueryResponse, type IQueryHandler as QueryHandler, type QueryValidator, QuerySource, QueryType, PlatformEventType, type IPlatformEvent as PlatformEvent, type ISaveContext as SaveContext, type IRestoreContext as RestoreContext, type IQuitContext as QuitContext, type IRestartContext as RestartContext, type ISemanticEvent as SemanticEvent, isPlatformRequestEvent, createSaveCompletedEvent, createRestoreCompletedEvent, createQuitConfirmedEvent, createQuitCancelledEvent, createRestartCompletedEvent } from '@sharpee/core';
9
+ export { Parser, type Token, type ValidatedCommand, type ParseError, CommandValidator } from '@sharpee/stdlib';
10
+ export { EnglishLanguageProvider } from '@sharpee/lang-en-us';
11
+ export { EnglishParser } from '@sharpee/parser-en-us';
12
+ export { renderToString, renderStatusLine } from '@sharpee/channel-service';
13
+ export type { CLIRenderOptions } from '@sharpee/channel-service';
14
+ export type { ITextBlock, IDecoration, TextContent } from '@sharpee/text-blocks';
15
+ export { TestingExtension, createDebugContext } from '@sharpee/ext-testing';
16
+ export { CharacterBuilder, applyCharacter, COGNITIVE_PRESETS, VocabularyExtension, type CompiledCharacter, type CognitivePresetName, } from '@sharpee/character';
17
+ export { AudioRegistry, AtmosphereBuilder, isAudioEvent, type AudioCue, type VariationPool, type DuckingConfig, type RoomAtmosphere, type FadeDefaults, type AudioEvent, type AudioSfxEvent, type AudioMusicPlayEvent, type AudioMusicStopEvent, type AudioAmbientPlayEvent, type AudioAmbientStopEvent, type AudioAmbientStopAllEvent, type AudioProceduralEvent, type AudioEffectEvent, type AudioEffectClearEvent, type AudioCapabilities, type AudioPreferences, } from '@sharpee/media';
18
+ export { TurnPlugin, TurnPluginContext, TurnPluginActionResult, PluginRegistry } from '@sharpee/plugins';
19
+ export { NpcPlugin } from '@sharpee/plugin-npc';
20
+ export { SchedulerPlugin } from '@sharpee/plugin-scheduler';
21
+ export { StateMachinePlugin } from '@sharpee/plugin-state-machine';
22
22
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/sharpee/src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,SAAS,EACT,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,aAAa,IAAI,YAAY,EAClC,KAAK,cAAc,IAAI,aAAa,EACpC,KAAK,aAAa,IAAI,YAAY,EAClC,KAAK,cAAc,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,KAAK,cAAc,IAAI,aAAa,EACpC,KAAK,YAAY,IAAI,WAAW,EAChC,KAAK,eAAe,IAAI,cAAc,EACtC,KAAK,YAAY,IAAI,WAAW,EAChC,KAAK,eAAe,IAAI,cAAc,EACtC,KAAK,cAAc,IAAI,aAAa,EACpC,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/sharpee/src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,SAAS,EACT,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,aAAa,IAAI,YAAY,EAClC,KAAK,cAAc,IAAI,aAAa,EACpC,KAAK,aAAa,IAAI,YAAY,EAClC,KAAK,cAAc,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,KAAK,cAAc,IAAI,aAAa,EACpC,KAAK,YAAY,IAAI,WAAW,EAChC,KAAK,eAAe,IAAI,cAAc,EACtC,KAAK,YAAY,IAAI,WAAW,EAChC,KAAK,eAAe,IAAI,cAAc,EACtC,KAAK,cAAc,IAAI,aAAa,EACpC,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
package/index.js CHANGED
@@ -7,13 +7,13 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.StateMachinePlugin = exports.SchedulerPlugin = exports.NpcPlugin = exports.PluginRegistry = exports.isAudioEvent = exports.AtmosphereBuilder = exports.AudioRegistry = exports.VocabularyExtension = exports.COGNITIVE_PRESETS = exports.applyCharacter = exports.CharacterBuilder = exports.createDebugContext = exports.TestingExtension = exports.renderStatusLine = exports.renderToString = exports.EnglishParser = exports.EnglishLanguageProvider = exports.CommandValidator = exports.createRestartCompletedEvent = exports.createQuitCancelledEvent = exports.createQuitConfirmedEvent = exports.createRestoreCompletedEvent = exports.createSaveCompletedEvent = exports.isPlatformRequestEvent = exports.PlatformEventType = exports.QueryType = exports.QuerySource = exports.createQueryManager = exports.QueryManager = exports.StoryInfoTrait = exports.TraitType = exports.GameEngine = void 0;
9
9
  // Re-export main types and classes that platforms need
10
- var engine_1 = require("../engine/index.js");
10
+ var engine_1 = require("@sharpee/engine");
11
11
  Object.defineProperty(exports, "GameEngine", { enumerable: true, get: function () { return engine_1.GameEngine; } });
12
- var world_model_1 = require("../world-model/index.js");
12
+ var world_model_1 = require("@sharpee/world-model");
13
13
  Object.defineProperty(exports, "TraitType", { enumerable: true, get: function () { return world_model_1.TraitType; } });
14
14
  Object.defineProperty(exports, "StoryInfoTrait", { enumerable: true, get: function () { return world_model_1.StoryInfoTrait; } });
15
15
  // Query system and platform events from core
16
- var core_1 = require("../core/index.js");
16
+ var core_1 = require("@sharpee/core");
17
17
  Object.defineProperty(exports, "QueryManager", { enumerable: true, get: function () { return core_1.QueryManager; } });
18
18
  Object.defineProperty(exports, "createQueryManager", { enumerable: true, get: function () { return core_1.createQueryManager; } });
19
19
  Object.defineProperty(exports, "QuerySource", { enumerable: true, get: function () { return core_1.QuerySource; } });
@@ -25,45 +25,45 @@ Object.defineProperty(exports, "createRestoreCompletedEvent", { enumerable: true
25
25
  Object.defineProperty(exports, "createQuitConfirmedEvent", { enumerable: true, get: function () { return core_1.createQuitConfirmedEvent; } });
26
26
  Object.defineProperty(exports, "createQuitCancelledEvent", { enumerable: true, get: function () { return core_1.createQuitCancelledEvent; } });
27
27
  Object.defineProperty(exports, "createRestartCompletedEvent", { enumerable: true, get: function () { return core_1.createRestartCompletedEvent; } });
28
- var stdlib_1 = require("../stdlib/index.js");
28
+ var stdlib_1 = require("@sharpee/stdlib");
29
29
  Object.defineProperty(exports, "CommandValidator", { enumerable: true, get: function () { return stdlib_1.CommandValidator; } });
30
30
  // Language support
31
- var lang_en_us_1 = require("../lang-en-us/index.js");
31
+ var lang_en_us_1 = require("@sharpee/lang-en-us");
32
32
  Object.defineProperty(exports, "EnglishLanguageProvider", { enumerable: true, get: function () { return lang_en_us_1.EnglishLanguageProvider; } });
33
33
  // Parser support
34
- var parser_en_us_1 = require("../parser-en-us/index.js");
34
+ var parser_en_us_1 = require("@sharpee/parser-en-us");
35
35
  Object.defineProperty(exports, "EnglishParser", { enumerable: true, get: function () { return parser_en_us_1.EnglishParser; } });
36
36
  // Wire-production helpers — ADR-174 Phase 2 (OQ-1 resolution).
37
37
  // Block-flattening helpers re-exported from @sharpee/channel-service.
38
38
  // The dead ITextService / createTextService re-exports were dropped:
39
39
  // engine has its own engine-private ITextService and no first-party
40
40
  // consumer instantiates a text-service post-Phase-1.
41
- var channel_service_1 = require("../channel-service/index.js");
41
+ var channel_service_1 = require("@sharpee/channel-service");
42
42
  Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return channel_service_1.renderToString; } });
43
43
  Object.defineProperty(exports, "renderStatusLine", { enumerable: true, get: function () { return channel_service_1.renderStatusLine; } });
44
44
  // Testing extension (ADR-109/110)
45
- var ext_testing_1 = require("../ext-testing/index.js");
45
+ var ext_testing_1 = require("@sharpee/ext-testing");
46
46
  Object.defineProperty(exports, "TestingExtension", { enumerable: true, get: function () { return ext_testing_1.TestingExtension; } });
47
47
  Object.defineProperty(exports, "createDebugContext", { enumerable: true, get: function () { return ext_testing_1.createDebugContext; } });
48
48
  // Character model (ADR-141)
49
- var character_1 = require("../character/index.js");
49
+ var character_1 = require("@sharpee/character");
50
50
  Object.defineProperty(exports, "CharacterBuilder", { enumerable: true, get: function () { return character_1.CharacterBuilder; } });
51
51
  Object.defineProperty(exports, "applyCharacter", { enumerable: true, get: function () { return character_1.applyCharacter; } });
52
52
  Object.defineProperty(exports, "COGNITIVE_PRESETS", { enumerable: true, get: function () { return character_1.COGNITIVE_PRESETS; } });
53
53
  Object.defineProperty(exports, "VocabularyExtension", { enumerable: true, get: function () { return character_1.VocabularyExtension; } });
54
54
  // Media / Audio (ADR-138)
55
- var media_1 = require("../media/index.js");
55
+ var media_1 = require("@sharpee/media");
56
56
  Object.defineProperty(exports, "AudioRegistry", { enumerable: true, get: function () { return media_1.AudioRegistry; } });
57
57
  Object.defineProperty(exports, "AtmosphereBuilder", { enumerable: true, get: function () { return media_1.AtmosphereBuilder; } });
58
58
  Object.defineProperty(exports, "isAudioEvent", { enumerable: true, get: function () { return media_1.isAudioEvent; } });
59
59
  // Plugin system (ADR-120)
60
- var plugins_1 = require("../plugins/index.js");
60
+ var plugins_1 = require("@sharpee/plugins");
61
61
  Object.defineProperty(exports, "PluginRegistry", { enumerable: true, get: function () { return plugins_1.PluginRegistry; } });
62
- var plugin_npc_1 = require("../plugin-npc/index.js");
62
+ var plugin_npc_1 = require("@sharpee/plugin-npc");
63
63
  Object.defineProperty(exports, "NpcPlugin", { enumerable: true, get: function () { return plugin_npc_1.NpcPlugin; } });
64
- var plugin_scheduler_1 = require("../plugin-scheduler/index.js");
64
+ var plugin_scheduler_1 = require("@sharpee/plugin-scheduler");
65
65
  Object.defineProperty(exports, "SchedulerPlugin", { enumerable: true, get: function () { return plugin_scheduler_1.SchedulerPlugin; } });
66
- var plugin_state_machine_1 = require("../plugin-state-machine/index.js");
66
+ var plugin_state_machine_1 = require("@sharpee/plugin-state-machine");
67
67
  Object.defineProperty(exports, "StateMachinePlugin", { enumerable: true, get: function () { return plugin_state_machine_1.StateMachinePlugin; } });
68
68
  // Story Runtime Baseline (ADR-178) — manifest-only package.
69
69
  // Declared as a dep so the workspace builds it, but the constants
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sharpee/sharpee",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Sharpee - Interactive Fiction Engine for TypeScript",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -12,26 +12,26 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "@sharpee/channel-service": "^1.0.0",
16
- "@sharpee/core": "^1.0.0",
17
- "@sharpee/engine": "^1.0.0",
18
- "@sharpee/event-processor": "^1.0.0",
19
- "@sharpee/ext-testing": "^1.0.0",
20
- "@sharpee/if-domain": "^1.0.0",
21
- "@sharpee/if-services": "^1.0.0",
22
- "@sharpee/lang-en-us": "^1.0.0",
23
- "@sharpee/media": "^1.0.0",
24
- "@sharpee/parser-en-us": "^1.0.0",
25
- "@sharpee/platform-browser": "^1.0.0",
26
- "@sharpee/plugin-npc": "^1.0.0",
27
- "@sharpee/plugin-scheduler": "^1.0.0",
28
- "@sharpee/plugin-state-machine": "^1.0.0",
29
- "@sharpee/plugins": "^1.0.0",
30
- "@sharpee/character": "^1.0.0",
31
- "@sharpee/story-runtime-baseline": "^1.0.0",
32
- "@sharpee/stdlib": "^1.0.0",
33
- "@sharpee/text-blocks": "^1.0.0",
34
- "@sharpee/world-model": "^1.0.0"
15
+ "@sharpee/channel-service": "^1.1.0",
16
+ "@sharpee/core": "^1.1.0",
17
+ "@sharpee/engine": "^1.1.0",
18
+ "@sharpee/event-processor": "^1.1.0",
19
+ "@sharpee/ext-testing": "^1.1.0",
20
+ "@sharpee/if-domain": "^1.1.0",
21
+ "@sharpee/if-services": "^1.1.0",
22
+ "@sharpee/lang-en-us": "^1.1.0",
23
+ "@sharpee/media": "^1.1.0",
24
+ "@sharpee/parser-en-us": "^1.1.0",
25
+ "@sharpee/platform-browser": "^1.1.0",
26
+ "@sharpee/plugin-npc": "^1.1.0",
27
+ "@sharpee/plugin-scheduler": "^1.1.0",
28
+ "@sharpee/plugin-state-machine": "^1.1.0",
29
+ "@sharpee/plugins": "^1.1.0",
30
+ "@sharpee/character": "^1.1.0",
31
+ "@sharpee/story-runtime-baseline": "^1.1.0",
32
+ "@sharpee/stdlib": "^1.1.0",
33
+ "@sharpee/text-blocks": "^1.1.0",
34
+ "@sharpee/world-model": "^1.1.0"
35
35
  },
36
36
  "keywords": [
37
37
  "interactive-fiction",
@@ -17,21 +17,21 @@
17
17
  * other clients should depend on `@sharpee/sharpee` itself or the
18
18
  * underlying packages directly.
19
19
  */
20
- export { GameEngine, type Story, type StoryConfig, type CustomVocabulary, StoryWithEvents, validateStoryConfig, CommandExecutor, createCommandExecutor, VocabularyManager, SaveRestoreService, TurnEventProcessor, type NarrativeConfig, SharedDataKeys, } from "../engine/index";
21
- export { QueryManager, createQueryManager, type IPendingQuery, type IQueryResponse, type IQueryHandler, type QueryValidator, QuerySource, QueryType, PlatformEventType, type IPlatformEvent, type ISaveContext, type IRestoreContext, type IQuitContext, type IRestartContext, type ISemanticEvent, isPlatformRequestEvent, createSaveCompletedEvent, createRestoreCompletedEvent, createQuitConfirmedEvent, createQuitCancelledEvent, createRestartCompletedEvent, } from "../core/index";
22
- export * from "../world-model/index";
23
- export { type LanguageProvider, type GrammarBuilder, } from "../if-domain/index";
24
- export { Parser, type Token, type ValidatedCommand, type ParseError, CommandValidator, type Action, type ActionContext, PerceptionService, } from "../stdlib/index";
25
- export { EnglishParser } from "../parser-en-us/index";
26
- export { EnglishLanguageProvider } from "../lang-en-us/index";
27
- export type { ITextBlock, IDecoration, TextContent } from "../text-blocks/index";
28
- export { CORE_BLOCK_KEYS, extractPlainText, isStatusBlock, isRoomBlock, isActionBlock, } from "../text-blocks/index";
29
- export { renderToString, renderStatusLine } from "../channel-service/index";
30
- export type { CLIRenderOptions } from "../channel-service/index";
31
- export { TurnPlugin, TurnPluginContext, type TurnPluginActionResult, PluginRegistry, } from "../plugins/index";
32
- export { NpcPlugin } from "../plugin-npc/index";
33
- export { SchedulerPlugin } from "../plugin-scheduler/index";
34
- export { StateMachinePlugin } from "../plugin-state-machine/index";
35
- export { type IPerceptionService, } from "../if-services/index";
36
- export { EffectProcessor, } from "../event-processor/index";
20
+ export { GameEngine, type Story, type StoryConfig, type CustomVocabulary, StoryWithEvents, validateStoryConfig, CommandExecutor, createCommandExecutor, VocabularyManager, SaveRestoreService, TurnEventProcessor, type NarrativeConfig, SharedDataKeys, } from '@sharpee/engine';
21
+ export { QueryManager, createQueryManager, type IPendingQuery, type IQueryResponse, type IQueryHandler, type QueryValidator, QuerySource, QueryType, PlatformEventType, type IPlatformEvent, type ISaveContext, type IRestoreContext, type IQuitContext, type IRestartContext, type ISemanticEvent, isPlatformRequestEvent, createSaveCompletedEvent, createRestoreCompletedEvent, createQuitConfirmedEvent, createQuitCancelledEvent, createRestartCompletedEvent, } from '@sharpee/core';
22
+ export * from '@sharpee/world-model';
23
+ export { type LanguageProvider, type GrammarBuilder, } from '@sharpee/if-domain';
24
+ export { Parser, type Token, type ValidatedCommand, type ParseError, CommandValidator, type Action, type ActionContext, PerceptionService, } from '@sharpee/stdlib';
25
+ export { EnglishParser } from '@sharpee/parser-en-us';
26
+ export { EnglishLanguageProvider } from '@sharpee/lang-en-us';
27
+ export type { ITextBlock, IDecoration, TextContent } from '@sharpee/text-blocks';
28
+ export { CORE_BLOCK_KEYS, extractPlainText, isStatusBlock, isRoomBlock, isActionBlock, } from '@sharpee/text-blocks';
29
+ export { renderToString, renderStatusLine } from '@sharpee/channel-service';
30
+ export type { CLIRenderOptions } from '@sharpee/channel-service';
31
+ export { TurnPlugin, TurnPluginContext, type TurnPluginActionResult, PluginRegistry, } from '@sharpee/plugins';
32
+ export { NpcPlugin } from '@sharpee/plugin-npc';
33
+ export { SchedulerPlugin } from '@sharpee/plugin-scheduler';
34
+ export { StateMachinePlugin } from '@sharpee/plugin-state-machine';
35
+ export { type IPerceptionService, } from '@sharpee/if-services';
36
+ export { EffectProcessor, } from '@sharpee/event-processor';
37
37
  //# sourceMappingURL=runtime-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-surface.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/sharpee/src/runtime-surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAIvB,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,EACL,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,GAChB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"runtime-surface.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/sharpee/src/runtime-surface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,UAAU,EACV,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAIvB,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAK9D,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,EACL,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,GAChB,MAAM,0BAA0B,CAAC"}
@@ -35,7 +35,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.EffectProcessor = exports.StateMachinePlugin = exports.SchedulerPlugin = exports.NpcPlugin = exports.PluginRegistry = exports.renderStatusLine = exports.renderToString = exports.isActionBlock = exports.isRoomBlock = exports.isStatusBlock = exports.extractPlainText = exports.CORE_BLOCK_KEYS = exports.EnglishLanguageProvider = exports.EnglishParser = exports.PerceptionService = exports.CommandValidator = exports.createRestartCompletedEvent = exports.createQuitCancelledEvent = exports.createQuitConfirmedEvent = exports.createRestoreCompletedEvent = exports.createSaveCompletedEvent = exports.isPlatformRequestEvent = exports.PlatformEventType = exports.QueryType = exports.QuerySource = exports.createQueryManager = exports.QueryManager = exports.SharedDataKeys = exports.TurnEventProcessor = exports.SaveRestoreService = exports.VocabularyManager = exports.createCommandExecutor = exports.CommandExecutor = exports.validateStoryConfig = exports.StoryWithEvents = exports.GameEngine = void 0;
37
37
  // ─── Engine ───────────────────────────────────────────────────────
38
- var engine_1 = require("../engine/index.js");
38
+ var engine_1 = require("@sharpee/engine");
39
39
  Object.defineProperty(exports, "GameEngine", { enumerable: true, get: function () { return engine_1.GameEngine; } });
40
40
  Object.defineProperty(exports, "StoryWithEvents", { enumerable: true, get: function () { return engine_1.StoryWithEvents; } });
41
41
  Object.defineProperty(exports, "validateStoryConfig", { enumerable: true, get: function () { return engine_1.validateStoryConfig; } });
@@ -46,7 +46,7 @@ Object.defineProperty(exports, "SaveRestoreService", { enumerable: true, get: fu
46
46
  Object.defineProperty(exports, "TurnEventProcessor", { enumerable: true, get: function () { return engine_1.TurnEventProcessor; } });
47
47
  Object.defineProperty(exports, "SharedDataKeys", { enumerable: true, get: function () { return engine_1.SharedDataKeys; } });
48
48
  // ─── Core types ───────────────────────────────────────────────────
49
- var core_1 = require("../core/index.js");
49
+ var core_1 = require("@sharpee/core");
50
50
  Object.defineProperty(exports, "QueryManager", { enumerable: true, get: function () { return core_1.QueryManager; } });
51
51
  Object.defineProperty(exports, "createQueryManager", { enumerable: true, get: function () { return core_1.createQueryManager; } });
52
52
  Object.defineProperty(exports, "QuerySource", { enumerable: true, get: function () { return core_1.QuerySource; } });
@@ -60,18 +60,18 @@ Object.defineProperty(exports, "createQuitCancelledEvent", { enumerable: true, g
60
60
  Object.defineProperty(exports, "createRestartCompletedEvent", { enumerable: true, get: function () { return core_1.createRestartCompletedEvent; } });
61
61
  // ─── World model ──────────────────────────────────────────────────
62
62
  // Re-export everything — traits, entities, behaviors, scope, capabilities.
63
- __exportStar(require("../world-model/index.js"), exports);
63
+ __exportStar(require("@sharpee/world-model"), exports);
64
64
  // ─── Standard library ─────────────────────────────────────────────
65
- var stdlib_1 = require("../stdlib/index.js");
65
+ var stdlib_1 = require("@sharpee/stdlib");
66
66
  Object.defineProperty(exports, "CommandValidator", { enumerable: true, get: function () { return stdlib_1.CommandValidator; } });
67
67
  Object.defineProperty(exports, "PerceptionService", { enumerable: true, get: function () { return stdlib_1.PerceptionService; } });
68
68
  // ─── Parser ───────────────────────────────────────────────────────
69
- var parser_en_us_1 = require("../parser-en-us/index.js");
69
+ var parser_en_us_1 = require("@sharpee/parser-en-us");
70
70
  Object.defineProperty(exports, "EnglishParser", { enumerable: true, get: function () { return parser_en_us_1.EnglishParser; } });
71
71
  // ─── Language ─────────────────────────────────────────────────────
72
- var lang_en_us_1 = require("../lang-en-us/index.js");
72
+ var lang_en_us_1 = require("@sharpee/lang-en-us");
73
73
  Object.defineProperty(exports, "EnglishLanguageProvider", { enumerable: true, get: function () { return lang_en_us_1.EnglishLanguageProvider; } });
74
- var text_blocks_1 = require("../text-blocks/index.js");
74
+ var text_blocks_1 = require("@sharpee/text-blocks");
75
75
  Object.defineProperty(exports, "CORE_BLOCK_KEYS", { enumerable: true, get: function () { return text_blocks_1.CORE_BLOCK_KEYS; } });
76
76
  Object.defineProperty(exports, "extractPlainText", { enumerable: true, get: function () { return text_blocks_1.extractPlainText; } });
77
77
  Object.defineProperty(exports, "isStatusBlock", { enumerable: true, get: function () { return text_blocks_1.isStatusBlock; } });
@@ -82,19 +82,19 @@ Object.defineProperty(exports, "isActionBlock", { enumerable: true, get: functio
82
82
  // ITextService / createTextService / TextService re-exports were
83
83
  // dropped: engine has its own engine-private ITextService and no
84
84
  // first-party consumer instantiates a text-service post-Phase-1.
85
- var channel_service_1 = require("../channel-service/index.js");
85
+ var channel_service_1 = require("@sharpee/channel-service");
86
86
  Object.defineProperty(exports, "renderToString", { enumerable: true, get: function () { return channel_service_1.renderToString; } });
87
87
  Object.defineProperty(exports, "renderStatusLine", { enumerable: true, get: function () { return channel_service_1.renderStatusLine; } });
88
88
  // ─── Plugins ──────────────────────────────────────────────────────
89
- var plugins_1 = require("../plugins/index.js");
89
+ var plugins_1 = require("@sharpee/plugins");
90
90
  Object.defineProperty(exports, "PluginRegistry", { enumerable: true, get: function () { return plugins_1.PluginRegistry; } });
91
- var plugin_npc_1 = require("../plugin-npc/index.js");
91
+ var plugin_npc_1 = require("@sharpee/plugin-npc");
92
92
  Object.defineProperty(exports, "NpcPlugin", { enumerable: true, get: function () { return plugin_npc_1.NpcPlugin; } });
93
- var plugin_scheduler_1 = require("../plugin-scheduler/index.js");
93
+ var plugin_scheduler_1 = require("@sharpee/plugin-scheduler");
94
94
  Object.defineProperty(exports, "SchedulerPlugin", { enumerable: true, get: function () { return plugin_scheduler_1.SchedulerPlugin; } });
95
- var plugin_state_machine_1 = require("../plugin-state-machine/index.js");
95
+ var plugin_state_machine_1 = require("@sharpee/plugin-state-machine");
96
96
  Object.defineProperty(exports, "StateMachinePlugin", { enumerable: true, get: function () { return plugin_state_machine_1.StateMachinePlugin; } });
97
97
  // ─── Event processor ──────────────────────────────────────────────
98
- var event_processor_1 = require("../event-processor/index.js");
98
+ var event_processor_1 = require("@sharpee/event-processor");
99
99
  Object.defineProperty(exports, "EffectProcessor", { enumerable: true, get: function () { return event_processor_1.EffectProcessor; } });
100
100
  //# sourceMappingURL=runtime-surface.js.map
@@ -1,10 +0,0 @@
1
- /**
2
- * CLI: sharpee build-browser
3
- *
4
- * Bundles a Sharpee story for web browser deployment.
5
- */
6
- /**
7
- * Run the build-browser command
8
- */
9
- export declare function runBuildBrowserCommand(args: string[]): Promise<void>;
10
- //# sourceMappingURL=build-browser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-browser.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/sharpee/src/cli/build-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwDH;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgH1E"}