@common-stack/client-core 7.2.1-alpha.71 → 7.2.1-alpha.81
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/lib/connector/AbstractConnector.d.ts +16 -0
- package/lib/connector/AbstractConnector.js +23 -1
- package/lib/connector/AbstractConnector.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/interfaces/connector.d.ts +4 -0
- package/lib/xstate/StateMachineRegistry.d.ts +69 -0
- package/lib/xstate/StateMachineRegistry.js +258 -0
- package/lib/xstate/StateMachineRegistry.js.map +1 -0
- package/lib/xstate/index.d.ts +3 -0
- package/lib/xstate/types.d.ts +84 -0
- package/package.json +3 -3
|
@@ -3,6 +3,7 @@ import { ErrorLink } from '@apollo/client/link/error';
|
|
|
3
3
|
import { ReducersMapObject } from 'redux';
|
|
4
4
|
import { interfaces } from 'inversify';
|
|
5
5
|
import { IFeature, IModuleShape, IClientStateConfig, IClientState } from '../interfaces';
|
|
6
|
+
import { IModuleStateMachine } from '../xstate';
|
|
6
7
|
export declare const featureCatalog: {};
|
|
7
8
|
export declare abstract class AbstractFeature implements IFeature {
|
|
8
9
|
link: any;
|
|
@@ -79,5 +80,20 @@ export declare abstract class AbstractFeature implements IFeature {
|
|
|
79
80
|
abstract getDataRoot(root: any): any;
|
|
80
81
|
abstract registerLanguages(monaco: any): any;
|
|
81
82
|
abstract getReduxConfig(): any;
|
|
83
|
+
/**
|
|
84
|
+
* Register an XState machine for this feature
|
|
85
|
+
* All registered machines are managed centrally
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* feature.registerXState({
|
|
90
|
+
* key: 'chat-completion',
|
|
91
|
+
* name: 'Chat Completion',
|
|
92
|
+
* machine: completionMachine,
|
|
93
|
+
* priority: 10
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
registerXState(config: IModuleStateMachine): void;
|
|
82
98
|
dispose(): void;
|
|
83
99
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as React from'react';import {merge,without,union,castArray}from'lodash-es';import {consolidatedResolvers}from'../utils/resolversUtils.js';import {ScopedContainer}from'./ScopedContainer.js';/* eslint-disable no-underscore-dangle */
|
|
1
|
+
import*as React from'react';import {merge,without,union,castArray}from'lodash-es';import {consolidatedResolvers}from'../utils/resolversUtils.js';import {ScopedContainer}from'./ScopedContainer.js';import {stateMachineRegistry}from'../xstate/StateMachineRegistry.js';/* eslint-disable no-underscore-dangle */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
/* eslint-disable no-nested-ternary */
|
|
4
4
|
/* eslint-disable no-use-before-define */
|
|
@@ -71,6 +71,11 @@ class AbstractFeature {
|
|
|
71
71
|
this.scriptsInsert = combine(args, (arg) => arg.scriptsInsert);
|
|
72
72
|
this.reduxPersistTransforms = combine(args, (arg) => arg.reduxPersistTransforms);
|
|
73
73
|
this.data = combine([{}].concat(args), (arg) => arg.data).reduce((acc, el) => [{ ...acc[0], ...el }], [{}]);
|
|
74
|
+
// Register XState machines if provided
|
|
75
|
+
const registeredMachines = combine(args, (arg) => arg.registeredMachines);
|
|
76
|
+
registeredMachines.forEach((config) => {
|
|
77
|
+
this.registerXState(config);
|
|
78
|
+
});
|
|
74
79
|
}
|
|
75
80
|
getApolloResolvers(resolverContex) {
|
|
76
81
|
// Ensure _apolloResolvers is initialized
|
|
@@ -218,6 +223,23 @@ class AbstractFeature {
|
|
|
218
223
|
}
|
|
219
224
|
return result.id || result._id;
|
|
220
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Register an XState machine for this feature
|
|
228
|
+
* All registered machines are managed centrally
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```ts
|
|
232
|
+
* feature.registerXState({
|
|
233
|
+
* key: 'chat-completion',
|
|
234
|
+
* name: 'Chat Completion',
|
|
235
|
+
* machine: completionMachine,
|
|
236
|
+
* priority: 10
|
|
237
|
+
* });
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
registerXState(config) {
|
|
241
|
+
stateMachineRegistry.register(config);
|
|
242
|
+
}
|
|
221
243
|
dispose() {
|
|
222
244
|
// Unbind all services in the container
|
|
223
245
|
if (this._container) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractConnector.js","sources":["../../src/connector/AbstractConnector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractConnector.js","sources":["../../src/connector/AbstractConnector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{logger}from'./logger/logger.js';export{AbstractFeature,featureCatalog}from'./connector/AbstractConnector.js';export{ScopedContainer}from'./connector/ScopedContainer.js';export{REDUX_PERSIST_KEY}from'./constants/constants.js';export{apolloClientHelper}from'./helpers/apollo-client-test-helper.js';export{ClientTypes,ElectronTypes}from'@common-stack/core';//# sourceMappingURL=index.js.map
|
|
1
|
+
export{logger}from'./logger/logger.js';export{AbstractFeature,featureCatalog}from'./connector/AbstractConnector.js';export{ScopedContainer}from'./connector/ScopedContainer.js';export{REDUX_PERSIST_KEY}from'./constants/constants.js';export{apolloClientHelper}from'./helpers/apollo-client-test-helper.js';export{StateMachineRegistry,stateMachineRegistry}from'./xstate/StateMachineRegistry.js';export{ClientTypes,ElectronTypes}from'@common-stack/core';//# sourceMappingURL=index.js.map
|
|
@@ -182,6 +182,10 @@ export interface IModuleShape {
|
|
|
182
182
|
*/
|
|
183
183
|
readonly middleLowerPanelItems?: any;
|
|
184
184
|
readonly reduxPersistTransforms?: any[];
|
|
185
|
+
/**
|
|
186
|
+
* @param registeredMachines XState machines to register for this module
|
|
187
|
+
*/
|
|
188
|
+
readonly registeredMachines?: any[];
|
|
185
189
|
}
|
|
186
190
|
/**
|
|
187
191
|
* Feature module methods
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { IModuleStateMachine, ILoadedModuleStateMachine, IStateMachineConnection, IStateMachineRegistry } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* State Machine Registry Implementation
|
|
4
|
+
* Manages pluggable state machines from feature modules
|
|
5
|
+
*/
|
|
6
|
+
export declare class StateMachineRegistry implements IStateMachineRegistry {
|
|
7
|
+
private machines;
|
|
8
|
+
private connections;
|
|
9
|
+
private subscriptions;
|
|
10
|
+
/**
|
|
11
|
+
* Register a module state machine
|
|
12
|
+
*/
|
|
13
|
+
register(config: IModuleStateMachine): void;
|
|
14
|
+
/**
|
|
15
|
+
* Unregister a module state machine
|
|
16
|
+
*/
|
|
17
|
+
unregister(key: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get a loaded state machine
|
|
20
|
+
*/
|
|
21
|
+
get(key: string): ILoadedModuleStateMachine | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Get all loaded state machines
|
|
24
|
+
*/
|
|
25
|
+
getAll(): ILoadedModuleStateMachine[];
|
|
26
|
+
/**
|
|
27
|
+
* Start a state machine
|
|
28
|
+
*/
|
|
29
|
+
start(key: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Stop a state machine
|
|
32
|
+
*/
|
|
33
|
+
stop(key: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Start all registered machines
|
|
36
|
+
*/
|
|
37
|
+
startAll(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Stop all machines
|
|
40
|
+
*/
|
|
41
|
+
stopAll(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Connect two state machines (output → input)
|
|
44
|
+
*/
|
|
45
|
+
connect(connection: IStateMachineConnection): void;
|
|
46
|
+
/**
|
|
47
|
+
* Disconnect two state machines
|
|
48
|
+
*/
|
|
49
|
+
disconnect(from: string, to: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Send event to a specific machine
|
|
52
|
+
*/
|
|
53
|
+
send(key: string, event: any): void;
|
|
54
|
+
/**
|
|
55
|
+
* Subscribe to machine state changes
|
|
56
|
+
*/
|
|
57
|
+
subscribe(key: string, callback: (snapshot: any) => void): () => void;
|
|
58
|
+
/**
|
|
59
|
+
* Handle outputs when state changes
|
|
60
|
+
* Send data through connections (sockets)
|
|
61
|
+
*/
|
|
62
|
+
private handleOutputs;
|
|
63
|
+
/**
|
|
64
|
+
* Topological sort for dependency resolution
|
|
65
|
+
* Returns sorted array of machine keys
|
|
66
|
+
*/
|
|
67
|
+
private topologicalSort;
|
|
68
|
+
}
|
|
69
|
+
export declare const stateMachineRegistry: StateMachineRegistry;
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import {createActor}from'xstate';/**
|
|
2
|
+
* State Machine Registry Implementation
|
|
3
|
+
* Manages pluggable state machines from feature modules
|
|
4
|
+
*/
|
|
5
|
+
class StateMachineRegistry {
|
|
6
|
+
machines = new Map();
|
|
7
|
+
connections = new Map();
|
|
8
|
+
subscriptions = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Register a module state machine
|
|
11
|
+
*/
|
|
12
|
+
register(config) {
|
|
13
|
+
if (this.machines.has(config.key)) {
|
|
14
|
+
console.warn(`[StateMachine] Machine ${config.key} is already registered`);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
console.log(`✅ [StateMachine] Registered: ${config.key} (${config.name})`);
|
|
18
|
+
// Store config without starting the actor yet
|
|
19
|
+
const loaded = {
|
|
20
|
+
...config,
|
|
21
|
+
actorRef: null,
|
|
22
|
+
snapshot: null,
|
|
23
|
+
loadedAt: Date.now(),
|
|
24
|
+
};
|
|
25
|
+
this.machines.set(config.key, loaded);
|
|
26
|
+
this.subscriptions.set(config.key, new Set());
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Unregister a module state machine
|
|
30
|
+
*/
|
|
31
|
+
unregister(key) {
|
|
32
|
+
const machine = this.machines.get(key);
|
|
33
|
+
if (!machine) {
|
|
34
|
+
console.warn(`[StateMachine] Machine ${key} not found`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// Stop the machine if running
|
|
38
|
+
if (machine.actorRef) {
|
|
39
|
+
machine.actorRef.stop();
|
|
40
|
+
}
|
|
41
|
+
// Remove all connections
|
|
42
|
+
this.connections.delete(key);
|
|
43
|
+
// Remove subscriptions
|
|
44
|
+
this.subscriptions.delete(key);
|
|
45
|
+
this.machines.delete(key);
|
|
46
|
+
console.log(`🗑️ [StateMachine] Unregistered: ${key}`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get a loaded state machine
|
|
50
|
+
*/
|
|
51
|
+
get(key) {
|
|
52
|
+
return this.machines.get(key);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get all loaded state machines
|
|
56
|
+
*/
|
|
57
|
+
getAll() {
|
|
58
|
+
return Array.from(this.machines.values());
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Start a state machine
|
|
62
|
+
*/
|
|
63
|
+
async start(key) {
|
|
64
|
+
const machine = this.machines.get(key);
|
|
65
|
+
if (!machine) {
|
|
66
|
+
throw new Error(`[StateMachine] Machine ${key} not found`);
|
|
67
|
+
}
|
|
68
|
+
// If already started, return
|
|
69
|
+
if (machine.actorRef) {
|
|
70
|
+
console.log(`⚠️ [StateMachine] Machine ${key} already started`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Start dependencies first
|
|
74
|
+
if (machine.dependencies && machine.dependencies.length > 0) {
|
|
75
|
+
for (const depKey of machine.dependencies) {
|
|
76
|
+
const depMachine = this.machines.get(depKey);
|
|
77
|
+
if (!depMachine) {
|
|
78
|
+
throw new Error(`[StateMachine] Dependency ${depKey} not found for ${key}`);
|
|
79
|
+
}
|
|
80
|
+
if (!depMachine.actorRef) {
|
|
81
|
+
await this.start(depKey);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Create and start the actor
|
|
86
|
+
const actorRef = createActor(machine.machine);
|
|
87
|
+
// Subscribe to state changes
|
|
88
|
+
actorRef.subscribe((snapshot) => {
|
|
89
|
+
machine.snapshot = snapshot;
|
|
90
|
+
// Notify all subscribers
|
|
91
|
+
const subscribers = this.subscriptions.get(key);
|
|
92
|
+
if (subscribers) {
|
|
93
|
+
subscribers.forEach((callback) => callback(snapshot));
|
|
94
|
+
}
|
|
95
|
+
// Handle connections (output sockets)
|
|
96
|
+
this.handleOutputs(key, snapshot);
|
|
97
|
+
});
|
|
98
|
+
actorRef.start();
|
|
99
|
+
machine.actorRef = actorRef;
|
|
100
|
+
console.log(`🚀 [StateMachine] Started: ${key}`);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Stop a state machine
|
|
104
|
+
*/
|
|
105
|
+
stop(key) {
|
|
106
|
+
const machine = this.machines.get(key);
|
|
107
|
+
if (!machine || !machine.actorRef) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
machine.actorRef.stop();
|
|
111
|
+
machine.actorRef = null;
|
|
112
|
+
console.log(`⏹️ [StateMachine] Stopped: ${key}`);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Start all registered machines
|
|
116
|
+
*/
|
|
117
|
+
async startAll() {
|
|
118
|
+
// Sort by priority (higher first) and dependencies
|
|
119
|
+
const sorted = this.topologicalSort();
|
|
120
|
+
for (const key of sorted) {
|
|
121
|
+
await this.start(key);
|
|
122
|
+
}
|
|
123
|
+
console.log(`✅ [StateMachine] All machines started (${sorted.length})`);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Stop all machines
|
|
127
|
+
*/
|
|
128
|
+
stopAll() {
|
|
129
|
+
for (const key of this.machines.keys()) {
|
|
130
|
+
this.stop(key);
|
|
131
|
+
}
|
|
132
|
+
console.log(`⏹️ [StateMachine] All machines stopped`);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Connect two state machines (output → input)
|
|
136
|
+
*/
|
|
137
|
+
connect(connection) {
|
|
138
|
+
const fromMachine = this.machines.get(connection.from);
|
|
139
|
+
const toMachine = this.machines.get(connection.to);
|
|
140
|
+
if (!fromMachine) {
|
|
141
|
+
throw new Error(`[StateMachine] Source machine ${connection.from} not found`);
|
|
142
|
+
}
|
|
143
|
+
if (!toMachine) {
|
|
144
|
+
throw new Error(`[StateMachine] Target machine ${connection.to} not found`);
|
|
145
|
+
}
|
|
146
|
+
// Validate output exists
|
|
147
|
+
const hasOutput = fromMachine.outputs?.some((o) => o.key === connection.output);
|
|
148
|
+
if (!hasOutput) {
|
|
149
|
+
console.warn(`[StateMachine] Output ${connection.output} not found in ${connection.from}`);
|
|
150
|
+
}
|
|
151
|
+
// Validate input exists
|
|
152
|
+
const hasInput = toMachine.inputs?.some((i) => i.key === connection.input);
|
|
153
|
+
if (!hasInput) {
|
|
154
|
+
console.warn(`[StateMachine] Input ${connection.input} not found in ${connection.to}`);
|
|
155
|
+
}
|
|
156
|
+
// Store connection
|
|
157
|
+
if (!this.connections.has(connection.from)) {
|
|
158
|
+
this.connections.set(connection.from, []);
|
|
159
|
+
}
|
|
160
|
+
this.connections.get(connection.from).push(connection);
|
|
161
|
+
console.log(`🔗 [StateMachine] Connected: ${connection.from}.${connection.output} → ${connection.to}.${connection.input}`);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Disconnect two state machines
|
|
165
|
+
*/
|
|
166
|
+
disconnect(from, to) {
|
|
167
|
+
const connections = this.connections.get(from);
|
|
168
|
+
if (!connections)
|
|
169
|
+
return;
|
|
170
|
+
const filtered = connections.filter((c) => c.to !== to);
|
|
171
|
+
this.connections.set(from, filtered);
|
|
172
|
+
console.log(`🔌 [StateMachine] Disconnected: ${from} ⛔ ${to}`);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Send event to a specific machine
|
|
176
|
+
*/
|
|
177
|
+
send(key, event) {
|
|
178
|
+
const machine = this.machines.get(key);
|
|
179
|
+
if (!machine || !machine.actorRef) {
|
|
180
|
+
console.warn(`[StateMachine] Cannot send to ${key} - not running`);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
machine.actorRef.send(event);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Subscribe to machine state changes
|
|
187
|
+
*/
|
|
188
|
+
subscribe(key, callback) {
|
|
189
|
+
const subscribers = this.subscriptions.get(key);
|
|
190
|
+
if (!subscribers) {
|
|
191
|
+
throw new Error(`[StateMachine] Machine ${key} not registered`);
|
|
192
|
+
}
|
|
193
|
+
subscribers.add(callback);
|
|
194
|
+
// Return unsubscribe function
|
|
195
|
+
return () => {
|
|
196
|
+
subscribers.delete(callback);
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Handle outputs when state changes
|
|
201
|
+
* Send data through connections (sockets)
|
|
202
|
+
*/
|
|
203
|
+
handleOutputs(key, snapshot) {
|
|
204
|
+
const connections = this.connections.get(key);
|
|
205
|
+
if (!connections || connections.length === 0)
|
|
206
|
+
return;
|
|
207
|
+
const machine = this.machines.get(key);
|
|
208
|
+
if (!machine)
|
|
209
|
+
return;
|
|
210
|
+
// For each connection from this machine
|
|
211
|
+
for (const conn of connections) {
|
|
212
|
+
// Get output value from context
|
|
213
|
+
const outputValue = snapshot.context?.[conn.output];
|
|
214
|
+
if (outputValue === undefined)
|
|
215
|
+
continue;
|
|
216
|
+
// Transform if needed
|
|
217
|
+
const value = conn.transform ? conn.transform(outputValue) : outputValue;
|
|
218
|
+
// Send to target machine as event
|
|
219
|
+
this.send(conn.to, {
|
|
220
|
+
type: `INPUT_${conn.input.toUpperCase()}`,
|
|
221
|
+
value,
|
|
222
|
+
from: key,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Topological sort for dependency resolution
|
|
228
|
+
* Returns sorted array of machine keys
|
|
229
|
+
*/
|
|
230
|
+
topologicalSort() {
|
|
231
|
+
const visited = new Set();
|
|
232
|
+
const sorted = [];
|
|
233
|
+
const visit = (key) => {
|
|
234
|
+
if (visited.has(key))
|
|
235
|
+
return;
|
|
236
|
+
visited.add(key);
|
|
237
|
+
const machine = this.machines.get(key);
|
|
238
|
+
if (machine?.dependencies) {
|
|
239
|
+
for (const dep of machine.dependencies) {
|
|
240
|
+
visit(dep);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
sorted.push(key);
|
|
244
|
+
};
|
|
245
|
+
// Get all machines sorted by priority
|
|
246
|
+
const keys = Array.from(this.machines.keys()).sort((a, b) => {
|
|
247
|
+
const machineA = this.machines.get(a);
|
|
248
|
+
const machineB = this.machines.get(b);
|
|
249
|
+
return (machineB.priority || 0) - (machineA.priority || 0);
|
|
250
|
+
});
|
|
251
|
+
for (const key of keys) {
|
|
252
|
+
visit(key);
|
|
253
|
+
}
|
|
254
|
+
return sorted;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// Singleton instance
|
|
258
|
+
const stateMachineRegistry = new StateMachineRegistry();export{StateMachineRegistry,stateMachineRegistry};//# sourceMappingURL=StateMachineRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateMachineRegistry.js","sources":["../../src/xstate/StateMachineRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { AnyStateMachine, ActorRefFrom, SnapshotFrom } from 'xstate';
|
|
2
|
+
/**
|
|
3
|
+
* Module State Machine Configuration
|
|
4
|
+
* Each module can register its own state machine via Feature.registerXState()
|
|
5
|
+
*/
|
|
6
|
+
export interface IModuleStateMachine {
|
|
7
|
+
/** Unique key for this state machine */
|
|
8
|
+
key: string;
|
|
9
|
+
/** Display name */
|
|
10
|
+
name: string;
|
|
11
|
+
/** The XState machine definition */
|
|
12
|
+
machine: AnyStateMachine;
|
|
13
|
+
/** Input sockets - what data this machine consumes */
|
|
14
|
+
inputs?: {
|
|
15
|
+
key: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
required?: boolean;
|
|
18
|
+
}[];
|
|
19
|
+
/** Output sockets - what data this machine produces */
|
|
20
|
+
outputs?: {
|
|
21
|
+
key: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
}[];
|
|
24
|
+
/** Dependencies - other machines this depends on */
|
|
25
|
+
dependencies?: string[];
|
|
26
|
+
/** Priority for initialization (higher loads first) */
|
|
27
|
+
priority?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Loaded Module State Machine with runtime data
|
|
31
|
+
*/
|
|
32
|
+
export interface ILoadedModuleStateMachine extends IModuleStateMachine {
|
|
33
|
+
/** Actor reference */
|
|
34
|
+
actorRef: ActorRefFrom<AnyStateMachine> | null;
|
|
35
|
+
/** Current snapshot */
|
|
36
|
+
snapshot: SnapshotFrom<AnyStateMachine> | null;
|
|
37
|
+
/** Loaded timestamp */
|
|
38
|
+
loadedAt: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* State Machine Connection
|
|
42
|
+
* Links output from one machine to input of another
|
|
43
|
+
*/
|
|
44
|
+
export interface IStateMachineConnection {
|
|
45
|
+
/** Source machine key */
|
|
46
|
+
from: string;
|
|
47
|
+
/** Source output key */
|
|
48
|
+
output: string;
|
|
49
|
+
/** Target machine key */
|
|
50
|
+
to: string;
|
|
51
|
+
/** Target input key */
|
|
52
|
+
input: string;
|
|
53
|
+
/** Optional transformer function */
|
|
54
|
+
transform?: (value: any) => any;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* State Machine Registry Interface
|
|
58
|
+
*/
|
|
59
|
+
export interface IStateMachineRegistry {
|
|
60
|
+
/** Register a module state machine */
|
|
61
|
+
register(config: IModuleStateMachine): void;
|
|
62
|
+
/** Unregister a module state machine */
|
|
63
|
+
unregister(key: string): void;
|
|
64
|
+
/** Get a loaded state machine */
|
|
65
|
+
get(key: string): ILoadedModuleStateMachine | undefined;
|
|
66
|
+
/** Get all loaded state machines */
|
|
67
|
+
getAll(): ILoadedModuleStateMachine[];
|
|
68
|
+
/** Start a state machine */
|
|
69
|
+
start(key: string): Promise<void>;
|
|
70
|
+
/** Stop a state machine */
|
|
71
|
+
stop(key: string): void;
|
|
72
|
+
/** Start all registered machines */
|
|
73
|
+
startAll(): Promise<void>;
|
|
74
|
+
/** Stop all machines */
|
|
75
|
+
stopAll(): void;
|
|
76
|
+
/** Connect two state machines */
|
|
77
|
+
connect(connection: IStateMachineConnection): void;
|
|
78
|
+
/** Disconnect two state machines */
|
|
79
|
+
disconnect(from: string, to: string): void;
|
|
80
|
+
/** Send event to a specific machine */
|
|
81
|
+
send(key: string, event: any): void;
|
|
82
|
+
/** Subscribe to machine state changes */
|
|
83
|
+
subscribe(key: string, callback: (snapshot: any) => void): () => void;
|
|
84
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/client-core",
|
|
3
|
-
"version": "7.2.1-alpha.
|
|
3
|
+
"version": "7.2.1-alpha.81",
|
|
4
4
|
"description": "common core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"watch": "yarn build:lib:watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@common-stack/core": "7.2.1-alpha.
|
|
24
|
+
"@common-stack/core": "7.2.1-alpha.81"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"redux-observable": "^3.0.0-rc.2"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "57b5d3790618c54039ba0c685cf091b2d414316f",
|
|
38
38
|
"typescript": {
|
|
39
39
|
"definition": "lib/index.d.ts"
|
|
40
40
|
}
|