@xyo-network/xl1-cli 1.6.4 → 1.6.6
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/build/commands/api/runApi.d.ts +6 -1
- package/build/commands/api/runApi.d.ts.map +1 -1
- package/build/commands/producer/runProducer.d.ts +7 -1
- package/build/commands/producer/runProducer.d.ts.map +1 -1
- package/build/commands/validator/runValidator.d.ts +7 -1
- package/build/commands/validator/runValidator.d.ts.map +1 -1
- package/build/initLogger.d.ts +3 -0
- package/build/initLogger.d.ts.map +1 -0
- package/build/node/index.mjs +70 -54
- package/build/node/index.mjs.map +1 -1
- package/build/node/xl1.mjs +82 -66
- package/build/node/xl1.mjs.map +1 -1
- package/build/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts +2 -1
- package/build/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts.map +1 -1
- package/build/orchestration/actor/implementation/ProducerActor.d.ts +2 -1
- package/build/orchestration/actor/implementation/ProducerActor.d.ts.map +1 -1
- package/build/orchestration/actor/model/Actor.d.ts +2 -3
- package/build/orchestration/actor/model/Actor.d.ts.map +1 -1
- package/build/orchestration/actor/model/Orchestrator.d.ts +7 -4
- package/build/orchestration/actor/model/Orchestrator.d.ts.map +1 -1
- package/build/orchestration/archivists/StakeIntentState/local.d.ts.map +1 -1
- package/build/orchestration/initServices.d.ts +1 -1
- package/build/orchestration/initServices.d.ts.map +1 -1
- package/build/runCLI.d.ts +7 -1
- package/build/runCLI.d.ts.map +1 -1
- package/build/start.d.ts.map +1 -1
- package/dist/cli-min.mjs +9 -9
- package/package.json +32 -32
- package/src/commands/api/runApi.ts +8 -4
- package/src/commands/producer/runProducer.ts +13 -5
- package/src/commands/validator/runValidator.ts +10 -1
- package/src/initEnv.ts +1 -1
- package/src/initLogger.ts +15 -0
- package/src/orchestration/actor/implementation/ChainHeadUpdateActor.ts +2 -2
- package/src/orchestration/actor/implementation/ProducerActor.ts +3 -3
- package/src/orchestration/actor/model/Actor.ts +3 -4
- package/src/orchestration/actor/model/Orchestrator.ts +17 -11
- package/src/orchestration/archivists/StakeIntentState/local.ts +0 -2
- package/src/orchestration/initServices.ts +6 -12
- package/src/runCLI.ts +16 -13
- package/src/start.ts +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runApi.d.ts","sourceRoot":"","sources":["../../../src/commands/api/runApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runApi.d.ts","sourceRoot":"","sources":["../../../src/commands/api/runApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,QAG5C"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type { Logger } from '@xylabs/logger';
|
|
1
2
|
import type { Orchestrator } from '../../orchestration/index.ts';
|
|
2
|
-
|
|
3
|
+
interface RunProducerContext {
|
|
4
|
+
logger: Logger;
|
|
5
|
+
orchestrator: Orchestrator;
|
|
6
|
+
}
|
|
7
|
+
export declare const runProducer: (context: RunProducerContext) => Promise<void>;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=runProducer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runProducer.d.ts","sourceRoot":"","sources":["../../../src/commands/producer/runProducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAKhE,eAAO,MAAM,WAAW,GAAU,
|
|
1
|
+
{"version":3,"file":"runProducer.d.ts","sourceRoot":"","sources":["../../../src/commands/producer/runProducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAKhE,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,eAAO,MAAM,WAAW,GAAU,SAAS,kBAAkB,kBAoB5D,CAAA"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import type { Logger } from '@xylabs/logger';
|
|
1
2
|
import type { Orchestrator } from '../../orchestration/index.ts';
|
|
2
|
-
|
|
3
|
+
interface RunValidatorContext {
|
|
4
|
+
logger: Logger;
|
|
5
|
+
orchestrator: Orchestrator;
|
|
6
|
+
}
|
|
7
|
+
export declare const runValidator: (context: RunValidatorContext) => Promise<void>;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=runValidator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runValidator.d.ts","sourceRoot":"","sources":["../../../src/commands/validator/runValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAGhE,eAAO,MAAM,YAAY,GAAU,
|
|
1
|
+
{"version":3,"file":"runValidator.d.ts","sourceRoot":"","sources":["../../../src/commands/validator/runValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAGhE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,kBAW9D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initLogger.d.ts","sourceRoot":"","sources":["../src/initLogger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAI5C,eAAO,MAAM,UAAU,QAAO,MAS7B,CAAA"}
|
package/build/node/index.mjs
CHANGED
|
@@ -7,11 +7,11 @@ import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
|
7
7
|
import { Mutex } from "async-mutex";
|
|
8
8
|
|
|
9
9
|
// src/orchestration/actor/model/Actor.ts
|
|
10
|
-
import {
|
|
10
|
+
import { Base } from "@xylabs/base";
|
|
11
11
|
import { forget } from "@xylabs/forget";
|
|
12
12
|
import { IdLogger } from "@xylabs/logger";
|
|
13
13
|
import { span, spanAsync } from "@xylabs/telemetry";
|
|
14
|
-
var Actor = class extends
|
|
14
|
+
var Actor = class extends Base {
|
|
15
15
|
static {
|
|
16
16
|
__name(this, "Actor");
|
|
17
17
|
}
|
|
@@ -20,7 +20,7 @@ var Actor = class extends BaseEmitter {
|
|
|
20
20
|
_displayName;
|
|
21
21
|
_id;
|
|
22
22
|
constructor(id, displayName = "Actor", params) {
|
|
23
|
-
const logger = params.logger ?? new IdLogger(console, () => `[${displayName} (${id})] `);
|
|
23
|
+
const logger = params.logger ?? new IdLogger(Base.defaultLogger ?? console, () => `[${displayName} (${id})] `);
|
|
24
24
|
super({
|
|
25
25
|
...params,
|
|
26
26
|
logger
|
|
@@ -102,7 +102,11 @@ var Orchestrator = class {
|
|
|
102
102
|
}
|
|
103
103
|
actors = [];
|
|
104
104
|
keepAliveHandle = null;
|
|
105
|
+
logger;
|
|
105
106
|
running = false;
|
|
107
|
+
constructor(logger) {
|
|
108
|
+
this.logger = logger;
|
|
109
|
+
}
|
|
106
110
|
/**
|
|
107
111
|
* Registers an actor.
|
|
108
112
|
* (We won't activate the actor until `start()` is called.)
|
|
@@ -119,10 +123,10 @@ var Orchestrator = class {
|
|
|
119
123
|
async start() {
|
|
120
124
|
await Promise.resolve();
|
|
121
125
|
if (this.running) {
|
|
122
|
-
|
|
126
|
+
this.logger?.warn("[Orchestrator] Already started.");
|
|
123
127
|
return;
|
|
124
128
|
}
|
|
125
|
-
|
|
129
|
+
this.logger?.log("[Orchestrator] Starting...");
|
|
126
130
|
this.running = true;
|
|
127
131
|
for (const actor of this.actors) {
|
|
128
132
|
await actor.start();
|
|
@@ -136,16 +140,16 @@ var Orchestrator = class {
|
|
|
136
140
|
async stop() {
|
|
137
141
|
await Promise.resolve();
|
|
138
142
|
if (!this.running) {
|
|
139
|
-
|
|
143
|
+
this.logger?.log("[Orchestrator] Already stopped.");
|
|
140
144
|
return;
|
|
141
145
|
}
|
|
142
|
-
|
|
146
|
+
this.logger?.log("[Orchestrator] Stopping...");
|
|
143
147
|
for (const actor of this.actors) {
|
|
144
148
|
await actor.stop();
|
|
145
149
|
}
|
|
146
150
|
this.running = false;
|
|
147
151
|
if (this.keepAliveHandle) clearInterval(this.keepAliveHandle);
|
|
148
|
-
|
|
152
|
+
this.logger?.log("[Orchestrator] Stopped...");
|
|
149
153
|
}
|
|
150
154
|
};
|
|
151
155
|
|
|
@@ -204,8 +208,7 @@ var ChainHeadUpdateActor = class _ChainHeadUpdateActor extends Actor {
|
|
|
204
208
|
get chainIterator() {
|
|
205
209
|
return assertEx2(this.params.chainIterator, () => "chainIterator not set");
|
|
206
210
|
}
|
|
207
|
-
static
|
|
208
|
-
await Promise.resolve();
|
|
211
|
+
static create(params) {
|
|
209
212
|
return new _ChainHeadUpdateActor(params);
|
|
210
213
|
}
|
|
211
214
|
async start() {
|
|
@@ -255,7 +258,7 @@ var ProducerActor = class _ProducerActor extends Actor {
|
|
|
255
258
|
_lastProducedBlock;
|
|
256
259
|
_lastRedeclarationIntent;
|
|
257
260
|
constructor(params) {
|
|
258
|
-
super(
|
|
261
|
+
super(params.producer.address, "Producer", params);
|
|
259
262
|
}
|
|
260
263
|
get account() {
|
|
261
264
|
return assertEx3(this.params.account, () => "account not set");
|
|
@@ -281,8 +284,7 @@ var ProducerActor = class _ProducerActor extends Actor {
|
|
|
281
284
|
get stakeIntentService() {
|
|
282
285
|
return assertEx3(this.params.stakeIntentService, () => "stakeIntentService not set");
|
|
283
286
|
}
|
|
284
|
-
static
|
|
285
|
-
await Promise.resolve();
|
|
287
|
+
static create(params) {
|
|
286
288
|
return new _ProducerActor(params);
|
|
287
289
|
}
|
|
288
290
|
async start() {
|
|
@@ -451,7 +453,6 @@ var initHealthEndpoints = /* @__PURE__ */ __name((params) => {
|
|
|
451
453
|
|
|
452
454
|
// src/orchestration/initServices.ts
|
|
453
455
|
import { assertEx as assertEx16 } from "@xylabs/assert";
|
|
454
|
-
import { Base } from "@xylabs/base";
|
|
455
456
|
import { asAddress as asAddress2 } from "@xylabs/hex";
|
|
456
457
|
import { isDefined as isDefined5 } from "@xylabs/typeof";
|
|
457
458
|
import { balanceSummaryRepositoryFromMap } from "@xyo-network/chain-modules";
|
|
@@ -696,9 +697,7 @@ var singleton11;
|
|
|
696
697
|
var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async () => {
|
|
697
698
|
return await mutex11.runExclusive(async () => {
|
|
698
699
|
if (singleton11) return singleton11;
|
|
699
|
-
console.log("[InitServices:LocalStakeIntentStateArchivist:Initializing]");
|
|
700
700
|
singleton11 = await getLocalPersistentArchivist("stakeIntent", "state");
|
|
701
|
-
console.log("[InitServices:LocalStakeIntentStateArchivist:Initialized]");
|
|
702
701
|
return assertEx8(singleton11, () => new Error("Failed to initialize stake intent state archivist"));
|
|
703
702
|
});
|
|
704
703
|
}, "initLocalStakeIntentStateArchivist");
|
|
@@ -895,8 +894,8 @@ var getChainId = /* @__PURE__ */ __name(() => {
|
|
|
895
894
|
|
|
896
895
|
// src/orchestration/services/implementation/evm/initGanacheProvider.ts
|
|
897
896
|
var initJsonRpcProvider = /* @__PURE__ */ __name(() => {
|
|
898
|
-
const
|
|
899
|
-
return Promise.resolve(new JsonRpcProvider(...
|
|
897
|
+
const config = getJsonRpcProviderConfig();
|
|
898
|
+
return Promise.resolve(new JsonRpcProvider(...config));
|
|
900
899
|
}, "initJsonRpcProvider");
|
|
901
900
|
var canUseJsonRpcProvider = /* @__PURE__ */ __name(() => {
|
|
902
901
|
return canUseChainId() && process.env.XYO_JSON_RPC_URL !== void 0;
|
|
@@ -915,8 +914,8 @@ import { InfuraProvider } from "ethers/providers";
|
|
|
915
914
|
var instance;
|
|
916
915
|
var initInfuraProvider = /* @__PURE__ */ __name(() => {
|
|
917
916
|
if (instance) return instance;
|
|
918
|
-
const
|
|
919
|
-
instance = Promise.resolve(new InfuraProvider(...
|
|
917
|
+
const config = getInfuraProviderConfig();
|
|
918
|
+
instance = Promise.resolve(new InfuraProvider(...config));
|
|
920
919
|
return instance;
|
|
921
920
|
}, "initInfuraProvider");
|
|
922
921
|
var canUseInfuraProvider = /* @__PURE__ */ __name(() => {
|
|
@@ -1196,17 +1195,16 @@ var isStartable = /* @__PURE__ */ __name((value) => {
|
|
|
1196
1195
|
return isDefined5(value.start) && typeof value.start === "function";
|
|
1197
1196
|
}, "isStartable");
|
|
1198
1197
|
var initServices = /* @__PURE__ */ __name(async (logger) => {
|
|
1199
|
-
|
|
1200
|
-
const statusReporter = new RuntimeStatusMonitor(logger ?? console);
|
|
1198
|
+
const statusReporter = new RuntimeStatusMonitor(logger);
|
|
1201
1199
|
statusReporter.onGlobalTransition({
|
|
1202
1200
|
to: "started"
|
|
1203
1201
|
}, () => {
|
|
1204
|
-
|
|
1202
|
+
logger.log("All services started.");
|
|
1205
1203
|
});
|
|
1206
1204
|
statusReporter.onGlobalTransition({
|
|
1207
1205
|
to: "error"
|
|
1208
1206
|
}, () => {
|
|
1209
|
-
|
|
1207
|
+
logger.error("Producer encountered an unhandled error!");
|
|
1210
1208
|
process.exit(1);
|
|
1211
1209
|
});
|
|
1212
1210
|
await startupSpanAsync7("initHealthEndpoints", () => initHealthEndpoints({
|
|
@@ -1273,7 +1271,6 @@ var initServices = /* @__PURE__ */ __name(async (logger) => {
|
|
|
1273
1271
|
chainArchivist,
|
|
1274
1272
|
chainIterator,
|
|
1275
1273
|
chainStakeViewer,
|
|
1276
|
-
logger: console,
|
|
1277
1274
|
stakeIntentStateArchivist,
|
|
1278
1275
|
traceProvider,
|
|
1279
1276
|
statusReporter
|
|
@@ -1326,7 +1323,7 @@ var initServices = /* @__PURE__ */ __name(async (logger) => {
|
|
|
1326
1323
|
rewardService,
|
|
1327
1324
|
stakeIntentService
|
|
1328
1325
|
};
|
|
1329
|
-
|
|
1326
|
+
logger?.log("All services created. Starting...");
|
|
1330
1327
|
const startableServices = [
|
|
1331
1328
|
balanceSummaryMap,
|
|
1332
1329
|
...Object.values(result)
|
|
@@ -1342,18 +1339,18 @@ import { hideBin } from "yargs/helpers";
|
|
|
1342
1339
|
|
|
1343
1340
|
// src/commands/api/runApi.ts
|
|
1344
1341
|
import { getServer } from "@xyo-network/chain-api";
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
void getServer();
|
|
1342
|
+
function runApi(context) {
|
|
1343
|
+
const { logger } = context;
|
|
1344
|
+
void getServer(void 0, void 0, logger);
|
|
1349
1345
|
}
|
|
1350
1346
|
__name(runApi, "runApi");
|
|
1351
1347
|
|
|
1352
1348
|
// src/commands/producer/runProducer.ts
|
|
1353
|
-
var runProducer = /* @__PURE__ */ __name(async (
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1349
|
+
var runProducer = /* @__PURE__ */ __name(async (context) => {
|
|
1350
|
+
const { logger, orchestrator } = context;
|
|
1351
|
+
logger?.log("Services: Initializing...");
|
|
1352
|
+
const services = await initServices(logger);
|
|
1353
|
+
logger?.log("Services: Initialized");
|
|
1357
1354
|
const chainHeadUpdate = await ChainHeadUpdateActor.create(services);
|
|
1358
1355
|
const producer = await ProducerActor.create(services);
|
|
1359
1356
|
const balances = await BalanceActor.create(services);
|
|
@@ -1369,7 +1366,8 @@ var runProducer = /* @__PURE__ */ __name(async (orchestrator) => {
|
|
|
1369
1366
|
}, "runProducer");
|
|
1370
1367
|
|
|
1371
1368
|
// src/commands/validator/runValidator.ts
|
|
1372
|
-
var runValidator = /* @__PURE__ */ __name(async (
|
|
1369
|
+
var runValidator = /* @__PURE__ */ __name(async (context) => {
|
|
1370
|
+
const { orchestrator } = context;
|
|
1373
1371
|
const myActor = new Actor("Validator", "Validator", {});
|
|
1374
1372
|
await orchestrator.registerActor(myActor);
|
|
1375
1373
|
await orchestrator.start();
|
|
@@ -1395,28 +1393,25 @@ function waitForPort(host, port) {
|
|
|
1395
1393
|
});
|
|
1396
1394
|
}
|
|
1397
1395
|
__name(waitForPort, "waitForPort");
|
|
1398
|
-
async function runCLI(
|
|
1396
|
+
async function runCLI(context) {
|
|
1399
1397
|
async function validateTransaction() {
|
|
1400
|
-
|
|
1401
|
-
await Promise.resolve();
|
|
1398
|
+
await Promise.reject("Not implemented yet");
|
|
1402
1399
|
}
|
|
1403
1400
|
__name(validateTransaction, "validateTransaction");
|
|
1404
1401
|
async function submitTransaction() {
|
|
1405
|
-
|
|
1406
|
-
await Promise.resolve();
|
|
1402
|
+
await Promise.reject("Not implemented yet");
|
|
1407
1403
|
}
|
|
1408
1404
|
__name(submitTransaction, "submitTransaction");
|
|
1409
1405
|
async function checkBalance() {
|
|
1410
|
-
|
|
1411
|
-
await Promise.resolve();
|
|
1406
|
+
await Promise.reject("Not implemented yet");
|
|
1412
1407
|
}
|
|
1413
1408
|
__name(checkBalance, "checkBalance");
|
|
1414
1409
|
const argv = yargs(hideBin(process.argv)).command("validator", "Run the XL1 validator", (yargs2) => {
|
|
1415
1410
|
return yargs2.command("$0", "Run as a XL1 validator node", () => {
|
|
1416
|
-
}, () => runValidator(
|
|
1411
|
+
}, () => runValidator(context));
|
|
1417
1412
|
}).command("producer", "Run the XL1 producer", (yargs2) => {
|
|
1418
1413
|
return yargs2.command("$0", "Run as a XL1 producer node", () => {
|
|
1419
|
-
}, () => runProducer(
|
|
1414
|
+
}, () => runProducer(context));
|
|
1420
1415
|
}).command("client", "Client-related operations", (yargs2) => {
|
|
1421
1416
|
return yargs2.command("transaction", "Transaction-related operations", (yargs3) => {
|
|
1422
1417
|
return yargs3.command("validate", "Validate a transaction", () => {
|
|
@@ -1425,14 +1420,14 @@ async function runCLI(orchestrator) {
|
|
|
1425
1420
|
});
|
|
1426
1421
|
}).command("api", "Run as a api node", (yargs2) => {
|
|
1427
1422
|
return yargs2.command("$0", "Run as a api node", () => {
|
|
1428
|
-
}, () => runApi()).command("run", "Run as a api node", () => {
|
|
1429
|
-
}, () => runApi());
|
|
1423
|
+
}, () => runApi(context)).command("run", "Run as a api node", () => {
|
|
1424
|
+
}, () => runApi(context));
|
|
1430
1425
|
}).command("$0", "Run a full XL1 deployment", (yargs2) => {
|
|
1431
1426
|
return yargs2.command("$0", "Start the API and a producer", () => {
|
|
1432
1427
|
}, async () => {
|
|
1433
|
-
runApi();
|
|
1428
|
+
runApi(context);
|
|
1434
1429
|
await waitForPort("localhost", 8080);
|
|
1435
|
-
await runProducer(
|
|
1430
|
+
await runProducer(context);
|
|
1436
1431
|
});
|
|
1437
1432
|
}).command("account", "Account-related operations", (yargs2) => {
|
|
1438
1433
|
return yargs2.command("balance", "Check account balance", () => {
|
|
@@ -1445,7 +1440,9 @@ __name(runCLI, "runCLI");
|
|
|
1445
1440
|
// src/initEnv.ts
|
|
1446
1441
|
import dotenv from "dotenv";
|
|
1447
1442
|
var initEnv = /* @__PURE__ */ __name(() => {
|
|
1448
|
-
dotenv.config(
|
|
1443
|
+
dotenv.config({
|
|
1444
|
+
quiet: true
|
|
1445
|
+
});
|
|
1449
1446
|
if (process.env.ENV_FILE !== void 0) {
|
|
1450
1447
|
dotenv.config({
|
|
1451
1448
|
path: process.env.ENV_FILE,
|
|
@@ -1454,24 +1451,43 @@ var initEnv = /* @__PURE__ */ __name(() => {
|
|
|
1454
1451
|
}
|
|
1455
1452
|
}, "initEnv");
|
|
1456
1453
|
|
|
1454
|
+
// src/initLogger.ts
|
|
1455
|
+
import { Base as Base2 } from "@xylabs/base";
|
|
1456
|
+
import { ConsoleLogger, LogLevel } from "@xylabs/logger";
|
|
1457
|
+
import { isDefined as isDefined6 } from "@xylabs/typeof";
|
|
1458
|
+
var initLogger = /* @__PURE__ */ __name(() => {
|
|
1459
|
+
let level = LogLevel.info;
|
|
1460
|
+
if (isDefined6(process.env.LOG_LEVEL)) {
|
|
1461
|
+
const parsed = LogLevel[process.env.LOG_LEVEL.toLowerCase()];
|
|
1462
|
+
if (isDefined6(parsed)) level = parsed;
|
|
1463
|
+
}
|
|
1464
|
+
const logger = new ConsoleLogger(level);
|
|
1465
|
+
Base2.defaultLogger = logger;
|
|
1466
|
+
return logger;
|
|
1467
|
+
}, "initLogger");
|
|
1468
|
+
|
|
1457
1469
|
// src/start.ts
|
|
1458
1470
|
var start = /* @__PURE__ */ __name(async () => {
|
|
1459
1471
|
initEnv();
|
|
1460
|
-
const
|
|
1472
|
+
const logger = initLogger();
|
|
1473
|
+
const orchestrator = new Orchestrator(logger);
|
|
1461
1474
|
process.on("SIGINT", () => {
|
|
1462
1475
|
void (async () => {
|
|
1463
1476
|
try {
|
|
1464
|
-
|
|
1477
|
+
logger.log("\nSIGINT received. Attempting graceful shutdown...");
|
|
1465
1478
|
await orchestrator?.stop();
|
|
1466
|
-
|
|
1479
|
+
logger.log("Orchestrator stopped, exiting now.");
|
|
1467
1480
|
process.exit(0);
|
|
1468
1481
|
} catch (err) {
|
|
1469
|
-
|
|
1482
|
+
logger.error("Error stopping orchestrator:", err);
|
|
1470
1483
|
process.exit(1);
|
|
1471
1484
|
}
|
|
1472
1485
|
})();
|
|
1473
1486
|
});
|
|
1474
|
-
await runCLI(
|
|
1487
|
+
await runCLI({
|
|
1488
|
+
logger,
|
|
1489
|
+
orchestrator
|
|
1490
|
+
});
|
|
1475
1491
|
}, "start");
|
|
1476
1492
|
export {
|
|
1477
1493
|
Actor,
|