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
@@ -1 +1 @@
1
- {"version":3,"file":"System.js","sources":["../../../../src/xhsc/System.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAOA;;;;;;;;;;;;;;;;;;AAkBG;MACU,SAAS,CAAA;AAQlB;;;;;AAKG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,oBAAoB,EAAE,IAAI,IAAI,CAAC,aAAa;IACvD;AA0EA;;;;;;;;AAQG;AACH,IAAA,WAAA,CAAY,OAIX,EAAA;AACG,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ;QAErC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CACrB,MAAM,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,IAAI,KAAK,CAChC;IACL;AACH;;;;"}
1
+ {"version":3,"file":"System.js","sources":["../../../../src/xhsc/System.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAQA;;;;;;;;;;;;;;;;;;AAkBG;MACU,SAAS,CAAA;AASlB;;;;;AAKG;AACH,IAAA,IAAW,QAAQ,GAAA;AACf,QAAA,OAAO,oBAAoB,EAAE,IAAI,IAAI,CAAC,aAAa;IACvD;AA0EA;;;;;;;;AAQG;AACH,IAAA,WAAA,CAAY,OAIX,EAAA;AACG,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ;QAErC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CACrB,MAAM,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,IAAI,KAAK,CAChC;IACL;AACH;;;;"}
@@ -0,0 +1,50 @@
1
+ import { StringUtils } from './utils/StringUtils.js';
2
+ import { NumberUtils } from './utils/NumberUtils.js';
3
+ import { DateUtils } from './utils/DateUtils.js';
4
+ import { ObjectUtils } from './utils/ObjectUtils.js';
5
+ import { ArrayUtils } from './utils/ArrayUtils.js';
6
+ import { AsyncUtils } from './utils/AsyncUtils.js';
7
+ import { ValidationUtils } from './utils/ValidationUtils.js';
8
+ import { IdUtils } from './utils/IdUtils.js';
9
+ import { FunctionUtils } from './utils/FunctionUtils.js';
10
+
11
+ /**
12
+ * **UtilsApi — XyPriss System Utility Module**
13
+ *
14
+ * A comprehensive, high-performance utility class for application development.
15
+ * Utilities are grouped into specialized categories for better modularity.
16
+ *
17
+ * Exposed via `__sys__.utils`.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * __sys__.utils.num.formatBytes(1048576); // "1 MB"
22
+ * __sys__.utils.is.email("test@example.com"); // true
23
+ * __sys__.utils.id.uuid(); // "550e8400-e29b-41d4-a716-446655440000"
24
+ * ```
25
+ */
26
+ class UtilsApi {
27
+ constructor() {
28
+ /** **String Utilities** (`slugify`, `truncate`, `randomString`, etc.) */
29
+ this.str = new StringUtils();
30
+ /** **Number & Math Utilities** (`clamp`, `lerp`, `formatBytes`, etc.) */
31
+ this.num = new NumberUtils();
32
+ /** **Date & Time Utilities** (`formatDuration`, `timeAgo`, etc.) */
33
+ this.date = new DateUtils();
34
+ /** **Object Utilities** (`deepClone`, `parse`, `pick`, etc.) */
35
+ this.obj = new ObjectUtils();
36
+ /** **Array Utilities** (`chunk`, `unique`, `groupBy`, etc.) */
37
+ this.arr = new ArrayUtils();
38
+ /** **Async & Control Flow Utilities** (`sleep`, `retry`, `debounce`, etc.) */
39
+ this.async = new AsyncUtils();
40
+ /** **Validation Utilities** (`email`, `url`, `nullish`) */
41
+ this.is = new ValidationUtils();
42
+ /** **Identity Utilities** (`uuid`) */
43
+ this.id = new IdUtils();
44
+ /** **Functional Utilities** (`memo`) */
45
+ this.fn = new FunctionUtils();
46
+ }
47
+ }
48
+
49
+ export { UtilsApi };
50
+ //# sourceMappingURL=UtilsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UtilsApi.js","sources":["../../../../src/xhsc/UtilsApi.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAUA;;;;;;;;;;;;;;AAcG;MACU,QAAQ,CAAA;AAArB,IAAA,WAAA,GAAA;;AAEoB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,WAAW,EAAE;;AAGvB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,WAAW,EAAE;;AAGvB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,SAAS,EAAE;;AAGtB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,WAAW,EAAE;;AAGvB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,UAAU,EAAE;;AAGtB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,UAAU,EAAE;;AAGxB,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,eAAe,EAAE;;AAG1B,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,OAAO,EAAE;;AAGlB,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,aAAa,EAAE;IAC5C;AAAC;;;;"}
@@ -174,7 +174,21 @@ class XyPrissRunner {
174
174
  }
175
175
  const output = execFileSync(this.binaryPath, cmdArgs, execOptions);
176
176
  try {
177
- const result = JSON.parse(output);
177
+ let result;
178
+ try {
179
+ result = JSON.parse(output);
180
+ }
181
+ catch {
182
+ // Robust extraction: find the first { and last }
183
+ const start = output.indexOf("{");
184
+ const end = output.lastIndexOf("}");
185
+ if (start !== -1 && end !== -1 && end > start) {
186
+ result = JSON.parse(output.substring(start, end + 1));
187
+ }
188
+ else {
189
+ throw new Error("No JSON found");
190
+ }
191
+ }
178
192
  // Handle both wrapped standard responses and raw direct object responses
179
193
  if (result && typeof result === "object") {
180
194
  if ("status" in result && "data" in result) {
@@ -302,7 +316,21 @@ class XyPrissRunner {
302
316
  }));
303
317
  }
304
318
  try {
305
- const result = JSON.parse(stdout);
319
+ let result;
320
+ try {
321
+ result = JSON.parse(stdout);
322
+ }
323
+ catch {
324
+ // Robust extraction: find the first { and last }
325
+ const start = stdout.indexOf("{");
326
+ const end = stdout.lastIndexOf("}");
327
+ if (start !== -1 && end !== -1 && end > start) {
328
+ result = JSON.parse(stdout.substring(start, end + 1));
329
+ }
330
+ else {
331
+ throw new Error("No JSON found");
332
+ }
333
+ }
306
334
  if (result && typeof result === "object") {
307
335
  if ("status" in result && "data" in result) {
308
336
  if (result.status === "error") {
@@ -1 +1 @@
1
- {"version":3,"file":"XyPrissRunner.js","sources":["../../../../src/xhsc/XyPrissRunner.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
1
+ {"version":3,"file":"XyPrissRunner.js","sources":["../../../../src/xhsc/XyPrissRunner.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { XStringify } from 'xypriss-security';
2
2
  import { FSBase } from './FSBase.js';
3
+ import { XHSCDirectIPC } from '../ipc/XHSCDirectIPC.js';
4
+ import { FileHandle } from './FileHandle.js';
5
+ import { QuickLogger } from '../../shared/logger/quickLogger.js';
3
6
 
7
+ const logger = QuickLogger.for("XHSC:FS");
4
8
  /**
5
9
  * **Core Filesystem Operations**
6
10
  */
@@ -242,10 +246,154 @@ class FSCore extends FSBase {
242
246
  * **Find Duplicates**
243
247
  */
244
248
  this.dedupe = (p) => this.runner.runSync("fs", "dedupe", [p]);
249
+ /**
250
+ * **Close File Handle**
251
+ *
252
+ * @param handle - The file handle to close.
253
+ */
254
+ this.close = async (handle) => {
255
+ await this.runner.runAsync("fs", "close", [], { handle });
256
+ };
245
257
  }
246
258
  ls(p, options = {}) {
247
259
  return this.runner.runSync("fs", "ls", [p], options);
248
260
  }
261
+ /**
262
+ * **Open File**
263
+ *
264
+ * Opens a file and returns a numeric file descriptor (or runs a scoped callback).
265
+ *
266
+ * ---
267
+ *
268
+ * ### Modes via `flags`
269
+ *
270
+ * | Flag | Behavior |
271
+ * |---------|-----------------------------------------------------------------|
272
+ * | `"r"` | Read-only. Fails if the file does not exist. |
273
+ * | `"r+"` | Read-write. Fails if the file does not exist. |
274
+ * | `"rs+"` | Read-write, bypasses OS cache (useful for NFS / shared drives). |
275
+ * | `"w"` | Write-only. Creates the file or truncates it if it exists. |
276
+ * | `"wx"` | Write-only. Fails if the file already exists (atomic create). |
277
+ * | `"w+"` | Read-write. Creates the file or truncates it if it exists. |
278
+ * | `"wx+"` | Read-write. Fails if the file already exists (atomic create). |
279
+ * | `"a"` | Append-only. Creates the file if missing. Writes go to EOF. |
280
+ * | `"ax"` | Append-only. Fails if the file already exists (atomic create). |
281
+ * | `"a+"` | Read-append. Creates the file if missing. Writes always at EOF. |
282
+ * | `"ax+"` | Read-append. Fails if the file already exists (atomic create). |
283
+ *
284
+ * > **`x` suffix** — Maps to `O_EXCL` at the OS level: the call succeeds only if
285
+ * > *this* invocation creates the file, preventing race conditions.
286
+ *
287
+ * ---
288
+ *
289
+ * ### Transport strategy
290
+ *
291
+ * The method resolves the file descriptor through two transports, in order:
292
+ *
293
+ * 1. **IPC** (`XYPRISS_IPC_PATH` set) — communicates with the XHSC daemon via a
294
+ * Unix socket. File descriptors are **stateful and persistent** across calls.
295
+ * 2. **Runner fallback** — used when IPC is unavailable or the environment variable
296
+ * is not set. Descriptors are **not persistent** across multiple independent calls;
297
+ * a warning is emitted to the console.
298
+ *
299
+ * ---
300
+ *
301
+ * ### Callback (scoped) mode
302
+ *
303
+ * When a `callback` is provided, the file is opened, passed as a {@link FileHandle}
304
+ * toolbox to the callback, then **automatically closed** in a `finally` block —
305
+ * even if the callback throws. In this mode the method returns `void`.
306
+ *
307
+ * When no callback is provided, the raw numeric file descriptor is returned and
308
+ * **the caller is responsible for closing it**.
309
+ *
310
+ * ---
311
+ *
312
+ * @param p - Absolute or relative path to the target file.
313
+ * @param flags - Open mode, as a string flag (default: `"r"`) or a numeric
314
+ * `os` constant. See the flag table above.
315
+ * @param callback - Optional scoped handler receiving a {@link FileHandle}.
316
+ * When supplied, the handle is closed automatically on completion.
317
+ *
318
+ * @returns The numeric file descriptor when no callback is given; `void` otherwise.
319
+ *
320
+ * @example <caption>Scoped read (handle closed automatically)</caption>
321
+ * ```typescript
322
+ * await __sys__.fs.open("data.bin", "r", async (file) => {
323
+ * const chunk = await file.read(1024);
324
+ * console.log(chunk.toString());
325
+ * });
326
+ * ```
327
+ *
328
+ * @example <caption>Manual descriptor (caller must close)</caption>
329
+ * ```typescript
330
+ * const fd = await __sys__.fs.open("output.log", "a");
331
+ * // ... write operations ...
332
+ * await __sys__.fs.close(fd);
333
+ * ```
334
+ */
335
+ async open(p, flags = "r", callback) {
336
+ let id;
337
+ const mappedFlags = typeof flags === "string" ? this.mapFlags(flags) : flags;
338
+ if (process.env.XYPRISS_IPC_PATH) {
339
+ const ipc = new XHSCDirectIPC(process.env.XYPRISS_IPC_PATH);
340
+ try {
341
+ const res = await ipc.sendCommand("fs", "open", {
342
+ path: p,
343
+ flags: mappedFlags,
344
+ mode: "0644",
345
+ });
346
+ id = res.handle;
347
+ }
348
+ catch (err) {
349
+ // Fallback to runner if IPC fail but keep it as a backup
350
+ logger.warn("WARNING: IPC not available, falling back to process-mode. Stateful handles will NOT be persistent across multiple calls.");
351
+ id = (await this.runner.runAsync("fs", "open", [p], {
352
+ flags: mappedFlags,
353
+ mode: "0644",
354
+ }));
355
+ }
356
+ finally {
357
+ ipc.close();
358
+ }
359
+ }
360
+ else {
361
+ logger.warn("WARNING: XYPRISS_IPC_PATH not set. Stateful handles will NOT be persistent across multiple calls.");
362
+ id = (await this.runner.runAsync("fs", "open", [p], {
363
+ flags: mappedFlags,
364
+ mode: "0644",
365
+ }));
366
+ }
367
+ if (callback) {
368
+ const toolbox = new FileHandle(id, this.runner);
369
+ try {
370
+ await callback(toolbox);
371
+ }
372
+ finally {
373
+ await toolbox.close();
374
+ }
375
+ return;
376
+ }
377
+ return id;
378
+ }
379
+ mapFlags(flags) {
380
+ // Native XHSC constants mapping:
381
+ // O_RDONLY = 0, O_WRONLY = 1, O_RDWR = 2, O_APPEND = 1024, O_CREATE = 64, O_EXCL = 128, O_SYNC = 4096, O_TRUNC = 512
382
+ const mapping = {
383
+ r: 0, // O_RDONLY
384
+ "r+": 2, // O_RDWR
385
+ "rs+": 2 | 4096, // O_RDWR | O_SYNC
386
+ w: 1 | 64 | 512, // O_WRONLY | O_CREATE | O_TRUNC
387
+ wx: 1 | 64 | 128, // O_WRONLY | O_CREATE | O_EXCL
388
+ "w+": 2 | 64 | 512, // O_RDWR | O_CREATE | O_TRUNC
389
+ "wx+": 2 | 64 | 128, // O_RDWR | O_CREATE | O_EXCL
390
+ a: 1 | 1024 | 64, // O_WRONLY | O_APPEND | O_CREATE
391
+ ax: 1 | 1024 | 64 | 128, // O_WRONLY | O_APPEND | O_CREATE | O_EXCL
392
+ "a+": 2 | 1024 | 64, // O_RDWR | O_APPEND | O_CREATE
393
+ "ax+": 2 | 1024 | 64 | 128, // O_RDWR | O_APPEND | O_CREATE | O_EXCL
394
+ };
395
+ return mapping[flags] ?? 0;
396
+ }
249
397
  }
250
398
 
251
399
  export { FSCore };
@@ -1 +1 @@
1
- {"version":3,"file":"FSCore.js","sources":["../../../../../src/xhsc/fs/FSCore.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FSCore.js","sources":["../../../../../src/xhsc/fs/FSCore.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import { XHSCDirectIPC } from '../ipc/XHSCDirectIPC.js';
2
+
3
+ /**
4
+ * **High-Performance File Toolbox**
5
+ * Exposed via __sys__.fs.open(path, callback)
6
+ */
7
+ class FileHandle {
8
+ constructor(id, runner) {
9
+ this.id = id;
10
+ this.runner = runner;
11
+ this.ipc = null;
12
+ if (process.env.XYPRISS_IPC_PATH) {
13
+ this.ipc = new XHSCDirectIPC(process.env.XYPRISS_IPC_PATH);
14
+ }
15
+ }
16
+ /**
17
+ * **Get Native Handle ID**
18
+ */
19
+ get nativeId() {
20
+ return this.id;
21
+ }
22
+ /**
23
+ * **Read from File**
24
+ * @param length - Max bytes to read
25
+ */
26
+ async read(length) {
27
+ if (this.ipc) {
28
+ const res = await this.ipc.sendCommand("fs", "handle-read", {
29
+ handle: this.id,
30
+ length,
31
+ encoding: "base64",
32
+ });
33
+ return Buffer.from(res.content, "base64");
34
+ }
35
+ const res = (await this.runner.runAsync("fs", "handle-read", [], {
36
+ handle: this.id,
37
+ length,
38
+ }));
39
+ return Buffer.from(res.content, "hex");
40
+ }
41
+ /**
42
+ * **Write to File**
43
+ * @param data - Buffer or String
44
+ */
45
+ async write(data) {
46
+ const raw = typeof data === "string" ? Buffer.from(data) : data;
47
+ if (this.ipc) {
48
+ const res = await this.ipc.sendCommand("fs", "handle-write", {
49
+ handle: this.id,
50
+ data: raw.toString("base64"),
51
+ encoding: "base64",
52
+ });
53
+ return res.n;
54
+ }
55
+ const res = (await this.runner.runAsync("fs", "handle-write", [], {
56
+ handle: this.id,
57
+ data: raw.toString("hex"),
58
+ }));
59
+ return res.n;
60
+ }
61
+ /**
62
+ * **Seek within File**
63
+ * @param offset - Position
64
+ * @param whence - 0: Start, 1: Current, 2: End
65
+ */
66
+ async seek(offset, whence = 0) {
67
+ if (this.ipc) {
68
+ const res = await this.ipc.sendCommand("fs", "handle-seek", {
69
+ handle: this.id,
70
+ offset,
71
+ whence,
72
+ });
73
+ return res.pos;
74
+ }
75
+ const res = (await this.runner.runAsync("fs", "handle-seek", [], {
76
+ handle: this.id,
77
+ offset,
78
+ whence,
79
+ }));
80
+ return res.pos;
81
+ }
82
+ /**
83
+ * **Get File Statistics**
84
+ */
85
+ async stat() {
86
+ if (this.ipc) {
87
+ return (await this.ipc.sendCommand("fs", "handle-stat", {
88
+ handle: this.id,
89
+ }));
90
+ }
91
+ return (await this.runner.runAsync("fs", "handle-stat", [], {
92
+ handle: this.id,
93
+ }));
94
+ }
95
+ /**
96
+ * **Close Handle**
97
+ */
98
+ async close() {
99
+ if (this.ipc) {
100
+ await this.ipc.sendCommand("fs", "close", { handle: this.id });
101
+ this.ipc.close();
102
+ }
103
+ else {
104
+ await this.runner.runAsync("fs", "close", [], { handle: this.id });
105
+ }
106
+ }
107
+ }
108
+
109
+ export { FileHandle };
110
+ //# sourceMappingURL=FileHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileHandle.js","sources":["../../../../../src/xhsc/fs/FileHandle.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import * as net from 'node:net';
2
+
3
+ /**
4
+ * **XHSC Direct IPC Client**
5
+ *
6
+ * Provides high-performance, direct Unix socket communication with the
7
+ * XHSC background server, bypassing the overhead of process spawning.
8
+ */
9
+ class XHSCDirectIPC {
10
+ constructor(ipcPath) {
11
+ this.ipcPath = ipcPath;
12
+ this.socket = null;
13
+ }
14
+ /**
15
+ * **Connect to the IPC Server**
16
+ */
17
+ async connect() {
18
+ if (this.socket && !this.socket.destroyed)
19
+ return;
20
+ return new Promise((resolve, reject) => {
21
+ this.socket = net.connect(this.ipcPath, () => {
22
+ resolve();
23
+ });
24
+ this.socket.on("error", (err) => {
25
+ reject(err);
26
+ });
27
+ });
28
+ }
29
+ /**
30
+ * **Send a Command and Wait for Response**
31
+ */
32
+ async sendCommand(module, action, params = {}) {
33
+ await this.connect();
34
+ return new Promise((resolve, reject) => {
35
+ const timeout = setTimeout(() => {
36
+ cleanup();
37
+ reject(new Error(`IPC Command Timeout: ${module}.${action}`));
38
+ }, 5000);
39
+ const message = {
40
+ type: "CoreCommand",
41
+ payload: {
42
+ module,
43
+ action,
44
+ params,
45
+ },
46
+ };
47
+ const payload = Buffer.from(JSON.stringify(message));
48
+ const size = Buffer.alloc(4);
49
+ size.writeUInt32BE(payload.length, 0);
50
+ let buffer = Buffer.alloc(0);
51
+ const cleanup = () => {
52
+ clearTimeout(timeout);
53
+ this.socket?.removeListener("data", onData);
54
+ this.socket?.removeListener("error", onError);
55
+ this.socket?.removeListener("close", onClose);
56
+ };
57
+ const onData = (data) => {
58
+ buffer = Buffer.concat([buffer, data]);
59
+ if (buffer.length >= 4) {
60
+ const resSize = buffer.readUInt32BE(0);
61
+ if (buffer.length >= 4 + resSize) {
62
+ const resPayload = buffer.subarray(4, 4 + resSize);
63
+ cleanup();
64
+ try {
65
+ const resMsg = JSON.parse(resPayload.toString());
66
+ if (resMsg.type === "Response") {
67
+ const res = resMsg.payload;
68
+ if (res.status === "error") {
69
+ reject(new Error(res.error));
70
+ }
71
+ else {
72
+ resolve(res.data);
73
+ }
74
+ }
75
+ else {
76
+ reject(new Error("Unexpected message type: " +
77
+ resMsg.type));
78
+ }
79
+ }
80
+ catch (e) {
81
+ reject(e);
82
+ }
83
+ }
84
+ }
85
+ };
86
+ const onError = (err) => {
87
+ cleanup();
88
+ reject(err);
89
+ };
90
+ const onClose = () => {
91
+ cleanup();
92
+ reject(new Error("IPC Connection closed during command execution"));
93
+ };
94
+ this.socket.on("data", onData);
95
+ this.socket.on("error", onError);
96
+ this.socket.on("close", onClose);
97
+ this.socket.write(size);
98
+ this.socket.write(payload);
99
+ });
100
+ }
101
+ /**
102
+ * **Close Connection**
103
+ */
104
+ close() {
105
+ if (this.socket) {
106
+ this.socket.destroy();
107
+ this.socket = null;
108
+ }
109
+ }
110
+ }
111
+
112
+ export { XHSCDirectIPC };
113
+ //# sourceMappingURL=XHSCDirectIPC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XHSCDirectIPC.js","sources":["../../../../../src/xhsc/ipc/XHSCDirectIPC.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}