@tai-io/codesearch 2026.313.1614
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/build-info.d.ts +3 -0
- package/dist/build-info.js +4 -0
- package/dist/config.d.ts +62 -0
- package/dist/config.js +52 -0
- package/dist/core/cleanup.d.ts +8 -0
- package/dist/core/cleanup.js +41 -0
- package/dist/core/doc-indexer.d.ts +13 -0
- package/dist/core/doc-indexer.js +76 -0
- package/dist/core/doc-searcher.d.ts +13 -0
- package/dist/core/doc-searcher.js +65 -0
- package/dist/core/file-category.d.ts +7 -0
- package/dist/core/file-category.js +75 -0
- package/dist/core/indexer.d.ts +18 -0
- package/dist/core/indexer.js +177 -0
- package/dist/core/preview.d.ts +13 -0
- package/dist/core/preview.js +58 -0
- package/dist/core/repo-map.d.ts +33 -0
- package/dist/core/repo-map.js +144 -0
- package/dist/core/searcher.d.ts +12 -0
- package/dist/core/searcher.js +97 -0
- package/dist/core/sync.d.ts +15 -0
- package/dist/core/sync.js +212 -0
- package/dist/core/targeted-indexer.d.ts +19 -0
- package/dist/core/targeted-indexer.js +127 -0
- package/dist/embedding/factory.d.ts +4 -0
- package/dist/embedding/factory.js +24 -0
- package/dist/embedding/openai.d.ts +33 -0
- package/dist/embedding/openai.js +234 -0
- package/dist/embedding/truncate.d.ts +6 -0
- package/dist/embedding/truncate.js +14 -0
- package/dist/embedding/types.d.ts +18 -0
- package/dist/embedding/types.js +2 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.js +21 -0
- package/dist/format.d.ts +18 -0
- package/dist/format.js +151 -0
- package/dist/hooks/cli-router.d.ts +7 -0
- package/dist/hooks/cli-router.js +47 -0
- package/dist/hooks/hook-output.d.ts +56 -0
- package/dist/hooks/hook-output.js +21 -0
- package/dist/hooks/post-tool-use.d.ts +13 -0
- package/dist/hooks/post-tool-use.js +123 -0
- package/dist/hooks/stop-hook.d.ts +11 -0
- package/dist/hooks/stop-hook.js +137 -0
- package/dist/hooks/targeted-runner.d.ts +11 -0
- package/dist/hooks/targeted-runner.js +58 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +138 -0
- package/dist/paths.d.ts +11 -0
- package/dist/paths.js +54 -0
- package/dist/setup-message.d.ts +4 -0
- package/dist/setup-message.js +48 -0
- package/dist/splitter/ast.d.ts +13 -0
- package/dist/splitter/ast.js +231 -0
- package/dist/splitter/line.d.ts +10 -0
- package/dist/splitter/line.js +103 -0
- package/dist/splitter/symbol-extract.d.ts +16 -0
- package/dist/splitter/symbol-extract.js +61 -0
- package/dist/splitter/types.d.ts +16 -0
- package/dist/splitter/types.js +2 -0
- package/dist/state/doc-metadata.d.ts +18 -0
- package/dist/state/doc-metadata.js +59 -0
- package/dist/state/registry.d.ts +7 -0
- package/dist/state/registry.js +46 -0
- package/dist/state/snapshot.d.ts +26 -0
- package/dist/state/snapshot.js +100 -0
- package/dist/tool-schemas.d.ts +215 -0
- package/dist/tool-schemas.js +269 -0
- package/dist/tools.d.ts +58 -0
- package/dist/tools.js +245 -0
- package/dist/vectordb/rrf.d.ts +32 -0
- package/dist/vectordb/rrf.js +88 -0
- package/dist/vectordb/sqlite.d.ts +34 -0
- package/dist/vectordb/sqlite.js +624 -0
- package/dist/vectordb/types.d.ts +63 -0
- package/dist/vectordb/types.js +2 -0
- package/messages.yaml +69 -0
- package/package.json +79 -0
package/messages.yaml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Eidetic user-facing messages — edit here, everything else reads from this file.
|
|
2
|
+
|
|
3
|
+
welcome:
|
|
4
|
+
ascii_art: |
|
|
5
|
+
┌─────────────────────────────────────────────┐
|
|
6
|
+
│ ╔═╗╦╔╦╗╔═╗╔╦╗╦╔═╗ │
|
|
7
|
+
│ ║╣ ║ ║║║╣ ║ ║║ semantic code search │
|
|
8
|
+
│ ╚═╝╩═╩╝╚═╝ ╩ ╩╚═╝ for Claude Code │
|
|
9
|
+
└─────────────────────────────────────────────┘
|
|
10
|
+
first_run: |
|
|
11
|
+
Eidetic is ready! Quick start:
|
|
12
|
+
1. `/index` — index this codebase
|
|
13
|
+
2. `search("how does X work")` — search by meaning
|
|
14
|
+
3. That's it. Everything else is optional.
|
|
15
|
+
|
|
16
|
+
setup:
|
|
17
|
+
missing:
|
|
18
|
+
header: "Eidetic setup required: No API key configured."
|
|
19
|
+
diagnosis: >
|
|
20
|
+
`OPENAI_API_KEY` is not set and no alternative provider is configured.
|
|
21
|
+
step1: "**Get an API key**: https://platform.openai.com/api-keys"
|
|
22
|
+
|
|
23
|
+
invalid:
|
|
24
|
+
header: "Eidetic setup failed: {error}"
|
|
25
|
+
diagnosis: >
|
|
26
|
+
Key/provider is configured but initialization failed.
|
|
27
|
+
The key may be invalid, expired, or the provider may be unreachable.
|
|
28
|
+
step1: "**Verify your key** is valid and has embedding permissions"
|
|
29
|
+
|
|
30
|
+
unknown:
|
|
31
|
+
header: "Eidetic setup failed: {error}"
|
|
32
|
+
diagnosis: ""
|
|
33
|
+
step1: "**Get an API key**: https://platform.openai.com/api-keys"
|
|
34
|
+
|
|
35
|
+
# Shown on Windows
|
|
36
|
+
config_instructions_windows: |
|
|
37
|
+
### Set your API key
|
|
38
|
+
```
|
|
39
|
+
setx OPENAI_API_KEY sk-your-key-here
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
# Shown on macOS / Linux
|
|
43
|
+
config_instructions_unix: |
|
|
44
|
+
### Set your API key
|
|
45
|
+
Add to your shell profile (`~/.bashrc`, `~/.zshrc`, etc.):
|
|
46
|
+
```
|
|
47
|
+
export OPENAI_API_KEY="sk-your-key-here"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
# Shared across all contexts
|
|
51
|
+
config_instructions: |
|
|
52
|
+
### Windows
|
|
53
|
+
```
|
|
54
|
+
setx OPENAI_API_KEY sk-your-key-here
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### macOS / Linux
|
|
58
|
+
Add to your shell profile (`~/.bashrc`, `~/.zshrc`, etc.):
|
|
59
|
+
```
|
|
60
|
+
export OPENAI_API_KEY="sk-your-key-here"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
config_alternatives: |
|
|
64
|
+
### Alternative methods
|
|
65
|
+
|
|
66
|
+
#### Using Ollama instead (free, local)
|
|
67
|
+
Set `EMBEDDING_PROVIDER=ollama` in your shell profile (requires Ollama running locally with `nomic-embed-text`).
|
|
68
|
+
|
|
69
|
+
footer: "**Restart Claude Code** for changes to take effect."
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tai-io/codesearch",
|
|
3
|
+
"version": "2026.313.1614",
|
|
4
|
+
"description": "Semantic code search MCP server for Claude Code",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"eidetic-codesearch": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/**/*.js",
|
|
12
|
+
"dist/**/*.d.ts",
|
|
13
|
+
"!dist/**/*.test.*",
|
|
14
|
+
"!dist/__tests__/**",
|
|
15
|
+
"!dist/**/tests/**",
|
|
16
|
+
"!dist/e2e/**",
|
|
17
|
+
"messages.yaml"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"prebuild": "npx tsx scripts/generate-build-info.ts",
|
|
21
|
+
"build": "npx tsc",
|
|
22
|
+
"dev": "npx tsx --watch src/index.ts",
|
|
23
|
+
"start": "node dist/index.js",
|
|
24
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
25
|
+
"lint": "npx eslint src/",
|
|
26
|
+
"lint:fix": "npx eslint src/ --fix",
|
|
27
|
+
"format": "npx prettier --write \"src/**/*.ts\"",
|
|
28
|
+
"format:check": "npx prettier --check \"src/**/*.ts\"",
|
|
29
|
+
"typecheck": "npx tsc --noEmit",
|
|
30
|
+
"test": "vitest run",
|
|
31
|
+
"test:watch": "vitest",
|
|
32
|
+
"test:coverage": "vitest run --coverage",
|
|
33
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
34
|
+
"test:all": "vitest run && vitest run --config vitest.integration.config.ts",
|
|
35
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
39
|
+
"better-sqlite3": "^12.6.2",
|
|
40
|
+
"glob": "^11.0.0",
|
|
41
|
+
"openai": "^5.1.1",
|
|
42
|
+
"sqlite-vec": "^0.1.6",
|
|
43
|
+
"tree-sitter": "^0.21.1",
|
|
44
|
+
"tree-sitter-c-sharp": "^0.21.0",
|
|
45
|
+
"tree-sitter-cpp": "^0.22.0",
|
|
46
|
+
"tree-sitter-go": "^0.21.0",
|
|
47
|
+
"tree-sitter-java": "^0.21.0",
|
|
48
|
+
"tree-sitter-javascript": "^0.21.0",
|
|
49
|
+
"tree-sitter-python": "^0.21.0",
|
|
50
|
+
"tree-sitter-rust": "^0.21.0",
|
|
51
|
+
"tree-sitter-typescript": "^0.21.0",
|
|
52
|
+
"yaml": "^2.8.2",
|
|
53
|
+
"zod": "^3.25.0"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@eslint/js": "^9.39.3",
|
|
57
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
58
|
+
"@types/node": "^20.0.0",
|
|
59
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
60
|
+
"eslint": "^9.39.3",
|
|
61
|
+
"eslint-config-prettier": "^10.1.8",
|
|
62
|
+
"prettier": "^3.8.1",
|
|
63
|
+
"tsx": "^4.19.4",
|
|
64
|
+
"typescript": "^5.8.3",
|
|
65
|
+
"typescript-eslint": "^8.56.0",
|
|
66
|
+
"vitest": "^4.0.18"
|
|
67
|
+
},
|
|
68
|
+
"overrides": {
|
|
69
|
+
"minimatch": "^10.2.1"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=20.0.0"
|
|
73
|
+
},
|
|
74
|
+
"repository": {
|
|
75
|
+
"type": "git",
|
|
76
|
+
"url": "https://github.com/eidetics/claude-codesearch.git"
|
|
77
|
+
},
|
|
78
|
+
"license": "MIT"
|
|
79
|
+
}
|