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.
Files changed (59) hide show
  1. package/dist/client.d.ts +15 -15
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +21 -9
  4. package/dist/client.js.map +1 -1
  5. package/dist/index.js +39 -19
  6. package/dist/index.js.map +1 -1
  7. package/dist/tools/implementations/_archived/estimate-tokens.d.ts +3 -0
  8. package/dist/tools/implementations/_archived/estimate-tokens.d.ts.map +1 -0
  9. package/dist/tools/implementations/_archived/estimate-tokens.js +54 -0
  10. package/dist/tools/implementations/_archived/estimate-tokens.js.map +1 -0
  11. package/dist/tools/implementations/_archived/expand-search.d.ts +3 -0
  12. package/dist/tools/implementations/_archived/expand-search.d.ts.map +1 -0
  13. package/dist/tools/implementations/_archived/expand-search.js +400 -0
  14. package/dist/tools/implementations/_archived/expand-search.js.map +1 -0
  15. package/dist/tools/implementations/_archived/extract-insights.d.ts +3 -0
  16. package/dist/tools/implementations/_archived/extract-insights.d.ts.map +1 -0
  17. package/dist/tools/implementations/_archived/extract-insights.js +130 -0
  18. package/dist/tools/implementations/_archived/extract-insights.js.map +1 -0
  19. package/dist/tools/implementations/_archived/find-connections.d.ts +3 -0
  20. package/dist/tools/implementations/_archived/find-connections.d.ts.map +1 -0
  21. package/dist/tools/implementations/_archived/find-connections.js +106 -0
  22. package/dist/tools/implementations/_archived/find-connections.js.map +1 -0
  23. package/dist/tools/implementations/_archived/instructions.d.ts +3 -0
  24. package/dist/tools/implementations/_archived/instructions.d.ts.map +1 -0
  25. package/dist/tools/implementations/_archived/instructions.js +88 -0
  26. package/dist/tools/implementations/_archived/instructions.js.map +1 -0
  27. package/dist/tools/implementations/_archived/knowledge-graph.d.ts +3 -0
  28. package/dist/tools/implementations/_archived/knowledge-graph.d.ts.map +1 -0
  29. package/dist/tools/implementations/_archived/knowledge-graph.js +278 -0
  30. package/dist/tools/implementations/_archived/knowledge-graph.js.map +1 -0
  31. package/dist/tools/implementations/_archived/plan-query.d.ts +3 -0
  32. package/dist/tools/implementations/_archived/plan-query.d.ts.map +1 -0
  33. package/dist/tools/implementations/_archived/plan-query.js +63 -0
  34. package/dist/tools/implementations/_archived/plan-query.js.map +1 -0
  35. package/dist/tools/implementations/_archived/raw-content.d.ts +3 -0
  36. package/dist/tools/implementations/_archived/raw-content.d.ts.map +1 -0
  37. package/dist/tools/implementations/_archived/raw-content.js +210 -0
  38. package/dist/tools/implementations/_archived/raw-content.js.map +1 -0
  39. package/dist/tools/implementations/_archived/similar-content.d.ts +3 -0
  40. package/dist/tools/implementations/_archived/similar-content.d.ts.map +1 -0
  41. package/dist/tools/implementations/_archived/similar-content.js +64 -0
  42. package/dist/tools/implementations/_archived/similar-content.js.map +1 -0
  43. package/dist/tools/implementations/_archived/smart-sections.d.ts +3 -0
  44. package/dist/tools/implementations/_archived/smart-sections.d.ts.map +1 -0
  45. package/dist/tools/implementations/_archived/smart-sections.js +471 -0
  46. package/dist/tools/implementations/_archived/smart-sections.js.map +1 -0
  47. package/dist/tools/implementations/_archived/synthesize.d.ts +3 -0
  48. package/dist/tools/implementations/_archived/synthesize.d.ts.map +1 -0
  49. package/dist/tools/implementations/_archived/synthesize.js +193 -0
  50. package/dist/tools/implementations/_archived/synthesize.js.map +1 -0
  51. package/dist/tools/implementations/_archived/timeline.d.ts +3 -0
  52. package/dist/tools/implementations/_archived/timeline.d.ts.map +1 -0
  53. package/dist/tools/implementations/_archived/timeline.js +191 -0
  54. package/dist/tools/implementations/_archived/timeline.js.map +1 -0
  55. package/dist/tools/index.d.ts +3 -15
  56. package/dist/tools/index.d.ts.map +1 -1
  57. package/dist/tools/index.js +31 -57
  58. package/dist/tools/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,471 @@
1
+ import { z } from "zod";
2
+ const inputSchema = z.object({
3
+ contentId: z.string().describe("ID of the content to section"),
4
+ query: z
5
+ .string()
6
+ .optional()
7
+ .describe("Optional: Extract specific section matching this query"),
8
+ maxSections: z
9
+ .number()
10
+ .optional()
11
+ .default(10)
12
+ .describe("Maximum number of sections to return"),
13
+ sectionType: z
14
+ .enum([
15
+ "all",
16
+ "introduction",
17
+ "methods",
18
+ "results",
19
+ "examples",
20
+ "conclusion",
21
+ "code",
22
+ "steps",
23
+ ])
24
+ .optional()
25
+ .default("all")
26
+ .describe("Type of sections to extract"),
27
+ });
28
+ // Pattern definitions for different section types
29
+ const SECTION_PATTERNS = {
30
+ introduction: {
31
+ patterns: [
32
+ /^#+\s*(introduction|intro|overview|background|abstract)/im,
33
+ /^(In this (article|post|guide|tutorial|video|document))/im,
34
+ /^(This (article|post|guide|tutorial) (covers|explains|discusses))/im,
35
+ ],
36
+ keywords: [
37
+ "introduction",
38
+ "overview",
39
+ "background",
40
+ "summary",
41
+ "abstract",
42
+ "preface",
43
+ ],
44
+ },
45
+ methods: {
46
+ patterns: [
47
+ /^#+\s*(method|methodology|approach|implementation|how to|steps)/im,
48
+ /^(Step \d+[:.])/im,
49
+ /^(\d+\.\s+)/m,
50
+ ],
51
+ keywords: [
52
+ "method",
53
+ "approach",
54
+ "process",
55
+ "procedure",
56
+ "technique",
57
+ "algorithm",
58
+ ],
59
+ },
60
+ results: {
61
+ patterns: [
62
+ /^#+\s*(results?|findings?|outcomes?|performance|metrics)/im,
63
+ /(achieved|reached|resulted in|showed|demonstrated)/i,
64
+ ],
65
+ keywords: [
66
+ "results",
67
+ "findings",
68
+ "outcomes",
69
+ "performance",
70
+ "metrics",
71
+ "data",
72
+ ],
73
+ },
74
+ examples: {
75
+ patterns: [
76
+ /^#+\s*(examples?|case stud|use cases?|scenarios?|demonstrations?)/im,
77
+ /(for example|for instance|such as|consider|let's say)/i,
78
+ ],
79
+ keywords: [
80
+ "example",
81
+ "case",
82
+ "instance",
83
+ "scenario",
84
+ "demonstration",
85
+ "illustration",
86
+ ],
87
+ },
88
+ conclusion: {
89
+ patterns: [
90
+ /^#+\s*(conclusion|summary|final thoughts|takeaways?|wrap.?up)/im,
91
+ /^(In conclusion|To conclude|In summary|To sum up)/im,
92
+ ],
93
+ keywords: [
94
+ "conclusion",
95
+ "summary",
96
+ "takeaway",
97
+ "final",
98
+ "closing",
99
+ "recap",
100
+ ],
101
+ },
102
+ code: {
103
+ patterns: [/```[\s\S]*?```/g, /^```(\w+)?\n([\s\S]*?)^```/gm],
104
+ keywords: [
105
+ "code",
106
+ "snippet",
107
+ "implementation",
108
+ "function",
109
+ "class",
110
+ "script",
111
+ ],
112
+ },
113
+ steps: {
114
+ patterns: [
115
+ /^(Step \d+[:.])/im,
116
+ /^(\d+\.\s+)/m,
117
+ /^(First|Second|Third|Next|Then|Finally|Lastly)/im,
118
+ ],
119
+ keywords: [
120
+ "step",
121
+ "phase",
122
+ "stage",
123
+ "instruction",
124
+ "direction",
125
+ "procedure",
126
+ ],
127
+ },
128
+ };
129
+ function detectSections(content, sectionType) {
130
+ const sections = [];
131
+ const lines = content.split("\n");
132
+ // Try to detect natural boundaries
133
+ let currentSection = null;
134
+ let sectionId = 0;
135
+ for (let i = 0; i < lines.length; i++) {
136
+ const line = lines[i];
137
+ const linePosition = lines.slice(0, i).join("\n").length;
138
+ // Check for headers (markdown style)
139
+ const headerMatch = line.match(/^(#{1,6})\s+(.+)/);
140
+ if (headerMatch) {
141
+ // Save previous section if exists
142
+ if (currentSection && currentSection.content) {
143
+ sections.push(currentSection);
144
+ }
145
+ // Start new section
146
+ currentSection = {
147
+ id: `section-${++sectionId}`,
148
+ type: detectSectionType(headerMatch[2]),
149
+ title: headerMatch[2],
150
+ content: "",
151
+ startPosition: linePosition,
152
+ endPosition: linePosition,
153
+ tokenCount: 0,
154
+ metadata: {},
155
+ };
156
+ continue;
157
+ }
158
+ // Check for numbered lists as potential steps
159
+ const numberedMatch = line.match(/^(\d+)\.\s+(.+)/);
160
+ if (numberedMatch && (sectionType === "all" || sectionType === "steps")) {
161
+ if (!currentSection || currentSection.type !== "steps") {
162
+ if (currentSection && currentSection.content) {
163
+ sections.push(currentSection);
164
+ }
165
+ currentSection = {
166
+ id: `section-${++sectionId}`,
167
+ type: "steps",
168
+ title: "Steps",
169
+ content: "",
170
+ startPosition: linePosition,
171
+ endPosition: linePosition,
172
+ tokenCount: 0,
173
+ metadata: { hasSteps: true },
174
+ };
175
+ }
176
+ }
177
+ // Add content to current section
178
+ if (currentSection) {
179
+ currentSection.content += line + "\n";
180
+ currentSection.endPosition = linePosition + line.length;
181
+ }
182
+ else if (sections.length === 0) {
183
+ // Create initial section if no headers found yet
184
+ currentSection = {
185
+ id: `section-${++sectionId}`,
186
+ type: "introduction",
187
+ title: "Content",
188
+ content: line + "\n",
189
+ startPosition: 0,
190
+ endPosition: line.length,
191
+ tokenCount: 0,
192
+ metadata: {},
193
+ };
194
+ }
195
+ }
196
+ // Don't forget the last section
197
+ if (currentSection && currentSection.content) {
198
+ sections.push(currentSection);
199
+ }
200
+ // Calculate token counts and detect metadata
201
+ for (const section of sections) {
202
+ section.tokenCount = Math.ceil(section.content.length / 4); // Rough estimate
203
+ // Detect metadata
204
+ section.metadata = {
205
+ hasCode: /```[\s\S]*?```/.test(section.content),
206
+ hasSteps: /^(\d+\.\s+|Step \d+)/m.test(section.content),
207
+ hasExamples: /(example|instance|such as|for instance)/i.test(section.content),
208
+ keyTopics: extractKeyTopics(section.content),
209
+ };
210
+ }
211
+ return sections;
212
+ }
213
+ function detectSectionType(title) {
214
+ const titleLower = title.toLowerCase();
215
+ for (const [type, config] of Object.entries(SECTION_PATTERNS)) {
216
+ for (const keyword of config.keywords) {
217
+ if (titleLower.includes(keyword)) {
218
+ return type;
219
+ }
220
+ }
221
+ }
222
+ return "content";
223
+ }
224
+ function extractKeyTopics(content) {
225
+ // Simple topic extraction based on capitalized phrases and repeated terms
226
+ const topics = new Set();
227
+ // Find capitalized phrases (potential topics)
228
+ const capitalizedPhrases = content.match(/[A-Z][a-z]+(?:\s+[A-Z][a-z]+)*/g);
229
+ if (capitalizedPhrases) {
230
+ capitalizedPhrases.forEach((phrase) => {
231
+ if (phrase.length > 3 &&
232
+ !phrase.match(/^(The|This|That|These|Those|A|An)$/)) {
233
+ topics.add(phrase);
234
+ }
235
+ });
236
+ }
237
+ return Array.from(topics).slice(0, 5);
238
+ }
239
+ function findSectionByQuery(sections, query) {
240
+ const queryLower = query.toLowerCase();
241
+ const queryWords = queryLower.split(/\s+/);
242
+ // Score each section based on query relevance
243
+ const scoredSections = sections.map((section) => {
244
+ let score = 0;
245
+ const sectionLower = (section.title + " " + section.content).toLowerCase();
246
+ // Check for exact phrase match
247
+ if (sectionLower.includes(queryLower)) {
248
+ score += 10;
249
+ }
250
+ // Check for individual word matches
251
+ for (const word of queryWords) {
252
+ if (sectionLower.includes(word)) {
253
+ score += 2;
254
+ }
255
+ }
256
+ // Bonus for title matches
257
+ if (section.title.toLowerCase().includes(queryLower)) {
258
+ score += 5;
259
+ }
260
+ return { section, score };
261
+ });
262
+ // Sort by score and return top matches
263
+ return scoredSections
264
+ .filter((s) => s.score > 0)
265
+ .sort((a, b) => b.score - a.score)
266
+ .map((s) => ({ ...s.section, relevance: s.score }));
267
+ }
268
+ export const smartSectionsTool = {
269
+ name: "noverload_smart_sections",
270
+ description: "Extract and navigate specific sections from large documents. Finds natural content boundaries, identifies section types, and retrieves specific parts by semantic meaning.",
271
+ inputSchema: {
272
+ type: "object",
273
+ properties: {
274
+ contentId: {
275
+ type: "string",
276
+ description: "ID of the content to section",
277
+ },
278
+ query: {
279
+ type: "string",
280
+ description: "Optional: Extract specific section matching this query",
281
+ },
282
+ maxSections: {
283
+ type: "number",
284
+ default: 10,
285
+ description: "Maximum number of sections to return",
286
+ },
287
+ sectionType: {
288
+ type: "string",
289
+ enum: [
290
+ "all",
291
+ "introduction",
292
+ "methods",
293
+ "results",
294
+ "examples",
295
+ "conclusion",
296
+ "code",
297
+ "steps",
298
+ ],
299
+ default: "all",
300
+ description: "Type of sections to extract",
301
+ },
302
+ },
303
+ required: ["contentId"],
304
+ },
305
+ modifies: false,
306
+ handler: async (client, args) => {
307
+ const input = inputSchema.parse(args);
308
+ try {
309
+ // Get the content
310
+ let content = await client.getContent(input.contentId);
311
+ if (!content) {
312
+ return {
313
+ content: [
314
+ {
315
+ type: "text",
316
+ text: `āŒ Content not found with ID: ${input.contentId}`,
317
+ },
318
+ ],
319
+ error: true,
320
+ };
321
+ }
322
+ // Get the raw text for sectioning - try enriched API if not available
323
+ let rawText = content.rawText || "";
324
+ if (!rawText) {
325
+ // Try to get raw content through v2 API with enrichment
326
+ try {
327
+ const enrichedResult = await client.getEnrichedContent([input.contentId], true);
328
+ if (enrichedResult && enrichedResult.length > 0 && enrichedResult[0].rawText) {
329
+ rawText = enrichedResult[0].rawText;
330
+ content = { ...content, rawText };
331
+ }
332
+ }
333
+ catch (e) {
334
+ // Ignore enrichment errors, continue with what we have
335
+ }
336
+ }
337
+ if (!rawText) {
338
+ return {
339
+ content: [
340
+ {
341
+ type: "text",
342
+ text: `āš ļø No text content available for sectioning in this item. The content may still be processing or does not contain extractable text.`,
343
+ },
344
+ ],
345
+ data: {
346
+ contentId: input.contentId,
347
+ sections: [],
348
+ },
349
+ };
350
+ }
351
+ // Detect sections
352
+ let sections = detectSections(rawText, input.sectionType);
353
+ // Filter by type if specified
354
+ if (input.sectionType !== "all") {
355
+ sections = sections.filter((s) => s.type === input.sectionType);
356
+ }
357
+ // Find specific sections by query if provided
358
+ if (input.query) {
359
+ sections = findSectionByQuery(sections, input.query);
360
+ }
361
+ // Limit sections
362
+ sections = sections.slice(0, input.maxSections);
363
+ // Format response
364
+ let responseText = `šŸ“‘ **Content Sections**\n\n`;
365
+ responseText += `*${content.title || "Untitled"}*\n`;
366
+ const icon = content.contentType === "youtube"
367
+ ? "šŸ“ŗ"
368
+ : content.contentType === "x_twitter"
369
+ ? "š•"
370
+ : content.contentType === "reddit"
371
+ ? "🟠"
372
+ : content.contentType === "pdf"
373
+ ? "šŸ“„"
374
+ : "šŸ“–";
375
+ responseText += `${icon} [View Original](${content.url})\n\n`;
376
+ if (input.query) {
377
+ responseText += `šŸ” Searching for: "${input.query}"\n\n`;
378
+ }
379
+ responseText += `Found ${sections.length} section${sections.length !== 1 ? "s" : ""}:\n\n`;
380
+ // Display sections
381
+ for (const section of sections) {
382
+ const sectionIcon = section.type === "introduction"
383
+ ? "šŸ“"
384
+ : section.type === "methods"
385
+ ? "āš™ļø"
386
+ : section.type === "results"
387
+ ? "šŸ“Š"
388
+ : section.type === "examples"
389
+ ? "šŸ’”"
390
+ : section.type === "conclusion"
391
+ ? "šŸŽÆ"
392
+ : section.type === "code"
393
+ ? "šŸ’»"
394
+ : section.type === "steps"
395
+ ? "šŸ“‹"
396
+ : "šŸ“„";
397
+ responseText += `## ${sectionIcon} ${section.title}\n`;
398
+ responseText += `*Type: ${section.type} | ~${section.tokenCount} tokens*\n`;
399
+ if (section.relevance) {
400
+ responseText += `*Relevance: ${section.relevance}/20*\n`;
401
+ }
402
+ // Add metadata badges
403
+ if (section.metadata) {
404
+ const badges = [];
405
+ if (section.metadata.hasCode)
406
+ badges.push("Has Code");
407
+ if (section.metadata.hasSteps)
408
+ badges.push("Has Steps");
409
+ if (section.metadata.hasExamples)
410
+ badges.push("Has Examples");
411
+ if (badges.length > 0) {
412
+ responseText += `*Features: ${badges.join(" | ")}*\n`;
413
+ }
414
+ if (section.metadata.keyTopics &&
415
+ section.metadata.keyTopics.length > 0) {
416
+ responseText += `*Topics: ${section.metadata.keyTopics.join(", ")}*\n`;
417
+ }
418
+ }
419
+ responseText += `\n`;
420
+ // Show content preview (first 500 chars)
421
+ const preview = section.content.substring(0, 500);
422
+ responseText += `${preview}${section.content.length > 500 ? "..." : ""}\n\n`;
423
+ responseText += `---\n\n`;
424
+ }
425
+ // Add summary
426
+ responseText += `**šŸ“Š Summary:**\n`;
427
+ responseText += `- Total sections: ${sections.length}\n`;
428
+ responseText += `- Total tokens: ~${sections.reduce((sum, s) => sum + s.tokenCount, 0)}\n`;
429
+ const sectionTypes = [...new Set(sections.map((s) => s.type))];
430
+ responseText += `- Section types: ${sectionTypes.join(", ")}\n`;
431
+ if (sections.length === 0 && input.query) {
432
+ responseText += `\nšŸ’” **Tip:** Try a broader search term or browse all sections without a query.`;
433
+ }
434
+ return {
435
+ content: [
436
+ {
437
+ type: "text",
438
+ text: responseText,
439
+ },
440
+ ],
441
+ data: {
442
+ contentId: input.contentId,
443
+ contentTitle: content.title,
444
+ sections: sections.map((s) => ({
445
+ id: s.id,
446
+ type: s.type,
447
+ title: s.title,
448
+ tokenCount: s.tokenCount,
449
+ relevance: s.relevance,
450
+ metadata: s.metadata,
451
+ })),
452
+ totalSections: sections.length,
453
+ query: input.query,
454
+ },
455
+ };
456
+ }
457
+ catch (error) {
458
+ console.error("Smart sections error:", error);
459
+ return {
460
+ content: [
461
+ {
462
+ type: "text",
463
+ text: `āŒ Error extracting sections: ${error instanceof Error ? error.message : "Unknown error"}`,
464
+ },
465
+ ],
466
+ error: true,
467
+ };
468
+ }
469
+ },
470
+ };
471
+ //# sourceMappingURL=smart-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-sections.js","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/smart-sections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "../types.js";
2
+ export declare const synthesizeContentTool: Tool;
3
+ //# sourceMappingURL=synthesize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../../../src/tools/implementations/_archived/synthesize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,qBAAqB,EAAE,IA4MnC,CAAC"}