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":"XyPrissRunner.js","sources":["../../../../src/xhsc/XyPrissRunner.ts"],"sourcesContent":[null],"names":["fileURLToPath","XHSC_SIGNATURE","execFileSync","spawn"],"mappings":"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"}
1
+ {"version":3,"file":"XyPrissRunner.js","sources":["../../../../src/xhsc/XyPrissRunner.ts"],"sourcesContent":[null],"names":["fileURLToPath","XHSC_SIGNATURE","execFileSync","spawn"],"mappings":";;;;;;;;;AASA;;AAEG;AACG,MAAO,YAAa,SAAQ,KAAK,CAAA;AACnC,IAAA,WAAA,CACW,MAAc,EACd,MAAc,EACd,OAAe,EACf,GAAS,EAAA;QAEhB,KAAK,CAAC,mBAAmB,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,SAAA,EAAY,OAAO,CAAA,CAAE,CAAC;QALxD,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,GAAG,GAAH,GAAG;AAGV,QAAA,IAAI,CAAC,IAAI,GAAG,cAAc;IAC9B;AACH;AAED;;;;;;AAMG;MACU,aAAa,CAAA;AAGtB,IAAA,WAAA,CAAoB,IAAY,EAAA;QAAZ,IAAA,CAAA,IAAI,GAAJ,IAAI;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;;;;;IAK3C;IAEO,OAAO,GAAA;;QAEV,OAAO,IAAI,CAAC,IAAI;IACpB;IAEO,aAAa,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IAC1B;AAEA;;;AAGG;IACK,cAAc,GAAA;QAClB,MAAM,SAAS,GAAG,MAAK;AACnB,YAAA,QAAQ,OAAO,CAAC,QAAQ;AACpB,gBAAA,KAAK,OAAO;AACR,oBAAA,OAAO,SAAS;AACpB,gBAAA,KAAK,QAAQ;AACT,oBAAA,OAAO,QAAQ;AACnB,gBAAA;AACI,oBAAA,OAAO,OAAO;;AAE1B,QAAA,CAAC;QAED,MAAM,WAAW,GAAG,MAAK;AACrB,YAAA,QAAQ,OAAO,CAAC,IAAI;AAChB,gBAAA,KAAK,OAAO;AACR,oBAAA,OAAO,OAAO;AAClB,gBAAA;oBACI,OAAO,OAAO,CAAC;;AAE3B,QAAA,CAAC;AAED,QAAA,MAAM,MAAM,GAAG,SAAS,EAAE;AAC1B,QAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,QAAA,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE;;QAGjD,MAAM,SAAS,GAAG,CAAA,KAAA,EAAQ,MAAM,IAAI,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;AACvD,QAAA,MAAM,cAAc,GAAG,MAAM,KAAK,SAAS,GAAG,UAAU,GAAG,MAAM;AACjE,QAAA,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC;AAE9C,QAAA,IAAI;;YAEA,MAAM,UAAU,GAAGA,sBAAa,CAAC,2QAAe,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;YAG1C,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AAE9C,YAAA,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC5B,IAAI,OAAO,GAAG,IAAI;;AAElB,gBAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;;oBAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;AACxC,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACxC,wBAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,4BAAA,OAAO,QAAQ;oBAChD;;AAGA,oBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC5B,OAAO,EACP,cAAc,EACd,MAAM,CACT;AACD,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAChD,wBAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,4BAAA,OAAO,QAAQ;oBAChD;;AAGA,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3D,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;AACzC,wBAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,4BAAA,OAAO,QAAQ;oBAChD;oBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBACpC,IAAI,MAAM,KAAK,OAAO;wBAAE;oBACxB,OAAO,GAAG,MAAM;gBACpB;YACJ;QACJ;QAAE,OAAO,CAAC,EAAE;;QAEZ;;AAGA,QAAA,OAAO,cAAc;IACzB;AAEA;;;AAGG;IACI,OAAO,CACV,MAAc,EACd,MAAc,EACd,IAAA,GAAiB,EAAE,EACnB,OAAA,GAAe,EAAE,EAAA;QAEjB,MAAM,kBAAkB,GAAGC,6BAAc;AACzC,QAAA,MAAM,OAAO,GAAa;YACtB,QAAQ;AACR,YAAA,IAAI,CAAC,IAAI;YACT,aAAa;YACb,kBAAkB;SACrB;QAED,IAAI,OAAO,CAAC,OAAO;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK;AAAE,YAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;AAG1C,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACtB,YAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1B;QAEA,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;;AAGrC,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,YAAA,IACI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,CACzD,GAAG,CACN;gBAED;;YAGJ,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhE,IAAI,KAAK,KAAK,IAAI;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA,CAAE,CAAC;iBACxC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C;QACJ;AAEA,QAAA,IAAI,OAAO,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI;;AAEA,gBAAAC,+BAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,IAAI;AACjB,iBAAA,CAAC;YACN;YAAE,OAAO,KAAK,EAAE;;YAEhB;AACA,YAAA,OAAO,SAAyB;QACpC;AAEA,QAAA,IAAI;AACA,YAAA,MAAM,WAAW,GAAQ;AACrB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;gBAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE,IAAI,CAAC,IAAI;aACjB;AAED,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;AAC7B,gBAAA,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;AACjC,gBAAA,WAAW,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD;AAEA,YAAA,MAAM,MAAM,GAAGA,+BAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;AAElE,YAAA,IAAI;AACA,gBAAA,IAAI,MAAwB;AAC5B,gBAAA,IAAI;AACA,oBAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC/B;AAAE,gBAAA,MAAM;;oBAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACjC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;AACnC,oBAAA,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE;AAC3C,wBAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzD;yBAAO;AACH,wBAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;oBACpC;gBACJ;;AAGA,gBAAA,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBACtC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;AACxC,wBAAA,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;AAC3B,4BAAA,MAAM,IAAI,YAAY,CAClB,MAAM,EACN,MAAM,EACN,MAAM,CAAC,OAAO,IAAI,wBAAwB,CAC7C;wBACL;wBACA,OAAO,MAAM,CAAC,IAAS;oBAC3B;;AAEA,oBAAA,OAAO,MAAW;gBACtB;AAEA,gBAAA,OAAO,MAAW;YACtB;YAAE,OAAO,UAAU,EAAE;;;AAGjB,gBAAA,OAAO,MAAsB;YACjC;QACJ;QAAE,OAAO,KAAU,EAAE;;YAEjB,IAAI,KAAK,YAAY,YAAY;AAAE,gBAAA,MAAM,KAAK;AAE9C,YAAA,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO;;AAGhC,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI;AACA,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;AAC7C,wBAAA,YAAY,GAAG,MAAM,CAAC,OAAO;oBACjC;gBACJ;AAAE,gBAAA,MAAM;;gBAER;YACJ;AAAO,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE;gBACrB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AAChD,gBAAA,IAAI,SAAS;oBAAE,YAAY,GAAG,SAAS;YAC3C;;AAGA,YAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,gBAAA,YAAY,GAAG;AACV,qBAAA,OAAO,CAAC,yBAAyB,EAAE,EAAE;AACrC,qBAAA,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;AAC9B,qBAAA,IAAI,EAAE;YACf;;AAGA,YAAA,IAAI,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACpC,gBAAA,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C;YAEA,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;QAC/D;IACJ;AAEA;;AAEG;IACI,MAAM,QAAQ,CACjB,MAAc,EACd,MAAc,EACd,IAAA,GAAiB,EAAE,EACnB,OAAA,GAAe,EAAE,EAAA;AAEjB,QAAA,IAAI;YACA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,oBAAoB,CAAC;YAEpD,MAAM,kBAAkB,GAAGD,6BAAc;AACzC,YAAA,MAAM,OAAO,GAAa;gBACtB,QAAQ;AACR,gBAAA,IAAI,CAAC,IAAI;gBACT,aAAa;gBACb,kBAAkB;AAClB,gBAAA,QAAQ;aACX;YAED,IAAI,OAAO,CAAC,OAAO;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAE1C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;;AAGrC,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChD,IACI;oBACI,SAAS;oBACT,OAAO;oBACP,MAAM;oBACN,aAAa;oBACb,OAAO;iBACV,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAEf;gBAEJ,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CACpB,QAAQ,EACR,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAC/B;gBACD,IAAI,KAAK,KAAK,IAAI;AAAE,oBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA,CAAE,CAAC;qBACxC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5C;YACJ;YAEA,OAAO,MAAM,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,KAAI;gBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;oBAC1C,GAAG,EAAE,IAAI,CAAC,IAAI;AACjB,iBAAA,CAAC;gBAEF,IAAI,MAAM,GAAG,EAAE;gBACf,IAAI,MAAM,GAAG,EAAE;AAEf,gBAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;oBAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAChC,oBAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrB;gBAEA,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAI;AAC7B,oBAAA,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC7B,gBAAA,CAAC,CAAC;gBAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,KAAI;AAC7B,oBAAA,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC7B,gBAAA,CAAC,CAAC;gBAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,KAAI;AACvB,oBAAA,IAAI,IAAI,KAAK,CAAC,EAAE;AACZ,wBAAA,IAAI,YAAY,GAAG,CAAA,8BAAA,EAAiC,IAAI,EAAE;AAC1D,wBAAA,IAAI;4BACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;4BACjC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;AAC7C,gCAAA,YAAY,GAAG,MAAM,CAAC,OAAO;4BACjC;wBACJ;AAAE,wBAAA,MAAM;4BACJ,IAAI,MAAM,CAAC,IAAI,EAAE;AAAE,gCAAA,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE;wBACnD;wBACA,OAAO,MAAM,CACT,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE;4BAC3C,MAAM;4BACN,MAAM;4BACN,IAAI;AACP,yBAAA,CAAC,CACL;oBACL;AAEA,oBAAA,IAAI;AACA,wBAAA,IAAI,MAAwB;AAC5B,wBAAA,IAAI;AACA,4BAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;wBAC/B;AAAE,wBAAA,MAAM;;4BAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;4BACjC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;AACnC,4BAAA,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE;AAC3C,gCAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CACf,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CACnC;4BACL;iCAAO;AACH,gCAAA,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;4BACpC;wBACJ;AAEA,wBAAA,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;4BACtC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;AACxC,gCAAA,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;oCAC3B,OAAO,MAAM,CACT,IAAI,YAAY,CACZ,MAAM,EACN,MAAM,EACN,MAAM,CAAC,OAAO;wCACV,wBAAwB,CAC/B,CACJ;gCACL;AACA,gCAAA,OAAO,OAAO,CAAC,MAAM,CAAC,IAAS,CAAC;4BACpC;wBACJ;wBACA,OAAO,CAAC,MAAkB,CAAC;oBAC/B;oBAAE,OAAO,UAAU,EAAE;wBACjB,OAAO,CAAC,MAAsB,CAAC;oBACnC;AACJ,gBAAA,CAAC,CAAC;gBAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;AACtB,oBAAA,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9D,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;QACN;QAAE,OAAO,KAAU,EAAE;YACjB,IAAI,KAAK,YAAY,YAAY;AAAE,gBAAA,MAAM,KAAK;AAE9C,YAAA,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO;AAEhC,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI;AACA,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;AAC7C,wBAAA,YAAY,GAAG,MAAM,CAAC,OAAO;oBACjC;gBACJ;AAAE,gBAAA,MAAM;;gBAER;YACJ;AAAO,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE;gBACrB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;AAChD,gBAAA,IAAI,SAAS;oBAAE,YAAY,GAAG,SAAS;YAC3C;YAEA,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;QAC/D;IACJ;AAEA;;AAEG;IACI,SAAS,CACZ,MAAc,EACd,MAAc,EACd,IAAA,GAAiB,EAAE,EACnB,OAAA,GAAe,EAAE,EAAA;AAEjB,QAAA,MAAM,OAAO,GAAG;YACZ,QAAQ;AACR,YAAA,IAAI,CAAC,IAAI;YACT,aAAa;YACbA,6BAAc;YACd,MAAM;YACN,MAAM;AACN,YAAA,GAAG,IAAI;SACV;AAED,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE;YAE7B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,IAAI,KAAK,KAAK,IAAI;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA,CAAE,CAAC;iBACxC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C;QACJ;QAEA,MAAM,KAAK,GAAGE,wBAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;YAC1C,GAAG,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAChC,YAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QACrB;;QAGA,OAAO,KAAK,CAAC,MAAM;IACvB;AAEA;;AAEG;IACI,iBAAiB,CACpB,MAAc,EACd,MAAc,EACd,IAAA,GAAiB,EAAE,EACnB,OAAA,GAAe,EAAE,EAAA;AAEjB,QAAA,MAAM,OAAO,GAAG;YACZ,QAAQ;AACR,YAAA,IAAI,CAAC,IAAI;YACT,aAAa;YACbF,6BAAc;YACd,MAAM;YACN,MAAM;AACN,YAAA,GAAG,IAAI;SACV;AAED,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,IAAI,KAAK,KAAK,IAAI;AAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA,CAAE,CAAC;iBACxC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7C,gBAAA,OAAO,CAAC,IAAI,CAAC,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C;QACJ;QAEA,MAAM,KAAK,GAAGE,wBAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;YAC1C,GAAG,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA,CAAC;;QAGF,OAAO,KAAK,CAAC,KAAK;IACtB;AACH;;;;;"}
@@ -2,7 +2,11 @@
2
2
 
3
3
  var xyprissSecurity = require('xypriss-security');
4
4
  var FSBase = require('./FSBase.js');
5
+ var XHSCDirectIPC = require('../ipc/XHSCDirectIPC.js');
6
+ var FileHandle = require('./FileHandle.js');
7
+ var quickLogger = require('../../shared/logger/quickLogger.js');
5
8
 
9
+ const logger = quickLogger.QuickLogger.for("XHSC:FS");
6
10
  /**
7
11
  * **Core Filesystem Operations**
8
12
  */
@@ -244,10 +248,154 @@ class FSCore extends FSBase.FSBase {
244
248
  * **Find Duplicates**
245
249
  */
246
250
  this.dedupe = (p) => this.runner.runSync("fs", "dedupe", [p]);
251
+ /**
252
+ * **Close File Handle**
253
+ *
254
+ * @param handle - The file handle to close.
255
+ */
256
+ this.close = async (handle) => {
257
+ await this.runner.runAsync("fs", "close", [], { handle });
258
+ };
247
259
  }
248
260
  ls(p, options = {}) {
249
261
  return this.runner.runSync("fs", "ls", [p], options);
250
262
  }
263
+ /**
264
+ * **Open File**
265
+ *
266
+ * Opens a file and returns a numeric file descriptor (or runs a scoped callback).
267
+ *
268
+ * ---
269
+ *
270
+ * ### Modes via `flags`
271
+ *
272
+ * | Flag | Behavior |
273
+ * |---------|-----------------------------------------------------------------|
274
+ * | `"r"` | Read-only. Fails if the file does not exist. |
275
+ * | `"r+"` | Read-write. Fails if the file does not exist. |
276
+ * | `"rs+"` | Read-write, bypasses OS cache (useful for NFS / shared drives). |
277
+ * | `"w"` | Write-only. Creates the file or truncates it if it exists. |
278
+ * | `"wx"` | Write-only. Fails if the file already exists (atomic create). |
279
+ * | `"w+"` | Read-write. Creates the file or truncates it if it exists. |
280
+ * | `"wx+"` | Read-write. Fails if the file already exists (atomic create). |
281
+ * | `"a"` | Append-only. Creates the file if missing. Writes go to EOF. |
282
+ * | `"ax"` | Append-only. Fails if the file already exists (atomic create). |
283
+ * | `"a+"` | Read-append. Creates the file if missing. Writes always at EOF. |
284
+ * | `"ax+"` | Read-append. Fails if the file already exists (atomic create). |
285
+ *
286
+ * > **`x` suffix** — Maps to `O_EXCL` at the OS level: the call succeeds only if
287
+ * > *this* invocation creates the file, preventing race conditions.
288
+ *
289
+ * ---
290
+ *
291
+ * ### Transport strategy
292
+ *
293
+ * The method resolves the file descriptor through two transports, in order:
294
+ *
295
+ * 1. **IPC** (`XYPRISS_IPC_PATH` set) — communicates with the XHSC daemon via a
296
+ * Unix socket. File descriptors are **stateful and persistent** across calls.
297
+ * 2. **Runner fallback** — used when IPC is unavailable or the environment variable
298
+ * is not set. Descriptors are **not persistent** across multiple independent calls;
299
+ * a warning is emitted to the console.
300
+ *
301
+ * ---
302
+ *
303
+ * ### Callback (scoped) mode
304
+ *
305
+ * When a `callback` is provided, the file is opened, passed as a {@link FileHandle}
306
+ * toolbox to the callback, then **automatically closed** in a `finally` block —
307
+ * even if the callback throws. In this mode the method returns `void`.
308
+ *
309
+ * When no callback is provided, the raw numeric file descriptor is returned and
310
+ * **the caller is responsible for closing it**.
311
+ *
312
+ * ---
313
+ *
314
+ * @param p - Absolute or relative path to the target file.
315
+ * @param flags - Open mode, as a string flag (default: `"r"`) or a numeric
316
+ * `os` constant. See the flag table above.
317
+ * @param callback - Optional scoped handler receiving a {@link FileHandle}.
318
+ * When supplied, the handle is closed automatically on completion.
319
+ *
320
+ * @returns The numeric file descriptor when no callback is given; `void` otherwise.
321
+ *
322
+ * @example <caption>Scoped read (handle closed automatically)</caption>
323
+ * ```typescript
324
+ * await __sys__.fs.open("data.bin", "r", async (file) => {
325
+ * const chunk = await file.read(1024);
326
+ * console.log(chunk.toString());
327
+ * });
328
+ * ```
329
+ *
330
+ * @example <caption>Manual descriptor (caller must close)</caption>
331
+ * ```typescript
332
+ * const fd = await __sys__.fs.open("output.log", "a");
333
+ * // ... write operations ...
334
+ * await __sys__.fs.close(fd);
335
+ * ```
336
+ */
337
+ async open(p, flags = "r", callback) {
338
+ let id;
339
+ const mappedFlags = typeof flags === "string" ? this.mapFlags(flags) : flags;
340
+ if (process.env.XYPRISS_IPC_PATH) {
341
+ const ipc = new XHSCDirectIPC.XHSCDirectIPC(process.env.XYPRISS_IPC_PATH);
342
+ try {
343
+ const res = await ipc.sendCommand("fs", "open", {
344
+ path: p,
345
+ flags: mappedFlags,
346
+ mode: "0644",
347
+ });
348
+ id = res.handle;
349
+ }
350
+ catch (err) {
351
+ // Fallback to runner if IPC fail but keep it as a backup
352
+ logger.warn("WARNING: IPC not available, falling back to process-mode. Stateful handles will NOT be persistent across multiple calls.");
353
+ id = (await this.runner.runAsync("fs", "open", [p], {
354
+ flags: mappedFlags,
355
+ mode: "0644",
356
+ }));
357
+ }
358
+ finally {
359
+ ipc.close();
360
+ }
361
+ }
362
+ else {
363
+ logger.warn("WARNING: XYPRISS_IPC_PATH not set. Stateful handles will NOT be persistent across multiple calls.");
364
+ id = (await this.runner.runAsync("fs", "open", [p], {
365
+ flags: mappedFlags,
366
+ mode: "0644",
367
+ }));
368
+ }
369
+ if (callback) {
370
+ const toolbox = new FileHandle.FileHandle(id, this.runner);
371
+ try {
372
+ await callback(toolbox);
373
+ }
374
+ finally {
375
+ await toolbox.close();
376
+ }
377
+ return;
378
+ }
379
+ return id;
380
+ }
381
+ mapFlags(flags) {
382
+ // Native XHSC constants mapping:
383
+ // O_RDONLY = 0, O_WRONLY = 1, O_RDWR = 2, O_APPEND = 1024, O_CREATE = 64, O_EXCL = 128, O_SYNC = 4096, O_TRUNC = 512
384
+ const mapping = {
385
+ r: 0, // O_RDONLY
386
+ "r+": 2, // O_RDWR
387
+ "rs+": 2 | 4096, // O_RDWR | O_SYNC
388
+ w: 1 | 64 | 512, // O_WRONLY | O_CREATE | O_TRUNC
389
+ wx: 1 | 64 | 128, // O_WRONLY | O_CREATE | O_EXCL
390
+ "w+": 2 | 64 | 512, // O_RDWR | O_CREATE | O_TRUNC
391
+ "wx+": 2 | 64 | 128, // O_RDWR | O_CREATE | O_EXCL
392
+ a: 1 | 1024 | 64, // O_WRONLY | O_APPEND | O_CREATE
393
+ ax: 1 | 1024 | 64 | 128, // O_WRONLY | O_APPEND | O_CREATE | O_EXCL
394
+ "a+": 2 | 1024 | 64, // O_RDWR | O_APPEND | O_CREATE
395
+ "ax+": 2 | 1024 | 64 | 128, // O_RDWR | O_APPEND | O_CREATE | O_EXCL
396
+ };
397
+ return mapping[flags] ?? 0;
398
+ }
251
399
  }
252
400
 
253
401
  exports.FSCore = FSCore;
@@ -1 +1 @@
1
- {"version":3,"file":"FSCore.js","sources":["../../../../../src/xhsc/fs/FSCore.ts"],"sourcesContent":[null],"names":["FSBase","XStringify"],"mappings":"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"}
1
+ {"version":3,"file":"FSCore.js","sources":["../../../../../src/xhsc/fs/FSCore.ts"],"sourcesContent":[null],"names":["QuickLogger","FSBase","XStringify","XHSCDirectIPC","FileHandle"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var XHSCDirectIPC = require('../ipc/XHSCDirectIPC.js');
4
+
5
+ /**
6
+ * **High-Performance File Toolbox**
7
+ * Exposed via __sys__.fs.open(path, callback)
8
+ */
9
+ class FileHandle {
10
+ constructor(id, runner) {
11
+ this.id = id;
12
+ this.runner = runner;
13
+ this.ipc = null;
14
+ if (process.env.XYPRISS_IPC_PATH) {
15
+ this.ipc = new XHSCDirectIPC.XHSCDirectIPC(process.env.XYPRISS_IPC_PATH);
16
+ }
17
+ }
18
+ /**
19
+ * **Get Native Handle ID**
20
+ */
21
+ get nativeId() {
22
+ return this.id;
23
+ }
24
+ /**
25
+ * **Read from File**
26
+ * @param length - Max bytes to read
27
+ */
28
+ async read(length) {
29
+ if (this.ipc) {
30
+ const res = await this.ipc.sendCommand("fs", "handle-read", {
31
+ handle: this.id,
32
+ length,
33
+ encoding: "base64",
34
+ });
35
+ return Buffer.from(res.content, "base64");
36
+ }
37
+ const res = (await this.runner.runAsync("fs", "handle-read", [], {
38
+ handle: this.id,
39
+ length,
40
+ }));
41
+ return Buffer.from(res.content, "hex");
42
+ }
43
+ /**
44
+ * **Write to File**
45
+ * @param data - Buffer or String
46
+ */
47
+ async write(data) {
48
+ const raw = typeof data === "string" ? Buffer.from(data) : data;
49
+ if (this.ipc) {
50
+ const res = await this.ipc.sendCommand("fs", "handle-write", {
51
+ handle: this.id,
52
+ data: raw.toString("base64"),
53
+ encoding: "base64",
54
+ });
55
+ return res.n;
56
+ }
57
+ const res = (await this.runner.runAsync("fs", "handle-write", [], {
58
+ handle: this.id,
59
+ data: raw.toString("hex"),
60
+ }));
61
+ return res.n;
62
+ }
63
+ /**
64
+ * **Seek within File**
65
+ * @param offset - Position
66
+ * @param whence - 0: Start, 1: Current, 2: End
67
+ */
68
+ async seek(offset, whence = 0) {
69
+ if (this.ipc) {
70
+ const res = await this.ipc.sendCommand("fs", "handle-seek", {
71
+ handle: this.id,
72
+ offset,
73
+ whence,
74
+ });
75
+ return res.pos;
76
+ }
77
+ const res = (await this.runner.runAsync("fs", "handle-seek", [], {
78
+ handle: this.id,
79
+ offset,
80
+ whence,
81
+ }));
82
+ return res.pos;
83
+ }
84
+ /**
85
+ * **Get File Statistics**
86
+ */
87
+ async stat() {
88
+ if (this.ipc) {
89
+ return (await this.ipc.sendCommand("fs", "handle-stat", {
90
+ handle: this.id,
91
+ }));
92
+ }
93
+ return (await this.runner.runAsync("fs", "handle-stat", [], {
94
+ handle: this.id,
95
+ }));
96
+ }
97
+ /**
98
+ * **Close Handle**
99
+ */
100
+ async close() {
101
+ if (this.ipc) {
102
+ await this.ipc.sendCommand("fs", "close", { handle: this.id });
103
+ this.ipc.close();
104
+ }
105
+ else {
106
+ await this.runner.runAsync("fs", "close", [], { handle: this.id });
107
+ }
108
+ }
109
+ }
110
+
111
+ exports.FileHandle = FileHandle;
112
+ //# sourceMappingURL=FileHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileHandle.js","sources":["../../../../../src/xhsc/fs/FileHandle.ts"],"sourcesContent":[null],"names":["XHSCDirectIPC"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ 'use strict';
2
+
3
+ var net = require('node:net');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var net__namespace = /*#__PURE__*/_interopNamespaceDefault(net);
23
+
24
+ /**
25
+ * **XHSC Direct IPC Client**
26
+ *
27
+ * Provides high-performance, direct Unix socket communication with the
28
+ * XHSC background server, bypassing the overhead of process spawning.
29
+ */
30
+ class XHSCDirectIPC {
31
+ constructor(ipcPath) {
32
+ this.ipcPath = ipcPath;
33
+ this.socket = null;
34
+ }
35
+ /**
36
+ * **Connect to the IPC Server**
37
+ */
38
+ async connect() {
39
+ if (this.socket && !this.socket.destroyed)
40
+ return;
41
+ return new Promise((resolve, reject) => {
42
+ this.socket = net__namespace.connect(this.ipcPath, () => {
43
+ resolve();
44
+ });
45
+ this.socket.on("error", (err) => {
46
+ reject(err);
47
+ });
48
+ });
49
+ }
50
+ /**
51
+ * **Send a Command and Wait for Response**
52
+ */
53
+ async sendCommand(module, action, params = {}) {
54
+ await this.connect();
55
+ return new Promise((resolve, reject) => {
56
+ const timeout = setTimeout(() => {
57
+ cleanup();
58
+ reject(new Error(`IPC Command Timeout: ${module}.${action}`));
59
+ }, 5000);
60
+ const message = {
61
+ type: "CoreCommand",
62
+ payload: {
63
+ module,
64
+ action,
65
+ params,
66
+ },
67
+ };
68
+ const payload = Buffer.from(JSON.stringify(message));
69
+ const size = Buffer.alloc(4);
70
+ size.writeUInt32BE(payload.length, 0);
71
+ let buffer = Buffer.alloc(0);
72
+ const cleanup = () => {
73
+ clearTimeout(timeout);
74
+ this.socket?.removeListener("data", onData);
75
+ this.socket?.removeListener("error", onError);
76
+ this.socket?.removeListener("close", onClose);
77
+ };
78
+ const onData = (data) => {
79
+ buffer = Buffer.concat([buffer, data]);
80
+ if (buffer.length >= 4) {
81
+ const resSize = buffer.readUInt32BE(0);
82
+ if (buffer.length >= 4 + resSize) {
83
+ const resPayload = buffer.subarray(4, 4 + resSize);
84
+ cleanup();
85
+ try {
86
+ const resMsg = JSON.parse(resPayload.toString());
87
+ if (resMsg.type === "Response") {
88
+ const res = resMsg.payload;
89
+ if (res.status === "error") {
90
+ reject(new Error(res.error));
91
+ }
92
+ else {
93
+ resolve(res.data);
94
+ }
95
+ }
96
+ else {
97
+ reject(new Error("Unexpected message type: " +
98
+ resMsg.type));
99
+ }
100
+ }
101
+ catch (e) {
102
+ reject(e);
103
+ }
104
+ }
105
+ }
106
+ };
107
+ const onError = (err) => {
108
+ cleanup();
109
+ reject(err);
110
+ };
111
+ const onClose = () => {
112
+ cleanup();
113
+ reject(new Error("IPC Connection closed during command execution"));
114
+ };
115
+ this.socket.on("data", onData);
116
+ this.socket.on("error", onError);
117
+ this.socket.on("close", onClose);
118
+ this.socket.write(size);
119
+ this.socket.write(payload);
120
+ });
121
+ }
122
+ /**
123
+ * **Close Connection**
124
+ */
125
+ close() {
126
+ if (this.socket) {
127
+ this.socket.destroy();
128
+ this.socket = null;
129
+ }
130
+ }
131
+ }
132
+
133
+ exports.XHSCDirectIPC = XHSCDirectIPC;
134
+ //# sourceMappingURL=XHSCDirectIPC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XHSCDirectIPC.js","sources":["../../../../../src/xhsc/ipc/XHSCDirectIPC.ts"],"sourcesContent":[null],"names":["net"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * **ArrayUtils — XyPriss Array Utilities**
5
+ */
6
+ class ArrayUtils {
7
+ /**
8
+ * **Chunk an Array**
9
+ *
10
+ * Splits an array into sub-arrays of a fixed maximum size.
11
+ */
12
+ chunk(arr, size) {
13
+ return Array.from({ length: Math.ceil(arr.length / size) }, (_, i) => arr.slice(i * size, i * size + size));
14
+ }
15
+ /**
16
+ * **Unique Elements**
17
+ *
18
+ * Returns a new array with all duplicates removed.
19
+ */
20
+ unique(arr) {
21
+ return [...new Set(arr)];
22
+ }
23
+ /**
24
+ * **Shuffle Elements**
25
+ *
26
+ * Randomly reorders an array using the Fisher-Yates algorithm.
27
+ */
28
+ shuffle(arr) {
29
+ const newArr = [...arr];
30
+ for (let i = newArr.length - 1; i > 0; i--) {
31
+ const j = Math.floor(Math.random() * (i + 1));
32
+ [newArr[i], newArr[j]] = [newArr[j], newArr[i]];
33
+ }
34
+ return newArr;
35
+ }
36
+ /**
37
+ * **Group Elements**
38
+ *
39
+ * Groups array elements into an object based on a key-mapping function.
40
+ */
41
+ groupBy(arr, keyFn) {
42
+ return arr.reduce((acc, item) => {
43
+ const key = keyFn(item);
44
+ if (!acc[key])
45
+ acc[key] = [];
46
+ acc[key].push(item);
47
+ return acc;
48
+ }, {});
49
+ }
50
+ /**
51
+ * **Pick Random Sample**
52
+ */
53
+ sample(arr) {
54
+ if (arr.length === 0)
55
+ return undefined;
56
+ return arr[Math.floor(Math.random() * arr.length)];
57
+ }
58
+ /**
59
+ * **Flatten One Level**
60
+ */
61
+ flatten(arr) {
62
+ return arr.reduce((acc, val) => acc.concat(val), []);
63
+ }
64
+ }
65
+
66
+ exports.ArrayUtils = ArrayUtils;
67
+ //# sourceMappingURL=ArrayUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayUtils.js","sources":["../../../../../src/xhsc/utils/ArrayUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;AAEG;MACU,UAAU,CAAA;AACnB;;;;AAIG;IACI,KAAK,CAAI,GAAQ,EAAE,IAAY,EAAA;AAClC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAC7D,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CACvC;IACL;AAEA;;;;AAIG;AACI,IAAA,MAAM,CAAI,GAAQ,EAAA;QACrB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B;AAEA;;;;AAIG;AACI,IAAA,OAAO,CAAI,GAAQ,EAAA;AACtB,QAAA,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC;AACvB,QAAA,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;AACA,QAAA,OAAO,MAAM;IACjB;AAEA;;;;AAIG;IACI,OAAO,CACV,GAAQ,EACR,KAA0B,EAAA;QAE1B,OAAO,GAAG,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,IAAI,KAAI;AACV,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,gBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YAC5B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACnB,YAAA,OAAO,GAAG;QACd,CAAC,EACD,EAAyB,CAC5B;IACL;AAEA;;AAEG;AACI,IAAA,MAAM,CAAI,GAAQ,EAAA;AACrB,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS;AACtC,QAAA,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD;AAEA;;AAEG;AACI,IAAA,OAAO,CAAI,GAAU,EAAA;QACxB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACxD;AACH;;;;"}