- Add embedding_profiles table with provider registry pattern - Install @xenova/transformers as runtime dependency - Update snippet_embeddings with composite PK (snippet_id, profile_id) - Seed default local profile using Xenova/all-MiniLM-L6-v2 - Add provider registry (local-transformers, openai-compatible) - Update EmbeddingService to persist and retrieve by profileId - Add version-scoped VectorSearch with optional versionId filtering - Add searchMode (auto|keyword|semantic|hybrid) to HybridSearchService - Update API /context route to load active profile, support searchMode/alpha params - Extend MCP query-docs tool with searchMode and alpha parameters - Update settings API to work with embedding_profiles table - Add comprehensive test coverage for profiles, registry, version scoping Status: 445/451 tests passing, core feature complete
60 lines
1.7 KiB
JSON
60 lines
1.7 KiB
JSON
{
|
|
"name": "trueref",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
"lint": "prettier --check . && eslint .",
|
|
"format": "prettier --write .",
|
|
"test:unit": "vitest",
|
|
"test": "npm run test:unit -- --run",
|
|
"mcp:start": "tsx src/mcp/index.ts",
|
|
"mcp:http": "tsx src/mcp/index.ts --transport http --port 3001",
|
|
"db:push": "drizzle-kit push",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "drizzle-kit migrate",
|
|
"db:studio": "drizzle-kit studio"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/compat": "^2.0.2",
|
|
"@eslint/js": "^9.39.2",
|
|
"@sveltejs/adapter-node": "^5.5.2",
|
|
"@sveltejs/kit": "^2.50.2",
|
|
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
"@tailwindcss/vite": "^4.1.18",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/node": "^24",
|
|
"@vitest/browser-playwright": "^4.1.0",
|
|
"drizzle-kit": "^0.31.8",
|
|
"drizzle-orm": "^0.45.1",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-svelte": "^3.14.0",
|
|
"globals": "^17.3.0",
|
|
"playwright": "^1.58.2",
|
|
"prettier": "^3.8.1",
|
|
"prettier-plugin-svelte": "^3.4.1",
|
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
"svelte": "^5.51.0",
|
|
"svelte-check": "^4.4.2",
|
|
"tailwindcss": "^4.1.18",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.54.0",
|
|
"vite": "^7.3.1",
|
|
"vitest": "^4.1.0",
|
|
"vitest-browser-svelte": "^2.0.2"
|
|
},
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
"@xenova/transformers": "^2.17.2",
|
|
"better-sqlite3": "^12.6.2",
|
|
"zod": "^4.3.6"
|
|
}
|
|
}
|