xypriss 9.10.0 → 9.10.2
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/dist/cjs/src/plugins/api/PluginAPI.js +87 -1
- package/dist/cjs/src/plugins/api/PluginAPI.js.map +1 -1
- package/dist/cjs/src/xhsc/XyPrissRunner.js +21 -67
- package/dist/cjs/src/xhsc/XyPrissRunner.js.map +1 -1
- package/dist/cjs/src/xhsc/utils/Discovery.js +114 -0
- package/dist/cjs/src/xhsc/utils/Discovery.js.map +1 -0
- package/dist/cjs/src/xhsc/utils/Platform.js +51 -0
- package/dist/cjs/src/xhsc/utils/Platform.js.map +1 -0
- package/dist/esm/src/plugins/api/PluginAPI.js +87 -1
- package/dist/esm/src/plugins/api/PluginAPI.js.map +1 -1
- package/dist/esm/src/xhsc/XyPrissRunner.js +21 -66
- package/dist/esm/src/xhsc/XyPrissRunner.js.map +1 -1
- package/dist/esm/src/xhsc/utils/Discovery.js +111 -0
- package/dist/esm/src/xhsc/utils/Discovery.js.map +1 -0
- package/dist/esm/src/xhsc/utils/Platform.js +49 -0
- package/dist/esm/src/xhsc/utils/Platform.js.map +1 -0
- package/dist/index.d.ts +17 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var PluginHookIds = require('../const/PluginHookIds.js');
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Plugin API
|
|
5
7
|
* Public API for plugin management as documented in PLUGIN_SYSTEM_GUIDE.md
|
|
6
8
|
*/
|
|
7
|
-
// ─── Internal State ──────────────────────────────────────────────────────────
|
|
8
9
|
// ─── Blocked / Private members ───────────────────────────────────────────────
|
|
9
10
|
/**
|
|
10
11
|
* Methods that must never be accessible from outside the module.
|
|
@@ -113,6 +114,14 @@ class PluginAPI {
|
|
|
113
114
|
assertNonEmptyString(Sys, "XyPriss Initialization Error: To create a plugin, you MUST provide the plugin's root path or its '__sys__' instance as the second argument to Plugin.create().\n" +
|
|
114
115
|
"Example: return Plugin.create({ ... }, __sys__.__root__);");
|
|
115
116
|
plugin.__root__ = Sys;
|
|
117
|
+
if (!plugin.name || typeof plugin.name !== "string") {
|
|
118
|
+
throw new Error(`XyPriss Plugin Error: "name" is missing or invalid.`);
|
|
119
|
+
}
|
|
120
|
+
for (const field of ["description", "version"]) {
|
|
121
|
+
if (!plugin[field] || typeof plugin[field] !== "string") {
|
|
122
|
+
throw new Error(`XyPriss Plugin Error: "${field}" is missing or invalid on plugin "${plugin.name}".`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
116
125
|
return plugin;
|
|
117
126
|
}
|
|
118
127
|
/**
|
|
@@ -168,7 +177,84 @@ class PluginAPI {
|
|
|
168
177
|
return {
|
|
169
178
|
name: `void-plugin-${Math.random().toString(36).slice(2, 9)}`,
|
|
170
179
|
version: "1.0.0",
|
|
180
|
+
description: "A void plugin for testing purposes.",
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Performs a deep inspection of a plugin instance to identify and list all required
|
|
185
|
+
* cryptographic permissions based on implemented hooks.
|
|
186
|
+
*
|
|
187
|
+
* This utility is designed for developers to use during the preparation of their
|
|
188
|
+
* `package.json` manifest (`xfpm.permissions` field).
|
|
189
|
+
*
|
|
190
|
+
* @param plugin - The XyPriss plugin instance to inspect.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const myPlugin = Plugin.create({ ... }, __sys__.__root__);
|
|
195
|
+
* Plugin.inspect(myPlugin);
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
inspect(plugin) {
|
|
199
|
+
const header = `[XyPriss Plugin Inspector] ${plugin.name} v${plugin.version}`;
|
|
200
|
+
const line = "═".repeat(header.length);
|
|
201
|
+
const c = {
|
|
202
|
+
reset: "\x1b[0m",
|
|
203
|
+
bold: "\x1b[1m",
|
|
204
|
+
dim: "\x1b[2m",
|
|
205
|
+
cyan: "\x1b[36m",
|
|
206
|
+
green: "\x1b[32m",
|
|
207
|
+
yellow: "\x1b[33m",
|
|
208
|
+
red: "\x1b[31m",
|
|
209
|
+
gray: "\x1b[90m",
|
|
210
|
+
magenta: "\x1b[35m",
|
|
171
211
|
};
|
|
212
|
+
console.log(`\n${c.cyan}${line}${c.reset}`);
|
|
213
|
+
console.log(`${c.bold}${c.cyan}${header}${c.reset}`);
|
|
214
|
+
console.log(`${c.cyan}${line}${c.reset}`);
|
|
215
|
+
console.log(`${c.bold}Project Root:${c.reset} ${c.gray}${plugin.__root__ || "Not Captured"}${c.reset}`);
|
|
216
|
+
console.log(`\n${c.magenta}${c.bold}Detected Hooks & Authorized Permission IDs:${c.reset}`);
|
|
217
|
+
Object.entries(plugin);
|
|
218
|
+
const hookKeys = Object.keys(PluginHookIds.HOOK_ID_MAP);
|
|
219
|
+
let foundCount = 0;
|
|
220
|
+
// List of privileged IDs that require explicit authorization
|
|
221
|
+
const privilegedIds = [
|
|
222
|
+
"PLG.MANAGEMENT.MANAGE_PLUGINS",
|
|
223
|
+
"XHS.PERM.LOGGING.CONSOLE_INTERCEPT",
|
|
224
|
+
"XHS.PERM.OPS.AUXILIARY_SERVER",
|
|
225
|
+
"XHS.PERM.ROUTING.BYPASS_NAMESPACE",
|
|
226
|
+
"XHS.PERM.ROUTING.OVERWRITE_PROTECTED",
|
|
227
|
+
"XHS.PERM.HTTP.GLOBAL_MIDDLEWARE",
|
|
228
|
+
"XHS.PERM.SECURITY.CONFIGS",
|
|
229
|
+
"XHS.PERM.SECURITY.SENSITIVE_DATA",
|
|
230
|
+
"XHS.HOOK.HTTP.REQUEST",
|
|
231
|
+
"XHS.HOOK.HTTP.RESPONSE",
|
|
232
|
+
];
|
|
233
|
+
// DEEP SCAN: Check all known hook and permission keys
|
|
234
|
+
for (const key of hookKeys) {
|
|
235
|
+
const hookId = PluginHookIds.HOOK_ID_MAP[key];
|
|
236
|
+
const value = plugin[key];
|
|
237
|
+
// If the key exists on the plugin instance (function, boolean, array, etc.)
|
|
238
|
+
if (value !== undefined) {
|
|
239
|
+
foundCount++;
|
|
240
|
+
const meta = PluginHookIds.HOOK_METADATA[hookId];
|
|
241
|
+
const isPrivileged = privilegedIds.includes(hookId);
|
|
242
|
+
console.log(`\n ${c.cyan}○${c.reset} ${c.bold}Hook/Capability:${c.reset} ${c.green}${key}${c.reset}`);
|
|
243
|
+
console.log(` ${c.bold}ID:${c.reset} ${c.yellow}${hookId}${c.reset} ${isPrivileged ? `${c.red}${c.bold}⚠️ [PRIVILEGED]${c.reset}` : ""}`);
|
|
244
|
+
if (meta) {
|
|
245
|
+
console.log(` ${c.gray}Role:${c.reset} ${meta.action}`);
|
|
246
|
+
console.log(` ${c.gray}Info:${c.reset} ${c.dim}${meta.description}${c.reset}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (foundCount === 0) {
|
|
251
|
+
console.log(`\n ${c.yellow}No hooks requiring special permissions were detected in this plugin.${c.reset}`);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
console.log(`\n${c.bold}${c.green}Summary: Found ${foundCount} required permissions.${c.reset}`);
|
|
255
|
+
console.log(`\n${c.bold}${c.cyan}TIP:${c.reset} Copy the IDs above into your package.json's ${c.bold}"xfpm.permissions"${c.reset} array.`);
|
|
256
|
+
}
|
|
257
|
+
console.log(`\n${c.cyan}${line}${c.reset}\n`);
|
|
172
258
|
}
|
|
173
259
|
}
|
|
174
260
|
// ─── Proxy Shield ─────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":["HOOK_ID_MAP","HOOK_METADATA"],"mappings":"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"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var path = require('node:path');
|
|
4
|
-
var fs = require('node:fs');
|
|
5
3
|
var node_child_process = require('node:child_process');
|
|
6
|
-
var node_url = require('node:url');
|
|
7
4
|
var XHSC_SIGNATURE = require('../server/const/XHSC_SIGNATURE.js');
|
|
5
|
+
var Platform = require('./utils/Platform.js');
|
|
6
|
+
var Discovery = require('./utils/Discovery.js');
|
|
8
7
|
|
|
9
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
10
8
|
/**
|
|
11
9
|
* Custom error class for XyPriss system operations.
|
|
12
10
|
*/
|
|
@@ -48,73 +46,29 @@ class XyPrissRunner {
|
|
|
48
46
|
* Prioritizes the high-performance Go implementation (XHSC-GO).
|
|
49
47
|
*/
|
|
50
48
|
discoverBinary() {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return "linux";
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
const getArchPart = () => {
|
|
62
|
-
switch (process.arch) {
|
|
63
|
-
case "arm64":
|
|
64
|
-
return "arm64";
|
|
65
|
-
default:
|
|
66
|
-
return "amd64"; // Default to amd64/x64
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
const osPart = getOsPart();
|
|
70
|
-
const archPart = getArchPart();
|
|
71
|
-
const suffix = osPart === "windows" ? ".exe" : "";
|
|
49
|
+
// 1. Environment Variable Override (Highest Priority)
|
|
50
|
+
const envPath = Discovery.Discovery.getFromEnv("XYPRISS_XHSC_PATH");
|
|
51
|
+
if (envPath)
|
|
52
|
+
return envPath;
|
|
53
|
+
const osPart = Platform.Platform.getOsPart();
|
|
54
|
+
const archPart = Platform.Platform.getArchPart();
|
|
55
|
+
const suffix = Platform.Platform.getBinarySuffix();
|
|
72
56
|
// Candidate names in order of preference
|
|
73
57
|
const goBinName = `xhsc-${osPart}-${archPart}${suffix}`;
|
|
74
58
|
const genericBinName = osPart === "windows" ? "xhsc.exe" : "xhsc";
|
|
75
59
|
const candidates = [goBinName, genericBinName];
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
for (const name of candidates) {
|
|
89
|
-
const fullPath = path.join(binDir, name);
|
|
90
|
-
if (fs.existsSync(fullPath))
|
|
91
|
-
return fullPath;
|
|
92
|
-
}
|
|
93
|
-
// Check 2: node_modules/.bin (if we are at project/env root)
|
|
94
|
-
const nodeModulesBin = path.join(current, "node_modules", ".bin");
|
|
95
|
-
for (const name of candidates) {
|
|
96
|
-
const fullPath = path.join(nodeModulesBin, name);
|
|
97
|
-
if (fs.existsSync(fullPath))
|
|
98
|
-
return fullPath;
|
|
99
|
-
}
|
|
100
|
-
// Check 3: Local dev folders
|
|
101
|
-
const devPath = path.join(current, "tools", "XHSC", "dist");
|
|
102
|
-
for (const name of candidates) {
|
|
103
|
-
const fullPath = path.join(devPath, name);
|
|
104
|
-
if (fs.existsSync(fullPath))
|
|
105
|
-
return fullPath;
|
|
106
|
-
}
|
|
107
|
-
const parent = path.dirname(current);
|
|
108
|
-
if (parent === current)
|
|
109
|
-
break;
|
|
110
|
-
current = parent;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (e) {
|
|
115
|
-
// Silently fall through to generic name
|
|
116
|
-
}
|
|
117
|
-
// Final fallback (generic name which might be in PATH)
|
|
60
|
+
const searchBases = [];
|
|
61
|
+
// 2. Add Script Directory (where the library is located)
|
|
62
|
+
const scriptDir = Discovery.Discovery.getScriptDir();
|
|
63
|
+
if (scriptDir)
|
|
64
|
+
searchBases.push(scriptDir);
|
|
65
|
+
// 3. Add Current Working Directory
|
|
66
|
+
searchBases.push(process.cwd());
|
|
67
|
+
// Perform recursive search from all bases using Discovery engine
|
|
68
|
+
const resolved = Discovery.Discovery.resolveBinary(candidates, searchBases);
|
|
69
|
+
if (resolved)
|
|
70
|
+
return resolved;
|
|
71
|
+
// Final fallback (generic name which might be in PATH via system spawn)
|
|
118
72
|
return genericBinName;
|
|
119
73
|
}
|
|
120
74
|
/**
|
|
@@ -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":["Discovery","Platform","XHSC_SIGNATURE","execFileSync","spawn"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('node:path');
|
|
4
|
+
var fs = require('node:fs');
|
|
5
|
+
var node_url = require('node:url');
|
|
6
|
+
|
|
7
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
8
|
+
/**
|
|
9
|
+
* **Discovery — XyPriss Resource & Binary Discovery Engine**
|
|
10
|
+
*
|
|
11
|
+
* This utility provides a robust, non-hardcoded mechanism for locating
|
|
12
|
+
* binaries and resources within the XyPriss ecosystem. It supports
|
|
13
|
+
* hierarchical searching, environment overrides, and system PATH resolution.
|
|
14
|
+
*/
|
|
15
|
+
class Discovery {
|
|
16
|
+
/**
|
|
17
|
+
* **Resolve a binary path**
|
|
18
|
+
*
|
|
19
|
+
* Searches for binary candidates in a set of base directories and their parents.
|
|
20
|
+
*
|
|
21
|
+
* @param candidates - List of potential binary names (in order of preference).
|
|
22
|
+
* @param searchBases - Root directories to start the search from.
|
|
23
|
+
* @param subDirs - Subdirectories to check within each base (defaults to STANDARD_PATHS).
|
|
24
|
+
* @returns The absolute path to the found binary, or null if not found.
|
|
25
|
+
*/
|
|
26
|
+
static resolveBinary(candidates, searchBases, subDirs = Discovery.STANDARD_PATHS) {
|
|
27
|
+
for (const base of searchBases) {
|
|
28
|
+
let current = base;
|
|
29
|
+
// Traverse up to 8 levels to handle deeply nested node_modules or virtual stores
|
|
30
|
+
for (let depth = 0; depth < 8; depth++) {
|
|
31
|
+
for (const checkDir of subDirs) {
|
|
32
|
+
const dir = path.join(current, checkDir);
|
|
33
|
+
for (const name of candidates) {
|
|
34
|
+
const fullPath = path.join(dir, name);
|
|
35
|
+
try {
|
|
36
|
+
if (fs.existsSync(fullPath))
|
|
37
|
+
return fullPath;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
/* skip permission or access errors */
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const parent = path.dirname(current);
|
|
45
|
+
if (parent === current)
|
|
46
|
+
break;
|
|
47
|
+
current = parent;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Final fallback: Manual scan of the system PATH
|
|
51
|
+
const pathEnv = process.env.PATH || "";
|
|
52
|
+
const delimiter = process.platform === "win32" ? ";" : ":";
|
|
53
|
+
const pathDirs = pathEnv.split(delimiter);
|
|
54
|
+
for (const dir of pathDirs) {
|
|
55
|
+
if (!dir)
|
|
56
|
+
continue;
|
|
57
|
+
for (const name of candidates) {
|
|
58
|
+
const fullPath = path.join(dir, name);
|
|
59
|
+
try {
|
|
60
|
+
if (fs.existsSync(fullPath))
|
|
61
|
+
return fullPath;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
/* skip */
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* **Get Script Directory**
|
|
72
|
+
*
|
|
73
|
+
* Robustly detects the directory of the currently executing script.
|
|
74
|
+
* Compatible with both CommonJS (__filename) and ESM (import.meta.url).
|
|
75
|
+
*/
|
|
76
|
+
static getScriptDir() {
|
|
77
|
+
try {
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
const _filename = typeof __filename !== "undefined"
|
|
80
|
+
? __filename
|
|
81
|
+
: node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('src/xhsc/utils/Discovery.js', document.baseURI).href)));
|
|
82
|
+
return path.dirname(_filename);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* **Get Binary from Environment**
|
|
90
|
+
*
|
|
91
|
+
* Checks if a specific environment variable points to a valid binary path.
|
|
92
|
+
*/
|
|
93
|
+
static getFromEnv(envVar) {
|
|
94
|
+
const val = process.env[envVar];
|
|
95
|
+
if (val && fs.existsSync(val))
|
|
96
|
+
return val;
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* **Standard XyPriss search subdirectories**
|
|
102
|
+
*
|
|
103
|
+
* These paths are checked relative to each parent directory during
|
|
104
|
+
* a hierarchical search.
|
|
105
|
+
*/
|
|
106
|
+
Discovery.STANDARD_PATHS = [
|
|
107
|
+
"bin",
|
|
108
|
+
path.join("node_modules", "xypriss", "bin"),
|
|
109
|
+
path.join("node_modules", ".bin"),
|
|
110
|
+
path.join("tools", "XHSC", "dist"),
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
exports.Discovery = Discovery;
|
|
114
|
+
//# sourceMappingURL=Discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Discovery.js","sources":["../../../../../src/xhsc/utils/Discovery.ts"],"sourcesContent":[null],"names":["fileURLToPath"],"mappings":";;;;;;;AAIA;;;;;;AAMG;MACU,SAAS,CAAA;AAclB;;;;;;;;;AASG;IACI,OAAO,aAAa,CACvB,UAAoB,EACpB,WAAqB,EACrB,OAAA,GAAoB,SAAS,CAAC,cAAc,EAAA;AAE5C,QAAA,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC5B,IAAI,OAAO,GAAG,IAAI;;AAElB,YAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;AACpC,gBAAA,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACxC,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;wBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACrC,wBAAA,IAAI;AACA,4BAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,gCAAA,OAAO,QAAQ;wBAChD;AAAE,wBAAA,MAAM;;wBAER;oBACJ;gBACJ;gBAEA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpC,IAAI,MAAM,KAAK,OAAO;oBAAE;gBACxB,OAAO,GAAG,MAAM;YACpB;QACJ;;QAGA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACtC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;AAEzC,QAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,GAAG;gBAAE;AACV,YAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACrC,gBAAA,IAAI;AACA,oBAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,wBAAA,OAAO,QAAQ;gBAChD;AAAE,gBAAA,MAAM;;gBAER;YACJ;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;;;AAKG;AACI,IAAA,OAAO,YAAY,GAAA;AACtB,QAAA,IAAI;;AAEA,YAAA,MAAM,SAAS,GACX,OAAO,UAAU,KAAK;AAClB,kBAAE;kBACAA,sBAAa,CAAC,6QAAe,CAAC;AACxC,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,IAAI;QACf;IACJ;AAEA;;;;AAIG;IACI,OAAO,UAAU,CAAC,MAAc,EAAA;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,GAAG;AACzC,QAAA,OAAO,IAAI;IACf;;AAlGA;;;;;AAKG;AACoB,SAAA,CAAA,cAAc,GAAG;IACpC,KAAK;IACL,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC;AAC3C,IAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;CACrC;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* **Platform — XyPriss Platform & Architecture Utilities**
|
|
5
|
+
*
|
|
6
|
+
* Provides normalized naming conventions for OS and CPU architectures
|
|
7
|
+
* used throughout the XyPriss ecosystem, specifically for binary resolution.
|
|
8
|
+
*/
|
|
9
|
+
class Platform {
|
|
10
|
+
/**
|
|
11
|
+
* **Get Normalized OS Part**
|
|
12
|
+
*
|
|
13
|
+
* Maps Node.js process.platform to XyPriss standard OS identifiers.
|
|
14
|
+
* @returns {'windows' | 'darwin' | 'linux'}
|
|
15
|
+
*/
|
|
16
|
+
static getOsPart() {
|
|
17
|
+
switch (process.platform) {
|
|
18
|
+
case "win32":
|
|
19
|
+
return "windows";
|
|
20
|
+
case "darwin":
|
|
21
|
+
return "darwin";
|
|
22
|
+
default:
|
|
23
|
+
return "linux";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* **Get Normalized Architecture Part**
|
|
28
|
+
*
|
|
29
|
+
* Maps Node.js process.arch to XyPriss standard architecture identifiers.
|
|
30
|
+
* @returns {'arm64' | 'amd64'}
|
|
31
|
+
*/
|
|
32
|
+
static getArchPart() {
|
|
33
|
+
switch (process.arch) {
|
|
34
|
+
case "arm64":
|
|
35
|
+
return "arm64";
|
|
36
|
+
default:
|
|
37
|
+
return "amd64"; // Default to amd64/x64
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* **Get Binary Suffix**
|
|
42
|
+
*
|
|
43
|
+
* Returns '.exe' for Windows platforms, empty string otherwise.
|
|
44
|
+
*/
|
|
45
|
+
static getBinarySuffix() {
|
|
46
|
+
return process.platform === "win32" ? ".exe" : "";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
exports.Platform = Platform;
|
|
51
|
+
//# sourceMappingURL=Platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Platform.js","sources":["../../../../../src/xhsc/utils/Platform.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;MACU,QAAQ,CAAA;AACjB;;;;;AAKG;AACI,IAAA,OAAO,SAAS,GAAA;AACnB,QAAA,QAAQ,OAAO,CAAC,QAAQ;AACpB,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,SAAS;AACpB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,QAAQ;AACnB,YAAA;AACI,gBAAA,OAAO,OAAO;;IAE1B;AAEA;;;;;AAKG;AACI,IAAA,OAAO,WAAW,GAAA;AACrB,QAAA,QAAQ,OAAO,CAAC,IAAI;AAChB,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,OAAO;AAClB,YAAA;gBACI,OAAO,OAAO,CAAC;;IAE3B;AAEA;;;;AAIG;AACI,IAAA,OAAO,eAAe,GAAA;AACzB,QAAA,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,MAAM,GAAG,EAAE;IACrD;AACH;;;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { HOOK_ID_MAP, HOOK_METADATA } from '../const/PluginHookIds.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Plugin API
|
|
3
5
|
* Public API for plugin management as documented in PLUGIN_SYSTEM_GUIDE.md
|
|
4
6
|
*/
|
|
5
|
-
// ─── Internal State ──────────────────────────────────────────────────────────
|
|
6
7
|
// ─── Blocked / Private members ───────────────────────────────────────────────
|
|
7
8
|
/**
|
|
8
9
|
* Methods that must never be accessible from outside the module.
|
|
@@ -111,6 +112,14 @@ class PluginAPI {
|
|
|
111
112
|
assertNonEmptyString(Sys, "XyPriss Initialization Error: To create a plugin, you MUST provide the plugin's root path or its '__sys__' instance as the second argument to Plugin.create().\n" +
|
|
112
113
|
"Example: return Plugin.create({ ... }, __sys__.__root__);");
|
|
113
114
|
plugin.__root__ = Sys;
|
|
115
|
+
if (!plugin.name || typeof plugin.name !== "string") {
|
|
116
|
+
throw new Error(`XyPriss Plugin Error: "name" is missing or invalid.`);
|
|
117
|
+
}
|
|
118
|
+
for (const field of ["description", "version"]) {
|
|
119
|
+
if (!plugin[field] || typeof plugin[field] !== "string") {
|
|
120
|
+
throw new Error(`XyPriss Plugin Error: "${field}" is missing or invalid on plugin "${plugin.name}".`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
114
123
|
return plugin;
|
|
115
124
|
}
|
|
116
125
|
/**
|
|
@@ -166,7 +175,84 @@ class PluginAPI {
|
|
|
166
175
|
return {
|
|
167
176
|
name: `void-plugin-${Math.random().toString(36).slice(2, 9)}`,
|
|
168
177
|
version: "1.0.0",
|
|
178
|
+
description: "A void plugin for testing purposes.",
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Performs a deep inspection of a plugin instance to identify and list all required
|
|
183
|
+
* cryptographic permissions based on implemented hooks.
|
|
184
|
+
*
|
|
185
|
+
* This utility is designed for developers to use during the preparation of their
|
|
186
|
+
* `package.json` manifest (`xfpm.permissions` field).
|
|
187
|
+
*
|
|
188
|
+
* @param plugin - The XyPriss plugin instance to inspect.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```typescript
|
|
192
|
+
* const myPlugin = Plugin.create({ ... }, __sys__.__root__);
|
|
193
|
+
* Plugin.inspect(myPlugin);
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
inspect(plugin) {
|
|
197
|
+
const header = `[XyPriss Plugin Inspector] ${plugin.name} v${plugin.version}`;
|
|
198
|
+
const line = "═".repeat(header.length);
|
|
199
|
+
const c = {
|
|
200
|
+
reset: "\x1b[0m",
|
|
201
|
+
bold: "\x1b[1m",
|
|
202
|
+
dim: "\x1b[2m",
|
|
203
|
+
cyan: "\x1b[36m",
|
|
204
|
+
green: "\x1b[32m",
|
|
205
|
+
yellow: "\x1b[33m",
|
|
206
|
+
red: "\x1b[31m",
|
|
207
|
+
gray: "\x1b[90m",
|
|
208
|
+
magenta: "\x1b[35m",
|
|
169
209
|
};
|
|
210
|
+
console.log(`\n${c.cyan}${line}${c.reset}`);
|
|
211
|
+
console.log(`${c.bold}${c.cyan}${header}${c.reset}`);
|
|
212
|
+
console.log(`${c.cyan}${line}${c.reset}`);
|
|
213
|
+
console.log(`${c.bold}Project Root:${c.reset} ${c.gray}${plugin.__root__ || "Not Captured"}${c.reset}`);
|
|
214
|
+
console.log(`\n${c.magenta}${c.bold}Detected Hooks & Authorized Permission IDs:${c.reset}`);
|
|
215
|
+
Object.entries(plugin);
|
|
216
|
+
const hookKeys = Object.keys(HOOK_ID_MAP);
|
|
217
|
+
let foundCount = 0;
|
|
218
|
+
// List of privileged IDs that require explicit authorization
|
|
219
|
+
const privilegedIds = [
|
|
220
|
+
"PLG.MANAGEMENT.MANAGE_PLUGINS",
|
|
221
|
+
"XHS.PERM.LOGGING.CONSOLE_INTERCEPT",
|
|
222
|
+
"XHS.PERM.OPS.AUXILIARY_SERVER",
|
|
223
|
+
"XHS.PERM.ROUTING.BYPASS_NAMESPACE",
|
|
224
|
+
"XHS.PERM.ROUTING.OVERWRITE_PROTECTED",
|
|
225
|
+
"XHS.PERM.HTTP.GLOBAL_MIDDLEWARE",
|
|
226
|
+
"XHS.PERM.SECURITY.CONFIGS",
|
|
227
|
+
"XHS.PERM.SECURITY.SENSITIVE_DATA",
|
|
228
|
+
"XHS.HOOK.HTTP.REQUEST",
|
|
229
|
+
"XHS.HOOK.HTTP.RESPONSE",
|
|
230
|
+
];
|
|
231
|
+
// DEEP SCAN: Check all known hook and permission keys
|
|
232
|
+
for (const key of hookKeys) {
|
|
233
|
+
const hookId = HOOK_ID_MAP[key];
|
|
234
|
+
const value = plugin[key];
|
|
235
|
+
// If the key exists on the plugin instance (function, boolean, array, etc.)
|
|
236
|
+
if (value !== undefined) {
|
|
237
|
+
foundCount++;
|
|
238
|
+
const meta = HOOK_METADATA[hookId];
|
|
239
|
+
const isPrivileged = privilegedIds.includes(hookId);
|
|
240
|
+
console.log(`\n ${c.cyan}○${c.reset} ${c.bold}Hook/Capability:${c.reset} ${c.green}${key}${c.reset}`);
|
|
241
|
+
console.log(` ${c.bold}ID:${c.reset} ${c.yellow}${hookId}${c.reset} ${isPrivileged ? `${c.red}${c.bold}⚠️ [PRIVILEGED]${c.reset}` : ""}`);
|
|
242
|
+
if (meta) {
|
|
243
|
+
console.log(` ${c.gray}Role:${c.reset} ${meta.action}`);
|
|
244
|
+
console.log(` ${c.gray}Info:${c.reset} ${c.dim}${meta.description}${c.reset}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (foundCount === 0) {
|
|
249
|
+
console.log(`\n ${c.yellow}No hooks requiring special permissions were detected in this plugin.${c.reset}`);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
console.log(`\n${c.bold}${c.green}Summary: Found ${foundCount} required permissions.${c.reset}`);
|
|
253
|
+
console.log(`\n${c.bold}${c.cyan}TIP:${c.reset} Copy the IDs above into your package.json's ${c.bold}"xfpm.permissions"${c.reset} array.`);
|
|
254
|
+
}
|
|
255
|
+
console.log(`\n${c.cyan}${line}${c.reset}\n`);
|
|
170
256
|
}
|
|
171
257
|
}
|
|
172
258
|
// ─── Proxy Shield ─────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;AAGG;
|
|
1
|
+
{"version":3,"file":"PluginAPI.js","sources":["../../../../../src/plugins/api/PluginAPI.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import path__default from 'node:path';
|
|
2
|
-
import fs__default from 'node:fs';
|
|
3
1
|
import { execFileSync, spawn } from 'node:child_process';
|
|
4
|
-
import { fileURLToPath } from 'node:url';
|
|
5
2
|
import { XHSC_SIGNATURE } from '../server/const/XHSC_SIGNATURE.js';
|
|
3
|
+
import { Platform } from './utils/Platform.js';
|
|
4
|
+
import { Discovery } from './utils/Discovery.js';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Custom error class for XyPriss system operations.
|
|
@@ -45,73 +44,29 @@ class XyPrissRunner {
|
|
|
45
44
|
* Prioritizes the high-performance Go implementation (XHSC-GO).
|
|
46
45
|
*/
|
|
47
46
|
discoverBinary() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return "linux";
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const getArchPart = () => {
|
|
59
|
-
switch (process.arch) {
|
|
60
|
-
case "arm64":
|
|
61
|
-
return "arm64";
|
|
62
|
-
default:
|
|
63
|
-
return "amd64"; // Default to amd64/x64
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
const osPart = getOsPart();
|
|
67
|
-
const archPart = getArchPart();
|
|
68
|
-
const suffix = osPart === "windows" ? ".exe" : "";
|
|
47
|
+
// 1. Environment Variable Override (Highest Priority)
|
|
48
|
+
const envPath = Discovery.getFromEnv("XYPRISS_XHSC_PATH");
|
|
49
|
+
if (envPath)
|
|
50
|
+
return envPath;
|
|
51
|
+
const osPart = Platform.getOsPart();
|
|
52
|
+
const archPart = Platform.getArchPart();
|
|
53
|
+
const suffix = Platform.getBinarySuffix();
|
|
69
54
|
// Candidate names in order of preference
|
|
70
55
|
const goBinName = `xhsc-${osPart}-${archPart}${suffix}`;
|
|
71
56
|
const genericBinName = osPart === "windows" ? "xhsc.exe" : "xhsc";
|
|
72
57
|
const candidates = [goBinName, genericBinName];
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
for (const name of candidates) {
|
|
86
|
-
const fullPath = path__default.join(binDir, name);
|
|
87
|
-
if (fs__default.existsSync(fullPath))
|
|
88
|
-
return fullPath;
|
|
89
|
-
}
|
|
90
|
-
// Check 2: node_modules/.bin (if we are at project/env root)
|
|
91
|
-
const nodeModulesBin = path__default.join(current, "node_modules", ".bin");
|
|
92
|
-
for (const name of candidates) {
|
|
93
|
-
const fullPath = path__default.join(nodeModulesBin, name);
|
|
94
|
-
if (fs__default.existsSync(fullPath))
|
|
95
|
-
return fullPath;
|
|
96
|
-
}
|
|
97
|
-
// Check 3: Local dev folders
|
|
98
|
-
const devPath = path__default.join(current, "tools", "XHSC", "dist");
|
|
99
|
-
for (const name of candidates) {
|
|
100
|
-
const fullPath = path__default.join(devPath, name);
|
|
101
|
-
if (fs__default.existsSync(fullPath))
|
|
102
|
-
return fullPath;
|
|
103
|
-
}
|
|
104
|
-
const parent = path__default.dirname(current);
|
|
105
|
-
if (parent === current)
|
|
106
|
-
break;
|
|
107
|
-
current = parent;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (e) {
|
|
112
|
-
// Silently fall through to generic name
|
|
113
|
-
}
|
|
114
|
-
// Final fallback (generic name which might be in PATH)
|
|
58
|
+
const searchBases = [];
|
|
59
|
+
// 2. Add Script Directory (where the library is located)
|
|
60
|
+
const scriptDir = Discovery.getScriptDir();
|
|
61
|
+
if (scriptDir)
|
|
62
|
+
searchBases.push(scriptDir);
|
|
63
|
+
// 3. Add Current Working Directory
|
|
64
|
+
searchBases.push(process.cwd());
|
|
65
|
+
// Perform recursive search from all bases using Discovery engine
|
|
66
|
+
const resolved = Discovery.resolveBinary(candidates, searchBases);
|
|
67
|
+
if (resolved)
|
|
68
|
+
return resolved;
|
|
69
|
+
// Final fallback (generic name which might be in PATH via system spawn)
|
|
115
70
|
return genericBinName;
|
|
116
71
|
}
|
|
117
72
|
/**
|
|
@@ -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":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import path__default from 'node:path';
|
|
2
|
+
import fs__default from 'node:fs';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* **Discovery — XyPriss Resource & Binary Discovery Engine**
|
|
7
|
+
*
|
|
8
|
+
* This utility provides a robust, non-hardcoded mechanism for locating
|
|
9
|
+
* binaries and resources within the XyPriss ecosystem. It supports
|
|
10
|
+
* hierarchical searching, environment overrides, and system PATH resolution.
|
|
11
|
+
*/
|
|
12
|
+
class Discovery {
|
|
13
|
+
/**
|
|
14
|
+
* **Resolve a binary path**
|
|
15
|
+
*
|
|
16
|
+
* Searches for binary candidates in a set of base directories and their parents.
|
|
17
|
+
*
|
|
18
|
+
* @param candidates - List of potential binary names (in order of preference).
|
|
19
|
+
* @param searchBases - Root directories to start the search from.
|
|
20
|
+
* @param subDirs - Subdirectories to check within each base (defaults to STANDARD_PATHS).
|
|
21
|
+
* @returns The absolute path to the found binary, or null if not found.
|
|
22
|
+
*/
|
|
23
|
+
static resolveBinary(candidates, searchBases, subDirs = Discovery.STANDARD_PATHS) {
|
|
24
|
+
for (const base of searchBases) {
|
|
25
|
+
let current = base;
|
|
26
|
+
// Traverse up to 8 levels to handle deeply nested node_modules or virtual stores
|
|
27
|
+
for (let depth = 0; depth < 8; depth++) {
|
|
28
|
+
for (const checkDir of subDirs) {
|
|
29
|
+
const dir = path__default.join(current, checkDir);
|
|
30
|
+
for (const name of candidates) {
|
|
31
|
+
const fullPath = path__default.join(dir, name);
|
|
32
|
+
try {
|
|
33
|
+
if (fs__default.existsSync(fullPath))
|
|
34
|
+
return fullPath;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
/* skip permission or access errors */
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const parent = path__default.dirname(current);
|
|
42
|
+
if (parent === current)
|
|
43
|
+
break;
|
|
44
|
+
current = parent;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Final fallback: Manual scan of the system PATH
|
|
48
|
+
const pathEnv = process.env.PATH || "";
|
|
49
|
+
const delimiter = process.platform === "win32" ? ";" : ":";
|
|
50
|
+
const pathDirs = pathEnv.split(delimiter);
|
|
51
|
+
for (const dir of pathDirs) {
|
|
52
|
+
if (!dir)
|
|
53
|
+
continue;
|
|
54
|
+
for (const name of candidates) {
|
|
55
|
+
const fullPath = path__default.join(dir, name);
|
|
56
|
+
try {
|
|
57
|
+
if (fs__default.existsSync(fullPath))
|
|
58
|
+
return fullPath;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
/* skip */
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* **Get Script Directory**
|
|
69
|
+
*
|
|
70
|
+
* Robustly detects the directory of the currently executing script.
|
|
71
|
+
* Compatible with both CommonJS (__filename) and ESM (import.meta.url).
|
|
72
|
+
*/
|
|
73
|
+
static getScriptDir() {
|
|
74
|
+
try {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
const _filename = typeof __filename !== "undefined"
|
|
77
|
+
? __filename
|
|
78
|
+
: fileURLToPath(import.meta.url);
|
|
79
|
+
return path__default.dirname(_filename);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* **Get Binary from Environment**
|
|
87
|
+
*
|
|
88
|
+
* Checks if a specific environment variable points to a valid binary path.
|
|
89
|
+
*/
|
|
90
|
+
static getFromEnv(envVar) {
|
|
91
|
+
const val = process.env[envVar];
|
|
92
|
+
if (val && fs__default.existsSync(val))
|
|
93
|
+
return val;
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* **Standard XyPriss search subdirectories**
|
|
99
|
+
*
|
|
100
|
+
* These paths are checked relative to each parent directory during
|
|
101
|
+
* a hierarchical search.
|
|
102
|
+
*/
|
|
103
|
+
Discovery.STANDARD_PATHS = [
|
|
104
|
+
"bin",
|
|
105
|
+
path__default.join("node_modules", "xypriss", "bin"),
|
|
106
|
+
path__default.join("node_modules", ".bin"),
|
|
107
|
+
path__default.join("tools", "XHSC", "dist"),
|
|
108
|
+
];
|
|
109
|
+
|
|
110
|
+
export { Discovery };
|
|
111
|
+
//# sourceMappingURL=Discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Discovery.js","sources":["../../../../../src/xhsc/utils/Discovery.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":";;;;AAIA;;;;;;AAMG;MACU,SAAS,CAAA;AAclB;;;;;;;;;AASG;IACI,OAAO,aAAa,CACvB,UAAoB,EACpB,WAAqB,EACrB,OAAA,GAAoB,SAAS,CAAC,cAAc,EAAA;AAE5C,QAAA,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC5B,IAAI,OAAO,GAAG,IAAI;;AAElB,YAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;AACpC,gBAAA,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;oBAC5B,MAAM,GAAG,GAAGA,aAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AACxC,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;wBAC3B,MAAM,QAAQ,GAAGA,aAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACrC,wBAAA,IAAI;AACA,4BAAA,IAAIC,WAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,gCAAA,OAAO,QAAQ;wBAChD;AAAE,wBAAA,MAAM;;wBAER;oBACJ;gBACJ;gBAEA,MAAM,MAAM,GAAGD,aAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpC,IAAI,MAAM,KAAK,OAAO;oBAAE;gBACxB,OAAO,GAAG,MAAM;YACpB;QACJ;;QAGA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACtC,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;AAEzC,QAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,GAAG;gBAAE;AACV,YAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC3B,MAAM,QAAQ,GAAGA,aAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;AACrC,gBAAA,IAAI;AACA,oBAAA,IAAIC,WAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAAE,wBAAA,OAAO,QAAQ;gBAChD;AAAE,gBAAA,MAAM;;gBAER;YACJ;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;AAEA;;;;;AAKG;AACI,IAAA,OAAO,YAAY,GAAA;AACtB,QAAA,IAAI;;AAEA,YAAA,MAAM,SAAS,GACX,OAAO,UAAU,KAAK;AAClB,kBAAE;kBACA,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,YAAA,OAAOD,aAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,IAAI;QACf;IACJ;AAEA;;;;AAIG;IACI,OAAO,UAAU,CAAC,MAAc,EAAA;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,GAAG,IAAIC,WAAE,CAAC,UAAU,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,GAAG;AACzC,QAAA,OAAO,IAAI;IACf;;AAlGA;;;;;AAKG;AACoB,SAAA,CAAA,cAAc,GAAG;IACpC,KAAK;IACLD,aAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,CAAC;AAC3C,IAAAA,aAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IACjCA,aAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;CACrC;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Platform — XyPriss Platform & Architecture Utilities**
|
|
3
|
+
*
|
|
4
|
+
* Provides normalized naming conventions for OS and CPU architectures
|
|
5
|
+
* used throughout the XyPriss ecosystem, specifically for binary resolution.
|
|
6
|
+
*/
|
|
7
|
+
class Platform {
|
|
8
|
+
/**
|
|
9
|
+
* **Get Normalized OS Part**
|
|
10
|
+
*
|
|
11
|
+
* Maps Node.js process.platform to XyPriss standard OS identifiers.
|
|
12
|
+
* @returns {'windows' | 'darwin' | 'linux'}
|
|
13
|
+
*/
|
|
14
|
+
static getOsPart() {
|
|
15
|
+
switch (process.platform) {
|
|
16
|
+
case "win32":
|
|
17
|
+
return "windows";
|
|
18
|
+
case "darwin":
|
|
19
|
+
return "darwin";
|
|
20
|
+
default:
|
|
21
|
+
return "linux";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* **Get Normalized Architecture Part**
|
|
26
|
+
*
|
|
27
|
+
* Maps Node.js process.arch to XyPriss standard architecture identifiers.
|
|
28
|
+
* @returns {'arm64' | 'amd64'}
|
|
29
|
+
*/
|
|
30
|
+
static getArchPart() {
|
|
31
|
+
switch (process.arch) {
|
|
32
|
+
case "arm64":
|
|
33
|
+
return "arm64";
|
|
34
|
+
default:
|
|
35
|
+
return "amd64"; // Default to amd64/x64
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* **Get Binary Suffix**
|
|
40
|
+
*
|
|
41
|
+
* Returns '.exe' for Windows platforms, empty string otherwise.
|
|
42
|
+
*/
|
|
43
|
+
static getBinarySuffix() {
|
|
44
|
+
return process.platform === "win32" ? ".exe" : "";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { Platform };
|
|
49
|
+
//# sourceMappingURL=Platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Platform.js","sources":["../../../../../src/xhsc/utils/Platform.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;MACU,QAAQ,CAAA;AACjB;;;;;AAKG;AACI,IAAA,OAAO,SAAS,GAAA;AACnB,QAAA,QAAQ,OAAO,CAAC,QAAQ;AACpB,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,SAAS;AACpB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,QAAQ;AACnB,YAAA;AACI,gBAAA,OAAO,OAAO;;IAE1B;AAEA;;;;;AAKG;AACI,IAAA,OAAO,WAAW,GAAA;AACrB,QAAA,QAAQ,OAAO,CAAC,IAAI;AAChB,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,OAAO;AAClB,YAAA;gBACI,OAAO,OAAO,CAAC;;IAE3B;AAEA;;;;AAIG;AACI,IAAA,OAAO,eAAe,GAAA;AACzB,QAAA,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,GAAG,MAAM,GAAG,EAAE;IACrD;AACH;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7427,7 +7427,7 @@ interface XyPrissPlugin {
|
|
|
7427
7427
|
name: string;
|
|
7428
7428
|
version: string;
|
|
7429
7429
|
type?: string;
|
|
7430
|
-
description
|
|
7430
|
+
description: string;
|
|
7431
7431
|
/**
|
|
7432
7432
|
* @internal - Captured project root of the plugin.
|
|
7433
7433
|
* Used for contract security verification.
|
|
@@ -11004,6 +11004,22 @@ declare class PluginAPI {
|
|
|
11004
11004
|
* Useful for testing or conditional plugin slots.
|
|
11005
11005
|
*/
|
|
11006
11006
|
void(): XyPrissPlugin;
|
|
11007
|
+
/**
|
|
11008
|
+
* Performs a deep inspection of a plugin instance to identify and list all required
|
|
11009
|
+
* cryptographic permissions based on implemented hooks.
|
|
11010
|
+
*
|
|
11011
|
+
* This utility is designed for developers to use during the preparation of their
|
|
11012
|
+
* `package.json` manifest (`xfpm.permissions` field).
|
|
11013
|
+
*
|
|
11014
|
+
* @param plugin - The XyPriss plugin instance to inspect.
|
|
11015
|
+
*
|
|
11016
|
+
* @example
|
|
11017
|
+
* ```typescript
|
|
11018
|
+
* const myPlugin = Plugin.create({ ... }, __sys__.__root__);
|
|
11019
|
+
* Plugin.inspect(myPlugin);
|
|
11020
|
+
* ```
|
|
11021
|
+
*/
|
|
11022
|
+
inspect(plugin: XyPrissPlugin): void;
|
|
11007
11023
|
}
|
|
11008
11024
|
declare const Plugin: Readonly<Omit<PluginAPI, "register">>;
|
|
11009
11025
|
|
package/package.json
CHANGED