@nsshunt/stsrunnerframework 1.0.200 → 2.0.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 (44) hide show
  1. package/README.md +1059 -1
  2. package/dist/stsrunnerframework.mjs +8279 -4105
  3. package/dist/stsrunnerframework.mjs.map +1 -1
  4. package/dist/stsrunnerframework.umd.js +8304 -4119
  5. package/dist/stsrunnerframework.umd.js.map +1 -1
  6. package/package.json +4 -4
  7. package/types/abstractRunnerExecutionWorker.d.ts +194 -0
  8. package/types/abstractRunnerExecutionWorker.d.ts.map +1 -0
  9. package/types/archiveManager.d.ts +172 -0
  10. package/types/archiveManager.d.ts.map +1 -0
  11. package/types/asyncRunnerInstanceManager.d.ts +108 -0
  12. package/types/asyncRunnerInstanceManager.d.ts.map +1 -0
  13. package/types/commonTypes.d.ts +115 -35
  14. package/types/commonTypes.d.ts.map +1 -1
  15. package/types/index.d.ts +1 -1
  16. package/types/index.d.ts.map +1 -1
  17. package/types/messageBroker.d.ts +324 -0
  18. package/types/messageBroker.d.ts.map +1 -0
  19. package/types/runnerInstance.d.ts +245 -0
  20. package/types/runnerInstance.d.ts.map +1 -0
  21. package/types/runnerLifecycleManager.d.ts +210 -0
  22. package/types/runnerLifecycleManager.d.ts.map +1 -0
  23. package/types/telemetryProcessor.d.ts +67 -0
  24. package/types/telemetryProcessor.d.ts.map +1 -1
  25. package/types/testing/mockedWorkerTestRunner01.d.ts +129 -2
  26. package/types/testing/mockedWorkerTestRunner01.d.ts.map +1 -1
  27. package/types/testing/testCase01.d.ts +222 -2
  28. package/types/testing/testCase01.d.ts.map +1 -1
  29. package/types/testing/testCase02.d.ts +206 -2
  30. package/types/testing/testCase02.d.ts.map +1 -1
  31. package/types/testing/wmwokerProcess.test.d.ts +1 -0
  32. package/types/testing/wmwokerProcess2.test.d.ts +1 -0
  33. package/types/workerCommandCoordinator.d.ts +152 -0
  34. package/types/workerCommandCoordinator.d.ts.map +1 -0
  35. package/types/workerInstance.d.ts +340 -16
  36. package/types/workerInstance.d.ts.map +1 -1
  37. package/types/workerInstanceMannager.d.ts +170 -0
  38. package/types/workerInstanceMannager.d.ts.map +1 -0
  39. package/types/workerManager.d.ts +335 -24
  40. package/types/workerManager.d.ts.map +1 -1
  41. package/types/workerRegistry.d.ts +251 -0
  42. package/types/workerRegistry.d.ts.map +1 -0
  43. package/types/workerStateSynchroniser.d.ts +161 -0
  44. package/types/workerStateSynchroniser.d.ts.map +1 -0
@@ -1,5 +1,4 @@
1
-
2
- import { Worker, MessagePort } from 'node:worker_threads';
1
+ import { MessagePort } from 'node:worker_threads';
3
2
  import { PublishInstrumentController, IContextBase } from '@nsshunt/stsinstrumentmanagerclient';
4
3
  import { ISTSLogger } from '@nsshunt/stsutils';
5
4
  export interface IAsyncRunnerContext extends IContextBase {
@@ -102,6 +101,19 @@ export interface IRunnerPlan {
102
101
  stage: number;
103
102
  planVU: number;
104
103
  }
104
+ export interface ISTSRunner {
105
+ get id(): string;
106
+ get workerId(): string;
107
+ get workerManagerId(): string;
108
+ get state(): IRunnerState;
109
+ get iteration(): number;
110
+ get asyncRunnerContext(): IAsyncRunnerContext;
111
+ get options(): IRunnerOptions;
112
+ set options(options: IRunnerOptions);
113
+ get instrumentData(): IRunnerTelemetry;
114
+ set instrumentData(newRunnerTelemetry: IRunnerTelemetry);
115
+ get runnerHistory(): IRunnerHistoryRecord[] | undefined;
116
+ }
105
117
  export interface IRunner {
106
118
  get id(): string;
107
119
  get workerId(): string;
@@ -115,18 +127,36 @@ export interface IRunner {
115
127
  set instrumentData(newRunnerTelemetry: IRunnerTelemetry);
116
128
  runnerHistory?: IRunnerHistoryRecord[];
117
129
  }
118
- export interface IRunnerEx extends IRunner {
119
- Start: () => Promise<IExecuteRunnerActionResult>;
120
- Stop: () => Promise<IExecuteRunnerActionResult>;
121
- Pause: () => Promise<IExecuteRunnerActionResult>;
122
- Resume: () => Promise<IExecuteRunnerActionResult>;
123
- Terminate: () => Promise<IExecuteRunnerActionResult>;
124
- Reset: () => Promise<IExecuteRunnerActionResult>;
125
- Execute: () => Promise<IExecuteRunnerActionResult>;
126
- Update: (runnerOptions: Partial<IRunnerOptions>) => Promise<IExecuteRunnerActionResult>;
127
- on: (eventName: string, cb: (args?: any) => void) => IRunnerEx;
130
+ export interface IRunnerCore {
131
+ get id(): string;
132
+ iteration: number;
133
+ state: IRunnerState;
134
+ runnerPlan?: IRunnerPlan;
135
+ }
136
+ export interface IRunnerEx {
137
+ id: string;
138
+ workerId: string;
139
+ workerManagerId: string;
140
+ state: IRunnerState;
141
+ iteration: number;
142
+ options: IRunnerOptions;
143
+ asyncRunnerContext: IAsyncRunnerContext;
128
144
  publishInstrumentController?: PublishInstrumentController;
145
+ instrumentData: IRunnerTelemetry;
146
+ runnerHistory: IRunnerHistoryRecord[];
129
147
  archived: boolean;
148
+ Start(): Promise<IExecuteRunnerActionResult>;
149
+ Stop(): Promise<IExecuteRunnerActionResult>;
150
+ Pause(): Promise<IExecuteRunnerActionResult>;
151
+ Resume(): Promise<IExecuteRunnerActionResult>;
152
+ Reset(): Promise<IExecuteRunnerActionResult>;
153
+ Execute(): Promise<IExecuteRunnerActionResult>;
154
+ Terminate(): Promise<IExecuteRunnerActionResult>;
155
+ Update(options: Partial<IRunnerOptions>): Promise<IExecuteRunnerActionResult>;
156
+ on(eventName: string, cb: (args?: any) => void): IRunnerEx;
157
+ toJSON(): IRunner;
158
+ toRunner(includeHistory?: boolean): IRunner;
159
+ toRunnerCore(): IRunnerCore;
130
160
  }
131
161
  export interface IRunnerInstance {
132
162
  StartRunner: () => Promise<any>;
@@ -156,6 +186,10 @@ export interface IWorkerOptions {
156
186
  logLevel: number;
157
187
  }
158
188
  export type IRunners = Record<string, IRunner>;
189
+ export interface IWorkerCore {
190
+ id: string;
191
+ runners: Record<string, IRunnerCore>;
192
+ }
159
193
  export interface IWorker {
160
194
  id: string;
161
195
  options: IWorkerOptions;
@@ -231,31 +265,40 @@ export interface IWorkerEvent {
231
265
  eventName: string;
232
266
  cb: (args?: any) => void;
233
267
  }
234
- export interface IWorkerEx extends IWorker {
235
- worker: Worker;
236
- messagePort: MessagePort;
237
- runnersEx: Record<string, IRunnerEx>;
268
+ export interface IWorkerEx {
269
+ id: string;
270
+ workerManagerId: string;
271
+ worker: any;
272
+ messagePort: any;
273
+ options: IWorkerOptions;
238
274
  workerEvents: IWorkerEvent[];
239
275
  runnersEvents: Record<string, IRunnerEvent[]>;
240
- GetRunner(id: string): IRunnerEx | null;
241
- AddRunner: (runnerOptions: IRunnerOptions) => Promise<IRunnerEx>;
242
- StartRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
243
- StopRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
244
- PauseRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
245
- ResumeRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
246
- TerminateRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
247
- ResetRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
248
- ExecuteRunner: (runner: IRunnerEx) => Promise<IExecuteRunnerActionResult>;
249
- UpdateRunner: (runner: IRunnerEx, runnerOptions: Partial<IRunnerOptions>) => Promise<IExecuteRunnerActionResult>;
250
- Start: () => Promise<IExecuteRunnerActionResult[]>;
251
- Stop: () => Promise<IExecuteRunnerActionResult[]>;
252
- Pause: () => Promise<IExecuteRunnerActionResult[]>;
253
- Resume: () => Promise<IExecuteRunnerActionResult[]>;
254
- Terminate: () => Promise<IExecuteRunnerActionResult[]>;
255
- Reset: () => Promise<IExecuteRunnerActionResult[]>;
256
- Execute: () => Promise<IExecuteRunnerActionResult[]>;
257
- Update: (runnerOptions: Partial<IRunnerOptions>) => Promise<IExecuteRunnerActionResult[]>;
258
- on: (eventName: string, cb: (args?: any) => void) => IWorkerEx;
276
+ AddRunnerEx(runnerEx: IRunnerEx): void;
277
+ GetRunnerEx(id: string): IRunnerEx | null;
278
+ GetAllRunnersEx(): IRunnerEx[];
279
+ GetAllRunnersExMap(): Record<string, IRunnerEx>;
280
+ GetRunnersEx(runnerIds: string[]): IRunnerEx[];
281
+ AddRunner(runnerOptions: IRunnerOptions): Promise<IRunnerEx>;
282
+ StartRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
283
+ StopRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
284
+ PauseRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
285
+ ResumeRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
286
+ TerminateRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
287
+ ResetRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
288
+ ExecuteRunner(runner: IRunnerEx): Promise<IExecuteRunnerActionResult>;
289
+ UpdateRunner(runner: IRunnerEx, runnerOptions: Partial<IRunnerOptions>): Promise<IExecuteRunnerActionResult>;
290
+ Start(): Promise<IExecuteRunnerActionResult[]>;
291
+ Stop(): Promise<IExecuteRunnerActionResult[]>;
292
+ Pause(): Promise<IExecuteRunnerActionResult[]>;
293
+ Resume(): Promise<IExecuteRunnerActionResult[]>;
294
+ Reset(): Promise<IExecuteRunnerActionResult[]>;
295
+ Execute(): Promise<IExecuteRunnerActionResult[]>;
296
+ Terminate(): Promise<IExecuteRunnerActionResult[]>;
297
+ Update(runnerOptions: Partial<IRunnerOptions>): Promise<IExecuteRunnerActionResult[]>;
298
+ on(eventName: string, cb: (args?: any) => void): IWorkerEx;
299
+ toJSON(): IWorker;
300
+ toWorker(): IWorker;
301
+ toWorkerCore(states?: IRunnerState[]): IWorkerCore;
259
302
  }
260
303
  export interface ISTSTestWorkerOptions {
261
304
  iterations: number;
@@ -330,4 +373,41 @@ export interface IRunnerSearchFilters {
330
373
  tag?: string;
331
374
  userDataKey?: string;
332
375
  }
376
+ export interface ISTSWorkerManager {
377
+ get id(): string;
378
+ get options(): IWorkerManagerOptions;
379
+ SetOptions(options: IWorkerManagerOptions): void;
380
+ /**
381
+ * Get complete IWorkerCore model. The model will be refresh prior to returning the values.
382
+ * Optionally include runners that are in the specified states.
383
+ * @param states Use [] or undefined to include all runners irrespective of state.
384
+ * @returns IWorkerCore recordset
385
+ */
386
+ GetWorkersCore(states?: IRunnerState[]): Promise<Record<string, IWorkerCore>>;
387
+ /**
388
+ * Get complete IWorkers model. The model will be refresh prior to returning the values.
389
+ * @returns Complete refreshed IWorkers model.
390
+ */
391
+ GetWorkers(states: IRunnerState[]): Promise<IWorkers>;
392
+ GetArchiveList(runnerSearchFilters: IRunnerSearchFilters): Promise<IRunner[]>;
393
+ AddWorker(workerOptions: IWorkerOptions, useWorkerFactory?: IWorkerFactory): Promise<IWorkerEx>;
394
+ AddRunnerToWorker(stsWorkerEx: IWorkerEx, runnerOptions: IRunnerOptions): Promise<IRunnerEx>;
395
+ StartWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
396
+ StopWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
397
+ PauseWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
398
+ ResumeWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
399
+ ExecuteWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
400
+ ResetWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
401
+ TerminateWorkers(workerIds: string[]): Promise<IExecuteWorkerActionResult[]>;
402
+ UpdateWorkers(workerIds: string[], runnerOptions: Partial<IRunnerOptions>): Promise<IExecuteWorkerActionResult[]>;
403
+ StopRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
404
+ StartRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
405
+ PauseRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
406
+ ResumeRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
407
+ ExecuteRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
408
+ ResetRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
409
+ TerminateRunners(workerId: string, runnerIds: string[]): Promise<IExecuteRunnerActionResult[]>;
410
+ UpdateRunners(workerId: string, runnerIds: string[], runnerOptions: Partial<IRunnerOptions>): Promise<IExecuteRunnerActionResult[]>;
411
+ Terminate(): void;
412
+ }
333
413
  //# sourceMappingURL=commonTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commonTypes.d.ts","sourceRoot":"","sources":["../src/commonTypes.ts"],"names":[],"mappings":"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"}
package/types/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './commonTypes';
2
- export * from './workerInstance';
2
+ export * from './abstractRunnerExecutionWorker';
3
3
  export * from './workerManager';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,324 @@
1
+
2
+ /**
3
+ * STSMessageBroker
4
+ * ----------------
5
+ * Central message broker for worker <-> manager communications.
6
+ *
7
+ * Responsibilities:
8
+ * - Create and manage callback-correlated request/response message flows
9
+ * - Route inbound port messages as either:
10
+ * - solicited responses (request/response messages with `messageId`)
11
+ * - unsolicited push/event messages (telemetry, state changes, etc.)
12
+ * - Initialise message ports between the manager and the worker
13
+ * - Provide helper methods for sending worker-level and runner-level commands
14
+ * - Manage response timeouts for outstanding requests
15
+ *
16
+ * High-level design:
17
+ * - Every solicited request gets a generated `messageId`
18
+ * - The broker stores a pending promise resolver keyed by `messageId`
19
+ * - When a matching inbound response arrives, the broker resolves that promise
20
+ * - If no response arrives before the configured timeout, the request is rejected
21
+ *
22
+ * Notes:
23
+ * - This broker supports both Node and browser worker environments
24
+ * - Environment-specific message port listener wiring is handled internally
25
+ * - The broker itself does not interpret business meaning of unsolicited messages;
26
+ * those are delegated to a caller-supplied callback
27
+ */
28
+ import { ISTSLogger } from '@nsshunt/stsutils';
29
+ import { IIWMessagePayload, IIWMessagePayloadContentBase, IIWMessageCommand, eIWMessageCommands, IWorkerEx, IRunnerEx, IRunnerOptions, IExecuteRunnerActionResult } from './commonTypes';
30
+ /**
31
+ * Configuration options for {@link STSMessageBroker}.
32
+ */
33
+ export interface ISTSMessageBrokerOptions {
34
+ /**
35
+ * Logger implementation used by the broker for diagnostics and error reporting.
36
+ */
37
+ logger: ISTSLogger;
38
+ /**
39
+ * Timeout in milliseconds for any solicited request waiting for a response.
40
+ *
41
+ * If a response with the matching `messageId` is not received before this period
42
+ * elapses, the pending promise will be rejected and the callback entry removed.
43
+ */
44
+ messageTimeout: number;
45
+ }
46
+ /**
47
+ * Internal pending message tracking record stored per `messageId`.
48
+ *
49
+ * This is not exported because it is only an internal implementation detail.
50
+ */
51
+ interface IMessageRecord {
52
+ /**
53
+ * Timeout handle used to reject the request if no response arrives in time.
54
+ */
55
+ timeout: ReturnType<typeof setTimeout>;
56
+ /**
57
+ * Resolver used when the matching response is received.
58
+ */
59
+ resolveMessage: (payload: IIWMessagePayloadContentBase) => void;
60
+ }
61
+ /**
62
+ * IMessageRecordMap
63
+ * -----------------
64
+ * Type alias representing the in-memory map used by the message broker
65
+ * to track outstanding callback-correlated requests.
66
+ *
67
+ * Structure:
68
+ * - The key is a unique `messageId` generated when a request is sent to a worker.
69
+ * - The value is the associated {@link IMessageRecord} containing:
70
+ * - the timeout handle for automatic request expiry
71
+ * - the resolver callback used to complete the pending Promise when the
72
+ * matching response arrives.
73
+ *
74
+ * Purpose:
75
+ * This structure allows the {@link STSMessageBroker} to implement a
76
+ * request/response messaging pattern on top of asynchronous worker message
77
+ * channels.
78
+ *
79
+ * Lifecycle of an entry:
80
+ *
81
+ * 1. A command is sent to a worker.
82
+ * 2. A new `messageId` is generated.
83
+ * 3. A corresponding {@link IMessageRecord} is stored in this map.
84
+ * 4. The message is transmitted to the worker including the `messageId`.
85
+ * 5. When the worker responds:
86
+ * - the broker extracts the `messageId`
87
+ * - finds the entry in this map
88
+ * - clears the timeout
89
+ * - resolves the stored promise
90
+ * - removes the entry from the map.
91
+ *
92
+ * Timeout behaviour:
93
+ * If the response is not received before the configured broker timeout,
94
+ * the stored timeout handler will:
95
+ * - remove the entry from the map
96
+ * - reject the original Promise to signal failure to the caller.
97
+ *
98
+ * Typical usage inside the message broker:
99
+ *
100
+ * ```ts
101
+ * private messages: IMessageRecordMap = {};
102
+ * ```
103
+ *
104
+ * Example internal structure at runtime:
105
+ *
106
+ * ```ts
107
+ * {
108
+ * "9d5c4b42-12c7-4a7c-b1f2-2b0b3c4e5f67": {
109
+ * timeout: Timeout,
110
+ * resolveMessage: (payload) => { ... }
111
+ * }
112
+ * }
113
+ * ```
114
+ *
115
+ * Notes:
116
+ * - Keys must always be UUID-style message identifiers.
117
+ * - Entries must always be deleted after resolution or timeout to prevent
118
+ * memory leaks.
119
+ */
120
+ export type IMessageRecordMap = Record<string, IMessageRecord>;
121
+ /**
122
+ * Message broker used to coordinate request/response and push-style messaging
123
+ * between the manager/runtime and worker instances.
124
+ */
125
+ export declare class STSMessageBroker {
126
+ /**
127
+ * Outstanding solicited request map keyed by generated `messageId`.
128
+ *
129
+ * Each entry contains:
130
+ * - the timeout handle for automatic cleanup/rejection
131
+ * - the resolver that should be called when a matching response arrives
132
+ */
133
+ private messages;
134
+ /**
135
+ * Broker configuration.
136
+ */
137
+ private options;
138
+ /**
139
+ * Construct a new message broker.
140
+ *
141
+ * @param options Logger and timeout configuration.
142
+ */
143
+ constructor(options: ISTSMessageBrokerOptions);
144
+ /**
145
+ * Process a single inbound payload received on a worker message port.
146
+ *
147
+ * Behaviour:
148
+ * - If the inbound payload contains `payload.messageId`, it is treated as a
149
+ * solicited response to an earlier request and is routed to the callback
150
+ * correlation mechanism.
151
+ * - Otherwise it is treated as an unsolicited push/event message and passed
152
+ * to the caller-supplied callback.
153
+ *
154
+ * Typical unsolicited messages include:
155
+ * - telemetry updates
156
+ * - runner state change notifications
157
+ * - other push-style runtime events
158
+ *
159
+ * Typical solicited messages include:
160
+ * - responses to runner commands
161
+ * - responses to worker queries such as `GetRunners`
162
+ *
163
+ * @param inboundPayload Inbound message payload read from the message port.
164
+ * @param cb Callback used to handle unsolicited messages.
165
+ */
166
+ private _processInboundMessage;
167
+ /**
168
+ * Attach a listener to a worker's message port and route all inbound messages
169
+ * through the broker.
170
+ *
171
+ * Environment handling:
172
+ * - In Node, uses `messagePort.on('message', ...)`
173
+ * - In the browser, uses `messagePort.addEventListener('message', ...)`
174
+ *
175
+ * Notes:
176
+ * - In browser environments, `addEventListener` is used because `onmessage`
177
+ * only allows a single handler.
178
+ * - Browser MessagePorts may need to be manually started elsewhere when using
179
+ * `addEventListener`.
180
+ *
181
+ * @param stsWorkerEx Worker that owns the message port to listen on.
182
+ * @param cb Callback used to handle unsolicited inbound messages.
183
+ */
184
+ SetupMessagePortListener: (stsWorkerEx: IWorkerEx, cb: (payload: IIWMessagePayload) => void) => void;
185
+ /**
186
+ * Resolve a pending solicited request using the `messageId` found in the response payload.
187
+ *
188
+ * Behaviour:
189
+ * - Looks up the pending message entry by `messageId`
190
+ * - Clears the timeout associated with the request
191
+ * - Removes the pending entry from the map
192
+ * - Resolves the original promise with the received payload
193
+ *
194
+ * Error handling:
195
+ * - If the `messageId` is not found in the pending map, logs an error
196
+ * - Any unexpected runtime errors are caught and logged
197
+ *
198
+ * @param payload Response payload containing the original `messageId`.
199
+ */
200
+ private _ProcessRunnerResponse;
201
+ /**
202
+ * Create and register a new pending callback-correlated request.
203
+ *
204
+ * Behaviour:
205
+ * - Generates a new UUID message id
206
+ * - Stores a timeout that will reject the request if the response is not received in time
207
+ * - Stores a resolver that will be invoked when the response arrives
208
+ *
209
+ * This is the core mechanism that turns low-level message port communication
210
+ * into a Promise-based request/response API.
211
+ *
212
+ * @param resolve Promise resolver for the caller's request.
213
+ * @param reject Promise rejecter for the caller's request.
214
+ * @param command Command being sent, used only for diagnostics in timeout messages.
215
+ * @returns The generated message id to embed in the outbound payload.
216
+ */
217
+ private _SetupCallbackMessage;
218
+ /**
219
+ * Send a worker-scoped command that expects a callback-correlated response.
220
+ *
221
+ * Typical examples:
222
+ * - `GetRunners`
223
+ * - other worker-level queries or commands that do not target a specific runner
224
+ *
225
+ * Behaviour:
226
+ * - Creates a callback-correlated pending request
227
+ * - Generates a minimal payload containing only `messageId`
228
+ * - Sends the command over the worker's dedicated message port
229
+ * - Resolves once a matching response arrives
230
+ *
231
+ * @param workerEx Target worker whose message port should be used.
232
+ * @param command Worker-level command to send.
233
+ * @returns Promise resolving with the response payload returned by the worker.
234
+ */
235
+ SendMessageToWorkerForWorkerWithCallBack: (workerEx: IWorkerEx, command: IIWMessageCommand) => Promise<IIWMessagePayloadContentBase>;
236
+ /**
237
+ * Send a runner-scoped command that expects a callback-correlated response.
238
+ *
239
+ * Behaviour:
240
+ * - Optionally merges the supplied partial runner options into the live runner options
241
+ * - Creates a callback-correlated pending request
242
+ * - Builds a runner payload using `runnerEx.toRunner(false)` to avoid sending history
243
+ * - Sends the command over the worker's dedicated message port
244
+ * - Resolves with the action result returned by the worker
245
+ *
246
+ * Notes:
247
+ * - `merge(...)` is used so update commands can modify the live in-memory runner
248
+ * options before sending the command.
249
+ * - `toRunner(false)` intentionally excludes runner history to keep the message light.
250
+ *
251
+ * @param workerEx Target worker whose message port should be used.
252
+ * @param runnerEx Target runner for the command.
253
+ * @param command Runner command to send.
254
+ * @param runnerOptions Optional partial runner option updates, typically used for `UpdateRunner`.
255
+ * @returns Promise resolving with the worker's per-runner action result.
256
+ */
257
+ SendMessageToWorkerForRunnerWithCallBack: (workerEx: IWorkerEx, runnerEx: IRunnerEx, command: eIWMessageCommands, runnerOptions?: Partial<IRunnerOptions>) => Promise<IExecuteRunnerActionResult>;
258
+ /**
259
+ * Send a command to the underlying worker using the worker's default communication channel
260
+ * rather than the dedicated message port channel.
261
+ *
262
+ * This is primarily used during worker bootstrap, for example when transferring the
263
+ * dedicated message port into the worker.
264
+ *
265
+ * Behaviour:
266
+ * - If a transfer object is supplied, posts the message with transfer semantics
267
+ * - Otherwise posts the message normally
268
+ *
269
+ * Typical use case:
270
+ * - sending the `MessagePort` bootstrap command with the second port transferred
271
+ * into the worker thread/worker instance
272
+ *
273
+ * @param workerEx Target worker.
274
+ * @param command Command to send.
275
+ * @param payload Optional payload to send.
276
+ * @param transferObject Optional transferable object, typically a MessagePort.
277
+ */
278
+ private _PostMessageToWorkerUsingDefaultChannel;
279
+ /**
280
+ * Initialise the worker's dedicated message port.
281
+ *
282
+ * Behaviour:
283
+ * - If the worker is mocked, injects the port using the mock worker API (`SetPort`)
284
+ * - Otherwise sends the `MessagePort` bootstrap command to the real underlying worker
285
+ * and transfers the supplied port into it
286
+ *
287
+ * Payload contents include:
288
+ * - a bootstrap `messageId`
289
+ * - the transferred port
290
+ * - a copy of the worker options
291
+ * - the worker id
292
+ *
293
+ * Notes:
294
+ * - This is part of worker startup/bootstrap, not normal runtime runner command flow
295
+ * - The port passed here is typically the second end of a newly created `MessageChannel`
296
+ *
297
+ * @param stsWorkerEx Worker being initialised.
298
+ * @param port Port to inject/transfer into the worker.
299
+ */
300
+ SetupMessagePort: (stsWorkerEx: IWorkerEx, port: any) => void;
301
+ /**
302
+ * Create a new `MessageChannel` and return both ports.
303
+ *
304
+ * Behaviour:
305
+ * - Creates `port1` and `port2`
306
+ * - In browser environments, manually starts `port1`
307
+ *
308
+ * Typical usage:
309
+ * - `port1` remains with the manager/runtime side
310
+ * - `port2` is transferred into the worker during bootstrap
311
+ *
312
+ * Notes:
313
+ * - In browser mode, ports are often manually started when using `addEventListener`
314
+ * - In Node, the message port wiring model differs and no explicit `start()` call is needed
315
+ *
316
+ * @returns Newly created message channel ports.
317
+ */
318
+ GetPorts: () => {
319
+ port1: any;
320
+ port2: any;
321
+ };
322
+ }
323
+ export {};
324
+ //# sourceMappingURL=messageBroker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBroker.d.ts","sourceRoot":"","sources":["../src/messageBroker.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EAET,cAAc,EAEd,0BAA0B,EAC7B,MAAM,eAAe,CAAC;AASvB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,UAAU,cAAc;IACpB;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAEvC;;OAEG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D;;;GAGG;AACH,qBAAa,gBAAgB;IACzB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAyB;IAEzC;;OAEG;IACH,OAAO,CAAC,OAAO,CAA2B;IAE1C;;;;OAIG;gBACS,OAAO,EAAE,wBAAwB;IAI7C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,sBAAsB,CAW5B;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,GACpB,aAAa,SAAS,EACtB,IAAI,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,UAc1C;IAEF;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB,CAc3B;IAEF;;;;;;;;;;;;;;;;OAgBG;IACI,wCAAwC,GAC3C,UAAU,SAAS,EACnB,SAAS,iBAAiB,KAC3B,OAAO,CAAC,4BAA4B,CAAC,CAYtC;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,wCAAwC,GAC3C,UAAU,SAAS,EACnB,UAAU,SAAS,EACnB,SAAS,kBAAkB,EAC3B,gBAAgB,OAAO,CAAC,cAAc,CAAC,KACxC,OAAO,CAAC,0BAA0B,CAAC,CAkBpC;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,uCAAuC,CA2B7C;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,gBAAgB,GAAI,aAAa,SAAS,EAAE,MAAM,GAAG,UA4B1D;IAEF;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,QAAO;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAc9C;CACL"}