@zze/mock-server 0.2.4

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 (177) hide show
  1. package/README.md +643 -0
  2. package/dist/__tests__/mock-server.test.d.ts +5 -0
  3. package/dist/__tests__/mock-server.test.d.ts.map +1 -0
  4. package/dist/__tests__/mock-server.test.js +599 -0
  5. package/dist/__tests__/mock-server.test.js.map +1 -0
  6. package/dist/admin/__tests__/admin-router.test.d.ts +2 -0
  7. package/dist/admin/__tests__/admin-router.test.d.ts.map +1 -0
  8. package/dist/admin/__tests__/admin-router.test.js +621 -0
  9. package/dist/admin/__tests__/admin-router.test.js.map +1 -0
  10. package/dist/admin/admin-router.d.ts +27 -0
  11. package/dist/admin/admin-router.d.ts.map +1 -0
  12. package/dist/admin/admin-router.js +616 -0
  13. package/dist/admin/admin-router.js.map +1 -0
  14. package/dist/admin/index.d.ts +4 -0
  15. package/dist/admin/index.d.ts.map +1 -0
  16. package/dist/admin/index.js +10 -0
  17. package/dist/admin/index.js.map +1 -0
  18. package/dist/admin/types.d.ts +185 -0
  19. package/dist/admin/types.d.ts.map +1 -0
  20. package/dist/admin/types.js +33 -0
  21. package/dist/admin/types.js.map +1 -0
  22. package/dist/config/__tests__/config-discovery.test.d.ts +2 -0
  23. package/dist/config/__tests__/config-discovery.test.d.ts.map +1 -0
  24. package/dist/config/__tests__/config-discovery.test.js +52 -0
  25. package/dist/config/__tests__/config-discovery.test.js.map +1 -0
  26. package/dist/config/__tests__/config-loader.test.d.ts +2 -0
  27. package/dist/config/__tests__/config-loader.test.d.ts.map +1 -0
  28. package/dist/config/__tests__/config-loader.test.js +124 -0
  29. package/dist/config/__tests__/config-loader.test.js.map +1 -0
  30. package/dist/config/__tests__/file-loader.test.d.ts +2 -0
  31. package/dist/config/__tests__/file-loader.test.d.ts.map +1 -0
  32. package/dist/config/__tests__/file-loader.test.js +63 -0
  33. package/dist/config/__tests__/file-loader.test.js.map +1 -0
  34. package/dist/config/__tests__/fixtures/mock-config/endpoints/products.d.ts +25 -0
  35. package/dist/config/__tests__/fixtures/mock-config/endpoints/products.d.ts.map +1 -0
  36. package/dist/config/__tests__/fixtures/mock-config/endpoints/products.js +25 -0
  37. package/dist/config/__tests__/fixtures/mock-config/endpoints/products.js.map +1 -0
  38. package/dist/config/__tests__/fixtures/mock-config/flows/error-flow.d.ts +11 -0
  39. package/dist/config/__tests__/fixtures/mock-config/flows/error-flow.d.ts.map +1 -0
  40. package/dist/config/__tests__/fixtures/mock-config/flows/error-flow.js +11 -0
  41. package/dist/config/__tests__/fixtures/mock-config/flows/error-flow.js.map +1 -0
  42. package/dist/config/config-discovery.d.ts +23 -0
  43. package/dist/config/config-discovery.d.ts.map +1 -0
  44. package/dist/config/config-discovery.js +60 -0
  45. package/dist/config/config-discovery.js.map +1 -0
  46. package/dist/config/config-loader.d.ts +56 -0
  47. package/dist/config/config-loader.d.ts.map +1 -0
  48. package/dist/config/config-loader.js +162 -0
  49. package/dist/config/config-loader.js.map +1 -0
  50. package/dist/config/config-writer.d.ts +96 -0
  51. package/dist/config/config-writer.d.ts.map +1 -0
  52. package/dist/config/config-writer.js +248 -0
  53. package/dist/config/config-writer.js.map +1 -0
  54. package/dist/config/file-loader.d.ts +16 -0
  55. package/dist/config/file-loader.d.ts.map +1 -0
  56. package/dist/config/file-loader.js +90 -0
  57. package/dist/config/file-loader.js.map +1 -0
  58. package/dist/config/index.d.ts +7 -0
  59. package/dist/config/index.d.ts.map +1 -0
  60. package/dist/config/index.js +23 -0
  61. package/dist/config/index.js.map +1 -0
  62. package/dist/config/types.d.ts +47 -0
  63. package/dist/config/types.d.ts.map +1 -0
  64. package/dist/config/types.js +7 -0
  65. package/dist/config/types.js.map +1 -0
  66. package/dist/index.d.ts +28 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +31 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/mock-server.d.ts +243 -0
  71. package/dist/mock-server.d.ts.map +1 -0
  72. package/dist/mock-server.js +387 -0
  73. package/dist/mock-server.js.map +1 -0
  74. package/dist/resolver/__tests__/response-resolver.test.d.ts +2 -0
  75. package/dist/resolver/__tests__/response-resolver.test.d.ts.map +1 -0
  76. package/dist/resolver/__tests__/response-resolver.test.js +358 -0
  77. package/dist/resolver/__tests__/response-resolver.test.js.map +1 -0
  78. package/dist/resolver/index.d.ts +4 -0
  79. package/dist/resolver/index.d.ts.map +1 -0
  80. package/dist/resolver/index.js +9 -0
  81. package/dist/resolver/index.js.map +1 -0
  82. package/dist/resolver/response-resolver.d.ts +73 -0
  83. package/dist/resolver/response-resolver.d.ts.map +1 -0
  84. package/dist/resolver/response-resolver.js +167 -0
  85. package/dist/resolver/response-resolver.js.map +1 -0
  86. package/dist/resolver/types.d.ts +47 -0
  87. package/dist/resolver/types.d.ts.map +1 -0
  88. package/dist/resolver/types.js +9 -0
  89. package/dist/resolver/types.js.map +1 -0
  90. package/dist/schemas/__tests__/config.validator.test.d.ts +2 -0
  91. package/dist/schemas/__tests__/config.validator.test.d.ts.map +1 -0
  92. package/dist/schemas/__tests__/config.validator.test.js +66 -0
  93. package/dist/schemas/__tests__/config.validator.test.js.map +1 -0
  94. package/dist/schemas/__tests__/endpoint.schema.test.d.ts +2 -0
  95. package/dist/schemas/__tests__/endpoint.schema.test.d.ts.map +1 -0
  96. package/dist/schemas/__tests__/endpoint.schema.test.js +103 -0
  97. package/dist/schemas/__tests__/endpoint.schema.test.js.map +1 -0
  98. package/dist/schemas/__tests__/flow.schema.test.d.ts +2 -0
  99. package/dist/schemas/__tests__/flow.schema.test.d.ts.map +1 -0
  100. package/dist/schemas/__tests__/flow.schema.test.js +92 -0
  101. package/dist/schemas/__tests__/flow.schema.test.js.map +1 -0
  102. package/dist/schemas/config.validator.d.ts +39 -0
  103. package/dist/schemas/config.validator.d.ts.map +1 -0
  104. package/dist/schemas/config.validator.js +117 -0
  105. package/dist/schemas/config.validator.js.map +1 -0
  106. package/dist/schemas/endpoint.schema.d.ts +108 -0
  107. package/dist/schemas/endpoint.schema.d.ts.map +1 -0
  108. package/dist/schemas/endpoint.schema.js +87 -0
  109. package/dist/schemas/endpoint.schema.js.map +1 -0
  110. package/dist/schemas/flow.schema.d.ts +46 -0
  111. package/dist/schemas/flow.schema.d.ts.map +1 -0
  112. package/dist/schemas/flow.schema.js +73 -0
  113. package/dist/schemas/flow.schema.js.map +1 -0
  114. package/dist/schemas/http.schema.d.ts +15 -0
  115. package/dist/schemas/http.schema.d.ts.map +1 -0
  116. package/dist/schemas/http.schema.js +32 -0
  117. package/dist/schemas/http.schema.js.map +1 -0
  118. package/dist/schemas/index.d.ts +6 -0
  119. package/dist/schemas/index.d.ts.map +1 -0
  120. package/dist/schemas/index.js +33 -0
  121. package/dist/schemas/index.js.map +1 -0
  122. package/dist/schemas/scenario.schema.d.ts +54 -0
  123. package/dist/schemas/scenario.schema.d.ts.map +1 -0
  124. package/dist/schemas/scenario.schema.js +75 -0
  125. package/dist/schemas/scenario.schema.js.map +1 -0
  126. package/dist/server/__tests__/mock-server-app.test.d.ts +2 -0
  127. package/dist/server/__tests__/mock-server-app.test.d.ts.map +1 -0
  128. package/dist/server/__tests__/mock-server-app.test.js +296 -0
  129. package/dist/server/__tests__/mock-server-app.test.js.map +1 -0
  130. package/dist/server/index.d.ts +4 -0
  131. package/dist/server/index.d.ts.map +1 -0
  132. package/dist/server/index.js +10 -0
  133. package/dist/server/index.js.map +1 -0
  134. package/dist/server/mock-server-app.d.ts +119 -0
  135. package/dist/server/mock-server-app.d.ts.map +1 -0
  136. package/dist/server/mock-server-app.js +304 -0
  137. package/dist/server/mock-server-app.js.map +1 -0
  138. package/dist/server/types.d.ts +38 -0
  139. package/dist/server/types.d.ts.map +1 -0
  140. package/dist/server/types.js +11 -0
  141. package/dist/server/types.js.map +1 -0
  142. package/dist/state/__tests__/state-manager.test.d.ts +2 -0
  143. package/dist/state/__tests__/state-manager.test.d.ts.map +1 -0
  144. package/dist/state/__tests__/state-manager.test.js +275 -0
  145. package/dist/state/__tests__/state-manager.test.js.map +1 -0
  146. package/dist/state/index.d.ts +3 -0
  147. package/dist/state/index.d.ts.map +1 -0
  148. package/dist/state/index.js +7 -0
  149. package/dist/state/index.js.map +1 -0
  150. package/dist/state/state-manager.d.ts +92 -0
  151. package/dist/state/state-manager.d.ts.map +1 -0
  152. package/dist/state/state-manager.js +198 -0
  153. package/dist/state/state-manager.js.map +1 -0
  154. package/dist/state/types.d.ts +30 -0
  155. package/dist/state/types.d.ts.map +1 -0
  156. package/dist/state/types.js +2 -0
  157. package/dist/state/types.js.map +1 -0
  158. package/dist/ui/assets/index-SADMOgPE.js +10 -0
  159. package/dist/ui/assets/index-rj7m-XdG.css +1 -0
  160. package/dist/ui/index.html +29 -0
  161. package/dist/watcher/__tests__/config-watcher.test.d.ts +2 -0
  162. package/dist/watcher/__tests__/config-watcher.test.d.ts.map +1 -0
  163. package/dist/watcher/__tests__/config-watcher.test.js +372 -0
  164. package/dist/watcher/__tests__/config-watcher.test.js.map +1 -0
  165. package/dist/watcher/config-watcher.d.ts +100 -0
  166. package/dist/watcher/config-watcher.d.ts.map +1 -0
  167. package/dist/watcher/config-watcher.js +358 -0
  168. package/dist/watcher/config-watcher.js.map +1 -0
  169. package/dist/watcher/index.d.ts +7 -0
  170. package/dist/watcher/index.d.ts.map +1 -0
  171. package/dist/watcher/index.js +8 -0
  172. package/dist/watcher/index.js.map +1 -0
  173. package/dist/watcher/types.d.ts +64 -0
  174. package/dist/watcher/types.d.ts.map +1 -0
  175. package/dist/watcher/types.js +15 -0
  176. package/dist/watcher/types.js.map +1 -0
  177. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.test.js","sourceRoot":"","sources":["../../../src/state/__tests__/state-manager.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { RuntimeStateSnapshot, StateChangeType, StateChangeEvent, StateChangeListener, } from './types.js';
2
+ export { StateManager, createStateManager } from './state-manager.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createStateManager = exports.StateManager = void 0;
4
+ // State manager
5
+ var state_manager_js_1 = require("./state-manager.js");
6
+ Object.defineProperty(exports, "StateManager", { enumerable: true, get: function () { return state_manager_js_1.StateManager; } });
7
+ Object.defineProperty(exports, "createStateManager", { enumerable: true, get: function () { return state_manager_js_1.createStateManager; } });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":";;;AAQA,gBAAgB;AAChB,uDAAsE;AAA7D,gHAAA,YAAY,OAAA;AAAE,sHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,92 @@
1
+ import type { EndpointConfig, FlowConfig } from '../schemas/index.js';
2
+ import type { RuntimeStateSnapshot, StateChangeListener } from './types.js';
3
+ /**
4
+ * Manages the runtime state of the mock server
5
+ * Tracks active scenarios per endpoint and active flow
6
+ */
7
+ export declare class StateManager {
8
+ /** Map of endpoint ID to explicitly activated scenario ID */
9
+ private activeScenarios;
10
+ /** Currently active flow ID */
11
+ private activeFlowId;
12
+ /** Registered endpoints for validation */
13
+ private endpoints;
14
+ /** Registered flows for validation */
15
+ private flows;
16
+ /** State change listeners */
17
+ private listeners;
18
+ /**
19
+ * Register endpoints for scenario validation
20
+ */
21
+ setEndpoints(endpoints: EndpointConfig[]): void;
22
+ /**
23
+ * Register flows for validation
24
+ */
25
+ setFlows(flows: FlowConfig[]): void;
26
+ /**
27
+ * Get the current state snapshot
28
+ */
29
+ getState(): RuntimeStateSnapshot;
30
+ /**
31
+ * Get the active flow ID
32
+ */
33
+ getActiveFlowId(): string | null;
34
+ /**
35
+ * Get the active flow configuration
36
+ */
37
+ getActiveFlow(): FlowConfig | null;
38
+ /**
39
+ * Get the explicitly activated scenario ID for an endpoint
40
+ * Returns undefined if no explicit override exists
41
+ */
42
+ getActiveScenarioId(endpointId: string): string | undefined;
43
+ /**
44
+ * Resolve the effective scenario ID for an endpoint
45
+ * Priority: active flow → explicit scenario → default scenario
46
+ */
47
+ resolveScenarioId(endpointId: string): string | null;
48
+ /**
49
+ * Resolve the effective scenario configuration for an endpoint
50
+ */
51
+ resolveScenario(endpointId: string): EndpointConfig['scenarios'][number] | null;
52
+ /**
53
+ * Activate a specific scenario for an endpoint
54
+ * @throws Error if endpoint or scenario doesn't exist
55
+ */
56
+ activateScenario(endpointId: string, scenarioId: string): void;
57
+ /**
58
+ * Clear the explicit scenario override for an endpoint
59
+ */
60
+ clearScenario(endpointId: string): void;
61
+ /**
62
+ * Activate a flow
63
+ * @throws Error if flow doesn't exist
64
+ */
65
+ activateFlow(flowId: string): void;
66
+ /**
67
+ * Deactivate the current flow
68
+ */
69
+ deactivateFlow(): void;
70
+ /**
71
+ * Reset all state to defaults
72
+ * Clears active flow and all explicit scenario overrides
73
+ */
74
+ reset(): void;
75
+ /**
76
+ * Add a state change listener
77
+ */
78
+ addListener(listener: StateChangeListener): void;
79
+ /**
80
+ * Remove a state change listener
81
+ */
82
+ removeListener(listener: StateChangeListener): void;
83
+ /**
84
+ * Emit a state change event
85
+ */
86
+ private emit;
87
+ }
88
+ /**
89
+ * Create a new StateManager instance
90
+ */
91
+ export declare function createStateManager(): StateManager;
92
+ //# sourceMappingURL=state-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/state/state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,YAAY;IACvB,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAAkC;IAEzD,+BAA+B;IAC/B,OAAO,CAAC,YAAY,CAAuB;IAE3C,0CAA0C;IAC1C,OAAO,CAAC,SAAS,CAA0C;IAE3D,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAsC;IAEnD,6BAA6B;IAC7B,OAAO,CAAC,SAAS,CAAuC;IAExD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI;IAO/C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAOnC;;OAEG;IACH,QAAQ,IAAI,oBAAoB;IAOhC;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAKlC;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3D;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsBpD;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;IAU/E;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAkB9D;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAalC;;OAEG;IACH,cAAc,IAAI,IAAI;IAQtB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIhD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAInD;;OAEG;IACH,OAAO,CAAC,IAAI;CAmBb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateManager = void 0;
4
+ exports.createStateManager = createStateManager;
5
+ /**
6
+ * Manages the runtime state of the mock server
7
+ * Tracks active scenarios per endpoint and active flow
8
+ */
9
+ class StateManager {
10
+ constructor() {
11
+ /** Map of endpoint ID to explicitly activated scenario ID */
12
+ this.activeScenarios = new Map();
13
+ /** Currently active flow ID */
14
+ this.activeFlowId = null;
15
+ /** Registered endpoints for validation */
16
+ this.endpoints = new Map();
17
+ /** Registered flows for validation */
18
+ this.flows = new Map();
19
+ /** State change listeners */
20
+ this.listeners = new Set();
21
+ }
22
+ /**
23
+ * Register endpoints for scenario validation
24
+ */
25
+ setEndpoints(endpoints) {
26
+ this.endpoints.clear();
27
+ for (const endpoint of endpoints) {
28
+ this.endpoints.set(endpoint.id, endpoint);
29
+ }
30
+ }
31
+ /**
32
+ * Register flows for validation
33
+ */
34
+ setFlows(flows) {
35
+ this.flows.clear();
36
+ for (const flow of flows) {
37
+ this.flows.set(flow.id, flow);
38
+ }
39
+ }
40
+ /**
41
+ * Get the current state snapshot
42
+ */
43
+ getState() {
44
+ return {
45
+ activeFlowId: this.activeFlowId,
46
+ activeScenarios: Object.fromEntries(this.activeScenarios),
47
+ };
48
+ }
49
+ /**
50
+ * Get the active flow ID
51
+ */
52
+ getActiveFlowId() {
53
+ return this.activeFlowId;
54
+ }
55
+ /**
56
+ * Get the active flow configuration
57
+ */
58
+ getActiveFlow() {
59
+ if (!this.activeFlowId)
60
+ return null;
61
+ return this.flows.get(this.activeFlowId) ?? null;
62
+ }
63
+ /**
64
+ * Get the explicitly activated scenario ID for an endpoint
65
+ * Returns undefined if no explicit override exists
66
+ */
67
+ getActiveScenarioId(endpointId) {
68
+ return this.activeScenarios.get(endpointId);
69
+ }
70
+ /**
71
+ * Resolve the effective scenario ID for an endpoint
72
+ * Priority: active flow → explicit scenario → default scenario
73
+ */
74
+ resolveScenarioId(endpointId) {
75
+ const endpoint = this.endpoints.get(endpointId);
76
+ if (!endpoint)
77
+ return null;
78
+ // 1. Check if active flow defines a scenario for this endpoint
79
+ if (this.activeFlowId) {
80
+ const flow = this.flows.get(this.activeFlowId);
81
+ if (flow?.endpointScenarios[endpointId]) {
82
+ return flow.endpointScenarios[endpointId];
83
+ }
84
+ }
85
+ // 2. Check for explicit scenario override
86
+ const explicitScenario = this.activeScenarios.get(endpointId);
87
+ if (explicitScenario) {
88
+ return explicitScenario;
89
+ }
90
+ // 3. Fall back to default scenario
91
+ return endpoint.defaultScenarioId;
92
+ }
93
+ /**
94
+ * Resolve the effective scenario configuration for an endpoint
95
+ */
96
+ resolveScenario(endpointId) {
97
+ const endpoint = this.endpoints.get(endpointId);
98
+ if (!endpoint)
99
+ return null;
100
+ const scenarioId = this.resolveScenarioId(endpointId);
101
+ if (!scenarioId)
102
+ return null;
103
+ return endpoint.scenarios.find((s) => s.id === scenarioId) ?? null;
104
+ }
105
+ /**
106
+ * Activate a specific scenario for an endpoint
107
+ * @throws Error if endpoint or scenario doesn't exist
108
+ */
109
+ activateScenario(endpointId, scenarioId) {
110
+ const endpoint = this.endpoints.get(endpointId);
111
+ if (!endpoint) {
112
+ throw new Error(`Endpoint "${endpointId}" not found`);
113
+ }
114
+ const scenario = endpoint.scenarios.find((s) => s.id === scenarioId);
115
+ if (!scenario) {
116
+ const available = endpoint.scenarios.map((s) => s.id).join(', ');
117
+ throw new Error(`Scenario "${scenarioId}" not found in endpoint "${endpointId}". Available: ${available}`);
118
+ }
119
+ this.activeScenarios.set(endpointId, scenarioId);
120
+ this.emit('scenario-activated', { endpointId, scenarioId });
121
+ }
122
+ /**
123
+ * Clear the explicit scenario override for an endpoint
124
+ */
125
+ clearScenario(endpointId) {
126
+ this.activeScenarios.delete(endpointId);
127
+ }
128
+ /**
129
+ * Activate a flow
130
+ * @throws Error if flow doesn't exist
131
+ */
132
+ activateFlow(flowId) {
133
+ const flow = this.flows.get(flowId);
134
+ if (!flow) {
135
+ const available = [...this.flows.keys()].join(', ');
136
+ throw new Error(`Flow "${flowId}" not found. Available: ${available || 'none'}`);
137
+ }
138
+ this.activeFlowId = flowId;
139
+ this.emit('flow-activated', { flowId });
140
+ }
141
+ /**
142
+ * Deactivate the current flow
143
+ */
144
+ deactivateFlow() {
145
+ if (this.activeFlowId) {
146
+ const flowId = this.activeFlowId;
147
+ this.activeFlowId = null;
148
+ this.emit('flow-deactivated', { flowId });
149
+ }
150
+ }
151
+ /**
152
+ * Reset all state to defaults
153
+ * Clears active flow and all explicit scenario overrides
154
+ */
155
+ reset() {
156
+ this.activeFlowId = null;
157
+ this.activeScenarios.clear();
158
+ this.emit('reset', {});
159
+ }
160
+ /**
161
+ * Add a state change listener
162
+ */
163
+ addListener(listener) {
164
+ this.listeners.add(listener);
165
+ }
166
+ /**
167
+ * Remove a state change listener
168
+ */
169
+ removeListener(listener) {
170
+ this.listeners.delete(listener);
171
+ }
172
+ /**
173
+ * Emit a state change event
174
+ */
175
+ emit(type, details) {
176
+ const event = {
177
+ type,
178
+ timestamp: Date.now(),
179
+ details,
180
+ };
181
+ for (const listener of this.listeners) {
182
+ try {
183
+ listener(event);
184
+ }
185
+ catch (error) {
186
+ // Don't let listener errors break state management
187
+ console.error('State change listener error:', error);
188
+ }
189
+ }
190
+ }
191
+ }
192
+ exports.StateManager = StateManager;
193
+ /**
194
+ * Create a new StateManager instance
195
+ */
196
+ function createStateManager() {
197
+ return new StateManager();
198
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../src/state/state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Runtime state snapshot
3
+ */
4
+ export interface RuntimeStateSnapshot {
5
+ /** Currently active flow ID, or null if no flow is active */
6
+ activeFlowId: string | null;
7
+ /** Map of endpoint ID to active scenario ID (explicit overrides only) */
8
+ activeScenarios: Record<string, string>;
9
+ }
10
+ /**
11
+ * State change event types
12
+ */
13
+ export type StateChangeType = 'scenario-activated' | 'flow-activated' | 'flow-deactivated' | 'reset';
14
+ /**
15
+ * State change event
16
+ */
17
+ export interface StateChangeEvent {
18
+ type: StateChangeType;
19
+ timestamp: number;
20
+ details: {
21
+ endpointId?: string;
22
+ scenarioId?: string;
23
+ flowId?: string;
24
+ };
25
+ }
26
+ /**
27
+ * State change listener callback
28
+ */
29
+ export type StateChangeListener = (event: StateChangeEvent) => void;
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAClB,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":""}