alemonjs 2.1.83 → 2.1.85
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/lib/{app → application}/define-children.js +2 -1
- package/lib/{app → application/format}/message-api.d.ts +2 -2
- package/lib/{app → application/format}/message-api.js +12 -4
- package/lib/{app → application/format}/message-format-old.d.ts +1 -1
- package/lib/{app → application/format}/message-format.d.ts +1 -2
- package/lib/{app → application/format}/message-format.js +0 -2
- package/lib/{app/hook-use → application/hooks}/announce.js +4 -3
- package/lib/{app/hook-use → application/hooks}/channel.js +4 -3
- package/lib/{app/hook-use → application/hooks}/client.d.ts +1 -1
- package/lib/{app/hook-use → application/hooks}/client.js +4 -11
- package/lib/{app/hook-use → application/hooks}/common.d.ts +7 -7
- package/lib/{app/hook-use → application/hooks}/common.js +9 -8
- package/lib/{app/hook-use → application/hooks}/event.js +1 -1
- package/lib/{app/hook-use → application/hooks}/guild.js +4 -3
- package/lib/{app/hook-use → application/hooks}/history.js +4 -3
- package/lib/{app/hook-use → application/hooks}/me.js +12 -7
- package/lib/{app/hook-use → application/hooks}/media.d.ts +3 -3
- package/lib/{app/hook-use → application/hooks}/media.js +4 -3
- package/lib/{app/hook-use → application/hooks}/member.js +4 -3
- package/lib/{app/hook-use → application/hooks}/mention.js +4 -3
- package/lib/{app/hook-use → application/hooks}/message.js +6 -5
- package/lib/{app/hook-use → application/hooks}/permission.js +4 -3
- package/lib/{app/hook-use → application/hooks}/reaction.js +4 -3
- package/lib/{app/hook-use → application/hooks}/request.js +12 -7
- package/lib/{app/hook-use → application/hooks}/role.js +4 -3
- package/lib/{app/hook-use → application/hooks}/subscribe.js +4 -4
- package/lib/{app/hook-use → application/hooks}/user.js +12 -7
- package/lib/application/index.d.ts +29 -0
- package/lib/application/index.js +58 -0
- package/lib/{app → application}/router/dsl.d.ts +1 -1
- package/lib/{app → application}/router/dsl.js +14 -10
- package/lib/{cbp → application/runtime/cbp}/connects/client.d.ts +1 -1
- package/lib/{cbp → application/runtime/cbp}/connects/client.js +43 -50
- package/lib/application/runtime/cbp/index.d.ts +3 -0
- package/lib/application/runtime/cbp/index.js +3 -0
- package/lib/application/runtime/cbp/processor/actions.d.ts +3 -0
- package/lib/application/runtime/cbp/processor/actions.js +58 -0
- package/lib/application/runtime/cbp/processor/api.d.ts +3 -0
- package/lib/application/runtime/cbp/processor/api.js +58 -0
- package/lib/application/runtime/cbp/processor/request-registry.d.ts +8 -0
- package/lib/application/runtime/cbp/processor/request-registry.js +6 -0
- package/lib/application/runtime/client-runtime.d.ts +1 -0
- package/lib/application/runtime/client-runtime.js +95 -0
- package/lib/{app → application/runtime}/event-error.d.ts +1 -1
- package/lib/{app → application/runtime}/event-error.js +1 -1
- package/lib/{app → application/runtime}/event-group.d.ts +1 -1
- package/lib/{app → application/runtime}/event-middleware.d.ts +1 -1
- package/lib/{app → application/runtime}/event-middleware.js +1 -1
- package/lib/{app → application/runtime}/event-processor-callHandler.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-callHandler.js +8 -1
- package/lib/{app → application/runtime}/event-processor-cycle.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-cycleFiles.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-cycleFiles.js +2 -2
- package/lib/{app → application/runtime}/event-processor-cycleRoute.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-cycleRoute.js +9 -2
- package/lib/{app → application/runtime}/event-processor-event.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-middleware.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-subscribe.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor-subscribe.js +9 -2
- package/lib/{app → application/runtime}/event-processor.d.ts +1 -1
- package/lib/{app → application/runtime}/event-processor.js +4 -3
- package/lib/{app → application/runtime}/event-response.d.ts +1 -1
- package/lib/{app → application/runtime}/event-utils.d.ts +1 -1
- package/lib/{app → application/runtime}/event-utils.js +2 -2
- package/lib/{app → application/runtime}/hook-event-context.d.ts +2 -2
- package/lib/{app → application/runtime}/hook-event-context.js +2 -2
- package/lib/application/runtime/http/index.d.ts +4 -0
- package/lib/application/runtime/http/index.js +4 -0
- package/lib/application/runtime/http/routers/hello.html.d.ts +4 -0
- package/lib/application/runtime/http/routers/hello.html.js +363 -0
- package/lib/{server → application/runtime/http}/routers/router.js +265 -179
- package/lib/{server → application/runtime/http}/routers/utils.d.ts +1 -1
- package/lib/{server → application/runtime/http}/routers/utils.js +22 -8
- package/lib/{server/main.js → application/runtime/http-server.js} +2 -6
- package/lib/{app → application/runtime}/lifecycle-callbacks.d.ts +1 -1
- package/lib/{app → application/runtime}/lifecycle-callbacks.js +2 -7
- package/lib/{app/load_modules → application/runtime/load-modules}/load.js +2 -2
- package/lib/{app/load_modules → application/runtime/load-modules}/loadChild.js +14 -5
- package/lib/{app → application/runtime}/schedule-store.d.ts +1 -1
- package/lib/{app → application/runtime}/schedule-store.js +1 -1
- package/lib/{app → application/runtime}/store.d.ts +14 -19
- package/lib/{app → application/runtime}/store.js +8 -103
- package/lib/application/schedule.d.ts +17 -0
- package/lib/{app/api → application}/schedule.js +1 -1
- package/lib/client.d.ts +1 -1
- package/lib/client.js +1 -117
- package/lib/common/cbp/constants.d.ts +11 -0
- package/lib/common/cbp/constants.js +13 -0
- package/lib/{cbp/connects/connect.js → common/cbp/heartbeat.js} +3 -6
- package/lib/common/cbp/normalize.d.ts +16 -0
- package/lib/common/cbp/normalize.js +324 -0
- package/lib/common/cbp/runtime.d.ts +2 -0
- package/lib/common/cbp/runtime.js +10 -0
- package/lib/common/cbp/typings.d.ts +159 -0
- package/lib/{cbp/connects/base.js → common/cbp/ws-connector.js} +7 -9
- package/lib/{core → common}/config.d.ts +2 -2
- package/lib/{core → common}/config.js +5 -4
- package/lib/common/identity.d.ts +11 -0
- package/lib/common/identity.js +34 -0
- package/lib/common/index.d.ts +15 -0
- package/lib/common/index.js +14 -0
- package/lib/common/logger.d.ts +6 -0
- package/lib/common/logger.js +99 -0
- package/lib/{core → common}/react.js +22 -3
- package/lib/common/result.d.ts +7 -0
- package/lib/common/result.js +19 -0
- package/lib/{core → common}/utils.d.ts +3 -18
- package/lib/{core → common}/utils.js +6 -49
- package/lib/{core → common}/variable.js +1 -1
- package/lib/core/cbp/index.d.ts +1 -0
- package/lib/core/cbp/index.js +1 -0
- package/lib/core/cbp/processor/config.d.ts +8 -0
- package/lib/core/cbp/processor/config.js +29 -0
- package/lib/{cbp → core/cbp}/routers/hello.html.js +1 -1
- package/lib/{cbp → core/cbp}/server/main.js +57 -35
- package/lib/{cbp → core/cbp}/server/testone.d.ts +1 -1
- package/lib/{cbp → core/cbp}/server/testone.js +8 -2
- package/lib/core/index.d.ts +1 -3
- package/lib/core/index.js +1 -3
- package/lib/core/process/index.d.ts +3 -0
- package/lib/{process → core/process}/index.js +0 -1
- package/lib/{process → core/process}/ipc-bridge.js +16 -2
- package/lib/{process → core/process}/module.js +13 -4
- package/lib/{process → core/process}/platform.js +12 -3
- package/lib/core/start.d.ts +2 -0
- package/lib/core/start.js +76 -0
- package/lib/global.d.ts +4 -3
- package/lib/index.d.ts +10 -2
- package/lib/index.js +74 -54
- package/lib/main.d.ts +1 -2
- package/lib/main.js +1 -76
- package/lib/{cbp/connects/platform.d.ts → platform/cbp-platform.d.ts} +2 -2
- package/lib/{cbp/connects/platform.js → platform/cbp-platform.js} +52 -75
- package/lib/{app → platform}/define-platform.js +2 -0
- package/lib/platform/event-value.d.ts +7 -0
- package/lib/platform/event-value.js +5 -0
- package/lib/platform/index.d.ts +5 -0
- package/lib/platform/index.js +5 -0
- package/lib/types/actions.d.ts +20 -1
- package/lib/types/apis.d.ts +2 -1
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/cycle/index.d.ts +1 -1
- package/lib/types/event/index.d.ts +1 -1
- package/lib/types/subscribe/index.d.ts +1 -1
- package/package.json +22 -1
- package/lib/app/api/schedule.d.ts +0 -17
- package/lib/app/index.d.ts +0 -25
- package/lib/app/index.js +0 -47
- package/lib/cbp/index.d.ts +0 -3
- package/lib/cbp/index.js +0 -3
- package/lib/cbp/processor/actions.d.ts +0 -3
- package/lib/cbp/processor/actions.js +0 -48
- package/lib/cbp/processor/api.d.ts +0 -3
- package/lib/cbp/processor/api.js +0 -48
- package/lib/cbp/processor/config.d.ts +0 -29
- package/lib/cbp/processor/config.js +0 -52
- package/lib/cbp/typings.d.ts +0 -20
- package/lib/process/index.d.ts +0 -4
- package/lib/server/routers/hello.html.d.ts +0 -2
- package/lib/server/routers/hello.html.js +0 -31
- /package/lib/{app → application}/define-children.d.ts +0 -0
- /package/lib/{app → application}/define-middleware.d.ts +0 -0
- /package/lib/{app → application}/define-middleware.js +0 -0
- /package/lib/{app → application}/define-response.d.ts +0 -0
- /package/lib/{app → application}/define-response.js +0 -0
- /package/lib/{app → application}/define-router.d.ts +0 -0
- /package/lib/{app → application}/define-router.js +0 -0
- /package/lib/{app → application}/expose.d.ts +0 -0
- /package/lib/{app → application}/expose.js +0 -0
- /package/lib/{app → application/format}/message-format-old.js +0 -0
- /package/lib/{app/hook-use → application/hooks}/announce.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/channel.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/event.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/guild.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/history.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/index.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/index.js +0 -0
- /package/lib/{app/hook-use → application/hooks}/me.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/member.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/mention.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/message.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/permission.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/reaction.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/request.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/role.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/route.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/route.js +0 -0
- /package/lib/{app/hook-use → application/hooks}/subscribe.d.ts +0 -0
- /package/lib/{app/hook-use → application/hooks}/user.d.ts +0 -0
- /package/lib/{app → application}/router/fallback.d.ts +0 -0
- /package/lib/{app → application}/router/fallback.js +0 -0
- /package/lib/{app → application}/router/main.d.ts +0 -0
- /package/lib/{app → application}/router/main.js +0 -0
- /package/lib/{app → application}/router/parser.d.ts +0 -0
- /package/lib/{app → application}/router/parser.js +0 -0
- /package/lib/{app → application}/router/types.d.ts +0 -0
- /package/lib/{app → application}/router/types.js +0 -0
- /package/lib/{app → application}/router/validator.d.ts +0 -0
- /package/lib/{app → application}/router/validator.js +0 -0
- /package/lib/{cbp → application/runtime/cbp}/processor/transport.d.ts +0 -0
- /package/lib/{cbp → application/runtime/cbp}/processor/transport.js +0 -0
- /package/lib/{app → application/runtime}/event-group.js +0 -0
- /package/lib/{app → application/runtime}/event-processor-cycle.js +0 -0
- /package/lib/{app → application/runtime}/event-processor-event.js +0 -0
- /package/lib/{app → application/runtime}/event-processor-middleware.js +0 -0
- /package/lib/{app → application/runtime}/event-response.js +0 -0
- /package/lib/{server → application/runtime/http}/routers/middleware.d.ts +0 -0
- /package/lib/{server → application/runtime/http}/routers/middleware.js +0 -0
- /package/lib/{cbp → application/runtime/http}/routers/router.d.ts +0 -0
- /package/lib/{server/main.d.ts → application/runtime/http-server.d.ts} +0 -0
- /package/lib/{app/load_modules → application/runtime/load-modules}/index.d.ts +0 -0
- /package/lib/{app/load_modules → application/runtime/load-modules}/index.js +0 -0
- /package/lib/{app/load_modules → application/runtime/load-modules}/load.d.ts +0 -0
- /package/lib/{app/load_modules → application/runtime/load-modules}/loadChild.d.ts +0 -0
- /package/lib/{app/config.d.ts → application/runtime/subscribe-status.d.ts} +0 -0
- /package/lib/{app/config.js → application/runtime/subscribe-status.js} +0 -0
- /package/lib/{app → common}/SinglyLinkedList.d.ts +0 -0
- /package/lib/{app → common}/SinglyLinkedList.js +0 -0
- /package/lib/{cbp/connects/connect.d.ts → common/cbp/heartbeat.d.ts} +0 -0
- /package/lib/{cbp → common/cbp}/typings.js +0 -0
- /package/lib/{cbp/connects/base.d.ts → common/cbp/ws-connector.d.ts} +0 -0
- /package/lib/{process → common}/direct-channel.d.ts +0 -0
- /package/lib/{process → common}/direct-channel.js +0 -0
- /package/lib/{core → common}/react.d.ts +0 -0
- /package/lib/{core → common}/variable.d.ts +0 -0
- /package/lib/{cbp → core/cbp}/routers/hello.html.d.ts +0 -0
- /package/lib/{server → core/cbp}/routers/router.d.ts +0 -0
- /package/lib/{cbp → core/cbp}/routers/router.js +0 -0
- /package/lib/{cbp → core/cbp}/server/main.d.ts +0 -0
- /package/lib/{process → core/process}/ipc-bridge.d.ts +0 -0
- /package/lib/{process → core/process}/module.d.ts +0 -0
- /package/lib/{process → core/process}/platform.d.ts +0 -0
- /package/lib/{app → platform}/define-platform.d.ts +0 -0
- /package/lib/{app → platform}/event-format.d.ts +0 -0
- /package/lib/{app → platform}/event-format.js +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { dirname, join } from 'path';
|
|
2
2
|
import { existsSync } from 'fs';
|
|
3
|
-
import { showErrorModule, getRecursiveDirFiles, createEventName } from '
|
|
3
|
+
import { showErrorModule, getRecursiveDirFiles, createEventName } from '../../../common/utils.js';
|
|
4
4
|
import { registerRuntimeApp, updateRuntimeAppStatus, ChildrenApp, clearRuntimeAppKoaRouters, setRuntimeAppKoaRouters, updateRuntimeAppCapabilities } from '../store.js';
|
|
5
|
-
import { registerExpose } from '
|
|
6
|
-
import { ResultCode, fileSuffixMiddleware } from '
|
|
5
|
+
import { registerExpose } from '../../expose.js';
|
|
6
|
+
import { ResultCode, fileSuffixMiddleware } from '../../../common/variable.js';
|
|
7
7
|
import { registerAppDir, scheduleCancelByApp, unregisterAppDir } from '../schedule-store.js';
|
|
8
8
|
import module$1 from 'module';
|
|
9
9
|
import { dispatchRuntimeStatusChange, dispatchAppDispose, dispatchAppReady } from '../lifecycle-callbacks.js';
|
|
@@ -21,11 +21,20 @@ const resolvePackageRoot = (startDir) => {
|
|
|
21
21
|
}
|
|
22
22
|
return startDir;
|
|
23
23
|
};
|
|
24
|
+
const detectDefaultWebRoot = (packageRoot) => {
|
|
25
|
+
if (existsSync(join(packageRoot, 'dist', 'index.html'))) {
|
|
26
|
+
return 'dist';
|
|
27
|
+
}
|
|
28
|
+
if (existsSync(join(packageRoot, 'index.html'))) {
|
|
29
|
+
return '';
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
};
|
|
24
33
|
const detectWebCapability = (startDir) => {
|
|
25
34
|
const packageRoot = resolvePackageRoot(startDir);
|
|
26
35
|
const packageJsonPath = join(packageRoot, 'package.json');
|
|
27
36
|
if (!existsSync(packageJsonPath)) {
|
|
28
|
-
return
|
|
37
|
+
return Boolean(detectDefaultWebRoot(packageRoot));
|
|
29
38
|
}
|
|
30
39
|
try {
|
|
31
40
|
const pkg = require$1(packageJsonPath) ?? {};
|
|
@@ -36,7 +45,7 @@ const detectWebCapability = (startDir) => {
|
|
|
36
45
|
}
|
|
37
46
|
catch {
|
|
38
47
|
}
|
|
39
|
-
return
|
|
48
|
+
return Boolean(detectDefaultWebRoot(packageRoot));
|
|
40
49
|
};
|
|
41
50
|
const loadChildren = async (mainPath, appName) => {
|
|
42
51
|
if (!mainPath || typeof mainPath !== 'string') {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ScheduleId, ScheduleItem, ScheduleStatus, ScheduleCallback, CronExpression } from '
|
|
1
|
+
import { ScheduleId, ScheduleItem, ScheduleStatus, ScheduleCallback, CronExpression } from '../../types/schedule';
|
|
2
2
|
export declare const registerAppDir: (appName: string, mainDir: string) => void;
|
|
3
3
|
export declare const unregisterAppDir: (appName: string) => void;
|
|
4
4
|
export declare const scheduleInterval: (callback: ScheduleCallback, ms: number, appName?: string) => ScheduleId;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { SinglyLinkedList } from '
|
|
2
|
-
import { childrenCallbackRes, ChildrenCycle, EventCycleEnum, EventKeys, FileTreeNode, StoreMiddlewareItem, StoreResponseItem, SubscribeValue } from '
|
|
1
|
+
import { SinglyLinkedList } from '../../common/SinglyLinkedList.js';
|
|
2
|
+
import { childrenCallbackRes, ChildrenCycle, EventCycleEnum, EventKeys, FileTreeNode, StoreMiddlewareItem, StoreResponseItem, SubscribeValue } from '../../types';
|
|
3
3
|
import type KoaRouter from 'koa-router';
|
|
4
|
+
export { Logger, logger } from '../../common/logger.js';
|
|
4
5
|
export type RuntimeAppStatus = 'discovered' | 'loading' | 'ready' | 'failed' | 'disposed';
|
|
5
6
|
export type RuntimeAppCapability = {
|
|
6
7
|
event: boolean;
|
|
@@ -26,19 +27,14 @@ export type RuntimeAppRecord = {
|
|
|
26
27
|
createdAt: number;
|
|
27
28
|
updatedAt: number;
|
|
28
29
|
};
|
|
29
|
-
export declare class Logger {
|
|
30
|
-
#private;
|
|
31
|
-
constructor();
|
|
32
|
-
get value(): any;
|
|
33
|
-
}
|
|
34
30
|
export declare class Core {
|
|
35
31
|
constructor();
|
|
36
32
|
get value(): {
|
|
37
|
-
storeState: import("../
|
|
38
|
-
storeStateSubscribe: import("../
|
|
39
|
-
storeSubscribeList: import("../
|
|
33
|
+
storeState: import("../index.js").ResponseState;
|
|
34
|
+
storeStateSubscribe: import("../index.js").StateSubscribeMap;
|
|
35
|
+
storeSubscribeList: import("../index.js").SubscribeKeysMap;
|
|
40
36
|
storeChildrenApp: {
|
|
41
|
-
[key: string]: import("../
|
|
37
|
+
[key: string]: import("../index.js").StoreChildrenApp;
|
|
42
38
|
};
|
|
43
39
|
runtimeApps?: {
|
|
44
40
|
[key: string]: RuntimeAppRecord;
|
|
@@ -185,19 +181,18 @@ export declare class ChildrenApp {
|
|
|
185
181
|
pushCycle(data: ChildrenCycle): void;
|
|
186
182
|
on(): void;
|
|
187
183
|
un(): void;
|
|
188
|
-
get value(): import("../
|
|
184
|
+
get value(): import("../index.js").StoreChildrenApp;
|
|
189
185
|
}
|
|
190
|
-
export declare const getChildrenApp: (name: string) => import("../
|
|
191
|
-
export declare const listChildrenApps: () => import("../
|
|
186
|
+
export declare const getChildrenApp: (name: string) => import("../index.js").StoreChildrenApp;
|
|
187
|
+
export declare const listChildrenApps: () => import("../index.js").StoreChildrenApp[];
|
|
192
188
|
export declare const ProcessorEventAutoClearMap: Map<any, any>;
|
|
193
189
|
export declare const ProcessorEventUserAutoClearMap: Map<any, any>;
|
|
194
|
-
export declare const logger: any;
|
|
195
190
|
export declare const core: {
|
|
196
|
-
storeState: import("../
|
|
197
|
-
storeStateSubscribe: import("../
|
|
198
|
-
storeSubscribeList: import("../
|
|
191
|
+
storeState: import("../index.js").ResponseState;
|
|
192
|
+
storeStateSubscribe: import("../index.js").StateSubscribeMap;
|
|
193
|
+
storeSubscribeList: import("../index.js").SubscribeKeysMap;
|
|
199
194
|
storeChildrenApp: {
|
|
200
|
-
[key: string]: import("../
|
|
195
|
+
[key: string]: import("../index.js").StoreChildrenApp;
|
|
201
196
|
};
|
|
202
197
|
runtimeApps?: {
|
|
203
198
|
[key: string]: RuntimeAppRecord;
|
|
@@ -1,102 +1,8 @@
|
|
|
1
|
-
import { SinglyLinkedList } from '
|
|
2
|
-
import {
|
|
3
|
-
import log4js from 'log4js';
|
|
4
|
-
import { disposeExpose } from './expose.js';
|
|
1
|
+
import { SinglyLinkedList } from '../../common/SinglyLinkedList.js';
|
|
2
|
+
import { disposeExpose } from '../expose.js';
|
|
5
3
|
import { dispatchRuntimeStatusChange } from './lifecycle-callbacks.js';
|
|
4
|
+
export { Logger, logger } from '../../common/logger.js';
|
|
6
5
|
|
|
7
|
-
const createLogger = () => {
|
|
8
|
-
if (process.env.BROWSER_ENV === 'browser') {
|
|
9
|
-
return {
|
|
10
|
-
trace: console.trace.bind(console),
|
|
11
|
-
debug: console.debug.bind(console),
|
|
12
|
-
info: console.info.bind(console),
|
|
13
|
-
mark: console.info.bind(console),
|
|
14
|
-
warn: console.warn.bind(console),
|
|
15
|
-
error: console.error.bind(console),
|
|
16
|
-
fatal: console.error.bind(console)
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const logDir = process.env?.LOG_PATH ?? `./logs/${process.env.LOG_NAME ?? ''}`;
|
|
20
|
-
mkdirSync(logDir, { recursive: true });
|
|
21
|
-
const level = process.env.NODE_ENV === 'development' ? 'trace' : 'info';
|
|
22
|
-
const hideTime = process.env.LOGGER_TIME === 'false' ? true : false;
|
|
23
|
-
const hideLevel = process.env.LOGGER_LEVEL === 'false' ? true : false;
|
|
24
|
-
let pattern = '';
|
|
25
|
-
if (hideTime && hideLevel) {
|
|
26
|
-
pattern = '%m';
|
|
27
|
-
}
|
|
28
|
-
else if (hideTime && !hideLevel) {
|
|
29
|
-
pattern = '[%p] %m';
|
|
30
|
-
}
|
|
31
|
-
else if (!hideTime && hideLevel) {
|
|
32
|
-
pattern = '[%d{yyyy-MM-dd hh:mm:ss}] %m';
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
pattern = '[%d{yyyy-MM-dd hh:mm:ss}][%p] %m';
|
|
36
|
-
}
|
|
37
|
-
log4js.configure({
|
|
38
|
-
appenders: {
|
|
39
|
-
console: {
|
|
40
|
-
type: 'console',
|
|
41
|
-
layout: {
|
|
42
|
-
type: 'pattern',
|
|
43
|
-
pattern: pattern
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
command: {
|
|
47
|
-
type: 'dateFile',
|
|
48
|
-
filename: `${logDir}/command`,
|
|
49
|
-
pattern: 'yyyy-MM-dd.log',
|
|
50
|
-
numBackups: 15,
|
|
51
|
-
alwaysIncludePattern: true,
|
|
52
|
-
layout: {
|
|
53
|
-
type: 'pattern',
|
|
54
|
-
pattern: pattern
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
error: {
|
|
58
|
-
type: 'dateFile',
|
|
59
|
-
filename: `${logDir}/error`,
|
|
60
|
-
pattern: 'yyyy-MM-dd.log',
|
|
61
|
-
numBackups: 15,
|
|
62
|
-
alwaysIncludePattern: true,
|
|
63
|
-
layout: {
|
|
64
|
-
type: 'pattern',
|
|
65
|
-
pattern: pattern
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
categories: {
|
|
70
|
-
default: { appenders: ['console'], level: level },
|
|
71
|
-
command: { appenders: ['console', 'command'], level: 'info' },
|
|
72
|
-
error: { appenders: ['console', 'command', 'error'], level: 'warn' }
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
const defaultLogger = log4js.getLogger('default');
|
|
76
|
-
const commandLogger = log4js.getLogger('command');
|
|
77
|
-
const errorLogger = log4js.getLogger('error');
|
|
78
|
-
return {
|
|
79
|
-
trace: defaultLogger.trace.bind(defaultLogger),
|
|
80
|
-
debug: defaultLogger.debug.bind(defaultLogger),
|
|
81
|
-
info: commandLogger.info.bind(commandLogger),
|
|
82
|
-
mark: commandLogger.mark.bind(commandLogger),
|
|
83
|
-
warn: errorLogger.warn.bind(errorLogger),
|
|
84
|
-
error: errorLogger.error.bind(errorLogger),
|
|
85
|
-
fatal: errorLogger.fatal.bind(errorLogger)
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
class Logger {
|
|
89
|
-
#logger = null;
|
|
90
|
-
constructor() {
|
|
91
|
-
this.#logger = createLogger();
|
|
92
|
-
if (!global.logger) {
|
|
93
|
-
global.logger = this.#logger;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
get value() {
|
|
97
|
-
return this.#logger;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
6
|
class Core {
|
|
101
7
|
constructor() {
|
|
102
8
|
if (!global.alemonjsCore) {
|
|
@@ -201,7 +107,7 @@ const registerRuntimeApp = (record) => {
|
|
|
201
107
|
createdAt: current?.createdAt ?? now,
|
|
202
108
|
updatedAt: now
|
|
203
109
|
};
|
|
204
|
-
if (
|
|
110
|
+
if (current?.status !== record.status) {
|
|
205
111
|
logRuntimeAppStatus(record.status === 'failed' ? 'warn' : 'debug', runtimeApps[record.name]);
|
|
206
112
|
}
|
|
207
113
|
return runtimeApps[record.name];
|
|
@@ -255,7 +161,7 @@ const updateRuntimeAppCapabilities = (name, capabilities) => {
|
|
|
255
161
|
const setRuntimeAppKoaRouters = (name, koaRouters) => {
|
|
256
162
|
const koaRouterStore = getRuntimeAppKoaRouterStore();
|
|
257
163
|
if (!koaRouters) {
|
|
258
|
-
|
|
164
|
+
Reflect.deleteProperty(koaRouterStore, name);
|
|
259
165
|
return [];
|
|
260
166
|
}
|
|
261
167
|
const normalizedRouters = (Array.isArray(koaRouters) ? koaRouters : [koaRouters]).filter(Boolean);
|
|
@@ -267,7 +173,7 @@ const getRuntimeAppKoaRouters = (name) => {
|
|
|
267
173
|
};
|
|
268
174
|
const clearRuntimeAppKoaRouters = (name) => {
|
|
269
175
|
const koaRouterStore = getRuntimeAppKoaRouterStore();
|
|
270
|
-
|
|
176
|
+
Reflect.deleteProperty(koaRouterStore, name);
|
|
271
177
|
};
|
|
272
178
|
const listRuntimeAppKoaRouters = () => {
|
|
273
179
|
return Object.entries(getRuntimeAppKoaRouterStore())
|
|
@@ -642,7 +548,7 @@ class ChildrenApp {
|
|
|
642
548
|
}
|
|
643
549
|
un() {
|
|
644
550
|
disposeExpose(this.#name);
|
|
645
|
-
|
|
551
|
+
Reflect.deleteProperty(alemonjsCore.storeChildrenApp, this.#name);
|
|
646
552
|
bumpStoreVersion();
|
|
647
553
|
}
|
|
648
554
|
get value() {
|
|
@@ -660,7 +566,6 @@ const listChildrenApps = () => {
|
|
|
660
566
|
};
|
|
661
567
|
const ProcessorEventAutoClearMap = new Map();
|
|
662
568
|
const ProcessorEventUserAutoClearMap = new Map();
|
|
663
|
-
const logger = new Logger().value;
|
|
664
569
|
const core = new Core().value;
|
|
665
570
|
['SIGINT', 'SIGTERM', 'SIGQUIT', 'disconnect'].forEach(sig => {
|
|
666
571
|
process?.on?.(sig, () => {
|
|
@@ -671,4 +576,4 @@ process?.on?.('exit', code => {
|
|
|
671
576
|
logger.info?.(`[alemonjs][exit] 进程退出,code=${code}`);
|
|
672
577
|
});
|
|
673
578
|
|
|
674
|
-
export { ChildrenApp, Core,
|
|
579
|
+
export { ChildrenApp, Core, Middleware, MiddlewareRouter, MiddlewareTree, ProcessorEventAutoClearMap, ProcessorEventUserAutoClearMap, Response, ResponseMiddleware, ResponseRouter, ResponseTree, State, StateSubscribe, SubscribeList, bumpStoreVersion, clearRuntimeAppKoaRouters, core, disposeAllRuntimeApps, disposeRuntimeApp, getChildrenApp, getRuntimeApp, getRuntimeAppKoaRouters, getSubscribeList, hasRuntimeAppCapability, listChildrenApps, listRuntimeAppKoaRouters, listRuntimeApps, registerRuntimeApp, setRuntimeAppKoaRouters, toRuntimeAppSnapshot, updateRuntimeAppCapabilities, updateRuntimeAppStatus };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ScheduleCallback, CronExpression } from '../types/schedule';
|
|
2
|
+
export declare const setInterval: (callback: ScheduleCallback, ms: number) => string;
|
|
3
|
+
export declare const setTimeout: (callback: ScheduleCallback, ms: number) => string;
|
|
4
|
+
export declare const setCron: (expression: CronExpression, callback: ScheduleCallback) => string;
|
|
5
|
+
export declare const clearInterval: (id: import("./index.js").ScheduleId) => boolean;
|
|
6
|
+
export declare const clearTimeout: (id: import("./index.js").ScheduleId) => boolean;
|
|
7
|
+
export declare const pauseSchedule: (id: import("./index.js").ScheduleId) => boolean;
|
|
8
|
+
export declare const resumeSchedule: (id: import("./index.js").ScheduleId) => boolean;
|
|
9
|
+
export declare const listSchedule: (appName?: string) => Array<{
|
|
10
|
+
id: import("./index.js").ScheduleId;
|
|
11
|
+
type: import("./index.js").ScheduleItem["type"];
|
|
12
|
+
status: import("./index.js").ScheduleStatus;
|
|
13
|
+
ms?: number;
|
|
14
|
+
cron?: string;
|
|
15
|
+
appName?: string;
|
|
16
|
+
createdAt: number;
|
|
17
|
+
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { scheduleCancel, scheduleList, schedulePause, scheduleResume, scheduleCron, scheduleInterval, scheduleTimeout } from '
|
|
1
|
+
import { scheduleCancel, scheduleList, schedulePause, scheduleResume, scheduleCron, scheduleInterval, scheduleTimeout } from './runtime/schedule-store.js';
|
|
2
2
|
|
|
3
3
|
const setInterval = (callback, ms) => scheduleInterval(callback, ms);
|
|
4
4
|
const setTimeout = (callback, ms) => scheduleTimeout(callback, ms);
|
package/lib/client.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import './application/runtime/client-runtime.js';
|
package/lib/client.js
CHANGED
|
@@ -1,117 +1 @@
|
|
|
1
|
-
import './
|
|
2
|
-
import { defaultPort } from './core/variable.js';
|
|
3
|
-
import 'fs';
|
|
4
|
-
import 'path';
|
|
5
|
-
import 'yaml';
|
|
6
|
-
import './core/utils.js';
|
|
7
|
-
import { cbpClient } from './cbp/connects/client.js';
|
|
8
|
-
import 'flatted';
|
|
9
|
-
import 'ws';
|
|
10
|
-
import './cbp/processor/config.js';
|
|
11
|
-
import 'net';
|
|
12
|
-
import 'v8';
|
|
13
|
-
import 'os';
|
|
14
|
-
import 'koa';
|
|
15
|
-
import '@koa/cors';
|
|
16
|
-
import './cbp/routers/router.js';
|
|
17
|
-
import 'lodash';
|
|
18
|
-
import 'fs/promises';
|
|
19
|
-
import { disposeAllRuntimeApps } from './app/store.js';
|
|
20
|
-
import { loadModels } from './app/load_modules/load.js';
|
|
21
|
-
import './app/load_modules/loadChild.js';
|
|
22
|
-
import './app/define-children.js';
|
|
23
|
-
import './app/define-response.js';
|
|
24
|
-
import './app/define-middleware.js';
|
|
25
|
-
import './app/event-group.js';
|
|
26
|
-
import './app/event-middleware.js';
|
|
27
|
-
import './app/event-processor.js';
|
|
28
|
-
import './app/event-response.js';
|
|
29
|
-
import './app/hook-event-context.js';
|
|
30
|
-
import './app/message-format-old.js';
|
|
31
|
-
import { scheduleCancelByApp, unregisterAppDir } from './app/schedule-store.js';
|
|
32
|
-
import './app/event-utils.js';
|
|
33
|
-
import './app/message-api.js';
|
|
34
|
-
import './process/platform.js';
|
|
35
|
-
import './process/module.js';
|
|
36
|
-
import { createServer } from './server/main.js';
|
|
37
|
-
import { dispatchDisposeAllApps } from './app/lifecycle-callbacks.js';
|
|
38
|
-
|
|
39
|
-
global.__client_loaded = true;
|
|
40
|
-
let runtimeDisposed = false;
|
|
41
|
-
const disposeRuntime = async () => {
|
|
42
|
-
if (runtimeDisposed) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
runtimeDisposed = true;
|
|
46
|
-
await dispatchDisposeAllApps();
|
|
47
|
-
const apps = disposeAllRuntimeApps();
|
|
48
|
-
apps.forEach(app => {
|
|
49
|
-
scheduleCancelByApp(app.name);
|
|
50
|
-
unregisterAppDir(app.name);
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
const shutdown = async (reason) => {
|
|
54
|
-
logger.info?.(`[alemonjs][${reason}] 收到信号,正在关闭...`);
|
|
55
|
-
await disposeRuntime();
|
|
56
|
-
process.exit(0);
|
|
57
|
-
};
|
|
58
|
-
const mainServer = () => {
|
|
59
|
-
const port = process.env.serverPort;
|
|
60
|
-
if (!port) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
createServer(port, () => {
|
|
64
|
-
const httpURL = `http://127.0.0.1:${port}`;
|
|
65
|
-
logger.info(`应用服务器: ${httpURL}`);
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
const main = () => {
|
|
69
|
-
const login = process.env.login ?? '';
|
|
70
|
-
const platform = process.env.platform ?? '';
|
|
71
|
-
const url = process.env.url ?? '';
|
|
72
|
-
const port = process.env.port ?? defaultPort;
|
|
73
|
-
const isFullReceive = process.env.is_full_receive === 'true' || process.env.is_full_receive === '1';
|
|
74
|
-
if (!login && !platform && url) {
|
|
75
|
-
logger.info(`[Connecting to CBP server at ${url}]`);
|
|
76
|
-
cbpClient(url);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
const httpURL = `http://127.0.0.1:${port}`;
|
|
80
|
-
cbpClient(httpURL, { isFullReceive });
|
|
81
|
-
}
|
|
82
|
-
loadModels();
|
|
83
|
-
};
|
|
84
|
-
const mainProcess = () => {
|
|
85
|
-
process.on('unhandledRejection', (reason) => {
|
|
86
|
-
logger.error('[alemonjs][unhandledRejection] 未捕获的 Promise 拒绝:', reason);
|
|
87
|
-
});
|
|
88
|
-
process.on('uncaughtException', (error) => {
|
|
89
|
-
logger.error('[alemonjs][uncaughtException] 未捕获的异常:', error);
|
|
90
|
-
});
|
|
91
|
-
['SIGINT', 'SIGTERM', 'SIGQUIT', 'disconnect'].forEach(sig => {
|
|
92
|
-
process?.on?.(sig, () => {
|
|
93
|
-
void shutdown(sig);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
process?.on?.('exit', code => {
|
|
97
|
-
void disposeRuntime();
|
|
98
|
-
logger.info?.(`[alemonjs][exit] 进程退出,code=${code}`);
|
|
99
|
-
});
|
|
100
|
-
process.on('message', msg => {
|
|
101
|
-
try {
|
|
102
|
-
const data = typeof msg === 'string' ? JSON.parse(msg) : msg;
|
|
103
|
-
if (data?.type === 'start') {
|
|
104
|
-
main();
|
|
105
|
-
mainServer();
|
|
106
|
-
}
|
|
107
|
-
else if (data?.type === 'stop') {
|
|
108
|
-
void shutdown('stop');
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch { }
|
|
112
|
-
});
|
|
113
|
-
if (process.send) {
|
|
114
|
-
process.send({ type: 'ready' });
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
mainProcess();
|
|
1
|
+
import './application/runtime/client-runtime.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const USER_AGENT_HEADER = "user-agent";
|
|
2
|
+
export declare const USER_AGENT_HEADER_VALUE_MAP: {
|
|
3
|
+
readonly platform: "platform";
|
|
4
|
+
readonly client: "client";
|
|
5
|
+
readonly testone: "testone";
|
|
6
|
+
};
|
|
7
|
+
export declare const DEVICE_ID_HEADER = "x-device-id";
|
|
8
|
+
export declare const FULL_RECEIVE_HEADER = "x-full-receive";
|
|
9
|
+
export declare const timeoutTime: number;
|
|
10
|
+
export declare const reconnectInterval: number;
|
|
11
|
+
export declare const HEARTBEAT_INTERVAL: number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const USER_AGENT_HEADER = 'user-agent';
|
|
2
|
+
const USER_AGENT_HEADER_VALUE_MAP = {
|
|
3
|
+
platform: 'platform',
|
|
4
|
+
client: 'client',
|
|
5
|
+
testone: 'testone'
|
|
6
|
+
};
|
|
7
|
+
const DEVICE_ID_HEADER = 'x-device-id';
|
|
8
|
+
const FULL_RECEIVE_HEADER = 'x-full-receive';
|
|
9
|
+
const timeoutTime = 1000 * 60 * 3;
|
|
10
|
+
const reconnectInterval = 1000 * 6;
|
|
11
|
+
const HEARTBEAT_INTERVAL = 1000 * 18;
|
|
12
|
+
|
|
13
|
+
export { DEVICE_ID_HEADER, FULL_RECEIVE_HEADER, HEARTBEAT_INTERVAL, USER_AGENT_HEADER, USER_AGENT_HEADER_VALUE_MAP, reconnectInterval, timeoutTime };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import '
|
|
3
|
-
import '
|
|
4
|
-
import 'yaml';
|
|
5
|
-
import '../../core/utils.js';
|
|
6
|
-
import { HEARTBEAT_INTERVAL } from '../processor/config.js';
|
|
1
|
+
import { logger } from '../logger.js';
|
|
2
|
+
import { ResultCode } from '../variable.js';
|
|
3
|
+
import { HEARTBEAT_INTERVAL } from './constants.js';
|
|
7
4
|
|
|
8
5
|
const useHeartbeat = ({ ping, isConnected, terminate }) => {
|
|
9
6
|
let heartbeatTimer = null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Actions, Apis } from '../../types/index.js';
|
|
2
|
+
import type { Result } from '../result.js';
|
|
3
|
+
import type { CBPEnvelope, CBPError, CBPResult, NormalizedActionRequestMessage, NormalizedApiRequestMessage, NormalizedCBPMessage } from './typings';
|
|
4
|
+
export declare const isCBPEnvelope: (input: unknown) => input is CBPEnvelope;
|
|
5
|
+
export declare const normalizeInboundMessage: (input: unknown) => NormalizedCBPMessage | null;
|
|
6
|
+
export declare const toLegacyActionData: (message: NormalizedActionRequestMessage) => Actions;
|
|
7
|
+
export declare const toLegacyApiData: (message: NormalizedApiRequestMessage) => Apis;
|
|
8
|
+
export declare const isNormalizedActionRequest: (message: NormalizedCBPMessage | null | undefined) => message is NormalizedActionRequestMessage;
|
|
9
|
+
export declare const isNormalizedApiRequest: (message: NormalizedCBPMessage | null | undefined) => message is NormalizedApiRequestMessage;
|
|
10
|
+
export declare const getNormalizedDeviceId: (message: NormalizedCBPMessage) => string;
|
|
11
|
+
export declare const getNormalizedEventRouteId: (message: NormalizedCBPMessage) => string;
|
|
12
|
+
export declare const createActionRequestEnvelope: (data: Actions) => CBPEnvelope;
|
|
13
|
+
export declare const createApiRequestEnvelope: (data: Apis) => CBPEnvelope;
|
|
14
|
+
export declare const createActionResponseEnvelope: (data: Actions, payload: CBPResult[] | Result[], error?: CBPError) => CBPEnvelope;
|
|
15
|
+
export declare const createApiResponseEnvelope: (data: Apis, payload: CBPResult[] | Result[], error?: CBPError) => CBPEnvelope;
|
|
16
|
+
export declare const createEventEnvelope: (data: Record<string, unknown>) => CBPEnvelope;
|