mcp-vector-search 0.12.1__py3-none-any.whl → 0.12.3__py3-none-any.whl

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.

Potentially problematic release.


This version of mcp-vector-search might be problematic. Click here for more details.

Files changed (32) hide show
  1. mcp_vector_search/__init__.py +2 -2
  2. mcp_vector_search/cli/commands/visualize.py +22 -12
  3. mcp_vector_search/visualization/favicon-v1-1024.png +0 -0
  4. mcp_vector_search/visualization/favicon-v1-128.png +0 -0
  5. mcp_vector_search/visualization/favicon-v1-16.png +0 -0
  6. mcp_vector_search/visualization/favicon-v1-256.png +0 -0
  7. mcp_vector_search/visualization/favicon-v1-32.png +0 -0
  8. mcp_vector_search/visualization/favicon-v1-512.png +0 -0
  9. mcp_vector_search/visualization/favicon-v1-64.png +0 -0
  10. mcp_vector_search/visualization/favicon-v1.ico +0 -0
  11. mcp_vector_search/visualization/favicon-v2-1024.png +0 -0
  12. mcp_vector_search/visualization/favicon-v2-128.png +0 -0
  13. mcp_vector_search/visualization/favicon-v2-16.png +0 -0
  14. mcp_vector_search/visualization/favicon-v2-256.png +0 -0
  15. mcp_vector_search/visualization/favicon-v2-32.png +0 -0
  16. mcp_vector_search/visualization/favicon-v2-512.png +0 -0
  17. mcp_vector_search/visualization/favicon-v2-64.png +0 -0
  18. mcp_vector_search/visualization/favicon-v2.ico +0 -0
  19. mcp_vector_search/visualization/favicon-v3-1024.png +0 -0
  20. mcp_vector_search/visualization/favicon-v3-128.png +0 -0
  21. mcp_vector_search/visualization/favicon-v3-16.png +0 -0
  22. mcp_vector_search/visualization/favicon-v3-256.png +0 -0
  23. mcp_vector_search/visualization/favicon-v3-32.png +0 -0
  24. mcp_vector_search/visualization/favicon-v3-512.png +0 -0
  25. mcp_vector_search/visualization/favicon-v3-64.png +0 -0
  26. mcp_vector_search/visualization/favicon-v3.ico +0 -0
  27. mcp_vector_search/visualization/index.html +1592 -193
  28. {mcp_vector_search-0.12.1.dist-info → mcp_vector_search-0.12.3.dist-info}/METADATA +62 -2
  29. {mcp_vector_search-0.12.1.dist-info → mcp_vector_search-0.12.3.dist-info}/RECORD +32 -8
  30. {mcp_vector_search-0.12.1.dist-info → mcp_vector_search-0.12.3.dist-info}/WHEEL +0 -0
  31. {mcp_vector_search-0.12.1.dist-info → mcp_vector_search-0.12.3.dist-info}/entry_points.txt +0 -0
  32. {mcp_vector_search-0.12.1.dist-info → mcp_vector_search-0.12.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
1
1
  """MCP Vector Search - CLI-first semantic code search with MCP integration."""
2
2
 
3
- __version__ = "0.12.1"
4
- __build__ = "51"
3
+ __version__ = "0.12.3"
4
+ __build__ = "53"
5
5
  __author__ = "Robert Matsuoka"
6
6
  __email__ = "bobmatnyc@gmail.com"
7
7
 
@@ -1069,12 +1069,18 @@ def _create_visualization_html(html_file: Path) -> None:
1069
1069
  .style("pointer-events", "none")
1070
1070
  .text(d => collapsedNodes.has(d.id) ? "+" : "−");
1071
1071
 
1072
- // Add labels (show "Import:" prefix for L1 nodes)
1072
+ // Add labels (show actual import statement for L1 nodes)
1073
1073
  node.append("text")
1074
1074
  .text(d => {
1075
1075
  // L1 (depth 1) nodes are imports
1076
1076
  if (d.depth === 1 && d.type !== 'directory' && d.type !== 'file') {
1077
- return `Import: ${d.name}`;
1077
+ if (d.content) {
1078
+ // Extract first line of import statement
1079
+ const importLine = d.content.split('\n')[0].trim();
1080
+ // Truncate if too long (max 60 chars)
1081
+ return importLine.length > 60 ? importLine.substring(0, 57) + '...' : importLine;
1082
+ }
1083
+ return d.name; // Fallback to name if no content
1078
1084
  }
1079
1085
  return d.name;
1080
1086
  })
@@ -1230,9 +1236,14 @@ def _create_visualization_html(html_file: Path) -> None:
1230
1236
  const meta = document.getElementById('pane-meta');
1231
1237
  const content = document.getElementById('pane-content');
1232
1238
 
1233
- // Set title with "Import:" prefix for L1 nodes
1239
+ // Set title with actual import statement for L1 nodes
1234
1240
  if (node.depth === 1 && node.type !== 'directory' && node.type !== 'file') {
1235
- title.textContent = `Import: ${node.name}`;
1241
+ if (node.content) {
1242
+ const importLine = node.content.split('\n')[0].trim();
1243
+ title.textContent = importLine;
1244
+ } else {
1245
+ title.textContent = `Import: ${node.name}`;
1246
+ }
1236
1247
  } else {
1237
1248
  title.textContent = node.name;
1238
1249
  }
@@ -1360,10 +1371,15 @@ def _create_visualization_html(html_file: Path) -> None:
1360
1371
  }
1361
1372
 
1362
1373
  function showImportDetails(node, container) {
1363
- // L1 nodes are import statements
1374
+ // L1 nodes are import statements - show import content prominently
1364
1375
  const importHtml = `
1365
1376
  <div class="import-details">
1366
- <div class="import-statement">${escapeHtml(node.name)}</div>
1377
+ ${node.content ? `
1378
+ <div style="margin-bottom: 16px;">
1379
+ <div class="detail-label" style="margin-bottom: 8px;">Import Statement:</div>
1380
+ <pre><code>${escapeHtml(node.content)}</code></pre>
1381
+ </div>
1382
+ ` : '<p style="color: #8b949e;">No import content available</p>'}
1367
1383
  <div class="detail-row">
1368
1384
  <span class="detail-label">File:</span> ${node.file_path}
1369
1385
  </div>
@@ -1377,12 +1393,6 @@ def _create_visualization_html(html_file: Path) -> None:
1377
1393
  <span class="detail-label">Language:</span> ${node.language}
1378
1394
  </div>
1379
1395
  ` : ''}
1380
- ${node.content ? `
1381
- <div style="margin-top: 16px;">
1382
- <div class="detail-label" style="margin-bottom: 8px;">Import Statement:</div>
1383
- <pre><code>${escapeHtml(node.content)}</code></pre>
1384
- </div>
1385
- ` : ''}
1386
1396
  </div>
1387
1397
  `;
1388
1398