@zintrust/workers 0.4.0 → 0.4.3
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 +9 -0
- package/dist/AnomalyDetection.js +2 -2
- package/dist/BroadcastWorker.js +1 -1
- package/dist/CanaryController.js +1 -1
- package/dist/ChaosEngineering.js +4 -4
- package/dist/DatacenterOrchestrator.js +1 -1
- package/dist/DeadLetterQueue.js +1 -1
- package/dist/HealthMonitor.js +1 -1
- package/dist/MultiQueueWorker.js +1 -1
- package/dist/NotificationWorker.js +1 -1
- package/dist/SLAMonitor.js +2 -2
- package/dist/WorkerFactory.js +18 -18
- package/dist/WorkerInit.js +4 -4
- package/dist/WorkerRegistry.js +1 -1
- package/dist/WorkerShutdown.js +1 -1
- package/dist/WorkerShutdownDurableObject.d.ts +12 -0
- package/dist/WorkerShutdownDurableObject.js +41 -0
- package/dist/build-manifest.json +558 -0
- package/dist/dashboard/workers-api.js +2 -2
- package/dist/http/WorkerApiController.js +3 -3
- package/dist/http/WorkerController.js +10 -10
- package/dist/http/WorkerMonitoringService.js +2 -2
- package/dist/http/middleware/EditWorkerValidation.js +8 -8
- package/dist/http/middleware/WorkerValidationChain.js +9 -9
- package/dist/index.js +39 -28
- package/dist/register.d.ts +6 -0
- package/dist/register.js +37 -0
- package/dist/routes/workers.js +11 -11
- package/dist/telemetry/api/TelemetryAPI.js +3 -3
- package/dist/telemetry/index.js +3 -3
- package/dist/telemetry/routes/dashboard.js +4 -4
- package/dist/ui/router/ui.js +1 -1
- package/dist/ui/workers/index.html +202 -0
- package/dist/ui/workers/main.js +1952 -0
- package/dist/ui/workers/styles.css +1350 -0
- package/dist/ui/workers/zintrust.svg +30 -0
- package/package.json +19 -13
- package/src/register.ts +68 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<svg width="120" height="120" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="zt-g2d" x1="10" y1="50" x2="90" y2="50" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop stop-color="#22c55e" />
|
|
5
|
+
<stop offset="1" stop-color="#38bdf8" />
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<circle cx="50" cy="50" r="34" stroke="rgba(255,255,255,0.16)" stroke-width="4" />
|
|
9
|
+
<ellipse cx="50" cy="50" rx="40" ry="18" stroke="url(#zt-g2d)" stroke-width="4" />
|
|
10
|
+
<ellipse cx="50" cy="50" rx="18" ry="40" stroke="url(#zt-g2d)" stroke-width="4" opacity="0.75" />
|
|
11
|
+
<circle cx="50" cy="50" r="6" fill="url(#zt-g2d)" />
|
|
12
|
+
<path
|
|
13
|
+
d="M40 52C35 52 32 49 32 44C32 39 35 36 40 36H48"
|
|
14
|
+
stroke="white"
|
|
15
|
+
stroke-width="6"
|
|
16
|
+
stroke-linecap="round"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
d="M60 48C65 48 68 51 68 56C68 61 65 64 60 64H52"
|
|
20
|
+
stroke="white"
|
|
21
|
+
stroke-width="6"
|
|
22
|
+
stroke-linecap="round"
|
|
23
|
+
/>
|
|
24
|
+
<path
|
|
25
|
+
d="M44 50H56"
|
|
26
|
+
stroke="rgba(255,255,255,0.22)"
|
|
27
|
+
stroke-width="6"
|
|
28
|
+
stroke-linecap="round"
|
|
29
|
+
/>
|
|
30
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zintrust/workers",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"default": "./dist/index.js"
|
|
16
16
|
},
|
|
17
|
+
"./register": {
|
|
18
|
+
"types": "./dist/register.d.ts",
|
|
19
|
+
"default": "./dist/register.js"
|
|
20
|
+
},
|
|
17
21
|
"./HealthMonitor": {
|
|
18
22
|
"types": "./dist/HealthMonitor.d.ts",
|
|
19
23
|
"default": "./dist/HealthMonitor.js"
|
|
@@ -35,25 +39,27 @@
|
|
|
35
39
|
"node": ">=20.0.0"
|
|
36
40
|
},
|
|
37
41
|
"peerDependencies": {
|
|
38
|
-
"@zintrust/core": "^0.4.
|
|
42
|
+
"@zintrust/core": "^0.4.3",
|
|
43
|
+
"@zintrust/queue-monitor": "*",
|
|
44
|
+
"@zintrust/queue-redis": "*"
|
|
45
|
+
},
|
|
46
|
+
"peerDependenciesMeta": {
|
|
47
|
+
"@zintrust/queue-monitor": {
|
|
48
|
+
"optional": true
|
|
49
|
+
},
|
|
50
|
+
"@zintrust/queue-redis": {
|
|
51
|
+
"optional": true
|
|
52
|
+
}
|
|
39
53
|
},
|
|
40
54
|
"publishConfig": {
|
|
41
55
|
"access": "public"
|
|
42
56
|
},
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "node scripts/generate-embedded-assets.mjs && tsc -p tsconfig.json",
|
|
45
|
-
"prepublishOnly": "npm run build"
|
|
46
|
-
},
|
|
47
57
|
"dependencies": {
|
|
48
58
|
"@opentelemetry/api": "^1.9.0",
|
|
49
|
-
"hot-shots": "^14.
|
|
59
|
+
"hot-shots": "^14.2.0",
|
|
50
60
|
"ioredis": "^5.10.0",
|
|
51
61
|
"ml.js": "^0.0.1",
|
|
52
62
|
"prom-client": "^15.1.3",
|
|
53
|
-
"simple-statistics": "^7.8.
|
|
54
|
-
},
|
|
55
|
-
"optionalDependencies": {
|
|
56
|
-
"@zintrust/queue-monitor": "^0.1.51",
|
|
57
|
-
"@zintrust/queue-redis": "^0.1.54"
|
|
63
|
+
"simple-statistics": "^7.8.9"
|
|
58
64
|
}
|
|
59
|
-
}
|
|
65
|
+
}
|
package/src/register.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { CliCommandProvider } from '@zintrust/core/cli';
|
|
2
|
+
|
|
3
|
+
type Registry = {
|
|
4
|
+
register: (id: string, provider: CliCommandProvider) => void;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
type WorkerCommandsModule = {
|
|
8
|
+
WorkerCommands: {
|
|
9
|
+
createWorkerListCommand: () => CliCommandProvider;
|
|
10
|
+
createWorkerStatusCommand: () => CliCommandProvider;
|
|
11
|
+
createWorkerStartCommand: () => CliCommandProvider;
|
|
12
|
+
createWorkerStartAllCommand: () => CliCommandProvider;
|
|
13
|
+
createWorkerStopCommand: () => CliCommandProvider;
|
|
14
|
+
createWorkerRestartCommand: () => CliCommandProvider;
|
|
15
|
+
createWorkerSummaryCommand: () => CliCommandProvider;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const commandModule = (await (async (): Promise<WorkerCommandsModule> => {
|
|
20
|
+
return (await import('@zintrust/core/cli')) as unknown as WorkerCommandsModule;
|
|
21
|
+
})()) satisfies WorkerCommandsModule;
|
|
22
|
+
|
|
23
|
+
const getWorkerProviders = (): Array<[string, CliCommandProvider]> => {
|
|
24
|
+
const { WorkerCommands } = commandModule;
|
|
25
|
+
|
|
26
|
+
return [
|
|
27
|
+
['worker:list', WorkerCommands.createWorkerListCommand()],
|
|
28
|
+
['worker:status', WorkerCommands.createWorkerStatusCommand()],
|
|
29
|
+
['worker:start', WorkerCommands.createWorkerStartCommand()],
|
|
30
|
+
['worker:start-all', WorkerCommands.createWorkerStartAllCommand()],
|
|
31
|
+
['worker:stop', WorkerCommands.createWorkerStopCommand()],
|
|
32
|
+
['worker:restart', WorkerCommands.createWorkerRestartCommand()],
|
|
33
|
+
['worker:summary', WorkerCommands.createWorkerSummaryCommand()],
|
|
34
|
+
];
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export function registerWorkerCliCommands(registry: Registry): void {
|
|
38
|
+
for (const [id, provider] of getWorkerProviders()) {
|
|
39
|
+
registry.register(id, provider);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
type GlobalWithRegistry = {
|
|
44
|
+
__zintrust_cli_command_registry__?: Map<string, CliCommandProvider>;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const globalWithRegistry = globalThis as unknown as GlobalWithRegistry;
|
|
48
|
+
const globalRegistry =
|
|
49
|
+
globalWithRegistry.__zintrust_cli_command_registry__ ??
|
|
50
|
+
(globalWithRegistry.__zintrust_cli_command_registry__ = new Map<string, CliCommandProvider>());
|
|
51
|
+
|
|
52
|
+
registerWorkerCliCommands({
|
|
53
|
+
register: (id, provider) => {
|
|
54
|
+
globalRegistry.set(id, provider);
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
try {
|
|
59
|
+
const core = (await import('@zintrust/core/cli')) as unknown as {
|
|
60
|
+
OptionalCliCommandRegistry?: Registry;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
if (core.OptionalCliCommandRegistry !== undefined) {
|
|
64
|
+
registerWorkerCliCommands(core.OptionalCliCommandRegistry);
|
|
65
|
+
}
|
|
66
|
+
} catch {
|
|
67
|
+
// no-op
|
|
68
|
+
}
|