ruvector 0.1.76 → 0.1.78
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/bin/cli.js
CHANGED
|
@@ -6123,6 +6123,93 @@ workersCmd.command('cancel')
|
|
|
6123
6123
|
}
|
|
6124
6124
|
});
|
|
6125
6125
|
|
|
6126
|
+
// Custom Worker System (agentic-flow@alpha.39+)
|
|
6127
|
+
workersCmd.command('presets')
|
|
6128
|
+
.description('List available worker presets (quick-scan, deep-analysis, security-scan, etc.)')
|
|
6129
|
+
.action(async () => {
|
|
6130
|
+
try {
|
|
6131
|
+
await runAgenticFlow(['workers', 'presets']);
|
|
6132
|
+
} catch (e) {
|
|
6133
|
+
console.error(chalk.red('Presets list failed:'), e.message);
|
|
6134
|
+
}
|
|
6135
|
+
});
|
|
6136
|
+
|
|
6137
|
+
workersCmd.command('phases')
|
|
6138
|
+
.description('List available phase executors (24 phases: file-discovery, security-analysis, etc.)')
|
|
6139
|
+
.action(async () => {
|
|
6140
|
+
try {
|
|
6141
|
+
await runAgenticFlow(['workers', 'phases']);
|
|
6142
|
+
} catch (e) {
|
|
6143
|
+
console.error(chalk.red('Phases list failed:'), e.message);
|
|
6144
|
+
}
|
|
6145
|
+
});
|
|
6146
|
+
|
|
6147
|
+
workersCmd.command('create')
|
|
6148
|
+
.description('Create a custom worker from preset')
|
|
6149
|
+
.argument('<name>', 'Worker name')
|
|
6150
|
+
.option('--preset <preset>', 'Base preset (quick-scan, deep-analysis, security-scan, learning, api-docs, test-analysis)')
|
|
6151
|
+
.option('--triggers <triggers>', 'Comma-separated trigger keywords')
|
|
6152
|
+
.action(async (name, opts) => {
|
|
6153
|
+
try {
|
|
6154
|
+
const args = ['workers', 'create', name];
|
|
6155
|
+
if (opts.preset) args.push('--preset', opts.preset);
|
|
6156
|
+
if (opts.triggers) args.push('--triggers', opts.triggers);
|
|
6157
|
+
await runAgenticFlow(args);
|
|
6158
|
+
} catch (e) {
|
|
6159
|
+
console.error(chalk.red('Worker creation failed:'), e.message);
|
|
6160
|
+
}
|
|
6161
|
+
});
|
|
6162
|
+
|
|
6163
|
+
workersCmd.command('run')
|
|
6164
|
+
.description('Run a custom worker')
|
|
6165
|
+
.argument('<name>', 'Worker name')
|
|
6166
|
+
.option('--path <path>', 'Target path to analyze', '.')
|
|
6167
|
+
.action(async (name, opts) => {
|
|
6168
|
+
try {
|
|
6169
|
+
const args = ['workers', 'run', name];
|
|
6170
|
+
if (opts.path) args.push('--path', opts.path);
|
|
6171
|
+
await runAgenticFlow(args);
|
|
6172
|
+
} catch (e) {
|
|
6173
|
+
console.error(chalk.red('Worker run failed:'), e.message);
|
|
6174
|
+
}
|
|
6175
|
+
});
|
|
6176
|
+
|
|
6177
|
+
workersCmd.command('custom')
|
|
6178
|
+
.description('List registered custom workers')
|
|
6179
|
+
.action(async () => {
|
|
6180
|
+
try {
|
|
6181
|
+
await runAgenticFlow(['workers', 'custom']);
|
|
6182
|
+
} catch (e) {
|
|
6183
|
+
console.error(chalk.red('Custom workers list failed:'), e.message);
|
|
6184
|
+
}
|
|
6185
|
+
});
|
|
6186
|
+
|
|
6187
|
+
workersCmd.command('init-config')
|
|
6188
|
+
.description('Generate example workers.yaml config file')
|
|
6189
|
+
.option('--force', 'Overwrite existing config')
|
|
6190
|
+
.action(async (opts) => {
|
|
6191
|
+
try {
|
|
6192
|
+
const args = ['workers', 'init-config'];
|
|
6193
|
+
if (opts.force) args.push('--force');
|
|
6194
|
+
await runAgenticFlow(args);
|
|
6195
|
+
} catch (e) {
|
|
6196
|
+
console.error(chalk.red('Config init failed:'), e.message);
|
|
6197
|
+
}
|
|
6198
|
+
});
|
|
6199
|
+
|
|
6200
|
+
workersCmd.command('load-config')
|
|
6201
|
+
.description('Load custom workers from workers.yaml')
|
|
6202
|
+
.option('--file <file>', 'Config file path', 'workers.yaml')
|
|
6203
|
+
.action(async (opts) => {
|
|
6204
|
+
try {
|
|
6205
|
+
const args = ['workers', 'load-config'];
|
|
6206
|
+
if (opts.file !== 'workers.yaml') args.push('--file', opts.file);
|
|
6207
|
+
await runAgenticFlow(args);
|
|
6208
|
+
} catch (e) {
|
|
6209
|
+
console.error(chalk.red('Config load failed:'), e.message);
|
|
6210
|
+
}
|
|
6211
|
+
});
|
|
6212
|
+
|
|
6126
6213
|
console.log && false; // Force registration
|
|
6127
6214
|
|
|
6128
6215
|
// MCP Server command
|
package/bin/mcp-server.js
CHANGED
|
@@ -970,6 +970,81 @@ const TOOLS = [
|
|
|
970
970
|
properties: {},
|
|
971
971
|
required: []
|
|
972
972
|
}
|
|
973
|
+
},
|
|
974
|
+
// Custom Worker System (agentic-flow@alpha.39+)
|
|
975
|
+
{
|
|
976
|
+
name: 'workers_presets',
|
|
977
|
+
description: 'List available worker presets (quick-scan, deep-analysis, security-scan, learning, api-docs, test-analysis)',
|
|
978
|
+
inputSchema: {
|
|
979
|
+
type: 'object',
|
|
980
|
+
properties: {},
|
|
981
|
+
required: []
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
name: 'workers_phases',
|
|
986
|
+
description: 'List available phase executors (24 phases including file-discovery, security-analysis, pattern-extraction)',
|
|
987
|
+
inputSchema: {
|
|
988
|
+
type: 'object',
|
|
989
|
+
properties: {},
|
|
990
|
+
required: []
|
|
991
|
+
}
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
name: 'workers_create',
|
|
995
|
+
description: 'Create a custom worker from preset with composable phases',
|
|
996
|
+
inputSchema: {
|
|
997
|
+
type: 'object',
|
|
998
|
+
properties: {
|
|
999
|
+
name: { type: 'string', description: 'Worker name' },
|
|
1000
|
+
preset: { type: 'string', description: 'Base preset (quick-scan, deep-analysis, security-scan, learning, api-docs, test-analysis)' },
|
|
1001
|
+
triggers: { type: 'string', description: 'Comma-separated trigger keywords' }
|
|
1002
|
+
},
|
|
1003
|
+
required: ['name']
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
name: 'workers_run',
|
|
1008
|
+
description: 'Run a custom worker on target path',
|
|
1009
|
+
inputSchema: {
|
|
1010
|
+
type: 'object',
|
|
1011
|
+
properties: {
|
|
1012
|
+
name: { type: 'string', description: 'Worker name' },
|
|
1013
|
+
path: { type: 'string', description: 'Target path to analyze (default: .)' }
|
|
1014
|
+
},
|
|
1015
|
+
required: ['name']
|
|
1016
|
+
}
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
name: 'workers_custom',
|
|
1020
|
+
description: 'List registered custom workers',
|
|
1021
|
+
inputSchema: {
|
|
1022
|
+
type: 'object',
|
|
1023
|
+
properties: {},
|
|
1024
|
+
required: []
|
|
1025
|
+
}
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
name: 'workers_init_config',
|
|
1029
|
+
description: 'Generate example workers.yaml config file',
|
|
1030
|
+
inputSchema: {
|
|
1031
|
+
type: 'object',
|
|
1032
|
+
properties: {
|
|
1033
|
+
force: { type: 'boolean', description: 'Overwrite existing config' }
|
|
1034
|
+
},
|
|
1035
|
+
required: []
|
|
1036
|
+
}
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
name: 'workers_load_config',
|
|
1040
|
+
description: 'Load custom workers from workers.yaml config file',
|
|
1041
|
+
inputSchema: {
|
|
1042
|
+
type: 'object',
|
|
1043
|
+
properties: {
|
|
1044
|
+
file: { type: 'string', description: 'Config file path (default: workers.yaml)' }
|
|
1045
|
+
},
|
|
1046
|
+
required: []
|
|
1047
|
+
}
|
|
973
1048
|
}
|
|
974
1049
|
];
|
|
975
1050
|
|
|
@@ -2237,6 +2312,162 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
2237
2312
|
}
|
|
2238
2313
|
}
|
|
2239
2314
|
|
|
2315
|
+
// Custom Worker System handlers (agentic-flow@alpha.39+)
|
|
2316
|
+
case 'workers_presets': {
|
|
2317
|
+
try {
|
|
2318
|
+
const result = execSync('npx agentic-flow@alpha workers presets', {
|
|
2319
|
+
encoding: 'utf-8',
|
|
2320
|
+
timeout: 15000,
|
|
2321
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2322
|
+
});
|
|
2323
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2324
|
+
success: true,
|
|
2325
|
+
presets: result.trim()
|
|
2326
|
+
}, null, 2) }] };
|
|
2327
|
+
} catch (e) {
|
|
2328
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2329
|
+
success: true,
|
|
2330
|
+
presets: ['quick-scan', 'deep-analysis', 'security-scan', 'learning', 'api-docs', 'test-analysis'],
|
|
2331
|
+
note: 'Hardcoded fallback - install agentic-flow@alpha for full support'
|
|
2332
|
+
}, null, 2) }] };
|
|
2333
|
+
}
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
case 'workers_phases': {
|
|
2337
|
+
try {
|
|
2338
|
+
const result = execSync('npx agentic-flow@alpha workers phases', {
|
|
2339
|
+
encoding: 'utf-8',
|
|
2340
|
+
timeout: 15000,
|
|
2341
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2342
|
+
});
|
|
2343
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2344
|
+
success: true,
|
|
2345
|
+
phases: result.trim()
|
|
2346
|
+
}, null, 2) }] };
|
|
2347
|
+
} catch (e) {
|
|
2348
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2349
|
+
success: true,
|
|
2350
|
+
phases: ['file-discovery', 'static-analysis', 'security-analysis', 'pattern-extraction', 'dependency-analysis', 'complexity-analysis', 'test-coverage', 'api-extraction', 'secret-detection', 'report-generation'],
|
|
2351
|
+
note: 'Partial list - install agentic-flow@alpha for all 24 phases'
|
|
2352
|
+
}, null, 2) }] };
|
|
2353
|
+
}
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
case 'workers_create': {
|
|
2357
|
+
const name = args.name;
|
|
2358
|
+
const preset = args.preset || 'quick-scan';
|
|
2359
|
+
const triggers = args.triggers;
|
|
2360
|
+
try {
|
|
2361
|
+
let cmd = `npx agentic-flow@alpha workers create "${name}" --preset ${preset}`;
|
|
2362
|
+
if (triggers) cmd += ` --triggers "${triggers}"`;
|
|
2363
|
+
const result = execSync(cmd, {
|
|
2364
|
+
encoding: 'utf-8',
|
|
2365
|
+
timeout: 30000,
|
|
2366
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2367
|
+
});
|
|
2368
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2369
|
+
success: true,
|
|
2370
|
+
message: `Worker '${name}' created with preset '${preset}'`,
|
|
2371
|
+
output: result.trim()
|
|
2372
|
+
}, null, 2) }] };
|
|
2373
|
+
} catch (e) {
|
|
2374
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2375
|
+
success: false,
|
|
2376
|
+
error: 'Worker creation failed',
|
|
2377
|
+
message: e.message
|
|
2378
|
+
}, null, 2) }] };
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
case 'workers_run': {
|
|
2383
|
+
const name = args.name;
|
|
2384
|
+
const targetPath = args.path || '.';
|
|
2385
|
+
try {
|
|
2386
|
+
const result = execSync(`npx agentic-flow@alpha workers run "${name}" --path "${targetPath}"`, {
|
|
2387
|
+
encoding: 'utf-8',
|
|
2388
|
+
timeout: 120000,
|
|
2389
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2390
|
+
});
|
|
2391
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2392
|
+
success: true,
|
|
2393
|
+
worker: name,
|
|
2394
|
+
path: targetPath,
|
|
2395
|
+
output: result.trim()
|
|
2396
|
+
}, null, 2) }] };
|
|
2397
|
+
} catch (e) {
|
|
2398
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2399
|
+
success: false,
|
|
2400
|
+
error: `Worker '${name}' execution failed`,
|
|
2401
|
+
message: e.message
|
|
2402
|
+
}, null, 2) }] };
|
|
2403
|
+
}
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
case 'workers_custom': {
|
|
2407
|
+
try {
|
|
2408
|
+
const result = execSync('npx agentic-flow@alpha workers custom', {
|
|
2409
|
+
encoding: 'utf-8',
|
|
2410
|
+
timeout: 15000,
|
|
2411
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2412
|
+
});
|
|
2413
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2414
|
+
success: true,
|
|
2415
|
+
workers: result.trim()
|
|
2416
|
+
}, null, 2) }] };
|
|
2417
|
+
} catch (e) {
|
|
2418
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2419
|
+
success: true,
|
|
2420
|
+
workers: [],
|
|
2421
|
+
note: 'No custom workers registered'
|
|
2422
|
+
}, null, 2) }] };
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2426
|
+
case 'workers_init_config': {
|
|
2427
|
+
try {
|
|
2428
|
+
let cmd = 'npx agentic-flow@alpha workers init-config';
|
|
2429
|
+
if (args.force) cmd += ' --force';
|
|
2430
|
+
const result = execSync(cmd, {
|
|
2431
|
+
encoding: 'utf-8',
|
|
2432
|
+
timeout: 15000,
|
|
2433
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2434
|
+
});
|
|
2435
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2436
|
+
success: true,
|
|
2437
|
+
message: 'workers.yaml config file created',
|
|
2438
|
+
output: result.trim()
|
|
2439
|
+
}, null, 2) }] };
|
|
2440
|
+
} catch (e) {
|
|
2441
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2442
|
+
success: false,
|
|
2443
|
+
error: 'Config init failed',
|
|
2444
|
+
message: e.message
|
|
2445
|
+
}, null, 2) }] };
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
|
|
2449
|
+
case 'workers_load_config': {
|
|
2450
|
+
const configFile = args.file || 'workers.yaml';
|
|
2451
|
+
try {
|
|
2452
|
+
const result = execSync(`npx agentic-flow@alpha workers load-config --file "${configFile}"`, {
|
|
2453
|
+
encoding: 'utf-8',
|
|
2454
|
+
timeout: 30000,
|
|
2455
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
2456
|
+
});
|
|
2457
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2458
|
+
success: true,
|
|
2459
|
+
file: configFile,
|
|
2460
|
+
output: result.trim()
|
|
2461
|
+
}, null, 2) }] };
|
|
2462
|
+
} catch (e) {
|
|
2463
|
+
return { content: [{ type: 'text', text: JSON.stringify({
|
|
2464
|
+
success: false,
|
|
2465
|
+
error: `Config load failed from '${configFile}'`,
|
|
2466
|
+
message: e.message
|
|
2467
|
+
}, null, 2) }] };
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2240
2471
|
default:
|
|
2241
2472
|
return {
|
|
2242
2473
|
content: [{
|
|
@@ -564,8 +564,17 @@ export function __wbg_randomFillSync_ac0988aba3254290() { return handleError(fun
|
|
|
564
564
|
}, arguments) };
|
|
565
565
|
|
|
566
566
|
export function __wbg_require_60cc747a6bc5215a() { return handleError(function () {
|
|
567
|
-
|
|
568
|
-
|
|
567
|
+
// ESM-compatible require: use createRequire instead of module.require
|
|
568
|
+
// This fixes "module is not defined" errors on Windows and strict ESM
|
|
569
|
+
if (typeof module !== 'undefined' && module.require) {
|
|
570
|
+
return module.require;
|
|
571
|
+
}
|
|
572
|
+
// ESM fallback: create require function from import.meta.url
|
|
573
|
+
if (typeof globalThis !== 'undefined' && globalThis.__ruvector_require) {
|
|
574
|
+
return globalThis.__ruvector_require;
|
|
575
|
+
}
|
|
576
|
+
// Return undefined to signal require not available (will use crypto.getRandomValues instead)
|
|
577
|
+
return undefined;
|
|
569
578
|
}, arguments) };
|
|
570
579
|
|
|
571
580
|
export function __wbg_stack_0ed75d68575b0f3c(arg0, arg1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onnx-embedder.d.ts","sourceRoot":"","sources":["../../src/core/onnx-embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"onnx-embedder.d.ts","sourceRoot":"","sources":["../../src/core/onnx-embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,kBAAkB,EAAE,WAAW,GAAG,SAAS,CAAC;CACjD;AAuBD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAeD;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AA6DD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CA+FxF;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBlE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwC5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAaxF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBjE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAUA;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9C;AAGD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,kBAAuB;IAIrC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAKhD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/D,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -62,6 +62,24 @@ exports.shutdown = shutdown;
|
|
|
62
62
|
const path = __importStar(require("path"));
|
|
63
63
|
const fs = __importStar(require("fs"));
|
|
64
64
|
const url_1 = require("url");
|
|
65
|
+
const module_1 = require("module");
|
|
66
|
+
// Set up ESM-compatible require for WASM module (fixes Windows/ESM compatibility)
|
|
67
|
+
// The WASM bindings use module.require for Node.js crypto, this provides a fallback
|
|
68
|
+
if (typeof globalThis !== 'undefined' && !globalThis.__ruvector_require) {
|
|
69
|
+
try {
|
|
70
|
+
// In ESM context, use createRequire with __filename
|
|
71
|
+
globalThis.__ruvector_require = (0, module_1.createRequire)(__filename);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Fallback: require should be available in CommonJS
|
|
75
|
+
try {
|
|
76
|
+
globalThis.__ruvector_require = require;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// Neither available - WASM will fall back to crypto.getRandomValues
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
65
83
|
// Force native dynamic import (avoids TypeScript transpiling to require)
|
|
66
84
|
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
67
85
|
const dynamicImport = new Function('specifier', 'return import(specifier)');
|