raggrep 0.17.0 → 0.18.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.
@@ -5,5 +5,10 @@ import type { EmbeddingConfig, EmbeddingProvider } from "../../domain/ports";
5
5
  /**
6
6
  * Instantiate the embedding adapter matching {@link EmbeddingConfig.runtime}.
7
7
  * Defaults to `@huggingface/transformers` when `runtime` is omitted.
8
+ *
9
+ * `@xenova/transformers` is loaded only when {@link EmbeddingConfig.runtime}
10
+ * is `"xenova"`. Loading both Xenova and Hugging Face stacks in one process
11
+ * pulls two different native `sharp`/libvips builds and can crash on macOS
12
+ * (duplicate Objective‑C classes, malloc errors after shutdown).
8
13
  */
9
- export declare function createEmbeddingProvider(config: EmbeddingConfig): EmbeddingProvider;
14
+ export declare function createEmbeddingProvider(config: EmbeddingConfig): Promise<EmbeddingProvider>;
@@ -5,9 +5,12 @@
5
5
  */
6
6
  export { EMBEDDING_MODEL_IDS, EMBEDDING_MODELS, ALL_EMBEDDING_MODEL_NAMES, BENCHMARK_MODEL_NAMES, EMBEDDING_DIMENSIONS, getEmbeddingModelId, getEmbeddingDimension, } from "./modelCatalog";
7
7
  export { RAGGREP_MODEL_CACHE_DIR } from "./embeddingPaths";
8
- export { XenovaTransformersEmbeddingProvider } from "./xenovaEmbeddingProvider";
9
- /** @deprecated Use {@link XenovaTransformersEmbeddingProvider} */
10
- export { TransformersEmbeddingProvider } from "./xenovaEmbeddingProvider";
8
+ /**
9
+ * Optional Xenova runtime: import {@link XenovaTransformersEmbeddingProvider} from
10
+ * `./xenovaEmbeddingProvider` only if you need it. Re-exporting it from this barrel
11
+ * would load `@xenova/transformers` for every CLI/SDK user and duplicate native
12
+ * `sharp`/libvips with the Hugging Face stack (crash on macOS).
13
+ */
11
14
  export { HuggingFaceTransformersEmbeddingProvider } from "./huggingfaceEmbeddingProvider";
12
15
  export { createEmbeddingProvider } from "./embeddingProviderFactory";
13
16
  export { configureEmbeddings, getEmbeddingConfig, getEmbedding, getEmbeddings, getCacheDir, isModelCached, resetGlobalEmbeddingProvider, } from "./globalEmbeddings";
@@ -5,7 +5,7 @@
5
5
  * These connect the domain to external systems (filesystem, ML models, etc.)
6
6
  */
7
7
  export { NodeFileSystem, nodeFileSystem } from "./filesystem";
8
- export { TransformersEmbeddingProvider, XenovaTransformersEmbeddingProvider, HuggingFaceTransformersEmbeddingProvider, createEmbeddingProvider, configureEmbeddings, getEmbedding, getEmbeddings, getEmbeddingConfig, getCacheDir, isModelCached, resetGlobalEmbeddingProvider, EMBEDDING_MODEL_IDS, EMBEDDING_DIMENSIONS, } from "./embeddings";
8
+ export { HuggingFaceTransformersEmbeddingProvider, createEmbeddingProvider, configureEmbeddings, getEmbedding, getEmbeddings, getEmbeddingConfig, getCacheDir, isModelCached, resetGlobalEmbeddingProvider, EMBEDDING_MODEL_IDS, EMBEDDING_DIMENSIONS, } from "./embeddings";
9
9
  export { FileIndexStorage, SymbolicIndex, getSymbolicPath } from "./storage";
10
10
  export { DEFAULT_CONFIG, EMBEDDING_MODELS, getRaggrepDir, getModuleIndexPath, getModuleManifestPath, getGlobalManifestPath, getConfigPath, loadConfig, saveConfig, getModuleConfig, getEmbeddingConfigFromModule, } from "./config";
11
11
  export { ConsoleLogger, InlineProgressLogger, SilentLogger, createLogger, createInlineLogger, createSilentLogger, } from "./logger";
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * This file re-exports domain entities and defines module interfaces.
5
5
  * For new code, prefer importing directly from 'domain/entities'.
6
6
  */
7
- export type { Chunk, ChunkType, FileIndex, FileManifestEntry, ModuleManifest, GlobalManifest, FileSummary, Tier1Manifest, SearchResult, SearchOptions, SearchContributions, CoreContribution, LanguageContribution, IntrospectionContribution, Config, ModuleConfig, ExactMatchOccurrence, ExactMatchFile, ExactMatchResults, HybridSearchResults, } from "./domain/entities";
7
+ export type { Chunk, ChunkType, FileIndex, FileManifestEntry, ModuleManifest, GlobalManifest, FileSummary, Tier1Manifest, SearchResult, SearchOptions, SearchContributions, CoreContribution, LanguageContribution, IntrospectionContribution, RankBy, Config, ModuleConfig, ExactMatchOccurrence, ExactMatchFile, ExactMatchResults, HybridSearchResults, RankingWeightsPartial, RankingWeightsConfig, LiteralBoostWeights, } from "./domain/entities";
8
8
  export { createChunkId, DEFAULT_SEARCH_OPTIONS, DEFAULT_IGNORE_PATHS, DEFAULT_EXTENSIONS, createDefaultConfig, } from "./domain/entities";
9
9
  import type { Config, FileIndex, SearchResult, SearchOptions, ModuleConfig } from "./domain/entities";
10
10
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raggrep",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "description": "Local filesystem-based RAG system for codebases - semantic search using local embeddings",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,9 +28,12 @@
28
28
  "prepublishOnly": "bun run build",
29
29
  "raggrep": "bun run src/app/cli/main.ts",
30
30
  "test": "bun test",
31
- "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p scripts/tsconfig.json",
32
- "bench:embeddings": "bun run scripts/benchmark-embedding-runtimes.ts",
33
- "bench:retrieval": "bun run scripts/benchmark-retrieval-quality.ts",
31
+ "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p research/tsconfig.json",
32
+ "bench:embeddings": "bun run research/bench/benchmark-embedding-runtimes.ts",
33
+ "bench:retrieval": "bun run research/bench/benchmark-retrieval-quality.ts",
34
+ "eval:golden": "bun run research/eval/run-golden-queries.ts",
35
+ "bench:golden-convex": "bun run research/bench/benchmark-raggrep-golden-queries.ts",
36
+ "bench:golden-hillclimb": "bun run research/bench/benchmark-raggrep-hillclimb.ts",
34
37
  "dev": "bun run src/app/cli/main.ts"
35
38
  },
36
39
  "keywords": [
@@ -62,7 +65,7 @@
62
65
  "@xenova/transformers": "^2.17.0",
63
66
  "chokidar": "^5.0.0",
64
67
  "fdir": "^6.5.0",
65
- "glob": "^10.0.0",
68
+ "glob": "^11.0.0",
66
69
  "minimatch": "^10.1.1",
67
70
  "typescript": "^5.0.0",
68
71
  "web-tree-sitter": "^0.26.3"
@@ -70,5 +73,9 @@
70
73
  "devDependencies": {
71
74
  "@types/bun": "latest",
72
75
  "@types/node": "^20.0.0"
76
+ },
77
+ "overrides": {
78
+ "sharp": "^0.34.5",
79
+ "global-agent": "^4.1.3"
73
80
  }
74
81
  }