@nsshunt/stsrunnerframework 1.0.200 → 2.0.1
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 +1059 -1
- package/dist/stsrunnerframework.mjs +8263 -4105
- package/dist/stsrunnerframework.mjs.map +1 -1
- package/dist/stsrunnerframework.umd.js +8288 -4119
- package/dist/stsrunnerframework.umd.js.map +1 -1
- package/package.json +4 -4
- package/types/abstractRunnerExecutionWorker.d.ts +194 -0
- package/types/abstractRunnerExecutionWorker.d.ts.map +1 -0
- package/types/archiveManager.d.ts +172 -0
- package/types/archiveManager.d.ts.map +1 -0
- package/types/asyncRunnerInstanceManager.d.ts +108 -0
- package/types/asyncRunnerInstanceManager.d.ts.map +1 -0
- package/types/commonTypes.d.ts +115 -35
- package/types/commonTypes.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/messageBroker.d.ts +324 -0
- package/types/messageBroker.d.ts.map +1 -0
- package/types/runnerInstance.d.ts +245 -0
- package/types/runnerInstance.d.ts.map +1 -0
- package/types/runnerLifecycleManager.d.ts +210 -0
- package/types/runnerLifecycleManager.d.ts.map +1 -0
- package/types/telemetryProcessor.d.ts +67 -0
- package/types/telemetryProcessor.d.ts.map +1 -1
- package/types/testing/mockedWorkerTestRunner01.d.ts +129 -2
- package/types/testing/mockedWorkerTestRunner01.d.ts.map +1 -1
- package/types/testing/testCase01.d.ts +222 -2
- package/types/testing/testCase01.d.ts.map +1 -1
- package/types/testing/testCase02.d.ts +206 -2
- package/types/testing/testCase02.d.ts.map +1 -1
- package/types/testing/wmwokerProcess.test.d.ts +1 -0
- package/types/testing/wmwokerProcess2.test.d.ts +1 -0
- package/types/workerCommandCoordinator.d.ts +152 -0
- package/types/workerCommandCoordinator.d.ts.map +1 -0
- package/types/workerInstance.d.ts +340 -16
- package/types/workerInstance.d.ts.map +1 -1
- package/types/workerInstanceMannager.d.ts +170 -0
- package/types/workerInstanceMannager.d.ts.map +1 -0
- package/types/workerManager.d.ts +335 -24
- package/types/workerManager.d.ts.map +1 -1
- package/types/workerRegistry.d.ts +251 -0
- package/types/workerRegistry.d.ts.map +1 -0
- package/types/workerStateSynchroniser.d.ts +161 -0
- package/types/workerStateSynchroniser.d.ts.map +1 -0
package/types/commonTypes.d.ts
CHANGED
|
@@ -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
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
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"}
|