xypriss 9.7.5 → 9.7.7
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/README.md +22 -0
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +1 -1
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/cjs/src/plugins/api/PluginAPI.js +108 -85
- package/dist/cjs/src/plugins/api/PluginAPI.js.map +1 -1
- package/dist/cjs/src/plugins/builtin/RouteOptimizationPlugin.js +1 -1
- package/dist/cjs/src/plugins/types/PluginTypes.js.map +1 -1
- package/dist/cjs/src/server/FastServer/LogTracingMethods.js +21 -18
- package/dist/cjs/src/server/FastServer/LogTracingMethods.js.map +1 -1
- package/dist/cjs/src/server/FastServer/index.js +7 -5
- package/dist/cjs/src/server/FastServer/index.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/MonitoringManager.js +1 -1
- package/dist/cjs/src/server/components/fastapi/RouteManager.js +1 -1
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +375 -884
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/console/types.js +10 -106
- package/dist/cjs/src/server/components/fastapi/console/types.js.map +1 -1
- package/dist/cjs/src/server/core/StartupProcessor.js +1 -1
- package/dist/cjs/src/server/core/StartupProcessor.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/LogProcessor.js +19 -5
- package/dist/cjs/src/server/core/XHSCBridge/LogProcessor.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/index.js +4 -1
- package/dist/cjs/src/server/core/XHSCBridge/index.js.map +1 -1
- package/dist/cjs/src/server/core/XyLifecycleManager.js +12 -1
- package/dist/cjs/src/server/core/XyLifecycleManager.js.map +1 -1
- package/dist/cjs/src/server/core/XyprissApp.js +3 -2
- package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
- package/dist/cjs/src/server/utils/internalFlagsFunctions.js +26 -10
- package/dist/cjs/src/server/utils/internalFlagsFunctions.js.map +1 -1
- package/dist/cjs/src/shared/logger/DEFAULT_LOGGER_CONFIG.js +1 -2
- package/dist/cjs/src/shared/logger/DEFAULT_LOGGER_CONFIG.js.map +1 -1
- package/dist/cjs/src/shared/logger/Logger.js +38 -0
- package/dist/cjs/src/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/xhsc/OSApi.js +4 -0
- package/dist/cjs/src/xhsc/OSApi.js.map +1 -1
- package/dist/cjs/src/xhsc/fs/FSExtended.js +13 -0
- package/dist/cjs/src/xhsc/fs/FSExtended.js.map +1 -1
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +1 -1
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/esm/src/plugins/api/PluginAPI.js +108 -85
- package/dist/esm/src/plugins/api/PluginAPI.js.map +1 -1
- package/dist/esm/src/plugins/builtin/RouteOptimizationPlugin.js +1 -1
- package/dist/esm/src/plugins/types/PluginTypes.js.map +1 -1
- package/dist/esm/src/server/FastServer/LogTracingMethods.js +21 -18
- package/dist/esm/src/server/FastServer/LogTracingMethods.js.map +1 -1
- package/dist/esm/src/server/FastServer/index.js +7 -5
- package/dist/esm/src/server/FastServer/index.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/MonitoringManager.js +1 -1
- package/dist/esm/src/server/components/fastapi/RouteManager.js +1 -1
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +376 -885
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/console/types.js +11 -106
- package/dist/esm/src/server/components/fastapi/console/types.js.map +1 -1
- package/dist/esm/src/server/core/StartupProcessor.js +1 -1
- package/dist/esm/src/server/core/StartupProcessor.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/LogProcessor.js +19 -5
- package/dist/esm/src/server/core/XHSCBridge/LogProcessor.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/index.js +4 -1
- package/dist/esm/src/server/core/XHSCBridge/index.js.map +1 -1
- package/dist/esm/src/server/core/XyLifecycleManager.js +12 -1
- package/dist/esm/src/server/core/XyLifecycleManager.js.map +1 -1
- package/dist/esm/src/server/core/XyprissApp.js +3 -2
- package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
- package/dist/esm/src/server/utils/internalFlagsFunctions.js +26 -10
- package/dist/esm/src/server/utils/internalFlagsFunctions.js.map +1 -1
- package/dist/esm/src/shared/logger/DEFAULT_LOGGER_CONFIG.js +1 -2
- package/dist/esm/src/shared/logger/DEFAULT_LOGGER_CONFIG.js.map +1 -1
- package/dist/esm/src/shared/logger/Logger.js +38 -0
- package/dist/esm/src/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/xhsc/OSApi.js +4 -0
- package/dist/esm/src/xhsc/OSApi.js.map +1 -1
- package/dist/esm/src/xhsc/fs/FSExtended.js +13 -0
- package/dist/esm/src/xhsc/fs/FSExtended.js.map +1 -1
- package/dist/index.d.ts +141 -129
- package/package.json +2 -48
package/README.md
CHANGED
|
@@ -95,6 +95,28 @@ xfpm install xypriss-security
|
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
+
## Requirements
|
|
99
|
+
|
|
100
|
+
Before running a XyPriss project, make sure the following two tools are installed on your system. They are **mandatory** — using another package manager (npm, yarn, pnpm, etc.) or JavaScript runtime will break the framework's security chain and native integration.
|
|
101
|
+
|
|
102
|
+
| Requirement | Purpose | Install |
|
|
103
|
+
| ----------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
|
104
|
+
| **XFPM** | Package manager for the XyPriss ecosystem. Only manager supported for install/run/build. | [Installation Guide](https://xypriss.nehonix.com/docs/installation) |
|
|
105
|
+
| **Bun** | JavaScript runtime used to execute XyPriss projects and scripts. | [bun.sh](https://bun.sh) |
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Install Bun (if not already installed)
|
|
109
|
+
curl -fsSL https://bun.sh/install | bash
|
|
110
|
+
|
|
111
|
+
# Install XFPM
|
|
112
|
+
curl -sL https://xypriss.nehonix.com/install.js | node
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
> [!CAUTION]
|
|
116
|
+
> Using `npm run`, `node`, or another runtime to start a XyPriss server is not supported and will produce undefined behavior. Always use `xfpm run` or `bun` to execute scripts and entry points.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
98
120
|
## Quick Start
|
|
99
121
|
|
|
100
122
|
### Using CLI
|
|
@@ -5,7 +5,7 @@ var XyPrissCors = require('./security/XyPrissCors.js');
|
|
|
5
5
|
var XyPrissHPP = require('./security/XyPrissHPP.js');
|
|
6
6
|
var xss = require('xss');
|
|
7
7
|
var morgan = require('morgan');
|
|
8
|
-
var compression = require('xypriss-compression
|
|
8
|
+
var compression = require('xypriss-compression');
|
|
9
9
|
var csrfCsrf = require('csrf-csrf');
|
|
10
10
|
var mergeWithDefaults = require('../../utils/mergeWithDefaults.js');
|
|
11
11
|
var RequestSignatureProtector = require('./security/RequestSignatureProtector.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["mergeWithDefaults","cors","shouldCompress","Logger","doubleCsrf","hpp","BrowserOnlyProtector","TerminalOnlyProtector","MobileOnlyProtector","RequestSignatureProtector"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BuiltInMiddleware.js","sources":["../../../../../src/middleware/built-in/BuiltInMiddleware.ts"],"sourcesContent":[null],"names":["mergeWithDefaults","cors","shouldCompress","Logger","doubleCsrf","hpp","BrowserOnlyProtector","TerminalOnlyProtector","MobileOnlyProtector","RequestSignatureProtector"],"mappings":"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"}
|
|
@@ -4,35 +4,36 @@
|
|
|
4
4
|
* Plugin API
|
|
5
5
|
* Public API for plugin management as documented in PLUGIN_SYSTEM_GUIDE.md
|
|
6
6
|
*/
|
|
7
|
+
// ─── Internal State ──────────────────────────────────────────────────────────
|
|
8
|
+
// ─── Blocked / Private members ───────────────────────────────────────────────
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
+
* Methods that must never be accessible from outside the module.
|
|
11
|
+
* The Proxy intercepts any access to these keys and throws immediately.
|
|
10
12
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const PRIVATE_MEMBERS = new Set(["register"]);
|
|
14
|
+
// ─── Internal helpers ─────────────────────────────────────────────────────────
|
|
15
|
+
function assertNonEmptyString(value, errorMessage) {
|
|
16
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
17
|
+
throw new Error(errorMessage);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function resolvePluginRoot(rootOrSys) {
|
|
21
|
+
const root = typeof rootOrSys === "string" ? rootOrSys : rootOrSys?.__root__;
|
|
22
|
+
if (!root || typeof root !== "string" || !root.trim()) {
|
|
23
|
+
throw new Error("XyPriss Security Error: The provided root or '__sys__' instance is invalid or lacks a captured project root.");
|
|
24
|
+
}
|
|
25
|
+
return root;
|
|
26
|
+
}
|
|
27
|
+
// ─── PluginAPI class ─────────────────────────────────────────────────────────
|
|
28
|
+
class PluginAPI {
|
|
16
29
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @param config - Optional configuration
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* Plugin.register({
|
|
24
|
-
* name: "my-plugin",
|
|
25
|
-
* version: "1.0.0",
|
|
26
|
-
* onServerStart: () => console.log("Started!")
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
30
|
+
* @private — Internal registration. Never call this directly.
|
|
31
|
+
* Use `exec()` instead.
|
|
29
32
|
*/
|
|
30
33
|
register(plugin, config) {
|
|
31
|
-
}
|
|
34
|
+
}
|
|
32
35
|
/**
|
|
33
|
-
* Register a plugin
|
|
34
|
-
* @param plugin - Plugin instance or creator function
|
|
35
|
-
* @param config - Optional configuration
|
|
36
|
+
* Register a plugin — the sole public entry point for plugin registration.
|
|
36
37
|
*
|
|
37
38
|
* @example
|
|
38
39
|
* ```typescript
|
|
@@ -40,18 +41,16 @@ const Plugin = {
|
|
|
40
41
|
* name: "test",
|
|
41
42
|
* version: "1.0.0",
|
|
42
43
|
* onServerStart(server) {
|
|
43
|
-
*
|
|
44
|
+
* console.log("Server started");
|
|
44
45
|
* },
|
|
45
|
-
* });
|
|
46
|
+
* }, __sys__.__root__));
|
|
46
47
|
* ```
|
|
47
48
|
*/
|
|
48
|
-
exec(
|
|
49
|
-
this.register(
|
|
50
|
-
}
|
|
49
|
+
exec(plugin, config) {
|
|
50
|
+
this.register(plugin, config);
|
|
51
|
+
}
|
|
51
52
|
/**
|
|
52
|
-
* Get a registered plugin by name
|
|
53
|
-
* @param name - Plugin name
|
|
54
|
-
* @returns Plugin instance or undefined if not found
|
|
53
|
+
* Get a registered plugin by name.
|
|
55
54
|
*
|
|
56
55
|
* @example
|
|
57
56
|
* ```typescript
|
|
@@ -65,101 +64,125 @@ const Plugin = {
|
|
|
65
64
|
{
|
|
66
65
|
throw new Error("Plugin system not initialized. Create a server instance first.");
|
|
67
66
|
}
|
|
68
|
-
}
|
|
67
|
+
}
|
|
69
68
|
/**
|
|
70
|
-
* Create a plugin
|
|
71
|
-
* This is just a type-safe identity function that helps with TypeScript inference
|
|
72
|
-
* @param plugin - Plugin definition
|
|
73
|
-
* @returns The same plugin instance
|
|
69
|
+
* Create a type-safe plugin instance with a validated root.
|
|
74
70
|
*
|
|
75
71
|
* @example
|
|
76
72
|
* ```typescript
|
|
77
73
|
* const myPlugin = Plugin.create({
|
|
78
74
|
* name: "my-plugin",
|
|
79
75
|
* version: "1.0.0",
|
|
80
|
-
* onServerStart: (server) =>
|
|
81
|
-
*
|
|
82
|
-
* }
|
|
83
|
-
* });
|
|
76
|
+
* onServerStart: (server) => console.log("Plugin started!"),
|
|
77
|
+
* }, __sys__.__root__);
|
|
84
78
|
* ```
|
|
85
79
|
*/
|
|
86
80
|
create(plugin, Sys) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
if (typeof Sys !== "string") {
|
|
92
|
-
throw new Error("XyPriss Initialization Error: To create a plugin, you MUST provide the plugin's root path or its '__sys__' instance as the second argument to Plugin.create().\n" +
|
|
93
|
-
"Example: return Plugin.create({ ... }, __sys__.__root__);");
|
|
94
|
-
}
|
|
95
|
-
const pluginRoot = Sys;
|
|
96
|
-
if (!pluginRoot) {
|
|
97
|
-
throw new Error("XyPriss Security Error: The provided root or '__sys__' instance is invalid or lacks a captured project root.");
|
|
98
|
-
}
|
|
99
|
-
// Explicitly trust the root provided by the developer
|
|
100
|
-
plugin.__root__ = pluginRoot;
|
|
81
|
+
assertNonEmptyString(Sys, "XyPriss Initialization Error: To create a plugin, you MUST provide the plugin's root path or its '__sys__' instance as the second argument to Plugin.create().\n" +
|
|
82
|
+
"Example: return Plugin.create({ ... }, __sys__.__root__);");
|
|
83
|
+
plugin.__root__ = Sys;
|
|
101
84
|
return plugin;
|
|
102
|
-
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a typed plugin factory with a pre-assigned root.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const myFactory = Plugin.factory(
|
|
92
|
+
* (config: MyConfig) => ({ name: "my-plugin", version: "1.0.0" }),
|
|
93
|
+
* __sys__.__root__
|
|
94
|
+
* );
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
103
97
|
factory(creator, rootOrSys) {
|
|
104
98
|
if (!rootOrSys) {
|
|
105
|
-
throw new Error("XyPriss Initialization Error: Plugin.factory()
|
|
106
|
-
}
|
|
107
|
-
const pluginRoot = typeof rootOrSys === "string" ? rootOrSys : rootOrSys.__root__;
|
|
108
|
-
if (!pluginRoot) {
|
|
109
|
-
throw new Error("XyPriss Security Error: The provided root or '__sys__' instance is invalid for this factory.");
|
|
99
|
+
throw new Error("XyPriss Initialization Error: Plugin.factory() requires the plugin's root path or '__sys__' instance as the second argument.");
|
|
110
100
|
}
|
|
101
|
+
const pluginRoot = resolvePluginRoot(rootOrSys);
|
|
111
102
|
return ((config) => {
|
|
112
103
|
const plugin = creator(config);
|
|
113
104
|
plugin.__root__ = pluginRoot;
|
|
114
105
|
return plugin;
|
|
115
106
|
});
|
|
116
|
-
}
|
|
107
|
+
}
|
|
117
108
|
// /**
|
|
118
109
|
// * Get statistics for all registered plugins
|
|
119
110
|
// * Requires MANAGE_PLUGINS permission
|
|
120
111
|
// */
|
|
121
112
|
// getStats(): import("../types/PluginTypes").PluginStats[] {
|
|
122
|
-
// const manager =
|
|
113
|
+
// const manager = globalPluginManager;
|
|
123
114
|
// if (!manager) return [];
|
|
124
115
|
// return manager.getPluginStats();
|
|
125
|
-
// }
|
|
116
|
+
// }
|
|
126
117
|
// /**
|
|
127
118
|
// * Set permission for a plugin hook
|
|
128
119
|
// * Requires MANAGE_PLUGINS permission
|
|
129
120
|
// */
|
|
130
|
-
// setPermission(
|
|
131
|
-
// pluginName
|
|
132
|
-
//
|
|
133
|
-
// allowed: boolean,
|
|
134
|
-
// by?: string
|
|
135
|
-
// ): void {
|
|
136
|
-
// const manager = getGlobalPluginManager();
|
|
137
|
-
// if (manager) {
|
|
138
|
-
// manager.setPluginPermission(pluginName, hookId, allowed, by);
|
|
139
|
-
// }
|
|
140
|
-
// },
|
|
121
|
+
// setPermission(pluginName: string, hookId: string, allowed: boolean, by?: string): void {
|
|
122
|
+
// globalPluginManager?.setPluginPermission(pluginName, hookId, allowed, by);
|
|
123
|
+
// }
|
|
141
124
|
// /**
|
|
142
125
|
// * Toggle plugin enabled/disabled state
|
|
143
126
|
// * Requires MANAGE_PLUGINS permission
|
|
144
127
|
// */
|
|
145
128
|
// toggle(pluginName: string, enabled: boolean, by?: string): void {
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
// manager.togglePlugin(pluginName, enabled, by);
|
|
149
|
-
// }
|
|
150
|
-
// },
|
|
129
|
+
// globalPluginManager?.togglePlugin(pluginName, enabled, by);
|
|
130
|
+
// }
|
|
151
131
|
/**
|
|
152
|
-
* Create
|
|
153
|
-
* Useful for
|
|
154
|
-
* @returns A do-nothing plugin instance
|
|
132
|
+
* Create a no-op placeholder plugin.
|
|
133
|
+
* Useful for testing or conditional plugin slots.
|
|
155
134
|
*/
|
|
156
135
|
void() {
|
|
157
136
|
return {
|
|
158
|
-
name:
|
|
137
|
+
name: `void-plugin-${Math.random().toString(36).slice(2, 9)}`,
|
|
159
138
|
version: "1.0.0",
|
|
160
139
|
};
|
|
161
|
-
}
|
|
162
|
-
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// ─── Proxy Shield ─────────────────────────────────────────────────────────────
|
|
143
|
+
/**
|
|
144
|
+
* Wraps the PluginAPI instance in a Proxy that:
|
|
145
|
+
* 1. Blocks direct access to private members (e.g. `register`).
|
|
146
|
+
* 2. Prevents any mutation of the instance from outside.
|
|
147
|
+
* 3. Prevents prototype inspection / tampering.
|
|
148
|
+
*/
|
|
149
|
+
function createSecurePluginAPI(instance) {
|
|
150
|
+
return new Proxy(instance, {
|
|
151
|
+
get(target, prop) {
|
|
152
|
+
// Block private members by name
|
|
153
|
+
if (typeof prop === "string" && PRIVATE_MEMBERS.has(prop)) {
|
|
154
|
+
throw new TypeError(`XyPriss Security Error: '${prop}' is a private method and cannot be accessed externally.`);
|
|
155
|
+
}
|
|
156
|
+
const value = Reflect.get(target, prop, target);
|
|
157
|
+
// Bind methods so `this` always refers to the real instance, not the proxy
|
|
158
|
+
if (typeof value === "function") {
|
|
159
|
+
return value.bind(target);
|
|
160
|
+
}
|
|
161
|
+
return value;
|
|
162
|
+
},
|
|
163
|
+
// Prevent property assignment from outside
|
|
164
|
+
set(_target, prop) {
|
|
165
|
+
throw new TypeError(`XyPriss Security Error: Cannot assign to '${String(prop)}' — the Plugin API is read-only.`);
|
|
166
|
+
},
|
|
167
|
+
// Prevent property deletion
|
|
168
|
+
deleteProperty(_target, prop) {
|
|
169
|
+
throw new TypeError(`XyPriss Security Error: Cannot delete '${String(prop)}' — the Plugin API is immutable.`);
|
|
170
|
+
},
|
|
171
|
+
// Prevent defineProperty overrides
|
|
172
|
+
defineProperty(_target, prop) {
|
|
173
|
+
throw new TypeError(`XyPriss Security Error: Cannot redefine '${String(prop)}' on the Plugin API.`);
|
|
174
|
+
},
|
|
175
|
+
// Prevent prototype chain inspection / hijacking
|
|
176
|
+
getPrototypeOf() {
|
|
177
|
+
return null;
|
|
178
|
+
},
|
|
179
|
+
// Prevent setPrototypeOf
|
|
180
|
+
setPrototypeOf() {
|
|
181
|
+
throw new TypeError("XyPriss Security Error: Cannot modify the prototype of the Plugin API.");
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
const Plugin = createSecurePluginAPI(new PluginAPI());
|
|
163
186
|
|
|
164
187
|
exports.Plugin = Plugin;
|
|
165
188
|
//# sourceMappingURL=PluginAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;
|
|
1
|
+
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ class RouteOptimizationPlugin extends events.EventEmitter {
|
|
|
40
40
|
this.initialize(server.app, server.app.logger || console);
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Initialize the plugin with
|
|
43
|
+
* Initialize the plugin with XyPriss app
|
|
44
44
|
*/
|
|
45
45
|
initialize(app, logger) {
|
|
46
46
|
if (!this.config.enabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginTypes.js","sources":["../../../../../src/plugins/types/PluginTypes.ts"],"sourcesContent":[null],"names":["PluginType","PluginPriority"],"mappings":";;AAAA;;AAEG;
|
|
1
|
+
{"version":3,"file":"PluginTypes.js","sources":["../../../../../src/plugins/types/PluginTypes.ts"],"sourcesContent":[null],"names":["PluginType","PluginPriority"],"mappings":";;AAAA;;AAEG;AAYH;AAEA;;AAEG;AACSA;AAAZ,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACrB,CAAC,EATWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;AAWtB;;AAEG;AACSC;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACV,IAAA,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,cAAA,CAAA,cAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AAClB,CAAC,EANWA,sBAAc,KAAdA,sBAAc,GAAA,EAAA,CAAA,CAAA;;"}
|
|
@@ -7,24 +7,27 @@ class LogTracingMethods {
|
|
|
7
7
|
}
|
|
8
8
|
addConsoleInterceptionMethods() {
|
|
9
9
|
this.app.getConsoleInterceptor = () => this.consoleInterceptor;
|
|
10
|
-
this.app.enableConsoleInterception = () => this.consoleInterceptor.start();
|
|
11
|
-
this.app.disableConsoleInterception = () => this.consoleInterceptor.stop();
|
|
12
|
-
this.app.getConsoleStats = () => this.consoleInterceptor.getStats();
|
|
13
|
-
this.app.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.app.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.app.
|
|
26
|
-
|
|
27
|
-
|
|
10
|
+
this.app.enableConsoleInterception = async () => await this.consoleInterceptor.start();
|
|
11
|
+
this.app.disableConsoleInterception = async () => await this.consoleInterceptor.stop();
|
|
12
|
+
this.app.getConsoleStats = async () => await this.consoleInterceptor.getStats();
|
|
13
|
+
this.app.updateConsoleConfig = async (config) => await this.consoleInterceptor.updateConfig(config);
|
|
14
|
+
// Stub out legacy methods with warnings to help migration
|
|
15
|
+
const warnLegacy = (method) => {
|
|
16
|
+
this.app.logger.warn("console", `Method '${method}' is deprecated. Migration to native Go interception complete.`);
|
|
17
|
+
};
|
|
18
|
+
this.app.enableConsoleEncryption = (key) => {
|
|
19
|
+
warnLegacy("enableConsoleEncryption");
|
|
20
|
+
if (key)
|
|
21
|
+
this.consoleInterceptor.updateConfig({
|
|
22
|
+
encryption: { enabled: true, key },
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
this.app.disableConsoleEncryption = () => {
|
|
26
|
+
warnLegacy("disableConsoleEncryption");
|
|
27
|
+
this.consoleInterceptor.updateConfig({
|
|
28
|
+
encryption: { enabled: false },
|
|
29
|
+
});
|
|
30
|
+
};
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogTracingMethods.js","sources":["../../../../../src/server/FastServer/LogTracingMethods.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAGa,iBAAiB,CAAA;IAC1B,WAAA,CACY,GAAe,EACf,kBAAsC,EAAA;QADtC,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;IAC3B;IAEI,6BAA6B,GAAA;QAChC,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,IAAI,CAAC,kBAAkB;AAC9D,QAAA,IAAI,CAAC,GAAG,CAAC,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"LogTracingMethods.js","sources":["../../../../../src/server/FastServer/LogTracingMethods.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAGa,iBAAiB,CAAA;IAC1B,WAAA,CACY,GAAe,EACf,kBAAsC,EAAA;QADtC,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;IAC3B;IAEI,6BAA6B,GAAA;QAChC,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,IAAI,CAAC,kBAAkB;AAC9D,QAAA,IAAI,CAAC,GAAG,CAAC,yBAAyB,GAAG,YACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,0BAA0B,GAAG,YAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;AACxC,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,YACvB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;QAE5C,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,MAAW,KAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC;;AAGtD,QAAA,MAAM,UAAU,GAAG,CAAC,MAAc,KAAI;AACjC,YAAA,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,IAAI,CACzB,SAAS,EACT,CAAA,QAAA,EAAW,MAAM,CAAA,8DAAA,CAAgE,CACpF;AACL,QAAA,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,GAAY,KAAI;YAChD,UAAU,CAAC,yBAAyB,CAAC;AACrC,YAAA,IAAI,GAAG;AACH,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AACjC,oBAAA,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;AACrC,iBAAA,CAAC;AACV,QAAA,CAAC;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAK;YACrC,UAAU,CAAC,0BAA0B,CAAC;AACtC,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AACjC,gBAAA,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AACjC,aAAA,CAAC;AACN,QAAA,CAAC;IACL;AACH;;;;"}
|
|
@@ -32,14 +32,16 @@ class XyPrissServer {
|
|
|
32
32
|
this.logger = Logger.initializeLogger(this.options.logging).child("server", {
|
|
33
33
|
instanceName: instanceName,
|
|
34
34
|
});
|
|
35
|
+
if (this.options.logging?.consoleInterception?.enabled) {
|
|
36
|
+
this.consoleInterceptor = ConsoleInterceptor.ConsoleInterceptor.getInstance(this.logger);
|
|
37
|
+
this.consoleInterceptor.start().catch((err) => {
|
|
38
|
+
this.logger.error("server", `Failed to start console interceptor: ${err.message}`);
|
|
39
|
+
});
|
|
40
|
+
this.logger.debug("server", "Console interceptor initialization triggered");
|
|
41
|
+
}
|
|
35
42
|
if (!this.options.isAuxiliary) {
|
|
36
43
|
this.logger.startup("server", `Creating XyPriss Server for '${instanceName}'...`);
|
|
37
44
|
}
|
|
38
|
-
if (this.options.logging?.consoleInterception?.enabled) {
|
|
39
|
-
this.consoleInterceptor = new ConsoleInterceptor.ConsoleInterceptor(this.logger, this.options.logging);
|
|
40
|
-
this.consoleInterceptor.start();
|
|
41
|
-
this.logger.debug("server", "Console interceptor started synchronously");
|
|
42
|
-
}
|
|
43
45
|
this.app = new XyprissApp.XyprissApp(this.logger, this.options);
|
|
44
46
|
this.app.logger = this.logger;
|
|
45
47
|
this.app.server = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/server/FastServer/index.ts"],"sourcesContent":[null],"names":["Configs","initializeLogger","ConsoleInterceptor","XyprissApp","XyRequestManager","MiddlewareManager","ShutdownManager","ComponentManager","UploadManager","LogTracingMethods","SecurityMiddleware","xemsSession","DEFAULT_OPTIONS","ServerPluginManager","Port","generateXUserTmpDir","localSysApi"],"mappings":";;;;;;;;;;;;;;;;;;;;MAgCa,aAAa,CAAA;AA4BtB,IAAA,WAAA,GAAA;QAzBQ,IAAA,CAAA,KAAK,GAAG,KAAK;AACb,QAAA,IAAA,CAAA,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE;AAyBlD,QAAA,IAAI,CAAC,OAAO,GAAGA,uBAAO,CAAC,MAAM,EAAE;QAC/B,MAAM,YAAY,GACd,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW;AAChC,aAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;kBAChB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;kBAChC,MAAM,CAAC;;AAGjB,QAAA,IAAI,CAAC,MAAM,GAAGC,uBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;AACjE,YAAA,YAAY,EAAE,YAAY;AAC7B,SAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/server/FastServer/index.ts"],"sourcesContent":[null],"names":["Configs","initializeLogger","ConsoleInterceptor","XyprissApp","XyRequestManager","MiddlewareManager","ShutdownManager","ComponentManager","UploadManager","LogTracingMethods","SecurityMiddleware","xemsSession","DEFAULT_OPTIONS","ServerPluginManager","Port","generateXUserTmpDir","localSysApi"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ class RouteManager {
|
|
|
11
11
|
this.dependencies = dependencies;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Add all HTTP methods with caching support to the
|
|
14
|
+
* Add all HTTP methods with caching support to the XyPriss app
|
|
15
15
|
*/
|
|
16
16
|
addMethods() {
|
|
17
17
|
Logger.logger.debug("routes", "Adding HTTP methods with caching support...");
|