claude-conversation-memory-mcp 0.3.0 → 0.6.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 (40) hide show
  1. package/.claude-memory-config.example.json +8 -0
  2. package/.claude-memory-config.example.jsonc +50 -0
  3. package/README.md +81 -0
  4. package/dist/cli/commands.d.ts.map +1 -1
  5. package/dist/cli/commands.js +260 -20
  6. package/dist/cli/commands.js.map +1 -1
  7. package/dist/embeddings/ModelRegistry.d.ts +48 -0
  8. package/dist/embeddings/ModelRegistry.d.ts.map +1 -0
  9. package/dist/embeddings/ModelRegistry.js +170 -0
  10. package/dist/embeddings/ModelRegistry.js.map +1 -0
  11. package/dist/embeddings/providers/OllamaEmbeddings.d.ts +1 -1
  12. package/dist/embeddings/providers/OllamaEmbeddings.d.ts.map +1 -1
  13. package/dist/embeddings/providers/OllamaEmbeddings.js +7 -14
  14. package/dist/embeddings/providers/OllamaEmbeddings.js.map +1 -1
  15. package/dist/embeddings/providers/OpenAIEmbeddings.d.ts +1 -1
  16. package/dist/embeddings/providers/OpenAIEmbeddings.d.ts.map +1 -1
  17. package/dist/embeddings/providers/OpenAIEmbeddings.js +9 -7
  18. package/dist/embeddings/providers/OpenAIEmbeddings.js.map +1 -1
  19. package/dist/embeddings/providers/TransformersEmbeddings.d.ts +1 -1
  20. package/dist/embeddings/providers/TransformersEmbeddings.d.ts.map +1 -1
  21. package/dist/embeddings/providers/TransformersEmbeddings.js +9 -8
  22. package/dist/embeddings/providers/TransformersEmbeddings.js.map +1 -1
  23. package/dist/mcp-server.d.ts.map +1 -1
  24. package/dist/mcp-server.js +3 -0
  25. package/dist/mcp-server.js.map +1 -1
  26. package/dist/tools/ToolDefinitions.d.ts +45 -0
  27. package/dist/tools/ToolDefinitions.d.ts.map +1 -1
  28. package/dist/tools/ToolDefinitions.js +44 -1
  29. package/dist/tools/ToolDefinitions.js.map +1 -1
  30. package/dist/tools/ToolHandlers.d.ts +6 -1
  31. package/dist/tools/ToolHandlers.d.ts.map +1 -1
  32. package/dist/tools/ToolHandlers.js +185 -6
  33. package/dist/tools/ToolHandlers.js.map +1 -1
  34. package/dist/types/ToolTypes.d.ts +55 -0
  35. package/dist/types/ToolTypes.d.ts.map +1 -1
  36. package/dist/utils/ProjectMigration.d.ts +10 -2
  37. package/dist/utils/ProjectMigration.d.ts.map +1 -1
  38. package/dist/utils/ProjectMigration.js +131 -23
  39. package/dist/utils/ProjectMigration.js.map +1 -1
  40. package/package.json +5 -3
@@ -0,0 +1,8 @@
1
+ {
2
+ "embedding": {
3
+ "provider": "ollama",
4
+ "model": "mxbai-embed-large",
5
+ "dimensions": 1024,
6
+ "baseUrl": "http://localhost:11434"
7
+ }
8
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "embedding": {
3
+ // Provider: Choose one of "ollama" | "transformers" | "openai"
4
+ // - ollama: Local models via Ollama (fast, private, requires Ollama installed)
5
+ // - transformers: Offline models via Transformers.js (no setup, slower first run)
6
+ // - openai: Cloud API (best quality, requires API key, costs money)
7
+ "provider": "ollama",
8
+
9
+ // Model name: See available models by running `config` command
10
+ //
11
+ // Ollama models (require: ollama pull <model>):
12
+ // - mxbai-embed-large (1024 dims, recommended for quality)
13
+ // - nomic-embed-text (768 dims, fast and good quality)
14
+ // - all-minilm (384 dims, lightweight)
15
+ // - snowflake-arctic-embed (1024 dims, optimized for retrieval)
16
+ //
17
+ // Transformers models (auto-download on first use, no setup):
18
+ // - Xenova/all-MiniLM-L6-v2 (384 dims, default, fastest)
19
+ // - Xenova/all-mpnet-base-v2 (768 dims, better quality)
20
+ // - Xenova/bge-small-en-v1.5 (384 dims, English-optimized)
21
+ // - Xenova/bge-base-en-v1.5 (768 dims, English, higher quality)
22
+ //
23
+ // OpenAI models (require API key):
24
+ // - text-embedding-3-small (1536 dims, $0.020 per 1M tokens)
25
+ // - text-embedding-3-large (3072 dims, $0.130 per 1M tokens, best quality)
26
+ // - text-embedding-ada-002 (1536 dims, legacy)
27
+ "model": "mxbai-embed-large",
28
+
29
+ // Dimensions: Optional - auto-detected based on model name if omitted
30
+ // Only specify if you need to override auto-detection or use a custom model
31
+ // Valid range: 1-10000
32
+ //
33
+ // Common dimensions by model:
34
+ // mxbai-embed-large: 1024
35
+ // nomic-embed-text: 768
36
+ // Xenova/all-MiniLM-L6-v2: 384
37
+ // text-embedding-3-small: 1536
38
+ // text-embedding-3-large: 3072
39
+ "dimensions": 1024,
40
+
41
+ // Base URL: Only for Ollama provider
42
+ // Default: http://localhost:11434
43
+ // Change if Ollama is running on a different host/port
44
+ "baseUrl": "http://localhost:11434"
45
+
46
+ // API Key: Only for OpenAI provider
47
+ // Can also be set via OPENAI_API_KEY environment variable
48
+ // "apiKey": "sk-..."
49
+ }
50
+ }
package/README.md CHANGED
@@ -10,6 +10,7 @@ A Model Context Protocol (MCP) server that gives Claude Code long-term memory by
10
10
  - **Links to git commits** - Connect conversations to code changes
11
11
  - **Analyzes file history** - See the complete evolution of files with context
12
12
  - **Migrates conversation history** - Keep your history when renaming or moving projects
13
+ - **Context transfer** - Recall past work and apply it to current tasks ("remember X, now do Y based on that")
13
14
 
14
15
  ## ⚠️ Important: Claude Code CLI Only
15
16
 
@@ -57,6 +58,12 @@ Claude Code CLI is required because it stores conversation history in `~/.claude
57
58
  npm install -g claude-conversation-memory-mcp
58
59
  ```
59
60
 
61
+ **Discover Available Models:**
62
+ After installation, you can see all available embedding models and their dimensions:
63
+ - Run the CLI: `claude-conversation-memory-mcp`
64
+ - Type: `config` to see all available models organized by provider
65
+ - Or check the example config file: `.claude-memory-config.example.jsonc`
66
+
60
67
  ### Configure Claude Code CLI
61
68
 
62
69
  **MCP Configuration File Priority:**
@@ -288,6 +295,21 @@ Claude: Let me trace the file evolution...
288
295
  [Shows complete timeline with conversations, commits, and decisions]
289
296
  ```
290
297
 
298
+ ### Recall and Apply Context
299
+
300
+ ```
301
+ You: "Recall how we implemented authentication, now add OAuth support using that same pattern"
302
+
303
+ Claude: Let me recall the authentication implementation context...
304
+ [Returns relevant conversations, decisions, mistakes, file changes, and commits]
305
+ [Provides suggestions for applying this context to OAuth implementation]
306
+ ```
307
+
308
+ **More examples:**
309
+ - "Remember the bug we fixed in parser.ts, check if similar issue exists in lexer.ts"
310
+ - "Recall all decisions about database schema, now design the migration strategy"
311
+ - "Find mistakes we made with async/await, avoid them in this new async function"
312
+
291
313
  ## 🔧 Advanced Usage
292
314
 
293
315
  ### Index Specific Session
@@ -455,6 +477,65 @@ You: "Dry run: migrate from [source] old path [old] new path [new]"
455
477
 
456
478
  This shows what would be migrated without actually copying files.
457
479
 
480
+ ### Merge Conversations from Different Projects
481
+
482
+ **NEW in v0.4.0**: Combine conversation history from different projects into one folder using merge mode.
483
+
484
+ **Use case**: You want to merge conversations from `/project-a/drafts/2025-01-05` into your current project `/project-b`.
485
+
486
+ **Step 1: Discover the source folder**
487
+
488
+ ```
489
+ You: "Discover old conversations for project path /Users/name/project-a/drafts/2025-01-05"
490
+ ```
491
+
492
+ **Step 2: Merge into current project**
493
+
494
+ ```
495
+ You: "Merge conversations from /Users/name/.claude/projects/-project-a-drafts-2025-01-05, old path /Users/name/project-a/drafts/2025-01-05, new path /Users/name/project-b, mode merge"
496
+ ```
497
+
498
+ Claude will:
499
+ - Copy only **new** conversation files (skip duplicates)
500
+ - Keep target conversations when IDs collide (no data loss)
501
+ - Merge all database entries using INSERT OR IGNORE
502
+ - Create backup of target database before merge
503
+ - Preserve all original source data
504
+
505
+ **Example workflow:**
506
+
507
+ ```markdown
508
+ # Scenario: You have conversations from different projects to combine
509
+
510
+ Current project: /Users/alice/main-project (already has 20 conversations)
511
+ Source project: /Users/alice/drafts/experiment (has 10 conversations, 3 overlap with main)
512
+
513
+ You: "Discover old conversations for /Users/alice/drafts/experiment"
514
+
515
+ Claude: Found 1 folder:
516
+ - Folder: -Users-alice-drafts-experiment
517
+ - Original path: /Users/alice/drafts/experiment
518
+ - Conversations: 10
519
+ - Files: 10
520
+
521
+ You: "Merge from /Users/alice/.claude/projects/-Users-alice-drafts-experiment, old path /Users/alice/drafts/experiment, new path /Users/alice/main-project, mode merge"
522
+
523
+ Claude: Successfully merged 7 new conversation files into /Users/alice/.claude/projects/-Users-alice-main-project
524
+ (3 duplicate conversations were skipped to preserve target data)
525
+ Backup created at: .claude-conversations-memory.db.bak
526
+
527
+ # Result: main-project now has 27 conversations (20 original + 7 new from experiment)
528
+ ```
529
+
530
+ **Key differences between migrate and merge:**
531
+
532
+ | Feature | Migrate Mode (default) | Merge Mode |
533
+ |---------|----------------------|------------|
534
+ | Target has data | ❌ Rejected (conflict) | ✅ Allowed |
535
+ | Duplicate IDs | Overwrites target | Skips source (keeps target) |
536
+ | Use case | Renamed project | Combine different projects |
537
+ | Backup location | Source folder | Target folder |
538
+
458
539
  ## 📚 Learn More
459
540
 
460
541
  - **[Tool Examples](docs/TOOL-EXAMPLES.md)** - 50+ natural language examples for each tool
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAwDxD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4JxB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiExD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsKxB"}
@@ -6,9 +6,11 @@ import Table from "cli-table3";
6
6
  import { getSQLiteManager } from "../storage/SQLiteManager.js";
7
7
  import { showHelp, showCommandHelp } from "./help.js";
8
8
  import { ConfigManager } from "../embeddings/ConfigManager.js";
9
+ import { getModelsByProvider, getAllModels, getModelsByQuality, getRecommendedModel, modelExists } from "../embeddings/ModelRegistry.js";
9
10
  import { readFileSync } from "fs";
10
11
  import { join, dirname } from "path";
11
12
  import { fileURLToPath } from "url";
13
+ import prompts from "prompts";
12
14
  const __filename = fileURLToPath(import.meta.url);
13
15
  const __dirname = dirname(__filename);
14
16
  /**
@@ -169,6 +171,14 @@ export async function executeCommand(input, handlers) {
169
171
  return chalk.yellow("Usage: config (show current config)\n config <key> <value> (set config value)");
170
172
  }
171
173
  }
174
+ // Handle models
175
+ if (command === "models") {
176
+ return handleModels(args);
177
+ }
178
+ // Handle select-model (interactive)
179
+ if (command === "select-model" || command === "select") {
180
+ return await handleSelectModel();
181
+ }
172
182
  // Handle get
173
183
  if (command === "get") {
174
184
  if (args.length === 0) {
@@ -513,10 +523,36 @@ function handleConfigShow() {
513
523
  output += ` ${chalk.cyan("dimensions")} Embedding dimensions (e.g., 1024)\n`;
514
524
  output += ` ${chalk.cyan("baseUrl")} Ollama base URL (default: http://localhost:11434)\n`;
515
525
  output += ` ${chalk.cyan("apiKey")} OpenAI API key\n\n`;
526
+ // Show available models by provider using ModelRegistry
527
+ output += chalk.bold("Known Models by Provider:\n\n");
528
+ // Ollama models
529
+ output += chalk.yellow("Ollama (local):\n");
530
+ const ollamaModels = getModelsByProvider("ollama");
531
+ for (const model of ollamaModels) {
532
+ const suffix = model.installation ? ` ${chalk.dim(`(${model.description})`)}` : "";
533
+ output += ` ${model.name.padEnd(30)} ${model.dimensions.toString().padStart(4)} dims${suffix}\n`;
534
+ }
535
+ output += "\n";
536
+ // Transformers models
537
+ output += chalk.yellow("Transformers (offline):\n");
538
+ const transformersModels = getModelsByProvider("transformers");
539
+ for (const model of transformersModels) {
540
+ output += ` ${model.name.padEnd(30)} ${model.dimensions.toString().padStart(4)} dims ${chalk.dim(`(${model.description})`)}\n`;
541
+ }
542
+ output += "\n";
543
+ // OpenAI models
544
+ output += chalk.yellow("OpenAI (cloud):\n");
545
+ const openaiModels = getModelsByProvider("openai");
546
+ for (const model of openaiModels) {
547
+ const costSuffix = model.cost ? ` - ${model.cost}` : "";
548
+ output += ` ${model.name.padEnd(30)} ${model.dimensions.toString().padStart(4)} dims ${chalk.dim(`(${model.description}${costSuffix})`)}\n`;
549
+ }
550
+ output += "\n";
516
551
  output += chalk.gray(`Config file location: ${configPath}\n`);
517
552
  if (!configExists) {
518
553
  output += chalk.yellow("Config file will be created on first 'set' command.\n");
519
554
  }
555
+ output += chalk.gray("See example config: .claude-memory-config.example.jsonc\n");
520
556
  return output;
521
557
  }
522
558
  /**
@@ -544,33 +580,32 @@ function handleConfigGet(key) {
544
580
  */
545
581
  function handleConfigSet(key, value) {
546
582
  try {
583
+ // Validate model name if setting model
584
+ if (key === "model") {
585
+ if (!modelExists(value)) {
586
+ let warning = chalk.yellow(`⚠️ Model '${value}' is not in the registry.\n\n`);
587
+ warning += chalk.gray("This might be a custom model. If so, make sure to also set the correct dimensions.\n\n");
588
+ warning += chalk.cyan("Known models:\n");
589
+ warning += chalk.gray(" Run 'models' to see all available models\n");
590
+ warning += chalk.gray(" Or 'models <provider>' to see provider-specific models\n\n");
591
+ warning += chalk.yellow("Proceeding with custom model...\n\n");
592
+ console.warn(warning);
593
+ }
594
+ }
547
595
  ConfigManager.setConfigValue(key, value);
548
596
  // Show confirmation with helpful info
549
597
  let output = chalk.green(`✓ Config updated: ${key} = ${value}\n\n`);
550
598
  // If setting dimensions, suggest matching models
551
599
  if (key === "dimensions") {
552
600
  const dims = parseInt(value, 10);
553
- output += chalk.cyan("Models with matching dimensions:\n");
554
- if (dims === 384) {
555
- output += " - Xenova/all-MiniLM-L6-v2 (transformers)\n";
556
- output += " - all-minilm (ollama)\n";
557
- }
558
- else if (dims === 768) {
559
- output += " - nomic-embed-text (ollama)\n";
560
- output += " - Xenova/all-mpnet-base-v2 (transformers)\n";
561
- }
562
- else if (dims === 1024) {
563
- output += " - mxbai-embed-large (ollama) ⭐ default\n";
564
- output += " - snowflake-arctic-embed (ollama)\n";
601
+ const matchingModels = getAllModels().filter(m => m.dimensions === dims);
602
+ if (matchingModels.length > 0) {
603
+ output += chalk.cyan("Models with matching dimensions:\n");
604
+ for (const model of matchingModels) {
605
+ output += ` - ${model.name} (${model.provider})\n`;
606
+ }
607
+ output += "\n";
565
608
  }
566
- else if (dims === 1536) {
567
- output += " - text-embedding-3-small (openai)\n";
568
- output += " - text-embedding-ada-002 (openai)\n";
569
- }
570
- else if (dims === 3072) {
571
- output += " - text-embedding-3-large (openai)\n";
572
- }
573
- output += "\n";
574
609
  }
575
610
  // If setting model, suggest dimensions
576
611
  if (key === "model") {
@@ -587,4 +622,209 @@ function handleConfigSet(key, value) {
587
622
  return chalk.red(`Error: ${error.message}`);
588
623
  }
589
624
  }
625
+ /**
626
+ * Handle models command - List, filter, search models
627
+ * Usage:
628
+ * models - List all models
629
+ * models <provider> - Filter by provider (ollama, transformers, openai)
630
+ * models quality <tier> - Filter by quality (low, medium, high, highest)
631
+ * models recommend - Show recommended models for each provider
632
+ */
633
+ function handleModels(args) {
634
+ let output = "";
635
+ // No args: list all models
636
+ if (args.length === 0) {
637
+ output += chalk.bold("📚 All Available Embedding Models\n\n");
638
+ const allModels = getAllModels();
639
+ output += formatModelsTable(allModels);
640
+ output += "\n";
641
+ output += chalk.gray("💡 Tip: Use 'models <provider>' to filter by provider\n");
642
+ output += chalk.gray(" Or: 'models quality <tier>' to filter by quality\n");
643
+ output += chalk.gray(" Or: 'models recommend' to see recommendations\n");
644
+ return output;
645
+ }
646
+ const subcommand = args[0].toLowerCase();
647
+ // Filter by provider
648
+ if (["ollama", "transformers", "openai"].includes(subcommand)) {
649
+ const models = getModelsByProvider(subcommand);
650
+ output += chalk.bold(`📚 ${capitalize(subcommand)} Models\n\n`);
651
+ output += formatModelsTable(models);
652
+ // Show recommended model for this provider
653
+ const recommended = getRecommendedModel(subcommand);
654
+ if (recommended) {
655
+ output += "\n";
656
+ output += chalk.cyan(`⭐ Recommended: ${recommended.name} (${recommended.dimensions} dims, ${recommended.quality} quality)\n`);
657
+ }
658
+ return output;
659
+ }
660
+ // Filter by quality
661
+ if (subcommand === "quality") {
662
+ if (args.length < 2) {
663
+ return chalk.yellow("Usage: models quality <tier>\nTiers: low, medium, high, highest");
664
+ }
665
+ const quality = args[1].toLowerCase();
666
+ if (!["low", "medium", "high", "highest"].includes(quality)) {
667
+ return chalk.red(`Invalid quality tier: ${args[1]}\nValid tiers: low, medium, high, highest`);
668
+ }
669
+ const models = getModelsByQuality(quality);
670
+ output += chalk.bold(`📚 ${capitalize(quality)} Quality Models\n\n`);
671
+ output += formatModelsTable(models);
672
+ return output;
673
+ }
674
+ // Show recommended models
675
+ if (subcommand === "recommend" || subcommand === "recommended") {
676
+ output += chalk.bold("⭐ Recommended Models by Provider\n\n");
677
+ const providers = ["ollama", "transformers", "openai"];
678
+ for (const provider of providers) {
679
+ const recommended = getRecommendedModel(provider);
680
+ if (recommended) {
681
+ output += chalk.yellow(`${capitalize(provider)}:\n`);
682
+ output += ` ${chalk.green(recommended.name)} ${chalk.dim(`(${recommended.dimensions} dims, ${recommended.quality} quality)`)}\n`;
683
+ output += ` ${chalk.dim(recommended.description)}\n`;
684
+ if (recommended.installation) {
685
+ output += ` ${chalk.dim(`Install: ${recommended.installation}`)}\n`;
686
+ }
687
+ if (recommended.cost) {
688
+ output += ` ${chalk.dim(`Cost: ${recommended.cost}`)}\n`;
689
+ }
690
+ output += "\n";
691
+ }
692
+ }
693
+ return output;
694
+ }
695
+ return chalk.yellow(`Unknown models subcommand: ${subcommand}\n\nUsage:\n models - List all models\n models <provider> - Filter by provider (ollama, transformers, openai)\n models quality <tier> - Filter by quality\n models recommend - Show recommendations`);
696
+ }
697
+ /**
698
+ * Format models into a table
699
+ */
700
+ function formatModelsTable(models) {
701
+ const table = new Table({
702
+ head: [
703
+ chalk.cyan("Model"),
704
+ chalk.cyan("Provider"),
705
+ chalk.cyan("Dimensions"),
706
+ chalk.cyan("Quality"),
707
+ chalk.cyan("Description")
708
+ ],
709
+ colWidths: [35, 13, 12, 10, 45],
710
+ wordWrap: true,
711
+ });
712
+ for (const model of models) {
713
+ table.push([
714
+ model.name,
715
+ model.provider,
716
+ model.dimensions.toString(),
717
+ model.quality,
718
+ model.description
719
+ ]);
720
+ }
721
+ return table.toString();
722
+ }
723
+ /**
724
+ * Capitalize first letter
725
+ */
726
+ function capitalize(str) {
727
+ return str.charAt(0).toUpperCase() + str.slice(1);
728
+ }
729
+ /**
730
+ * Handle interactive model selection
731
+ */
732
+ async function handleSelectModel() {
733
+ try {
734
+ // Step 1: Choose provider
735
+ const providerResponse = await prompts({
736
+ type: "select",
737
+ name: "provider",
738
+ message: "Choose an embedding provider:",
739
+ choices: [
740
+ {
741
+ title: "Ollama (Local, High Quality)",
742
+ value: "ollama",
743
+ description: "Run models locally with Ollama. Requires: ollama serve"
744
+ },
745
+ {
746
+ title: "Transformers (Offline, No Setup)",
747
+ value: "transformers",
748
+ description: "Auto-download models, runs offline. No external setup needed."
749
+ },
750
+ {
751
+ title: "OpenAI (Cloud, Highest Quality)",
752
+ value: "openai",
753
+ description: "Cloud API with best quality. Requires API key and costs money."
754
+ }
755
+ ],
756
+ initial: 0,
757
+ });
758
+ if (!providerResponse.provider) {
759
+ return chalk.yellow("Selection cancelled");
760
+ }
761
+ const provider = providerResponse.provider;
762
+ // Step 2: Choose model from that provider
763
+ const models = getModelsByProvider(provider);
764
+ const modelChoices = models.map(m => ({
765
+ title: `${m.name} (${m.dimensions} dims, ${m.quality} quality)`,
766
+ value: m.name,
767
+ description: m.description + (m.installation ? ` - ${m.installation}` : "") + (m.cost ? ` - ${m.cost}` : "")
768
+ }));
769
+ // Highlight recommended model
770
+ const recommended = getRecommendedModel(provider);
771
+ if (recommended) {
772
+ const recIndex = modelChoices.findIndex(c => c.value === recommended.name);
773
+ if (recIndex >= 0) {
774
+ modelChoices[recIndex].title = `⭐ ${modelChoices[recIndex].title} (recommended)`;
775
+ }
776
+ }
777
+ const modelResponse = await prompts({
778
+ type: "select",
779
+ name: "model",
780
+ message: `Choose a model from ${capitalize(provider)}:`,
781
+ choices: modelChoices,
782
+ initial: 0,
783
+ });
784
+ if (!modelResponse.model) {
785
+ return chalk.yellow("Selection cancelled");
786
+ }
787
+ const modelName = modelResponse.model;
788
+ const selectedModel = models.find(m => m.name === modelName);
789
+ if (!selectedModel) {
790
+ return chalk.red("Error: Model not found");
791
+ }
792
+ // Step 3: Confirm and save
793
+ const confirmResponse = await prompts({
794
+ type: "confirm",
795
+ name: "confirm",
796
+ message: `Set ${selectedModel.name} as your embedding model?\n Provider: ${selectedModel.provider}\n Dimensions: ${selectedModel.dimensions}\n Quality: ${selectedModel.quality}`,
797
+ initial: true,
798
+ });
799
+ if (!confirmResponse.confirm) {
800
+ return chalk.yellow("Selection cancelled");
801
+ }
802
+ // Save configuration
803
+ ConfigManager.setConfigValue("provider", provider);
804
+ ConfigManager.setConfigValue("model", modelName);
805
+ ConfigManager.setConfigValue("dimensions", selectedModel.dimensions.toString());
806
+ let output = chalk.green(`✓ Configuration updated!\n\n`);
807
+ output += ` Provider: ${chalk.cyan(provider)}\n`;
808
+ output += ` Model: ${chalk.cyan(modelName)}\n`;
809
+ output += ` Dimensions: ${chalk.cyan(selectedModel.dimensions)}\n\n`;
810
+ // Add setup instructions
811
+ if (selectedModel.installation) {
812
+ output += chalk.yellow(`⚠️ Setup Required:\n`);
813
+ output += ` ${selectedModel.installation}\n\n`;
814
+ }
815
+ if (selectedModel.cost) {
816
+ output += chalk.yellow(`💰 Cost: ${selectedModel.cost}\n\n`);
817
+ }
818
+ output += chalk.dim("💡 Tip: You may need to reindex conversations for the new model:\n");
819
+ output += chalk.dim(" reset && index\n\n");
820
+ output += chalk.gray(`Config saved to: ${ConfigManager.getConfigPath()}\n`);
821
+ return output;
822
+ }
823
+ catch (error) {
824
+ if (error.message === "User force closed the prompt") {
825
+ return chalk.yellow("\nSelection cancelled");
826
+ }
827
+ return chalk.red(`Error: ${error.message}`);
828
+ }
829
+ }
590
830
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}