kiri-mcp-server 0.9.9 → 0.10.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 (64) hide show
  1. package/README.md +51 -7
  2. package/dist/package.json +4 -1
  3. package/dist/src/client/proxy.js +81 -12
  4. package/dist/src/client/proxy.js.map +1 -1
  5. package/dist/src/daemon/daemon.js +91 -14
  6. package/dist/src/daemon/daemon.js.map +1 -1
  7. package/dist/src/server/abbreviations.d.ts +47 -0
  8. package/dist/src/server/abbreviations.d.ts.map +1 -0
  9. package/dist/src/server/abbreviations.js +71 -0
  10. package/dist/src/server/abbreviations.js.map +1 -0
  11. package/dist/src/server/boost-profiles.d.ts +63 -0
  12. package/dist/src/server/boost-profiles.d.ts.map +1 -0
  13. package/dist/src/server/boost-profiles.js +86 -0
  14. package/dist/src/server/boost-profiles.js.map +1 -0
  15. package/dist/src/server/handlers.d.ts +3 -2
  16. package/dist/src/server/handlers.d.ts.map +1 -1
  17. package/dist/src/server/handlers.js +457 -94
  18. package/dist/src/server/handlers.js.map +1 -1
  19. package/dist/src/server/main.d.ts.map +1 -1
  20. package/dist/src/server/main.js +112 -30
  21. package/dist/src/server/main.js.map +1 -1
  22. package/dist/src/server/rpc.d.ts.map +1 -1
  23. package/dist/src/server/rpc.js +28 -9
  24. package/dist/src/server/rpc.js.map +1 -1
  25. package/dist/src/server/rrf.d.ts +86 -0
  26. package/dist/src/server/rrf.d.ts.map +1 -0
  27. package/dist/src/server/rrf.js +108 -0
  28. package/dist/src/server/rrf.js.map +1 -0
  29. package/dist/src/server/scoring.d.ts.map +1 -1
  30. package/dist/src/server/scoring.js +19 -0
  31. package/dist/src/server/scoring.js.map +1 -1
  32. package/dist/src/shared/cli/args.d.ts +70 -0
  33. package/dist/src/shared/cli/args.d.ts.map +1 -0
  34. package/dist/src/shared/cli/args.js +84 -0
  35. package/dist/src/shared/cli/args.js.map +1 -0
  36. package/dist/src/shared/embedding/engine.d.ts +38 -0
  37. package/dist/src/shared/embedding/engine.d.ts.map +1 -0
  38. package/dist/src/shared/embedding/engine.js +6 -0
  39. package/dist/src/shared/embedding/engine.js.map +1 -0
  40. package/dist/src/shared/embedding/lsh-engine.d.ts +11 -0
  41. package/dist/src/shared/embedding/lsh-engine.d.ts.map +1 -0
  42. package/dist/src/shared/embedding/lsh-engine.js +14 -0
  43. package/dist/src/shared/embedding/lsh-engine.js.map +1 -0
  44. package/dist/src/shared/embedding/registry.d.ts +25 -0
  45. package/dist/src/shared/embedding/registry.d.ts.map +1 -0
  46. package/dist/src/shared/embedding/registry.js +50 -0
  47. package/dist/src/shared/embedding/registry.js.map +1 -0
  48. package/dist/src/shared/embedding/semantic-engine.d.ts +14 -0
  49. package/dist/src/shared/embedding/semantic-engine.d.ts.map +1 -0
  50. package/dist/src/shared/embedding/semantic-engine.js +50 -0
  51. package/dist/src/shared/embedding/semantic-engine.js.map +1 -0
  52. package/dist/src/shared/models/model-manager.d.ts +38 -0
  53. package/dist/src/shared/models/model-manager.d.ts.map +1 -0
  54. package/dist/src/shared/models/model-manager.js +116 -0
  55. package/dist/src/shared/models/model-manager.js.map +1 -0
  56. package/dist/src/shared/models/model-manifest.d.ts +22 -0
  57. package/dist/src/shared/models/model-manifest.d.ts.map +1 -0
  58. package/dist/src/shared/models/model-manifest.js +24 -0
  59. package/dist/src/shared/models/model-manifest.js.map +1 -0
  60. package/dist/src/shared/utils/validation.d.ts +14 -0
  61. package/dist/src/shared/utils/validation.d.ts.map +1 -0
  62. package/dist/src/shared/utils/validation.js +22 -0
  63. package/dist/src/shared/utils/validation.js.map +1 -0
  64. package/package.json +4 -1
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Boost Profile Configurations
3
+ *
4
+ * This module provides centralized configuration for boost_profile options.
5
+ * Each profile defines how different file types should be ranked in search results.
6
+ *
7
+ * Profiles:
8
+ * - default: Prioritizes implementation files over documentation
9
+ * - docs: Prioritizes documentation over implementation
10
+ * - balanced: Equal weight for both docs and implementation
11
+ * - none: No file type boosting (pure keyword scoring)
12
+ */
13
+ /**
14
+ * Boost profile definitions
15
+ * Centralized configuration for all boost profiles
16
+ */
17
+ export const BOOST_PROFILES = {
18
+ default: {
19
+ denylistOverrides: [],
20
+ fileTypeMultipliers: {
21
+ doc: 0.5, // 50% penalty for docs
22
+ impl: 1.3, // 30% boost for implementation
23
+ config: 0.05, // 95% penalty for config files
24
+ },
25
+ // ✅ Sorted by prefix length (longest first) for correct matching priority
26
+ pathMultipliers: [
27
+ { prefix: "src/components/", multiplier: 1.3 },
28
+ { prefix: "src/app/", multiplier: 1.4 },
29
+ { prefix: "src/lib/", multiplier: 1.2 },
30
+ { prefix: "src/", multiplier: 1.0 },
31
+ ],
32
+ },
33
+ docs: {
34
+ denylistOverrides: ["docs/"],
35
+ fileTypeMultipliers: {
36
+ doc: 1.5, // 50% boost for docs
37
+ impl: 0.5, // 50% penalty for implementation
38
+ config: 0.05, // Config files still penalized
39
+ },
40
+ pathMultipliers: [], // No path-specific boosts in docs mode
41
+ },
42
+ balanced: {
43
+ denylistOverrides: ["docs/"],
44
+ fileTypeMultipliers: {
45
+ doc: 1.0, // No penalty for docs
46
+ impl: 1.0, // No boost for implementation
47
+ // Config files in balanced mode are considered more relevant for understanding
48
+ // a project's structure alongside its documentation. Therefore, we use a
49
+ // higher multiplier (0.3x vs 0.05x in default) to keep them accessible.
50
+ config: 0.3,
51
+ },
52
+ pathMultipliers: [], // No path-specific boosts in balanced mode
53
+ // Skip additive penalty (-1.5) for config files; use only multiplicative penalty.
54
+ // This prevents config files from being completely deprioritized in balanced searches
55
+ // where understanding project setup is often as important as code/docs.
56
+ skipConfigAdditivePenalty: true,
57
+ },
58
+ none: {
59
+ denylistOverrides: [],
60
+ fileTypeMultipliers: {
61
+ doc: 1.0, // No penalty/boost
62
+ impl: 1.0, // No penalty/boost
63
+ config: 1.0, // No penalty/boost
64
+ },
65
+ pathMultipliers: [],
66
+ },
67
+ };
68
+ /**
69
+ * Get boost profile configuration by name
70
+ * @throws Error if profile name is invalid
71
+ */
72
+ export function getBoostProfile(name) {
73
+ const profile = BOOST_PROFILES[name];
74
+ if (!profile) {
75
+ throw new Error(`Invalid boost profile: "${name}". ` +
76
+ `Valid profiles are: ${Object.keys(BOOST_PROFILES).join(", ")}`);
77
+ }
78
+ return profile;
79
+ }
80
+ /**
81
+ * Check if a profile name is valid
82
+ */
83
+ export function isValidBoostProfile(name) {
84
+ return name in BOOST_PROFILES;
85
+ }
86
+ //# sourceMappingURL=boost-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boost-profiles.js","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwCH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiD;IAC1E,OAAO,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,uBAAuB;YACjC,IAAI,EAAE,GAAG,EAAE,+BAA+B;YAC1C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,0EAA0E;QAC1E,eAAe,EAAE;YACf,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE;YAC9C,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YACvC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE;SACpC;KACF;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,qBAAqB;YAC/B,IAAI,EAAE,GAAG,EAAE,iCAAiC;YAC5C,MAAM,EAAE,IAAI,EAAE,+BAA+B;SAC9C;QACD,eAAe,EAAE,EAAE,EAAE,uCAAuC;KAC7D;IAED,QAAQ,EAAE;QACR,iBAAiB,EAAE,CAAC,OAAO,CAAC;QAC5B,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,sBAAsB;YAChC,IAAI,EAAE,GAAG,EAAE,8BAA8B;YACzC,+EAA+E;YAC/E,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,EAAE,GAAG;SACZ;QACD,eAAe,EAAE,EAAE,EAAE,2CAA2C;QAChE,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,yBAAyB,EAAE,IAAI;KAChC;IAED,IAAI,EAAE;QACJ,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE;YACnB,GAAG,EAAE,GAAG,EAAE,mBAAmB;YAC7B,IAAI,EAAE,GAAG,EAAE,mBAAmB;YAC9B,MAAM,EAAE,GAAG,EAAE,mBAAmB;SACjC;QACD,eAAe,EAAE,EAAE;KACpB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,KAAK;YAClC,uBAAuB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,IAAI,cAAc,CAAC;AAChC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { DuckDBClient } from "../shared/duckdb.js";
2
+ import { type BoostProfileName } from "./boost-profiles.js";
2
3
  import { ServerContext } from "./context.js";
3
4
  export interface FilesSearchParams {
4
5
  query: string;
@@ -6,7 +7,7 @@ export interface FilesSearchParams {
6
7
  ext?: string;
7
8
  path_prefix?: string;
8
9
  limit?: number;
9
- boost_profile?: "default" | "docs" | "none";
10
+ boost_profile?: BoostProfileName;
10
11
  compact?: boolean;
11
12
  }
12
13
  export interface FilesSearchResult {
@@ -43,7 +44,7 @@ export interface ContextBundleParams {
43
44
  artifacts?: ContextBundleArtifacts;
44
45
  limit?: number;
45
46
  profile?: string;
46
- boost_profile?: "default" | "docs" | "none";
47
+ boost_profile?: BoostProfileName;
47
48
  compact?: boolean;
48
49
  includeTokensEstimate?: boolean;
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"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"}