keywordgraph-mcp-server 1.6.1 → 1.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 (40) hide show
  1. package/README.md +95 -89
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +2 -1
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/config/brand.d.ts +13 -0
  6. package/dist/config/brand.d.ts.map +1 -1
  7. package/dist/config/brand.js +21 -0
  8. package/dist/config/brand.js.map +1 -1
  9. package/dist/http-server.js +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/resources/about.d.ts.map +1 -1
  14. package/dist/resources/about.js +7 -6
  15. package/dist/resources/about.js.map +1 -1
  16. package/dist/schemas/index.d.ts +46 -6
  17. package/dist/schemas/index.d.ts.map +1 -1
  18. package/dist/schemas/index.js +91 -20
  19. package/dist/schemas/index.js.map +1 -1
  20. package/dist/tools/analyzeLlmResults.d.ts +1 -1
  21. package/dist/tools/analyzeLlmResults.d.ts.map +1 -1
  22. package/dist/tools/analyzeLlmResults.js +46 -19
  23. package/dist/tools/analyzeLlmResults.js.map +1 -1
  24. package/dist/tools/generateOntologyGraph.d.ts +1 -1
  25. package/dist/tools/generateOntologyGraph.d.ts.map +1 -1
  26. package/dist/tools/generateOntologyGraph.js +44 -21
  27. package/dist/tools/generateOntologyGraph.js.map +1 -1
  28. package/dist/tools/generateYoutubeSearchResultsGraph.d.ts +42 -0
  29. package/dist/tools/generateYoutubeSearchResultsGraph.d.ts.map +1 -0
  30. package/dist/tools/generateYoutubeSearchResultsGraph.js +97 -0
  31. package/dist/tools/generateYoutubeSearchResultsGraph.js.map +1 -0
  32. package/dist/tools/index.d.ts +1 -0
  33. package/dist/tools/index.d.ts.map +1 -1
  34. package/dist/tools/index.js +1 -0
  35. package/dist/tools/index.js.map +1 -1
  36. package/dist/utils/transformers.d.ts +1 -1
  37. package/dist/utils/transformers.d.ts.map +1 -1
  38. package/dist/utils/transformers.js +7 -1
  39. package/dist/utils/transformers.js.map +1 -1
  40. package/package.json +2 -1
@@ -2,7 +2,7 @@ import { AnalyzeLlmResultsSchema } from "../schemas/index.js";
2
2
  import { makeInfraNodusRequest } from "../api/client.js";
3
3
  import { getConfig } from "../api/config-store.js";
4
4
  import { brand, brandApiBase } from "../config/brand.js";
5
- import { extractAiChoiceTexts, transformToStructuredOutput, } from "../utils/transformers.js";
5
+ import { extractLineSeparatedStatements, transformToStructuredOutput, } from "../utils/transformers.js";
6
6
  function errorContent(message) {
7
7
  return {
8
8
  content: [
@@ -23,10 +23,7 @@ function slugify(text) {
23
23
  .slice(0, 30);
24
24
  }
25
25
  function defaultGraphName(prompt) {
26
- const timestamp = new Date()
27
- .toISOString()
28
- .slice(2, 16)
29
- .replace(/[-:T]/g, "");
26
+ const timestamp = new Date().toISOString().slice(2, 16).replace(/[-:T]/g, "");
30
27
  const slug = slugify(prompt.split(" ").slice(0, 3).join(" "));
31
28
  return slug ? `llm_view_${slug}_${timestamp}` : `llm_view_${timestamp}`;
32
29
  }
@@ -34,7 +31,7 @@ export const analyzeLlmResultsTool = {
34
31
  name: "analyze_llm_results",
35
32
  definition: {
36
33
  title: "Analyze How an LLM Sees a Topic",
37
- description: "Ask an LLM to describe a topic, then turn its response into a knowledge graph that reveals how the model frames it — main concepts, clusters, content gaps, and the relations between them. Useful for probing model bias, surfacing the implicit structure of an LLM's view on a subject, or comparing how different models describe the same topic. By default the graph is saved (saveGraph: true), analytics are returned (includeAnalytics: true), and the raw graph structure is omitted (includeGraph: false).",
34
+ description: "Ask an LLM to describe a topic, then turn its response into a knowledge graph that reveals how the model frames it — main concepts, clusters, content gaps, and the relations between them. Useful for probing model bias, surfacing the implicit structure of an LLM's view on a subject, or comparing how different models describe the same topic. ",
38
35
  inputSchema: AnalyzeLlmResultsSchema.shape,
39
36
  annotations: {
40
37
  readOnlyHint: false,
@@ -47,17 +44,17 @@ export const analyzeLlmResultsTool = {
47
44
  const saveGraph = params.saveGraph !== false;
48
45
  const includeGraph = params.includeGraph === true;
49
46
  const includeAnalytics = params.includeAnalytics !== false;
50
- const modifyAnalyzedText = params.modifyAnalyzedText ?? "detectEntities";
47
+ const includeStatements = params.includeStatements !== false;
48
+ const modifyAnalyzedText = params.modifyAnalyzedText ?? "none";
51
49
  const contextType = modifyAnalyzedText === "none" ? "STANDARD" : "WIKILINKS";
52
50
  const graphName = params.graphName?.trim() || defaultGraphName(params.prompt);
53
51
  const requestBody = {
54
52
  saveToGraphAndRedirect: saveGraph,
55
53
  contextName: graphName,
56
- aiQueryType: "intro search",
54
+ aiQueryType: "llm graph",
57
55
  mode: "gptchat",
58
56
  modelToUse: params.modelToUse ?? "claude-opus-4.6",
59
57
  prompt: [{ role: "user", content: params.prompt }],
60
- numberOfResults: String(params.numberOfResults ?? 20),
61
58
  modifyAnalyzedText,
62
59
  contextType,
63
60
  replaceEntities: false,
@@ -69,7 +66,15 @@ export const analyzeLlmResultsTool = {
69
66
  ? JSON.stringify(response.error)
70
67
  : String(response.error));
71
68
  }
72
- const llmStatements = extractAiChoiceTexts(response);
69
+ // Raw completions are present in the /aiAdvice response only when NOT
70
+ // saving — saving returns a redirect instead. For the 'llm graph'
71
+ // query each completion is a newline-separated list of statements, so
72
+ // split on newlines the same way the host app does (convertGPTResponses
73
+ // ToArray). The graph builder (/graphAndStatements) returns the
74
+ // statements in their final, post-processing shape (entity detection
75
+ // applied, etc.), so those are preferred for llmStatements whenever the
76
+ // graph is built; these raw ones are the fallback.
77
+ const rawChoiceStatements = extractLineSeparatedStatements(response);
73
78
  let output;
74
79
  if (saveGraph) {
75
80
  const redirectUrl = response.redirectUrl;
@@ -89,30 +94,36 @@ export const analyzeLlmResultsTool = {
89
94
  else {
90
95
  output = {
91
96
  saved: false,
92
- llmStatements,
93
- message: llmStatements.length > 0
94
- ? `LLM overview generated (not saved): ${llmStatements.length} completion(s) returned. Use saveGraph: true to persist it as a ${brand.name} graph.`
97
+ message: rawChoiceStatements.length > 0
98
+ ? `LLM overview generated (not saved): ${rawChoiceStatements.length} statement(s) returned. Use saveGraph: true to persist it as a ${brand.name} graph.`
95
99
  : "The LLM did not return any statements. Try a more specific prompt or a different model.",
96
100
  };
97
101
  }
98
- if (includeGraph || includeAnalytics) {
102
+ // We hit the graph builder for analytics/graph, and also for the
103
+ // final-shape statements when the caller wants them — except in the
104
+ // non-saved, statements-only case, where the raw completions are
105
+ // already in hand and an extra build (plus its AI topics call) would
106
+ // be wasteful.
107
+ const needStatementsFromGraph = includeStatements && (saveGraph || includeGraph || includeAnalytics);
108
+ const aiTopics = includeAnalytics ? "true" : "false";
109
+ if (includeGraph || includeAnalytics || needStatementsFromGraph) {
99
110
  const graphQuery = new URLSearchParams({
100
111
  doNotSave: "true",
101
112
  addStats: "true",
102
- includeStatements: "false",
113
+ includeStatements: includeStatements ? "true" : "false",
103
114
  includeGraphSummary: "false",
104
115
  extendedGraphSummary: includeAnalytics ? "true" : "false",
105
116
  includeGraph: includeGraph ? "true" : "false",
106
117
  compactGraph: includeGraph ? "true" : "false",
107
- aiTopics: "true",
118
+ aiTopics,
108
119
  optimize: "develop",
109
120
  });
110
121
  const graphEndpoint = `/graphAndStatements?${graphQuery.toString()}`;
111
122
  const graphRequestBody = saveGraph
112
- ? { name: graphName, aiTopics: "true", userName: "" }
123
+ ? { name: graphName, aiTopics, userName: "" }
113
124
  : {
114
- text: llmStatements.join("\n"),
115
- aiTopics: "true",
125
+ text: rawChoiceStatements.join("\n"),
126
+ aiTopics,
116
127
  modifyAnalyzedText,
117
128
  };
118
129
  const graphResponse = await makeInfraNodusRequest(graphEndpoint, graphRequestBody);
@@ -136,8 +147,24 @@ export const analyzeLlmResultsTool = {
136
147
  if (includeGraph) {
137
148
  output.knowledgeGraph = structured.knowledgeGraph;
138
149
  }
150
+ if (includeStatements && Array.isArray(graphResponse.statements)) {
151
+ const stmts = graphResponse.statements
152
+ .map((s) => (typeof s === "string" ? s : (s?.content ?? "")).trim())
153
+ .filter((s) => s.length > 0);
154
+ if (stmts.length > 0) {
155
+ output.llmStatements = stmts;
156
+ }
157
+ }
139
158
  }
140
159
  }
160
+ // Fallback: if the builder's final-shape statements weren't obtained
161
+ // (no graph call ran, or it failed/returned none), surface the raw
162
+ // completions when we have them.
163
+ if (includeStatements &&
164
+ !output.llmStatements &&
165
+ rawChoiceStatements.length > 0) {
166
+ output.llmStatements = rawChoiceStatements;
167
+ }
141
168
  return {
142
169
  content: [
143
170
  {
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeLlmResults.js","sourceRoot":"","sources":["../../src/tools/analyzeLlmResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACN,oBAAoB,EACpB,2BAA2B,GAC3B,MAAM,0BAA0B,CAAC;AAGlC,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,SAAS,UAAU;IAClB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IACtD,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC5B,OAAO,IAAI;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SAC1B,WAAW,EAAE;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE;QACX,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACV,ufAAuf;QACxf,WAAW,EAAE,uBAAuB,CAAC,KAAK;QAC1C,WAAW,EAAE;YACZ,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK;SACtB;KACD;IACD,OAAO,EAAE,KAAK,EAAE,MAA+C,EAAE,EAAE;QAClE,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC;YAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,KAAK,KAAK,CAAC;YAC3D,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;YACzE,MAAM,WAAW,GAChB,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAC1D,MAAM,SAAS,GACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7D,MAAM,WAAW,GAAQ;gBACxB,sBAAsB,EAAE,SAAS;gBACjC,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,iBAAiB;gBAClD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClD,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;gBACrD,kBAAkB;gBAClB,WAAW;gBACX,eAAe,EAAE,KAAK;gBACtB,eAAe,EAAE,IAAI;aACrB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAEvE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,OAAO,YAAY,CAClB,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CACzB,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAI,MAA2B,CAAC;YAEhC,IAAI,SAAS,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,OAAO,YAAY,CAClB,iHAAiH,KAAK,CAAC,IAAI,oEAAoE,CAC/L,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAEtD,MAAM,GAAG;oBACR,KAAK,EAAE,IAAI;oBACX,SAAS;oBACT,QAAQ,EAAE,GAAG,IAAI,GAAG,OAAO,EAAE;oBAC7B,OAAO,EAAE,GAAG,IAAI,GAAG,WAAW,EAAE;oBAChC,OAAO,EAAE,uBAAuB,SAAS,wBAAwB;iBACjE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG;oBACR,KAAK,EAAE,KAAK;oBACZ,aAAa;oBACb,OAAO,EACN,aAAa,CAAC,MAAM,GAAG,CAAC;wBACvB,CAAC,CAAC,uCAAuC,aAAa,CAAC,MAAM,mEAAmE,KAAK,CAAC,IAAI,SAAS;wBACnJ,CAAC,CAAC,yFAAyF;iBAC7F,CAAC;YACH,CAAC;YAED,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC;oBACtC,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,MAAM;oBAChB,iBAAiB,EAAE,OAAO;oBAC1B,mBAAmB,EAAE,OAAO;oBAC5B,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACzD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC7C,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC7C,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,uBAAuB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAErE,MAAM,gBAAgB,GAAQ,SAAS;oBACtC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;oBACrD,CAAC,CAAC;wBACA,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9B,QAAQ,EAAE,MAAM;wBAChB,kBAAkB;qBACjB,CAAC;gBAEL,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAChD,aAAa,EACb,gBAAgB,CAChB,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC1B,8DAA8D;oBAC9D,6DAA6D;oBAC7D,MAAM,UAAU,GAAG,2BAA2B,CAC7C,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,KAAK,MAAM,CAC7B,CAAC;oBAEF,IAAI,gBAAgB,EAAE,CAAC;wBACtB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;wBAC1C,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;wBAC9C,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;wBAC5C,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;wBAC5D,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;wBAC9C,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;wBAC1D,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;wBAC9C,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;wBAC1C,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;wBAC5D,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;wBAC5C,MAAM,CAAC,uBAAuB,GAAG,UAAU,CAAC,uBAAuB,CAAC;oBACrE,CAAC;oBACD,IAAI,YAAY,EAAE,CAAC;wBAClB,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;oBACnD,CAAC;gBACF,CAAC;YACF,CAAC;YAED,OAAO;gBACN,OAAO,EAAE;oBACR;wBACC,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACrC;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"}
1
+ {"version":3,"file":"analyzeLlmResults.js","sourceRoot":"","sources":["../../src/tools/analyzeLlmResults.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ export declare const generateOntologyGraphTool: {
9
9
  prompt: z.ZodString;
10
10
  graphName: z.ZodOptional<z.ZodString>;
11
11
  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"]>>;
12
- numberOfResults: z.ZodDefault<z.ZodNumber>;
13
12
  saveGraph: z.ZodDefault<z.ZodBoolean>;
14
13
  includeGraph: z.ZodDefault<z.ZodBoolean>;
15
14
  includeAnalytics: z.ZodDefault<z.ZodBoolean>;
15
+ includeStatements: z.ZodDefault<z.ZodBoolean>;
16
16
  };
17
17
  annotations: {
18
18
  readOnlyHint: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"generateOntologyGraph.d.ts","sourceRoot":"","sources":["../../src/tools/generateOntologyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AA2ClE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;sBAab,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;CAqJnE,CAAC"}
1
+ {"version":3,"file":"generateOntologyGraph.d.ts","sourceRoot":"","sources":["../../src/tools/generateOntologyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAwClE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;sBAYb,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;CAsLnE,CAAC"}
@@ -2,7 +2,7 @@ import { GenerateOntologyGraphSchema } from "../schemas/index.js";
2
2
  import { makeInfraNodusRequest } from "../api/client.js";
3
3
  import { getConfig } from "../api/config-store.js";
4
4
  import { brand, brandApiBase } from "../config/brand.js";
5
- import { extractOntologyStatements, transformToStructuredOutput, } from "../utils/transformers.js";
5
+ import { extractLineSeparatedStatements, transformToStructuredOutput, } from "../utils/transformers.js";
6
6
  function errorContent(message) {
7
7
  return {
8
8
  content: [
@@ -25,10 +25,7 @@ function slugify(text) {
25
25
  .slice(0, 30);
26
26
  }
27
27
  function defaultOntologyName(prompt) {
28
- const timestamp = new Date()
29
- .toISOString()
30
- .slice(2, 16)
31
- .replace(/[-:T]/g, "");
28
+ const timestamp = new Date().toISOString().slice(2, 16).replace(/[-:T]/g, "");
32
29
  const slug = slugify(prompt.split(" ").slice(0, 3).join(" "));
33
30
  return slug ? `ai_onto_${slug}_${timestamp}` : `ai_onto_${timestamp}`;
34
31
  }
@@ -36,7 +33,7 @@ export const generateOntologyGraphTool = {
36
33
  name: "generate_ontology_graph",
37
34
  definition: {
38
35
  title: "Generate an AI Ontology Graph from a Topic or Prompt",
39
- description: `Use AI to generate a reasoning ontology knowledge graph (entities and the relations between them) for a topic, prompt, or text, and optionally save it as a ${brand.name} graph. By default the graph is saved and a link is returned. Set saveGraph to false if the user asks not to save, or when you only need a one-off AI ontology overview of a topic for the current context that won't be reused later.`,
36
+ description: `Use AI to generate a reasoning ontology knowledge graph (entities and the relations between them) for a topic, prompt, or text, and optionally save it as a ${brand.name} graph. Use to get a rich overview or to produce a reasoning map of a topic for expert workflows.`,
40
37
  inputSchema: GenerateOntologyGraphSchema.shape,
41
38
  annotations: {
42
39
  readOnlyHint: false,
@@ -47,8 +44,9 @@ export const generateOntologyGraphTool = {
47
44
  handler: async (params) => {
48
45
  try {
49
46
  const saveGraph = params.saveGraph !== false;
50
- const includeGraph = params.includeGraph !== false;
47
+ const includeGraph = params.includeGraph === true;
51
48
  const includeAnalytics = params.includeAnalytics !== false;
49
+ const includeStatements = params.includeStatements !== false;
52
50
  const graphName = params.graphName?.trim() || defaultOntologyName(params.prompt);
53
51
  const requestBody = {
54
52
  saveToGraphAndRedirect: saveGraph,
@@ -57,8 +55,7 @@ export const generateOntologyGraphTool = {
57
55
  mode: "gptchat",
58
56
  modelToUse: params.modelToUse ?? "claude-opus-4.6",
59
57
  prompt: [{ role: "user", content: params.prompt }],
60
- numberOfResults: String(params.numberOfResults ?? 40),
61
- modifyAnalyzedText: "extractEntitiesOnly",
58
+ modifyAnalyzedText: "none",
62
59
  contextType: "ONTOLOGY",
63
60
  replaceEntities: false,
64
61
  hideSearchTerms: true,
@@ -71,7 +68,14 @@ export const generateOntologyGraphTool = {
71
68
  ? JSON.stringify(response.error)
72
69
  : String(response.error));
73
70
  }
74
- const ontologyStatements = extractOntologyStatements(response);
71
+ // Raw statements are present in the /aiAdvice response only when NOT
72
+ // saving — saving returns a redirect instead. Each completion is a
73
+ // newline-separated list of entity-relation statements, split the same
74
+ // way the host app does (convertGPTResponsesToArray). The graph builder
75
+ // (/graphAndStatements) returns the statements in their final,
76
+ // post-processing shape, so those are preferred for ontologyStatements
77
+ // whenever the graph is built; these raw ones are the fallback.
78
+ const rawOntologyStatements = extractLineSeparatedStatements(response);
75
79
  let output;
76
80
  if (saveGraph) {
77
81
  const redirectUrl = response.redirectUrl;
@@ -92,32 +96,35 @@ export const generateOntologyGraphTool = {
92
96
  else {
93
97
  output = {
94
98
  saved: false,
95
- ontologyStatements,
96
- message: ontologyStatements.length > 0
97
- ? `Ontology generated (not saved). Use saveGraph: true to persist it as a ${brand.name} graph.`
99
+ message: rawOntologyStatements.length > 0
100
+ ? `Ontology generated (not saved): ${rawOntologyStatements.length} statement(s) returned. Use saveGraph: true to persist it as a ${brand.name} graph.`
98
101
  : "The AI did not return any ontology statements. Try a more specific prompt or a more capable model.",
99
102
  };
100
103
  }
101
- // Optional follow-up: fetch the analyzed graph for compact structure
102
- // and/or analytics. Skip entirely if both are disabled.
103
- if (includeGraph || includeAnalytics) {
104
+ // We hit the graph builder for analytics/graph, and also for the
105
+ // final-shape statements when the caller wants them — except in the
106
+ // non-saved, statements-only case, where the raw statements are already
107
+ // in hand and an extra build (plus its AI topics call) would be wasteful.
108
+ const needStatementsFromGraph = includeStatements && (saveGraph || includeGraph || includeAnalytics);
109
+ const aiTopics = includeAnalytics ? "true" : "false";
110
+ if (includeGraph || includeAnalytics || needStatementsFromGraph) {
104
111
  const graphQuery = new URLSearchParams({
105
112
  doNotSave: "true",
106
113
  addStats: "true",
107
- includeStatements: "false",
114
+ includeStatements: includeStatements ? "true" : "false",
108
115
  includeGraphSummary: "false",
109
116
  extendedGraphSummary: includeAnalytics ? "true" : "false",
110
117
  includeGraph: includeGraph ? "true" : "false",
111
118
  compactGraph: includeGraph ? "true" : "false",
112
- aiTopics: "true",
119
+ aiTopics,
113
120
  optimize: "develop",
114
121
  });
115
122
  const graphEndpoint = `/graphAndStatements?${graphQuery.toString()}`;
116
123
  const graphRequestBody = saveGraph
117
- ? { name: graphName, aiTopics: "true", userName: "" }
124
+ ? { name: graphName, aiTopics, userName: "" }
118
125
  : {
119
- text: ontologyStatements.join("\n"),
120
- aiTopics: "true",
126
+ text: rawOntologyStatements.join("\n"),
127
+ aiTopics,
121
128
  modifyAnalyzedText: "extractEntitiesOnly",
122
129
  };
123
130
  const graphResponse = await makeInfraNodusRequest(graphEndpoint, graphRequestBody);
@@ -142,8 +149,24 @@ export const generateOntologyGraphTool = {
142
149
  if (includeGraph) {
143
150
  output.knowledgeGraph = structured.knowledgeGraph;
144
151
  }
152
+ if (includeStatements && Array.isArray(graphResponse.statements)) {
153
+ const stmts = graphResponse.statements
154
+ .map((s) => (typeof s === "string" ? s : (s?.content ?? "")).trim())
155
+ .filter((s) => s.length > 0);
156
+ if (stmts.length > 0) {
157
+ output.ontologyStatements = stmts;
158
+ }
159
+ }
145
160
  }
146
161
  }
162
+ // Fallback: if the builder's final-shape statements weren't obtained
163
+ // (no graph call ran, or it failed/returned none), surface the raw
164
+ // statements when we have them.
165
+ if (includeStatements &&
166
+ !output.ontologyStatements &&
167
+ rawOntologyStatements.length > 0) {
168
+ output.ontologyStatements = rawOntologyStatements;
169
+ }
147
170
  return {
148
171
  content: [
149
172
  {
@@ -1 +1 @@
1
- {"version":3,"file":"generateOntologyGraph.js","sourceRoot":"","sources":["../../src/tools/generateOntologyGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateOntologyGraph.js","sourceRoot":"","sources":["../../src/tools/generateOntologyGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ import { GenerateYoutubeSearchResultsGraphSchema } from "../schemas/index.js";
3
+ export declare const generateYoutubeSearchResultsGraphTool: {
4
+ name: string;
5
+ definition: {
6
+ title: string;
7
+ description: string;
8
+ inputSchema: {
9
+ searchQuery: z.ZodString;
10
+ searchMode: z.ZodDefault<z.ZodEnum<["search", "comments", "channel", "playlist", "subtitles", "subtitlesChannel", "subtitlesPlaylist", "searchVideos"]>>;
11
+ limit: z.ZodDefault<z.ZodNumber>;
12
+ sortBy: z.ZodDefault<z.ZodEnum<["Relevance", "Popular", "Latest"]>>;
13
+ excludeDescriptions: z.ZodDefault<z.ZodBoolean>;
14
+ includeSearchResults: z.ZodDefault<z.ZodBoolean>;
15
+ includeGraph: z.ZodDefault<z.ZodBoolean>;
16
+ showExtendedGraphInfo: z.ZodDefault<z.ZodBoolean>;
17
+ includeSearchResultsOnly: z.ZodDefault<z.ZodBoolean>;
18
+ includeNodesAndEdges: z.ZodDefault<z.ZodBoolean>;
19
+ importLanguage: z.ZodDefault<z.ZodEnum<["EN", "DE", "FR", "ES", "IT", "PT", "RU", "CN", "JP", "NL", "TW", "KO", "AR", "HE"]>>;
20
+ importRegion: z.ZodDefault<z.ZodString>;
21
+ };
22
+ annotations: {
23
+ readOnlyHint: boolean;
24
+ idempotentHint: boolean;
25
+ destructiveHint: boolean;
26
+ };
27
+ };
28
+ handler: (params: z.infer<typeof GenerateYoutubeSearchResultsGraphSchema>) => Promise<{
29
+ content: {
30
+ type: "text";
31
+ text: string;
32
+ }[];
33
+ isError: boolean;
34
+ } | {
35
+ content: {
36
+ type: "text";
37
+ text: string;
38
+ }[];
39
+ isError?: undefined;
40
+ }>;
41
+ };
42
+ //# sourceMappingURL=generateYoutubeSearchResultsGraph.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;sBAexC,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC;;;;;;;;;;;;;CA+FhE,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { GenerateYoutubeSearchResultsGraphSchema } from "../schemas/index.js";
2
+ import { makeInfraNodusRequest } from "../api/client.js";
3
+ import { transformToStructuredOutput } from "../utils/transformers.js";
4
+ export const generateYoutubeSearchResultsGraphTool = {
5
+ name: "analyze_youtube_results",
6
+ definition: {
7
+ title: "Analyze YouTube Search Results, Channels, Playlists, Videos, and Comments",
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
+ inputSchema: GenerateYoutubeSearchResultsGraphSchema.shape,
10
+ annotations: {
11
+ readOnlyHint: true,
12
+ idempotentHint: true,
13
+ destructiveHint: false,
14
+ },
15
+ },
16
+ handler: async (params) => {
17
+ try {
18
+ const includeGraph = params.includeGraph ? true : false;
19
+ const includeStatements = params.includeSearchResults ? true : false;
20
+ const showExtendedGraphInfo = params.showExtendedGraphInfo ? true : false;
21
+ const includeNodesAndEdges = params.includeNodesAndEdges ? true : false;
22
+ const includeSearchResultsOnly = params.includeSearchResultsOnly
23
+ ? true
24
+ : false;
25
+ const searchMode = params.searchMode || "search";
26
+ // 'searchVideos' analyzes the content of each video, so the result count
27
+ // is hard-capped to keep the request tractable.
28
+ const limit = searchMode === "searchVideos" ? 20 : (params.limit ?? 100);
29
+ // First generate the graph with focus on insights
30
+ const queryParams = new URLSearchParams({
31
+ doNotSave: "true",
32
+ addStats: "true",
33
+ includeGraphSummary: "true",
34
+ extendedGraphSummary: showExtendedGraphInfo ? "true" : "false",
35
+ includeGraph: includeGraph ? "true" : "false",
36
+ includeStatements: includeStatements || includeSearchResultsOnly ? "true" : "false",
37
+ compactGraph: "true",
38
+ compactStatements: "true",
39
+ aiTopics: "true",
40
+ });
41
+ const endpoint = `/import/youtubeSearchResultsGraph?${queryParams.toString()}`;
42
+ const response = await makeInfraNodusRequest(endpoint, {
43
+ searchQuery: params.searchQuery,
44
+ searchMode,
45
+ limit,
46
+ sortBy: params.sortBy || "Relevance",
47
+ includeReplies: "false",
48
+ excludeDescriptions: params.excludeDescriptions === false ? "false" : "true",
49
+ includeGraph: includeGraph ? "true" : "false",
50
+ aiTopics: "true",
51
+ includeSearchResultsOnly: includeSearchResultsOnly ? "true" : "false",
52
+ importLanguage: params.importLanguage || "EN",
53
+ importRegion: params.importRegion || "US",
54
+ });
55
+ if (response.error) {
56
+ return {
57
+ content: [
58
+ {
59
+ type: "text",
60
+ text: JSON.stringify({ error: response.error }),
61
+ },
62
+ ],
63
+ isError: true,
64
+ };
65
+ }
66
+ const textOverview = transformToStructuredOutput(response, includeGraph, includeNodesAndEdges);
67
+ if (!includeStatements && !includeSearchResultsOnly) {
68
+ delete textOverview.statements;
69
+ }
70
+ if (showExtendedGraphInfo || includeGraph) {
71
+ delete textOverview.graphSummary;
72
+ }
73
+ return {
74
+ content: [
75
+ {
76
+ type: "text",
77
+ text: JSON.stringify(textOverview, null, 2),
78
+ },
79
+ ],
80
+ };
81
+ }
82
+ catch (error) {
83
+ return {
84
+ content: [
85
+ {
86
+ type: "text",
87
+ text: JSON.stringify({
88
+ error: error instanceof Error ? error.message : String(error),
89
+ }),
90
+ },
91
+ ],
92
+ isError: true,
93
+ };
94
+ }
95
+ },
96
+ };
97
+ //# sourceMappingURL=generateYoutubeSearchResultsGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateYoutubeSearchResultsGraph.js","sourceRoot":"","sources":["../../src/tools/generateYoutubeSearchResultsGraph.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export { generateOverlapGraphFromTextsTool } from "./generateOverlapGraphFromTex
18
18
  export { generateMergedGraphFromTextsTool } from "./generateMergedGraphFromTexts.js";
19
19
  export { generateDifferenceGraphFromTextsTool } from "./generateDifferenceGraphFromTexts.js";
20
20
  export { generateGoogleSearchResultsGraphTool } from "./generateGoogleSearchResultsGraph.js";
21
+ export { generateYoutubeSearchResultsGraphTool } from "./generateYoutubeSearchResultsGraph.js";
21
22
  export { generateGoogleSearchQueriesGraphTool } from "./generateGoogleSearchQueriesGraph.js";
22
23
  export { generateGoogleResultsVsQueriesGraphTool } from "./generateGoogleResultsVsQueriesGraph.js";
23
24
  export { generateSEOGraphTool } from "./generateSEOGraphTool.js";
@@ -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,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,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
@@ -18,6 +18,7 @@ export { generateOverlapGraphFromTextsTool } from "./generateOverlapGraphFromTex
18
18
  export { generateMergedGraphFromTextsTool } from "./generateMergedGraphFromTexts.js";
19
19
  export { generateDifferenceGraphFromTextsTool } from "./generateDifferenceGraphFromTexts.js";
20
20
  export { generateGoogleSearchResultsGraphTool } from "./generateGoogleSearchResultsGraph.js";
21
+ export { generateYoutubeSearchResultsGraphTool } from "./generateYoutubeSearchResultsGraph.js";
21
22
  export { generateGoogleSearchQueriesGraphTool } from "./generateGoogleSearchQueriesGraph.js";
22
23
  export { generateGoogleResultsVsQueriesGraphTool } from "./generateGoogleResultsVsQueriesGraph.js";
23
24
  export { generateSEOGraphTool } from "./generateSEOGraphTool.js";
@@ -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,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,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
@@ -9,7 +9,7 @@ export declare function transformToGraphRagOutput(params: {
9
9
  }): GraphRagOutput;
10
10
  export declare function generateGaps(data: GraphResponse): GapsOutput;
11
11
  export declare function generateContextualHint(data: GraphResponse): GraphOverview;
12
- export declare function extractOntologyStatements(data: GraphResponse): string[];
12
+ export declare function extractLineSeparatedStatements(data: GraphResponse): string[];
13
13
  export declare function extractAiChoiceTexts(data: GraphResponse): string[];
14
14
  export declare function generateTopics(data: GraphResponse, summaryData?: GraphResponse): TopicsOutput;
15
15
  export declare function generateSummaryFromTopicsAndGaps(data: GraphResponse): SummaryOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/utils/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,aAAa,EACnB,YAAY,GAAE,OAAe,EAC7B,oBAAoB,GAAE,OAAe,EACrC,qBAAqB,GAAE,OAAe,GACpC,oBAAoB,CA6FtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IACjD,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CAC9B,GAAG,cAAc,CA8DjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAQ5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAQzE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAUvE;AAOD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CASlE;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,aAAa,GACzB,YAAY,CAcd;AAED,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,aAAa,GACjB,aAAa,CAcf;AAED,wBAAgB,uCAAuC,CACtD,IAAI,EAAE,aAAa,GACjB,cAAc,CAchB;AAED,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,aAAa,GACjB,sBAAsB,CA4BxB;AAED,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,aAAa,GACjB,cAAc,CAQhB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,CAiBxE;AAED,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,aAAa,GACjB,uBAAuB,CAezB;AAED,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,aAAa,GACjB,mBAAmB,CAerB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAetE;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,aAAa,GACjB,kBAAkB,CAyBpB;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,aAAa,GACjB,oBAAoB,CAkBtB;AAED,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,aAAa,GACjB,kBAAkB,CAiBpB;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACX,YAAY,CAuBd;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACX,WAAW,CAyBb;AAED,wBAAgB,kCAAkC,CACjD,IAAI,EAAE,aAAa,EACnB,iBAAiB,EAAE,MAAM,GACvB,sBAAsB,CAqBxB;AAED,wBAAgB,mCAAmC,CAClD,IAAI,EAAE,cAAc,GAClB,sBAAsB,CAkCxB;AAED,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,GACjB,cAAc,CAkGhB"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../src/utils/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,aAAa,EACnB,YAAY,GAAE,OAAe,EAC7B,oBAAoB,GAAE,OAAe,EACrC,qBAAqB,GAAE,OAAe,GACpC,oBAAoB,CA6FtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IACjD,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;CAC9B,GAAG,cAAc,CA8DjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAQ5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAQzE;AAQD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAU5E;AAOD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CASlE;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,aAAa,GACzB,YAAY,CAcd;AAED,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,aAAa,GACjB,aAAa,CAcf;AAED,wBAAgB,uCAAuC,CACtD,IAAI,EAAE,aAAa,GACjB,cAAc,CAchB;AAED,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,aAAa,GACjB,sBAAsB,CA4BxB;AAED,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,aAAa,GACjB,cAAc,CAQhB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,CAiBxE;AAED,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,aAAa,GACjB,uBAAuB,CAezB;AAED,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,aAAa,GACjB,mBAAmB,CAerB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAetE;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,aAAa,GACjB,kBAAkB,CAyBpB;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,aAAa,GACjB,oBAAoB,CAkBtB;AAED,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,aAAa,GACjB,kBAAkB,CAiBpB;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACX,YAAY,CAuBd;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACX,WAAW,CAyBb;AAED,wBAAgB,kCAAkC,CACjD,IAAI,EAAE,aAAa,EACnB,iBAAiB,EAAE,MAAM,GACvB,sBAAsB,CAqBxB;AAED,wBAAgB,mCAAmC,CAClD,IAAI,EAAE,cAAc,GAClB,sBAAsB,CAkCxB;AAED,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,GACjB,cAAc,CAkGhB"}
@@ -135,7 +135,13 @@ export function generateContextualHint(data) {
135
135
  }
136
136
  return graphOverview;
137
137
  }
138
- export function extractOntologyStatements(data) {
138
+ // For the 'ontology graph' / 'llm graph' aiQueryTypes, a single completion
139
+ // holds many statements, one per line. Mirror the host app's
140
+ // convertGPTResponsesToArray (routes/ai.js): split each choice on newlines and
141
+ // trim, rather than collapsing newlines into one statement the way
142
+ // extractAiChoiceTexts does. Shared by generate_ontology_graph and
143
+ // analyze_llm_results.
144
+ export function extractLineSeparatedStatements(data) {
139
145
  if (!data.choices || !data.choices.length)
140
146
  return [];
141
147
  return data.choices