xypriss 9.3.71 → 9.4.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 (74) hide show
  1. package/dist/cjs/src/file-upload.js +43 -45
  2. package/dist/cjs/src/file-upload.js.map +1 -1
  3. package/dist/cjs/src/index.js +2 -0
  4. package/dist/cjs/src/index.js.map +1 -1
  5. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +0 -51
  6. package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -1
  7. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +1 -45
  8. package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  9. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js +1 -1
  10. package/dist/cjs/src/middleware/built-in/security/RequestSignatureProtector.js.map +1 -1
  11. package/dist/cjs/src/middleware/security-middleware.js +0 -52
  12. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  13. package/dist/cjs/src/plugins/PluginManager.js +1 -1
  14. package/dist/cjs/src/quick-start.js +1 -1
  15. package/dist/cjs/src/server/FastServer.js +5 -5
  16. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js +113 -85
  17. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js.map +1 -1
  18. package/dist/cjs/src/server/const/XHSC_SIGNATURE.js +7 -0
  19. package/dist/cjs/src/server/const/XHSC_SIGNATURE.js.map +1 -0
  20. package/dist/cjs/src/server/core/XHSCBridge.js +66 -6
  21. package/dist/cjs/src/server/core/XHSCBridge.js.map +1 -1
  22. package/dist/cjs/src/server/core/XHSCProtocol.js +44 -7
  23. package/dist/cjs/src/server/core/XHSCProtocol.js.map +1 -1
  24. package/dist/cjs/src/server/core/XyprissApp.js +2 -2
  25. package/dist/cjs/src/sys/FSApi.js +232 -36
  26. package/dist/cjs/src/sys/FSApi.js.map +1 -1
  27. package/dist/cjs/src/sys/PathApi.js +63 -0
  28. package/dist/cjs/src/sys/PathApi.js.map +1 -1
  29. package/dist/cjs/src/sys/SysApi.js +26 -43
  30. package/dist/cjs/src/sys/SysApi.js.map +1 -1
  31. package/dist/cjs/src/sys/XyPrissRunner.js +40 -65
  32. package/dist/cjs/src/sys/XyPrissRunner.js.map +1 -1
  33. package/dist/cjs/src/sys.js +0 -15
  34. package/dist/cjs/src/sys.js.map +1 -1
  35. package/dist/cjs/src/utils/getIp.js +164 -0
  36. package/dist/cjs/src/utils/getIp.js.map +1 -0
  37. package/dist/esm/src/file-upload.js +43 -45
  38. package/dist/esm/src/file-upload.js.map +1 -1
  39. package/dist/esm/src/index.js +1 -0
  40. package/dist/esm/src/index.js.map +1 -1
  41. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +0 -51
  42. package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -1
  43. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +1 -45
  44. package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
  45. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js +1 -1
  46. package/dist/esm/src/middleware/built-in/security/RequestSignatureProtector.js.map +1 -1
  47. package/dist/esm/src/middleware/security-middleware.js +0 -52
  48. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  49. package/dist/esm/src/plugins/PluginManager.js +1 -1
  50. package/dist/esm/src/quick-start.js +1 -1
  51. package/dist/esm/src/server/FastServer.js +5 -5
  52. package/dist/esm/src/server/components/fastapi/FileUploadManager.js +113 -85
  53. package/dist/esm/src/server/components/fastapi/FileUploadManager.js.map +1 -1
  54. package/dist/esm/src/server/const/XHSC_SIGNATURE.js +5 -0
  55. package/dist/esm/src/server/const/XHSC_SIGNATURE.js.map +1 -0
  56. package/dist/esm/src/server/core/XHSCBridge.js +66 -6
  57. package/dist/esm/src/server/core/XHSCBridge.js.map +1 -1
  58. package/dist/esm/src/server/core/XHSCProtocol.js +44 -7
  59. package/dist/esm/src/server/core/XHSCProtocol.js.map +1 -1
  60. package/dist/esm/src/server/core/XyprissApp.js +2 -2
  61. package/dist/esm/src/sys/FSApi.js +232 -36
  62. package/dist/esm/src/sys/FSApi.js.map +1 -1
  63. package/dist/esm/src/sys/PathApi.js +63 -0
  64. package/dist/esm/src/sys/PathApi.js.map +1 -1
  65. package/dist/esm/src/sys/SysApi.js +26 -43
  66. package/dist/esm/src/sys/SysApi.js.map +1 -1
  67. package/dist/esm/src/sys/XyPrissRunner.js +40 -65
  68. package/dist/esm/src/sys/XyPrissRunner.js.map +1 -1
  69. package/dist/esm/src/sys.js +0 -15
  70. package/dist/esm/src/sys.js.map +1 -1
  71. package/dist/esm/src/utils/getIp.js +162 -0
  72. package/dist/esm/src/utils/getIp.js.map +1 -0
  73. package/dist/index.d.ts +345 -104
  74. package/package.json +34 -39
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var xyprissSecurity = require('xypriss-security');
3
4
  var Logger = require('../../shared/logger/Logger.js');
4
5
  var PathApi = require('./PathApi.js');
5
6
 
@@ -103,33 +104,32 @@ class FSApi extends PathApi.PathApi {
103
104
  * // Reading a binary file signature
104
105
  * const header = __sys__.$read("assets/logo.png", { bytes: true });
105
106
  */
106
- this.$read = (p, options = {}) => this.runner.runSync("fs", "read", [p], options);
107
+ this.$read = (p, options = {}) => {
108
+ const res = this.runner.runSync("fs", "read", [p], options);
109
+ return res?.data !== undefined ? res.data : res;
110
+ };
107
111
  /**
108
- * **Write File Content ($write)**
112
+ * **Write File ($writeFile)**
109
113
  *
110
- * Writes data to a file. This method replaces the file if it already exists, unless
111
- * the `append` option is true. It ensures atomic writes where possible to prevent
112
- * partial file corruption.
114
+ * Writes flexible data to a file. This method replaces the file if it already exists, unless
115
+ * the `append` option is true. Supports Buffers, plain objects (auto-JSON), arrays, and primitives.
116
+ * It ensures atomic writes where possible to prevent partial file corruption.
113
117
  *
114
118
  * @param {string} p - The destination file path.
115
- * @param {string} data - The string data to write.
119
+ * @param {any} data - The data to write.
116
120
  * @param {Object} [options] - Write options.
117
121
  * @param {boolean} [options.append=false] - If true, adds data to the end of the file instead of overwriting.
118
122
  * @returns {void}
119
123
  *
120
124
  * @example
121
- * // writing a new file
122
- * __sys__.$write("notes.txt", "Important meeting at 10 AM");
123
- *
124
- * @example
125
- * // Appending to a log file
126
- * __sys__.$write("server.log", "[INFO] Startup ok\n", { append: true });
125
+ * // writing a new file with text
126
+ * __sys__.$writeFile("notes.txt", "Important meeting at 10 AM");
127
127
  *
128
128
  * @example
129
- * // Writing to a nested path that may not exist yet
130
- * __sys__.$write("data/cache/state.json", JSON.stringify(state));
129
+ * // Writing a JSON object directly
130
+ * __sys__.$writeFile("data.json", { user: "admin", active: true });
131
131
  */
132
- this.$write = (p, data, options = {}) => {
132
+ this.$writeFile = (p, data, options = {}) => {
133
133
  const { ensureFile = true } = options;
134
134
  if (ensureFile) {
135
135
  // Ensure parent directory exists before writing
@@ -140,7 +140,17 @@ class FSApi extends PathApi.PathApi {
140
140
  fs.mkdirSync(dir, { recursive: true });
141
141
  }
142
142
  }
143
- this.runner.runSync("fs", "write", [p, data], options);
143
+ let writeData = "";
144
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) {
145
+ writeData = data.toString("utf8");
146
+ }
147
+ else if (typeof data === "object" && data !== null) {
148
+ writeData = xyprissSecurity.XStringify(data);
149
+ }
150
+ else {
151
+ writeData = String(data);
152
+ }
153
+ this.runner.runSync("fs", "write", [p, writeData], options);
144
154
  };
145
155
  /**
146
156
  * **Copy File or Directory ($copy)**
@@ -512,19 +522,6 @@ class FSApi extends PathApi.PathApi {
512
522
  return defaultValue;
513
523
  }
514
524
  };
515
- /**
516
- * **Write String to File ($writeFile)**
517
- *
518
- * A clearly named alias for writing string content to a file.
519
- *
520
- * @param {string} p - File path.
521
- * @param {string} data - Content to write.
522
- *
523
- * @example
524
- * // Writing a simple text file
525
- * __sys__.$writeFile("hello.txt", "Hello World");
526
- */
527
- this.$writeFile = (p, data) => this.$write(p, data);
528
525
  /**
529
526
  * **Write Object to JSON File ($writeJson)**
530
527
  *
@@ -539,7 +536,7 @@ class FSApi extends PathApi.PathApi {
539
536
  * // Saving application state
540
537
  * __sys__.$writeJson("state.json", { status: "active", uptime: 1234 });
541
538
  */
542
- this.$writeJson = (p, data) => this.$write(p, JSON.stringify(data, null, 2));
539
+ this.$writeJson = (p, data) => this.$writeFile(p, data);
543
540
  /**
544
541
  * **Check Existence ($exists)**
545
542
  *
@@ -675,10 +672,10 @@ class FSApi extends PathApi.PathApi {
675
672
  * Appends data to the end of a file.
676
673
  *
677
674
  * @param {string} p - File path.
678
- * @param {string} data - Content to append.
675
+ * @param {any} data - Content to append.
679
676
  */
680
677
  this.$append = (p, data) => {
681
- this.$write(p, data, { append: true });
678
+ this.$writeFile(p, data, { append: true });
682
679
  };
683
680
  /**
684
681
  * **Append Line ($appendLine)**
@@ -686,10 +683,10 @@ class FSApi extends PathApi.PathApi {
686
683
  * Appends a string followed by a platform-specific newline to a file.
687
684
  *
688
685
  * @param {string} p - File path.
689
- * @param {string} line - Line content.
686
+ * @param {any} line - Line content.
690
687
  */
691
688
  this.$appendLine = (p, line) => {
692
- this.$write(p, line + "\n", { append: true });
689
+ this.$writeFile(p, String(line) + "\n", { append: true });
693
690
  };
694
691
  /**
695
692
  * **Write If Not Exists ($writeIfNotExists)**
@@ -697,13 +694,13 @@ class FSApi extends PathApi.PathApi {
697
694
  * Writes to a file only if it does not already exist.
698
695
  *
699
696
  * @param {string} p - File path.
700
- * @param {string} data - Content to write.
697
+ * @param {any} data - Content to write.
701
698
  * @returns {boolean} `true` if written, `false` if file already existed.
702
699
  */
703
700
  this.$writeIfNotExists = (p, data) => {
704
701
  if (this.$exists(p))
705
702
  return false;
706
- this.$write(p, data);
703
+ this.$writeFile(p, data);
707
704
  return true;
708
705
  };
709
706
  // ===================================
@@ -1096,6 +1093,205 @@ class FSApi extends PathApi.PathApi {
1096
1093
  * Alias for `$watchContent` with multiple paths.
1097
1094
  */
1098
1095
  this.$watchContentParallel = this.$watchContent;
1096
+ // ===================================
1097
+ // ULTRA-POWERFUL FILE MANAGEMENT APIs
1098
+ // ===================================
1099
+ /**
1100
+ * **Atomic Write ($atomicWrite)**
1101
+ *
1102
+ * Writes data to a temporary file first, and then atomically renames it over the target file.
1103
+ * This guarantees that the target file is never in a partially written or corrupted state,
1104
+ * even if the process crashes or power is lost during the write.
1105
+ *
1106
+ * @param {string} p - The destination file path.
1107
+ * @param {any} data - The data to write.
1108
+ * @param {Object} [options] - Options (e.g., ensureFile).
1109
+ */
1110
+ this.$atomicWrite = (p, data, options = {}) => {
1111
+ let writeData = "";
1112
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) {
1113
+ writeData = data.toString("utf8");
1114
+ }
1115
+ else if (typeof data === "object" && data !== null) {
1116
+ // @ts-ignore XStringify is imported at top
1117
+ writeData = xyprissSecurity.XStringify(data);
1118
+ }
1119
+ else {
1120
+ writeData = String(data);
1121
+ }
1122
+ this.runner.runSync("fs", "atomic-write", [p, writeData], options);
1123
+ };
1124
+ /**
1125
+ * **Secure Shred ($shred)**
1126
+ *
1127
+ * Securely deletes a file from disk by overwriting its contents with random cryptographic
1128
+ * noise multiple times before unlinking it, preventing data recovery tools from restoring the file.
1129
+ *
1130
+ * @param {string} p - The file path to shred.
1131
+ * @param {number} [passes=3] - The number of overwrite passes (default: 3).
1132
+ */
1133
+ this.$shred = (p, passes = 3) => {
1134
+ this.runner.runSync("fs", "shred", [p], { passes });
1135
+ };
1136
+ /**
1137
+ * **Tail File ($tail)**
1138
+ *
1139
+ * Efficiently reads the last `lines` of a file without loading the entire file into memory.
1140
+ * Ideal for grabbing the end of massive log files.
1141
+ *
1142
+ * @param {string} p - The file path.
1143
+ * @param {number} [lines=10] - Number of lines to return from the end of the file.
1144
+ * @returns {string[]} An array of strings representing the last lines.
1145
+ */
1146
+ this.$tail = (p, lines = 10) => {
1147
+ return this.runner.runSync("fs", "tail", [p], { lines });
1148
+ };
1149
+ /**
1150
+ * **Inline Patch ($patch)**
1151
+ *
1152
+ * Finds and replaces a string or regex directly inside a file. If the file is extremely large,
1153
+ * this implementation buffers it safely rather than causing memory overflows.
1154
+ *
1155
+ * @param {string} p - The file path.
1156
+ * @param {string|RegExp} searchValue - The value to find.
1157
+ * @param {string} replaceValue - The value to replace it with.
1158
+ * @returns {boolean} True if changes were made.
1159
+ */
1160
+ this.$patch = (p, searchValue, replaceValue) => {
1161
+ const searchStr = searchValue instanceof RegExp ? searchValue.source : searchValue;
1162
+ const res = this.runner.runSync("fs", "patch", [
1163
+ p,
1164
+ searchStr,
1165
+ replaceValue,
1166
+ ]);
1167
+ return res?.changed || false;
1168
+ };
1169
+ /**
1170
+ * **Split File ($split)**
1171
+ *
1172
+ * Fractures a large file into smaller sequential pieces based on exact byte chunks.
1173
+ * Useful for breaking up large SQL dumps, logs, or backups for transport.
1174
+ *
1175
+ * @param {string} p - The file to split.
1176
+ * @param {number} bytesPerChunk - Maximum bytes per split chunk.
1177
+ * @param {string} [outDir] - Directory to put the chunks. Defaults to the source file's directory.
1178
+ * @returns {string[]} Array of created chunk file paths.
1179
+ */
1180
+ this.$split = (p, bytesPerChunk, outDir) => {
1181
+ return this.runner.runSync("fs", "split", [p], {
1182
+ bytes: bytesPerChunk,
1183
+ out: outDir || "",
1184
+ });
1185
+ };
1186
+ /**
1187
+ * **Merge Files ($merge)**
1188
+ *
1189
+ * Safely binary-concatenates an array of source files into a single destination file.
1190
+ * Useful for reconnecting files split by `$split`.
1191
+ *
1192
+ * @param {string[]} sourceFiles - Array of file paths to merge in order.
1193
+ * @param {string} destFile - The destination file to create.
1194
+ */
1195
+ this.$merge = (sourceFiles, destFile) => {
1196
+ this.runner.runSync("fs", "merge", [destFile, ...sourceFiles]);
1197
+ };
1198
+ /**
1199
+ * **Lock File ($lock) & ($unlock)**
1200
+ *
1201
+ * Provides a rudimentary file lock mechanism by creating an exclusive `.lock` file
1202
+ * alongside the target. Ensures atomic process cross-synchronization for shared file resources.
1203
+ *
1204
+ * @param {string} p - File path to lock.
1205
+ * @returns {boolean} True if the lock was successfully acquired.
1206
+ */
1207
+ this.$lock = (p) => {
1208
+ const res = this.runner.runSync("fs", "lock", [p]);
1209
+ return res?.locked || false;
1210
+ };
1211
+ /**
1212
+ * **Unlock File ($unlock)**
1213
+ *
1214
+ * Releases a previously acquired lock for a file.
1215
+ *
1216
+ * @param {string} p - File path that was locked.
1217
+ */
1218
+ this.$unlock = (p) => {
1219
+ this.runner.runSync("fs", "unlock", [p]);
1220
+ };
1221
+ /**
1222
+ * **Write Secure ($writeSecure)**
1223
+ *
1224
+ * Atomically writes a file with specific Unix permissions. This prevents the
1225
+ * fraction-of-a-second race condition vulnerability of creating a file and then
1226
+ * changing its permissions with $chmod.
1227
+ *
1228
+ * @param {string} p - The destination file path.
1229
+ * @param {any} data - The data to write.
1230
+ * @param {string} mode - Octal permission string (e.g. "0600").
1231
+ */
1232
+ this.$writeSecure = (p, data, mode) => {
1233
+ let writeData = "";
1234
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) {
1235
+ writeData = data.toString("utf8");
1236
+ }
1237
+ else if (typeof data === "object" && data !== null) {
1238
+ // @ts-ignore XStringify is imported at top
1239
+ writeData = xyprissSecurity.XStringify(data);
1240
+ }
1241
+ else {
1242
+ writeData = String(data);
1243
+ }
1244
+ this.runner.runSync("fs", "write-secure", [p, writeData], { mode });
1245
+ };
1246
+ /**
1247
+ * **Encrypt File ($encrypt)**
1248
+ *
1249
+ * Encrypts a file in-place using AES-256-GCM.
1250
+ *
1251
+ * @param {string} p - The file path to encrypt.
1252
+ * @param {string} key - A string key (hashed internally to 256-bit).
1253
+ */
1254
+ this.$encrypt = (p, key) => {
1255
+ this.runner.runSync("fs", "encrypt", [p], { key });
1256
+ };
1257
+ /**
1258
+ * **Decrypt File ($decrypt)**
1259
+ *
1260
+ * Decrypts a previously encrypted file in-place using AES-256-GCM.
1261
+ *
1262
+ * @param {string} p - The file path to decrypt.
1263
+ * @param {string} key - The exact string key used for encryption.
1264
+ */
1265
+ this.$decrypt = (p, key) => {
1266
+ this.runner.runSync("fs", "decrypt", [p], { key });
1267
+ };
1268
+ /**
1269
+ * **Diff Files ($diffFiles)**
1270
+ *
1271
+ * Quickly compares two files line-by-line using the Go engine and returns the exact mismatches.
1272
+ *
1273
+ * @param {string} fileA - First file path.
1274
+ * @param {string} fileB - Second file path.
1275
+ * @returns {Array<{line: number, file_a: string, file_b: string}>} Array of differing lines.
1276
+ */
1277
+ this.$diffFiles = (fileA, fileB) => {
1278
+ return this.runner.runSync("fs", "diff-files", [fileA, fileB]);
1279
+ };
1280
+ /**
1281
+ * **Top Big Files ($topBigFiles)**
1282
+ *
1283
+ * Scans a directory structure in Go and returns the N largest files, sorted by size.
1284
+ * Perfect for disk space analysis dashboards.
1285
+ *
1286
+ * @param {string} dir - Directory to scan.
1287
+ * @param {number} [limit=50] - Number of top files to return.
1288
+ * @returns {Array<{path: string, size: number}>} Array of file paths and sizes.
1289
+ */
1290
+ this.$topBigFiles = (dir, limit = 50) => {
1291
+ return this.runner.runSync("fs", "top-big-files", [dir], {
1292
+ limit,
1293
+ });
1294
+ };
1099
1295
  this.logger = new Logger.Logger();
1100
1296
  }
1101
1297
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FSApi.js","sources":["../../../../src/sys/FSApi.ts"],"sourcesContent":[null],"names":["PathApi","Logger"],"mappings":"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"}
1
+ {"version":3,"file":"FSApi.js","sources":["../../../../src/sys/FSApi.ts"],"sourcesContent":[null],"names":["PathApi","XStringify","Logger"],"mappings":"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"}
@@ -194,6 +194,69 @@ class PathApi extends BaseApi {
194
194
  * console.log(clean); // -> "/users/john/images"
195
195
  */
196
196
  this.$normalize = (p) => this.runner.runSync("path", "normalize", [p]);
197
+ /**
198
+ * **Check Child Path Relationship**
199
+ *
200
+ * Determines if a given `child` path is strictly contained within a `parent` directory.
201
+ * This is a critical security utility for verifying that file operations remain
202
+ * within authorized boundaries.
203
+ *
204
+ * @param {string} parent - The expected parent directory.
205
+ * @param {string} child - The path to check.
206
+ * @returns {boolean} True if child is inside parent.
207
+ */
208
+ this.$isChild = (parent, child) => this.runner.runSync("path", "is-child", [parent, child]);
209
+ /**
210
+ * **Secure Path Join**
211
+ *
212
+ * Joins path segments and ensures the result is strictly within the `base` path.
213
+ * If the resulting path attempts to escape via traversal (e.g., `../`), it
214
+ * throws a security error or returns a safe path.
215
+ *
216
+ * @param {string} base - The root/base directory.
217
+ * @param {...string[]} segments - The segments to join.
218
+ * @returns {string} The joined, safe path.
219
+ */
220
+ this.$secureJoin = (base, ...segments) => this.runner.runSync("path", "secure-join", [base, ...segments]);
221
+ /**
222
+ * **Get Comprehensive Path Metadata**
223
+ *
224
+ * Returns a structured object containing directory, base name, extension,
225
+ * filename without extension, and absolute status - all in a single high-speed call.
226
+ *
227
+ * @param {string} p - The path to evaluate.
228
+ * @returns {object} Metadata object: { dir, base, ext, name, isAbsolute }
229
+ */
230
+ this.$metadata = (p) => this.runner.runSync("path", "metadata", [p]);
231
+ /**
232
+ * **Convert to Namespaced Path**
233
+ *
234
+ * Converts the path to a platform-specific namespaced path (e.g., UNC on Windows).
235
+ * This is essential for handling extremely long paths or network shares natively.
236
+ *
237
+ * @param {string} p - The path to convert.
238
+ * @returns {string} The namespaced path.
239
+ */
240
+ this.$toNamespacedPath = (p) => this.runner.runSync("path", "to-namespaced", [p]);
241
+ /**
242
+ * **Normalize Separators**
243
+ *
244
+ * Standardizes all path separators (`/` or `\`) to the current operating system's
245
+ * primary separator format.
246
+ *
247
+ * @param {string} p - The path to handle.
248
+ * @returns {string} The path with uniform separators.
249
+ */
250
+ this.$normalizeSeparators = (p) => this.runner.runSync("path", "normalize-separators", [p]);
251
+ /**
252
+ * **Identify Common Base Directory**
253
+ *
254
+ * Analyzes multiple paths and returns the deepest common directory shared by all.
255
+ *
256
+ * @param {...string[]} paths - Multiple paths to analyze.
257
+ * @returns {string} The shared parent directory.
258
+ */
259
+ this.$commonBase = (...paths) => this.runner.runSync("path", "common-base", paths);
197
260
  }
198
261
  }
199
262
 
@@ -1 +1 @@
1
- {"version":3,"file":"PathApi.js","sources":["../../../../src/sys/PathApi.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BiF;AAIjF;;;;;;AAMG;MACU,OAAO,CAAA;AAChB;;;AAGG;AACH,IAAA,WAAA,CAAsB,MAAqB,EAAA;QAArB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAkB;AACjD;AAED;;;;;;;;;;;;;;;AAeG;AACG,MAAO,OAAQ,SAAQ,OAAO,CAAA;AAApC,IAAA,WAAA,GAAA;;AACI;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAG,KAAe,KACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;AAEjD;;;;;;;;;;;;;;;AAeG;AACI,QAAA,IAAA,CAAA,KAAK,GAAG,CAAC,GAAG,KAAe,KAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AAE9C;;;;;;;;;;;;;AAaG;QACI,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAS,KACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;AAoBG;AACI,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,CAAS,EAAE,MAAe,KAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;;;;AAiBG;QACI,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAS,KACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAE/C;;;;;;;;;;;;;;;AAeG;QACI,IAAA,CAAA,SAAS,GAAG,CAAC,IAAY,EAAE,EAAU,KACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;AAcG;QACI,IAAA,CAAA,UAAU,GAAG,CAAC,CAAS,KAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD;AAAC;;;;;"}
1
+ {"version":3,"file":"PathApi.js","sources":["../../../../src/sys/PathApi.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -72,30 +72,6 @@ class SysApi extends FSApi.FSApi {
72
72
  const cacheKey = `sys:info:${extended}`;
73
73
  return this.cache.get(cacheKey, () => this.runner.runSync("sys", "info", [], { extended }), 300000);
74
74
  };
75
- /**
76
- * **Get CPU Statistics**
77
- *
78
- * Retrieves detailed CPU information. Returns an array of core stats if `cores`
79
- * is true, or a global usage summary object if `cores` is false.
80
- *
81
- * @param {boolean} [cores=false] - If true, returns detailed per-core info.
82
- * @returns {CpuUsage | CpuInfo[]} Global usage stats or array of core details.
83
- *
84
- * @example
85
- * // Simple usage check
86
- * const cpu = __sys__.$cpu() as CpuUsage;
87
- * console.log(`Load: ${cpu.overall}%`);
88
- *
89
- * @example
90
- * // Detailed Core Info
91
- * const cores = __sys__.$cpu(true) as CpuInfo[];
92
- * console.log(`Core 0 Speed: ${cores[0].frequency} MHz`);
93
- */
94
- this.$cpu = (cores = false) => {
95
- const cacheKey = `sys:cpu:${cores}`;
96
- // TODO: Future integration with XHSC core metrics
97
- return this.cache.get(cacheKey, () => this.runner.runSync("sys", "cpu", [], { cores }), 100);
98
- };
99
75
  /**
100
76
  * **Get Memory Usage**
101
77
  *
@@ -120,25 +96,6 @@ class SysApi extends FSApi.FSApi {
120
96
  const cacheKey = "sys:memory";
121
97
  return this.cache.get(cacheKey, () => this.runner.runSync("sys", "memory", [], { watch }), 100);
122
98
  };
123
- /**
124
- * **Get Mounted Disks**
125
- *
126
- * Lists all mounted filesystems across the host.
127
- * Returns capacity, used space, mount point, and filesystem type for each disk.
128
- *
129
- * @param {string} [mount] - Optional filter to get stats for a specific mount point (e.g., "/").
130
- * @returns {DiskInfo[]} An array of disk objects.
131
- *
132
- * @example
133
- * // finding low disk space
134
- * const disks = __sys__.$disks();
135
- * disks.forEach(d => {
136
- * if (d.available_space < 1024 * 1024 * 1024) { // < 1GB
137
- * console.warn(`Low space on ${d.mount_point}`);
138
- * }
139
- * });
140
- */
141
- this.$disks = (mount) => this.runner.runSync("sys", "disks", [], { mount });
142
99
  /**
143
100
  * **Get Network Interfaces**
144
101
  *
@@ -377,6 +334,25 @@ class SysApi extends FSApi.FSApi {
377
334
  */
378
335
  this.$battery = () => this.runner.runSync("sys", "battery");
379
336
  }
337
+ $cpu(cores = false) {
338
+ const cacheKey = `sys:cpu:${cores}`;
339
+ // TODO: Future integration with XHSC core metrics
340
+ return this.cache.get(cacheKey, () => {
341
+ const results = this.runner.runSync("sys", "cpu", []);
342
+ if (cores)
343
+ return results;
344
+ let totalUsage = 0;
345
+ const per_core = results.map((c) => {
346
+ totalUsage += c.usage;
347
+ return c.usage;
348
+ });
349
+ return {
350
+ overall: results.length ? totalUsage / results.length : 0,
351
+ per_core,
352
+ timestamp: Date.now(),
353
+ };
354
+ }, 100);
355
+ }
380
356
  /**
381
357
  * **Get Hardware Telemetry**
382
358
  *
@@ -417,6 +393,13 @@ class SysApi extends FSApi.FSApi {
417
393
  get hdw() {
418
394
  return this.$hardware;
419
395
  }
396
+ $disks(mount) {
397
+ const disks = this.runner.runSync("sys", "disks", []);
398
+ if (mount) {
399
+ return disks.find((d) => d.mount_point === mount);
400
+ }
401
+ return disks;
402
+ }
420
403
  }
421
404
 
422
405
  exports.SysApi = SysApi;
@@ -1 +1 @@
1
- {"version":3,"file":"SysApi.js","sources":["../../../../src/sys/SysApi.ts"],"sourcesContent":[null],"names":["FSApi","XyPrissCache"],"mappings":"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"}
1
+ {"version":3,"file":"SysApi.js","sources":["../../../../src/sys/SysApi.ts"],"sourcesContent":[null],"names":["FSApi","XyPrissCache"],"mappings":"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"}