@mhalder/qdrant-mcp-server 3.2.1 → 3.3.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 (124) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +12 -21
  3. package/build/code/chunker/tree-sitter-chunker.d.ts.map +1 -1
  4. package/build/code/chunker/tree-sitter-chunker.js +15 -3
  5. package/build/code/chunker/tree-sitter-chunker.js.map +1 -1
  6. package/build/code/indexer.d.ts +1 -0
  7. package/build/code/indexer.d.ts.map +1 -1
  8. package/build/code/indexer.js +24 -4
  9. package/build/code/indexer.js.map +1 -1
  10. package/build/embeddings/cohere.d.ts +1 -0
  11. package/build/embeddings/cohere.d.ts.map +1 -1
  12. package/build/embeddings/cohere.js +8 -1
  13. package/build/embeddings/cohere.js.map +1 -1
  14. package/build/embeddings/cohere.test.js +11 -0
  15. package/build/embeddings/cohere.test.js.map +1 -1
  16. package/build/embeddings/factory.d.ts.map +1 -1
  17. package/build/embeddings/factory.js +2 -0
  18. package/build/embeddings/factory.js.map +1 -1
  19. package/build/embeddings/factory.test.js +12 -1
  20. package/build/embeddings/factory.test.js.map +1 -1
  21. package/build/embeddings/ollama.d.ts +1 -0
  22. package/build/embeddings/ollama.d.ts.map +1 -1
  23. package/build/embeddings/ollama.js +8 -1
  24. package/build/embeddings/ollama.js.map +1 -1
  25. package/build/embeddings/ollama.test.js +11 -0
  26. package/build/embeddings/ollama.test.js.map +1 -1
  27. package/build/embeddings/openai.d.ts +1 -0
  28. package/build/embeddings/openai.d.ts.map +1 -1
  29. package/build/embeddings/openai.js +8 -1
  30. package/build/embeddings/openai.js.map +1 -1
  31. package/build/embeddings/openai.test.js +11 -0
  32. package/build/embeddings/openai.test.js.map +1 -1
  33. package/build/embeddings/voyage.d.ts +1 -0
  34. package/build/embeddings/voyage.d.ts.map +1 -1
  35. package/build/embeddings/voyage.js +8 -1
  36. package/build/embeddings/voyage.js.map +1 -1
  37. package/build/embeddings/voyage.test.js +11 -0
  38. package/build/embeddings/voyage.test.js.map +1 -1
  39. package/build/git/indexer.d.ts +1 -0
  40. package/build/git/indexer.d.ts.map +1 -1
  41. package/build/git/indexer.js +16 -3
  42. package/build/git/indexer.js.map +1 -1
  43. package/build/git/indexer.test.js +15 -9
  44. package/build/git/indexer.test.js.map +1 -1
  45. package/build/index.js +35 -26
  46. package/build/index.js.map +1 -1
  47. package/build/index.test.js +105 -91
  48. package/build/index.test.js.map +1 -1
  49. package/build/logger.d.ts +4 -0
  50. package/build/logger.d.ts.map +1 -0
  51. package/build/logger.js +24 -0
  52. package/build/logger.js.map +1 -0
  53. package/build/qdrant/client.d.ts +1 -0
  54. package/build/qdrant/client.d.ts.map +1 -1
  55. package/build/qdrant/client.js +10 -0
  56. package/build/qdrant/client.js.map +1 -1
  57. package/build/qdrant/client.test.js +11 -0
  58. package/build/qdrant/client.test.js.map +1 -1
  59. package/build/tools/code.d.ts.map +1 -1
  60. package/build/tools/code.js +44 -13
  61. package/build/tools/code.js.map +1 -1
  62. package/build/tools/collection.d.ts.map +1 -1
  63. package/build/tools/collection.js +15 -8
  64. package/build/tools/collection.js.map +1 -1
  65. package/build/tools/document.d.ts.map +1 -1
  66. package/build/tools/document.js +9 -4
  67. package/build/tools/document.js.map +1 -1
  68. package/build/tools/federated.d.ts.map +1 -1
  69. package/build/tools/federated.js +9 -4
  70. package/build/tools/federated.js.map +1 -1
  71. package/build/tools/federated.test.js +11 -0
  72. package/build/tools/federated.test.js.map +1 -1
  73. package/build/tools/git-history.d.ts.map +1 -1
  74. package/build/tools/git-history.js +44 -12
  75. package/build/tools/git-history.js.map +1 -1
  76. package/build/tools/logging.d.ts +16 -0
  77. package/build/tools/logging.d.ts.map +1 -0
  78. package/build/tools/logging.js +68 -0
  79. package/build/tools/logging.js.map +1 -0
  80. package/build/tools/logging.test.d.ts +2 -0
  81. package/build/tools/logging.test.d.ts.map +1 -0
  82. package/build/tools/logging.test.js +139 -0
  83. package/build/tools/logging.test.js.map +1 -0
  84. package/build/tools/schemas.d.ts +32 -19
  85. package/build/tools/schemas.d.ts.map +1 -1
  86. package/build/tools/schemas.js +9 -3
  87. package/build/tools/schemas.js.map +1 -1
  88. package/build/tools/search.d.ts.map +1 -1
  89. package/build/tools/search.js +13 -4
  90. package/build/tools/search.js.map +1 -1
  91. package/mise.toml +2 -0
  92. package/package.json +14 -13
  93. package/src/code/chunker/tree-sitter-chunker.ts +41 -9
  94. package/src/code/indexer.ts +41 -6
  95. package/src/embeddings/cohere.test.ts +12 -0
  96. package/src/embeddings/cohere.ts +10 -2
  97. package/src/embeddings/factory.test.ts +13 -1
  98. package/src/embeddings/factory.ts +3 -0
  99. package/src/embeddings/ollama.test.ts +12 -0
  100. package/src/embeddings/ollama.ts +10 -2
  101. package/src/embeddings/openai.test.ts +12 -0
  102. package/src/embeddings/openai.ts +10 -2
  103. package/src/embeddings/voyage.test.ts +12 -0
  104. package/src/embeddings/voyage.ts +10 -2
  105. package/src/git/indexer.test.ts +22 -16
  106. package/src/git/indexer.ts +30 -4
  107. package/src/index.test.ts +128 -106
  108. package/src/index.ts +59 -38
  109. package/src/logger.ts +33 -0
  110. package/src/qdrant/client.test.ts +12 -0
  111. package/src/qdrant/client.ts +22 -0
  112. package/src/tools/code.ts +107 -62
  113. package/src/tools/collection.ts +39 -22
  114. package/src/tools/document.ts +52 -22
  115. package/src/tools/federated.test.ts +12 -0
  116. package/src/tools/federated.ts +143 -125
  117. package/src/tools/git-history.ts +117 -60
  118. package/src/tools/logging.test.ts +206 -0
  119. package/src/tools/logging.ts +85 -0
  120. package/src/tools/schemas.ts +9 -3
  121. package/src/tools/search.ts +93 -71
  122. package/tests/code/chunker/tree-sitter-chunker.test.ts +13 -1
  123. package/tests/code/indexer.test.ts +12 -0
  124. package/tests/code/integration.test.ts +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"federated.js","sourceRoot":"","sources":["../../src/tools/federated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federated.js","sourceRoot":"","sources":["../../src/tools/federated.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import { describe, it, expect, vi, beforeEach } from "vitest";
2
2
  import { buildCorrelations, normalizeScores, calculateRRFScore, pathsMatch, } from "./federated.js";
3
+ vi.mock("../logger.js", () => ({
4
+ default: {
5
+ info: vi.fn(),
6
+ warn: vi.fn(),
7
+ error: vi.fn(),
8
+ debug: vi.fn(),
9
+ fatal: vi.fn(),
10
+ trace: vi.fn(),
11
+ child: vi.fn().mockReturnThis(),
12
+ },
13
+ }));
3
14
  // ============================================================================
4
15
  // Unit Tests for Helper Functions
5
16
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"federated.test.js","sourceRoot":"","sources":["../../src/tools/federated.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federated.test.js","sourceRoot":"","sources":["../../src/tools/federated.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git-history.d.ts","sourceRoot":"","sources":["../../src/tools/git-history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,0BAA0B,GAC/B,IAAI,CAgMN"}
1
+ {"version":3,"file":"git-history.d.ts","sourceRoot":"","sources":["../../src/tools/git-history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,0BAA0B,GAC/B,IAAI,CAqPN"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * Git history indexing tools registration
3
3
  */
4
+ import logger from "../logger.js";
5
+ import { withToolLogging } from "./logging.js";
4
6
  import * as schemas from "./schemas.js";
7
+ const log = logger.child({ component: "tools" });
5
8
  export function registerGitHistoryTools(server, deps) {
6
9
  const { gitHistoryIndexer } = deps;
7
10
  // index_git_history
@@ -9,9 +12,22 @@ export function registerGitHistoryTools(server, deps) {
9
12
  title: "Index Git History",
10
13
  description: "Index a repository's git commit history for semantic search. Extracts commit messages, metadata, and optionally diffs to enable finding relevant past commits. Useful for finding similar fixes, understanding change patterns, or learning from past work.",
11
14
  inputSchema: schemas.IndexGitHistorySchema,
12
- }, async ({ path, forceReindex, sinceDate, maxCommits }) => {
15
+ }, withToolLogging("index_git_history", async ({ path, forceReindex, sinceDate, maxCommits }, extra) => {
16
+ log.info({ tool: "index_git_history", path, forceReindex }, "Tool called");
17
+ const progressToken = extra._meta?.progressToken;
13
18
  const stats = await gitHistoryIndexer.indexHistory(path, { forceReindex, sinceDate, maxCommits }, (progress) => {
14
- console.error(`[${progress.phase}] ${progress.percentage}% - ${progress.message}`);
19
+ log.debug({ phase: progress.phase, percentage: progress.percentage }, progress.message);
20
+ if (progressToken !== undefined) {
21
+ extra.sendNotification({
22
+ method: "notifications/progress",
23
+ params: {
24
+ progressToken,
25
+ progress: progress.percentage,
26
+ total: 100,
27
+ message: `[${progress.phase}] ${progress.message}`,
28
+ },
29
+ });
30
+ }
15
31
  });
16
32
  let statusMessage = `Indexed ${stats.commitsIndexed}/${stats.commitsScanned} commits (${stats.chunksCreated} chunks) in ${(stats.durationMs / 1000).toFixed(1)}s`;
17
33
  if (stats.status === "partial") {
@@ -24,13 +40,14 @@ export function registerGitHistoryTools(server, deps) {
24
40
  content: [{ type: "text", text: statusMessage }],
25
41
  isError: stats.status === "failed",
26
42
  };
27
- });
43
+ }));
28
44
  // search_git_history
29
45
  server.registerTool("search_git_history", {
30
46
  title: "Search Git History",
31
47
  description: "Search indexed git history using natural language queries. Returns semantically relevant commits with metadata. Useful for finding past fixes, similar changes, or understanding how problems were solved before.",
32
48
  inputSchema: schemas.SearchGitHistorySchema,
33
- }, async ({ path, query, limit, commitTypes, authors, dateFrom, dateTo }) => {
49
+ }, withToolLogging("search_git_history", async ({ path, query, limit, commitTypes, authors, dateFrom, dateTo, }) => {
50
+ log.info({ tool: "search_git_history", path, query: query.substring(0, 80) }, "Tool called");
34
51
  const results = await gitHistoryIndexer.searchHistory(path, query, {
35
52
  limit,
36
53
  commitTypes,
@@ -64,15 +81,28 @@ export function registerGitHistoryTools(server, deps) {
64
81
  },
65
82
  ],
66
83
  };
67
- });
84
+ }));
68
85
  // index_new_commits
69
86
  server.registerTool("index_new_commits", {
70
87
  title: "Index New Commits",
71
88
  description: "Incrementally index only new commits since the last indexing. Much faster than full re-indexing when keeping the index up to date with recent changes.",
72
89
  inputSchema: schemas.IndexNewCommitsSchema,
73
- }, async ({ path }) => {
90
+ }, withToolLogging("index_new_commits", async ({ path }, extra) => {
91
+ log.info({ tool: "index_new_commits", path }, "Tool called");
92
+ const progressToken = extra._meta?.progressToken;
74
93
  const stats = await gitHistoryIndexer.indexNewCommits(path, (progress) => {
75
- console.error(`[${progress.phase}] ${progress.percentage}% - ${progress.message}`);
94
+ log.debug({ phase: progress.phase, percentage: progress.percentage }, progress.message);
95
+ if (progressToken !== undefined) {
96
+ extra.sendNotification({
97
+ method: "notifications/progress",
98
+ params: {
99
+ progressToken,
100
+ progress: progress.percentage,
101
+ total: 100,
102
+ message: `[${progress.phase}] ${progress.message}`,
103
+ },
104
+ });
105
+ }
76
106
  });
77
107
  let message;
78
108
  if (stats.newCommits === 0) {
@@ -86,13 +116,14 @@ export function registerGitHistoryTools(server, deps) {
86
116
  return {
87
117
  content: [{ type: "text", text: message }],
88
118
  };
89
- });
119
+ }));
90
120
  // get_git_index_status
91
121
  server.registerTool("get_git_index_status", {
92
122
  title: "Get Git Index Status",
93
123
  description: "Get the indexing status and statistics for a repository's git history index.",
94
124
  inputSchema: schemas.GetGitIndexStatusSchema,
95
- }, async ({ path }) => {
125
+ }, withToolLogging("get_git_index_status", async ({ path }) => {
126
+ log.info({ tool: "get_git_index_status", path }, "Tool called");
96
127
  const status = await gitHistoryIndexer.getIndexStatus(path);
97
128
  if (status.status === "not_indexed") {
98
129
  return {
@@ -126,19 +157,20 @@ export function registerGitHistoryTools(server, deps) {
126
157
  return {
127
158
  content: [{ type: "text", text: JSON.stringify(statusInfo, null, 2) }],
128
159
  };
129
- });
160
+ }));
130
161
  // clear_git_index
131
162
  server.registerTool("clear_git_index", {
132
163
  title: "Clear Git Index",
133
164
  description: "Delete all indexed git history data for a repository. This is irreversible and will remove the entire git history index.",
134
165
  inputSchema: schemas.ClearGitIndexSchema,
135
- }, async ({ path }) => {
166
+ }, withToolLogging("clear_git_index", async ({ path }) => {
167
+ log.info({ tool: "clear_git_index", path }, "Tool called");
136
168
  await gitHistoryIndexer.clearIndex(path);
137
169
  return {
138
170
  content: [
139
171
  { type: "text", text: `Git history index cleared for "${path}".` },
140
172
  ],
141
173
  };
142
- });
174
+ }));
143
175
  }
144
176
  //# sourceMappingURL=git-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-history.js","sourceRoot":"","sources":["../../src/tools/git-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-history.js","sourceRoot":"","sources":["../../src/tools/git-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Tool handler logging wrapper
3
+ *
4
+ * Provides standardized completion, error, and warning logging
5
+ * for all MCP tool handlers.
6
+ */
7
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
8
+ /**
9
+ * Wraps a tool handler with standardized logging:
10
+ * - Logs "Tool completed" at info level with durationMs on success
11
+ * - Logs "Tool failed" at error level when result has isError: true
12
+ * - Logs "Tool completed with no results" at warn level for search tools
13
+ * - Logs "Tool threw an error" at error level when handler throws (re-throws)
14
+ */
15
+ export declare function withToolLogging<T extends (...args: any[]) => Promise<CallToolResult>>(toolName: string, handler: T): T;
16
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/tools/logging.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAgCzE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,EACrD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAoCjC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Tool handler logging wrapper
3
+ *
4
+ * Provides standardized completion, error, and warning logging
5
+ * for all MCP tool handlers.
6
+ */
7
+ import logger from "../logger.js";
8
+ const log = logger.child({ component: "tools" });
9
+ /** Tools that are search operations (empty results trigger a warning) */
10
+ const SEARCH_TOOLS = new Set([
11
+ "semantic_search",
12
+ "hybrid_search",
13
+ "search_code",
14
+ "search_git_history",
15
+ "contextual_search",
16
+ "federated_search",
17
+ ]);
18
+ /**
19
+ * Check whether a tool result indicates an empty search (zero results).
20
+ */
21
+ function isEmptySearchResult(result) {
22
+ if (!result.content || result.content.length === 0)
23
+ return true;
24
+ const first = result.content[0];
25
+ if (first.type === "text") {
26
+ const text = first.text;
27
+ return (text.startsWith("No results found") ||
28
+ text === "[]" ||
29
+ text.includes("Found 0 result(s)"));
30
+ }
31
+ return false;
32
+ }
33
+ /**
34
+ * Wraps a tool handler with standardized logging:
35
+ * - Logs "Tool completed" at info level with durationMs on success
36
+ * - Logs "Tool failed" at error level when result has isError: true
37
+ * - Logs "Tool completed with no results" at warn level for search tools
38
+ * - Logs "Tool threw an error" at error level when handler throws (re-throws)
39
+ */
40
+ export function withToolLogging(toolName, handler) {
41
+ const wrapped = async (...args) => {
42
+ const startTime = Date.now();
43
+ try {
44
+ const result = await handler(...args);
45
+ const durationMs = Date.now() - startTime;
46
+ if (result.isError) {
47
+ const errorText = result.content?.[0]?.type === "text"
48
+ ? result.content[0].text
49
+ : "Unknown error";
50
+ log.error({ tool: toolName, durationMs, error: errorText }, "Tool failed");
51
+ }
52
+ else if (SEARCH_TOOLS.has(toolName) && isEmptySearchResult(result)) {
53
+ log.warn({ tool: toolName, durationMs }, "Tool completed with no results");
54
+ }
55
+ else {
56
+ log.info({ tool: toolName, durationMs }, "Tool completed");
57
+ }
58
+ return result;
59
+ }
60
+ catch (error) {
61
+ const durationMs = Date.now() - startTime;
62
+ log.error({ tool: toolName, durationMs, err: error }, "Tool threw an error");
63
+ throw error;
64
+ }
65
+ };
66
+ return wrapped;
67
+ }
68
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/tools/logging.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAEjD,yEAAyE;AACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,iBAAiB;IACjB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAsB;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAI,KAAwC,CAAC,IAAI,CAAC;QAC5D,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACnC,IAAI,KAAK,IAAI;YACb,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CACnC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAE7B,QAAgB,EAAE,OAAU;IAC5B,MAAM,OAAO,GAAG,KAAK,EAAE,GAAG,IAAmB,EAA2B,EAAE;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,SAAS,GACb,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;oBAClC,CAAC,CAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAoC,CAAC,IAAI;oBAC5D,CAAC,CAAC,eAAe,CAAC;gBACtB,GAAG,CAAC,KAAK,CACP,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAChD,aAAa,CACd,CAAC;YACJ,CAAC;iBAAM,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,IAAI,CACN,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAC9B,gCAAgC,CACjC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,GAAG,CAAC,KAAK,CACP,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,EAC1C,qBAAqB,CACtB,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,OAAO,OAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logging.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.test.d.ts","sourceRoot":"","sources":["../../src/tools/logging.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,139 @@
1
+ import { describe, it, expect, vi, beforeEach } from "vitest";
2
+ import { withToolLogging } from "./logging.js";
3
+ vi.mock("../logger.js", () => ({
4
+ default: {
5
+ info: vi.fn(),
6
+ warn: vi.fn(),
7
+ error: vi.fn(),
8
+ debug: vi.fn(),
9
+ fatal: vi.fn(),
10
+ trace: vi.fn(),
11
+ child: vi.fn().mockReturnValue({
12
+ info: vi.fn(),
13
+ warn: vi.fn(),
14
+ error: vi.fn(),
15
+ debug: vi.fn(),
16
+ }),
17
+ },
18
+ }));
19
+ import logger from "../logger.js";
20
+ const mockLog = logger.child({ component: "tools" });
21
+ describe("withToolLogging", () => {
22
+ beforeEach(() => {
23
+ vi.clearAllMocks();
24
+ });
25
+ it("should log completion with durationMs on success", async () => {
26
+ const handler = vi.fn().mockResolvedValue({
27
+ content: [{ type: "text", text: "Success" }],
28
+ });
29
+ const wrapped = withToolLogging("create_collection", handler);
30
+ const result = await wrapped({ name: "test" });
31
+ expect(result.content[0]).toEqual({ type: "text", text: "Success" });
32
+ expect(mockLog.info).toHaveBeenCalledWith(expect.objectContaining({
33
+ tool: "create_collection",
34
+ durationMs: expect.any(Number),
35
+ }), "Tool completed");
36
+ });
37
+ it("should log error when result has isError: true", async () => {
38
+ const handler = vi.fn().mockResolvedValue({
39
+ content: [{ type: "text", text: "Error: Collection not found" }],
40
+ isError: true,
41
+ });
42
+ const wrapped = withToolLogging("add_documents", handler);
43
+ const result = await wrapped({ collection: "test" });
44
+ expect(result.isError).toBe(true);
45
+ expect(mockLog.error).toHaveBeenCalledWith(expect.objectContaining({
46
+ tool: "add_documents",
47
+ durationMs: expect.any(Number),
48
+ error: "Error: Collection not found",
49
+ }), "Tool failed");
50
+ expect(mockLog.info).not.toHaveBeenCalled();
51
+ });
52
+ it("should log error and re-throw when handler throws", async () => {
53
+ const testError = new Error("Connection refused");
54
+ const handler = vi.fn().mockRejectedValue(testError);
55
+ const wrapped = withToolLogging("list_collections", handler);
56
+ await expect(wrapped()).rejects.toThrow("Connection refused");
57
+ expect(mockLog.error).toHaveBeenCalledWith(expect.objectContaining({
58
+ tool: "list_collections",
59
+ durationMs: expect.any(Number),
60
+ err: testError,
61
+ }), "Tool threw an error");
62
+ });
63
+ it('should log warn for search tool with "No results found" response', async () => {
64
+ const handler = vi.fn().mockResolvedValue({
65
+ content: [{ type: "text", text: 'No results found for query: "test"' }],
66
+ });
67
+ const wrapped = withToolLogging("semantic_search", handler);
68
+ await wrapped({ collection: "test", query: "test" });
69
+ expect(mockLog.warn).toHaveBeenCalledWith(expect.objectContaining({
70
+ tool: "semantic_search",
71
+ durationMs: expect.any(Number),
72
+ }), "Tool completed with no results");
73
+ expect(mockLog.info).not.toHaveBeenCalled();
74
+ });
75
+ it("should log warn for search tool with empty JSON array response", async () => {
76
+ const handler = vi.fn().mockResolvedValue({
77
+ content: [{ type: "text", text: "[]" }],
78
+ });
79
+ const wrapped = withToolLogging("hybrid_search", handler);
80
+ await wrapped({ collection: "test", query: "test" });
81
+ expect(mockLog.warn).toHaveBeenCalledWith(expect.objectContaining({ tool: "hybrid_search" }), "Tool completed with no results");
82
+ });
83
+ it("should log warn for search tool with Found 0 result(s) response", async () => {
84
+ const handler = vi.fn().mockResolvedValue({
85
+ content: [{ type: "text", text: "Found 0 result(s):\n" }],
86
+ });
87
+ const wrapped = withToolLogging("search_code", handler);
88
+ await wrapped({ path: "/test", query: "test" });
89
+ expect(mockLog.warn).toHaveBeenCalledWith(expect.objectContaining({ tool: "search_code" }), "Tool completed with no results");
90
+ });
91
+ it("should NOT log warn for non-search tool with empty-looking response", async () => {
92
+ const handler = vi.fn().mockResolvedValue({
93
+ content: [{ type: "text", text: "No results found for query: test" }],
94
+ });
95
+ const wrapped = withToolLogging("get_index_status", handler);
96
+ await wrapped({ path: "/test" });
97
+ // Should log info, not warn, because get_index_status is not a search tool
98
+ expect(mockLog.info).toHaveBeenCalledWith(expect.objectContaining({ tool: "get_index_status" }), "Tool completed");
99
+ expect(mockLog.warn).not.toHaveBeenCalled();
100
+ });
101
+ it("should log info for search tool with actual results", async () => {
102
+ const handler = vi.fn().mockResolvedValue({
103
+ content: [{ type: "text", text: "Found 5 result(s):\n..." }],
104
+ });
105
+ const wrapped = withToolLogging("search_code", handler);
106
+ await wrapped({ path: "/test", query: "test" });
107
+ expect(mockLog.info).toHaveBeenCalledWith(expect.objectContaining({ tool: "search_code" }), "Tool completed");
108
+ expect(mockLog.warn).not.toHaveBeenCalled();
109
+ });
110
+ it("should preserve handler return value exactly", async () => {
111
+ const expected = {
112
+ content: [{ type: "text", text: "data" }],
113
+ isError: false,
114
+ };
115
+ const handler = vi.fn().mockResolvedValue(expected);
116
+ const wrapped = withToolLogging("list_collections", handler);
117
+ const result = await wrapped();
118
+ expect(result).toBe(expected);
119
+ });
120
+ it("should pass all arguments through to the handler", async () => {
121
+ const handler = vi.fn().mockResolvedValue({
122
+ content: [{ type: "text", text: "ok" }],
123
+ });
124
+ const wrapped = withToolLogging("index_codebase", handler);
125
+ const args = { path: "/test" };
126
+ const extra = { _meta: {} };
127
+ await wrapped(args, extra);
128
+ expect(handler).toHaveBeenCalledWith(args, extra);
129
+ });
130
+ it("should handle empty content array", async () => {
131
+ const handler = vi.fn().mockResolvedValue({
132
+ content: [],
133
+ });
134
+ const wrapped = withToolLogging("search_git_history", handler);
135
+ await wrapped({ path: "/test", query: "test" });
136
+ expect(mockLog.warn).toHaveBeenCalledWith(expect.objectContaining({ tool: "search_git_history" }), "Tool completed with no results");
137
+ });
138
+ });
139
+ //# sourceMappingURL=logging.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.test.js","sourceRoot":"","sources":["../../src/tools/logging.test.ts"],"names":[],"mappings":"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"}