noverload-mcp 0.6.0 → 0.7.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 (125) hide show
  1. package/dist/client.d.ts +8 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +77 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/llm-instructions.d.ts +87 -0
  6. package/dist/llm-instructions.d.ts.map +1 -0
  7. package/dist/llm-instructions.js +257 -0
  8. package/dist/llm-instructions.js.map +1 -0
  9. package/dist/tools/helpers/connections.d.ts +7 -0
  10. package/dist/tools/helpers/connections.d.ts.map +1 -0
  11. package/dist/tools/helpers/connections.js +85 -0
  12. package/dist/tools/helpers/connections.js.map +1 -0
  13. package/dist/tools/helpers/content-processing.d.ts +7 -0
  14. package/dist/tools/helpers/content-processing.d.ts.map +1 -0
  15. package/dist/tools/helpers/content-processing.js +136 -0
  16. package/dist/tools/helpers/content-processing.js.map +1 -0
  17. package/dist/tools/helpers/insights.d.ts +2 -0
  18. package/dist/tools/helpers/insights.d.ts.map +1 -0
  19. package/dist/tools/helpers/insights.js +62 -0
  20. package/dist/tools/helpers/insights.js.map +1 -0
  21. package/dist/tools/implementations/actions.d.ts +4 -0
  22. package/dist/tools/implementations/actions.d.ts.map +1 -0
  23. package/dist/tools/implementations/actions.js +73 -0
  24. package/dist/tools/implementations/actions.js.map +1 -0
  25. package/dist/tools/implementations/batch-get.d.ts +3 -0
  26. package/dist/tools/implementations/batch-get.d.ts.map +1 -0
  27. package/dist/tools/implementations/batch-get.js +102 -0
  28. package/dist/tools/implementations/batch-get.js.map +1 -0
  29. package/dist/tools/implementations/build-narrative.d.ts +3 -0
  30. package/dist/tools/implementations/build-narrative.d.ts.map +1 -0
  31. package/dist/tools/implementations/build-narrative.js +352 -0
  32. package/dist/tools/implementations/build-narrative.js.map +1 -0
  33. package/dist/tools/implementations/estimate-tokens.d.ts +3 -0
  34. package/dist/tools/implementations/estimate-tokens.d.ts.map +1 -0
  35. package/dist/tools/implementations/estimate-tokens.js +54 -0
  36. package/dist/tools/implementations/estimate-tokens.js.map +1 -0
  37. package/dist/tools/implementations/expand-search.d.ts +3 -0
  38. package/dist/tools/implementations/expand-search.d.ts.map +1 -0
  39. package/dist/tools/implementations/expand-search.js +223 -0
  40. package/dist/tools/implementations/expand-search.js.map +1 -0
  41. package/dist/tools/implementations/explore-topic.d.ts +3 -0
  42. package/dist/tools/implementations/explore-topic.d.ts.map +1 -0
  43. package/dist/tools/implementations/explore-topic.js +137 -0
  44. package/dist/tools/implementations/explore-topic.js.map +1 -0
  45. package/dist/tools/implementations/extract-frameworks.d.ts +3 -0
  46. package/dist/tools/implementations/extract-frameworks.d.ts.map +1 -0
  47. package/dist/tools/implementations/extract-frameworks.js +192 -0
  48. package/dist/tools/implementations/extract-frameworks.js.map +1 -0
  49. package/dist/tools/implementations/extract-insights.d.ts +3 -0
  50. package/dist/tools/implementations/extract-insights.d.ts.map +1 -0
  51. package/dist/tools/implementations/extract-insights.js +130 -0
  52. package/dist/tools/implementations/extract-insights.js.map +1 -0
  53. package/dist/tools/implementations/find-connections.d.ts +3 -0
  54. package/dist/tools/implementations/find-connections.d.ts.map +1 -0
  55. package/dist/tools/implementations/find-connections.js +106 -0
  56. package/dist/tools/implementations/find-connections.js.map +1 -0
  57. package/dist/tools/implementations/find-examples.d.ts +3 -0
  58. package/dist/tools/implementations/find-examples.d.ts.map +1 -0
  59. package/dist/tools/implementations/find-examples.js +242 -0
  60. package/dist/tools/implementations/find-examples.js.map +1 -0
  61. package/dist/tools/implementations/get-content.d.ts +3 -0
  62. package/dist/tools/implementations/get-content.d.ts.map +1 -0
  63. package/dist/tools/implementations/get-content.js +96 -0
  64. package/dist/tools/implementations/get-content.js.map +1 -0
  65. package/dist/tools/implementations/goals.d.ts +3 -0
  66. package/dist/tools/implementations/goals.d.ts.map +1 -0
  67. package/dist/tools/implementations/goals.js +22 -0
  68. package/dist/tools/implementations/goals.js.map +1 -0
  69. package/dist/tools/implementations/instructions.d.ts +3 -0
  70. package/dist/tools/implementations/instructions.d.ts.map +1 -0
  71. package/dist/tools/implementations/instructions.js +88 -0
  72. package/dist/tools/implementations/instructions.js.map +1 -0
  73. package/dist/tools/implementations/knowledge-graph.d.ts +3 -0
  74. package/dist/tools/implementations/knowledge-graph.d.ts.map +1 -0
  75. package/dist/tools/implementations/knowledge-graph.js +278 -0
  76. package/dist/tools/implementations/knowledge-graph.js.map +1 -0
  77. package/dist/tools/implementations/list-content.d.ts +3 -0
  78. package/dist/tools/implementations/list-content.d.ts.map +1 -0
  79. package/dist/tools/implementations/list-content.js +87 -0
  80. package/dist/tools/implementations/list-content.js.map +1 -0
  81. package/dist/tools/implementations/plan-query.d.ts +3 -0
  82. package/dist/tools/implementations/plan-query.d.ts.map +1 -0
  83. package/dist/tools/implementations/plan-query.js +63 -0
  84. package/dist/tools/implementations/plan-query.js.map +1 -0
  85. package/dist/tools/implementations/raw-content.d.ts +3 -0
  86. package/dist/tools/implementations/raw-content.d.ts.map +1 -0
  87. package/dist/tools/implementations/raw-content.js +208 -0
  88. package/dist/tools/implementations/raw-content.js.map +1 -0
  89. package/dist/tools/implementations/save-content.d.ts +3 -0
  90. package/dist/tools/implementations/save-content.d.ts.map +1 -0
  91. package/dist/tools/implementations/save-content.js +33 -0
  92. package/dist/tools/implementations/save-content.js.map +1 -0
  93. package/dist/tools/implementations/search.d.ts +3 -0
  94. package/dist/tools/implementations/search.d.ts.map +1 -0
  95. package/dist/tools/implementations/search.js +245 -0
  96. package/dist/tools/implementations/search.js.map +1 -0
  97. package/dist/tools/implementations/similar-content.d.ts +3 -0
  98. package/dist/tools/implementations/similar-content.d.ts.map +1 -0
  99. package/dist/tools/implementations/similar-content.js +64 -0
  100. package/dist/tools/implementations/similar-content.js.map +1 -0
  101. package/dist/tools/implementations/smart-sections.d.ts +3 -0
  102. package/dist/tools/implementations/smart-sections.d.ts.map +1 -0
  103. package/dist/tools/implementations/smart-sections.js +347 -0
  104. package/dist/tools/implementations/smart-sections.js.map +1 -0
  105. package/dist/tools/implementations/synthesize.d.ts +3 -0
  106. package/dist/tools/implementations/synthesize.d.ts.map +1 -0
  107. package/dist/tools/implementations/synthesize.js +148 -0
  108. package/dist/tools/implementations/synthesize.js.map +1 -0
  109. package/dist/tools/implementations/timeline.d.ts +3 -0
  110. package/dist/tools/implementations/timeline.d.ts.map +1 -0
  111. package/dist/tools/implementations/timeline.js +191 -0
  112. package/dist/tools/implementations/timeline.js.map +1 -0
  113. package/dist/tools/index-old.d.ts +16 -0
  114. package/dist/tools/index-old.d.ts.map +1 -0
  115. package/dist/tools/index-old.js +2176 -0
  116. package/dist/tools/index-old.js.map +1 -0
  117. package/dist/tools/index.d.ts +25 -14
  118. package/dist/tools/index.d.ts.map +1 -1
  119. package/dist/tools/index.js +57 -1079
  120. package/dist/tools/index.js.map +1 -1
  121. package/dist/tools/types.d.ts +22 -0
  122. package/dist/tools/types.d.ts.map +1 -0
  123. package/dist/tools/types.js +2 -0
  124. package/dist/tools/types.js.map +1 -0
  125. package/package.json +5 -5
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const listGoalsTool: Tool;
3
+ //# sourceMappingURL=goals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/goals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,IAoB3B,CAAC"}
@@ -0,0 +1,22 @@
1
+ export const listGoalsTool = {
2
+ name: "list_goals",
3
+ description: "List user's goals (Health, Wealth, Relationships)",
4
+ inputSchema: {
5
+ type: "object",
6
+ properties: {},
7
+ },
8
+ modifies: false,
9
+ handler: async (client) => {
10
+ const goals = await client.listGoals();
11
+ return {
12
+ content: [
13
+ {
14
+ type: "text",
15
+ text: `Found ${goals.length} goals`,
16
+ },
17
+ ],
18
+ data: goals,
19
+ };
20
+ },
21
+ };
22
+ //# sourceMappingURL=goals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals.js","sourceRoot":"","sources":["../../../src/tools/implementations/goals.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,mDAAmD;IAChE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;IACD,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,KAAK,CAAC,MAAM,QAAQ;iBACpC;aACF;YACD,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const getInstructionsTool: Tool;
3
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/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/instructions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const buildKnowledgeGraphTool: Tool;
3
+ //# sourceMappingURL=knowledge-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-graph.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/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/knowledge-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const listSavedContentTool: Tool;
3
+ //# sourceMappingURL=list-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-content.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/list-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,oBAAoB,EAAE,IAuFlC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { z } from "zod";
2
+ export const listSavedContentTool = {
3
+ name: "list_saved_content",
4
+ description: "List saved content from Noverload with full details including titles, summaries, and insights. Optionally filter by status or content type.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ status: {
9
+ type: "string",
10
+ enum: ["pending", "processing", "completed", "failed"],
11
+ description: "Filter by processing status",
12
+ },
13
+ contentType: {
14
+ type: "string",
15
+ enum: ["youtube", "x_twitter", "reddit", "article", "pdf"],
16
+ description: "Filter by content type",
17
+ },
18
+ limit: {
19
+ type: "number",
20
+ description: "Maximum number of items to return",
21
+ default: 20,
22
+ },
23
+ },
24
+ },
25
+ modifies: false,
26
+ handler: async (client, args) => {
27
+ const schema = z.object({
28
+ status: z.enum(["pending", "processing", "completed", "failed"]).optional(),
29
+ contentType: z.enum(["youtube", "x_twitter", "reddit", "article", "pdf"]).optional(),
30
+ limit: z.number().optional().default(20),
31
+ });
32
+ const params = schema.parse(args);
33
+ const content = await client.listContent(params);
34
+ // Build detailed response
35
+ let responseText = `# Saved Content Library\n`;
36
+ responseText += `Found ${content.length} items`;
37
+ const filters = [];
38
+ if (params.status)
39
+ filters.push(`status: ${params.status}`);
40
+ if (params.contentType)
41
+ filters.push(`type: ${params.contentType}`);
42
+ if (filters.length > 0) {
43
+ responseText += ` (filtered by ${filters.join(', ')})`;
44
+ }
45
+ responseText += `\n\n`;
46
+ if (content.length > 0) {
47
+ content.forEach((item, idx) => {
48
+ responseText += `## ${idx + 1}. ${item.title || 'Untitled'}\n`;
49
+ responseText += `**ID:** ${item.id}\n`;
50
+ responseText += `**Type:** ${item.contentType} | **Status:** ${item.status}`;
51
+ if (item.tokenCount) {
52
+ responseText += ` | **Size:** ${item.tokenCount.toLocaleString()} tokens`;
53
+ if (item.tokenCount > 50000) {
54
+ responseText += ` 🚨`;
55
+ }
56
+ else if (item.tokenCount > 10000) {
57
+ responseText += ` ⚠️`;
58
+ }
59
+ }
60
+ responseText += `\n**URL:** ${item.url}\n`;
61
+ if (item.summary) {
62
+ const summaryObj = typeof item.summary === 'string'
63
+ ? { text: item.summary }
64
+ : item.summary;
65
+ if (summaryObj.one_sentence) {
66
+ responseText += `**Summary:** ${summaryObj.one_sentence}\n`;
67
+ }
68
+ }
69
+ responseText += `**Saved:** ${new Date(item.createdAt).toLocaleDateString()}\n`;
70
+ responseText += '\n---\n\n';
71
+ });
72
+ }
73
+ else {
74
+ responseText += "No content found matching the specified filters.";
75
+ }
76
+ return {
77
+ content: [
78
+ {
79
+ type: "text",
80
+ text: responseText,
81
+ },
82
+ ],
83
+ data: content,
84
+ };
85
+ },
86
+ };
87
+ //# sourceMappingURL=list-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-content.js","sourceRoot":"","sources":["../../../src/tools/implementations/list-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const planQueryTool: Tool;
3
+ //# sourceMappingURL=plan-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-query.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/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/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,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const getRawContentTool: Tool;
3
+ //# sourceMappingURL=raw-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-content.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/raw-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,eAAO,MAAM,iBAAiB,EAAE,IAqO/B,CAAC"}