@camstack/kernel 0.1.1 → 0.1.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/dist/addon-installer-COAMHJ2E.mjs +6 -0
- package/dist/chunk-GVWOO5YX.mjs +494 -0
- package/dist/chunk-GVWOO5YX.mjs.map +1 -0
- package/dist/chunk-LZOMFHX3.mjs +38 -0
- package/dist/chunk-RHK5CCAL.mjs +154 -0
- package/dist/{chunk-S5YWNNPK.mjs.map → chunk-RHK5CCAL.mjs.map} +1 -1
- package/dist/index.d.mts +20 -18
- package/dist/index.d.ts +20 -18
- package/dist/index.js +2037 -1694
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1462 -1230
- package/dist/index.mjs.map +1 -1
- package/dist/worker/addon-worker-entry.js +431 -272
- package/dist/worker/addon-worker-entry.js.map +1 -1
- package/dist/worker/addon-worker-entry.mjs +8 -5
- package/dist/worker/addon-worker-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/addon-installer-RE7RJMVP.mjs +0 -8
- package/dist/chunk-BJTO5JO5.mjs +0 -11
- package/dist/chunk-REHQJR3P.mjs +0 -387
- package/dist/chunk-REHQJR3P.mjs.map +0 -1
- package/dist/chunk-S5YWNNPK.mjs +0 -135
- /package/dist/{addon-installer-RE7RJMVP.mjs.map → addon-installer-COAMHJ2E.mjs.map} +0 -0
- /package/dist/{chunk-BJTO5JO5.mjs.map → chunk-LZOMFHX3.mjs.map} +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__commonJS,
|
|
3
|
+
__require
|
|
4
|
+
} from "./chunk-LZOMFHX3.mjs";
|
|
5
|
+
|
|
6
|
+
// src/worker/worker-process-manager.js
|
|
7
|
+
var require_worker_process_manager = __commonJS({
|
|
8
|
+
"src/worker/worker-process-manager.js"(exports) {
|
|
9
|
+
"use strict";
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.WorkerProcessManager = void 0;
|
|
12
|
+
var node_child_process_1 = __require("child_process");
|
|
13
|
+
var WorkerProcessManager = class {
|
|
14
|
+
sendToMain;
|
|
15
|
+
processes = /* @__PURE__ */ new Map();
|
|
16
|
+
constructor(sendToMain) {
|
|
17
|
+
this.sendToMain = sendToMain;
|
|
18
|
+
}
|
|
19
|
+
async spawn(config) {
|
|
20
|
+
const child = (0, node_child_process_1.spawn)(config.command, [...config.args ?? []], {
|
|
21
|
+
cwd: config.cwd,
|
|
22
|
+
env: config.env ? { ...process.env, ...config.env } : void 0,
|
|
23
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
24
|
+
});
|
|
25
|
+
const managed = new ManagedProcess(child, config, this.sendToMain);
|
|
26
|
+
this.processes.set(child.pid, managed);
|
|
27
|
+
this.sendToMain({
|
|
28
|
+
type: "SUB_PROCESS_SPAWNED",
|
|
29
|
+
pid: child.pid,
|
|
30
|
+
name: config.name,
|
|
31
|
+
command: config.command
|
|
32
|
+
});
|
|
33
|
+
child.on("exit", (code) => {
|
|
34
|
+
this.sendToMain({
|
|
35
|
+
type: "SUB_PROCESS_EXITED",
|
|
36
|
+
pid: child.pid,
|
|
37
|
+
code
|
|
38
|
+
});
|
|
39
|
+
if (config.autoRestart && managed.restartCount < (config.maxRestarts ?? 3)) {
|
|
40
|
+
managed.restartCount++;
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.spawn(config).catch(() => {
|
|
43
|
+
});
|
|
44
|
+
}, 2e3);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return managed;
|
|
48
|
+
}
|
|
49
|
+
listProcesses() {
|
|
50
|
+
return [...this.processes.values()].map((p) => p.toInfo());
|
|
51
|
+
}
|
|
52
|
+
getWorkerStats() {
|
|
53
|
+
const mem = process.memoryUsage();
|
|
54
|
+
const cpu = process.cpuUsage();
|
|
55
|
+
return {
|
|
56
|
+
pid: process.pid,
|
|
57
|
+
cpuPercent: (cpu.user + cpu.system) / 1e6,
|
|
58
|
+
memoryRss: mem.rss,
|
|
59
|
+
heapUsed: mem.heapUsed,
|
|
60
|
+
uptimeSeconds: Math.round(process.uptime()),
|
|
61
|
+
restartCount: 0,
|
|
62
|
+
state: "running"
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async killAll() {
|
|
66
|
+
for (const [, proc] of this.processes) {
|
|
67
|
+
proc.kill("SIGTERM");
|
|
68
|
+
}
|
|
69
|
+
this.processes.clear();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.WorkerProcessManager = WorkerProcessManager;
|
|
73
|
+
var ManagedProcess = class {
|
|
74
|
+
child;
|
|
75
|
+
config;
|
|
76
|
+
sendToMain;
|
|
77
|
+
pid;
|
|
78
|
+
name;
|
|
79
|
+
restartCount = 0;
|
|
80
|
+
startedAt = Date.now();
|
|
81
|
+
exitHandlers = [];
|
|
82
|
+
errorHandlers = [];
|
|
83
|
+
constructor(child, config, sendToMain) {
|
|
84
|
+
this.child = child;
|
|
85
|
+
this.config = config;
|
|
86
|
+
this.sendToMain = sendToMain;
|
|
87
|
+
this.pid = child.pid;
|
|
88
|
+
this.name = config.name;
|
|
89
|
+
child.on("exit", (code) => {
|
|
90
|
+
for (const handler of this.exitHandlers)
|
|
91
|
+
handler(code);
|
|
92
|
+
});
|
|
93
|
+
child.on("error", (err) => {
|
|
94
|
+
for (const handler of this.errorHandlers)
|
|
95
|
+
handler(err);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getStats() {
|
|
99
|
+
return {
|
|
100
|
+
pid: this.pid,
|
|
101
|
+
cpuPercent: 0,
|
|
102
|
+
memoryRss: 0,
|
|
103
|
+
uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1e3),
|
|
104
|
+
restartCount: this.restartCount,
|
|
105
|
+
state: this.child.exitCode !== null ? "stopped" : "running"
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
write(data) {
|
|
109
|
+
this.child.stdin?.write(data);
|
|
110
|
+
}
|
|
111
|
+
get stdout() {
|
|
112
|
+
return this.child.stdout;
|
|
113
|
+
}
|
|
114
|
+
get stderr() {
|
|
115
|
+
return this.child.stderr;
|
|
116
|
+
}
|
|
117
|
+
kill(signal = "SIGTERM") {
|
|
118
|
+
this.child.kill(signal);
|
|
119
|
+
}
|
|
120
|
+
wait() {
|
|
121
|
+
if (this.child.exitCode !== null) {
|
|
122
|
+
return Promise.resolve({ code: this.child.exitCode, signal: null });
|
|
123
|
+
}
|
|
124
|
+
return new Promise((resolve) => {
|
|
125
|
+
this.child.on("exit", (code, signal) => {
|
|
126
|
+
resolve({ code, signal });
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
onExit(handler) {
|
|
131
|
+
this.exitHandlers.push(handler);
|
|
132
|
+
}
|
|
133
|
+
onError(handler) {
|
|
134
|
+
this.errorHandlers.push(handler);
|
|
135
|
+
}
|
|
136
|
+
toInfo() {
|
|
137
|
+
return {
|
|
138
|
+
pid: this.pid,
|
|
139
|
+
name: this.name,
|
|
140
|
+
command: this.config.command,
|
|
141
|
+
state: this.child.exitCode !== null ? "stopped" : "running",
|
|
142
|
+
cpuPercent: 0,
|
|
143
|
+
memoryRss: 0,
|
|
144
|
+
uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1e3)
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
export {
|
|
152
|
+
require_worker_process_manager
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=chunk-RHK5CCAL.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/worker/worker-process-manager.ts"],"sourcesContent":["import { spawn, type ChildProcess } from 'node:child_process'\nimport type {\n WorkerToMainMessage,\n WorkerProcessStats,\n SubProcessInfo,\n} from '@camstack/types'\nimport type {\n IAddonProcessManager,\n SubProcessConfig,\n IManagedSubProcess,\n} from '@camstack/types'\n\nexport class WorkerProcessManager implements IAddonProcessManager {\n private readonly processes = new Map<number, ManagedProcess>()\n\n constructor(\n private readonly sendToMain: (msg: WorkerToMainMessage) => void,\n ) {}\n\n async spawn(config: SubProcessConfig): Promise<IManagedSubProcess> {\n const child = spawn(config.command, [...(config.args ?? [])], {\n cwd: config.cwd,\n env: config.env ? { ...process.env, ...config.env } : undefined,\n stdio: ['pipe', 'pipe', 'pipe'],\n })\n\n const managed = new ManagedProcess(child, config, this.sendToMain)\n this.processes.set(child.pid!, managed)\n\n this.sendToMain({\n type: 'SUB_PROCESS_SPAWNED',\n pid: child.pid!,\n name: config.name,\n command: config.command,\n })\n\n child.on('exit', (code) => {\n this.sendToMain({\n type: 'SUB_PROCESS_EXITED',\n pid: child.pid!,\n code,\n })\n\n if (config.autoRestart && managed.restartCount < (config.maxRestarts ?? 3)) {\n managed.restartCount++\n setTimeout(() => {\n this.spawn(config).catch(() => {})\n }, 2000)\n }\n })\n\n return managed\n }\n\n listProcesses(): readonly SubProcessInfo[] {\n return [...this.processes.values()].map((p) => p.toInfo())\n }\n\n getWorkerStats(): WorkerProcessStats {\n const mem = process.memoryUsage()\n const cpu = process.cpuUsage()\n return {\n pid: process.pid,\n cpuPercent: (cpu.user + cpu.system) / 1_000_000,\n memoryRss: mem.rss,\n heapUsed: mem.heapUsed,\n uptimeSeconds: Math.round(process.uptime()),\n restartCount: 0,\n state: 'running',\n }\n }\n\n async killAll(): Promise<void> {\n for (const [, proc] of this.processes) {\n proc.kill('SIGTERM')\n }\n this.processes.clear()\n }\n}\n\nclass ManagedProcess implements IManagedSubProcess {\n readonly pid: number\n readonly name: string\n restartCount = 0\n private readonly startedAt = Date.now()\n private exitHandlers: Array<(code: number | null) => void> = []\n private errorHandlers: Array<(error: Error) => void> = []\n\n constructor(\n private readonly child: ChildProcess,\n private readonly config: SubProcessConfig,\n private readonly sendToMain: (msg: WorkerToMainMessage) => void,\n ) {\n this.pid = child.pid!\n this.name = config.name\n\n child.on('exit', (code) => {\n for (const handler of this.exitHandlers) handler(code)\n })\n\n child.on('error', (err) => {\n for (const handler of this.errorHandlers) handler(err)\n })\n }\n\n getStats(): WorkerProcessStats {\n return {\n pid: this.pid,\n cpuPercent: 0,\n memoryRss: 0,\n uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1000),\n restartCount: this.restartCount,\n state: this.child.exitCode !== null ? 'stopped' : 'running',\n }\n }\n\n write(data: Buffer): void {\n this.child.stdin?.write(data)\n }\n\n get stdout(): AsyncIterable<Buffer> {\n return this.child.stdout as AsyncIterable<Buffer>\n }\n\n get stderr(): AsyncIterable<Buffer> {\n return this.child.stderr as AsyncIterable<Buffer>\n }\n\n kill(signal: NodeJS.Signals = 'SIGTERM'): void {\n this.child.kill(signal)\n }\n\n wait(): Promise<{ code: number | null; signal: string | null }> {\n if (this.child.exitCode !== null) {\n return Promise.resolve({ code: this.child.exitCode, signal: null })\n }\n return new Promise((resolve) => {\n this.child.on('exit', (code, signal) => {\n resolve({ code, signal })\n })\n })\n }\n\n onExit(handler: (code: number | null) => void): void {\n this.exitHandlers.push(handler)\n }\n\n onError(handler: (error: Error) => void): void {\n this.errorHandlers.push(handler)\n }\n\n toInfo(): SubProcessInfo {\n return {\n pid: this.pid,\n name: this.name,\n command: this.config.command,\n state: this.child.exitCode !== null ? 'stopped' : 'running',\n cpuPercent: 0,\n memoryRss: 0,\n uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1000),\n }\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/worker/worker-process-manager.ts"],"sourcesContent":["import { spawn, type ChildProcess } from 'node:child_process'\nimport type {\n WorkerToMainMessage,\n WorkerProcessStats,\n SubProcessInfo,\n} from '@camstack/types'\nimport type {\n IAddonProcessManager,\n SubProcessConfig,\n IManagedSubProcess,\n} from '@camstack/types'\n\nexport class WorkerProcessManager implements IAddonProcessManager {\n private readonly processes = new Map<number, ManagedProcess>()\n\n constructor(\n private readonly sendToMain: (msg: WorkerToMainMessage) => void,\n ) {}\n\n async spawn(config: SubProcessConfig): Promise<IManagedSubProcess> {\n const child = spawn(config.command, [...(config.args ?? [])], {\n cwd: config.cwd,\n env: config.env ? { ...process.env, ...config.env } : undefined,\n stdio: ['pipe', 'pipe', 'pipe'],\n })\n\n const managed = new ManagedProcess(child, config, this.sendToMain)\n this.processes.set(child.pid!, managed)\n\n this.sendToMain({\n type: 'SUB_PROCESS_SPAWNED',\n pid: child.pid!,\n name: config.name,\n command: config.command,\n })\n\n child.on('exit', (code) => {\n this.sendToMain({\n type: 'SUB_PROCESS_EXITED',\n pid: child.pid!,\n code,\n })\n\n if (config.autoRestart && managed.restartCount < (config.maxRestarts ?? 3)) {\n managed.restartCount++\n setTimeout(() => {\n this.spawn(config).catch(() => {})\n }, 2000)\n }\n })\n\n return managed\n }\n\n listProcesses(): readonly SubProcessInfo[] {\n return [...this.processes.values()].map((p) => p.toInfo())\n }\n\n getWorkerStats(): WorkerProcessStats {\n const mem = process.memoryUsage()\n const cpu = process.cpuUsage()\n return {\n pid: process.pid,\n cpuPercent: (cpu.user + cpu.system) / 1_000_000,\n memoryRss: mem.rss,\n heapUsed: mem.heapUsed,\n uptimeSeconds: Math.round(process.uptime()),\n restartCount: 0,\n state: 'running',\n }\n }\n\n async killAll(): Promise<void> {\n for (const [, proc] of this.processes) {\n proc.kill('SIGTERM')\n }\n this.processes.clear()\n }\n}\n\nclass ManagedProcess implements IManagedSubProcess {\n readonly pid: number\n readonly name: string\n restartCount = 0\n private readonly startedAt = Date.now()\n private exitHandlers: Array<(code: number | null) => void> = []\n private errorHandlers: Array<(error: Error) => void> = []\n\n constructor(\n private readonly child: ChildProcess,\n private readonly config: SubProcessConfig,\n private readonly sendToMain: (msg: WorkerToMainMessage) => void,\n ) {\n this.pid = child.pid!\n this.name = config.name\n\n child.on('exit', (code) => {\n for (const handler of this.exitHandlers) handler(code)\n })\n\n child.on('error', (err) => {\n for (const handler of this.errorHandlers) handler(err)\n })\n }\n\n getStats(): WorkerProcessStats {\n return {\n pid: this.pid,\n cpuPercent: 0,\n memoryRss: 0,\n uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1000),\n restartCount: this.restartCount,\n state: this.child.exitCode !== null ? 'stopped' : 'running',\n }\n }\n\n write(data: Buffer): void {\n this.child.stdin?.write(data)\n }\n\n get stdout(): AsyncIterable<Buffer> {\n return this.child.stdout as AsyncIterable<Buffer>\n }\n\n get stderr(): AsyncIterable<Buffer> {\n return this.child.stderr as AsyncIterable<Buffer>\n }\n\n kill(signal: NodeJS.Signals = 'SIGTERM'): void {\n this.child.kill(signal)\n }\n\n wait(): Promise<{ code: number | null; signal: string | null }> {\n if (this.child.exitCode !== null) {\n return Promise.resolve({ code: this.child.exitCode, signal: null })\n }\n return new Promise((resolve) => {\n this.child.on('exit', (code, signal) => {\n resolve({ code, signal })\n })\n })\n }\n\n onExit(handler: (code: number | null) => void): void {\n this.exitHandlers.push(handler)\n }\n\n onError(handler: (error: Error) => void): void {\n this.errorHandlers.push(handler)\n }\n\n toInfo(): SubProcessInfo {\n return {\n pid: this.pid,\n name: this.name,\n command: this.config.command,\n state: this.child.exitCode !== null ? 'stopped' : 'running',\n cpuPercent: 0,\n memoryRss: 0,\n uptimeSeconds: Math.round((Date.now() - this.startedAt) / 1000),\n }\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -6,6 +6,8 @@ interface RegisteredAddon {
|
|
|
6
6
|
readonly declaration: AddonDeclaration;
|
|
7
7
|
readonly packageName: string;
|
|
8
8
|
readonly packageVersion: string;
|
|
9
|
+
/** Human-readable package name from camstack.displayName in package.json */
|
|
10
|
+
readonly packageDisplayName?: string;
|
|
9
11
|
readonly addonClass: new () => ICamstackAddon;
|
|
10
12
|
}
|
|
11
13
|
declare class AddonLoader {
|
|
@@ -370,24 +372,24 @@ declare const bootstrapSchema: z.ZodObject<{
|
|
|
370
372
|
keyPath?: string | undefined;
|
|
371
373
|
}>>;
|
|
372
374
|
}, "strip", z.ZodTypeAny, {
|
|
373
|
-
hub: {
|
|
374
|
-
url: string;
|
|
375
|
-
token: string;
|
|
376
|
-
};
|
|
377
375
|
agent: {
|
|
378
376
|
name: string;
|
|
379
377
|
statusPort: number;
|
|
380
378
|
};
|
|
381
|
-
mode: "
|
|
379
|
+
mode: "agent" | "hub";
|
|
380
|
+
auth: {
|
|
381
|
+
jwtSecret: string | null;
|
|
382
|
+
adminUsername: string;
|
|
383
|
+
adminPassword: string;
|
|
384
|
+
};
|
|
382
385
|
server: {
|
|
383
386
|
port: number;
|
|
384
387
|
host: string;
|
|
385
388
|
dataPath: string;
|
|
386
389
|
};
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
adminPassword: string;
|
|
390
|
+
hub: {
|
|
391
|
+
url: string;
|
|
392
|
+
token: string;
|
|
391
393
|
};
|
|
392
394
|
tls: {
|
|
393
395
|
enabled: boolean;
|
|
@@ -395,24 +397,24 @@ declare const bootstrapSchema: z.ZodObject<{
|
|
|
395
397
|
keyPath?: string | undefined;
|
|
396
398
|
};
|
|
397
399
|
}, {
|
|
398
|
-
hub?: {
|
|
399
|
-
url?: string | undefined;
|
|
400
|
-
token?: string | undefined;
|
|
401
|
-
} | undefined;
|
|
402
400
|
agent?: {
|
|
403
401
|
name?: string | undefined;
|
|
404
402
|
statusPort?: number | undefined;
|
|
405
403
|
} | undefined;
|
|
406
|
-
mode?: "
|
|
404
|
+
mode?: "agent" | "hub" | undefined;
|
|
405
|
+
auth?: {
|
|
406
|
+
jwtSecret?: string | null | undefined;
|
|
407
|
+
adminUsername?: string | undefined;
|
|
408
|
+
adminPassword?: string | undefined;
|
|
409
|
+
} | undefined;
|
|
407
410
|
server?: {
|
|
408
411
|
port?: number | undefined;
|
|
409
412
|
host?: string | undefined;
|
|
410
413
|
dataPath?: string | undefined;
|
|
411
414
|
} | undefined;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
adminPassword?: string | undefined;
|
|
415
|
+
hub?: {
|
|
416
|
+
url?: string | undefined;
|
|
417
|
+
token?: string | undefined;
|
|
416
418
|
} | undefined;
|
|
417
419
|
tls?: {
|
|
418
420
|
enabled?: boolean | undefined;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ interface RegisteredAddon {
|
|
|
6
6
|
readonly declaration: AddonDeclaration;
|
|
7
7
|
readonly packageName: string;
|
|
8
8
|
readonly packageVersion: string;
|
|
9
|
+
/** Human-readable package name from camstack.displayName in package.json */
|
|
10
|
+
readonly packageDisplayName?: string;
|
|
9
11
|
readonly addonClass: new () => ICamstackAddon;
|
|
10
12
|
}
|
|
11
13
|
declare class AddonLoader {
|
|
@@ -370,24 +372,24 @@ declare const bootstrapSchema: z.ZodObject<{
|
|
|
370
372
|
keyPath?: string | undefined;
|
|
371
373
|
}>>;
|
|
372
374
|
}, "strip", z.ZodTypeAny, {
|
|
373
|
-
hub: {
|
|
374
|
-
url: string;
|
|
375
|
-
token: string;
|
|
376
|
-
};
|
|
377
375
|
agent: {
|
|
378
376
|
name: string;
|
|
379
377
|
statusPort: number;
|
|
380
378
|
};
|
|
381
|
-
mode: "
|
|
379
|
+
mode: "agent" | "hub";
|
|
380
|
+
auth: {
|
|
381
|
+
jwtSecret: string | null;
|
|
382
|
+
adminUsername: string;
|
|
383
|
+
adminPassword: string;
|
|
384
|
+
};
|
|
382
385
|
server: {
|
|
383
386
|
port: number;
|
|
384
387
|
host: string;
|
|
385
388
|
dataPath: string;
|
|
386
389
|
};
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
adminPassword: string;
|
|
390
|
+
hub: {
|
|
391
|
+
url: string;
|
|
392
|
+
token: string;
|
|
391
393
|
};
|
|
392
394
|
tls: {
|
|
393
395
|
enabled: boolean;
|
|
@@ -395,24 +397,24 @@ declare const bootstrapSchema: z.ZodObject<{
|
|
|
395
397
|
keyPath?: string | undefined;
|
|
396
398
|
};
|
|
397
399
|
}, {
|
|
398
|
-
hub?: {
|
|
399
|
-
url?: string | undefined;
|
|
400
|
-
token?: string | undefined;
|
|
401
|
-
} | undefined;
|
|
402
400
|
agent?: {
|
|
403
401
|
name?: string | undefined;
|
|
404
402
|
statusPort?: number | undefined;
|
|
405
403
|
} | undefined;
|
|
406
|
-
mode?: "
|
|
404
|
+
mode?: "agent" | "hub" | undefined;
|
|
405
|
+
auth?: {
|
|
406
|
+
jwtSecret?: string | null | undefined;
|
|
407
|
+
adminUsername?: string | undefined;
|
|
408
|
+
adminPassword?: string | undefined;
|
|
409
|
+
} | undefined;
|
|
407
410
|
server?: {
|
|
408
411
|
port?: number | undefined;
|
|
409
412
|
host?: string | undefined;
|
|
410
413
|
dataPath?: string | undefined;
|
|
411
414
|
} | undefined;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
adminPassword?: string | undefined;
|
|
415
|
+
hub?: {
|
|
416
|
+
url?: string | undefined;
|
|
417
|
+
token?: string | undefined;
|
|
416
418
|
} | undefined;
|
|
417
419
|
tls?: {
|
|
418
420
|
enabled?: boolean | undefined;
|