@superdangerous/app-framework 4.9.0
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/LICENSE +21 -0
- package/README.md +652 -0
- package/dist/api/logsRouter.d.ts +20 -0
- package/dist/api/logsRouter.d.ts.map +1 -0
- package/dist/api/logsRouter.js +515 -0
- package/dist/api/logsRouter.js.map +1 -0
- package/dist/cli/dev-server.d.ts +7 -0
- package/dist/cli/dev-server.d.ts.map +1 -0
- package/dist/cli/dev-server.js +640 -0
- package/dist/cli/dev-server.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +26 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/StandardServer.d.ts +129 -0
- package/dist/core/StandardServer.d.ts.map +1 -0
- package/dist/core/StandardServer.js +453 -0
- package/dist/core/StandardServer.js.map +1 -0
- package/dist/core/apiResponse.d.ts +69 -0
- package/dist/core/apiResponse.d.ts.map +1 -0
- package/dist/core/apiResponse.js +127 -0
- package/dist/core/apiResponse.js.map +1 -0
- package/dist/core/healthCheck.d.ts +160 -0
- package/dist/core/healthCheck.d.ts.map +1 -0
- package/dist/core/healthCheck.js +398 -0
- package/dist/core/healthCheck.js.map +1 -0
- package/dist/core/index.d.ts +40 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +40 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +117 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +826 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/portUtils.d.ts +71 -0
- package/dist/core/portUtils.d.ts.map +1 -0
- package/dist/core/portUtils.js +240 -0
- package/dist/core/portUtils.js.map +1 -0
- package/dist/core/storageService.d.ts +119 -0
- package/dist/core/storageService.d.ts.map +1 -0
- package/dist/core/storageService.js +405 -0
- package/dist/core/storageService.js.map +1 -0
- package/dist/desktop/bundler.d.ts +40 -0
- package/dist/desktop/bundler.d.ts.map +1 -0
- package/dist/desktop/bundler.js +176 -0
- package/dist/desktop/bundler.js.map +1 -0
- package/dist/desktop/index.d.ts +25 -0
- package/dist/desktop/index.d.ts.map +1 -0
- package/dist/desktop/index.js +15 -0
- package/dist/desktop/index.js.map +1 -0
- package/dist/desktop/native-modules.d.ts +66 -0
- package/dist/desktop/native-modules.d.ts.map +1 -0
- package/dist/desktop/native-modules.js +200 -0
- package/dist/desktop/native-modules.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/LogCategories.d.ts +87 -0
- package/dist/logging/LogCategories.d.ts.map +1 -0
- package/dist/logging/LogCategories.js +205 -0
- package/dist/logging/LogCategories.js.map +1 -0
- package/dist/middleware/aiErrorHandler.d.ts +31 -0
- package/dist/middleware/aiErrorHandler.d.ts.map +1 -0
- package/dist/middleware/aiErrorHandler.js +181 -0
- package/dist/middleware/aiErrorHandler.js.map +1 -0
- package/dist/middleware/auth.d.ts +101 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +230 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/cors.d.ts +56 -0
- package/dist/middleware/cors.d.ts.map +1 -0
- package/dist/middleware/cors.js +123 -0
- package/dist/middleware/cors.js.map +1 -0
- package/dist/middleware/errorHandler.d.ts +13 -0
- package/dist/middleware/errorHandler.d.ts.map +1 -0
- package/dist/middleware/errorHandler.js +85 -0
- package/dist/middleware/errorHandler.js.map +1 -0
- package/dist/middleware/fileUpload.d.ts +62 -0
- package/dist/middleware/fileUpload.d.ts.map +1 -0
- package/dist/middleware/fileUpload.js +175 -0
- package/dist/middleware/fileUpload.js.map +1 -0
- package/dist/middleware/health.d.ts +48 -0
- package/dist/middleware/health.d.ts.map +1 -0
- package/dist/middleware/health.js +143 -0
- package/dist/middleware/health.js.map +1 -0
- package/dist/middleware/index.d.ts +20 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +18 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/openapi.d.ts +64 -0
- package/dist/middleware/openapi.d.ts.map +1 -0
- package/dist/middleware/openapi.js +258 -0
- package/dist/middleware/openapi.js.map +1 -0
- package/dist/middleware/requestLogging.d.ts +22 -0
- package/dist/middleware/requestLogging.d.ts.map +1 -0
- package/dist/middleware/requestLogging.js +61 -0
- package/dist/middleware/requestLogging.js.map +1 -0
- package/dist/middleware/session.d.ts +84 -0
- package/dist/middleware/session.d.ts.map +1 -0
- package/dist/middleware/session.js +189 -0
- package/dist/middleware/session.js.map +1 -0
- package/dist/middleware/validation.d.ts +1337 -0
- package/dist/middleware/validation.d.ts.map +1 -0
- package/dist/middleware/validation.js +483 -0
- package/dist/middleware/validation.js.map +1 -0
- package/dist/services/aiService.d.ts +180 -0
- package/dist/services/aiService.d.ts.map +1 -0
- package/dist/services/aiService.js +547 -0
- package/dist/services/aiService.js.map +1 -0
- package/dist/services/conversationStorage.d.ts +38 -0
- package/dist/services/conversationStorage.d.ts.map +1 -0
- package/dist/services/conversationStorage.js +158 -0
- package/dist/services/conversationStorage.js.map +1 -0
- package/dist/services/crossPlatformBuffer.d.ts +84 -0
- package/dist/services/crossPlatformBuffer.d.ts.map +1 -0
- package/dist/services/crossPlatformBuffer.js +246 -0
- package/dist/services/crossPlatformBuffer.js.map +1 -0
- package/dist/services/index.d.ts +17 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +18 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/networkService.d.ts +81 -0
- package/dist/services/networkService.d.ts.map +1 -0
- package/dist/services/networkService.js +268 -0
- package/dist/services/networkService.js.map +1 -0
- package/dist/services/queueService.d.ts +112 -0
- package/dist/services/queueService.d.ts.map +1 -0
- package/dist/services/queueService.js +338 -0
- package/dist/services/queueService.js.map +1 -0
- package/dist/services/settingsService.d.ts +135 -0
- package/dist/services/settingsService.d.ts.map +1 -0
- package/dist/services/settingsService.js +425 -0
- package/dist/services/settingsService.js.map +1 -0
- package/dist/services/systemMonitor.d.ts +208 -0
- package/dist/services/systemMonitor.d.ts.map +1 -0
- package/dist/services/systemMonitor.js +693 -0
- package/dist/services/systemMonitor.js.map +1 -0
- package/dist/services/updateService.d.ts +78 -0
- package/dist/services/updateService.d.ts.map +1 -0
- package/dist/services/updateService.js +252 -0
- package/dist/services/updateService.js.map +1 -0
- package/dist/services/websocketEvents.d.ts +372 -0
- package/dist/services/websocketEvents.d.ts.map +1 -0
- package/dist/services/websocketEvents.js +338 -0
- package/dist/services/websocketEvents.js.map +1 -0
- package/dist/services/websocketServer.d.ts +80 -0
- package/dist/services/websocketServer.d.ts.map +1 -0
- package/dist/services/websocketServer.js +299 -0
- package/dist/services/websocketServer.js.map +1 -0
- package/dist/settings/SettingsSchema.d.ts +151 -0
- package/dist/settings/SettingsSchema.d.ts.map +1 -0
- package/dist/settings/SettingsSchema.js +424 -0
- package/dist/settings/SettingsSchema.js.map +1 -0
- package/dist/testing/TestServer.d.ts +69 -0
- package/dist/testing/TestServer.d.ts.map +1 -0
- package/dist/testing/TestServer.js +250 -0
- package/dist/testing/TestServer.js.map +1 -0
- package/dist/types/index.d.ts +137 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/appPaths.d.ts +74 -0
- package/dist/utils/appPaths.d.ts.map +1 -0
- package/dist/utils/appPaths.js +162 -0
- package/dist/utils/appPaths.js.map +1 -0
- package/dist/utils/fs-utils.d.ts +50 -0
- package/dist/utils/fs-utils.d.ts.map +1 -0
- package/dist/utils/fs-utils.js +114 -0
- package/dist/utils/fs-utils.js.map +1 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/standardConfig.d.ts +61 -0
- package/dist/utils/standardConfig.d.ts.map +1 -0
- package/dist/utils/standardConfig.js +109 -0
- package/dist/utils/standardConfig.js.map +1 -0
- package/dist/utils/startupBanner.d.ts +34 -0
- package/dist/utils/startupBanner.d.ts.map +1 -0
- package/dist/utils/startupBanner.js +169 -0
- package/dist/utils/startupBanner.js.map +1 -0
- package/dist/utils/startupLogger.d.ts +45 -0
- package/dist/utils/startupLogger.d.ts.map +1 -0
- package/dist/utils/startupLogger.js +200 -0
- package/dist/utils/startupLogger.js.map +1 -0
- package/package.json +151 -0
- package/src/api/logsRouter.ts +600 -0
- package/src/cli/dev-server.ts +803 -0
- package/src/cli/index.ts +31 -0
- package/src/core/StandardServer.ts +587 -0
- package/src/core/apiResponse.ts +202 -0
- package/src/core/healthCheck.ts +565 -0
- package/src/core/index.ts +80 -0
- package/src/core/logger.ts +1092 -0
- package/src/core/portUtils.ts +319 -0
- package/src/core/storageService.ts +595 -0
- package/src/desktop/bundler.ts +271 -0
- package/src/desktop/index.ts +18 -0
- package/src/desktop/native-modules.ts +289 -0
- package/src/index.ts +142 -0
- package/src/logging/LogCategories.ts +302 -0
- package/src/middleware/aiErrorHandler.ts +278 -0
- package/src/middleware/auth.ts +329 -0
- package/src/middleware/cors.ts +187 -0
- package/src/middleware/errorHandler.ts +103 -0
- package/src/middleware/fileUpload.ts +252 -0
- package/src/middleware/health.ts +206 -0
- package/src/middleware/index.ts +71 -0
- package/src/middleware/openapi.ts +305 -0
- package/src/middleware/requestLogging.ts +92 -0
- package/src/middleware/session.ts +238 -0
- package/src/middleware/validation.ts +603 -0
- package/src/services/aiService.ts +789 -0
- package/src/services/conversationStorage.ts +232 -0
- package/src/services/crossPlatformBuffer.ts +341 -0
- package/src/services/index.ts +47 -0
- package/src/services/networkService.ts +351 -0
- package/src/services/queueService.ts +446 -0
- package/src/services/settingsService.ts +549 -0
- package/src/services/systemMonitor.ts +936 -0
- package/src/services/updateService.ts +334 -0
- package/src/services/websocketEvents.ts +409 -0
- package/src/services/websocketServer.ts +394 -0
- package/src/settings/SettingsSchema.ts +664 -0
- package/src/testing/TestServer.ts +312 -0
- package/src/types/index.ts +154 -0
- package/src/utils/appPaths.ts +196 -0
- package/src/utils/fs-utils.ts +130 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/standardConfig.ts +178 -0
- package/src/utils/startupBanner.ts +287 -0
- package/src/utils/startupLogger.ts +268 -0
- package/ui/dist/index.d.mts +1221 -0
- package/ui/dist/index.d.ts +1221 -0
- package/ui/dist/index.js +73 -0
- package/ui/dist/index.js.map +1 -0
- package/ui/dist/index.mjs +73 -0
- package/ui/dist/index.mjs.map +1 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desktop Module Exports
|
|
3
|
+
* Provides all desktop-related utilities for Electron integration
|
|
4
|
+
*/
|
|
5
|
+
export * from "./bundler.js";
|
|
6
|
+
export * from "./native-modules.js";
|
|
7
|
+
import * as bundler from "./bundler.js";
|
|
8
|
+
import * as nativeModules from "./native-modules.js";
|
|
9
|
+
export declare const Desktop: {
|
|
10
|
+
copyNativeModules(config: nativeModules.NativeModuleConfig): Promise<void>;
|
|
11
|
+
rebuildNativeModules(targetDir: string, electronVersion?: string): Promise<void>;
|
|
12
|
+
createNativeModuleLoader(outputPath: string, nativeModules: string[]): Promise<void>;
|
|
13
|
+
isNativeModule(moduleName: string): Promise<boolean>;
|
|
14
|
+
detectNativeModules(projectDir: string): Promise<string[]>;
|
|
15
|
+
bundleWithNativeModules(options: nativeModules.BundleWithNativeModulesOptions): Promise<void>;
|
|
16
|
+
COMMON_NATIVE_MODULES: string[];
|
|
17
|
+
bundleBackend(options: bundler.BundleOptions): Promise<void>;
|
|
18
|
+
bundleDependencies(packageJsonPath: string, outDir: string): Promise<void>;
|
|
19
|
+
default: {
|
|
20
|
+
bundleBackend: typeof bundler.bundleBackend;
|
|
21
|
+
bundleDependencies: typeof bundler.bundleDependencies;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default Desktop;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/desktop/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAGpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;CAGnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desktop Module Exports
|
|
3
|
+
* Provides all desktop-related utilities for Electron integration
|
|
4
|
+
*/
|
|
5
|
+
export * from "./bundler.js";
|
|
6
|
+
export * from "./native-modules.js";
|
|
7
|
+
// Re-export as namespace for convenience
|
|
8
|
+
import * as bundler from "./bundler.js";
|
|
9
|
+
import * as nativeModules from "./native-modules.js";
|
|
10
|
+
export const Desktop = {
|
|
11
|
+
...bundler,
|
|
12
|
+
...nativeModules,
|
|
13
|
+
};
|
|
14
|
+
export default Desktop;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/desktop/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AAEpC,yCAAyC;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,OAAO;IACV,GAAG,aAAa;CACjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native Module Handler for Desktop Bundling
|
|
3
|
+
* Manages native Node.js modules that can't be bundled
|
|
4
|
+
*/
|
|
5
|
+
export interface NativeModuleConfig {
|
|
6
|
+
/**
|
|
7
|
+
* List of native modules to copy to resources
|
|
8
|
+
*/
|
|
9
|
+
modules: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Source node_modules directory
|
|
12
|
+
*/
|
|
13
|
+
sourceDir: string;
|
|
14
|
+
/**
|
|
15
|
+
* Target resources directory
|
|
16
|
+
*/
|
|
17
|
+
targetDir: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether to rebuild native modules for target platform
|
|
20
|
+
*/
|
|
21
|
+
rebuild?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Electron version (if rebuilding for Electron)
|
|
24
|
+
*/
|
|
25
|
+
electronVersion?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Default native modules that commonly need special handling
|
|
29
|
+
*/
|
|
30
|
+
export declare const COMMON_NATIVE_MODULES: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Copy native modules to resources directory
|
|
33
|
+
*/
|
|
34
|
+
export declare function copyNativeModules(config: NativeModuleConfig): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Rebuild native modules for target platform
|
|
37
|
+
*/
|
|
38
|
+
export declare function rebuildNativeModules(targetDir: string, electronVersion?: string): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Create a loader script that sets up paths for native modules
|
|
41
|
+
*/
|
|
42
|
+
export declare function createNativeModuleLoader(outputPath: string, nativeModules: string[]): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a module is a native module
|
|
45
|
+
*/
|
|
46
|
+
export declare function isNativeModule(moduleName: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Detect all native modules in a project
|
|
49
|
+
*/
|
|
50
|
+
export declare function detectNativeModules(projectDir: string): Promise<string[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Bundle configuration that handles native modules
|
|
53
|
+
*/
|
|
54
|
+
export interface BundleWithNativeModulesOptions {
|
|
55
|
+
entryPoint: string;
|
|
56
|
+
outputPath: string;
|
|
57
|
+
nativeModules?: string[];
|
|
58
|
+
autoDetect?: boolean;
|
|
59
|
+
rebuild?: boolean;
|
|
60
|
+
electronVersion?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a bundle that properly handles native modules
|
|
64
|
+
*/
|
|
65
|
+
export declare function bundleWithNativeModules(options: BundleWithNativeModulesOptions): Promise<void>;
|
|
66
|
+
//# sourceMappingURL=native-modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-modules.d.ts","sourceRoot":"","sources":["../../src/desktop/native-modules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAWjC,CAAC;AAEF;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAoCnB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native Module Handler for Desktop Bundling
|
|
3
|
+
* Manages native Node.js modules that can't be bundled
|
|
4
|
+
*/
|
|
5
|
+
import { ensureDir, pathExists, copy, writeFile, readFile, readdir, stat, } from "../utils/fs-utils.js";
|
|
6
|
+
import path from "path";
|
|
7
|
+
import { execSync } from "child_process";
|
|
8
|
+
import { createLogger } from "../core/logger.js";
|
|
9
|
+
const logger = createLogger("native-modules");
|
|
10
|
+
/**
|
|
11
|
+
* Default native modules that commonly need special handling
|
|
12
|
+
*/
|
|
13
|
+
export const COMMON_NATIVE_MODULES = [
|
|
14
|
+
"serialport",
|
|
15
|
+
"@serialport/bindings-cpp",
|
|
16
|
+
"node-pty",
|
|
17
|
+
"bcrypt",
|
|
18
|
+
"better-sqlite3",
|
|
19
|
+
"canvas",
|
|
20
|
+
"sharp",
|
|
21
|
+
"fsevents",
|
|
22
|
+
"usb",
|
|
23
|
+
"node-hid",
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Copy native modules to resources directory
|
|
27
|
+
*/
|
|
28
|
+
export async function copyNativeModules(config) {
|
|
29
|
+
const { modules, sourceDir, targetDir } = config;
|
|
30
|
+
// Ensure target directory exists
|
|
31
|
+
await ensureDir(path.join(targetDir, "node_modules"));
|
|
32
|
+
for (const moduleName of modules) {
|
|
33
|
+
const sourcePath = path.join(sourceDir, "node_modules", moduleName);
|
|
34
|
+
const targetPath = path.join(targetDir, "node_modules", moduleName);
|
|
35
|
+
if (await pathExists(sourcePath)) {
|
|
36
|
+
logger.info(`📦 Copying native module: ${moduleName}`);
|
|
37
|
+
await copy(sourcePath, targetPath);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
logger.warn(`⚠️ Native module not found: ${moduleName}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Rebuild native modules for target platform
|
|
46
|
+
*/
|
|
47
|
+
export async function rebuildNativeModules(targetDir, electronVersion) {
|
|
48
|
+
logger.info("🔨 Rebuilding native modules...");
|
|
49
|
+
const cwd = targetDir;
|
|
50
|
+
if (electronVersion) {
|
|
51
|
+
// Rebuild for Electron
|
|
52
|
+
try {
|
|
53
|
+
execSync(`npx electron-rebuild -v ${electronVersion}`, {
|
|
54
|
+
cwd,
|
|
55
|
+
stdio: "inherit",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (_error) {
|
|
59
|
+
logger.error("Failed to rebuild for Electron:", _error);
|
|
60
|
+
throw _error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Rebuild for Node.js
|
|
65
|
+
try {
|
|
66
|
+
execSync("npm rebuild", { cwd, stdio: "inherit" });
|
|
67
|
+
}
|
|
68
|
+
catch (_error) {
|
|
69
|
+
logger.error("Failed to rebuild native modules:", _error);
|
|
70
|
+
throw _error;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create a loader script that sets up paths for native modules
|
|
76
|
+
*/
|
|
77
|
+
export async function createNativeModuleLoader(outputPath, nativeModules) {
|
|
78
|
+
const loaderScript = `/**
|
|
79
|
+
* Native Module Loader
|
|
80
|
+
* Sets up require paths for native modules in desktop app
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
const path = require('path');
|
|
84
|
+
const Module = require('module');
|
|
85
|
+
|
|
86
|
+
// Add native modules directory to Node module paths
|
|
87
|
+
const nativeModulesPath = path.join(__dirname, 'node_modules');
|
|
88
|
+
Module.globalPaths.push(nativeModulesPath);
|
|
89
|
+
|
|
90
|
+
// Patch require to handle native modules
|
|
91
|
+
const originalRequire = Module.prototype.require;
|
|
92
|
+
const nativeModules = ${JSON.stringify(nativeModules)};
|
|
93
|
+
|
|
94
|
+
Module.prototype.require = function(id) {
|
|
95
|
+
// Check if this is a native module
|
|
96
|
+
if (nativeModules.includes(id) || nativeModules.some(m => id.startsWith(m + '/'))) {
|
|
97
|
+
try {
|
|
98
|
+
// Try to load from native modules directory
|
|
99
|
+
return originalRequire.apply(this, [path.join(nativeModulesPath, id)]);
|
|
100
|
+
} catch (_error) {
|
|
101
|
+
// Fall back to original require
|
|
102
|
+
return originalRequire.apply(this, arguments);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return originalRequire.apply(this, arguments);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
// Export for use in main bundle
|
|
110
|
+
module.exports = { nativeModulesPath };
|
|
111
|
+
`;
|
|
112
|
+
await writeFile(outputPath, loaderScript, "utf8");
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if a module is a native module
|
|
116
|
+
*/
|
|
117
|
+
export async function isNativeModule(moduleName) {
|
|
118
|
+
try {
|
|
119
|
+
const packageJsonPath = require.resolve(`${moduleName}/package.json`);
|
|
120
|
+
const content = await readFile(packageJsonPath, "utf8");
|
|
121
|
+
const packageJson = JSON.parse(content);
|
|
122
|
+
// Check for common indicators of native modules
|
|
123
|
+
return !!(packageJson.gypfile ||
|
|
124
|
+
packageJson.binary ||
|
|
125
|
+
packageJson.scripts?.install ||
|
|
126
|
+
packageJson.scripts?.postinstall?.includes("node-gyp") ||
|
|
127
|
+
packageJson.dependencies?.["node-addon-api"] ||
|
|
128
|
+
packageJson.dependencies?.["nan"]);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Detect all native modules in a project
|
|
136
|
+
*/
|
|
137
|
+
export async function detectNativeModules(projectDir) {
|
|
138
|
+
const nodeModulesDir = path.join(projectDir, "node_modules");
|
|
139
|
+
const nativeModules = [];
|
|
140
|
+
if (!(await pathExists(nodeModulesDir))) {
|
|
141
|
+
return nativeModules;
|
|
142
|
+
}
|
|
143
|
+
const modules = await readdir(nodeModulesDir);
|
|
144
|
+
for (const moduleName of modules) {
|
|
145
|
+
if (moduleName.startsWith("."))
|
|
146
|
+
continue;
|
|
147
|
+
const modulePath = path.join(nodeModulesDir, moduleName);
|
|
148
|
+
const stats = await stat(modulePath);
|
|
149
|
+
if (stats.isDirectory()) {
|
|
150
|
+
if (moduleName.startsWith("@")) {
|
|
151
|
+
// Scoped package
|
|
152
|
+
const scopedModules = await readdir(modulePath);
|
|
153
|
+
for (const scopedModule of scopedModules) {
|
|
154
|
+
const fullName = `${moduleName}/${scopedModule}`;
|
|
155
|
+
if (await isNativeModule(fullName)) {
|
|
156
|
+
nativeModules.push(fullName);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// Regular package
|
|
162
|
+
if (await isNativeModule(moduleName)) {
|
|
163
|
+
nativeModules.push(moduleName);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return nativeModules;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Create a bundle that properly handles native modules
|
|
172
|
+
*/
|
|
173
|
+
export async function bundleWithNativeModules(options) {
|
|
174
|
+
const { entryPoint, outputPath, autoDetect = true, rebuild = false, electronVersion, } = options;
|
|
175
|
+
const projectDir = path.dirname(entryPoint);
|
|
176
|
+
const outputDir = path.dirname(outputPath);
|
|
177
|
+
// Detect or use provided native modules
|
|
178
|
+
let nativeModules = options.nativeModules || [];
|
|
179
|
+
if (autoDetect) {
|
|
180
|
+
const detected = await detectNativeModules(projectDir);
|
|
181
|
+
nativeModules = [...new Set([...nativeModules, ...detected])];
|
|
182
|
+
logger.info(`🔍 Detected native modules: ${nativeModules.join(", ")}`);
|
|
183
|
+
}
|
|
184
|
+
// Copy native modules
|
|
185
|
+
if (nativeModules.length > 0) {
|
|
186
|
+
await copyNativeModules({
|
|
187
|
+
modules: nativeModules,
|
|
188
|
+
sourceDir: projectDir,
|
|
189
|
+
targetDir: outputDir,
|
|
190
|
+
});
|
|
191
|
+
// Create loader script
|
|
192
|
+
await createNativeModuleLoader(path.join(outputDir, "native-loader.js"), nativeModules);
|
|
193
|
+
// Rebuild if requested
|
|
194
|
+
if (rebuild) {
|
|
195
|
+
await rebuildNativeModules(outputDir, electronVersion);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
logger.info("✅ Native modules prepared for bundling");
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=native-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-modules.js","sourceRoot":"","sources":["../../src/desktop/native-modules.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SuperDangerous App Framework
|
|
3
|
+
* Main entry point for the TypeScript framework
|
|
4
|
+
*/
|
|
5
|
+
export * from "./core/index.js";
|
|
6
|
+
export { sendSuccess, sendError, sendValidationError, sendNotFound, sendUnauthorized, sendForbidden, sendBadRequest, sendCreated, sendNoContent, asyncHandler, apiErrorHandler, type ApiResponse, type ApiErrorResponse, type ApiSuccessResponse, } from "./core/apiResponse.js";
|
|
7
|
+
export * from "./services/index.js";
|
|
8
|
+
export * from "./middleware/index.js";
|
|
9
|
+
export * from "./middleware/auth.js";
|
|
10
|
+
export { configureSession, sessionUtils, createRedisStore, } from "./middleware/session.js";
|
|
11
|
+
export type { SessionConfig as FrameworkSessionConfig } from "./middleware/session.js";
|
|
12
|
+
export * from "./utils/index.js";
|
|
13
|
+
export { createLogger, type Logger, type LogLevel } from "./core/index.js";
|
|
14
|
+
export { StandardServer, createStandardServer } from "./core/StandardServer.js";
|
|
15
|
+
export type { StandardServerConfig } from "./core/StandardServer.js";
|
|
16
|
+
export { StorageService, getStorageService, SecureFileHandler, getSecureFileHandler, } from "./core/storageService.js";
|
|
17
|
+
export { createWebSocketServer, getWebSocketServer, } from "./services/websocketServer.js";
|
|
18
|
+
export { validate, schemas } from "./middleware/validation.js";
|
|
19
|
+
export { TestServer, createTestServer, setupTestServer, teardownTestServer, getTestServer, } from "./testing/TestServer.js";
|
|
20
|
+
export type { TestServerConfig } from "./testing/TestServer.js";
|
|
21
|
+
export { default as logsRouter } from "./api/logsRouter.js";
|
|
22
|
+
export type { LogEntry as RouterLogEntry, LogFile } from "./api/logsRouter.js";
|
|
23
|
+
export * from "./desktop/index.js";
|
|
24
|
+
export { getSystemMonitor } from "./services/systemMonitor.js";
|
|
25
|
+
export type { SystemHealth, CPUInfo, MemoryInfo, DiskInfo, SystemInfo, ProcessInfo, } from "./services/systemMonitor.js";
|
|
26
|
+
export { createHealthCheckRouter, getHealthCheckService, type SystemHealth as HealthStatus, type SystemMetrics, type HealthCheckOptions, type CustomHealthCheck, type HealthCheckResult, type DependencyHealth, } from "./core/healthCheck.js";
|
|
27
|
+
export { createSettingsSchema, flattenSettings, unflattenSettings, flattenSettingsValues, unflattenSettingsValues, getRestartRequiredSettings, validateSettings, validateSetting, validateAllSettings, getSettingByKey, getDefaultSettingsValues, evaluateFieldVisibility, groupFields, applyToStorageTransform, applyFromStorageTransform, createSettingsFormState, Validators, type SettingsSchema, type SettingsCategory, type SettingDefinition, type SettingOption, type SettingsFormState, type SettingsValidationResult, } from "./settings/SettingsSchema.js";
|
|
28
|
+
export { LogLevels, defaultLogViewerConfig, parseLogEntry, formatLogEntry, calculateLogStats, filterLogEntries, type LogCategory, type LogFilter, type LogViewerConfig, type LogEntry, type LogStats, } from "./logging/LogCategories.js";
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGvF,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAE,QAAQ,IAAI,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG/E,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EACV,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,YAAY,IAAI,YAAY,EACjC,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,QAAQ,GACd,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SuperDangerous App Framework
|
|
3
|
+
* Main entry point for the TypeScript framework
|
|
4
|
+
*/
|
|
5
|
+
// Core exports
|
|
6
|
+
export * from "./core/index.js";
|
|
7
|
+
// API Response utilities are exported separately to avoid conflicts
|
|
8
|
+
export { sendSuccess, sendError, sendValidationError, sendNotFound, sendUnauthorized, sendForbidden, sendBadRequest, sendCreated, sendNoContent, asyncHandler, apiErrorHandler, } from "./core/apiResponse.js";
|
|
9
|
+
// Service exports
|
|
10
|
+
export * from "./services/index.js";
|
|
11
|
+
// Middleware exports
|
|
12
|
+
export * from "./middleware/index.js";
|
|
13
|
+
export * from "./middleware/auth.js";
|
|
14
|
+
export { configureSession, sessionUtils, createRedisStore, } from "./middleware/session.js";
|
|
15
|
+
// Utility exports
|
|
16
|
+
export * from "./utils/index.js";
|
|
17
|
+
// Re-export commonly used items at top level
|
|
18
|
+
export { createLogger } from "./core/index.js";
|
|
19
|
+
export { StandardServer, createStandardServer } from "./core/StandardServer.js";
|
|
20
|
+
export { StorageService, getStorageService, SecureFileHandler, getSecureFileHandler, } from "./core/storageService.js";
|
|
21
|
+
export { createWebSocketServer, getWebSocketServer, } from "./services/websocketServer.js";
|
|
22
|
+
export { validate, schemas } from "./middleware/validation.js";
|
|
23
|
+
// Testing utilities
|
|
24
|
+
export { TestServer, createTestServer, setupTestServer, teardownTestServer, getTestServer, } from "./testing/TestServer.js";
|
|
25
|
+
// Standardized API routers
|
|
26
|
+
export { default as logsRouter } from "./api/logsRouter.js";
|
|
27
|
+
// Desktop integration exports
|
|
28
|
+
export * from "./desktop/index.js";
|
|
29
|
+
// System monitoring exports
|
|
30
|
+
export { getSystemMonitor } from "./services/systemMonitor.js";
|
|
31
|
+
// Health check exports
|
|
32
|
+
export { createHealthCheckRouter, getHealthCheckService, } from "./core/healthCheck.js";
|
|
33
|
+
// WebSocket Manager exports
|
|
34
|
+
// Configuration management - use SettingsService instead
|
|
35
|
+
// Settings Schema exports - Consolidated implementation
|
|
36
|
+
export { createSettingsSchema, flattenSettings, unflattenSettings, flattenSettingsValues, unflattenSettingsValues, getRestartRequiredSettings, validateSettings, validateSetting, validateAllSettings, getSettingByKey, getDefaultSettingsValues, evaluateFieldVisibility, groupFields, applyToStorageTransform, applyFromStorageTransform, createSettingsFormState, Validators, } from "./settings/SettingsSchema.js";
|
|
37
|
+
// Log Categories exports
|
|
38
|
+
export { LogLevels, defaultLogViewerConfig, parseLogEntry, formatLogEntry, calculateLogStats, filterLogEntries, } from "./logging/LogCategories.js";
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAe;AACf,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EACL,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,GAIhB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,kBAAkB;AAClB,cAAc,kBAAkB,CAAC;AAEjC,6CAA6C;AAC7C,OAAO,EAAE,YAAY,EAA8B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/D,oBAAoB;AACpB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,2BAA2B;AAC3B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG5D,8BAA8B;AAC9B,cAAc,oBAAoB,CAAC;AAEnC,4BAA4B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAU/D,uBAAuB;AACvB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAOtB,MAAM,uBAAuB,CAAC;AAE/B,4BAA4B;AAE5B,yDAAyD;AAEzD,wDAAwD;AACxD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,UAAU,GAOX,MAAM,8BAA8B,CAAC;AAEtC,yBAAyB;AACzB,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GAMjB,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log Categories System
|
|
3
|
+
* Provides a declarative way to define log categories with automatic UI generation
|
|
4
|
+
*/
|
|
5
|
+
export interface LogLevel {
|
|
6
|
+
name: "error" | "warn" | "info" | "debug" | "verbose";
|
|
7
|
+
color: string;
|
|
8
|
+
badge: string;
|
|
9
|
+
priority: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const LogLevels: Record<string, LogLevel>;
|
|
12
|
+
export interface LogCategory {
|
|
13
|
+
id: string;
|
|
14
|
+
label: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
color?: string;
|
|
17
|
+
icon?: string;
|
|
18
|
+
enabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface LogFilter {
|
|
21
|
+
levels?: string[];
|
|
22
|
+
categories?: string[];
|
|
23
|
+
search?: string;
|
|
24
|
+
startDate?: Date;
|
|
25
|
+
endDate?: Date;
|
|
26
|
+
}
|
|
27
|
+
export interface LogViewerConfig {
|
|
28
|
+
categories: LogCategory[];
|
|
29
|
+
defaultLevel: string;
|
|
30
|
+
maxLogEntries: number;
|
|
31
|
+
enableRealtime: boolean;
|
|
32
|
+
enableExport: boolean;
|
|
33
|
+
enableArchives: boolean;
|
|
34
|
+
archiveRetentionDays: number;
|
|
35
|
+
horizontalScroll: boolean;
|
|
36
|
+
timestampFormat: string;
|
|
37
|
+
showCategories: boolean;
|
|
38
|
+
showMetadata: boolean;
|
|
39
|
+
theme?: "light" | "dark" | "system";
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Default log viewer configuration
|
|
43
|
+
*/
|
|
44
|
+
export declare const defaultLogViewerConfig: LogViewerConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Log entry interface
|
|
47
|
+
*/
|
|
48
|
+
export interface LogEntry {
|
|
49
|
+
id: string;
|
|
50
|
+
timestamp: string;
|
|
51
|
+
level: keyof typeof LogLevels;
|
|
52
|
+
category?: string;
|
|
53
|
+
message: string;
|
|
54
|
+
metadata?: Record<string, any>;
|
|
55
|
+
source?: string;
|
|
56
|
+
userId?: string;
|
|
57
|
+
sessionId?: string;
|
|
58
|
+
requestId?: string;
|
|
59
|
+
stack?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Log aggregation for summary statistics
|
|
63
|
+
*/
|
|
64
|
+
export interface LogStats {
|
|
65
|
+
total: number;
|
|
66
|
+
byLevel: Record<string, number>;
|
|
67
|
+
byCategory: Record<string, number>;
|
|
68
|
+
errorRate: number;
|
|
69
|
+
warnRate: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Helper to parse log entries from different formats
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseLogEntry(raw: string | object): LogEntry | null;
|
|
75
|
+
/**
|
|
76
|
+
* Helper to format log entries for display
|
|
77
|
+
*/
|
|
78
|
+
export declare function formatLogEntry(entry: LogEntry, format?: "full" | "compact"): string;
|
|
79
|
+
/**
|
|
80
|
+
* Calculate log statistics
|
|
81
|
+
*/
|
|
82
|
+
export declare function calculateLogStats(entries: LogEntry[]): LogStats;
|
|
83
|
+
/**
|
|
84
|
+
* Filter log entries
|
|
85
|
+
*/
|
|
86
|
+
export declare function filterLogEntries(entries: LogEntry[], filter: LogFilter): LogEntry[];
|
|
87
|
+
//# sourceMappingURL=LogCategories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogCategories.d.ts","sourceRoot":"","sources":["../../src/logging/LogCategories.ts"],"names":[],"mappings":"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"}
|