xypriss 4.5.0 → 4.6.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.
@@ -0,0 +1,307 @@
1
+ /**************************************************************************************************************************************************************
2
+ * This code contains proprietary source code from NEHONIX
3
+ *
4
+ * @author Nehonix
5
+ * @license NOSL
6
+ * @version v1.0
7
+ * @see {@link https://dll.nehonix.com/licenses/NOSL}
8
+ *
9
+ * Copyright (c) 2025 Nehonix. All rights reserved.
10
+ *
11
+ *
12
+ * This License governs the use, modification, and distribution of software provided by NEHONIX under its open source projects.
13
+ * NEHONIX is committed to fostering collaborative innovation while strictly protecting its intellectual property rights.
14
+ * Violation of any term of this License will result in immediate termination of all granted rights and may subject the violator to legal action.
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
17
+ * IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE
18
+ * OR INABILITY TO USE THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
19
+ ************************************************************************************************************************************************************** */
20
+ /**
21
+ * XyPriss Constant Variables Class
22
+ *
23
+ * Provides a mechanism to store immutable values that cannot be changed once set.
24
+ * This is useful for protecting critical application constants from being
25
+ * modified by plugins or other modules at runtime.
26
+ *
27
+ * @class XyPrissConst
28
+ * @version 2.0.0
29
+ */
30
+ class XyPrissConst {
31
+ constructor() {
32
+ this.constants = new Map();
33
+ this.immutableCache = new WeakMap();
34
+ }
35
+ /**
36
+ * Make a value deeply immutable using Proxy protection.
37
+ * This ACTIVELY blocks any modification attempts with clear error messages.
38
+ * Works with objects, arrays, Maps, Sets, and nested structures.
39
+ *
40
+ * @template T - Type of the value to freeze
41
+ * @param {T} value - The value to make immutable
42
+ * @param {string} [path] - Internal path tracking for error messages
43
+ * @returns {T} The deeply protected immutable value
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const config = __const__.$make({
48
+ * server: { port: 8080, host: 'localhost' },
49
+ * features: ['auth', 'logging']
50
+ * });
51
+ * config.server.port = 9000; // ❌ THROWS ERROR IMMEDIATELY
52
+ * ```
53
+ */
54
+ $make(value, path = "root") {
55
+ if (value === null || value === undefined) {
56
+ return value;
57
+ }
58
+ const type = typeof value;
59
+ // Primitives are immutable by nature
60
+ if (type !== "object" && type !== "function") {
61
+ return value;
62
+ }
63
+ // Check if it's already one of our immutable proxies
64
+ if (value?.__isXyPrissImmutable) {
65
+ return value;
66
+ }
67
+ // Check cache to avoid re-wrapping
68
+ if (this.immutableCache.has(value)) {
69
+ return this.immutableCache.get(value);
70
+ }
71
+ // Freeze the original object
72
+ Object.freeze(value);
73
+ let proxied;
74
+ // Handle arrays
75
+ if (Array.isArray(value)) {
76
+ const frozenArray = value.map((item, index) => this.$make(item, `${path}[${index}]`));
77
+ proxied = new Proxy(frozenArray, {
78
+ get: (target, prop) => {
79
+ if (prop === "__isXyPrissImmutable")
80
+ return true;
81
+ return target[prop];
82
+ },
83
+ set: (target, prop, val) => {
84
+ throw new Error(`[XyPrissConst] Cannot modify immutable array at "${path}.${String(prop)}". ` +
85
+ `Attempted to set value: ${JSON.stringify(val)}`);
86
+ },
87
+ deleteProperty: (target, prop) => {
88
+ throw new Error(`[XyPrissConst] Cannot delete property "${String(prop)}" from immutable array at "${path}"`);
89
+ },
90
+ defineProperty: (target, prop) => {
91
+ throw new Error(`[XyPrissConst] Cannot define property "${String(prop)}" on immutable array at "${path}"`);
92
+ },
93
+ });
94
+ this.immutableCache.set(value, proxied);
95
+ return proxied;
96
+ }
97
+ // Handle Maps
98
+ if (value instanceof Map) {
99
+ const frozenMap = new Map();
100
+ value.forEach((v, k) => {
101
+ frozenMap.set(this.$make(k, `${path}<key>`), this.$make(v, `${path}.get("${k}")`));
102
+ });
103
+ proxied = new Proxy(frozenMap, {
104
+ get: (target, prop) => {
105
+ if (prop === "__isXyPrissImmutable")
106
+ return true;
107
+ if (prop === "set" ||
108
+ prop === "delete" ||
109
+ prop === "clear") {
110
+ return () => {
111
+ throw new Error(`[XyPrissConst] Cannot call Map.${String(prop)}() on immutable Map at "${path}"`);
112
+ };
113
+ }
114
+ return target[prop];
115
+ },
116
+ });
117
+ this.immutableCache.set(value, proxied);
118
+ return proxied;
119
+ }
120
+ // Handle Sets
121
+ if (value instanceof Set) {
122
+ const frozenSet = new Set();
123
+ value.forEach((item) => {
124
+ frozenSet.add(this.$make(item, `${path}<item>`));
125
+ });
126
+ proxied = new Proxy(frozenSet, {
127
+ get: (target, prop) => {
128
+ if (prop === "__isXyPrissImmutable")
129
+ return true;
130
+ if (prop === "add" ||
131
+ prop === "delete" ||
132
+ prop === "clear") {
133
+ return () => {
134
+ throw new Error(`[XyPrissConst] Cannot call Set.${String(prop)}() on immutable Set at "${path}"`);
135
+ };
136
+ }
137
+ return target[prop];
138
+ },
139
+ });
140
+ this.immutableCache.set(value, proxied);
141
+ return proxied;
142
+ }
143
+ // Handle Dates - return as is (already immutable)
144
+ if (value instanceof Date) {
145
+ return value;
146
+ }
147
+ // Handle regular objects and class instances
148
+ const frozenObj = {};
149
+ const proto = Object.getPrototypeOf(value);
150
+ // Copy all properties recursively
151
+ Object.getOwnPropertyNames(value).forEach((prop) => {
152
+ const descriptor = Object.getOwnPropertyDescriptor(value, prop);
153
+ if (descriptor && descriptor.value !== undefined) {
154
+ if (typeof descriptor.value === "function") {
155
+ // Keep methods as-is
156
+ frozenObj[prop] = descriptor.value;
157
+ }
158
+ else {
159
+ // Recursively protect nested values
160
+ frozenObj[prop] = this.$make(descriptor.value, `${path}.${prop}`);
161
+ }
162
+ }
163
+ });
164
+ // Copy symbol properties
165
+ Object.getOwnPropertySymbols(value).forEach((sym) => {
166
+ const descriptor = Object.getOwnPropertyDescriptor(value, sym);
167
+ if (descriptor && descriptor.value !== undefined) {
168
+ if (typeof descriptor.value !== "function") {
169
+ frozenObj[sym] = this.$make(descriptor.value, `${path}[Symbol]`);
170
+ }
171
+ else {
172
+ frozenObj[sym] = descriptor.value;
173
+ }
174
+ }
175
+ });
176
+ // Set the prototype
177
+ Object.setPrototypeOf(frozenObj, proto);
178
+ Object.freeze(frozenObj);
179
+ // Wrap in Proxy for active protection
180
+ proxied = new Proxy(frozenObj, {
181
+ get: (target, prop) => {
182
+ if (prop === "__isXyPrissImmutable")
183
+ return true;
184
+ return target[prop];
185
+ },
186
+ set: (target, prop, val) => {
187
+ const errorMsg = `[XyPrissConst] Cannot modify immutable property "${path}.${String(prop)}". ` + `Attempted to set value: ${JSON.stringify(val)}`;
188
+ throw new Error(errorMsg);
189
+ },
190
+ deleteProperty: (target, prop) => {
191
+ throw new Error(`[XyPrissConst] Cannot delete immutable property "${path}.${String(prop)}"`);
192
+ },
193
+ defineProperty: (target, prop) => {
194
+ throw new Error(`[XyPrissConst] Cannot define property "${String(prop)}" on immutable object at "${path}"`);
195
+ },
196
+ setPrototypeOf: () => {
197
+ throw new Error(`[XyPrissConst] Cannot change prototype of immutable object at "${path}"`);
198
+ },
199
+ });
200
+ this.immutableCache.set(value, proxied);
201
+ return proxied;
202
+ }
203
+ /**
204
+ * Define a new constant.
205
+ * Throws an error if the constant is already defined.
206
+ * Automatically makes the value deeply immutable.
207
+ *
208
+ * @param {string} key - The unique identifier for the constant
209
+ * @param {any} value - The value to store (will be made immutable)
210
+ * @throws {Error} If the key already exists
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * __const__.$set('APP_CONFIG', {
215
+ * database: { host: 'localhost', port: 5432 }
216
+ * });
217
+ * ```
218
+ */
219
+ $set(key, value) {
220
+ if (this.constants.has(key)) {
221
+ throw new Error(`[XyPrissConst] Cannot redefine constant "${key}". Constants are immutable.`);
222
+ }
223
+ // Make the value deeply immutable before storing
224
+ const immutableValue = this.$make(value, key);
225
+ this.constants.set(key, immutableValue);
226
+ }
227
+ /**
228
+ * Retrieve a constant value.
229
+ *
230
+ * @template T - Expected type of the constant
231
+ * @param {string} key - The identifier of the constant
232
+ * @param {T} [defaultValue] - Optional fallback value if not found
233
+ * @returns {T} The constant value or default
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * const appId = __const__.$get('APP_ID');
238
+ * ```
239
+ */
240
+ $get(key, defaultValue) {
241
+ return (this.constants.has(key) ? this.constants.get(key) : defaultValue);
242
+ }
243
+ /**
244
+ * Check if a constant is defined.
245
+ *
246
+ * @param {string} key - The identifier to check
247
+ * @returns {boolean} True if the constant exists
248
+ */
249
+ $has(key) {
250
+ return this.constants.has(key);
251
+ }
252
+ /**
253
+ * Export all constants as a plain object.
254
+ * Note: Returns a frozen snapshot, not the proxy-protected originals.
255
+ *
256
+ * @returns {Record<string, any>}
257
+ */
258
+ $toJSON() {
259
+ const obj = Object.fromEntries(this.constants);
260
+ return Object.freeze(obj);
261
+ }
262
+ /**
263
+ * Delete a constant (use with extreme caution).
264
+ * This is primarily for testing purposes.
265
+ *
266
+ * @param {string} key - The identifier to delete
267
+ * @returns {boolean} True if the constant was deleted
268
+ */
269
+ $delete(key) {
270
+ return this.constants.delete(key);
271
+ }
272
+ /**
273
+ * Clear all constants (use with extreme caution).
274
+ * This is primarily for testing purposes.
275
+ */
276
+ $clear() {
277
+ this.constants.clear();
278
+ }
279
+ /**
280
+ * Get the total number of constants stored.
281
+ *
282
+ * @returns {number} The count of constants
283
+ */
284
+ $size() {
285
+ return this.constants.size;
286
+ }
287
+ /**
288
+ * List all constant keys.
289
+ *
290
+ * @returns {string[]} Array of all constant keys
291
+ */
292
+ $keys() {
293
+ return Array.from(this.constants.keys());
294
+ }
295
+ }
296
+ // Self-register global __const__ if in a global environment
297
+ if (typeof globalThis !== "undefined") {
298
+ globalThis.__const__ =
299
+ globalThis.__const__ || new XyPrissConst();
300
+ }
301
+ /**
302
+ * Default instance for easy access
303
+ */
304
+ const __const__ = globalThis.__const__;
305
+
306
+ export { XyPrissConst, __const__ };
307
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../src/const.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  export { FileUploadAPI as FLA, FileUploadAPI, Upload } from './file-upload.js';
2
2
  import { XyPrissRouter } from './server/routing/Router.js';
3
3
  import { configLoader } from './server/utils/ConfigLoader.js';
4
- import { XyPrissSys } from './sys.js';
4
+ export { __sys__ } from './sys.js';
5
+ export { Configs as CM, Configs, __cfg__ } from './config.js';
6
+ export { __const__ } from './const.js';
5
7
  export { createCacheMiddleware, createServer, createServerInstance } from './server/ServerFactory.js';
6
8
  export { Route } from './server/components/fastapi/smart-routes.js';
7
9
  export { createOptimalCache } from './cache/CacheFactory.js';
8
10
  export { SecurityMiddleware } from './middleware/security-middleware.js';
9
11
  export { PerformanceMonitor } from './server/optimization/performance-monitor.js';
10
- export { Configs as CM, Configs } from './config.js';
11
12
  export { XJsonResponseHandler } from './middleware/XJsonResponseHandler.js';
12
13
  export { DEFAULT_PLUGIN_CONFIG, PERFORMANCE_TARGETS, PLUGIN_SYSTEM_NAME, PLUGIN_SYSTEM_VERSION, PluginDevelopmentHelpers, PluginSystemFactory, PluginSystemUtils } from './plugins/modules/index.js';
13
14
  export { Plugin } from './plugins/api/PluginAPI.js';
@@ -60,18 +61,9 @@ export { NetworkPluginUtils } from './plugins/modules/network/utils/NetworkPlugi
60
61
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
61
62
  * SOFTWARE.
62
63
  ***************************************************************************** */
63
- // Initialize __sys__ global if it doesn't exist
64
+ // Load and apply system configuration from xypriss.config.json
64
65
  if (typeof globalThis !== "undefined") {
65
- // Load and apply system configuration from xypriss.config.json
66
66
  configLoader.loadAndApplySysConfig();
67
- const defaultPort = parseInt(process.env["PORT"] || "3000");
68
- globalThis.__sys__ =
69
- globalThis.__sys__ ||
70
- new XyPrissSys({
71
- __port__: defaultPort,
72
- __PORT__: defaultPort,
73
- __env__: process.env["NODE_ENV"] || "development",
74
- });
75
67
  }
76
68
  /**
77
69
  * Default router instance for quick start
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBiF;AAQjF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;;IAEnC,YAAY,CAAC,qBAAqB,EAAE,CAAC;AACrC,IAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;AAC3D,IAAA,UAAkB,CAAC,OAAO;AACtB,QAAA,UAAkB,CAAC,OAAO;AAC3B,YAAA,IAAI,UAAU,CAAC;AACX,gBAAA,QAAQ,EAAE,WAAW;AACrB,gBAAA,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,aAAa;AACpD,aAAA,CAAC,CAAC;AACX,CAAC;AAyCD;;AAEG;SACa,MAAM,GAAA;IAClB,OAAO,IAAI,aAAa,CAAC;AACrB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBiF;AAWjF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;IACnC,YAAY,CAAC,qBAAqB,EAAE,CAAC;AACzC,CAAC;AA4CD;;AAEG;SACa,MAAM,GAAA;IAClB,OAAO,IAAI,aAAa,CAAC;AACrB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,KAAK;AAChB,KAAA,CAAC,CAAC;AACP;;;;"}
@@ -606,6 +606,21 @@ class XyPrissSys {
606
606
  return new XyPrissSys(this.$toJSON());
607
607
  }
608
608
  }
609
+ // Self-register global __sys__ if in a global environment
610
+ if (typeof globalThis !== "undefined") {
611
+ const defaultPort = parseInt(process.env["PORT"] || "3000");
612
+ globalThis.__sys__ =
613
+ globalThis.__sys__ ||
614
+ new XyPrissSys({
615
+ __port__: defaultPort,
616
+ __PORT__: defaultPort,
617
+ __env__: process.env["NODE_ENV"] || "development",
618
+ });
619
+ }
620
+ /**
621
+ * Default instance for easy access
622
+ */
623
+ const __sys__ = globalThis.__sys__;
609
624
 
610
- export { XyPrissSys };
625
+ export { XyPrissSys, __sys__ };
611
626
  //# sourceMappingURL=sys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sys.js","sources":["../../../src/sys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sys.js","sources":["../../../src/sys.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}