xypriss 9.6.97 → 9.7.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.
Files changed (171) hide show
  1. package/README.md +55 -22
  2. package/dist/cjs/src/index.js +0 -19
  3. package/dist/cjs/src/index.js.map +1 -1
  4. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  5. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  6. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js +510 -0
  7. package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  8. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  9. package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  10. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js +413 -0
  11. package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  12. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js +98 -0
  13. package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  14. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js +52 -0
  15. package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  16. package/dist/cjs/src/middleware/safe-json-middleware.js +0 -82
  17. package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
  18. package/dist/cjs/src/middleware/security-middleware.js +7 -4
  19. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  20. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  21. package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  22. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  23. package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  24. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  25. package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  26. package/dist/cjs/src/plugins/const/XyprissTempDir.js +72 -9
  27. package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
  28. package/dist/cjs/src/plugins/core/manager/PluginLoader.js +8 -0
  29. package/dist/cjs/src/plugins/core/manager/PluginLoader.js.map +1 -1
  30. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js +87 -0
  31. package/dist/cjs/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  32. package/dist/cjs/src/server/FastServer/index.js +5 -0
  33. package/dist/cjs/src/server/FastServer/index.js.map +1 -1
  34. package/dist/cjs/src/server/ServerFactory.js +8 -13
  35. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  36. package/dist/cjs/src/server/components/fastapi/RedirectManager.js +8 -58
  37. package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +1 -1
  38. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  39. package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  40. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +9 -1
  41. package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  42. package/dist/cjs/src/server/core/HttpServer.js +22 -0
  43. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  44. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js +33 -2
  45. package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  46. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  47. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  48. package/dist/cjs/src/server/core/XyServerCreator.js +1 -0
  49. package/dist/cjs/src/server/core/XyServerCreator.js.map +1 -1
  50. package/dist/cjs/src/shared/logger/quickLogger.js +162 -0
  51. package/dist/cjs/src/shared/logger/quickLogger.js.map +1 -0
  52. package/dist/cjs/src/xhsc/PathApi.js +44 -3
  53. package/dist/cjs/src/xhsc/PathApi.js.map +1 -1
  54. package/dist/cjs/src/xhsc/System.js +2 -0
  55. package/dist/cjs/src/xhsc/System.js.map +1 -1
  56. package/dist/cjs/src/xhsc/UtilsApi.js +52 -0
  57. package/dist/cjs/src/xhsc/UtilsApi.js.map +1 -0
  58. package/dist/cjs/src/xhsc/XyPrissRunner.js +30 -2
  59. package/dist/cjs/src/xhsc/XyPrissRunner.js.map +1 -1
  60. package/dist/cjs/src/xhsc/fs/FSCore.js +148 -0
  61. package/dist/cjs/src/xhsc/fs/FSCore.js.map +1 -1
  62. package/dist/cjs/src/xhsc/fs/FileHandle.js +112 -0
  63. package/dist/cjs/src/xhsc/fs/FileHandle.js.map +1 -0
  64. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js +134 -0
  65. package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  66. package/dist/cjs/src/xhsc/utils/ArrayUtils.js +67 -0
  67. package/dist/cjs/src/xhsc/utils/ArrayUtils.js.map +1 -0
  68. package/dist/cjs/src/xhsc/utils/AsyncUtils.js +582 -0
  69. package/dist/cjs/src/xhsc/utils/AsyncUtils.js.map +1 -0
  70. package/dist/cjs/src/xhsc/utils/DateUtils.js +959 -0
  71. package/dist/cjs/src/xhsc/utils/DateUtils.js.map +1 -0
  72. package/dist/cjs/src/xhsc/utils/FunctionUtils.js +29 -0
  73. package/dist/cjs/src/xhsc/utils/FunctionUtils.js.map +1 -0
  74. package/dist/cjs/src/xhsc/utils/IdUtils.js +22 -0
  75. package/dist/cjs/src/xhsc/utils/IdUtils.js.map +1 -0
  76. package/dist/cjs/src/xhsc/utils/NumberUtils.js +79 -0
  77. package/dist/cjs/src/xhsc/utils/NumberUtils.js.map +1 -0
  78. package/dist/cjs/src/xhsc/utils/ObjectUtils.js +141 -0
  79. package/dist/cjs/src/xhsc/utils/ObjectUtils.js.map +1 -0
  80. package/dist/cjs/src/xhsc/utils/StringUtils.js +145 -0
  81. package/dist/cjs/src/xhsc/utils/StringUtils.js.map +1 -0
  82. package/dist/cjs/src/xhsc/utils/ValidationUtils.js +49 -0
  83. package/dist/cjs/src/xhsc/utils/ValidationUtils.js.map +1 -0
  84. package/dist/cjs/src/xhsc.js +5 -3
  85. package/dist/cjs/src/xhsc.js.map +1 -1
  86. package/dist/esm/src/index.js +0 -2
  87. package/dist/esm/src/index.js.map +1 -1
  88. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +4 -4
  89. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  90. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js +508 -0
  91. package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
  92. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
  93. package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
  94. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js +391 -0
  95. package/dist/esm/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
  96. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js +96 -0
  97. package/dist/esm/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
  98. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js +50 -0
  99. package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
  100. package/dist/esm/src/middleware/safe-json-middleware.js +1 -79
  101. package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
  102. package/dist/esm/src/middleware/security-middleware.js +7 -4
  103. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  104. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
  105. package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
  106. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js +34 -3
  107. package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
  108. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
  109. package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
  110. package/dist/esm/src/plugins/const/XyprissTempDir.js +70 -9
  111. package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
  112. package/dist/esm/src/plugins/core/manager/PluginLoader.js +8 -0
  113. package/dist/esm/src/plugins/core/manager/PluginLoader.js.map +1 -1
  114. package/dist/esm/src/plugins/core/manager/PluginSecurity.js +87 -0
  115. package/dist/esm/src/plugins/core/manager/PluginSecurity.js.map +1 -1
  116. package/dist/esm/src/server/FastServer/index.js +5 -0
  117. package/dist/esm/src/server/FastServer/index.js.map +1 -1
  118. package/dist/esm/src/server/ServerFactory.js +8 -1
  119. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  120. package/dist/esm/src/server/components/fastapi/RedirectManager.js +8 -58
  121. package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +1 -1
  122. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
  123. package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
  124. package/dist/esm/src/server/components/multi-server/MultiServerManager.js +9 -1
  125. package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
  126. package/dist/esm/src/server/core/HttpServer.js +22 -0
  127. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  128. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js +33 -2
  129. package/dist/esm/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
  130. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
  131. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  132. package/dist/esm/src/server/core/XyServerCreator.js +1 -0
  133. package/dist/esm/src/server/core/XyServerCreator.js.map +1 -1
  134. package/dist/esm/src/shared/logger/quickLogger.js +160 -0
  135. package/dist/esm/src/shared/logger/quickLogger.js.map +1 -0
  136. package/dist/esm/src/xhsc/PathApi.js +44 -3
  137. package/dist/esm/src/xhsc/PathApi.js.map +1 -1
  138. package/dist/esm/src/xhsc/System.js +2 -0
  139. package/dist/esm/src/xhsc/System.js.map +1 -1
  140. package/dist/esm/src/xhsc/UtilsApi.js +50 -0
  141. package/dist/esm/src/xhsc/UtilsApi.js.map +1 -0
  142. package/dist/esm/src/xhsc/XyPrissRunner.js +30 -2
  143. package/dist/esm/src/xhsc/XyPrissRunner.js.map +1 -1
  144. package/dist/esm/src/xhsc/fs/FSCore.js +148 -0
  145. package/dist/esm/src/xhsc/fs/FSCore.js.map +1 -1
  146. package/dist/esm/src/xhsc/fs/FileHandle.js +110 -0
  147. package/dist/esm/src/xhsc/fs/FileHandle.js.map +1 -0
  148. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js +113 -0
  149. package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
  150. package/dist/esm/src/xhsc/utils/ArrayUtils.js +65 -0
  151. package/dist/esm/src/xhsc/utils/ArrayUtils.js.map +1 -0
  152. package/dist/esm/src/xhsc/utils/AsyncUtils.js +580 -0
  153. package/dist/esm/src/xhsc/utils/AsyncUtils.js.map +1 -0
  154. package/dist/esm/src/xhsc/utils/DateUtils.js +957 -0
  155. package/dist/esm/src/xhsc/utils/DateUtils.js.map +1 -0
  156. package/dist/esm/src/xhsc/utils/FunctionUtils.js +27 -0
  157. package/dist/esm/src/xhsc/utils/FunctionUtils.js.map +1 -0
  158. package/dist/esm/src/xhsc/utils/IdUtils.js +20 -0
  159. package/dist/esm/src/xhsc/utils/IdUtils.js.map +1 -0
  160. package/dist/esm/src/xhsc/utils/NumberUtils.js +77 -0
  161. package/dist/esm/src/xhsc/utils/NumberUtils.js.map +1 -0
  162. package/dist/esm/src/xhsc/utils/ObjectUtils.js +139 -0
  163. package/dist/esm/src/xhsc/utils/ObjectUtils.js.map +1 -0
  164. package/dist/esm/src/xhsc/utils/StringUtils.js +143 -0
  165. package/dist/esm/src/xhsc/utils/StringUtils.js.map +1 -0
  166. package/dist/esm/src/xhsc/utils/ValidationUtils.js +47 -0
  167. package/dist/esm/src/xhsc/utils/ValidationUtils.js.map +1 -0
  168. package/dist/esm/src/xhsc.js +6 -5
  169. package/dist/esm/src/xhsc.js.map +1 -1
  170. package/dist/index.d.ts +1872 -234
  171. package/package.json +119 -137
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateUtils.js","sources":["../../../../../src/xhsc/utils/DateUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * **FunctionUtils — Functional Programming Helpers**
3
+ */
4
+ class FunctionUtils {
5
+ /**
6
+ * **memo**
7
+ *
8
+ * Returns a memoized version of a function that caches its results based on input parameters.
9
+ *
10
+ * @param fn The function to memoize.
11
+ * @returns The memoized function.
12
+ */
13
+ memo(fn) {
14
+ const cache = new Map();
15
+ return ((...args) => {
16
+ const key = JSON.stringify(args);
17
+ if (cache.has(key))
18
+ return cache.get(key);
19
+ const result = fn(...args);
20
+ cache.set(key, result);
21
+ return result;
22
+ });
23
+ }
24
+ }
25
+
26
+ export { FunctionUtils };
27
+ //# sourceMappingURL=FunctionUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionUtils.js","sources":["../../../../../src/xhsc/utils/FunctionUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;MACU,aAAa,CAAA;AACtB;;;;;;;AAOG;AACI,IAAA,IAAI,CAAoC,EAAK,EAAA;AAChD,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe;AACpC,QAAA,QAAQ,CAAC,GAAG,IAAW,KAAI;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAChC,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACzC,YAAA,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;AAC1B,YAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AACtB,YAAA,OAAO,MAAM;AACjB,QAAA,CAAC;IACL;AACH;;;;"}
@@ -0,0 +1,20 @@
1
+ import { ID } from 'nehoid';
2
+
3
+ /**
4
+ * **IdUtils — Identity Primitives**
5
+ */
6
+ class IdUtils {
7
+ /**
8
+ * **uuid**
9
+ *
10
+ * Generates a RFC-compliant UUID v4 using the `nehoid` engine.
11
+ *
12
+ * @returns A random UUID string.
13
+ */
14
+ uuid() {
15
+ return ID.uuid();
16
+ }
17
+ }
18
+
19
+ export { IdUtils };
20
+ //# sourceMappingURL=IdUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdUtils.js","sources":["../../../../../src/xhsc/utils/IdUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;AAEG;MACU,OAAO,CAAA;AAChB;;;;;;AAMG;IACI,IAAI,GAAA;AACP,QAAA,OAAO,EAAE,CAAC,IAAI,EAAE;IACpB;AACH;;;;"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * **NumberUtils — XyPriss Number & Math Utilities**
3
+ */
4
+ class NumberUtils {
5
+ /**
6
+ * **Clamp a Value**
7
+ *
8
+ * Restricts a numeric value to a defined range [min, max].
9
+ *
10
+ * @param value - The value to clamp.
11
+ * @param min - The lower bound.
12
+ * @param max - The upper bound.
13
+ * @returns The clamped value.
14
+ */
15
+ clamp(value, min, max) {
16
+ return Math.min(Math.max(value, min), max);
17
+ }
18
+ /**
19
+ * **Linear Interpolation (LERP)**
20
+ *
21
+ * Returns the linear interpolation between `start` and `end` for a factor `t`.
22
+ *
23
+ * @param start - The start value.
24
+ * @param end - The end value.
25
+ * @param t - The interpolation factor (0.0 to 1.0).
26
+ * @returns The interpolated value.
27
+ */
28
+ lerp(start, end, t) {
29
+ return start * (1 - t) + end * t;
30
+ }
31
+ /**
32
+ * **Get a Random Integer**
33
+ *
34
+ * Returns a random integer between min (inclusive) and max (inclusive).
35
+ *
36
+ * @param min - Minimum value.
37
+ * @param max - Maximum value.
38
+ * @returns A random integer.
39
+ */
40
+ randomInt(min, max) {
41
+ return Math.floor(Math.random() * (max - min + 1)) + min;
42
+ }
43
+ /**
44
+ * **Format Number**
45
+ *
46
+ * Locale-aware number formatting.
47
+ *
48
+ * @param value - The number to format.
49
+ * @param locale - Optional locale (default: `en-US`).
50
+ * @param options - Intl.NumberFormatOptions.
51
+ * @returns A localized string.
52
+ */
53
+ formatNumber(value, locale = "en-US", options) {
54
+ return new Intl.NumberFormat(locale, options).format(value);
55
+ }
56
+ /**
57
+ * **Format Bytes**
58
+ *
59
+ * Converts raw bytes into a human-readable size string (KB, MB, GB, etc.).
60
+ *
61
+ * @param bytes - The number of bytes.
62
+ * @param decimals - Decimal precision.
63
+ * @returns A human-readable size string.
64
+ */
65
+ formatBytes(bytes, decimals = 2) {
66
+ if (bytes === 0)
67
+ return "0 Bytes";
68
+ const k = 1024;
69
+ const dm = decimals < 0 ? 0 : decimals;
70
+ const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
71
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
72
+ return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i]);
73
+ }
74
+ }
75
+
76
+ export { NumberUtils };
77
+ //# sourceMappingURL=NumberUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberUtils.js","sources":["../../../../../src/xhsc/utils/NumberUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;MACU,WAAW,CAAA;AACpB;;;;;;;;;AASG;AACI,IAAA,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IAC9C;AAEA;;;;;;;;;AASG;AACI,IAAA,IAAI,CAAC,KAAa,EAAE,GAAW,EAAE,CAAS,EAAA;QAC7C,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;IACpC;AAEA;;;;;;;;AAQG;IACI,SAAS,CAAC,GAAW,EAAE,GAAW,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;IAC5D;AAEA;;;;;;;;;AASG;AACI,IAAA,YAAY,CACf,KAAa,EACb,MAAA,GAAiB,OAAO,EACxB,OAAkC,EAAA;AAElC,QAAA,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC/D;AAEA;;;;;;;;AAQG;AACI,IAAA,WAAW,CAAC,KAAa,EAAE,QAAA,GAAmB,CAAC,EAAA;QAClD,IAAI,KAAK,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS;QACjC,MAAM,CAAC,GAAG,IAAI;AACd,QAAA,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ;QACtC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACvE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnD,QAAA,QACI,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IAEzE;AACH;;;;"}
@@ -0,0 +1,139 @@
1
+ import { XStringify } from 'xypriss-security';
2
+
3
+ /**
4
+ * **ObjectUtils — XyPriss Object Utilities**
5
+ */
6
+ class ObjectUtils {
7
+ /**
8
+ * **Deep Clone an Object**
9
+ *
10
+ * Creates a deep copy of `obj` using `XStringify` for serialization,
11
+ * which handles cyclic references and offers better performance
12
+ * than the native `JSON.stringify` in complex object graphs.
13
+ *
14
+ * @param obj - The object to clone. Must be serializable.
15
+ * @returns A completely independent deep copy of the input object.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const original = { a: 1, nested: { b: 2 } };
20
+ * const clone = utils.deepClone(original);
21
+ * clone.nested.b = 99;
22
+ * // original.nested.b is still 2
23
+ * ```
24
+ */
25
+ deepClone(obj) {
26
+ return JSON.parse(XStringify(obj));
27
+ }
28
+ /**
29
+ * **Pick Specific Keys from an Object**
30
+ *
31
+ * Returns a new object containing only the key-value pairs whose
32
+ * keys appear in the `keys` array. Non-existent keys are silently ignored.
33
+ *
34
+ * @param obj - The source object.
35
+ * @param keys - Array of keys to extract.
36
+ * @returns A new object with only the specified keys.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * utils.pick({ a: 1, b: 2, c: 3 }, ["a", "c"]); // { a: 1, c: 3 }
41
+ * ```
42
+ */
43
+ pick(obj, keys) {
44
+ return keys.reduce((acc, key) => {
45
+ if (key in obj)
46
+ acc[key] = obj[key];
47
+ return acc;
48
+ }, {});
49
+ }
50
+ /**
51
+ * **Omit Specific Keys from an Object**
52
+ *
53
+ * Returns a new object that is a shallow copy of `obj` with the
54
+ * specified keys removed.
55
+ *
56
+ * @param obj - The source object.
57
+ * @param keys - Array of keys to exclude.
58
+ * @returns A new object without the specified keys.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * utils.omit({ a: 1, b: 2, c: 3 }, ["b"]); // { a: 1, c: 3 }
63
+ * ```
64
+ */
65
+ omit(obj, keys) {
66
+ const result = { ...obj };
67
+ keys.forEach((key) => delete result[key]);
68
+ return result;
69
+ }
70
+ /**
71
+ * **Check if an Object is Empty**
72
+ *
73
+ * Returns `true` if the object has no own enumerable keys.
74
+ * Works correctly with objects created via `Object.create(null)`.
75
+ *
76
+ * @param obj - The object to inspect.
77
+ * @returns `true` if the object has no own keys, `false` otherwise.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * utils.isEmpty({}); // true
82
+ * utils.isEmpty({ a: 1 }); // false
83
+ * utils.isEmpty(Object.create(null)); // true
84
+ * ```
85
+ */
86
+ isEmpty(obj) {
87
+ return Object.keys(obj).length === 0;
88
+ }
89
+ /**
90
+ * **flattenObject**
91
+ *
92
+ * Collapses nested objects into flat dot-notation (or custom) keys.
93
+ * Useful for configuration mapping or CSV generation.
94
+ *
95
+ * @param obj - The object to flatten.
96
+ * @param separator - Optional path separator (default: `"."`).
97
+ * @returns A shallow object with path-based keys.
98
+ */
99
+ flattenObject(obj, separator = ".") {
100
+ const result = {};
101
+ const recurse = (current, path = "") => {
102
+ for (const [key, value] of Object.entries(current)) {
103
+ const newPath = path ? `${path}${separator}${key}` : key;
104
+ if (value &&
105
+ typeof value === "object" &&
106
+ !Array.isArray(value) &&
107
+ Object.keys(value).length > 0) {
108
+ recurse(value, newPath);
109
+ }
110
+ else {
111
+ result[newPath] = value;
112
+ }
113
+ }
114
+ };
115
+ recurse(obj);
116
+ return result;
117
+ }
118
+ /**
119
+ * **parse**
120
+ *
121
+ * Safely parses a JSON string. If the parsing fails, the provided fallback
122
+ * value is returned instead of throwing an exception.
123
+ *
124
+ * @param json The JSON string to parse.
125
+ * @param fallback The fallback value to return on failure.
126
+ * @returns The parsed object or the fallback value.
127
+ */
128
+ parse(json, fallback = null) {
129
+ try {
130
+ return JSON.parse(json);
131
+ }
132
+ catch {
133
+ return fallback;
134
+ }
135
+ }
136
+ }
137
+
138
+ export { ObjectUtils };
139
+ //# sourceMappingURL=ObjectUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectUtils.js","sources":["../../../../../src/xhsc/utils/ObjectUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;AAEG;MACU,WAAW,CAAA;AACpB;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,SAAS,CAAI,GAAM,EAAA;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC;AAEA;;;;;;;;;;;;;;AAcG;IACI,IAAI,CACP,GAAM,EACN,IAAS,EAAA;QAET,OAAO,IAAI,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,GAAG,KAAI;YACT,IAAI,GAAG,IAAI,GAAG;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACnC,YAAA,OAAO,GAAG;QACd,CAAC,EACD,EAAgB,CACnB;IACL;AAEA;;;;;;;;;;;;;;AAcG;IACI,IAAI,CACP,GAAM,EACN,IAAS,EAAA;AAET,QAAA,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,OAAO,MAAoB;IAC/B;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,OAAO,CAAC,GAAW,EAAA;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;IACxC;AAEA;;;;;;;;;AASG;AACI,IAAA,aAAa,CAChB,GAA4B,EAC5B,SAAA,GAAoB,GAAG,EAAA;QAEvB,MAAM,MAAM,GAA4B,EAAE;QAE1C,MAAM,OAAO,GAAG,CAAC,OAAY,EAAE,IAAA,GAAe,EAAE,KAAI;AAChD,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,gBAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAA,EAAG,IAAI,CAAA,EAAG,SAAS,GAAG,GAAG,CAAA,CAAE,GAAG,GAAG;AACxD,gBAAA,IACI,KAAK;oBACL,OAAO,KAAK,KAAK,QAAQ;AACzB,oBAAA,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/B;AACE,oBAAA,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC3B;qBAAO;AACH,oBAAA,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK;gBAC3B;YACJ;AACJ,QAAA,CAAC;QAED,OAAO,CAAC,GAAG,CAAC;AACZ,QAAA,OAAO,MAAM;IACjB;AAEA;;;;;;;;;AASG;AACI,IAAA,KAAK,CAAI,IAAY,EAAE,QAAA,GAAqB,IAAI,EAAA;AACnD,QAAA,IAAI;AACA,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,QAAQ;QACnB;IACJ;AACH;;;;"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * **StringUtils — XyPriss String Utilities**
3
+ */
4
+ class StringUtils {
5
+ /**
6
+ * **Generate a Random String**
7
+ *
8
+ * Generates a pseudo-random character sequence of a specified length.
9
+ * Uses alphanumeric characters (A-Z, a-z, 0-9).
10
+ *
11
+ * @param length - The desired length of the string (default: `10`).
12
+ * @returns A random alphanumeric string.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * utils.randomString(8); // "a7B2k9Xz"
17
+ * ```
18
+ */
19
+ randomString(length = 10) {
20
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
21
+ let result = "";
22
+ for (let i = 0; i < length; i++) {
23
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
24
+ }
25
+ return result;
26
+ }
27
+ /**
28
+ * **Slugify a String**
29
+ *
30
+ * Converts a string into a URL-friendly "slug" by lowering case,
31
+ * removing non-alphanumeric characters, and replacing spaces with hyphens.
32
+ *
33
+ * @param text - The string to slugify.
34
+ * @returns The URL-friendly slug.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * utils.slugify("Hello World!"); // "hello-world"
39
+ * ```
40
+ */
41
+ slugify(text) {
42
+ return text
43
+ .toLowerCase()
44
+ .trim()
45
+ .replace(/[^\w\s-]/g, "")
46
+ .replace(/[\s_-]+/g, "-")
47
+ .replace(/^-+|-+$/g, "");
48
+ }
49
+ /**
50
+ * **Truncate a String**
51
+ *
52
+ * Shortens a string to a specified length and appends a suffix (default: `...`)
53
+ * if the original string was longer than the limit.
54
+ *
55
+ * @param text - The string to truncate.
56
+ * @param maxLength - Maximum length including the suffix.
57
+ * @param suffix - The string to append (default: `"..."`).
58
+ * @returns The truncated string.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * utils.truncate("Very long sentence", 10); // "Very lo..."
63
+ * ```
64
+ */
65
+ truncate(text, maxLength, suffix = "...") {
66
+ if (text.length <= maxLength)
67
+ return text;
68
+ return text.substring(0, maxLength - suffix.length) + suffix;
69
+ }
70
+ /**
71
+ * **Capitalize a String**
72
+ *
73
+ * Uppercases the first character of the string.
74
+ *
75
+ * @param text - The string to capitalize.
76
+ * @returns The capitalized string.
77
+ */
78
+ capitalize(text) {
79
+ return text.charAt(0).toUpperCase() + text.slice(1);
80
+ }
81
+ /**
82
+ * **Convert to camelCase**
83
+ *
84
+ * Converts hyphen-separated, underscore-separated, or space-separated
85
+ * strings into camelCase.
86
+ *
87
+ * @param text - The string to convert.
88
+ * @returns The camelCase string.
89
+ */
90
+ toCamelCase(text) {
91
+ return text
92
+ .replace(/([-_ ][a-z])/gi, ($1) => $1.toUpperCase().replace(/[-_ ]/g, ""))
93
+ .replace(/^[A-Z]/, (first) => first.toLowerCase());
94
+ }
95
+ /**
96
+ * **Pad a String**
97
+ *
98
+ * Adds padding characters to the start or end of a string until it
99
+ * reaches the target length.
100
+ *
101
+ * @param text - The source string.
102
+ * @param length - Target length.
103
+ * @param char - Padding character (default: `" "`).
104
+ * @param position - Whether to pad at `"start"` or `"end"`.
105
+ * @returns The padded string.
106
+ */
107
+ pad(text, length, char = " ", position = "start") {
108
+ return position === "start"
109
+ ? text.padStart(length, char)
110
+ : text.padEnd(length, char);
111
+ }
112
+ /**
113
+ * **Count Word/Substring Occurrences**
114
+ *
115
+ * Returns the number of times a specific word or substring appears.
116
+ *
117
+ * @param text - The body of text to search.
118
+ * @param word - The substring to look for.
119
+ * @param caseSensitive - Whether to respect case (default: `false`).
120
+ * @returns The number of occurrences.
121
+ */
122
+ countOccurrences(text, word, caseSensitive = false) {
123
+ const flags = caseSensitive ? "g" : "gi";
124
+ const escaped = word.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
125
+ return (text.match(new RegExp(escaped, flags)) || []).length;
126
+ }
127
+ /**
128
+ * **toQueryString**
129
+ *
130
+ * Serializes a flat record into a URL-encoded query string format.
131
+ *
132
+ * @param params The object to serialize.
133
+ * @returns The query string.
134
+ */
135
+ toQueryString(params) {
136
+ return Object.entries(params)
137
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
138
+ .join("&");
139
+ }
140
+ }
141
+
142
+ export { StringUtils };
143
+ //# sourceMappingURL=StringUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.js","sources":["../../../../../src/xhsc/utils/StringUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;MACU,WAAW,CAAA;AACpB;;;;;;;;;;;;;AAaG;IACI,YAAY,CAAC,SAAiB,EAAE,EAAA;QACnC,MAAM,KAAK,GACP,gEAAgE;QACpE,IAAI,MAAM,GAAG,EAAE;AACf,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7B,YAAA,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE;AACA,QAAA,OAAO,MAAM;IACjB;AAEA;;;;;;;;;;;;;AAaG;AACI,IAAA,OAAO,CAAC,IAAY,EAAA;AACvB,QAAA,OAAO;AACF,aAAA,WAAW;AACX,aAAA,IAAI;AACJ,aAAA,OAAO,CAAC,WAAW,EAAE,EAAE;AACvB,aAAA,OAAO,CAAC,UAAU,EAAE,GAAG;AACvB,aAAA,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IAChC;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,QAAQ,CACX,IAAY,EACZ,SAAiB,EACjB,SAAiB,KAAK,EAAA;AAEtB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;AAAE,YAAA,OAAO,IAAI;AACzC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM;IAChE;AAEA;;;;;;;AAOG;AACI,IAAA,UAAU,CAAC,IAAY,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD;AAEA;;;;;;;;AAQG;AACI,IAAA,WAAW,CAAC,IAAY,EAAA;AAC3B,QAAA,OAAO;AACF,aAAA,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAC1B,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEzC,aAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1D;AAEA;;;;;;;;;;;AAWG;IACI,GAAG,CACN,IAAY,EACZ,MAAc,EACd,IAAA,GAAe,GAAG,EAClB,QAAA,GAA4B,OAAO,EAAA;QAEnC,OAAO,QAAQ,KAAK;cACd,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI;cAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IACnC;AAEA;;;;;;;;;AASG;AACI,IAAA,gBAAgB,CACnB,IAAY,EACZ,IAAY,EACZ,gBAAyB,KAAK,EAAA;QAE9B,MAAM,KAAK,GAAG,aAAa,GAAG,GAAG,GAAG,IAAI;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM;IAChE;AAEA;;;;;;;AAOG;AACI,IAAA,aAAa,CAAC,MAA+B,EAAA;AAChD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM;aACvB,GAAG,CACA,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KACT,CAAA,EAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA,CAAE;aAExE,IAAI,CAAC,GAAG,CAAC;IAClB;AACH;;;;"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * **ValidationUtils — XyPriss Validation Utilities**
3
+ */
4
+ class ValidationUtils {
5
+ /**
6
+ * **email**
7
+ *
8
+ * Performs semantic validation on an email address string.
9
+ *
10
+ * @param email The email string to validate.
11
+ * @returns `true` if valid, `false` otherwise.
12
+ */
13
+ email(email) {
14
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
15
+ }
16
+ /**
17
+ * **url**
18
+ *
19
+ * Validates a URL string using the `strulink` RFC-compliant URI parser.
20
+ *
21
+ * @param url The URL string to validate.
22
+ * @returns `true` if valid, `false` otherwise.
23
+ */
24
+ url(url) {
25
+ try {
26
+ new URL(String(url));
27
+ return true;
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ /**
34
+ * **nullish**
35
+ *
36
+ * A type guard that determines if a value is either `null` or `undefined`.
37
+ *
38
+ * @param value The value to check.
39
+ * @returns `true` if null or undefined.
40
+ */
41
+ nullish(value) {
42
+ return value === null || value === undefined;
43
+ }
44
+ }
45
+
46
+ export { ValidationUtils };
47
+ //# sourceMappingURL=ValidationUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationUtils.js","sources":["../../../../../src/xhsc/utils/ValidationUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;AAEG;MACU,eAAe,CAAA;AACxB;;;;;;;AAOG;AACI,IAAA,KAAK,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC;IACnD;AAEA;;;;;;;AAOG;AACI,IAAA,GAAG,CAAC,GAAiB,EAAA;AACxB,QAAA,IAAI;AACA,YAAA,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,YAAA,OAAO,IAAI;QACf;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,KAAK;QAChB;IACJ;AAEA;;;;;;;AAOG;AACI,IAAA,OAAO,CAAC,KAAc,EAAA;AACzB,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;IAChD;AACH;;;;"}
@@ -5,8 +5,9 @@ import { DotEnvLoader } from './utils/DotEnvLoader.js';
5
5
  import { XY_ENV_STORE_KEY, XY_XHSC_REGISTER_FS } from './xhsc/api/env/env.js';
6
6
  import { isProjectRoot, getCallerProjectRoot, loadXyConfig } from './utils/ProjectDiscovery.js';
7
7
  import { logger } from './shared/logger/Logger.js';
8
- import { XyprissTempDir } from './plugins/const/XyprissTempDir.js';
8
+ import { generateXUserTmpDir } from './plugins/const/XyprissTempDir.js';
9
9
 
10
+ // import { XyprissTempDir } from "./plugins/const/XyprissTempDir";
10
11
  /**
11
12
  * **XyPriss System Variables (`__sys__`)**
12
13
  *
@@ -85,9 +86,9 @@ class XyPrissXHSC extends XyPrissFS {
85
86
  return instance;
86
87
  }
87
88
  else {
88
- // 🛡️ Implicit Void Sandbox Warning (but return undefined)
89
- const voidPath = path__default.join(XyprissTempDir, "void", "sandbox", pluginId.replace(/[^a-zA-Z0-9-]/g, "_"));
90
- this.fs.mkdirSafe(voidPath);
89
+ // Void Sandbox plugin non autorisé dans la config
90
+ const voidPath = path__default.join(generateXUserTmpDir(), "void", "sandbox", pluginId.replace(/[^a-zA-Z0-9-]/g, "_"));
91
+ this.fs.mkdir(voidPath, { parents: true });
91
92
  logger.warn("security", `Plugin ${pluginId} requested workspace but was not explicitly authorized in config. Assigned implicit Void Sandbox (${voidPath}).`);
92
93
  return undefined;
93
94
  }
@@ -227,5 +228,5 @@ if (typeof globalThis !== "undefined") {
227
228
  /** Global singleton instance of the system. */
228
229
  const __sys__ = globalThis.__sys__;
229
230
 
230
- export { XyPrissXHSC, __sys__ };
231
+ export { XyPrissXHSC, __sys__, __sys__ as localSysApi };
231
232
  //# sourceMappingURL=xhsc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":"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"}
1
+ {"version":3,"file":"xhsc.js","sources":["../../../src/xhsc.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":"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"}