flowseeker 0.1.7

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 (82) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/COMPATIBILITY.md +281 -0
  3. package/LICENSE +21 -0
  4. package/README.md +375 -0
  5. package/dist/adapters/frameworkEdges.js +586 -0
  6. package/dist/agent/approvalPolicy.js +81 -0
  7. package/dist/agent/commandRunner.js +166 -0
  8. package/dist/agent/flowCommandRunner.js +124 -0
  9. package/dist/agent/mcpToolRunner.js +167 -0
  10. package/dist/auth/githubAuth.js +71 -0
  11. package/dist/auth/modelList.js +127 -0
  12. package/dist/auth/oauthHandler.js +377 -0
  13. package/dist/chat/nativeChatParticipant.js +616 -0
  14. package/dist/cli/mcpServer.js +383 -0
  15. package/dist/cli/runEvaluation.js +789 -0
  16. package/dist/cli/runReplay.js +481 -0
  17. package/dist/commands/checkHostCompatibility.js +149 -0
  18. package/dist/commands/copyAgentPrompt.js +52 -0
  19. package/dist/commands/copyContext.js +54 -0
  20. package/dist/commands/explainSelectionRelevance.js +57 -0
  21. package/dist/commands/findRelevantContext.js +127 -0
  22. package/dist/commands/openEvidence.js +49 -0
  23. package/dist/commands/openMcpConfig.js +81 -0
  24. package/dist/commands/openRelatedTests.js +54 -0
  25. package/dist/commands/rebuildIndex.js +45 -0
  26. package/dist/commands/runEvaluationSuite.js +323 -0
  27. package/dist/commands/runReplaySuite.js +228 -0
  28. package/dist/config/defaultConfig.js +72 -0
  29. package/dist/config/loadConfig.js +84 -0
  30. package/dist/config/loadConfigFromPath.js +60 -0
  31. package/dist/extension.js +513 -0
  32. package/dist/gateway/agentPrompts.js +176 -0
  33. package/dist/gateway/aiGateway.js +1255 -0
  34. package/dist/gateway/aiProviders.js +901 -0
  35. package/dist/gateway/contextExpansion.js +331 -0
  36. package/dist/gateway/editProposalStore.js +238 -0
  37. package/dist/gateway/planProposalStore.js +28 -0
  38. package/dist/index/cacheStore.js +51 -0
  39. package/dist/index/chunker.js +45 -0
  40. package/dist/index/dependencyExtractor.js +107 -0
  41. package/dist/index/fileDiscovery.js +177 -0
  42. package/dist/index/structuredExtractor.js +256 -0
  43. package/dist/index/workspaceIndex.js +518 -0
  44. package/dist/mcp/mcpConfig.js +154 -0
  45. package/dist/mcp/mcpProvider.js +109 -0
  46. package/dist/mcp/mcpTools.js +215 -0
  47. package/dist/pipeline/agentPrompt.js +79 -0
  48. package/dist/pipeline/agentPromptHeadless.js +85 -0
  49. package/dist/pipeline/contextBlueprint.js +346 -0
  50. package/dist/pipeline/contextPack.js +80 -0
  51. package/dist/pipeline/diffPreview.js +79 -0
  52. package/dist/pipeline/evaluationMetrics.js +154 -0
  53. package/dist/pipeline/evidenceGraph.js +389 -0
  54. package/dist/pipeline/feedback.js +215 -0
  55. package/dist/pipeline/fileGroups.js +84 -0
  56. package/dist/pipeline/fileScanner.js +866 -0
  57. package/dist/pipeline/nodeScan.js +219 -0
  58. package/dist/pipeline/ranker.js +563 -0
  59. package/dist/pipeline/responseLanguage.js +39 -0
  60. package/dist/pipeline/retrievalPlan.js +163 -0
  61. package/dist/pipeline/runHeadless.js +54 -0
  62. package/dist/pipeline/runPipeline.js +114 -0
  63. package/dist/pipeline/solvePacket.js +382 -0
  64. package/dist/pipeline/subsystem.js +257 -0
  65. package/dist/pipeline/taskUnderstanding.js +453 -0
  66. package/dist/pipeline/tokenSavings.js +146 -0
  67. package/dist/pipeline/universalScan.js +216 -0
  68. package/dist/pipeline/verifyAfterApply.js +233 -0
  69. package/dist/runtime/capabilities.js +71 -0
  70. package/dist/runtime/hostDetect.js +98 -0
  71. package/dist/runtime/hostTier.js +68 -0
  72. package/dist/runtime/statusBar.js +80 -0
  73. package/dist/skills/skillRegistry.js +208 -0
  74. package/dist/types.js +3 -0
  75. package/dist/ui/chatViewProvider.js +3899 -0
  76. package/dist/ui/resultTreeProvider.js +174 -0
  77. package/dist/usage/quotaTracker.js +358 -0
  78. package/dist/utils/async.js +30 -0
  79. package/dist/utils/logger.js +64 -0
  80. package/dist/utils/text.js +364 -0
  81. package/dist/utils/updateChecker.js +140 -0
  82. package/package.json +561 -0
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.copyContext = copyContext;
37
+ const vscode = __importStar(require("vscode"));
38
+ const loadConfig_1 = require("../config/loadConfig");
39
+ const contextPack_1 = require("../pipeline/contextPack");
40
+ const logger_1 = require("../utils/logger");
41
+ async function copyContext(provider) {
42
+ const result = provider.getResult();
43
+ if (!result) {
44
+ vscode.window.showWarningMessage("Run FlowSeeker: Find Relevant Context first.");
45
+ return;
46
+ }
47
+ const config = await (0, loadConfig_1.loadConfig)();
48
+ const selectedUnits = provider.getSelectedUnits();
49
+ const contextPack = (0, contextPack_1.createContextPack)(result.task, selectedUnits, config);
50
+ await vscode.env.clipboard.writeText(contextPack);
51
+ (0, logger_1.logInfo)(`Copied context pack with ${selectedUnits.length} selected evidence units.`);
52
+ vscode.window.showInformationMessage(`Copied FlowSeeker context with ${selectedUnits.length} selected evidence units.`);
53
+ }
54
+ //# sourceMappingURL=copyContext.js.map
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.explainSelectionRelevance = explainSelectionRelevance;
37
+ const vscode = __importStar(require("vscode"));
38
+ async function explainSelectionRelevance(provider) {
39
+ const editor = vscode.window.activeTextEditor;
40
+ if (!editor) {
41
+ vscode.window.showWarningMessage("Open a file that appears in FlowSeeker results first.");
42
+ return;
43
+ }
44
+ const units = provider.findUnitsForFile(editor.document.uri.fsPath);
45
+ if (units.length === 0) {
46
+ vscode.window.showInformationMessage("The active file is not in the current FlowSeeker result set.");
47
+ return;
48
+ }
49
+ const detail = units
50
+ .map((unit) => {
51
+ const range = unit.range ? `:${unit.range.startLine}-${unit.range.endLine}` : "";
52
+ return `${unit.relativePath}${range}\nRole: ${unit.role}\nConfidence: ${unit.confidence.toFixed(2)}\nReasons:\n${unit.reasons.map((reason) => `- ${reason}`).join("\n")}`;
53
+ })
54
+ .join("\n\n---\n\n");
55
+ vscode.window.showInformationMessage(detail, { modal: true });
56
+ }
57
+ //# sourceMappingURL=explainSelectionRelevance.js.map
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.findRelevantContext = findRelevantContext;
37
+ const vscode = __importStar(require("vscode"));
38
+ const runPipeline_1 = require("../pipeline/runPipeline");
39
+ const logger_1 = require("../utils/logger");
40
+ async function findRelevantContext(provider) {
41
+ const folders = vscode.workspace.workspaceFolders;
42
+ if (!folders || folders.length === 0) {
43
+ (0, logger_1.logInfo)("Find Relevant Context stopped because no workspace folder is open.");
44
+ vscode.window.showWarningMessage("Open a workspace folder before running FlowSeeker.");
45
+ return;
46
+ }
47
+ const task = await vscode.window.showInputBox({
48
+ title: "FlowSeeker: Find Relevant Context",
49
+ prompt: "Describe the bug, feature, refactor, or investigation you need to solve.",
50
+ placeHolder: "Example: fix students being approved by name instead of ID",
51
+ ignoreFocusOut: true
52
+ });
53
+ if (!task?.trim()) {
54
+ (0, logger_1.logInfo)("Find Relevant Context cancelled before scan.");
55
+ return;
56
+ }
57
+ try {
58
+ (0, logger_1.logInfo)(`Starting scan for task: ${task.trim()}`);
59
+ (0, logger_1.logInfo)(`Workspace folders: ${folders.map((folder) => folder.uri.fsPath).join("; ")}`);
60
+ const result = await vscode.window.withProgress({
61
+ location: vscode.ProgressLocation.Notification,
62
+ title: "FlowSeeker is scanning the workspace",
63
+ cancellable: true
64
+ }, async (progress, token) => {
65
+ progress.report({ message: "Understanding task and scanning files..." });
66
+ return (0, runPipeline_1.runFlowSeeker)(task.trim(), { progress, token });
67
+ });
68
+ provider.setResult(result);
69
+ (0, logger_1.logInfo)(`Task intent: ${result.profile.intent}; keywords: ${result.profile.keywords.join(", ")}`);
70
+ (0, logger_1.logInfo)(`Retrieval strategies: ${result.profile.strategies.join(", ")}`);
71
+ (0, logger_1.logInfo)(`Retrieval passes: ${result.profile.passes.map((pass) => `${pass.label}[${pass.purpose}]=${pass.terms.map((term) => `${term.term}:${term.weight}`).join("|")}`).join("; ")}`);
72
+ (0, logger_1.logInfo)(`Role counts: ${formatCounts(countBy(result.units.map((unit) => unit.role)))}`);
73
+ (0, logger_1.logInfo)(`Kind counts: ${formatCounts(countBy(result.units.map((unit) => unit.kind)))}`);
74
+ (0, logger_1.logInfo)(`Top evidence:\n${formatTopEvidence(result.units)}`);
75
+ (0, logger_1.logInfo)(`Scan complete. Discovered files: ${result.stats.discoveredFiles}; scanned files: ${result.stats.scannedFiles}; skipped files: ${result.stats.skippedFiles}; scanned bytes: ${formatBytes(result.stats.scannedBytes)}; raw evidence: ${result.stats.rawEvidenceCount}; ranked evidence: ${result.stats.rankedEvidenceCount}; max candidates: ${result.stats.maxCandidates}; capped: ${result.stats.capped}; stopped early: ${result.stats.stoppedEarly}${result.stats.stopReason ? ` (${result.stats.stopReason})` : ""}${formatIndexStats(result.stats)}.`);
76
+ if (result.stats.scannedFiles > 0 && result.units.length === 0) {
77
+ vscode.window.showWarningMessage(`FlowSeeker scanned ${result.stats.scannedFiles} files but found no evidence for this task. Try adding domain terms to .flowseeker/config.json synonyms or run it in the target project workspace.`);
78
+ return;
79
+ }
80
+ vscode.window.showInformationMessage(result.stats.stoppedEarly
81
+ ? `FlowSeeker returned partial results: ${result.stats.stopReason}. Showing ${result.units.length} evidence units.`
82
+ : result.stats.capped
83
+ ? `FlowSeeker found ${result.stats.rawEvidenceCount} raw evidence units and showed the top ${result.units.length}.`
84
+ : `FlowSeeker found ${result.units.length} evidence units from ${result.stats.scannedFiles} scanned files.`);
85
+ }
86
+ catch (error) {
87
+ (0, logger_1.logError)("Find Relevant Context failed.", error);
88
+ const message = error instanceof Error ? error.message : String(error);
89
+ vscode.window.showErrorMessage(`FlowSeeker failed: ${message}`);
90
+ }
91
+ }
92
+ function formatBytes(bytes) {
93
+ if (bytes < 1024 * 1024) {
94
+ return `${(bytes / 1024).toFixed(1)}KB`;
95
+ }
96
+ return `${(bytes / 1024 / 1024).toFixed(1)}MB`;
97
+ }
98
+ function formatIndexStats(stats) {
99
+ if (stats.indexedFiles === undefined) {
100
+ return "";
101
+ }
102
+ return `; indexed files: ${stats.indexedFiles}; candidate files: ${stats.candidateFiles ?? "unknown"}; index reused: ${stats.indexReusedFiles ?? 0}; index updated: ${stats.indexUpdatedFiles ?? 0}`;
103
+ }
104
+ function countBy(values) {
105
+ return values.reduce((counts, value) => {
106
+ counts[value] = (counts[value] ?? 0) + 1;
107
+ return counts;
108
+ }, {});
109
+ }
110
+ function formatCounts(counts) {
111
+ const entries = Object.entries(counts).sort((left, right) => right[1] - left[1]);
112
+ return entries.length > 0 ? entries.map(([key, value]) => `${key}=${value}`).join(", ") : "none";
113
+ }
114
+ function formatTopEvidence(units) {
115
+ if (units.length === 0) {
116
+ return " none";
117
+ }
118
+ return units
119
+ .slice(0, 10)
120
+ .map((unit, index) => {
121
+ const reasons = unit.reasons.slice(0, 2).join("; ") || "ranked evidence";
122
+ const passes = unit.retrievalPasses.length > 0 ? unit.retrievalPasses.join("+") : "seed";
123
+ return ` ${index + 1}. ${unit.relativePath} [${unit.role}/${unit.kind}] passes=${passes} score=${unit.score.toFixed(1)} confidence=${unit.confidence.toFixed(2)} - ${reasons}`;
124
+ })
125
+ .join("\n");
126
+ }
127
+ //# sourceMappingURL=findRelevantContext.js.map
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.openEvidence = openEvidence;
37
+ const vscode = __importStar(require("vscode"));
38
+ async function openEvidence(unit) {
39
+ const document = await vscode.workspace.openTextDocument(vscode.Uri.file(unit.file));
40
+ const editor = await vscode.window.showTextDocument(document, { preview: false });
41
+ if (!unit.range) {
42
+ return;
43
+ }
44
+ const start = new vscode.Position(Math.max(0, unit.range.startLine - 1), 0);
45
+ const end = new vscode.Position(Math.max(0, unit.range.endLine - 1), 0);
46
+ editor.selection = new vscode.Selection(start, start);
47
+ editor.revealRange(new vscode.Range(start, end), vscode.TextEditorRevealType.InCenter);
48
+ }
49
+ //# sourceMappingURL=openEvidence.js.map
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.openMcpConfig = openMcpConfig;
37
+ const vscode = __importStar(require("vscode"));
38
+ async function openMcpConfig() {
39
+ const folders = vscode.workspace.workspaceFolders;
40
+ if (!folders?.[0]) {
41
+ await vscode.window.showWarningMessage("Open a workspace folder before configuring MCP servers.");
42
+ return;
43
+ }
44
+ const vscodeDir = vscode.Uri.joinPath(folders[0].uri, ".vscode");
45
+ const configUri = vscode.Uri.joinPath(vscodeDir, "mcp.json");
46
+ await ensureWorkspaceMcpConfig(vscodeDir, configUri);
47
+ const document = await vscode.workspace.openTextDocument(configUri);
48
+ await vscode.window.showTextDocument(document, { preview: false });
49
+ }
50
+ async function ensureWorkspaceMcpConfig(vscodeDir, configUri) {
51
+ try {
52
+ await vscode.workspace.fs.stat(configUri);
53
+ return;
54
+ }
55
+ catch {
56
+ // Create a workspace MCP config template when one does not exist.
57
+ }
58
+ try {
59
+ await vscode.workspace.fs.createDirectory(vscodeDir);
60
+ }
61
+ catch {
62
+ // Directory may have been created by another process.
63
+ }
64
+ const template = {
65
+ servers: {
66
+ "example-stdio": {
67
+ enabled: false,
68
+ type: "stdio",
69
+ command: "npx",
70
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
71
+ },
72
+ "example-http": {
73
+ enabled: false,
74
+ type: "http",
75
+ url: "http://localhost:3000/mcp"
76
+ }
77
+ }
78
+ };
79
+ await vscode.workspace.fs.writeFile(configUri, new TextEncoder().encode(`${JSON.stringify(template, null, 2)}\n`));
80
+ }
81
+ //# sourceMappingURL=openMcpConfig.js.map
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.openRelatedTests = openRelatedTests;
37
+ const vscode = __importStar(require("vscode"));
38
+ async function openRelatedTests(provider) {
39
+ const tests = provider.getUnitsByRole("test");
40
+ if (tests.length === 0) {
41
+ vscode.window.showInformationMessage("No related tests were found in the current FlowSeeker results.");
42
+ return;
43
+ }
44
+ for (const test of tests.slice(0, 5)) {
45
+ const document = await vscode.workspace.openTextDocument(vscode.Uri.file(test.file));
46
+ const editor = await vscode.window.showTextDocument(document, { preview: false });
47
+ if (test.range) {
48
+ const position = new vscode.Position(Math.max(0, test.range.startLine - 1), 0);
49
+ editor.selection = new vscode.Selection(position, position);
50
+ editor.revealRange(new vscode.Range(position, position), vscode.TextEditorRevealType.InCenter);
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=openRelatedTests.js.map
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.rebuildIndex = rebuildIndex;
37
+ const vscode = __importStar(require("vscode"));
38
+ const cacheStore_1 = require("../index/cacheStore");
39
+ const logger_1 = require("../utils/logger");
40
+ async function rebuildIndex() {
41
+ await (0, cacheStore_1.clearFlowSeekerCache)();
42
+ (0, logger_1.logInfo)("FlowSeeker cache cleared.");
43
+ vscode.window.showInformationMessage("FlowSeeker cache cleared. The workspace index will be rebuilt on the next search.");
44
+ }
45
+ //# sourceMappingURL=rebuildIndex.js.map