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
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Intelligent code context extraction for LLMs via Model Context Protocol
4
4
 
5
- [![Version](https://img.shields.io/badge/version-0.9.9-blue.svg)](package.json)
5
+ [![Version](https://img.shields.io/badge/version-0.10.0-blue.svg)](package.json)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
8
8
  [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
@@ -223,12 +223,12 @@ Tip: Avoid leading command words like `find` or `show`; instead list concrete mo
223
223
 
224
224
  **Parameters:**
225
225
 
226
- | Parameter | Type | Required | Description |
227
- | --------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
228
- | `goal` | string | Yes | Task description or question about the code |
229
- | `limit` | number | No | Max snippets to return (default: 12, max: 20) |
230
- | `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7) |
231
- | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` **(prioritizes .md/.yaml, includes docs/ directory)**, `"none"` (no boosting) |
226
+ | Parameter | Type | Required | Description |
227
+ | --------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
228
+ | `goal` | string | Yes | Task description or question about the code |
229
+ | `limit` | number | No | Max snippets to return (default: 12, max: 20) |
230
+ | `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7) |
231
+ | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` (prioritizes .md/.yaml, includes docs/ directory), `"balanced"` (equal weight for docs and impl, NEW in v0.9.10), `"none"` (no boosting) |
232
232
 
233
233
  ### 2. files_search
234
234
 
@@ -507,7 +507,17 @@ const db = await DuckDBClient.connect({
507
507
  Control search ranking behavior with the `boost_profile` parameter:
508
508
 
509
509
  - **`"default"`** (default): Prioritizes implementation files (`src/*.ts`) over documentation
510
+ - Implementation files get 30% boost, documentation files get 50% penalty
511
+ - Config files heavily penalized (95% reduction)
512
+ - `docs/` directory is blacklisted
510
513
  - **`"docs"`**: Prioritizes documentation files (`*.md`) over implementation
514
+ - Documentation files get 50% boost, implementation files get 50% penalty
515
+ - `docs/` directory is included in search results
516
+ - **`"balanced"`** (NEW in v0.9.10): Equal weight for docs and implementation
517
+ - Both documentation and implementation files: no penalty/boost (1.0x)
518
+ - Config files: relaxed penalty (0.3x, compared to 0.05x in default)
519
+ - `docs/` directory is included in search results
520
+ - No path-specific multipliers (treats all `src/` equally)
511
521
  - **`"none"`**: Pure BM25 scoring without file type adjustments
512
522
 
513
523
  ```typescript
@@ -517,6 +527,9 @@ files_search({ query: "authentication", boost_profile: "default" });
517
527
  // Find documentation
518
528
  files_search({ query: "setup guide", boost_profile: "docs" });
519
529
 
530
+ // Balanced search (docs and code equally weighted)
531
+ files_search({ query: "authentication design", boost_profile: "balanced" });
532
+
520
533
  // Pure BM25 ranking without boosting
521
534
  files_search({ query: "API", boost_profile: "none" });
522
535
  ```
@@ -744,6 +757,37 @@ See [docs/architecture.md](docs/architecture.md) for detailed technical informat
744
757
  | **Precision @ 10** | ≥ 0.7 | ✅ 0.75 |
745
758
  | **Token Reduction (compact)** | ≥ 90% | ✅ 95% (v0.8) |
746
759
 
760
+ ### Evaluation & Quality Assurance
761
+
762
+ KIRI includes a **Golden Set Evaluation System** for tracking search accuracy over time using representative queries.
763
+
764
+ **Metrics:**
765
+
766
+ - **P@10** (Precision at K=10): Fraction of relevant results in top 10 (target: ≥0.70)
767
+ - **TFFU** (Time To First Useful): Time until first relevant result appears (target: ≤1000ms)
768
+
769
+ **For Developers:**
770
+
771
+ ```bash
772
+ # Run benchmark evaluation (local only)
773
+ pnpm run eval:golden
774
+
775
+ # Verbose output
776
+ pnpm run eval:golden:verbose
777
+ ```
778
+
779
+ The benchmark system evaluates 5+ representative queries across categories (bugfix, feature, refactor, infra, docs) and outputs:
780
+
781
+ - JSON: Detailed per-query results (`var/eval/latest.json`)
782
+ - Markdown: Summary table (`var/eval/latest.md`)
783
+
784
+ **Documentation:**
785
+
786
+ - [Golden Set Guide](tests/eval/goldens/README.md) - Query format, categories, adding queries
787
+ - [Results Recording](tests/eval/results/README.md) - Tracking improvements over time
788
+
789
+ See [docs/testing.md](docs/testing.md) for complete testing and evaluation guidelines.
790
+
747
791
  ### Community
748
792
 
749
793
  - [GitHub Issues](https://github.com/CAPHTECH/kiri/issues) - Bug reports and feature requests
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiri-mcp-server",
3
- "version": "0.9.9",
3
+ "version": "0.10.0",
4
4
  "description": "KIRI context extraction platform",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@9.0.0",
@@ -63,6 +63,8 @@
63
63
  "verify:tools": "tsx scripts/test/verify-all.ts --category tools",
64
64
  "verify:watch": "tsx scripts/test/verify-all.ts --category watch",
65
65
  "verify:eval": "tsx scripts/test/verify-all.ts --category eval",
66
+ "eval:golden": "tsx scripts/eval/run-golden.ts",
67
+ "eval:golden:verbose": "tsx scripts/eval/run-golden.ts --verbose",
66
68
  "check": "pnpm run lint && pnpm run test",
67
69
  "prepublishOnly": "pnpm run build"
68
70
  },
@@ -88,6 +90,7 @@
88
90
  "eslint-config-prettier": "^9.1.0",
89
91
  "eslint-plugin-import": "^2.29.1",
90
92
  "execa": "^9.6.0",
93
+ "fast-check": "^4.3.0",
91
94
  "lint-staged": "^15.2.10",
92
95
  "prettier": "^3.3.3",
93
96
  "simple-git-hooks": "^2.10.0",
@@ -8,25 +8,94 @@
8
8
  import * as net from "net";
9
9
  import * as path from "path";
10
10
  import * as readline from "readline";
11
- import { parseArgs } from "util";
12
11
  import packageJson from "../../package.json" with { type: "json" };
12
+ import { defineCli } from "../shared/cli/args.js";
13
13
  import { getSocketPath } from "../shared/utils/socket.js";
14
14
  import { startDaemon, isDaemonRunning, stopDaemon } from "./start-daemon.js";
15
+ /**
16
+ * CLI specification for kiri proxy
17
+ */
18
+ const PROXY_CLI_SPEC = {
19
+ commandName: "kiri",
20
+ description: "KIRI MCP Client Proxy - Bridges stdio (MCP client) ↔ Unix socket (daemon)",
21
+ version: packageJson.version,
22
+ usage: "kiri [options]",
23
+ sections: [
24
+ {
25
+ title: "Repository / Database",
26
+ options: [
27
+ {
28
+ flag: "repo",
29
+ type: "string",
30
+ description: "Repository root path",
31
+ placeholder: "<path>",
32
+ default: ".",
33
+ },
34
+ {
35
+ flag: "db",
36
+ type: "string",
37
+ description: "Database file path (default: var/index.duckdb relative to --repo)",
38
+ placeholder: "<path>",
39
+ },
40
+ ],
41
+ },
42
+ {
43
+ title: "Daemon Connection",
44
+ options: [
45
+ {
46
+ flag: "socket-path",
47
+ type: "string",
48
+ description: "Unix socket path for daemon connection",
49
+ placeholder: "<path>",
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ title: "Watch Mode",
55
+ options: [
56
+ {
57
+ flag: "watch",
58
+ type: "boolean",
59
+ description: "Enable watch mode for automatic re-indexing",
60
+ default: false,
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ title: "Security",
66
+ options: [
67
+ {
68
+ flag: "allow-degrade",
69
+ type: "boolean",
70
+ description: "Allow degraded mode without VSS/FTS extensions",
71
+ default: false,
72
+ },
73
+ {
74
+ flag: "security-config",
75
+ type: "string",
76
+ description: "Security configuration file path",
77
+ placeholder: "<path>",
78
+ },
79
+ {
80
+ flag: "security-lock",
81
+ type: "string",
82
+ description: "Security lock file path",
83
+ placeholder: "<path>",
84
+ },
85
+ ],
86
+ },
87
+ ],
88
+ examples: [
89
+ "kiri --repo /path/to/repo --db /path/to/index.duckdb",
90
+ "kiri --watch --allow-degrade",
91
+ "kiri --security-config config/security.yaml",
92
+ ],
93
+ };
15
94
  /**
16
95
  * CLI引数をパース
17
96
  */
18
97
  function parseProxyArgs() {
19
- const { values } = parseArgs({
20
- options: {
21
- repo: { type: "string" },
22
- db: { type: "string" },
23
- "socket-path": { type: "string" },
24
- watch: { type: "boolean", default: false },
25
- "allow-degrade": { type: "boolean", default: false },
26
- "security-config": { type: "string" },
27
- "security-lock": { type: "string" },
28
- },
29
- });
98
+ const { values } = defineCli(PROXY_CLI_SPEC);
30
99
  const repoRoot = path.resolve(values.repo || process.cwd());
31
100
  const databasePath = path.resolve(values.db || path.join(repoRoot, "var", "index.duckdb"));
32
101
  const socketPath = values["socket-path"]
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/client/proxy.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiB7E;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1C,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpC;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhC,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAChC,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK;QAC9C,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC7C,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,MAAkB;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,2BAA2B;QAC3B,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,eAAe;YACnB,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;YACnC,IAAI,gBAAgB;gBAAE,OAAO;YAE7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,QAAQ,CAAC,EAAE,KAAK,eAAe,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACvD,gBAAgB,GAAG,IAAI,CAAC;oBACxB,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBAE3C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,SAAS,CAAC;oBACvE,MAAM,aAAa,GACjB,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBAE3E,uBAAuB;oBACvB,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxE,MAAM,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExE,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;wBAC1C,MAAM,CACJ,IAAI,KAAK,CACP,4BAA4B,aAAa,gCAAgC,aAAa,kDAAkD,CACzI,CACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CACX,wCAAwC,aAAa,YAAY,aAAa,EAAE,CACjF,CAAC;wBACF,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,6DAA6D;YAC/D,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,UAAkB,EAClB,UAAkB,EAClB,YAAoB;IAEpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEvC,UAAU;YACV,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,8BAA8B,OAAO,IAAI,UAAU,YAAa,GAAa,CAAC,OAAO,EAAE,CACxF,CAAC;YAEF,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,qCAAqC,UAAU,gCAAiC,GAAa,CAAC,OAAO,EAAE,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAkB;IAC7C,iBAAiB;IACjB,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC5C,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAEhE,UAAU;YACV,MAAM,WAAW,CAAC;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC,CAAC;YAEH,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;QAED,UAAU;QACV,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACrB,CAAC;QAEF,gBAAgB;QAChB,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,YAAqB,CAAC;YACzC,0BAA0B;YAC1B,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,WAAW,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;gBAEjF,MAAM,CAAC,OAAO,EAAE,CAAC;gBAEjB,YAAY;gBACZ,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAEvC,oBAAoB;gBACpB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAE1D,aAAa;gBACb,MAAM,WAAW,CAAC;oBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;iBAC3C,CAAC,CAAC;gBAEH,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBAExE,UAAU;gBACV,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACrB,CAAC;gBAEF,cAAc;gBACd,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAEpC,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAEzE,yBAAyB;gBACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,YAAY,CAAC;QACrB,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAEzE,yBAAyB;QACzB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAY,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,CAAC,YAAY,aAAa,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,YAAY;AACZ,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/client/proxy.ts"],"names":[],"mappings":"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"}
@@ -6,29 +6,106 @@
6
6
  * Manages DuckDB connection, watch mode, and graceful lifecycle.
7
7
  */
8
8
  import * as path from "path";
9
- import { parseArgs } from "util";
9
+ import packageJson from "../../package.json" with { type: "json" };
10
10
  import { ensureDatabaseIndexed } from "../server/indexBootstrap.js";
11
11
  import { createRpcHandler } from "../server/rpc.js";
12
12
  import { createServerRuntime } from "../server/runtime.js";
13
+ import { defineCli } from "../shared/cli/args.js";
13
14
  import { getSocketPath } from "../shared/utils/socket.js";
15
+ import { parsePositiveInt } from "../shared/utils/validation.js";
14
16
  import { DaemonLifecycle } from "./lifecycle.js";
15
17
  import { createSocketServer } from "./socket.js";
18
+ /**
19
+ * CLI specification for kiri-daemon
20
+ */
21
+ const DAEMON_CLI_SPEC = {
22
+ commandName: "kiri-daemon",
23
+ description: "KIRI Daemon Process - Manages DuckDB connection and handles client requests",
24
+ version: packageJson.version,
25
+ usage: "kiri-daemon [options]",
26
+ sections: [
27
+ {
28
+ title: "Repository / Database",
29
+ options: [
30
+ {
31
+ flag: "repo",
32
+ type: "string",
33
+ description: "Repository root path",
34
+ placeholder: "<path>",
35
+ default: ".",
36
+ },
37
+ {
38
+ flag: "db",
39
+ type: "string",
40
+ description: "Database file path (default: var/index.duckdb relative to --repo)",
41
+ placeholder: "<path>",
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ title: "Daemon Lifecycle",
47
+ options: [
48
+ {
49
+ flag: "socket-path",
50
+ type: "string",
51
+ description: "Unix socket path for daemon connection",
52
+ placeholder: "<path>",
53
+ },
54
+ {
55
+ flag: "daemon-timeout",
56
+ type: "string",
57
+ description: "Idle timeout in minutes before daemon auto-shutdown",
58
+ placeholder: "<minutes>",
59
+ default: "5",
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ title: "Watch Mode",
65
+ options: [
66
+ {
67
+ flag: "watch",
68
+ type: "boolean",
69
+ description: "Enable watch mode for automatic re-indexing",
70
+ default: false,
71
+ },
72
+ ],
73
+ },
74
+ {
75
+ title: "Security",
76
+ options: [
77
+ {
78
+ flag: "allow-degrade",
79
+ type: "boolean",
80
+ description: "Allow degraded mode without VSS/FTS extensions",
81
+ default: false,
82
+ },
83
+ {
84
+ flag: "security-config",
85
+ type: "string",
86
+ description: "Security configuration file path",
87
+ placeholder: "<path>",
88
+ },
89
+ {
90
+ flag: "security-lock",
91
+ type: "string",
92
+ description: "Security lock file path",
93
+ placeholder: "<path>",
94
+ },
95
+ ],
96
+ },
97
+ ],
98
+ examples: [
99
+ "kiri-daemon --repo /path/to/repo --db /path/to/index.duckdb",
100
+ "kiri-daemon --watch --daemon-timeout 10",
101
+ "kiri-daemon --socket-path /tmp/kiri.sock",
102
+ ],
103
+ };
16
104
  /**
17
105
  * CLI引数をパース
18
106
  */
19
107
  function parseDaemonArgs() {
20
- const { values } = parseArgs({
21
- options: {
22
- repo: { type: "string" },
23
- db: { type: "string" },
24
- "socket-path": { type: "string" },
25
- watch: { type: "boolean", default: false },
26
- "daemon-timeout": { type: "string", default: "5" },
27
- "allow-degrade": { type: "boolean", default: false },
28
- "security-config": { type: "string" },
29
- "security-lock": { type: "string" },
30
- },
31
- });
108
+ const { values } = defineCli(DAEMON_CLI_SPEC);
32
109
  const repoRoot = path.resolve(values.repo || process.cwd());
33
110
  const databasePath = path.resolve(values.db || path.join(repoRoot, "var", "index.duckdb"));
34
111
  const socketPath = values["socket-path"]
@@ -39,7 +116,7 @@ function parseDaemonArgs() {
39
116
  databasePath,
40
117
  socketPath,
41
118
  watchMode: values.watch || false,
42
- idleTimeoutMinutes: parseInt(values["daemon-timeout"] || "5", 10),
119
+ idleTimeoutMinutes: parsePositiveInt(values["daemon-timeout"], 5, "daemon timeout (minutes)"),
43
120
  allowDegrade: values["allow-degrade"] || false,
44
121
  securityConfigPath: values["security-config"],
45
122
  securityLockPath: values["security-lock"],
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/daemon/daemon.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBjD;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;YAClD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YACpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpC;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,OAAO;QACL,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAChC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;QACjE,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK;QAC9C,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC7C,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAExF,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAE7E,aAAa;QACb,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAE9C,+BAA+B;QAC/B,MAAM,qBAAqB,CACzB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,KAAK,CACN,CAAC;QAEF,6CAA6C;QAC7C,IAAI,OAAO,GAAyB,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,cAAc,GAA8C;gBAChE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,cAAc,EAAE,IAAI,EAAE,+CAA+C;aACtE,CAAC;YAEF,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,cAAc,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,cAAc,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAC7D,CAAC;YAED,OAAO,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAEpD,MAAM,SAAS,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,SAAS,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE7C,qDAAqD;QACrD,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;YAC3C,UAAU;YACV,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3B,SAAS,CAAC,oBAAoB,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,oBAAoB,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,SAAS,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,GAAG,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;QAEjE,sBAAsB;QACtB,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAErC,aAAa;QACb,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,SAAS,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACzE,wBAAwB;QAC1B,CAAC;QAED,mBAAmB;QACnB,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,MAAM,WAAW,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAElC,MAAM,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAY,CAAC;QAC3B,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,YAAY;AACZ,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Abbreviation expansion for path matching (ADR 003)
3
+ *
4
+ * Bridges the vocabulary gap between natural language queries and technical path names.
5
+ * Example: "database" → ["database", "db", "data"]
6
+ *
7
+ * LDE principles:
8
+ * - Pure functions (no side effects)
9
+ * - Readonly types (immutability)
10
+ * - Property-based testing
11
+ */
12
+ /**
13
+ * Abbreviation mapping (LDE: readonly, immutable)
14
+ */
15
+ export interface AbbreviationMap {
16
+ readonly canonical: string;
17
+ readonly variants: readonly string[];
18
+ }
19
+ /**
20
+ * Default abbreviation dictionary
21
+ *
22
+ * Maintenance: Add new entries as needed, alphabetically sorted by canonical
23
+ * Conflicts: Use most common meaning (e.g., "db" → "database" not "debug")
24
+ */
25
+ export declare const DEFAULT_ABBREVIATIONS: readonly AbbreviationMap[];
26
+ /**
27
+ * Expand term with common abbreviations (LDE: pure function)
28
+ *
29
+ * Matches term (case-insensitive) against abbreviation dictionary and returns
30
+ * all related forms (canonical + variants).
31
+ *
32
+ * @param term - Query term to expand (e.g., "db", "database", "config")
33
+ * @param abbreviations - Abbreviation dictionary (default: DEFAULT_ABBREVIATIONS)
34
+ * @returns Readonly array of expanded terms including canonical and all variants
35
+ *
36
+ * @example
37
+ * expandAbbreviations("db") → ["database", "db", "data"]
38
+ * expandAbbreviations("config") → ["configuration", "config", "cfg", "conf"]
39
+ * expandAbbreviations("unknown") → ["unknown"]
40
+ *
41
+ * LDE properties:
42
+ * - Pure: Same input always produces same output
43
+ * - No side effects: Doesn't modify input or global state
44
+ * - Immutable: Returns readonly array
45
+ */
46
+ export declare function expandAbbreviations(term: string, abbreviations?: readonly AbbreviationMap[]): readonly string[];
47
+ //# sourceMappingURL=abbreviations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abbreviations.d.ts","sourceRoot":"","sources":["../../../src/server/abbreviations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAqB3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,SAAS,eAAe,EAA0B,GAChE,SAAS,MAAM,EAAE,CAenB"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Abbreviation expansion for path matching (ADR 003)
3
+ *
4
+ * Bridges the vocabulary gap between natural language queries and technical path names.
5
+ * Example: "database" → ["database", "db", "data"]
6
+ *
7
+ * LDE principles:
8
+ * - Pure functions (no side effects)
9
+ * - Readonly types (immutability)
10
+ * - Property-based testing
11
+ */
12
+ /**
13
+ * Default abbreviation dictionary
14
+ *
15
+ * Maintenance: Add new entries as needed, alphabetically sorted by canonical
16
+ * Conflicts: Use most common meaning (e.g., "db" → "database" not "debug")
17
+ */
18
+ export const DEFAULT_ABBREVIATIONS = [
19
+ { canonical: "administrator", variants: ["admin"] },
20
+ { canonical: "application", variants: ["app"] },
21
+ { canonical: "authentication", variants: ["auth"] },
22
+ { canonical: "authorization", variants: ["authz"] },
23
+ { canonical: "configuration", variants: ["config", "cfg", "conf"] },
24
+ { canonical: "controller", variants: ["ctrl"] },
25
+ { canonical: "database", variants: ["db", "data"] },
26
+ { canonical: "development", variants: ["dev"] },
27
+ { canonical: "directory", variants: ["dir"] },
28
+ { canonical: "document", variants: ["doc", "docs"] },
29
+ { canonical: "error", variants: ["err", "errors"] },
30
+ { canonical: "implementation", variants: ["impl"] },
31
+ { canonical: "manager", variants: ["mgr"] },
32
+ { canonical: "production", variants: ["prod"] },
33
+ { canonical: "repository", variants: ["repo"] },
34
+ { canonical: "service", variants: ["svc", "srv"] },
35
+ { canonical: "source", variants: ["src"] },
36
+ { canonical: "specification", variants: ["spec", "specs"] },
37
+ { canonical: "temporary", variants: ["tmp", "temp"] },
38
+ { canonical: "utilities", variants: ["util", "utils"] },
39
+ ];
40
+ /**
41
+ * Expand term with common abbreviations (LDE: pure function)
42
+ *
43
+ * Matches term (case-insensitive) against abbreviation dictionary and returns
44
+ * all related forms (canonical + variants).
45
+ *
46
+ * @param term - Query term to expand (e.g., "db", "database", "config")
47
+ * @param abbreviations - Abbreviation dictionary (default: DEFAULT_ABBREVIATIONS)
48
+ * @returns Readonly array of expanded terms including canonical and all variants
49
+ *
50
+ * @example
51
+ * expandAbbreviations("db") → ["database", "db", "data"]
52
+ * expandAbbreviations("config") → ["configuration", "config", "cfg", "conf"]
53
+ * expandAbbreviations("unknown") → ["unknown"]
54
+ *
55
+ * LDE properties:
56
+ * - Pure: Same input always produces same output
57
+ * - No side effects: Doesn't modify input or global state
58
+ * - Immutable: Returns readonly array
59
+ */
60
+ export function expandAbbreviations(term, abbreviations = DEFAULT_ABBREVIATIONS) {
61
+ const normalized = term.toLowerCase().trim();
62
+ // Find matching abbreviation map (check both canonical and variants)
63
+ const map = abbreviations.find((m) => m.canonical === normalized || m.variants.includes(normalized));
64
+ if (map) {
65
+ // Return all forms: canonical + variants
66
+ return [map.canonical, ...map.variants];
67
+ }
68
+ // No match: return original term
69
+ return [term];
70
+ }
71
+ //# sourceMappingURL=abbreviations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abbreviations.js","sourceRoot":"","sources":["../../../src/server/abbreviations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/C,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;IACnE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IAC/C,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/C,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC7C,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IACpD,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IACnD,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC3C,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IAC/C,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;IAClD,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC1C,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAC3D,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IACrD,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;CACxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,gBAA4C,qBAAqB;IAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7C,qEAAqE;IACrE,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrE,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,yCAAyC;QACzC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
@@ -0,0 +1,63 @@
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 configuration
15
+ * Defines how different file types should be ranked
16
+ */
17
+ export interface BoostProfileConfig {
18
+ /**
19
+ * Directories to allow even if they match global denylist patterns.
20
+ * Example: ["docs/"] allows docs/ files despite being blacklisted by default.
21
+ * This overrides the global blacklist in applyFileTypeBoost/applyAdditiveFilePenalties.
22
+ */
23
+ denylistOverrides: string[];
24
+ /** Multiplicative factors for different file types */
25
+ fileTypeMultipliers: {
26
+ /** Documentation files (.md, .yaml, .yml, .mdc) */
27
+ doc: number;
28
+ /** Implementation files (src/**) */
29
+ impl: number;
30
+ /** Configuration files (tsconfig.json, package.json, etc.) */
31
+ config: number;
32
+ };
33
+ /**
34
+ * Path-specific multipliers (e.g., src/app/ gets higher boost than src/)
35
+ * Array is sorted by prefix length (longest first) to ensure correct matching priority
36
+ */
37
+ pathMultipliers: Array<{
38
+ prefix: string;
39
+ multiplier: number;
40
+ }>;
41
+ /**
42
+ * Skip additive penalty for config files (-1.5 score penalty)
43
+ * and only apply multiplicative penalty (e.g., 0.3x multiplier)
44
+ * @default false
45
+ */
46
+ skipConfigAdditivePenalty?: boolean;
47
+ }
48
+ export type BoostProfileName = "default" | "docs" | "none" | "balanced";
49
+ /**
50
+ * Boost profile definitions
51
+ * Centralized configuration for all boost profiles
52
+ */
53
+ export declare const BOOST_PROFILES: Record<BoostProfileName, BoostProfileConfig>;
54
+ /**
55
+ * Get boost profile configuration by name
56
+ * @throws Error if profile name is invalid
57
+ */
58
+ export declare function getBoostProfile(name: BoostProfileName): BoostProfileConfig;
59
+ /**
60
+ * Check if a profile name is valid
61
+ */
62
+ export declare function isValidBoostProfile(name: string): name is BoostProfileName;
63
+ //# sourceMappingURL=boost-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boost-profiles.d.ts","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,mBAAmB,EAAE;QACnB,mDAAmD;QACnD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAqDvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAS1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E"}