qnce-engine 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +713 -7
  2. package/dist/cli/audit.js +0 -0
  3. package/dist/cli/init.js +0 -0
  4. package/dist/cli/perf.d.ts.map +1 -1
  5. package/dist/cli/perf.js +2 -1
  6. package/dist/cli/perf.js.map +1 -1
  7. package/dist/cli/play.d.ts +4 -0
  8. package/dist/cli/play.d.ts.map +1 -0
  9. package/dist/cli/play.js +259 -0
  10. package/dist/cli/play.js.map +1 -0
  11. package/dist/engine/condition.d.ts +69 -0
  12. package/dist/engine/condition.d.ts.map +1 -0
  13. package/dist/engine/condition.js +195 -0
  14. package/dist/engine/condition.js.map +1 -0
  15. package/dist/engine/core.d.ts +274 -3
  16. package/dist/engine/core.d.ts.map +1 -1
  17. package/dist/engine/core.js +1148 -9
  18. package/dist/engine/core.js.map +1 -1
  19. package/dist/engine/demo-story.d.ts.map +1 -1
  20. package/dist/engine/demo-story.js +99 -13
  21. package/dist/engine/demo-story.js.map +1 -1
  22. package/dist/engine/errors.d.ts +76 -0
  23. package/dist/engine/errors.d.ts.map +1 -0
  24. package/dist/engine/errors.js +178 -0
  25. package/dist/engine/errors.js.map +1 -0
  26. package/dist/engine/types.d.ts +445 -0
  27. package/dist/engine/types.d.ts.map +1 -0
  28. package/dist/engine/types.js +9 -0
  29. package/dist/engine/types.js.map +1 -0
  30. package/dist/engine/validation.d.ts +110 -0
  31. package/dist/engine/validation.d.ts.map +1 -0
  32. package/dist/engine/validation.js +261 -0
  33. package/dist/engine/validation.js.map +1 -0
  34. package/dist/examples/examples/autosave-undo-demo.js +248 -0
  35. package/dist/examples/examples/persistence-demo.js +63 -0
  36. package/dist/examples/src/engine/condition.js +194 -0
  37. package/dist/examples/src/engine/core.js +1382 -0
  38. package/dist/examples/src/engine/demo-story.js +200 -0
  39. package/dist/examples/src/engine/types.js +8 -0
  40. package/dist/examples/src/index.js +35 -0
  41. package/dist/examples/src/integrations/react.js +322 -0
  42. package/dist/examples/src/narrative/branching/engine-simple.js +348 -0
  43. package/dist/examples/src/narrative/branching/index.js +55 -0
  44. package/dist/examples/src/narrative/branching/models.js +5 -0
  45. package/dist/examples/src/performance/ObjectPool.js +296 -0
  46. package/dist/examples/src/performance/PerfReporter.js +280 -0
  47. package/dist/examples/src/performance/ThreadPool.js +347 -0
  48. package/dist/index.d.ts +4 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +12 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/integrations/react.d.ts +200 -0
  53. package/dist/integrations/react.d.ts.map +1 -0
  54. package/dist/integrations/react.js +365 -0
  55. package/dist/integrations/react.js.map +1 -0
  56. package/dist/narrative/branching/engine-simple.js +3 -3
  57. package/dist/narrative/branching/engine-simple.js.map +1 -1
  58. package/dist/narrative/branching/engine.d.ts +1 -0
  59. package/dist/narrative/branching/engine.d.ts.map +1 -0
  60. package/dist/narrative/branching/engine.js +2 -0
  61. package/dist/narrative/branching/engine.js.map +1 -0
  62. package/dist/narrative/branching/models.d.ts.map +1 -1
  63. package/dist/performance/HotReloadDelta.d.ts +25 -8
  64. package/dist/performance/HotReloadDelta.d.ts.map +1 -1
  65. package/dist/performance/HotReloadDelta.js +10 -15
  66. package/dist/performance/HotReloadDelta.js.map +1 -1
  67. package/dist/ui/__tests__/AutosaveIndicator.test.d.ts +2 -0
  68. package/dist/ui/__tests__/AutosaveIndicator.test.d.ts.map +1 -0
  69. package/dist/ui/__tests__/AutosaveIndicator.test.js +329 -0
  70. package/dist/ui/__tests__/AutosaveIndicator.test.js.map +1 -0
  71. package/dist/ui/__tests__/UndoRedoControls.test.d.ts +2 -0
  72. package/dist/ui/__tests__/UndoRedoControls.test.d.ts.map +1 -0
  73. package/dist/ui/__tests__/UndoRedoControls.test.js +245 -0
  74. package/dist/ui/__tests__/UndoRedoControls.test.js.map +1 -0
  75. package/dist/ui/__tests__/autosave-simple.test.d.ts +2 -0
  76. package/dist/ui/__tests__/autosave-simple.test.d.ts.map +1 -0
  77. package/dist/ui/__tests__/autosave-simple.test.js +29 -0
  78. package/dist/ui/__tests__/autosave-simple.test.js.map +1 -0
  79. package/dist/ui/__tests__/setup.d.ts +2 -0
  80. package/dist/ui/__tests__/setup.d.ts.map +1 -0
  81. package/dist/ui/__tests__/setup.js +40 -0
  82. package/dist/ui/__tests__/setup.js.map +1 -0
  83. package/dist/ui/__tests__/smoke-test.d.ts +2 -0
  84. package/dist/ui/__tests__/smoke-test.d.ts.map +1 -0
  85. package/dist/ui/__tests__/smoke-test.js +18 -0
  86. package/dist/ui/__tests__/smoke-test.js.map +1 -0
  87. package/dist/ui/__tests__/smoke-test.test.d.ts +2 -0
  88. package/dist/ui/__tests__/smoke-test.test.d.ts.map +1 -0
  89. package/dist/ui/__tests__/smoke-test.test.js +18 -0
  90. package/dist/ui/__tests__/smoke-test.test.js.map +1 -0
  91. package/dist/ui/__tests__/useKeyboardShortcuts.test.d.ts +2 -0
  92. package/dist/ui/__tests__/useKeyboardShortcuts.test.d.ts.map +1 -0
  93. package/dist/ui/__tests__/useKeyboardShortcuts.test.js +374 -0
  94. package/dist/ui/__tests__/useKeyboardShortcuts.test.js.map +1 -0
  95. package/dist/ui/components/AutosaveIndicator.d.ts +18 -0
  96. package/dist/ui/components/AutosaveIndicator.d.ts.map +1 -0
  97. package/dist/ui/components/AutosaveIndicator.js +175 -0
  98. package/dist/ui/components/AutosaveIndicator.js.map +1 -0
  99. package/dist/ui/components/UndoRedoControls.d.ts +16 -0
  100. package/dist/ui/components/UndoRedoControls.d.ts.map +1 -0
  101. package/dist/ui/components/UndoRedoControls.js +144 -0
  102. package/dist/ui/components/UndoRedoControls.js.map +1 -0
  103. package/dist/ui/hooks/useKeyboardShortcuts.d.ts +22 -0
  104. package/dist/ui/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  105. package/dist/ui/hooks/useKeyboardShortcuts.js +162 -0
  106. package/dist/ui/hooks/useKeyboardShortcuts.js.map +1 -0
  107. package/dist/ui/index.d.ts +9 -0
  108. package/dist/ui/index.d.ts.map +1 -0
  109. package/dist/ui/index.js +14 -0
  110. package/dist/ui/index.js.map +1 -0
  111. package/dist/ui/types.d.ts +141 -0
  112. package/dist/ui/types.d.ts.map +1 -0
  113. package/dist/ui/types.js +51 -0
  114. package/dist/ui/types.js.map +1 -0
  115. package/examples/autosave-undo-demo.ts +306 -0
  116. package/examples/branching-demo-simple.ts +0 -0
  117. package/examples/branching-demo.ts +0 -0
  118. package/examples/persistence-demo.ts +84 -0
  119. package/examples/tsconfig.json +13 -0
  120. package/examples/ui-components-demo.tsx +320 -0
  121. package/examples/validation-demo-story.json +177 -0
  122. package/examples/validation-demo.js +163 -0
  123. package/package.json +24 -4
  124. package/docs/branching/PDM.md +0 -443
  125. package/docs/branching/RELEASE-v1.2.0.md +0 -169
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"demo-story.d.ts","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,eAAO,MAAM,UAAU,EAAE,SA6GxB,CAAC"}
1
+ {"version":3,"file":"demo-story.d.ts","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,eAAO,MAAM,UAAU,EAAE,SAmMxB,CAAC"}
@@ -7,35 +7,67 @@ exports.DEMO_STORY = {
7
7
  nodes: [
8
8
  {
9
9
  id: 'start',
10
- text: 'You stand at a crossroads. Do you go left or right?',
10
+ text: 'You stand at a crossroads in an ancient land. Mysterious energy flows through the air. Do you go left or right?',
11
11
  choices: [
12
- { text: 'Left', nextNodeId: 'river', flagEffects: { wentLeft: true } },
13
- { text: 'Right', nextNodeId: 'mountain', flagEffects: { wentLeft: false } },
12
+ { text: 'Left', nextNodeId: 'river', flagEffects: { wentLeft: true, curiosity: 1 } },
13
+ { text: 'Right', nextNodeId: 'mountain', flagEffects: { wentLeft: false, courage: 1 } },
14
14
  ],
15
15
  },
16
16
  {
17
17
  id: 'river',
18
- text: 'You encounter a river. Do you swim or build a raft?',
18
+ text: 'You encounter a rushing river. The water sparkles with an otherworldly light. Do you swim or build a raft?',
19
19
  choices: [
20
- { text: 'Swim', nextNodeId: 'swim', flagEffects: { gotWet: true } },
21
- { text: 'Build a raft', nextNodeId: 'raft', flagEffects: { gotWet: false } },
20
+ { text: 'Swim', nextNodeId: 'swim', flagEffects: { gotWet: true, courage: 2 } },
21
+ { text: 'Build a raft', nextNodeId: 'raft', flagEffects: { gotWet: false, patience: 1 } },
22
+ {
23
+ text: 'Use magic to cross (requires curiosity)',
24
+ nextNodeId: 'magical_crossing',
25
+ flagEffects: { usedMagic: true, magicPower: 1 },
26
+ condition: 'flags.curiosity >= 1'
27
+ },
22
28
  ],
23
29
  },
24
30
  {
25
31
  id: 'mountain',
26
- text: 'You find a mountain. Do you climb or go around?',
32
+ text: 'You find a towering mountain shrouded in mist. Ancient runes glow faintly on its slopes. Do you climb or go around?',
27
33
  choices: [
28
- { text: 'Climb', nextNodeId: 'climb', flagEffects: { climbed: true } },
29
- { text: 'Go around', nextNodeId: 'village', flagEffects: { climbed: false } },
34
+ { text: 'Climb', nextNodeId: 'climb', flagEffects: { climbed: true, courage: 2 } },
35
+ { text: 'Go around', nextNodeId: 'village', flagEffects: { climbed: false, patience: 1 } },
36
+ {
37
+ text: 'Study the runes (requires courage)',
38
+ nextNodeId: 'rune_study',
39
+ flagEffects: { studiedRunes: true, knowledge: 2 },
40
+ condition: 'flags.courage >= 1'
41
+ }
30
42
  ],
31
43
  },
32
44
  // --- Expanded Narrative Branches ---
45
+ {
46
+ id: 'magical_crossing',
47
+ text: 'You focus your energy and step onto the water\'s surface. It holds! You walk across safely, your magical abilities awakened.',
48
+ choices: [
49
+ { text: 'Continue to the mystical grove', nextNodeId: 'mystical_grove', flagEffects: { discoveredGrove: true } },
50
+ ],
51
+ },
52
+ {
53
+ id: 'rune_study',
54
+ text: 'The runes reveal ancient secrets of power. You feel wisdom flowing through you.',
55
+ choices: [
56
+ { text: 'Ascend the mountain with new knowledge', nextNodeId: 'peak_ascension', flagEffects: { enlightened: true } },
57
+ ],
58
+ },
33
59
  {
34
60
  id: 'swim',
35
61
  text: 'You swim across and reach the other side, but you are soaked and cold. Ahead, you see a cave and a campfire.',
36
62
  choices: [
37
63
  { text: 'Warm up by the campfire', nextNodeId: 'campfire', flagEffects: { warmedUp: true } },
38
- { text: 'Explore the cave', nextNodeId: 'cave', flagEffects: { exploredCave: true } },
64
+ { text: 'Explore the cave', nextNodeId: 'cave', flagEffects: { exploredCave: true, curiosity: 1 } },
65
+ {
66
+ text: 'Use magic to dry yourself (requires magic power)',
67
+ nextNodeId: 'magical_warmth',
68
+ flagEffects: { magicallyDried: true },
69
+ condition: 'flags.magicPower >= 1'
70
+ }
39
71
  ],
40
72
  },
41
73
  {
@@ -82,10 +114,27 @@ exports.DEMO_STORY = {
82
114
  },
83
115
  {
84
116
  id: 'forest',
85
- text: 'You enter a dense forest. If you met the merchant, you can unlock a shortcut.',
117
+ text: 'You enter a dense forest. The trees whisper ancient secrets. Multiple paths reveal themselves based on your journey.',
86
118
  choices: [
87
- { text: 'Use the key (if you have it)', nextNodeId: 'shortcut', flagEffects: { usedKey: true } },
119
+ {
120
+ text: 'Use the merchant\'s key (if you have it)',
121
+ nextNodeId: 'shortcut',
122
+ flagEffects: { usedKey: true },
123
+ condition: 'flags.metMerchant'
124
+ },
88
125
  { text: 'Push through the forest', nextNodeId: 'lost', flagEffects: { usedKey: false } },
126
+ {
127
+ text: 'Seek guidance from the spirits (requires wisdom)',
128
+ nextNodeId: 'spirit_guidance',
129
+ flagEffects: { talkedToSpirits: true },
130
+ condition: 'flags.knowledge >= 2 || flags.studiedRunes'
131
+ },
132
+ {
133
+ text: 'Use enhanced senses (requires multiple experiences)',
134
+ nextNodeId: 'enhanced_path',
135
+ flagEffects: { usedSenses: true },
136
+ condition: 'flags.curiosity >= 1 && flags.courage >= 1'
137
+ }
89
138
  ],
90
139
  },
91
140
  {
@@ -105,11 +154,48 @@ exports.DEMO_STORY = {
105
154
  },
106
155
  {
107
156
  id: 'lost',
108
- text: 'You get lost in the forest. (Failure/Loop)',
157
+ text: 'You get lost in the forest. The paths seem to shift and change around you.',
109
158
  choices: [
110
159
  { text: 'Try to find your way back', nextNodeId: 'forest', flagEffects: { triedAgain: true } },
160
+ {
161
+ text: 'Meditate and center yourself (requires patience)',
162
+ nextNodeId: 'inner_peace',
163
+ flagEffects: { foundPeace: true },
164
+ condition: 'flags.patience >= 1'
165
+ }
111
166
  ],
112
167
  },
168
+ // --- New Conditional Ending Nodes ---
169
+ {
170
+ id: 'mystical_grove',
171
+ text: 'You discover a hidden grove where time seems to stand still. This is a sacred place of great power. (Magical Success!)',
172
+ choices: [],
173
+ },
174
+ {
175
+ id: 'peak_ascension',
176
+ text: 'With ancient knowledge guiding you, you reach the mountain\'s peak and unlock the secrets of the realm. (Enlightened Success!)',
177
+ choices: [],
178
+ },
179
+ {
180
+ id: 'magical_warmth',
181
+ text: 'Your magic flows through you, instantly drying your clothes and warming your body. You feel your power growing stronger. (Magical Mastery!)',
182
+ choices: [],
183
+ },
184
+ {
185
+ id: 'spirit_guidance',
186
+ text: 'The forest spirits, impressed by your wisdom, guide you to a hidden sanctuary. (Spiritual Success!)',
187
+ choices: [],
188
+ },
189
+ {
190
+ id: 'enhanced_path',
191
+ text: 'Your varied experiences have heightened your senses. You navigate the forest with ease and discover a treasure trove. (Master Explorer Success!)',
192
+ choices: [],
193
+ },
194
+ {
195
+ id: 'inner_peace',
196
+ text: 'Through meditation, you find inner peace and the forest reveals its true beauty. You emerge transformed. (Peaceful Resolution!)',
197
+ choices: [],
198
+ },
113
199
  ],
114
200
  };
115
201
  //# sourceMappingURL=demo-story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demo-story.js","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-story.js","sourceRoot":"","sources":["../../src/engine/demo-story.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { Choice } from './core';
2
+ import { ValidationResult } from './validation';
3
+ /**
4
+ * Base class for all QNCE-specific errors
5
+ */
6
+ export declare class QNCEError extends Error {
7
+ readonly errorCode: string;
8
+ readonly timestamp: number;
9
+ readonly metadata?: Record<string, unknown>;
10
+ constructor(message: string, errorCode: string, metadata?: Record<string, unknown>);
11
+ }
12
+ /**
13
+ * Error thrown when navigation to a node fails
14
+ * Used by goToNodeById() and related navigation methods
15
+ */
16
+ export declare class QNCENavigationError extends QNCEError {
17
+ readonly nodeId?: string;
18
+ constructor(message: string, nodeId?: string, metadata?: Record<string, unknown>);
19
+ }
20
+ /**
21
+ * Error thrown when choice validation fails
22
+ * Provides detailed information about why the choice is invalid
23
+ */
24
+ export declare class ChoiceValidationError extends QNCEError {
25
+ readonly choice: Choice;
26
+ readonly validationResult: ValidationResult;
27
+ readonly availableChoices?: Choice[];
28
+ constructor(choice: Choice, validationResult: ValidationResult, availableChoices?: Choice[]);
29
+ /**
30
+ * Get a user-friendly error message with suggestions
31
+ */
32
+ getUserFriendlyMessage(): string;
33
+ /**
34
+ * Get debugging information for developers
35
+ */
36
+ getDebugInfo(): Record<string, unknown>;
37
+ }
38
+ /**
39
+ * Error thrown when story data is invalid or corrupted
40
+ */
41
+ export declare class StoryDataError extends QNCEError {
42
+ readonly storyId?: string;
43
+ constructor(message: string, storyId?: string, metadata?: Record<string, unknown>);
44
+ }
45
+ /**
46
+ * Error thrown when engine state becomes inconsistent
47
+ */
48
+ export declare class StateError extends QNCEError {
49
+ readonly stateSnapshot?: Record<string, unknown>;
50
+ constructor(message: string, stateSnapshot?: Record<string, unknown>);
51
+ }
52
+ /**
53
+ * Utility function to check if an error is a QNCE error
54
+ */
55
+ export declare function isQNCEError(error: unknown): error is QNCEError;
56
+ /**
57
+ * Utility function to check if an error is a choice validation error
58
+ */
59
+ export declare function isChoiceValidationError(error: unknown): error is ChoiceValidationError;
60
+ /**
61
+ * Utility function to check if an error is a navigation error
62
+ */
63
+ export declare function isNavigationError(error: unknown): error is QNCENavigationError;
64
+ /**
65
+ * Create a standardized error response for API consumers
66
+ */
67
+ export declare function createErrorResponse(error: unknown): {
68
+ success: false;
69
+ error: {
70
+ name: string;
71
+ message: string;
72
+ code?: string;
73
+ metadata?: Record<string, unknown>;
74
+ };
75
+ };
76
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/engine/errors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYnF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOjF;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IACnD,SAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;gBAG1C,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,CAAC,EAAE,MAAM,EAAE;IAiB7B;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAoBhC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAkBxC;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOlF;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5C,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAEtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC;CACH,CAsBA"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ // QNCE Error Classes - Sprint 3.2
3
+ // Custom error types for robust error handling and debugging
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.StateError = exports.StoryDataError = exports.ChoiceValidationError = exports.QNCENavigationError = exports.QNCEError = void 0;
6
+ exports.isQNCEError = isQNCEError;
7
+ exports.isChoiceValidationError = isChoiceValidationError;
8
+ exports.isNavigationError = isNavigationError;
9
+ exports.createErrorResponse = createErrorResponse;
10
+ /**
11
+ * Base class for all QNCE-specific errors
12
+ */
13
+ class QNCEError extends Error {
14
+ errorCode;
15
+ timestamp;
16
+ metadata;
17
+ constructor(message, errorCode, metadata) {
18
+ super(message);
19
+ this.name = this.constructor.name;
20
+ this.errorCode = errorCode;
21
+ this.timestamp = performance.now();
22
+ this.metadata = metadata;
23
+ // Maintains proper stack trace for where our error was thrown
24
+ if (Error.captureStackTrace) {
25
+ Error.captureStackTrace(this, this.constructor);
26
+ }
27
+ }
28
+ }
29
+ exports.QNCEError = QNCEError;
30
+ /**
31
+ * Error thrown when navigation to a node fails
32
+ * Used by goToNodeById() and related navigation methods
33
+ */
34
+ class QNCENavigationError extends QNCEError {
35
+ nodeId;
36
+ constructor(message, nodeId, metadata) {
37
+ super(message, 'NAVIGATION_ERROR', {
38
+ ...metadata,
39
+ nodeId
40
+ });
41
+ this.nodeId = nodeId;
42
+ }
43
+ }
44
+ exports.QNCENavigationError = QNCENavigationError;
45
+ /**
46
+ * Error thrown when choice validation fails
47
+ * Provides detailed information about why the choice is invalid
48
+ */
49
+ class ChoiceValidationError extends QNCEError {
50
+ choice;
51
+ validationResult;
52
+ availableChoices;
53
+ constructor(choice, validationResult, availableChoices) {
54
+ const message = validationResult.reason || `Choice "${choice.text}" is not valid`;
55
+ super(message, 'CHOICE_VALIDATION_ERROR', {
56
+ choiceText: choice.text,
57
+ nextNodeId: choice.nextNodeId,
58
+ failedConditions: validationResult.failedConditions,
59
+ validationMetadata: validationResult.metadata,
60
+ availableChoiceCount: availableChoices?.length || 0
61
+ });
62
+ this.choice = choice;
63
+ this.validationResult = validationResult;
64
+ this.availableChoices = availableChoices;
65
+ }
66
+ /**
67
+ * Get a user-friendly error message with suggestions
68
+ */
69
+ getUserFriendlyMessage() {
70
+ let message = this.message;
71
+ if (this.availableChoices && this.availableChoices.length > 0) {
72
+ message += `\n\nAvailable choices:`;
73
+ this.availableChoices.forEach((choice, index) => {
74
+ message += `\n ${index + 1}. ${choice.text}`;
75
+ });
76
+ }
77
+ if (this.validationResult.suggestedChoices) {
78
+ message += `\n\nSuggested alternatives:`;
79
+ this.validationResult.suggestedChoices.forEach((choice, index) => {
80
+ message += `\n ${index + 1}. ${choice.text}`;
81
+ });
82
+ }
83
+ return message;
84
+ }
85
+ /**
86
+ * Get debugging information for developers
87
+ */
88
+ getDebugInfo() {
89
+ return {
90
+ error: this.name,
91
+ errorCode: this.errorCode,
92
+ timestamp: this.timestamp,
93
+ choice: {
94
+ text: this.choice.text,
95
+ nextNodeId: this.choice.nextNodeId,
96
+ flagEffects: this.choice.flagEffects
97
+ },
98
+ validationResult: this.validationResult,
99
+ availableChoices: this.availableChoices?.map(c => ({
100
+ text: c.text,
101
+ nextNodeId: c.nextNodeId
102
+ })),
103
+ metadata: this.metadata
104
+ };
105
+ }
106
+ }
107
+ exports.ChoiceValidationError = ChoiceValidationError;
108
+ /**
109
+ * Error thrown when story data is invalid or corrupted
110
+ */
111
+ class StoryDataError extends QNCEError {
112
+ storyId;
113
+ constructor(message, storyId, metadata) {
114
+ super(message, 'STORY_DATA_ERROR', {
115
+ ...metadata,
116
+ storyId
117
+ });
118
+ this.storyId = storyId;
119
+ }
120
+ }
121
+ exports.StoryDataError = StoryDataError;
122
+ /**
123
+ * Error thrown when engine state becomes inconsistent
124
+ */
125
+ class StateError extends QNCEError {
126
+ stateSnapshot;
127
+ constructor(message, stateSnapshot) {
128
+ super(message, 'STATE_ERROR', {
129
+ stateSnapshot
130
+ });
131
+ this.stateSnapshot = stateSnapshot;
132
+ }
133
+ }
134
+ exports.StateError = StateError;
135
+ /**
136
+ * Utility function to check if an error is a QNCE error
137
+ */
138
+ function isQNCEError(error) {
139
+ return error instanceof QNCEError;
140
+ }
141
+ /**
142
+ * Utility function to check if an error is a choice validation error
143
+ */
144
+ function isChoiceValidationError(error) {
145
+ return error instanceof ChoiceValidationError;
146
+ }
147
+ /**
148
+ * Utility function to check if an error is a navigation error
149
+ */
150
+ function isNavigationError(error) {
151
+ return error instanceof QNCENavigationError;
152
+ }
153
+ /**
154
+ * Create a standardized error response for API consumers
155
+ */
156
+ function createErrorResponse(error) {
157
+ if (isQNCEError(error)) {
158
+ return {
159
+ success: false,
160
+ error: {
161
+ name: error.name,
162
+ message: error.message,
163
+ code: error.errorCode,
164
+ metadata: error.metadata
165
+ }
166
+ };
167
+ }
168
+ // Handle non-QNCE errors
169
+ const err = error;
170
+ return {
171
+ success: false,
172
+ error: {
173
+ name: err.name || 'UnknownError',
174
+ message: err.message || 'An unknown error occurred'
175
+ }
176
+ };
177
+ }
178
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/engine/errors.ts"],"names":[],"mappings":"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"}