@stateflowx/runtime 0.4.0 → 0.4.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.
package/README.md CHANGED
@@ -62,14 +62,12 @@ import {
62
62
  import { WebSocketServer } from 'ws';
63
63
 
64
64
  const server = new WebSocketServer({
65
- port: 3000,
65
+ port: 3001,
66
66
  });
67
67
 
68
- const transport =
69
- new WebSocketTransport(server);
68
+ const transport = new WebSocketTransport(server);
70
69
 
71
- const protocol =
72
- new JsonRpcProtocol();
70
+ const protocol = new JsonRpcProtocol();
73
71
 
74
72
  const runtime = createRuntime({
75
73
  transport,
@@ -80,8 +78,7 @@ const runtime = createRuntime({
80
78
  {
81
79
  name: 'default',
82
80
 
83
- provider:
84
- new GeminiProvider(),
81
+ provider: new GeminiProvider(),
85
82
  },
86
83
  ],
87
84
 
@@ -91,18 +88,13 @@ const runtime = createRuntime({
91
88
  //
92
89
  // Realtime runtime event dispatcher
93
90
  //
94
- const dispatcher =
95
- new WebSocketEventDispatcher(
96
- server
97
- );
91
+ const dispatcher = new WebSocketEventDispatcher(server);
98
92
 
99
93
  runtime.events.on(
100
94
  '*',
101
95
 
102
96
  async (event) => {
103
- await dispatcher.dispatch(
104
- event
105
- );
97
+ await dispatcher.dispatch(event);
106
98
  }
107
99
  );
108
100
 
@@ -112,9 +104,7 @@ bootstrapRuntime(
112
104
  runtime
113
105
  );
114
106
 
115
- console.log(
116
- 'StateFlowX runtime listening on ws://localhost:3000'
117
- );
107
+ console.log('StateFlowX runtime listening on ws://localhost:3001');
118
108
  ```
119
109
 
120
110
  ---
@@ -1,4 +1,4 @@
1
- import { RuntimeEvent } from "../runtime-event.js";
1
+ import { RuntimeEvent } from '../runtime-event.js';
2
2
  export interface EventDispatcher {
3
3
  dispatch(event: RuntimeEvent): Promise<void>;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-event-dispatcher.js","sourceRoot":"","sources":["../../../../../src/core/events/dispatchers/ws/websocket-event-dispatcher.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,wBAAwB;IACnC,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAI,CAAC;IAEhD,KAAK,CAAC,QAAQ,CAAC,KAAmB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,eAAe;YAErB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"websocket-event-dispatcher.js","sourceRoot":"","sources":["../../../../../src/core/events/dispatchers/ws/websocket-event-dispatcher.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,wBAAwB;IACnC,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE/C,KAAK,CAAC,QAAQ,CAAC,KAAmB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,eAAe;YAErB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-event-bus.js","sourceRoot":"","sources":["../../../src/core/events/runtime-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAChB,QAAQ,CAAC;AAKhB,MAAM,OAAO,eAAe;IAA5B;QACU,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IAWvC,CAAC;IATC,IAAI,CAAC,KAAmB;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,OAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"runtime-event-bus.js","sourceRoot":"","sources":["../../../src/core/events/runtime-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,MAAM,OAAO,eAAe;IAA5B;QACU,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IAWvC,CAAC;IATC,IAAI,CAAC,KAAmB;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,OAAsC;QACrD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-rpc.protocol.js","sourceRoot":"","sources":["../../../../src/core/protocol/json-rpc/json-rpc.protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MACjB,cAAc,CAAC;AAKtB,MAAM,OAAO,eAAe;IAC1B,YAAoB,SAAwB,IAAI,aAAa,EAAE;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAI,CAAC;IAEpE,SAAS,CAAC,KAAa,EAAE,OAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"json-rpc.protocol.js","sourceRoot":"","sources":["../../../../src/core/protocol/json-rpc/json-rpc.protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,OAAO,eAAe;IAC1B,YAAoB,SAAwB,IAAI,aAAa,EAAE;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAG,CAAC;IAEnE,SAAS,CAAC,KAAa,EAAE,OAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAc,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { InMemoryDB } from '../storage/in-memory.db.js';
2
2
  import { ServiceManager } from '../service/service.manager.js';
3
3
  import { ProviderManager } from '../provider/provider.manager.js';
4
+ import { ExecutionManager } from './execution/execution-manager.js';
4
5
  export function createRuntimeContext(app, config) {
5
6
  const db = config.db ? config.db : new InMemoryDB();
6
7
  const providerManager = new ProviderManager(config.providers);
@@ -12,6 +13,7 @@ export function createRuntimeContext(app, config) {
12
13
  ai: providerManager,
13
14
  services: serviceManager,
14
15
  events: config.events, //ts can't fully infer this, but im ensure it's set in bootstrapRuntime
16
+ execution: new ExecutionManager(),
15
17
  prompt(route, handler) {
16
18
  config.protocol?.addMethod(route, handler);
17
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"create-runtime-context.js","sourceRoot":"","sources":["../../../src/core/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,MAAM,UAAU,oBAAoB,CAClC,GAAe,EACf,MAAqB;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IAEpD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3D,OAAO;QACL,EAAE;QAEF,KAAK,EAAE,EAAE;QAET,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAEzB,EAAE,EAAE,eAAe;QAEnB,QAAQ,EAAE,cAAc;QAExB,MAAM,EAAE,MAAM,CAAC,MAAO,EAAE,uEAAuE;QAE/F,MAAM,CAAC,KAAa,EAAE,OAAiB;YACrC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-runtime-context.js","sourceRoot":"","sources":["../../../src/core/runtime/create-runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMxD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,UAAU,oBAAoB,CAClC,GAAe,EACf,MAAqB;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;IAEpD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3D,OAAO;QACL,EAAE;QAEF,KAAK,EAAE,EAAE;QAET,QAAQ,EAAE,MAAM,CAAC,QAAQ;QAEzB,EAAE,EAAE,eAAe;QAEnB,QAAQ,EAAE,cAAc;QAExB,MAAM,EAAE,MAAM,CAAC,MAAO,EAAE,uEAAuE;QAE/F,SAAS,EAAE,IAAI,gBAAgB,EAAE;QAEjC,MAAM,CAAC,KAAa,EAAE,OAAiB;YACrC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface ExecutionContext {
2
+ id: string;
3
+ parentId?: string;
4
+ type: 'workflow' | 'service' | 'provider';
5
+ name: string;
6
+ startedAt: number;
7
+ completedAt?: number;
8
+ status: 'running' | 'completed' | 'failed';
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execution-context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-context.interface.js","sourceRoot":"","sources":["../../../../src/core/runtime/execution/execution-context.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ExecutionContext } from './execution-context.interface.js';
2
+ export declare class ExecutionEventBus {
3
+ private emitter;
4
+ emit(execution: ExecutionContext): void;
5
+ on(type: string, handler: (execution: ExecutionContext) => void): void;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { EventEmitter } from 'events';
2
+ export class ExecutionEventBus {
3
+ constructor() {
4
+ this.emitter = new EventEmitter();
5
+ }
6
+ emit(execution) {
7
+ this.emitter.emit(execution.type, execution);
8
+ this.emitter.emit('*', execution);
9
+ }
10
+ on(type, handler) {
11
+ this.emitter.on(type, handler);
12
+ }
13
+ }
14
+ //# sourceMappingURL=execution-event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-event-bus.js","sourceRoot":"","sources":["../../../../src/core/runtime/execution/execution-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,MAAM,OAAO,iBAAiB;IAA9B;QACU,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IAevC,CAAC;IAbC,IAAI,CAAC,SAA2B;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,EAAE,CACA,IAAY,EAEZ,OAA8C;QAE9C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { ExecutionEventBus } from './execution-event-bus.js';
2
+ export declare class ExecutionManager {
3
+ readonly events: ExecutionEventBus;
4
+ private executions;
5
+ constructor();
6
+ start(type: 'workflow' | 'service' | 'provider', name: string, parentId?: string): string;
7
+ complete(id: string): void;
8
+ fail(id: string): void;
9
+ }
@@ -0,0 +1,42 @@
1
+ import { randomUUID } from 'crypto';
2
+ import { ExecutionEventBus } from './execution-event-bus.js';
3
+ export class ExecutionManager {
4
+ constructor() {
5
+ this.events = new ExecutionEventBus();
6
+ this.executions = new Map();
7
+ console.log('[EXECUTION MANAGER CREATED]');
8
+ }
9
+ start(type, name, parentId) {
10
+ const id = randomUUID();
11
+ const execution = {
12
+ id,
13
+ parentId,
14
+ type,
15
+ name,
16
+ status: 'running',
17
+ startedAt: Date.now(),
18
+ };
19
+ this.executions.set(id, execution);
20
+ this.events.emit(execution);
21
+ return id;
22
+ }
23
+ complete(id) {
24
+ const execution = this.executions.get(id);
25
+ if (!execution) {
26
+ return;
27
+ }
28
+ execution.status = 'completed';
29
+ execution.completedAt = Date.now();
30
+ this.events.emit(execution);
31
+ }
32
+ fail(id) {
33
+ const execution = this.executions.get(id);
34
+ if (!execution) {
35
+ return;
36
+ }
37
+ execution.status = 'failed';
38
+ execution.completedAt = Date.now();
39
+ this.events.emit(execution);
40
+ }
41
+ }
42
+ //# sourceMappingURL=execution-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-manager.js","sourceRoot":"","sources":["../../../../src/core/runtime/execution/execution-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,OAAO,gBAAgB;IAK3B;QAJS,WAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAElC,eAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;QAGvD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CACH,IAAyC,EAEzC,IAAY,EAEZ,QAAiB;QAEjB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QAExB,MAAM,SAAS,GAAqB;YAClC,EAAE;YAEF,QAAQ;YAER,IAAI;YAEJ,IAAI;YAEJ,MAAM,EAAE,SAAS;YAEjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;QAE/B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,EAAU;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;QAE5B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -25,38 +25,81 @@ export class RuntimeInitializeApp {
25
25
  //
26
26
  config.workflows?.forEach((workflow) => {
27
27
  runtime.prompt(workflow.route, async () => {
28
+ const workflowExecutionId = runtime.execution.start('workflow', workflow.route);
28
29
  runtime.events.emit({
29
30
  type: 'workflow.started',
30
31
  metadata: {
31
32
  workflow: workflow.route,
33
+ executionId: workflowExecutionId,
32
34
  },
33
35
  });
34
36
  try {
37
+ console.log('[REGISTERED SERVICES]', runtime.services.list());
35
38
  const service = runtime.services.get(workflow.service);
36
39
  if (!service) {
37
40
  throw new Error(`Service not found: ${workflow.service}`);
38
41
  }
42
+ const serviceExecutionId = runtime.execution.start('service', workflow.service, workflowExecutionId);
43
+ runtime.events.emit({
44
+ type: 'service.started',
45
+ metadata: {
46
+ service: workflow.service,
47
+ executionId: serviceExecutionId,
48
+ parentId: workflowExecutionId,
49
+ },
50
+ });
39
51
  const data = await service.execute();
52
+ runtime.execution.complete(serviceExecutionId);
53
+ runtime.events.emit({
54
+ type: 'service.completed',
55
+ metadata: {
56
+ service: workflow.service,
57
+ executionId: serviceExecutionId,
58
+ parentId: workflowExecutionId,
59
+ },
60
+ });
40
61
  const enhancedPrompt = `
41
- ${workflow.prompt}
62
+ ${workflow.prompt}
42
63
 
43
- DATA:
44
- ${JSON.stringify(data)}
45
- `;
64
+ DATA:
65
+ ${JSON.stringify(data)}
66
+ `;
67
+ const providerExecutionId = runtime.execution.start('provider', workflow.provider, workflowExecutionId);
68
+ runtime.events.emit({
69
+ type: 'provider.started',
70
+ metadata: {
71
+ provider: workflow.provider,
72
+ executionId: providerExecutionId,
73
+ parentId: workflowExecutionId,
74
+ },
75
+ });
46
76
  const result = await runtime.ai.generate(enhancedPrompt);
77
+ runtime.execution.complete(providerExecutionId);
78
+ runtime.events.emit({
79
+ type: 'provider.completed',
80
+ metadata: {
81
+ provider: workflow.provider,
82
+ executionId: providerExecutionId,
83
+ parentId: workflowExecutionId,
84
+ },
85
+ });
86
+ runtime.execution.complete(workflowExecutionId);
47
87
  runtime.events.emit({
48
88
  type: 'workflow.completed',
49
89
  metadata: {
50
90
  workflow: workflow.route,
91
+ executionId: workflowExecutionId,
51
92
  },
52
93
  });
53
94
  return result;
54
95
  }
55
96
  catch (err) {
97
+ runtime.execution.fail(workflowExecutionId);
56
98
  runtime.events.emit({
57
99
  type: 'workflow.failed',
58
100
  metadata: {
59
101
  workflow: workflow.route,
102
+ executionId: workflowExecutionId,
60
103
  },
61
104
  payload: {
62
105
  error: String(err),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-app-init.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-app-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-app-init.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime-app-init.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { RuntimeEventBus } from '../events/runtime-event-bus.js';
3
3
  import { Protocol } from '../protocol/protocol.interface.js';
4
4
  import { ProviderManager } from '../provider/provider.manager.js';
5
5
  import { ServiceManager } from '../service/service.manager.js';
6
+ import { ExecutionManager } from './execution/execution-manager.js';
6
7
  export type PromptHandler = (payload: unknown) => Promise<unknown> | unknown;
7
8
  export interface RuntimeContext {
8
9
  db: DB;
@@ -11,5 +12,6 @@ export interface RuntimeContext {
11
12
  events: RuntimeEventBus;
12
13
  ai: ProviderManager;
13
14
  services: ServiceManager;
15
+ execution: ExecutionManager;
14
16
  prompt(route: string, handler: PromptHandler): void;
15
17
  }
@@ -4,4 +4,5 @@ export declare class ServiceManager {
4
4
  constructor(services?: ServiceConfig[]);
5
5
  register(service: ServiceConfig): void;
6
6
  get(name: string): ServiceConfig | undefined;
7
+ list(): string[];
7
8
  }
@@ -11,5 +11,8 @@ export class ServiceManager {
11
11
  get(name) {
12
12
  return this.services.get(name);
13
13
  }
14
+ list() {
15
+ return [...this.services.keys()];
16
+ }
14
17
  }
15
18
  //# sourceMappingURL=service.manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.manager.js","sourceRoot":"","sources":["../../../src/core/service/service.manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAGzB,YAAY,WAA4B,EAAE;QAFlC,aAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;QAGlD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"service.manager.js","sourceRoot":"","sources":["../../../src/core/service/service.manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAGzB,YAAY,WAA4B,EAAE;QAFlC,aAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;QAGlD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stateflowx/runtime",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Realtime orchestration runtime framework for AI workflows and distributed systems.",
5
5
  "author": "Burt Snyder <snyder.burt@gmail.com>",
6
6
  "repository": {