noverload-mcp 0.8.4 → 0.9.1
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.
- package/dist/client.d.ts +15 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +21 -9
- package/dist/client.js.map +1 -1
- package/dist/index.js +39 -19
- package/dist/index.js.map +1 -1
- package/dist/tools/implementations/_archived/estimate-tokens.d.ts +3 -0
- package/dist/tools/implementations/_archived/estimate-tokens.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/estimate-tokens.js +54 -0
- package/dist/tools/implementations/_archived/estimate-tokens.js.map +1 -0
- package/dist/tools/implementations/_archived/expand-search.d.ts +3 -0
- package/dist/tools/implementations/_archived/expand-search.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/expand-search.js +400 -0
- package/dist/tools/implementations/_archived/expand-search.js.map +1 -0
- package/dist/tools/implementations/_archived/extract-insights.d.ts +3 -0
- package/dist/tools/implementations/_archived/extract-insights.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/extract-insights.js +130 -0
- package/dist/tools/implementations/_archived/extract-insights.js.map +1 -0
- package/dist/tools/implementations/_archived/find-connections.d.ts +3 -0
- package/dist/tools/implementations/_archived/find-connections.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/find-connections.js +106 -0
- package/dist/tools/implementations/_archived/find-connections.js.map +1 -0
- package/dist/tools/implementations/_archived/instructions.d.ts +3 -0
- package/dist/tools/implementations/_archived/instructions.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/instructions.js +88 -0
- package/dist/tools/implementations/_archived/instructions.js.map +1 -0
- package/dist/tools/implementations/_archived/knowledge-graph.d.ts +3 -0
- package/dist/tools/implementations/_archived/knowledge-graph.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/knowledge-graph.js +278 -0
- package/dist/tools/implementations/_archived/knowledge-graph.js.map +1 -0
- package/dist/tools/implementations/_archived/plan-query.d.ts +3 -0
- package/dist/tools/implementations/_archived/plan-query.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/plan-query.js +63 -0
- package/dist/tools/implementations/_archived/plan-query.js.map +1 -0
- package/dist/tools/implementations/_archived/raw-content.d.ts +3 -0
- package/dist/tools/implementations/_archived/raw-content.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/raw-content.js +210 -0
- package/dist/tools/implementations/_archived/raw-content.js.map +1 -0
- package/dist/tools/implementations/_archived/similar-content.d.ts +3 -0
- package/dist/tools/implementations/_archived/similar-content.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/similar-content.js +64 -0
- package/dist/tools/implementations/_archived/similar-content.js.map +1 -0
- package/dist/tools/implementations/_archived/smart-sections.d.ts +3 -0
- package/dist/tools/implementations/_archived/smart-sections.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/smart-sections.js +471 -0
- package/dist/tools/implementations/_archived/smart-sections.js.map +1 -0
- package/dist/tools/implementations/_archived/synthesize.d.ts +3 -0
- package/dist/tools/implementations/_archived/synthesize.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/synthesize.js +193 -0
- package/dist/tools/implementations/_archived/synthesize.js.map +1 -0
- package/dist/tools/implementations/_archived/timeline.d.ts +3 -0
- package/dist/tools/implementations/_archived/timeline.d.ts.map +1 -0
- package/dist/tools/implementations/_archived/timeline.js +191 -0
- package/dist/tools/implementations/_archived/timeline.js.map +1 -0
- package/dist/tools/index.d.ts +3 -15
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +31 -57
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { analyzeConnections, groupConnectionsByType, getConnectionTypeEmoji, calculateNetworkStats } from "../helpers/connections.js";
|
|
3
|
+
export const findConnectionsTool = {
|
|
4
|
+
name: "find_connections",
|
|
5
|
+
description: "Discover connections and relationships between different pieces of content. Identifies causal links, contradictions, and complementary information.",
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
contentIds: {
|
|
10
|
+
type: "array",
|
|
11
|
+
items: {
|
|
12
|
+
type: "string",
|
|
13
|
+
},
|
|
14
|
+
description: "Array of content IDs to find connections between",
|
|
15
|
+
},
|
|
16
|
+
connectionType: {
|
|
17
|
+
type: "string",
|
|
18
|
+
enum: ["all", "causal", "contradictory", "complementary", "sequential"],
|
|
19
|
+
description: "Type of connections to find",
|
|
20
|
+
default: "all",
|
|
21
|
+
},
|
|
22
|
+
depth: {
|
|
23
|
+
type: "number",
|
|
24
|
+
description: "How many levels deep to search for connections (1-3)",
|
|
25
|
+
default: 1,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
required: ["contentIds"],
|
|
29
|
+
},
|
|
30
|
+
modifies: false,
|
|
31
|
+
handler: async (client, args) => {
|
|
32
|
+
const schema = z.object({
|
|
33
|
+
contentIds: z.array(z.string()).min(2),
|
|
34
|
+
connectionType: z.enum(["all", "causal", "contradictory", "complementary", "sequential"]).optional().default("all"),
|
|
35
|
+
depth: z.number().min(1).max(3).optional().default(1),
|
|
36
|
+
});
|
|
37
|
+
const params = schema.parse(args);
|
|
38
|
+
// Fetch all content items
|
|
39
|
+
const contents = await client.batchGetContent(params.contentIds, false);
|
|
40
|
+
if (!contents.results || contents.results.length < 2) {
|
|
41
|
+
return {
|
|
42
|
+
content: [
|
|
43
|
+
{
|
|
44
|
+
type: "text",
|
|
45
|
+
text: "Unable to find connections. Need at least 2 valid content items.",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
data: null,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// Analyze connections between content
|
|
52
|
+
const connections = analyzeConnections(contents.results, params.connectionType);
|
|
53
|
+
let responseText = `# 🔗 Content Connections Analysis\n`;
|
|
54
|
+
responseText += `**Analyzing:** ${contents.results.length} pieces of content\n`;
|
|
55
|
+
responseText += `**Connection Type:** ${params.connectionType}\n`;
|
|
56
|
+
responseText += `**Connections Found:** ${connections.length}\n\n`;
|
|
57
|
+
if (connections.length === 0) {
|
|
58
|
+
responseText += `No ${params.connectionType} connections found between the provided content.\n`;
|
|
59
|
+
responseText += `Try using connectionType='all' for broader analysis.\n`;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Group connections by type
|
|
63
|
+
const byType = groupConnectionsByType(connections);
|
|
64
|
+
Object.entries(byType).forEach(([type, conns]) => {
|
|
65
|
+
responseText += `## ${getConnectionTypeEmoji(type)} ${type} Connections (${conns.length})\n\n`;
|
|
66
|
+
conns.slice(0, 5).forEach((conn) => {
|
|
67
|
+
responseText += `### ${conn.source1.title} ↔️ ${conn.source2.title}\n`;
|
|
68
|
+
responseText += `**Relationship:** ${conn.relationship}\n`;
|
|
69
|
+
responseText += `**Strength:** ${conn.strength.toFixed(2)}\n`;
|
|
70
|
+
if (conn.explanation) {
|
|
71
|
+
responseText += `**Why:** ${conn.explanation}\n`;
|
|
72
|
+
}
|
|
73
|
+
if (conn.sharedConcepts && conn.sharedConcepts.length > 0) {
|
|
74
|
+
responseText += `**Shared Concepts:** ${conn.sharedConcepts.join(', ')}\n`;
|
|
75
|
+
}
|
|
76
|
+
responseText += `\n`;
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
// Network summary
|
|
80
|
+
responseText += `## 🌐 Connection Network Summary\n`;
|
|
81
|
+
const networkStats = calculateNetworkStats(connections, contents.results);
|
|
82
|
+
responseText += `- **Most Connected:** ${networkStats.mostConnected.title} (${networkStats.mostConnected.connectionCount} connections)\n`;
|
|
83
|
+
responseText += `- **Central Theme:** ${networkStats.centralTheme}\n`;
|
|
84
|
+
responseText += `- **Network Density:** ${networkStats.density}\n`;
|
|
85
|
+
if (params.depth > 1) {
|
|
86
|
+
responseText += `\n## 🔍 Extended Connections (Depth ${params.depth})\n`;
|
|
87
|
+
responseText += `*Searching for indirect connections through related content...*\n`;
|
|
88
|
+
responseText += `Use find_similar_content on highly connected items to explore further.\n`;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
content: [
|
|
93
|
+
{
|
|
94
|
+
type: "text",
|
|
95
|
+
text: responseText,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
data: {
|
|
99
|
+
connections,
|
|
100
|
+
contents: contents.results,
|
|
101
|
+
networkStats: connections.length > 0 ? calculateNetworkStats(connections, contents.results) : null,
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=find-connections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-connections.js","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/find-connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/instructions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,eAAO,MAAM,mBAAmB,EAAE,IA2FjC,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { generateLLMInstructions } from "../../llm-instructions.js";
|
|
3
|
+
export const getInstructionsTool = {
|
|
4
|
+
name: "get_instructions",
|
|
5
|
+
description: "Get instructions for optimal MCP usage, including capabilities, best practices, and example workflows",
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
topic: {
|
|
10
|
+
type: "string",
|
|
11
|
+
description: "Specific topic for instructions (optional)",
|
|
12
|
+
enum: ["search", "synthesis", "retrieval", "general"],
|
|
13
|
+
},
|
|
14
|
+
includeExamples: {
|
|
15
|
+
type: "boolean",
|
|
16
|
+
description: "Include workflow examples",
|
|
17
|
+
default: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
modifies: false,
|
|
22
|
+
handler: async (client, args) => {
|
|
23
|
+
const schema = z.object({
|
|
24
|
+
topic: z.enum(["search", "synthesis", "retrieval", "general"]).optional(),
|
|
25
|
+
includeExamples: z.boolean().optional().default(true),
|
|
26
|
+
});
|
|
27
|
+
const params = schema.parse(args);
|
|
28
|
+
const instructions = generateLLMInstructions();
|
|
29
|
+
let responseText = `# Noverload MCP Usage Instructions\n\n`;
|
|
30
|
+
responseText += `## Version: ${instructions.version}\n\n`;
|
|
31
|
+
if (!params.topic || params.topic === "general") {
|
|
32
|
+
// Show all capabilities
|
|
33
|
+
responseText += `## Capabilities Overview\n\n`;
|
|
34
|
+
for (const [key, capability] of Object.entries(instructions.capabilities)) {
|
|
35
|
+
responseText += `### ${key.charAt(0).toUpperCase() + key.slice(1)}\n`;
|
|
36
|
+
responseText += `${capability.description}\n\n`;
|
|
37
|
+
responseText += `**Strengths:**\n`;
|
|
38
|
+
capability.strengths.forEach((s) => responseText += `- ${s}\n`);
|
|
39
|
+
responseText += `\n**When to use:**\n`;
|
|
40
|
+
capability.whenToUse.forEach((w) => responseText += `- ${w}\n`);
|
|
41
|
+
responseText += `\n`;
|
|
42
|
+
}
|
|
43
|
+
responseText += `## Best Practices\n\n`;
|
|
44
|
+
for (const [scenario, practice] of Object.entries(instructions.bestPractices)) {
|
|
45
|
+
responseText += `**${scenario.replace(/([A-Z])/g, ' $1').toLowerCase()}:** ${practice}\n`;
|
|
46
|
+
}
|
|
47
|
+
responseText += `\n`;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Show specific capability
|
|
51
|
+
const capability = instructions.capabilities[params.topic];
|
|
52
|
+
if (capability) {
|
|
53
|
+
responseText += `## ${params.topic.charAt(0).toUpperCase() + params.topic.slice(1)} Capability\n\n`;
|
|
54
|
+
responseText += `${capability.description}\n\n`;
|
|
55
|
+
responseText += `### Strengths\n`;
|
|
56
|
+
capability.strengths.forEach(s => responseText += `- ${s}\n`);
|
|
57
|
+
responseText += `\n### Limitations\n`;
|
|
58
|
+
capability.limitations.forEach(l => responseText += `- ${l}\n`);
|
|
59
|
+
responseText += `\n### When to Use\n`;
|
|
60
|
+
capability.whenToUse.forEach(w => responseText += `- ${w}\n`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (params.includeExamples && instructions.exampleWorkflows.length > 0) {
|
|
64
|
+
responseText += `\n## Example Workflows\n\n`;
|
|
65
|
+
instructions.exampleWorkflows.forEach((example, idx) => {
|
|
66
|
+
responseText += `### ${idx + 1}. ${example.scenario}\n`;
|
|
67
|
+
responseText += `**Steps:**\n`;
|
|
68
|
+
example.steps.forEach((step, i) => responseText += `${i + 1}. ${step}\n`);
|
|
69
|
+
responseText += `**Expected Outcome:** ${example.expectedOutcome}\n\n`;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
responseText += `## Token Management\n\n`;
|
|
73
|
+
responseText += `- Search results limit: ${instructions.tokenManagement.searchResultsLimit}\n`;
|
|
74
|
+
responseText += `- Use chunking: ${instructions.tokenManagement.useChunking ? 'Yes' : 'No'}\n`;
|
|
75
|
+
responseText += `- Get summaries first: ${instructions.tokenManagement.summaryFirst ? 'Yes' : 'No'}\n`;
|
|
76
|
+
responseText += `- Max content per query: ${instructions.tokenManagement.maxContentPerQuery.toLocaleString()} tokens\n`;
|
|
77
|
+
return {
|
|
78
|
+
content: [
|
|
79
|
+
{
|
|
80
|
+
type: "text",
|
|
81
|
+
text: responseText,
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
data: instructions,
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/knowledge-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,uBAAuB,EAAE,IAyTrC,CAAC"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const buildKnowledgeGraphTool = {
|
|
3
|
+
name: "build_knowledge_graph",
|
|
4
|
+
description: "Create a knowledge graph showing relationships between concepts, topics, and content in your saved knowledge base",
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: "object",
|
|
7
|
+
properties: {
|
|
8
|
+
topic: {
|
|
9
|
+
type: "string",
|
|
10
|
+
description: "Central topic for the knowledge graph",
|
|
11
|
+
},
|
|
12
|
+
maxNodes: {
|
|
13
|
+
type: "number",
|
|
14
|
+
description: "Maximum number of nodes in the graph",
|
|
15
|
+
default: 20,
|
|
16
|
+
},
|
|
17
|
+
depth: {
|
|
18
|
+
type: "number",
|
|
19
|
+
description: "How many levels of connections to explore (1-3)",
|
|
20
|
+
default: 2,
|
|
21
|
+
},
|
|
22
|
+
includeStats: {
|
|
23
|
+
type: "boolean",
|
|
24
|
+
description: "Include statistics about connections",
|
|
25
|
+
default: true,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
required: ["topic"],
|
|
29
|
+
},
|
|
30
|
+
modifies: false,
|
|
31
|
+
handler: async (client, args) => {
|
|
32
|
+
const schema = z.object({
|
|
33
|
+
topic: z.string(),
|
|
34
|
+
maxNodes: z.number().optional().default(20),
|
|
35
|
+
depth: z.number().min(1).max(3).optional().default(2),
|
|
36
|
+
includeStats: z.boolean().optional().default(true),
|
|
37
|
+
});
|
|
38
|
+
const params = schema.parse(args);
|
|
39
|
+
// Search for content related to the topic
|
|
40
|
+
const searchResults = await client.searchContent(params.topic, {
|
|
41
|
+
limit: params.maxNodes * 2, // Get extra for better graph
|
|
42
|
+
enableConceptExpansion: true,
|
|
43
|
+
});
|
|
44
|
+
if (!searchResults || searchResults.length === 0) {
|
|
45
|
+
return {
|
|
46
|
+
content: [
|
|
47
|
+
{
|
|
48
|
+
type: "text",
|
|
49
|
+
text: `No content found for topic: "${params.topic}". Cannot build knowledge graph without saved content.`,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
data: null,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// Build the graph structure
|
|
56
|
+
const nodes = new Map();
|
|
57
|
+
const edges = new Map();
|
|
58
|
+
// Add central topic node
|
|
59
|
+
nodes.set(params.topic.toLowerCase(), {
|
|
60
|
+
id: params.topic.toLowerCase(),
|
|
61
|
+
label: params.topic,
|
|
62
|
+
type: "central",
|
|
63
|
+
weight: searchResults.length,
|
|
64
|
+
});
|
|
65
|
+
// Process search results to extract concepts and relationships
|
|
66
|
+
searchResults.forEach((item) => {
|
|
67
|
+
// Add content as a node
|
|
68
|
+
const contentId = `content_${item.id}`;
|
|
69
|
+
nodes.set(contentId, {
|
|
70
|
+
id: contentId,
|
|
71
|
+
label: item.title || "Untitled",
|
|
72
|
+
type: "content",
|
|
73
|
+
contentType: item.contentType,
|
|
74
|
+
url: item.url,
|
|
75
|
+
weight: 1,
|
|
76
|
+
});
|
|
77
|
+
// Connect content to central topic
|
|
78
|
+
if (!edges.has(params.topic.toLowerCase())) {
|
|
79
|
+
edges.set(params.topic.toLowerCase(), new Set());
|
|
80
|
+
}
|
|
81
|
+
edges.get(params.topic.toLowerCase()).add(contentId);
|
|
82
|
+
// Extract and add concept nodes from tags and summary
|
|
83
|
+
if (item.tags && Array.isArray(item.tags)) {
|
|
84
|
+
item.tags.forEach((tag) => {
|
|
85
|
+
const tagId = `tag_${tag.toLowerCase()}`;
|
|
86
|
+
if (!nodes.has(tagId)) {
|
|
87
|
+
nodes.set(tagId, {
|
|
88
|
+
id: tagId,
|
|
89
|
+
label: tag,
|
|
90
|
+
type: "concept",
|
|
91
|
+
weight: 0,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Increase weight for repeated concepts
|
|
95
|
+
nodes.get(tagId).weight++;
|
|
96
|
+
// Connect tag to content
|
|
97
|
+
if (!edges.has(contentId)) {
|
|
98
|
+
edges.set(contentId, new Set());
|
|
99
|
+
}
|
|
100
|
+
edges.get(contentId).add(tagId);
|
|
101
|
+
// Connect tag to central topic
|
|
102
|
+
edges.get(params.topic.toLowerCase()).add(tagId);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// Extract key concepts from summary if available
|
|
106
|
+
if (item.summary) {
|
|
107
|
+
const summary = typeof item.summary === 'string'
|
|
108
|
+
? item.summary
|
|
109
|
+
: item.summary.one_sentence || item.summary.text || "";
|
|
110
|
+
// Simple concept extraction (words that appear to be important)
|
|
111
|
+
const words = summary.toLowerCase().split(/\s+/);
|
|
112
|
+
const importantWords = words
|
|
113
|
+
.filter((w) => w.length > 6 && !['through', 'between', 'because', 'without'].includes(w))
|
|
114
|
+
.slice(0, 3);
|
|
115
|
+
importantWords.forEach((word) => {
|
|
116
|
+
const conceptId = `concept_${word}`;
|
|
117
|
+
if (!nodes.has(conceptId) && nodes.size < params.maxNodes) {
|
|
118
|
+
nodes.set(conceptId, {
|
|
119
|
+
id: conceptId,
|
|
120
|
+
label: word,
|
|
121
|
+
type: "derived",
|
|
122
|
+
weight: 1,
|
|
123
|
+
});
|
|
124
|
+
// Connect to content
|
|
125
|
+
if (!edges.has(contentId)) {
|
|
126
|
+
edges.set(contentId, new Set());
|
|
127
|
+
}
|
|
128
|
+
edges.get(contentId).add(conceptId);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
// For depth > 1, find second-level connections
|
|
134
|
+
if (params.depth > 1) {
|
|
135
|
+
const firstLevelNodes = Array.from(edges.get(params.topic.toLowerCase()) || []);
|
|
136
|
+
for (const nodeId of firstLevelNodes.slice(0, 10)) { // Limit for performance
|
|
137
|
+
if (nodeId.startsWith('tag_') || nodeId.startsWith('concept_')) {
|
|
138
|
+
// Find content that shares this concept
|
|
139
|
+
const concept = nodes.get(nodeId)?.label;
|
|
140
|
+
if (concept) {
|
|
141
|
+
const relatedResults = await client.searchContent(concept, {
|
|
142
|
+
limit: 5,
|
|
143
|
+
enableConceptExpansion: false,
|
|
144
|
+
});
|
|
145
|
+
relatedResults?.forEach((item) => {
|
|
146
|
+
const relatedId = `related_${item.id}`;
|
|
147
|
+
if (!nodes.has(relatedId) && nodes.size < params.maxNodes) {
|
|
148
|
+
nodes.set(relatedId, {
|
|
149
|
+
id: relatedId,
|
|
150
|
+
label: item.title || "Related Content",
|
|
151
|
+
type: "related",
|
|
152
|
+
contentType: item.contentType,
|
|
153
|
+
url: item.url,
|
|
154
|
+
weight: 1,
|
|
155
|
+
});
|
|
156
|
+
// Connect to the concept
|
|
157
|
+
if (!edges.has(nodeId)) {
|
|
158
|
+
edges.set(nodeId, new Set());
|
|
159
|
+
}
|
|
160
|
+
edges.get(nodeId).add(relatedId);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Format response
|
|
168
|
+
let responseText = `# 🕸️ Knowledge Graph: "${params.topic}"\n`;
|
|
169
|
+
responseText += `**Nodes:** ${nodes.size} | **Depth:** ${params.depth}\n\n`;
|
|
170
|
+
// Node breakdown
|
|
171
|
+
const nodeTypes = new Map();
|
|
172
|
+
nodes.forEach(node => {
|
|
173
|
+
nodeTypes.set(node.type, (nodeTypes.get(node.type) || 0) + 1);
|
|
174
|
+
});
|
|
175
|
+
responseText += `## 📊 Graph Structure\n`;
|
|
176
|
+
responseText += `- **Central Topic:** ${params.topic}\n`;
|
|
177
|
+
nodeTypes.forEach((count, type) => {
|
|
178
|
+
const typeEmoji = {
|
|
179
|
+
content: "📄",
|
|
180
|
+
concept: "💡",
|
|
181
|
+
derived: "🔍",
|
|
182
|
+
related: "🔗",
|
|
183
|
+
central: "🎯",
|
|
184
|
+
};
|
|
185
|
+
responseText += `- **${typeEmoji[type] || "•"} ${type}:** ${count} nodes\n`;
|
|
186
|
+
});
|
|
187
|
+
responseText += `\n`;
|
|
188
|
+
// Key concepts (highest weight nodes)
|
|
189
|
+
const conceptNodes = Array.from(nodes.values())
|
|
190
|
+
.filter(n => n.type === 'concept' || n.type === 'derived')
|
|
191
|
+
.sort((a, b) => b.weight - a.weight)
|
|
192
|
+
.slice(0, 10);
|
|
193
|
+
if (conceptNodes.length > 0) {
|
|
194
|
+
responseText += `## 💡 Key Concepts\n`;
|
|
195
|
+
conceptNodes.forEach((node, idx) => {
|
|
196
|
+
responseText += `${idx + 1}. **${node.label}** (strength: ${node.weight})\n`;
|
|
197
|
+
});
|
|
198
|
+
responseText += `\n`;
|
|
199
|
+
}
|
|
200
|
+
// Content clusters
|
|
201
|
+
const contentNodes = Array.from(nodes.values())
|
|
202
|
+
.filter(n => n.type === 'content')
|
|
203
|
+
.slice(0, 10);
|
|
204
|
+
if (contentNodes.length > 0) {
|
|
205
|
+
responseText += `## 📚 Core Content\n`;
|
|
206
|
+
contentNodes.forEach((node, idx) => {
|
|
207
|
+
const typeIcons = {
|
|
208
|
+
youtube: "📺",
|
|
209
|
+
x_twitter: "𝕏",
|
|
210
|
+
reddit: "🔗",
|
|
211
|
+
article: "📄",
|
|
212
|
+
pdf: "📑"
|
|
213
|
+
};
|
|
214
|
+
const icon = typeIcons[node.contentType] || "📄";
|
|
215
|
+
responseText += `${idx + 1}. ${icon} [${node.label}](${node.url})\n`;
|
|
216
|
+
});
|
|
217
|
+
responseText += `\n`;
|
|
218
|
+
}
|
|
219
|
+
// Connection statistics
|
|
220
|
+
if (params.includeStats) {
|
|
221
|
+
responseText += `## 🔗 Connection Statistics\n`;
|
|
222
|
+
// Find most connected nodes
|
|
223
|
+
const connectionCounts = new Map();
|
|
224
|
+
edges.forEach((connections, nodeId) => {
|
|
225
|
+
connectionCounts.set(nodeId, connections.size);
|
|
226
|
+
});
|
|
227
|
+
const mostConnected = Array.from(connectionCounts.entries())
|
|
228
|
+
.sort((a, b) => b[1] - a[1])
|
|
229
|
+
.slice(0, 5);
|
|
230
|
+
responseText += `**Most Connected Nodes:**\n`;
|
|
231
|
+
mostConnected.forEach(([nodeId, count]) => {
|
|
232
|
+
const node = nodes.get(nodeId);
|
|
233
|
+
if (node) {
|
|
234
|
+
responseText += `- ${node.label}: ${count} connections\n`;
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
responseText += `\n`;
|
|
238
|
+
// Graph density
|
|
239
|
+
const possibleEdges = nodes.size * (nodes.size - 1) / 2;
|
|
240
|
+
const actualEdges = Array.from(edges.values()).reduce((sum, set) => sum + set.size, 0);
|
|
241
|
+
const density = ((actualEdges / possibleEdges) * 100).toFixed(1);
|
|
242
|
+
responseText += `**Graph Metrics:**\n`;
|
|
243
|
+
responseText += `- Density: ${density}%\n`;
|
|
244
|
+
responseText += `- Average connections: ${(actualEdges / nodes.size).toFixed(1)}\n`;
|
|
245
|
+
responseText += `- Total edges: ${actualEdges}\n`;
|
|
246
|
+
}
|
|
247
|
+
// Visualization suggestion
|
|
248
|
+
responseText += `\n## 🎨 Visualization\n`;
|
|
249
|
+
responseText += `The knowledge graph contains:\n`;
|
|
250
|
+
responseText += `- ${nodes.size} nodes representing concepts and content\n`;
|
|
251
|
+
responseText += `- ${Array.from(edges.values()).reduce((sum, set) => sum + set.size, 0)} edges showing relationships\n\n`;
|
|
252
|
+
responseText += `💡 **Tip:** Use the graph data in the response to create visual representations with tools like D3.js or Graphviz.\n`;
|
|
253
|
+
// Convert to serializable format
|
|
254
|
+
const graphData = {
|
|
255
|
+
nodes: Array.from(nodes.values()),
|
|
256
|
+
edges: Array.from(edges.entries()).flatMap(([source, targets]) => Array.from(targets).map(target => ({ source, target }))),
|
|
257
|
+
};
|
|
258
|
+
return {
|
|
259
|
+
content: [
|
|
260
|
+
{
|
|
261
|
+
type: "text",
|
|
262
|
+
text: responseText,
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
data: {
|
|
266
|
+
topic: params.topic,
|
|
267
|
+
graph: graphData,
|
|
268
|
+
statistics: {
|
|
269
|
+
nodeCount: nodes.size,
|
|
270
|
+
edgeCount: graphData.edges.length,
|
|
271
|
+
nodeTypes: Object.fromEntries(nodeTypes),
|
|
272
|
+
depth: params.depth,
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
};
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
//# sourceMappingURL=knowledge-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-graph.js","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/knowledge-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,mHAAmH;IAChI,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,EAAE;aACZ;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;gBAC9D,OAAO,EAAE,CAAC;aACX;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,IAAI;aACd;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SACnD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,0CAA0C;QAC1C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE;YAC7D,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,6BAA6B;YACzD,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gCAAgC,MAAM,CAAC,KAAK,wDAAwD;qBAC3G;iBACF;gBACD,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE7C,yBAAyB;QACzB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACpC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,aAAa,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,+DAA+D;QAC/D,aAAa,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAClC,wBAAwB;YACxB,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnB,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU;gBAC/B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;YAEH,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEtD,sDAAsD;YACtD,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;oBAChC,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;oBAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;4BACf,EAAE,EAAE,KAAK;4BACT,KAAK,EAAE,GAAG;4BACV,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,CAAC;yBACV,CAAC,CAAC;oBACL,CAAC;oBAED,wCAAwC;oBACxC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,MAAM,EAAE,CAAC;oBAE3B,yBAAyB;oBACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBAClC,CAAC;oBACD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAEjC,+BAA+B;oBAC/B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAC9C,CAAC,CAAC,IAAI,CAAC,OAAO;oBACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;gBAEzD,gEAAgE;gBAChE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,cAAc,GAAG,KAAK;qBACzB,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;qBAChG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEf,cAAc,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;oBACtC,MAAM,SAAS,GAAG,WAAW,IAAI,EAAE,CAAC;oBAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;4BACnB,EAAE,EAAE,SAAS;4BACb,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,CAAC;yBACV,CAAC,CAAC;wBAEH,qBAAqB;wBACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;wBAClC,CAAC;wBACD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAEhF,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,wBAAwB;gBAC3E,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,wCAAwC;oBACxC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;oBACzC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE;4BACzD,KAAK,EAAE,CAAC;4BACR,sBAAsB,EAAE,KAAK;yBAC9B,CAAC,CAAC;wBAEH,cAAc,EAAE,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;4BACpC,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC;4BACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gCAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;oCACnB,EAAE,EAAE,SAAS;oCACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB;oCACtC,IAAI,EAAE,SAAS;oCACf,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oCACb,MAAM,EAAE,CAAC;iCACV,CAAC,CAAC;gCAEH,yBAAyB;gCACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oCACvB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gCAC/B,CAAC;gCACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BACpC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,YAAY,GAAG,2BAA2B,MAAM,CAAC,KAAK,KAAK,CAAC;QAChE,YAAY,IAAI,cAAc,KAAK,CAAC,IAAI,iBAAiB,MAAM,CAAC,KAAK,MAAM,CAAC;QAE5E,iBAAiB;QACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,YAAY,IAAI,yBAAyB,CAAC;QAC1C,YAAY,IAAI,wBAAwB,MAAM,CAAC,KAAK,IAAI,CAAC;QACzD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAChC,MAAM,SAAS,GAA2B;gBACxC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAC;YACF,YAAY,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,YAAY,IAAI,IAAI,CAAC;QAErB,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;aACnC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,IAAI,sBAAsB,CAAC;YACvC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACjC,YAAY,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,MAAM,KAAK,CAAC;YAC/E,CAAC,CAAC,CAAC;YACH,YAAY,IAAI,IAAI,CAAC;QACvB,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,IAAI,sBAAsB,CAAC;YACvC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACjC,MAAM,SAAS,GAA2B;oBACxC,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,IAAI;iBACV,CAAC;gBACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;gBACjD,YAAY,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC;YACvE,CAAC,CAAC,CAAC;YACH,YAAY,IAAI,IAAI,CAAC;QACvB,CAAC;QAED,wBAAwB;QACxB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,YAAY,IAAI,+BAA+B,CAAC;YAEhD,4BAA4B;YAC5B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACnD,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;gBACpC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;iBACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEf,YAAY,IAAI,6BAA6B,CAAC;YAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,IAAI,EAAE,CAAC;oBACT,YAAY,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,gBAAgB,CAAC;gBAC5D,CAAC;YACH,CAAC,CAAC,CAAC;YACH,YAAY,IAAI,IAAI,CAAC;YAErB,gBAAgB;YAChB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEjE,YAAY,IAAI,sBAAsB,CAAC;YACvC,YAAY,IAAI,cAAc,OAAO,KAAK,CAAC;YAC3C,YAAY,IAAI,0BAA0B,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,YAAY,IAAI,kBAAkB,WAAW,IAAI,CAAC;QACpD,CAAC;QAED,2BAA2B;QAC3B,YAAY,IAAI,yBAAyB,CAAC;QAC1C,YAAY,IAAI,iCAAiC,CAAC;QAClD,YAAY,IAAI,KAAK,KAAK,CAAC,IAAI,4CAA4C,CAAC;QAC5E,YAAY,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,kCAAkC,CAAC;QAC1H,YAAY,IAAI,sHAAsH,CAAC;QAEvI,iCAAiC;QACjC,MAAM,SAAS,GAAG;YAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAC/D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CACxD;SACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;iBACnB;aACF;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE;oBACV,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;oBACjC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;oBACxC,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-query.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/plan-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,eAAO,MAAM,aAAa,EAAE,IAiE3B,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { planQueryStrategy, estimateTokenUsage } from "../../llm-instructions.js";
|
|
3
|
+
export const planQueryTool = {
|
|
4
|
+
name: "plan_query",
|
|
5
|
+
description: "Plan an optimal query strategy for complex requests, with token estimates",
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
request: {
|
|
10
|
+
type: "string",
|
|
11
|
+
description: "The user's request to plan for",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
required: ["request"],
|
|
15
|
+
},
|
|
16
|
+
modifies: false,
|
|
17
|
+
handler: async (client, args) => {
|
|
18
|
+
const schema = z.object({
|
|
19
|
+
request: z.string(),
|
|
20
|
+
});
|
|
21
|
+
const { request } = schema.parse(args);
|
|
22
|
+
const availableTools = [
|
|
23
|
+
"search_content",
|
|
24
|
+
"get_content_details",
|
|
25
|
+
"synthesize_content",
|
|
26
|
+
"find_similar_content",
|
|
27
|
+
"list_saved_content"
|
|
28
|
+
];
|
|
29
|
+
const plan = planQueryStrategy(request, availableTools);
|
|
30
|
+
let responseText = `# Query Plan for: "${request}"\n\n`;
|
|
31
|
+
responseText += `## Strategy: ${plan.strategy}\n`;
|
|
32
|
+
responseText += `## Estimated Tokens: ~${plan.estimatedTokens.toLocaleString()}\n\n`;
|
|
33
|
+
responseText += `## Execution Steps:\n\n`;
|
|
34
|
+
plan.steps.forEach((step, idx) => {
|
|
35
|
+
responseText += `### Step ${idx + 1}: ${step.tool}\n`;
|
|
36
|
+
responseText += `**Purpose:** ${step.purpose}\n`;
|
|
37
|
+
responseText += `**Parameters:**\n`;
|
|
38
|
+
for (const [key, value] of Object.entries(step.params)) {
|
|
39
|
+
responseText += `- ${key}: ${JSON.stringify(value)}\n`;
|
|
40
|
+
}
|
|
41
|
+
const tokenEstimate = estimateTokenUsage({ tool: step.tool, params: step.params });
|
|
42
|
+
responseText += `**Estimated Tokens:** ~${tokenEstimate.estimated.toLocaleString()}`;
|
|
43
|
+
if (tokenEstimate.warning) {
|
|
44
|
+
responseText += ` ⚠️ ${tokenEstimate.warning}`;
|
|
45
|
+
}
|
|
46
|
+
responseText += `\n`;
|
|
47
|
+
if (tokenEstimate.suggestion) {
|
|
48
|
+
responseText += `**Suggestion:** ${tokenEstimate.suggestion}\n`;
|
|
49
|
+
}
|
|
50
|
+
responseText += `\n`;
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
content: [
|
|
54
|
+
{
|
|
55
|
+
type: "text",
|
|
56
|
+
text: responseText,
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
data: plan,
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=plan-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-query.js","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/plan-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAElF,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,2EAA2E;IACxF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC9C;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG;YACrB,gBAAgB;YAChB,qBAAqB;YACrB,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;SACrB,CAAC;QAEF,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAExD,IAAI,YAAY,GAAG,sBAAsB,OAAO,OAAO,CAAC;QACxD,YAAY,IAAI,gBAAgB,IAAI,CAAC,QAAQ,IAAI,CAAC;QAClD,YAAY,IAAI,yBAAyB,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC;QACrF,YAAY,IAAI,yBAAyB,CAAC;QAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC/B,YAAY,IAAI,YAAY,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;YACtD,YAAY,IAAI,gBAAgB,IAAI,CAAC,OAAO,IAAI,CAAC;YACjD,YAAY,IAAI,mBAAmB,CAAC;YACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,YAAY,IAAI,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,CAAC;YAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACnF,YAAY,IAAI,0BAA0B,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YACrF,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,YAAY,IAAI,OAAO,aAAa,CAAC,OAAO,EAAE,CAAC;YACjD,CAAC;YACD,YAAY,IAAI,IAAI,CAAC;YACrB,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,YAAY,IAAI,mBAAmB,aAAa,CAAC,UAAU,IAAI,CAAC;YAClE,CAAC;YACD,YAAY,IAAI,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;iBACnB;aACF;YACD,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-content.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/raw-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,eAAO,MAAM,iBAAiB,EAAE,IAuO/B,CAAC"}
|