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.
- package/README.md +55 -22
- package/dist/cjs/src/index.js +0 -19
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +4 -4
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js +510 -0
- package/dist/cjs/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
- package/dist/cjs/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
- package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js +413 -0
- package/dist/cjs/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js +98 -0
- package/dist/cjs/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js +52 -0
- package/dist/cjs/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
- package/dist/cjs/src/middleware/safe-json-middleware.js +0 -82
- package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +7 -4
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
- package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
- package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js +34 -3
- package/dist/cjs/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
- package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
- package/dist/cjs/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
- package/dist/cjs/src/plugins/const/XyprissTempDir.js +72 -9
- package/dist/cjs/src/plugins/const/XyprissTempDir.js.map +1 -1
- package/dist/cjs/src/plugins/core/manager/PluginLoader.js +8 -0
- package/dist/cjs/src/plugins/core/manager/PluginLoader.js.map +1 -1
- package/dist/cjs/src/plugins/core/manager/PluginSecurity.js +87 -0
- package/dist/cjs/src/plugins/core/manager/PluginSecurity.js.map +1 -1
- package/dist/cjs/src/server/FastServer/index.js +5 -0
- package/dist/cjs/src/server/FastServer/index.js.map +1 -1
- package/dist/cjs/src/server/ServerFactory.js +8 -13
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/RedirectManager.js +8 -58
- package/dist/cjs/src/server/components/fastapi/RedirectManager.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
- package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
- package/dist/cjs/src/server/components/multi-server/MultiServerManager.js +9 -1
- package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +22 -0
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js +33 -2
- package/dist/cjs/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/cjs/src/server/core/XyServerCreator.js +1 -0
- package/dist/cjs/src/server/core/XyServerCreator.js.map +1 -1
- package/dist/cjs/src/shared/logger/quickLogger.js +162 -0
- package/dist/cjs/src/shared/logger/quickLogger.js.map +1 -0
- package/dist/cjs/src/xhsc/PathApi.js +44 -3
- package/dist/cjs/src/xhsc/PathApi.js.map +1 -1
- package/dist/cjs/src/xhsc/System.js +2 -0
- package/dist/cjs/src/xhsc/System.js.map +1 -1
- package/dist/cjs/src/xhsc/UtilsApi.js +52 -0
- package/dist/cjs/src/xhsc/UtilsApi.js.map +1 -0
- package/dist/cjs/src/xhsc/XyPrissRunner.js +30 -2
- package/dist/cjs/src/xhsc/XyPrissRunner.js.map +1 -1
- package/dist/cjs/src/xhsc/fs/FSCore.js +148 -0
- package/dist/cjs/src/xhsc/fs/FSCore.js.map +1 -1
- package/dist/cjs/src/xhsc/fs/FileHandle.js +112 -0
- package/dist/cjs/src/xhsc/fs/FileHandle.js.map +1 -0
- package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js +134 -0
- package/dist/cjs/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/ArrayUtils.js +67 -0
- package/dist/cjs/src/xhsc/utils/ArrayUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/AsyncUtils.js +582 -0
- package/dist/cjs/src/xhsc/utils/AsyncUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/DateUtils.js +959 -0
- package/dist/cjs/src/xhsc/utils/DateUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/FunctionUtils.js +29 -0
- package/dist/cjs/src/xhsc/utils/FunctionUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/IdUtils.js +22 -0
- package/dist/cjs/src/xhsc/utils/IdUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/NumberUtils.js +79 -0
- package/dist/cjs/src/xhsc/utils/NumberUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/ObjectUtils.js +141 -0
- package/dist/cjs/src/xhsc/utils/ObjectUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/StringUtils.js +145 -0
- package/dist/cjs/src/xhsc/utils/StringUtils.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/ValidationUtils.js +49 -0
- package/dist/cjs/src/xhsc/utils/ValidationUtils.js.map +1 -0
- package/dist/cjs/src/xhsc.js +5 -3
- package/dist/cjs/src/xhsc.js.map +1 -1
- package/dist/esm/src/index.js +0 -2
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +4 -4
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js +508 -0
- package/dist/esm/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
- package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js +113 -34
- package/dist/esm/src/middleware/built-in/security/SQLInjectionDetector.js.map +1 -1
- package/dist/esm/src/middleware/built-in/security/UriNormalizer.js +391 -0
- package/dist/esm/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
- package/dist/esm/src/middleware/built-in/security/XyPrissCors.js +96 -0
- package/dist/esm/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
- package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js +50 -0
- package/dist/esm/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
- package/dist/esm/src/middleware/safe-json-middleware.js +1 -79
- package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +7 -4
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js +33 -10
- package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
- package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js +34 -3
- package/dist/esm/src/plugins/builtin/xems/XemsPlugin.js.map +1 -1
- package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js +1 -1
- package/dist/esm/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -1
- package/dist/esm/src/plugins/const/XyprissTempDir.js +70 -9
- package/dist/esm/src/plugins/const/XyprissTempDir.js.map +1 -1
- package/dist/esm/src/plugins/core/manager/PluginLoader.js +8 -0
- package/dist/esm/src/plugins/core/manager/PluginLoader.js.map +1 -1
- package/dist/esm/src/plugins/core/manager/PluginSecurity.js +87 -0
- package/dist/esm/src/plugins/core/manager/PluginSecurity.js.map +1 -1
- package/dist/esm/src/server/FastServer/index.js +5 -0
- package/dist/esm/src/server/FastServer/index.js.map +1 -1
- package/dist/esm/src/server/ServerFactory.js +8 -1
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/RedirectManager.js +8 -58
- package/dist/esm/src/server/components/fastapi/RedirectManager.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +1 -1
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
- package/dist/esm/src/server/components/multi-server/MultiServerManager.js +9 -1
- package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +22 -0
- package/dist/esm/src/server/core/HttpServer.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/EngineManager.js +33 -2
- package/dist/esm/src/server/core/XHSCBridge/EngineManager.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/esm/src/server/core/XyServerCreator.js +1 -0
- package/dist/esm/src/server/core/XyServerCreator.js.map +1 -1
- package/dist/esm/src/shared/logger/quickLogger.js +160 -0
- package/dist/esm/src/shared/logger/quickLogger.js.map +1 -0
- package/dist/esm/src/xhsc/PathApi.js +44 -3
- package/dist/esm/src/xhsc/PathApi.js.map +1 -1
- package/dist/esm/src/xhsc/System.js +2 -0
- package/dist/esm/src/xhsc/System.js.map +1 -1
- package/dist/esm/src/xhsc/UtilsApi.js +50 -0
- package/dist/esm/src/xhsc/UtilsApi.js.map +1 -0
- package/dist/esm/src/xhsc/XyPrissRunner.js +30 -2
- package/dist/esm/src/xhsc/XyPrissRunner.js.map +1 -1
- package/dist/esm/src/xhsc/fs/FSCore.js +148 -0
- package/dist/esm/src/xhsc/fs/FSCore.js.map +1 -1
- package/dist/esm/src/xhsc/fs/FileHandle.js +110 -0
- package/dist/esm/src/xhsc/fs/FileHandle.js.map +1 -0
- package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js +113 -0
- package/dist/esm/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
- package/dist/esm/src/xhsc/utils/ArrayUtils.js +65 -0
- package/dist/esm/src/xhsc/utils/ArrayUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/AsyncUtils.js +580 -0
- package/dist/esm/src/xhsc/utils/AsyncUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/DateUtils.js +957 -0
- package/dist/esm/src/xhsc/utils/DateUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/FunctionUtils.js +27 -0
- package/dist/esm/src/xhsc/utils/FunctionUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/IdUtils.js +20 -0
- package/dist/esm/src/xhsc/utils/IdUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/NumberUtils.js +77 -0
- package/dist/esm/src/xhsc/utils/NumberUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/ObjectUtils.js +139 -0
- package/dist/esm/src/xhsc/utils/ObjectUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/StringUtils.js +143 -0
- package/dist/esm/src/xhsc/utils/StringUtils.js.map +1 -0
- package/dist/esm/src/xhsc/utils/ValidationUtils.js +47 -0
- package/dist/esm/src/xhsc/utils/ValidationUtils.js.map +1 -0
- package/dist/esm/src/xhsc.js +6 -5
- package/dist/esm/src/xhsc.js.map +1 -1
- package/dist/index.d.ts +1872 -234
- package/package.json +119 -137
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"System.js","sources":["../../../../src/xhsc/System.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
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
|
-
|
|
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
|
-
|
|
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":"
|
|
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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"}
|