@comfanion/workflow 4.36.11 → 4.36.13
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 +70 -24
- package/package.json +1 -1
- package/src/build-info.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -314,23 +314,42 @@ program
|
|
|
314
314
|
// Copy .opencode structure (fresh, no old files)
|
|
315
315
|
await fs.copy(OPENCODE_SRC, targetDir);
|
|
316
316
|
|
|
317
|
-
// Copy
|
|
317
|
+
// Copy vectorizer source files (always copy, install only if enabled)
|
|
318
318
|
if (await fs.pathExists(VECTORIZER_SRC)) {
|
|
319
|
-
spinner.text = 'Installing vectorizer...';
|
|
320
319
|
const newVectorizerDir = path.join(targetDir, 'vectorizer');
|
|
321
320
|
await fs.ensureDir(newVectorizerDir);
|
|
322
321
|
await fs.copy(path.join(VECTORIZER_SRC, 'index.js'), path.join(newVectorizerDir, 'index.js'));
|
|
323
322
|
await fs.copy(path.join(VECTORIZER_SRC, 'package.json'), path.join(newVectorizerDir, 'package.json'));
|
|
324
323
|
|
|
325
|
-
//
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
324
|
+
// Install dependencies only if vectorizer is enabled
|
|
325
|
+
if (config.vectorizer_enabled) {
|
|
326
|
+
spinner.text = 'Installing vectorizer dependencies...';
|
|
327
|
+
try {
|
|
328
|
+
// Show progress during npm install
|
|
329
|
+
const steps = [
|
|
330
|
+
'Installing vectorizer dependencies...',
|
|
331
|
+
'Downloading @xenova/transformers (~50MB)...',
|
|
332
|
+
'Installing vectordb...',
|
|
333
|
+
'Installing glob...',
|
|
334
|
+
'Finalizing vectorizer setup...'
|
|
335
|
+
];
|
|
336
|
+
let stepIndex = 0;
|
|
337
|
+
const progressInterval = setInterval(() => {
|
|
338
|
+
stepIndex = (stepIndex + 1) % steps.length;
|
|
339
|
+
spinner.text = steps[stepIndex];
|
|
340
|
+
}, 3000);
|
|
341
|
+
|
|
342
|
+
execSync('npm install', {
|
|
343
|
+
cwd: newVectorizerDir,
|
|
344
|
+
stdio: 'pipe',
|
|
345
|
+
timeout: 180000
|
|
346
|
+
});
|
|
347
|
+
|
|
348
|
+
clearInterval(progressInterval);
|
|
349
|
+
spinner.text = 'Vectorizer installed!';
|
|
350
|
+
} catch (e) {
|
|
351
|
+
// Non-fatal, will show warning below
|
|
352
|
+
}
|
|
334
353
|
}
|
|
335
354
|
}
|
|
336
355
|
|
|
@@ -454,8 +473,10 @@ program
|
|
|
454
473
|
const vectorizerInstalled = await fs.pathExists(path.join(targetDir, 'vectorizer', 'node_modules'));
|
|
455
474
|
if (vectorizerInstalled) {
|
|
456
475
|
console.log(chalk.green('✅ Vectorizer installed (fresh dependencies)'));
|
|
457
|
-
} else {
|
|
476
|
+
} else if (config.vectorizer_enabled) {
|
|
458
477
|
console.log(chalk.yellow('⚠️ Vectorizer: run `npx @comfanion/workflow vectorizer install`'));
|
|
478
|
+
} else {
|
|
479
|
+
console.log(chalk.gray('ℹ️ Vectorizer disabled (enable in config.yaml to use semantic search)'));
|
|
459
480
|
}
|
|
460
481
|
if (hadVectors) {
|
|
461
482
|
console.log(chalk.green('✅ Vector indexes preserved'));
|
|
@@ -581,23 +602,45 @@ program
|
|
|
581
602
|
spinner.text = 'Installing new version...';
|
|
582
603
|
await fs.copy(OPENCODE_SRC, targetDir);
|
|
583
604
|
|
|
584
|
-
// Copy
|
|
605
|
+
// Copy vectorizer source files (always copy, install only if enabled)
|
|
585
606
|
if (await fs.pathExists(VECTORIZER_SRC)) {
|
|
586
|
-
spinner.text = 'Installing vectorizer...';
|
|
587
607
|
const newVectorizerDir = path.join(targetDir, 'vectorizer');
|
|
588
608
|
await fs.ensureDir(newVectorizerDir);
|
|
589
609
|
await fs.copy(path.join(VECTORIZER_SRC, 'index.js'), path.join(newVectorizerDir, 'index.js'));
|
|
590
610
|
await fs.copy(path.join(VECTORIZER_SRC, 'package.json'), path.join(newVectorizerDir, 'package.json'));
|
|
591
611
|
|
|
592
|
-
//
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
612
|
+
// Check if vectorizer is enabled in user's config
|
|
613
|
+
const vectorizerEnabled = /vectorizer:[\s\S]*?enabled:\s*true/i.test(configBackup);
|
|
614
|
+
|
|
615
|
+
// Install dependencies only if vectorizer is enabled
|
|
616
|
+
if (vectorizerEnabled) {
|
|
617
|
+
spinner.text = 'Installing vectorizer dependencies...';
|
|
618
|
+
try {
|
|
619
|
+
// Show progress during npm install
|
|
620
|
+
const steps = [
|
|
621
|
+
'Installing vectorizer dependencies...',
|
|
622
|
+
'Downloading @xenova/transformers (~50MB)...',
|
|
623
|
+
'Installing vectordb...',
|
|
624
|
+
'Installing glob...',
|
|
625
|
+
'Finalizing vectorizer setup...'
|
|
626
|
+
];
|
|
627
|
+
let stepIndex = 0;
|
|
628
|
+
const progressInterval = setInterval(() => {
|
|
629
|
+
stepIndex = (stepIndex + 1) % steps.length;
|
|
630
|
+
spinner.text = steps[stepIndex];
|
|
631
|
+
}, 3000);
|
|
632
|
+
|
|
633
|
+
execSync('npm install', {
|
|
634
|
+
cwd: newVectorizerDir,
|
|
635
|
+
stdio: 'pipe',
|
|
636
|
+
timeout: 180000
|
|
637
|
+
});
|
|
638
|
+
|
|
639
|
+
clearInterval(progressInterval);
|
|
640
|
+
spinner.text = 'Vectorizer installed!';
|
|
641
|
+
} catch (e) {
|
|
642
|
+
// Non-fatal, will show warning below
|
|
643
|
+
}
|
|
601
644
|
}
|
|
602
645
|
}
|
|
603
646
|
|
|
@@ -668,10 +711,13 @@ program
|
|
|
668
711
|
console.log(chalk.yellow('⚠️ Plugin deps: run `cd .opencode && bun install`'));
|
|
669
712
|
}
|
|
670
713
|
const vectorizerInstalled = await fs.pathExists(path.join(targetDir, 'vectorizer', 'node_modules'));
|
|
714
|
+
const vectorizerEnabled = /vectorizer:[\s\S]*?enabled:\s*true/i.test(configBackup);
|
|
671
715
|
if (vectorizerInstalled) {
|
|
672
716
|
console.log(chalk.green('✅ Vectorizer reinstalled (fresh dependencies).'));
|
|
673
|
-
} else {
|
|
717
|
+
} else if (vectorizerEnabled) {
|
|
674
718
|
console.log(chalk.yellow('⚠️ Vectorizer: run `npx @comfanion/workflow vectorizer install`'));
|
|
719
|
+
} else {
|
|
720
|
+
console.log(chalk.gray('ℹ️ Vectorizer disabled (enable in config.yaml to use semantic search)'));
|
|
675
721
|
}
|
|
676
722
|
if (hasVectors) {
|
|
677
723
|
console.log(chalk.green('✅ Vector indexes were preserved.'));
|
package/package.json
CHANGED