keywordgraph-mcp-server 1.6.2 → 1.7.3
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/README.md +108 -101
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +8 -2
- package/dist/api/client.js.map +1 -1
- package/dist/api/config-store.d.ts +2 -0
- package/dist/api/config-store.d.ts.map +1 -1
- package/dist/api/config-store.js +7 -0
- package/dist/api/config-store.js.map +1 -1
- package/dist/auth/oauth-provider.d.ts +3 -2
- package/dist/auth/oauth-provider.d.ts.map +1 -1
- package/dist/auth/oauth-provider.js +83 -28
- package/dist/auth/oauth-provider.js.map +1 -1
- package/dist/http-server.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/dist/instructions.js +2 -2
- package/dist/resources/about.d.ts.map +1 -1
- package/dist/resources/about.js +15 -14
- package/dist/resources/about.js.map +1 -1
- package/dist/schemas/index.d.ts +452 -15
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +190 -32
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/addMemory.d.ts +4 -2
- package/dist/tools/addMemory.d.ts.map +1 -1
- package/dist/tools/addMemory.js +15 -1
- package/dist/tools/addMemory.js.map +1 -1
- package/dist/tools/analyzeExistingGraph.d.ts +1 -0
- package/dist/tools/analyzeExistingGraph.d.ts.map +1 -1
- package/dist/tools/analyzeExistingGraph.js +13 -4
- package/dist/tools/analyzeExistingGraph.js.map +1 -1
- package/dist/tools/analyzeText.d.ts +5 -0
- package/dist/tools/analyzeText.d.ts.map +1 -1
- package/dist/tools/analyzeText.js +18 -21
- package/dist/tools/analyzeText.js.map +1 -1
- package/dist/tools/createKnowledgeGraph.d.ts +6 -0
- package/dist/tools/createKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/createKnowledgeGraph.js +25 -22
- package/dist/tools/createKnowledgeGraph.js.map +1 -1
- package/dist/tools/developConceptualBridges.d.ts +3 -0
- package/dist/tools/developConceptualBridges.d.ts.map +1 -1
- package/dist/tools/developConceptualBridges.js +5 -17
- package/dist/tools/developConceptualBridges.js.map +1 -1
- package/dist/tools/developLatentTopics.d.ts +3 -0
- package/dist/tools/developLatentTopics.d.ts.map +1 -1
- package/dist/tools/developLatentTopics.js +5 -17
- package/dist/tools/developLatentTopics.js.map +1 -1
- package/dist/tools/developTextTool.d.ts +3 -0
- package/dist/tools/developTextTool.d.ts.map +1 -1
- package/dist/tools/developTextTool.js +9 -19
- package/dist/tools/developTextTool.js.map +1 -1
- package/dist/tools/generateContentGaps.d.ts +3 -0
- package/dist/tools/generateContentGaps.d.ts.map +1 -1
- package/dist/tools/generateContentGaps.js +5 -17
- package/dist/tools/generateContentGaps.js.map +1 -1
- package/dist/tools/generateContextualHint.d.ts +3 -0
- package/dist/tools/generateContextualHint.d.ts.map +1 -1
- package/dist/tools/generateContextualHint.js +5 -17
- package/dist/tools/generateContextualHint.js.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts +15 -3
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.js +9 -30
- package/dist/tools/generateDifferenceGraphFromTexts.js.map +1 -1
- package/dist/tools/generateKnowledgeGraph.d.ts +6 -0
- package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/generateKnowledgeGraph.js +19 -22
- package/dist/tools/generateKnowledgeGraph.js.map +1 -1
- package/dist/tools/generateMergedGraphFromTexts.d.ts +15 -3
- package/dist/tools/generateMergedGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateMergedGraphFromTexts.js +9 -30
- package/dist/tools/generateMergedGraphFromTexts.js.map +1 -1
- package/dist/tools/generateOntologyGraph.d.ts +2 -0
- package/dist/tools/generateOntologyGraph.d.ts.map +1 -1
- package/dist/tools/generateOntologyGraph.js +9 -2
- package/dist/tools/generateOntologyGraph.js.map +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.d.ts +15 -3
- package/dist/tools/generateOverlapGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.js +9 -30
- package/dist/tools/generateOverlapGraphFromTexts.js.map +1 -1
- package/dist/tools/generateResearchIdeas.d.ts +3 -0
- package/dist/tools/generateResearchIdeas.d.ts.map +1 -1
- package/dist/tools/generateResearchIdeas.js +5 -17
- package/dist/tools/generateResearchIdeas.js.map +1 -1
- package/dist/tools/generateResearchQuestions.d.ts +3 -0
- package/dist/tools/generateResearchQuestions.d.ts.map +1 -1
- package/dist/tools/generateResearchQuestions.js +5 -17
- package/dist/tools/generateResearchQuestions.js.map +1 -1
- package/dist/tools/generateResponses.d.ts +3 -0
- package/dist/tools/generateResponses.d.ts.map +1 -1
- package/dist/tools/generateResponses.js +5 -17
- package/dist/tools/generateResponses.js.map +1 -1
- package/dist/tools/generateSEOGraphTool.d.ts +2 -0
- package/dist/tools/generateSEOGraphTool.d.ts.map +1 -1
- package/dist/tools/generateSEOGraphTool.js +47 -9
- package/dist/tools/generateSEOGraphTool.js.map +1 -1
- package/dist/tools/generateTopicalClusters.d.ts +3 -0
- package/dist/tools/generateTopicalClusters.d.ts.map +1 -1
- package/dist/tools/generateTopicalClusters.js +5 -17
- package/dist/tools/generateTopicalClusters.js.map +1 -1
- package/dist/tools/generateYoutubeSearchResultsGraph.d.ts.map +1 -1
- package/dist/tools/generateYoutubeSearchResultsGraph.js +2 -2
- package/dist/tools/generateYoutubeSearchResultsGraph.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/optimizeReasoning.d.ts +34 -0
- package/dist/tools/optimizeReasoning.d.ts.map +1 -0
- package/dist/tools/optimizeReasoning.js +84 -0
- package/dist/tools/optimizeReasoning.js.map +1 -0
- package/dist/tools/optimizeTextStructure.d.ts +3 -0
- package/dist/tools/optimizeTextStructure.d.ts.map +1 -1
- package/dist/tools/optimizeTextStructure.js +7 -19
- package/dist/tools/optimizeTextStructure.js.map +1 -1
- package/dist/utils/graphInput.d.ts +72 -0
- package/dist/utils/graphInput.d.ts.map +1 -0
- package/dist/utils/graphInput.js +167 -0
- package/dist/utils/graphInput.js.map +1 -0
- package/dist/utils/wikilinksMode.d.ts +65 -0
- package/dist/utils/wikilinksMode.d.ts.map +1 -0
- package/dist/utils/wikilinksMode.js +188 -0
- package/dist/utils/wikilinksMode.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@ import { GenerateSEOGraphSchema } from "../schemas/index.js";
|
|
|
2
2
|
import { makeInfraNodusRequest } from "../api/client.js";
|
|
3
3
|
import { generateKeywordsFromBigrams, generateTopicNames, generateSummaryFromTopicsAndGaps, extractInsightsFromExtendedGraphSummary, extractStatementStrings, } from "../utils/transformers.js";
|
|
4
4
|
import { fetchUrlContentAsText } from "../utils/urlContent.js";
|
|
5
|
+
import { prepareStatementsPayload, } from "../utils/wikilinksMode.js";
|
|
6
|
+
import { validateStatementsInput } from "../utils/graphInput.js";
|
|
5
7
|
import { ProgressReporter } from "../utils/progress.js";
|
|
6
8
|
export const generateSEOGraphTool = {
|
|
7
9
|
name: "generate_seo_report",
|
|
@@ -27,9 +29,42 @@ export const generateSEOGraphTool = {
|
|
|
27
29
|
const progress = new ProgressReporter(context);
|
|
28
30
|
// Step 1: Generate topical clusters from the original text
|
|
29
31
|
await progress.report(5, "🔍 Extracting content from URL or text...");
|
|
30
|
-
// Resolve content: from
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
// Resolve content: from statements (with optional metadata) if given,
|
|
33
|
+
// otherwise from URL (convert/url), otherwise from text.
|
|
34
|
+
let contentText = "";
|
|
35
|
+
let statementsPayload;
|
|
36
|
+
if (params.statements?.length && (params.url || params.text?.trim())) {
|
|
37
|
+
// Same mutual exclusion resolveGraphInput enforces for every other
|
|
38
|
+
// tool; this one resolves its url with extra options so it cannot
|
|
39
|
+
// share that helper.
|
|
40
|
+
return {
|
|
41
|
+
content: [
|
|
42
|
+
{
|
|
43
|
+
type: "text",
|
|
44
|
+
text: JSON.stringify({
|
|
45
|
+
error: "Provide only one of: statements, text, or url — not statements together with text/url",
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
isError: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (params.statements?.length) {
|
|
53
|
+
const invalid = validateStatementsInput(params.statements, params.categories);
|
|
54
|
+
if (invalid) {
|
|
55
|
+
return {
|
|
56
|
+
content: [
|
|
57
|
+
{ type: "text", text: JSON.stringify({ error: invalid }) },
|
|
58
|
+
],
|
|
59
|
+
isError: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
statementsPayload = prepareStatementsPayload(params.statements, params.categories, undefined);
|
|
63
|
+
// The comparison steps below need a plain text blob for the size check
|
|
64
|
+
// and for the search-query extraction.
|
|
65
|
+
contentText = params.statements.join("\n");
|
|
66
|
+
}
|
|
67
|
+
else if (params.url) {
|
|
33
68
|
const result = await fetchUrlContentAsText(params.url, {
|
|
34
69
|
contentToExtract: params.contentToExtract ?? "all",
|
|
35
70
|
useProxy: params.useProxy === true,
|
|
@@ -69,18 +104,21 @@ export const generateSEOGraphTool = {
|
|
|
69
104
|
{
|
|
70
105
|
type: "text",
|
|
71
106
|
text: JSON.stringify({
|
|
72
|
-
error: "Provide
|
|
107
|
+
error: "Provide url, text, or statements for SEO analysis",
|
|
73
108
|
}),
|
|
74
109
|
},
|
|
75
110
|
],
|
|
76
111
|
isError: true,
|
|
77
112
|
};
|
|
78
113
|
}
|
|
114
|
+
// The comparison steps below pair the content with a generated summary
|
|
115
|
+
// context. /graphsAndStatements only takes statements when EVERY context
|
|
116
|
+
// has them (routes/graphs.js: contexts.every(c => c.statements)), so those
|
|
117
|
+
// calls always send the content as text — statements are joined above.
|
|
118
|
+
const contentContextItem = { text: contentText };
|
|
79
119
|
// Step 2: Generate topical clusters from the original text
|
|
80
120
|
await progress.report(10, "🔍 Analyzing your text to identify main topics and keywords...");
|
|
81
|
-
const topicalClustersResponse = await makeInfraNodusRequest("/graphAndStatements?doNotSave=true&addStats=true&includeGraphSummary=false&extendedGraphSummary=true&includeGraph=false&includeStatements=false&aiTopics=true", {
|
|
82
|
-
text: contentText,
|
|
83
|
-
});
|
|
121
|
+
const topicalClustersResponse = await makeInfraNodusRequest("/graphAndStatements?doNotSave=true&addStats=true&includeGraphSummary=false&extendedGraphSummary=true&includeGraph=false&includeStatements=false&aiTopics=true", statementsPayload ?? { text: contentText });
|
|
84
122
|
if (topicalClustersResponse.error) {
|
|
85
123
|
return {
|
|
86
124
|
content: [
|
|
@@ -162,7 +200,7 @@ export const generateSEOGraphTool = {
|
|
|
162
200
|
const textVsSearchResultsResponse = await makeInfraNodusRequest("/graphsAndStatements?doNotSave=true&addStats=true&includeStatements=false&includeGraphSummary=false&extendedGraphSummary=true&includeGraph=false&compactGraph=true&compactStatements=true&aiTopics=true&compareMode=difference", {
|
|
163
201
|
contexts: [
|
|
164
202
|
{
|
|
165
|
-
|
|
203
|
+
...contentContextItem,
|
|
166
204
|
modifyAnalyzedText: "none",
|
|
167
205
|
},
|
|
168
206
|
{
|
|
@@ -178,7 +216,7 @@ export const generateSEOGraphTool = {
|
|
|
178
216
|
const textVsSearchQueriesResponse = await makeInfraNodusRequest("/graphsAndStatements?doNotSave=true&addStats=true&includeStatements=false&includeGraphSummary=false&extendedGraphSummary=true&includeGraph=false&compactGraph=true&compactStatements=true&aiTopics=true&compareMode=difference", {
|
|
179
217
|
contexts: [
|
|
180
218
|
{
|
|
181
|
-
|
|
219
|
+
...contentContextItem,
|
|
182
220
|
modifyAnalyzedText: "none",
|
|
183
221
|
},
|
|
184
222
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSEOGraphTool.js","sourceRoot":"","sources":["../../src/tools/generateSEOGraphTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACN,2BAA2B,EAC3B,kBAAkB,EAClB,gCAAgC,EAChC,uCAAuC,EACvC,uBAAuB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateSEOGraphTool.js","sourceRoot":"","sources":["../../src/tools/generateSEOGraphTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,9 @@ export declare const generateTopicalClustersTool: {
|
|
|
8
8
|
inputSchema: {
|
|
9
9
|
text: z.ZodOptional<z.ZodString>;
|
|
10
10
|
url: z.ZodOptional<z.ZodString>;
|
|
11
|
+
statements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
12
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">>;
|
|
13
|
+
timestamps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
11
14
|
graphName: z.ZodOptional<z.ZodString>;
|
|
12
15
|
userName: z.ZodOptional<z.ZodString>;
|
|
13
16
|
generateTopicalSummaries: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTopicalClusters.d.ts","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,6BAA6B,EAE7B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"generateTopicalClusters.d.ts","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,6BAA6B,EAE7B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;sBAaf,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;;;;;;;CAmHrE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GenerateTopicalClustersSchemaBase, } from "../schemas/index.js";
|
|
2
2
|
import { makeInfraNodusRequest } from "../api/client.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveGraphInput } from "../utils/graphInput.js";
|
|
4
4
|
import { generateTopics } from "../utils/transformers.js";
|
|
5
5
|
function errorContent(message) {
|
|
6
6
|
return {
|
|
@@ -42,22 +42,10 @@ export const generateTopicalClustersTool = {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return errorContent(result.error);
|
|
50
|
-
contentText = result.contentText;
|
|
51
|
-
if (!contentText?.trim())
|
|
52
|
-
return errorContent("URL did not return any text content");
|
|
53
|
-
}
|
|
54
|
-
else if (params.text?.trim()) {
|
|
55
|
-
contentText = params.text;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return errorContent("Provide either text, url, or graphName for analysis");
|
|
59
|
-
}
|
|
60
|
-
requestBody = { text: contentText };
|
|
45
|
+
const input = await resolveGraphInput(params);
|
|
46
|
+
if (!input.ok)
|
|
47
|
+
return errorContent(input.error);
|
|
48
|
+
requestBody = { ...input.payload };
|
|
61
49
|
}
|
|
62
50
|
const response = await makeInfraNodusRequest(endpoint, requestBody);
|
|
63
51
|
if (response.error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTopicalClusters.js","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,iCAAiC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generateTopicalClusters.js","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateYoutubeSearchResultsGraph.d.ts","sourceRoot":"","sources":["../../src/tools/generateYoutubeSearchResultsGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAI9E,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generateYoutubeSearchResultsGraph.d.ts","sourceRoot":"","sources":["../../src/tools/generateYoutubeSearchResultsGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAI9E,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;sBAexC,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC;;;;;;;;;;;;;CA+FhE,CAAC"}
|
|
@@ -2,9 +2,9 @@ import { GenerateYoutubeSearchResultsGraphSchema } from "../schemas/index.js";
|
|
|
2
2
|
import { makeInfraNodusRequest } from "../api/client.js";
|
|
3
3
|
import { transformToStructuredOutput } from "../utils/transformers.js";
|
|
4
4
|
export const generateYoutubeSearchResultsGraphTool = {
|
|
5
|
-
name: "
|
|
5
|
+
name: "analyze_youtube_results",
|
|
6
6
|
definition: {
|
|
7
|
-
title: "Analyze
|
|
7
|
+
title: "Analyze YouTube Search Results, Channels, Playlists, Videos, and Comments",
|
|
8
8
|
description: "Generate a knowledge graph and topical clusters from YouTube results — search results, a channel's or playlist's videos, video comments, or transcribed subtitles — to reveal the main topics, clusters, and content gaps in the discourse",
|
|
9
9
|
inputSchema: GenerateYoutubeSearchResultsGraphSchema.shape,
|
|
10
10
|
annotations: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateYoutubeSearchResultsGraph.js","sourceRoot":"","sources":["../../src/tools/generateYoutubeSearchResultsGraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACpD,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"generateYoutubeSearchResultsGraph.js","sourceRoot":"","sources":["../../src/tools/generateYoutubeSearchResultsGraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACpD,IAAI,EAAE,yBAAyB;IAC/B,UAAU,EAAE;QACX,KAAK,EACJ,2EAA2E;QAC5E,WAAW,EACV,4OAA4O;QAC7O,WAAW,EAAE,uCAAuC,CAAC,KAAK;QAC1D,WAAW,EAAE;YACZ,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,KAAK;SACtB;KACD;IACD,OAAO,EAAE,KAAK,EACb,MAA+D,EAC9D,EAAE;QACH,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,MAAM,wBAAwB,GAAG,MAAM,CAAC,wBAAwB;gBAC/D,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAC;YAET,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC;YACjD,yEAAyE;YACzE,gDAAgD;YAChD,MAAM,KAAK,GAAG,UAAU,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;YAEzE,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACvC,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,MAAM;gBAChB,mBAAmB,EAAE,MAAM;gBAC3B,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBAC9D,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBAC7C,iBAAiB,EAChB,iBAAiB,IAAI,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACjE,YAAY,EAAE,MAAM;gBACpB,iBAAiB,EAAE,MAAM;gBACzB,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,qCAAqC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAE/E,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE;gBACtD,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU;gBACV,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW;gBACpC,cAAc,EAAE,OAAO;gBACvB,mBAAmB,EAClB,MAAM,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACxD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBAC7C,QAAQ,EAAE,MAAM;gBAChB,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACrE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;gBAC7C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;aACzC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACN,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;yBAC/C;qBACD;oBACD,OAAO,EAAE,IAAI;iBACb,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,2BAA2B,CAC/C,QAAQ,EACR,YAAY,EACZ,oBAAoB,CACpB,CAAC;YAEF,IAAI,CAAC,iBAAiB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACrD,OAAO,YAAY,CAAC,UAAU,CAAC;YAChC,CAAC;YAED,IAAI,qBAAqB,IAAI,YAAY,EAAE,CAAC;gBAC3C,OAAO,YAAY,CAAC,YAAY,CAAC;YAClC,CAAC;YAED,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC3C;iBACD;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC7D,CAAC;qBACF;iBACD;gBACD,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -27,5 +27,6 @@ export { developLatentTopicsTool } from "./developLatentTopics.js";
|
|
|
27
27
|
export { developTextTool } from "./developTextTool.js";
|
|
28
28
|
export { generateResearchIdeasTool } from "./generateResearchIdeas.js";
|
|
29
29
|
export { optimizeTextStructureTool } from "./optimizeTextStructure.js";
|
|
30
|
+
export { optimizeReasoningTool } from "./optimizeReasoning.js";
|
|
30
31
|
export { retrieveContextForPromptFromGraphTool } from "./retrieveContextForPromptFromGraph.js";
|
|
31
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -27,5 +27,6 @@ export { developLatentTopicsTool } from "./developLatentTopics.js";
|
|
|
27
27
|
export { developTextTool } from "./developTextTool.js";
|
|
28
28
|
export { generateResearchIdeasTool } from "./generateResearchIdeas.js";
|
|
29
29
|
export { optimizeTextStructureTool } from "./optimizeTextStructure.js";
|
|
30
|
+
export { optimizeReasoningTool } from "./optimizeReasoning.js";
|
|
30
31
|
export { retrieveContextForPromptFromGraphTool } from "./retrieveContextForPromptFromGraph.js";
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OptimizeReasoningSchema } from "../schemas/index.js";
|
|
3
|
+
export declare const optimizeReasoningTool: {
|
|
4
|
+
name: string;
|
|
5
|
+
definition: {
|
|
6
|
+
title: string;
|
|
7
|
+
description: string;
|
|
8
|
+
inputSchema: {
|
|
9
|
+
text: z.ZodOptional<z.ZodString>;
|
|
10
|
+
statements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
11
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">>;
|
|
12
|
+
timestamps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
13
|
+
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-4.6", "claude-sonnet-4.6", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "grok-4.1-fast-non-reasoning", "grok-4.1-fast-reasoning", "gpt-4o", "gpt-4o-mini", "gpt-5.4", "gpt-5.4-mini"]>>;
|
|
14
|
+
};
|
|
15
|
+
annotations: {
|
|
16
|
+
readOnlyHint: boolean;
|
|
17
|
+
idempotentHint: boolean;
|
|
18
|
+
destructiveHint: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
handler: (params: z.infer<typeof OptimizeReasoningSchema>) => Promise<{
|
|
22
|
+
content: {
|
|
23
|
+
type: "text";
|
|
24
|
+
text: string;
|
|
25
|
+
}[];
|
|
26
|
+
isError: boolean;
|
|
27
|
+
} | {
|
|
28
|
+
content: {
|
|
29
|
+
type: "text";
|
|
30
|
+
text: string;
|
|
31
|
+
}[];
|
|
32
|
+
}>;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=optimizeReasoning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizeReasoning.d.ts","sourceRoot":"","sources":["../../src/tools/optimizeReasoning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,uBAAuB,EAEvB,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;sBAaT,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;;;;;;;;;;CA+D/D,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { OptimizeReasoningSchemaBase, } from "../schemas/index.js";
|
|
2
|
+
import { makeInfraNodusRequest } from "../api/client.js";
|
|
3
|
+
import { resolveGraphInput } from "../utils/graphInput.js";
|
|
4
|
+
import { generateOptimizationResult } from "../utils/transformers.js";
|
|
5
|
+
function errorContent(message) {
|
|
6
|
+
return {
|
|
7
|
+
content: [
|
|
8
|
+
{ type: "text", text: JSON.stringify({ error: message }) },
|
|
9
|
+
],
|
|
10
|
+
isError: true,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export const optimizeReasoningTool = {
|
|
14
|
+
name: "optimize_reasoning",
|
|
15
|
+
definition: {
|
|
16
|
+
title: "Optimize Reasoning",
|
|
17
|
+
description: "Analyze the structure of the model's current reasoning or chat with the user using knowledge graph analysis, and steer it toward optimal diversity and coherence at the same time to optimize balance. Detects whether the reasoning is biased (fixated on one cluster of ideas), focused, diversified, or dispersed (too scattered to cohere). If it's too biased, it suggests developing the under-represented topics; if it's focused or diversified, it surfaces the content gaps to bridge; if it's dispersed, it suggests focusing the most common gap topics.",
|
|
18
|
+
inputSchema: OptimizeReasoningSchemaBase.shape,
|
|
19
|
+
annotations: {
|
|
20
|
+
readOnlyHint: true,
|
|
21
|
+
idempotentHint: true,
|
|
22
|
+
destructiveHint: false,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
handler: async (params) => {
|
|
26
|
+
try {
|
|
27
|
+
const queryParams = new URLSearchParams({
|
|
28
|
+
doNotSave: "true",
|
|
29
|
+
addStats: "true",
|
|
30
|
+
optimize: "optimize",
|
|
31
|
+
includeStatements: "false",
|
|
32
|
+
includeGraphSummary: "false",
|
|
33
|
+
extendedGraphSummary: "true",
|
|
34
|
+
includeGraph: "true",
|
|
35
|
+
aiTopics: "true",
|
|
36
|
+
});
|
|
37
|
+
const endpoint = `/graphAndAdvice?${queryParams.toString()}`;
|
|
38
|
+
const input = await resolveGraphInput(params);
|
|
39
|
+
if (!input.ok)
|
|
40
|
+
return errorContent(input.error);
|
|
41
|
+
const requestBody = {
|
|
42
|
+
...input.payload,
|
|
43
|
+
aiTopics: "true",
|
|
44
|
+
requestMode: "response",
|
|
45
|
+
modelToUse: params.modelToUse ?? "gpt-5.4",
|
|
46
|
+
};
|
|
47
|
+
const response = await makeInfraNodusRequest(endpoint, requestBody);
|
|
48
|
+
if (response.error) {
|
|
49
|
+
return {
|
|
50
|
+
content: [
|
|
51
|
+
{
|
|
52
|
+
type: "text",
|
|
53
|
+
text: `Error: ${response.error}`,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
isError: true,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const optimizationResult = generateOptimizationResult(response);
|
|
60
|
+
return {
|
|
61
|
+
content: [
|
|
62
|
+
{
|
|
63
|
+
type: "text",
|
|
64
|
+
text: JSON.stringify(optimizationResult, null, 2),
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return {
|
|
71
|
+
content: [
|
|
72
|
+
{
|
|
73
|
+
type: "text",
|
|
74
|
+
text: JSON.stringify({
|
|
75
|
+
error: error instanceof Error ? error.message : String(error),
|
|
76
|
+
}),
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
isError: true,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=optimizeReasoning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizeReasoning.js","sourceRoot":"","sources":["../../src/tools/optimizeReasoning.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,SAAS,YAAY,CAAC,OAAe;IACpC,OAAO;QACN,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;SACnE;QACD,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE;QACX,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACV,siBAAsiB;QACviB,WAAW,EAAE,2BAA2B,CAAC,KAAK;QAC9C,WAAW,EAAE;YACZ,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,KAAK;SACtB;KACD;IACD,OAAO,EAAE,KAAK,EAAE,MAA+C,EAAE,EAAE;QAClE,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACvC,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,UAAU;gBACpB,iBAAiB,EAAE,OAAO;gBAC1B,mBAAmB,EAAE,OAAO;gBAC5B,oBAAoB,EAAE,MAAM;gBAC5B,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,mBAAmB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAE7D,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhD,MAAM,WAAW,GAAG;gBACnB,GAAG,KAAK,CAAC,OAAO;gBAChB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;aAC1C,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACN,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,QAAQ,CAAC,KAAK,EAAE;yBAChC;qBACD;oBACD,OAAO,EAAE,IAAI;iBACb,CAAC;YACH,CAAC;YAED,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAEhE,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACjD;iBACD;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC7D,CAAC;qBACF;iBACD;gBACD,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAC"}
|
|
@@ -8,6 +8,9 @@ export declare const optimizeTextStructureTool: {
|
|
|
8
8
|
inputSchema: {
|
|
9
9
|
text: z.ZodOptional<z.ZodString>;
|
|
10
10
|
url: z.ZodOptional<z.ZodString>;
|
|
11
|
+
statements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
12
|
+
categories: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">>;
|
|
13
|
+
timestamps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
11
14
|
graphName: z.ZodOptional<z.ZodString>;
|
|
12
15
|
responseType: z.ZodDefault<z.ZodEnum<["response", "idea", "question", "transcend"]>>;
|
|
13
16
|
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-4.6", "claude-sonnet-4.6", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "grok-4.1-fast-non-reasoning", "grok-4.1-fast-reasoning", "gpt-4o", "gpt-4o-mini", "gpt-5.4", "gpt-5.4-mini"]>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizeTextStructure.d.ts","sourceRoot":"","sources":["../../src/tools/optimizeTextStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,2BAA2B,EAE3B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"optimizeTextStructure.d.ts","sourceRoot":"","sources":["../../src/tools/optimizeTextStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,2BAA2B,EAE3B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;sBAab,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;CAoFnE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OptimizeTextStructureSchemaBase, } from "../schemas/index.js";
|
|
2
2
|
import { makeInfraNodusRequest } from "../api/client.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveGraphInput } from "../utils/graphInput.js";
|
|
4
4
|
import { generateOptimizationResult } from "../utils/transformers.js";
|
|
5
5
|
function errorContent(message) {
|
|
6
6
|
return {
|
|
@@ -42,30 +42,18 @@ export const optimizeTextStructureTool = {
|
|
|
42
42
|
name: params.graphName,
|
|
43
43
|
aiTopics: "true",
|
|
44
44
|
requestMode,
|
|
45
|
-
modelToUse: params.modelToUse ?? "gpt-
|
|
45
|
+
modelToUse: params.modelToUse ?? "gpt-5.4",
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
|
-
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
-
if (!result.ok)
|
|
53
|
-
return errorContent(result.error);
|
|
54
|
-
contentText = result.contentText;
|
|
55
|
-
if (!contentText?.trim())
|
|
56
|
-
return errorContent("URL did not return any text content");
|
|
57
|
-
}
|
|
58
|
-
else if (params.text?.trim()) {
|
|
59
|
-
contentText = params.text;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return errorContent("Provide either text, url, or graphName for analysis");
|
|
63
|
-
}
|
|
49
|
+
const input = await resolveGraphInput(params);
|
|
50
|
+
if (!input.ok)
|
|
51
|
+
return errorContent(input.error);
|
|
64
52
|
requestBody = {
|
|
65
|
-
|
|
53
|
+
...input.payload,
|
|
66
54
|
aiTopics: "true",
|
|
67
55
|
requestMode,
|
|
68
|
-
modelToUse: params.modelToUse ?? "gpt-
|
|
56
|
+
modelToUse: params.modelToUse ?? "gpt-5.4",
|
|
69
57
|
};
|
|
70
58
|
}
|
|
71
59
|
const response = await makeInfraNodusRequest(endpoint, requestBody);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizeTextStructure.js","sourceRoot":"","sources":["../../src/tools/optimizeTextStructure.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,+BAA+B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"optimizeTextStructure.js","sourceRoot":"","sources":["../../src/tools/optimizeTextStructure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type WikilinksMode, type WikilinksPayload } from "./wikilinksMode.js";
|
|
2
|
+
export interface GraphInputParams {
|
|
3
|
+
text?: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
statements?: string[];
|
|
6
|
+
categories?: string[][];
|
|
7
|
+
timestamps?: string[];
|
|
8
|
+
wikilinksMode?: WikilinksMode;
|
|
9
|
+
}
|
|
10
|
+
export type GraphInputResult = {
|
|
11
|
+
ok: true;
|
|
12
|
+
payload: WikilinksPayload & {
|
|
13
|
+
text: string;
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
error: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Validate a caller-supplied statements array and its parallel metadata.
|
|
21
|
+
* Returns null when valid, otherwise the error message to hand back.
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateStatementsInput(statements: string[], categories?: string[][], timestamps?: string[]): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the mutually exclusive content inputs (text / url / statements) into
|
|
26
|
+
* the body fields of a graph request. `statements` skips the text-splitting
|
|
27
|
+
* path entirely and carries optional parallel `categories` (metadata labels)
|
|
28
|
+
* and `timestamps` (dates) arrays, one entry per statement.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveGraphInput(params: GraphInputParams): Promise<GraphInputResult>;
|
|
31
|
+
export type ContextItem = {
|
|
32
|
+
text: string;
|
|
33
|
+
} | {
|
|
34
|
+
url: string;
|
|
35
|
+
} | {
|
|
36
|
+
graphName: string;
|
|
37
|
+
} | {
|
|
38
|
+
statements: string[];
|
|
39
|
+
categories?: string[][];
|
|
40
|
+
timestamps?: string[];
|
|
41
|
+
};
|
|
42
|
+
export type ResolvedContexts = {
|
|
43
|
+
ok: true;
|
|
44
|
+
contexts: Array<Record<string, unknown>>;
|
|
45
|
+
contextSettings?: Record<string, unknown>;
|
|
46
|
+
} | {
|
|
47
|
+
ok: false;
|
|
48
|
+
error: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Resolve the `contexts` array of the multi-graph comparison tools into the
|
|
52
|
+
* items of a /graphsAndStatements body.
|
|
53
|
+
*
|
|
54
|
+
* Statements are only read when EVERY context has them (routes/graphs.js:
|
|
55
|
+
* `contexts.every(context => context.statements)`), so a statements item in a
|
|
56
|
+
* mixed array is joined into text — what url and graphName items resolve to
|
|
57
|
+
* anyway, and its categories and timestamps are dropped with it.
|
|
58
|
+
*
|
|
59
|
+
* Naming is the app's job: getContextForEntry (lib/context.js) gives every
|
|
60
|
+
* unnamed statements context a uuid fragment, because upstream creates the
|
|
61
|
+
* context by name. Sending statements to an app that predates that fix hangs
|
|
62
|
+
* for two minutes and returns 504, as does sending timestamps to one that
|
|
63
|
+
* predates the missing-`Instruments`-require fix in routes/graphs.js.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveContexts(items: ContextItem[], fetchGraphTextByName: (graphName: string) => Promise<{
|
|
66
|
+
ok: true;
|
|
67
|
+
text: string;
|
|
68
|
+
} | {
|
|
69
|
+
ok: false;
|
|
70
|
+
error: string;
|
|
71
|
+
}>): Promise<ResolvedContexts>;
|
|
72
|
+
//# sourceMappingURL=graphInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphInput.d.ts","sourceRoot":"","sources":["../../src/utils/graphInput.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAchC;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAkBf;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAiD3B;AAED,MAAM,MAAM,WAAW,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAM5E,MAAM,MAAM,gBAAgB,GACzB;IACA,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,WAAW,EAAE,EACpB,oBAAoB,EAAE,CACrB,SAAS,EAAE,MAAM,KACb,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GACrE,OAAO,CAAC,gBAAgB,CAAC,CA6E3B"}
|