@fraqjs/fraq 0.3.1 → 0.3.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/index.d.mts +9 -3
- package/dist/index.mjs +13 -2
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -5540,23 +5540,26 @@ declare namespace filter {
|
|
|
5540
5540
|
}
|
|
5541
5541
|
//#endregion
|
|
5542
5542
|
//#region src/core/logging.d.ts
|
|
5543
|
+
type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
5543
5544
|
interface LogMessage {
|
|
5544
|
-
level:
|
|
5545
|
+
level: LogLevel;
|
|
5545
5546
|
module: string;
|
|
5546
5547
|
message: string;
|
|
5547
5548
|
error?: unknown;
|
|
5548
5549
|
time: number;
|
|
5549
5550
|
}
|
|
5551
|
+
type LogHandler = (message: LogMessage) => void;
|
|
5550
5552
|
declare class Logger {
|
|
5551
5553
|
private readonly logHandler;
|
|
5552
5554
|
private readonly module;
|
|
5553
|
-
constructor(logHandler:
|
|
5555
|
+
constructor(logHandler: LogHandler, module: string);
|
|
5554
5556
|
private log;
|
|
5555
5557
|
debug(message: string): void;
|
|
5556
5558
|
info(message: string): void;
|
|
5557
5559
|
warn(message: string, error?: unknown): void;
|
|
5558
5560
|
error(message: string, error?: unknown): void;
|
|
5559
5561
|
}
|
|
5562
|
+
declare function combineLogHandlers(...handlers: LogHandler[]): LogHandler;
|
|
5560
5563
|
//#endregion
|
|
5561
5564
|
//#region src/core/service.d.ts
|
|
5562
5565
|
/** biome-ignore-all lint/suspicious/noExplicitAny: Service constructors may accept any arguments. */
|
|
@@ -5578,7 +5581,7 @@ interface ContextOptions {
|
|
|
5578
5581
|
initialDelayMs?: number;
|
|
5579
5582
|
maxDelayMs?: number;
|
|
5580
5583
|
};
|
|
5581
|
-
logHandler?:
|
|
5584
|
+
logHandler?: LogHandler;
|
|
5582
5585
|
}
|
|
5583
5586
|
interface ContextUrlOptions {
|
|
5584
5587
|
accessToken?: string;
|
|
@@ -5666,6 +5669,8 @@ export {
|
|
|
5666
5669
|
ContextUrlOptions,
|
|
5667
5670
|
EventMap,
|
|
5668
5671
|
Filter,
|
|
5672
|
+
LogHandler,
|
|
5673
|
+
LogLevel,
|
|
5669
5674
|
LogMessage,
|
|
5670
5675
|
Logger,
|
|
5671
5676
|
MilkyClient,
|
|
@@ -5676,6 +5681,7 @@ export {
|
|
|
5676
5681
|
Router,
|
|
5677
5682
|
type ServiceClass,
|
|
5678
5683
|
Session,
|
|
5684
|
+
combineLogHandlers,
|
|
5679
5685
|
createMilkyClient,
|
|
5680
5686
|
definePlugin,
|
|
5681
5687
|
filter,
|
package/dist/index.mjs
CHANGED
|
@@ -300,6 +300,11 @@ var Logger = class {
|
|
|
300
300
|
this.log("error", message, error);
|
|
301
301
|
}
|
|
302
302
|
};
|
|
303
|
+
function combineLogHandlers(...handlers) {
|
|
304
|
+
return (message) => {
|
|
305
|
+
for (const handler of handlers) handler(message);
|
|
306
|
+
};
|
|
307
|
+
}
|
|
303
308
|
//#endregion
|
|
304
309
|
//#region src/core/service.ts
|
|
305
310
|
function getServiceName(service) {
|
|
@@ -452,8 +457,10 @@ var Context = class Context {
|
|
|
452
457
|
}
|
|
453
458
|
async runEventStream() {
|
|
454
459
|
let reconnectDelay = this.initialReconnectDelayMs;
|
|
460
|
+
let reconnectAttempt = 1;
|
|
455
461
|
while (this.isStarted) {
|
|
456
462
|
try {
|
|
463
|
+
this.logger.debug(`Connecting event stream (attempt=${reconnectAttempt})`);
|
|
457
464
|
const subscription = await this.client.startEvents((event) => {
|
|
458
465
|
try {
|
|
459
466
|
this.eventBus.emit(event.event_type, event);
|
|
@@ -461,13 +468,17 @@ var Context = class Context {
|
|
|
461
468
|
this.logger.error("Error handling event stream event", error);
|
|
462
469
|
}
|
|
463
470
|
});
|
|
471
|
+
this.logger.info("Event stream connected");
|
|
464
472
|
reconnectDelay = this.initialReconnectDelayMs;
|
|
473
|
+
reconnectAttempt = 1;
|
|
465
474
|
await subscription.closed;
|
|
475
|
+
this.logger.warn(`Event stream disconnected; reconnecting in ${reconnectDelay}ms`);
|
|
466
476
|
} catch (error) {
|
|
467
|
-
this.logger.error(
|
|
477
|
+
this.logger.error(`Error connecting event stream; reconnecting in ${reconnectDelay}ms`, error);
|
|
468
478
|
}
|
|
469
479
|
await new Promise((resolve) => setTimeout(resolve, reconnectDelay));
|
|
470
480
|
reconnectDelay = Math.min(reconnectDelay * 2, this.maxReconnectDelayMs);
|
|
481
|
+
reconnectAttempt += 1;
|
|
471
482
|
}
|
|
472
483
|
}
|
|
473
484
|
createSession(message) {
|
|
@@ -866,4 +877,4 @@ let param;
|
|
|
866
877
|
_param.segment = segment;
|
|
867
878
|
})(param || (param = {}));
|
|
868
879
|
//#endregion
|
|
869
|
-
export { Context, Logger, Parameter, Router, createMilkyClient, definePlugin, filter, milkyPackageVersion, milkyVersion, msg, param, seg };
|
|
880
|
+
export { Context, Logger, Parameter, Router, combineLogHandlers, createMilkyClient, definePlugin, filter, milkyPackageVersion, milkyVersion, msg, param, seg };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fraqjs/fraq",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.3",
|
|
5
5
|
"description": "Milky Bot framework",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"main": "dist/index.mjs",
|
|
10
10
|
"typings": "dist/index.d.mts",
|
|
11
11
|
"keywords": [],
|
|
12
|
-
"author": "
|
|
12
|
+
"author": "fraqjs",
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "git+https://github.com/
|
|
15
|
+
"url": "git+https://github.com/fraqjs/fraq.git"
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://fraq.ntqqrev.org/",
|
|
18
18
|
"license": "MIT",
|