keywordgraph-mcp-server 1.9.0 → 1.9.4
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 +15 -9
- package/dist/config/brand.d.ts.map +1 -1
- package/dist/config/brand.js +1 -0
- package/dist/config/brand.js.map +1 -1
- package/dist/config/models.d.ts +7 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +26 -0
- package/dist/config/models.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/instructions.js +4 -4
- package/dist/resources/about.d.ts.map +1 -1
- package/dist/resources/about.js +3 -2
- package/dist/resources/about.js.map +1 -1
- package/dist/schemas/index.d.ts +106 -69
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +100 -190
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/analyzeLlmResults.d.ts +1 -1
- package/dist/tools/analyzeLlmResults.d.ts.map +1 -1
- package/dist/tools/analyzeLlmResults.js +2 -1
- package/dist/tools/analyzeLlmResults.js.map +1 -1
- package/dist/tools/createKnowledgeGraph.d.ts +5 -2
- package/dist/tools/createKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/createKnowledgeGraph.js +23 -5
- package/dist/tools/createKnowledgeGraph.js.map +1 -1
- package/dist/tools/developConceptualBridges.d.ts +1 -1
- package/dist/tools/developConceptualBridges.d.ts.map +1 -1
- package/dist/tools/developConceptualBridges.js +3 -2
- package/dist/tools/developConceptualBridges.js.map +1 -1
- package/dist/tools/developLatentTopics.d.ts +1 -1
- package/dist/tools/developLatentTopics.d.ts.map +1 -1
- package/dist/tools/developLatentTopics.js +3 -2
- package/dist/tools/developLatentTopics.js.map +1 -1
- package/dist/tools/developTextTool.d.ts +1 -1
- package/dist/tools/developTextTool.d.ts.map +1 -1
- package/dist/tools/developTextTool.js +7 -6
- package/dist/tools/developTextTool.js.map +1 -1
- package/dist/tools/generateKnowledgeGraph.d.ts +5 -2
- package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/generateKnowledgeGraph.js +21 -7
- package/dist/tools/generateKnowledgeGraph.js.map +1 -1
- package/dist/tools/generateOntologyGraph.d.ts +3 -3
- package/dist/tools/generateOntologyGraph.d.ts.map +1 -1
- package/dist/tools/generateOntologyGraph.js +9 -20
- package/dist/tools/generateOntologyGraph.js.map +1 -1
- package/dist/tools/generateResearchIdeas.d.ts +1 -1
- package/dist/tools/generateResearchIdeas.d.ts.map +1 -1
- package/dist/tools/generateResearchIdeas.js +3 -2
- package/dist/tools/generateResearchIdeas.js.map +1 -1
- package/dist/tools/generateResearchQuestions.d.ts +1 -1
- package/dist/tools/generateResearchQuestions.d.ts.map +1 -1
- package/dist/tools/generateResearchQuestions.js +3 -2
- package/dist/tools/generateResearchQuestions.js.map +1 -1
- package/dist/tools/generateResponses.d.ts +1 -1
- package/dist/tools/generateResponses.d.ts.map +1 -1
- package/dist/tools/generateResponses.js +3 -2
- package/dist/tools/generateResponses.js.map +1 -1
- package/dist/tools/getGraphAroundTerm.d.ts +32 -0
- package/dist/tools/getGraphAroundTerm.d.ts.map +1 -0
- package/dist/tools/getGraphAroundTerm.js +69 -0
- package/dist/tools/getGraphAroundTerm.js.map +1 -0
- package/dist/tools/getNodeNeighborhood.d.ts.map +1 -1
- package/dist/tools/getNodeNeighborhood.js +4 -2
- package/dist/tools/getNodeNeighborhood.js.map +1 -1
- package/dist/tools/getTermGraph.d.ts +32 -0
- package/dist/tools/getTermGraph.d.ts.map +1 -0
- package/dist/tools/getTermGraph.js +69 -0
- package/dist/tools/getTermGraph.js.map +1 -0
- 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/optimizeKnowledgeBase.d.ts +1 -1
- package/dist/tools/optimizeKnowledgeBase.d.ts.map +1 -1
- package/dist/tools/optimizeKnowledgeBase.js +2 -1
- package/dist/tools/optimizeKnowledgeBase.js.map +1 -1
- package/dist/tools/optimizeReasoning.d.ts +1 -1
- package/dist/tools/optimizeReasoning.d.ts.map +1 -1
- package/dist/tools/optimizeReasoning.js +2 -1
- package/dist/tools/optimizeReasoning.js.map +1 -1
- package/dist/tools/optimizeTextStructure.d.ts +1 -1
- package/dist/tools/optimizeTextStructure.d.ts.map +1 -1
- package/dist/tools/optimizeTextStructure.js +3 -2
- package/dist/tools/optimizeTextStructure.js.map +1 -1
- package/dist/tools/searchGraphs.d.ts.map +1 -1
- package/dist/tools/searchGraphs.js +2 -1
- package/dist/tools/searchGraphs.js.map +1 -1
- package/dist/utils/aiKnowledgeGraph.d.ts +45 -0
- package/dist/utils/aiKnowledgeGraph.d.ts.map +1 -0
- package/dist/utils/aiKnowledgeGraph.js +77 -0
- package/dist/utils/aiKnowledgeGraph.js.map +1 -0
- package/dist/utils/chunkByLines.d.ts +3 -0
- package/dist/utils/chunkByLines.d.ts.map +1 -0
- package/dist/utils/chunkByLines.js +19 -0
- package/dist/utils/chunkByLines.js.map +1 -0
- package/dist/utils/elicitApproval.d.ts +38 -0
- package/dist/utils/elicitApproval.d.ts.map +1 -1
- package/dist/utils/elicitApproval.js +43 -0
- package/dist/utils/elicitApproval.js.map +1 -1
- package/dist/utils/wikilinksMode.d.ts +9 -0
- package/dist/utils/wikilinksMode.d.ts.map +1 -1
- package/dist/utils/wikilinksMode.js +6 -4
- package/dist/utils/wikilinksMode.js.map +1 -1
- package/llms-full.infranodus.txt +9 -6
- package/llms-full.keywordgraph.txt +9 -6
- package/llms-full.txt +9 -6
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { AI_MODELS, DEFAULT_AI_MODEL, DEFAULT_GRAPH_MODEL, } from "../config/models.js";
|
|
2
3
|
import { brand } from "../config/brand.js";
|
|
3
4
|
import { WikilinksModeEnum, categoriesAsNodesDescription, wikilinksModeDescription, } from "../utils/wikilinksMode.js";
|
|
4
5
|
/**
|
|
@@ -39,11 +40,34 @@ const timestampsField = z
|
|
|
39
40
|
.array(z.string())
|
|
40
41
|
.optional()
|
|
41
42
|
.describe("Per-statement date, one entry per statement (empty string = upload time, length must match `statements`). ISO 8601 only — '2026-08-02' or '2026-08-02T14:30:00Z'; other formats are refused because day-first and month-first dates are indistinguishable below the 13th. Stored to minute precision in the server timezone; drives time filters and dynamic graph views. Requires `statements`; omit when the statements are undated.");
|
|
43
|
+
const ENTITY_MODES = [
|
|
44
|
+
"none",
|
|
45
|
+
"detectEntities",
|
|
46
|
+
"extractEntitiesOnly",
|
|
47
|
+
"aiKnowledgeGraph",
|
|
48
|
+
];
|
|
49
|
+
const entityDetectionDescription = "How the graph's nodes are made. " +
|
|
50
|
+
"none: from the words of the text (default). " +
|
|
51
|
+
"detectEntities: an algorithm (TextRazor) finds names of people, places, organizations and the like and marks them as entities; the graph mixes them with ordinary words. " +
|
|
52
|
+
"extractEntitiesOnly: the same algorithm finds the names, and only they become nodes. For plain text without [[wikilinks]]; for text already written as [[entity]] statements use wikilinksMode: 'wikilinksOnly' instead.";
|
|
53
|
+
const entityModesDescription = "How the graph's nodes are made. " +
|
|
54
|
+
"none: from the words of the text (default; for text, gap and topical analysis). " +
|
|
55
|
+
"detectEntities: an algorithm (TextRazor) finds names of people, places, organizations and the like and marks them as entities; the graph mixes them with ordinary words. " +
|
|
56
|
+
"extractEntitiesOnly: the same algorithm finds the names, and only they become nodes. For plain text without [[wikilinks]]; statements you already wrote as [[entity]] statements go in with wikilinksMode: 'wikilinksOnly' instead. " +
|
|
57
|
+
"aiKnowledgeGraph: an AI model writes [[entity]] statements about the input, a topic or a text, and only those entities become nodes; no algorithm detection. Use for a knowledge graph of a topic or a text. Slower: one AI call per ~12,000 characters, which counts against the AI quota.";
|
|
58
|
+
const aiGraphModelField = z
|
|
59
|
+
.enum(AI_MODELS)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Only with modifyAnalyzedText: 'aiKnowledgeGraph'. AI model that writes the entity statements. Default: claude-opus-5-5; the -mini and -lite variants are faster and cheaper.");
|
|
62
|
+
const aiGraphInstructionsField = z
|
|
63
|
+
.string()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("Only with modifyAnalyzedText: 'aiKnowledgeGraph'. The user's own instructions for the AI model, e.g. 'only people and organizations' or 'focus on 1950-1970'. They can change which entities and relations to include, the scope and the number of statements, but not the output format.");
|
|
42
66
|
export const GenerateGraphSchema = z.object({
|
|
43
67
|
text: z
|
|
44
68
|
.string()
|
|
45
69
|
.optional()
|
|
46
|
-
.describe("Text that you'd like to analyze. Use new lines to separate separate statements or paragrams in each text (but not the sentences). Use [[wikilinks]] to mark entities (if required for social / knowledge graphs, ontology, or entity detection). Provide one of: this, url, or statements."),
|
|
70
|
+
.describe("Text that you'd like to analyze. Use new lines to separate separate statements or paragrams in each text (but not the sentences). Use [[wikilinks]] to mark entities (if required for social / knowledge graphs, ontology, or entity detection). With modifyAnalyzedText: 'aiKnowledgeGraph' this can also be a short topic. Provide one of: this, url, or statements."),
|
|
47
71
|
url: z
|
|
48
72
|
.string()
|
|
49
73
|
.url()
|
|
@@ -78,9 +102,11 @@ export const GenerateGraphSchema = z.object({
|
|
|
78
102
|
.optional()
|
|
79
103
|
.describe("Maximum number of concepts (nodes) in the generated graph. Default 150 — the most relevant nodes are kept and the rest dropped. Increase (e.g. 500) for large texts when a more complete graph is explicitly needed; response size grows accordingly. Omit to use the default."),
|
|
80
104
|
modifyAnalyzedText: z
|
|
81
|
-
.enum(
|
|
105
|
+
.enum(ENTITY_MODES)
|
|
82
106
|
.default("none")
|
|
83
|
-
.describe(
|
|
107
|
+
.describe(entityModesDescription),
|
|
108
|
+
modelToUse: aiGraphModelField,
|
|
109
|
+
instructions: aiGraphInstructionsField,
|
|
84
110
|
wikilinksMode: WikilinksModeEnum.default("default").describe(wikilinksModeDescription),
|
|
85
111
|
});
|
|
86
112
|
export const CreateGraphSchema = z.object({
|
|
@@ -91,7 +117,7 @@ export const CreateGraphSchema = z.object({
|
|
|
91
117
|
text: z
|
|
92
118
|
.string()
|
|
93
119
|
.optional()
|
|
94
|
-
.describe("Text that you'd like to analyze. Use new lines to separate separate statements or paragrams in each text (but not the sentences). Provide one of: this, url, or statements."),
|
|
120
|
+
.describe("Text that you'd like to analyze. Use new lines to separate separate statements or paragrams in each text (but not the sentences). With modifyAnalyzedText: 'aiKnowledgeGraph' this can also be a short topic. Provide one of: this, url, or statements."),
|
|
95
121
|
url: z
|
|
96
122
|
.string()
|
|
97
123
|
.url()
|
|
@@ -126,9 +152,11 @@ export const CreateGraphSchema = z.object({
|
|
|
126
152
|
.optional()
|
|
127
153
|
.describe("Maximum number of concepts (nodes) in the generated graph. Default 150 — the most relevant nodes are kept and the rest dropped. Increase (e.g. 500) for large texts when a more complete graph is explicitly needed; response size grows accordingly. Omit to use the default."),
|
|
128
154
|
modifyAnalyzedText: z
|
|
129
|
-
.enum(
|
|
155
|
+
.enum(ENTITY_MODES)
|
|
130
156
|
.default("none")
|
|
131
|
-
.describe(
|
|
157
|
+
.describe(entityModesDescription),
|
|
158
|
+
modelToUse: aiGraphModelField,
|
|
159
|
+
instructions: aiGraphInstructionsField,
|
|
132
160
|
wikilinksMode: WikilinksModeEnum.default("default").describe(wikilinksModeDescription +
|
|
133
161
|
" For saved graphs this applies only when the graph is FIRST created; uploads to an existing graphName keep its original setting."),
|
|
134
162
|
});
|
|
@@ -236,7 +264,7 @@ export const AnalyzeTextSchemaBase = z.object({
|
|
|
236
264
|
modifyAnalyzedText: z
|
|
237
265
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
238
266
|
.default("none")
|
|
239
|
-
.describe(
|
|
267
|
+
.describe(entityDetectionDescription),
|
|
240
268
|
wikilinksMode: WikilinksModeEnum.default("default").describe(wikilinksModeDescription),
|
|
241
269
|
});
|
|
242
270
|
export const AnalyzeTextSchema = AnalyzeTextSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
@@ -308,7 +336,7 @@ export const AnalyzeExistingGraphSchemaBase = z.object({
|
|
|
308
336
|
modifyAnalyzedText: z
|
|
309
337
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
310
338
|
.default("none")
|
|
311
|
-
.describe(
|
|
339
|
+
.describe(entityDetectionDescription),
|
|
312
340
|
});
|
|
313
341
|
export const AnalyzeExistingGraphSchema = AnalyzeExistingGraphSchemaBase;
|
|
314
342
|
export const SearchExistingGraphsSchema = z.object({
|
|
@@ -436,24 +464,9 @@ export const GenerateOntologyGraphSchema = z.object({
|
|
|
436
464
|
.optional()
|
|
437
465
|
.describe(`Name of the ${brand.name} graph to save the ontology to. Only used when saveGraph is true. If omitted, a name is auto-generated from the prompt. Note: saving to a name that already exists appends the new statements to that graph rather than replacing it.`),
|
|
438
466
|
modelToUse: z
|
|
439
|
-
.enum(
|
|
440
|
-
|
|
441
|
-
"claude-
|
|
442
|
-
"claude-fable-5",
|
|
443
|
-
"gemini-2.5-pro",
|
|
444
|
-
"gemini-2.5-flash",
|
|
445
|
-
"gemini-2.5-flash-lite",
|
|
446
|
-
"grok-4.1-fast-non-reasoning",
|
|
447
|
-
"grok-4.1-fast-reasoning",
|
|
448
|
-
"gpt-4o",
|
|
449
|
-
"gpt-4o-mini",
|
|
450
|
-
"gpt-5.4",
|
|
451
|
-
"gpt-5.4-mini",
|
|
452
|
-
"gpt-5.6-terra",
|
|
453
|
-
"gpt-5.6-sol",
|
|
454
|
-
])
|
|
455
|
-
.default("claude-opus-5")
|
|
456
|
-
.describe("AI model used to generate the ontology. More capable models (claude-opus-5, claude-fable-5, gpt-5.6-terra) produce richer, more accurate ontologies; the -mini and -lite variants are faster and cheaper. Default: claude-opus-5."),
|
|
467
|
+
.enum(AI_MODELS)
|
|
468
|
+
.default(DEFAULT_GRAPH_MODEL)
|
|
469
|
+
.describe("AI model used to generate the ontology. More capable models (claude-opus-5-5, claude-fable-5-1, gpt-6.1-terra) produce richer, more accurate ontologies; the -mini and -lite variants are faster and cheaper. Default: claude-opus-5-5."),
|
|
457
470
|
saveGraph: z
|
|
458
471
|
.boolean()
|
|
459
472
|
.default(true)
|
|
@@ -493,24 +506,9 @@ export const AnalyzeLlmResultsSchema = z.object({
|
|
|
493
506
|
.optional()
|
|
494
507
|
.describe(`Name of the ${brand.name} graph to save the LLM overview to. Only used when saveGraph is true. If omitted, a name is auto-generated from the prompt. Note: saving to a name that already exists appends the new statements to that graph rather than replacing it.`),
|
|
495
508
|
modelToUse: z
|
|
496
|
-
.enum(
|
|
497
|
-
|
|
498
|
-
"claude-
|
|
499
|
-
"claude-fable-5",
|
|
500
|
-
"gemini-2.5-pro",
|
|
501
|
-
"gemini-2.5-flash",
|
|
502
|
-
"gemini-2.5-flash-lite",
|
|
503
|
-
"grok-4.1-fast-non-reasoning",
|
|
504
|
-
"grok-4.1-fast-reasoning",
|
|
505
|
-
"gpt-4o",
|
|
506
|
-
"gpt-4o-mini",
|
|
507
|
-
"gpt-5.4",
|
|
508
|
-
"gpt-5.4-mini",
|
|
509
|
-
"gpt-5.6-terra",
|
|
510
|
-
"gpt-5.6-sol",
|
|
511
|
-
])
|
|
512
|
-
.default("claude-opus-5")
|
|
513
|
-
.describe("AI model whose view of the topic is being analyzed. Pick the model the user is curious about — different models surface different framings. Default: claude-opus-5."),
|
|
509
|
+
.enum(AI_MODELS)
|
|
510
|
+
.default(DEFAULT_GRAPH_MODEL)
|
|
511
|
+
.describe("AI model whose view of the topic is being analyzed. Pick the model the user is curious about — different models surface different framings. Default: claude-opus-5-5."),
|
|
514
512
|
modifyAnalyzedText: z
|
|
515
513
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
516
514
|
.default("none")
|
|
@@ -602,24 +600,9 @@ export const GenerateResearchQuestionsSchemaBase = z.object({
|
|
|
602
600
|
.default(false)
|
|
603
601
|
.describe("Include graph summary string in the response to provide additional information about the text knowledge graph structure"),
|
|
604
602
|
modelToUse: z
|
|
605
|
-
.enum(
|
|
606
|
-
|
|
607
|
-
"
|
|
608
|
-
"claude-fable-5",
|
|
609
|
-
"gemini-2.5-pro",
|
|
610
|
-
"gemini-2.5-flash",
|
|
611
|
-
"gemini-2.5-flash-lite",
|
|
612
|
-
"grok-4.1-fast-non-reasoning",
|
|
613
|
-
"grok-4.1-fast-reasoning",
|
|
614
|
-
"gpt-4o",
|
|
615
|
-
"gpt-4o-mini",
|
|
616
|
-
"gpt-5.4",
|
|
617
|
-
"gpt-5.4-mini",
|
|
618
|
-
"gpt-5.6-terra",
|
|
619
|
-
"gpt-5.6-sol",
|
|
620
|
-
])
|
|
621
|
-
.default("gpt-5.4")
|
|
622
|
-
.describe("AI model to use for generating research questions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
603
|
+
.enum(AI_MODELS)
|
|
604
|
+
.default(DEFAULT_AI_MODEL)
|
|
605
|
+
.describe("AI model to use for generating research questions. Default: gpt-6.1-terra."),
|
|
623
606
|
});
|
|
624
607
|
export const GenerateResearchQuestionsSchema = GenerateResearchQuestionsSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
625
608
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -669,24 +652,9 @@ export const GenerateResearchIdeasSchemaBase = z.object({
|
|
|
669
652
|
.default(false)
|
|
670
653
|
.describe("Include graph summary string in the response to provide additional information about the text knowledge graph structure"),
|
|
671
654
|
modelToUse: z
|
|
672
|
-
.enum(
|
|
673
|
-
|
|
674
|
-
"
|
|
675
|
-
"claude-fable-5",
|
|
676
|
-
"gemini-2.5-pro",
|
|
677
|
-
"gemini-2.5-flash",
|
|
678
|
-
"gemini-2.5-flash-lite",
|
|
679
|
-
"grok-4.1-fast-non-reasoning",
|
|
680
|
-
"grok-4.1-fast-reasoning",
|
|
681
|
-
"gpt-4o",
|
|
682
|
-
"gpt-4o-mini",
|
|
683
|
-
"gpt-5.4",
|
|
684
|
-
"gpt-5.4-mini",
|
|
685
|
-
"gpt-5.6-terra",
|
|
686
|
-
"gpt-5.6-sol",
|
|
687
|
-
])
|
|
688
|
-
.default("gpt-5.4")
|
|
689
|
-
.describe("AI model to use for generating research questions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
655
|
+
.enum(AI_MODELS)
|
|
656
|
+
.default(DEFAULT_AI_MODEL)
|
|
657
|
+
.describe("AI model to use for generating research questions. Default: gpt-6.1-terra."),
|
|
690
658
|
});
|
|
691
659
|
export const GenerateResearchIdeasSchema = GenerateResearchIdeasSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
692
660
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -716,24 +684,9 @@ export const OptimizeTextStructureSchemaBase = z.object({
|
|
|
716
684
|
.default("response")
|
|
717
685
|
.describe("Type of response to generate: 'response' — generates a response based on the gaps identified; 'idea' — generate a business idea that bridges the gap; 'question' — generate questions that focus on this context; 'transcend' — generate responses that go beyond the text and relate to a broader discourse."),
|
|
718
686
|
modelToUse: z
|
|
719
|
-
.enum(
|
|
720
|
-
|
|
721
|
-
"
|
|
722
|
-
"claude-fable-5",
|
|
723
|
-
"gemini-2.5-pro",
|
|
724
|
-
"gemini-2.5-flash",
|
|
725
|
-
"gemini-2.5-flash-lite",
|
|
726
|
-
"grok-4.1-fast-non-reasoning",
|
|
727
|
-
"grok-4.1-fast-reasoning",
|
|
728
|
-
"gpt-4o",
|
|
729
|
-
"gpt-4o-mini",
|
|
730
|
-
"gpt-5.4",
|
|
731
|
-
"gpt-5.4-mini",
|
|
732
|
-
"gpt-5.6-terra",
|
|
733
|
-
"gpt-5.6-sol",
|
|
734
|
-
])
|
|
735
|
-
.default("gpt-5.4")
|
|
736
|
-
.describe("AI model to use for generating optimization suggestions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
687
|
+
.enum(AI_MODELS)
|
|
688
|
+
.default(DEFAULT_AI_MODEL)
|
|
689
|
+
.describe("AI model to use for generating optimization suggestions. Default: gpt-6.1-terra."),
|
|
737
690
|
});
|
|
738
691
|
export const OptimizeTextStructureSchema = OptimizeTextStructureSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
739
692
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -749,24 +702,9 @@ export const OptimizeReasoningSchemaBase = z.object({
|
|
|
749
702
|
categoriesAsNodes: categoriesAsNodesField,
|
|
750
703
|
timestamps: timestampsField,
|
|
751
704
|
modelToUse: z
|
|
752
|
-
.enum(
|
|
753
|
-
|
|
754
|
-
"
|
|
755
|
-
"claude-fable-5",
|
|
756
|
-
"gemini-2.5-pro",
|
|
757
|
-
"gemini-2.5-flash",
|
|
758
|
-
"gemini-2.5-flash-lite",
|
|
759
|
-
"grok-4.1-fast-non-reasoning",
|
|
760
|
-
"grok-4.1-fast-reasoning",
|
|
761
|
-
"gpt-4o",
|
|
762
|
-
"gpt-4o-mini",
|
|
763
|
-
"gpt-5.4",
|
|
764
|
-
"gpt-5.4-mini",
|
|
765
|
-
"gpt-5.6-terra",
|
|
766
|
-
"gpt-5.6-sol",
|
|
767
|
-
])
|
|
768
|
-
.default("gpt-5.4")
|
|
769
|
-
.describe("AI model to use for generating the reasoning-optimization suggestions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
705
|
+
.enum(AI_MODELS)
|
|
706
|
+
.default(DEFAULT_AI_MODEL)
|
|
707
|
+
.describe("AI model to use for generating the reasoning-optimization suggestions. Default: gpt-6.1-terra."),
|
|
770
708
|
});
|
|
771
709
|
export const OptimizeReasoningSchema = OptimizeReasoningSchemaBase;
|
|
772
710
|
export const DevelopLatentConceptsSchemaBase = z.object({
|
|
@@ -793,24 +731,9 @@ export const DevelopLatentConceptsSchemaBase = z.object({
|
|
|
793
731
|
.default("transcend")
|
|
794
732
|
.describe("Request mode: 'question' — generate questions that focus on this context; 'transcend' — generate responses that transcend and go beyond the content of the text and relate to a broader discourse."),
|
|
795
733
|
modelToUse: z
|
|
796
|
-
.enum(
|
|
797
|
-
|
|
798
|
-
"
|
|
799
|
-
"claude-fable-5",
|
|
800
|
-
"gemini-2.5-pro",
|
|
801
|
-
"gemini-2.5-flash",
|
|
802
|
-
"gemini-2.5-flash-lite",
|
|
803
|
-
"grok-4.1-fast-non-reasoning",
|
|
804
|
-
"grok-4.1-fast-reasoning",
|
|
805
|
-
"gpt-4o",
|
|
806
|
-
"gpt-4o-mini",
|
|
807
|
-
"gpt-5.4",
|
|
808
|
-
"gpt-5.4-mini",
|
|
809
|
-
"gpt-5.6-terra",
|
|
810
|
-
"gpt-5.6-sol",
|
|
811
|
-
])
|
|
812
|
-
.default("gpt-5.4")
|
|
813
|
-
.describe("AI model to use for generating research questions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
734
|
+
.enum(AI_MODELS)
|
|
735
|
+
.default(DEFAULT_AI_MODEL)
|
|
736
|
+
.describe("AI model to use for generating research questions. Default: gpt-6.1-terra."),
|
|
814
737
|
});
|
|
815
738
|
export const DevelopLatentConceptsSchema = DevelopLatentConceptsSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
816
739
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -887,6 +810,38 @@ export const GetNodeNeighborhoodSchema = z.object({
|
|
|
887
810
|
.default(true)
|
|
888
811
|
.describe("Include the statements on those links (with their categories and hop distance)"),
|
|
889
812
|
});
|
|
813
|
+
export const GetGraphAroundTermSchema = z.object({
|
|
814
|
+
terms: z
|
|
815
|
+
.union([z.string().min(1), z.array(z.string().min(1)).min(1).max(5)])
|
|
816
|
+
.describe("The term to look up — a word, a [[concept]] or an entity name, with or without [[ ]] — or several terms (at most 5): the statements that contain all of them (matchAll, the default) or any of them."),
|
|
817
|
+
matchAll: z
|
|
818
|
+
.boolean()
|
|
819
|
+
.default(true)
|
|
820
|
+
.describe("With several terms: true (default) takes only the statements that contain all of them — their shared context; false takes the statements that contain any of them — their contexts merged into one graph."),
|
|
821
|
+
graphNames: z
|
|
822
|
+
.array(z.string().min(1))
|
|
823
|
+
.default([])
|
|
824
|
+
.describe(`Which ${brand.name} graphs to search: one name for one graph, several names for those graphs, empty (the default) for every graph in the account.`),
|
|
825
|
+
removeTerms: z
|
|
826
|
+
.boolean()
|
|
827
|
+
.default(true)
|
|
828
|
+
.describe("Leave the terms out of the graph (default), so the clusters and gaps describe the context around them rather than the terms themselves. false keeps them in, to see what they bridge."),
|
|
829
|
+
includeGraph: z
|
|
830
|
+
.boolean()
|
|
831
|
+
.default(true)
|
|
832
|
+
.describe("Include the compact graph (nodes with their betweenness, weighted edges) next to the statistics; the statistics and the summary come either way."),
|
|
833
|
+
includeStatements: z
|
|
834
|
+
.boolean()
|
|
835
|
+
.default(false)
|
|
836
|
+
.describe("Include the statements that were found, each with the graph it came from and its cluster."),
|
|
837
|
+
maxNodes: z
|
|
838
|
+
.number()
|
|
839
|
+
.int()
|
|
840
|
+
.min(10)
|
|
841
|
+
.max(2000)
|
|
842
|
+
.default(150)
|
|
843
|
+
.describe("How many of the most important nodes the graph keeps."),
|
|
844
|
+
});
|
|
890
845
|
export const GenerateResponsesFromGraphSchemaBase = z.object({
|
|
891
846
|
graphName: z
|
|
892
847
|
.string()
|
|
@@ -915,24 +870,9 @@ export const GenerateResponsesFromGraphSchemaBase = z.object({
|
|
|
915
870
|
.min(1, "Prompt is required")
|
|
916
871
|
.describe("Prompt to generate responses to from the graph"),
|
|
917
872
|
modelToUse: z
|
|
918
|
-
.enum(
|
|
919
|
-
|
|
920
|
-
"
|
|
921
|
-
"claude-fable-5",
|
|
922
|
-
"gemini-2.5-pro",
|
|
923
|
-
"gemini-2.5-flash",
|
|
924
|
-
"gemini-2.5-flash-lite",
|
|
925
|
-
"grok-4.1-fast-non-reasoning",
|
|
926
|
-
"grok-4.1-fast-reasoning",
|
|
927
|
-
"gpt-4o",
|
|
928
|
-
"gpt-4o-mini",
|
|
929
|
-
"gpt-5.4",
|
|
930
|
-
"gpt-5.4-mini",
|
|
931
|
-
"gpt-5.6-terra",
|
|
932
|
-
"gpt-5.6-sol",
|
|
933
|
-
])
|
|
934
|
-
.default("gpt-5.4")
|
|
935
|
-
.describe("AI model to use for generating research questions: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
873
|
+
.enum(AI_MODELS)
|
|
874
|
+
.default(DEFAULT_AI_MODEL)
|
|
875
|
+
.describe("AI model to use for generating research questions. Default: gpt-6.1-terra."),
|
|
936
876
|
});
|
|
937
877
|
export const GenerateResponsesFromGraphSchema = GenerateResponsesFromGraphSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
938
878
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -976,7 +916,7 @@ export const GenerateGeneralGraphSchema = z.object({
|
|
|
976
916
|
modifyAnalyzedText: z
|
|
977
917
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
978
918
|
.default("none")
|
|
979
|
-
.describe(
|
|
919
|
+
.describe(entityDetectionDescription),
|
|
980
920
|
});
|
|
981
921
|
/** Shared context item: one of { text }, { statements }, { url }, or { graphName }. Used by overlap and difference tools. */
|
|
982
922
|
const contextItemTextUrlOrGraphSchema = z.union([
|
|
@@ -1029,7 +969,7 @@ const GenerateOverlapGraphFromTextsSchemaBase = z.object({
|
|
|
1029
969
|
modifyAnalyzedText: z
|
|
1030
970
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
1031
971
|
.default("none")
|
|
1032
|
-
.describe(
|
|
972
|
+
.describe(entityDetectionDescription),
|
|
1033
973
|
includeStatements: z
|
|
1034
974
|
.boolean()
|
|
1035
975
|
.default(false)
|
|
@@ -1055,7 +995,7 @@ const GenerateDifferenceGraphFromTextsSchemaBase = z.object({
|
|
|
1055
995
|
modifyAnalyzedText: z
|
|
1056
996
|
.enum(["none", "detectEntities", "extractEntitiesOnly"])
|
|
1057
997
|
.default("none")
|
|
1058
|
-
.describe(
|
|
998
|
+
.describe(entityDetectionDescription),
|
|
1059
999
|
includeStatements: z
|
|
1060
1000
|
.boolean()
|
|
1061
1001
|
.default(false)
|
|
@@ -1508,24 +1448,9 @@ export const DevelopTextToolSchemaBase = z.object({
|
|
|
1508
1448
|
.default(false)
|
|
1509
1449
|
.describe("Shall we transcend and go beyond this text to relate to a broader discourse? If false, the focus is on this text only."),
|
|
1510
1450
|
modelToUse: z
|
|
1511
|
-
.enum(
|
|
1512
|
-
|
|
1513
|
-
"
|
|
1514
|
-
"claude-fable-5",
|
|
1515
|
-
"gemini-2.5-pro",
|
|
1516
|
-
"gemini-2.5-flash",
|
|
1517
|
-
"gemini-2.5-flash-lite",
|
|
1518
|
-
"grok-4.1-fast-non-reasoning",
|
|
1519
|
-
"grok-4.1-fast-reasoning",
|
|
1520
|
-
"gpt-4o",
|
|
1521
|
-
"gpt-4o-mini",
|
|
1522
|
-
"gpt-5.4",
|
|
1523
|
-
"gpt-5.4-mini",
|
|
1524
|
-
"gpt-5.6-terra",
|
|
1525
|
-
"gpt-5.6-sol",
|
|
1526
|
-
])
|
|
1527
|
-
.default("gpt-5.4")
|
|
1528
|
-
.describe("AI model to use for generating insights: claude-opus-5, claude-sonnet-5, claude-fable-5, 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, gpt-5.6-terra, gpt-5.6-sol"),
|
|
1451
|
+
.enum(AI_MODELS)
|
|
1452
|
+
.default(DEFAULT_AI_MODEL)
|
|
1453
|
+
.describe("AI model to use for generating insights. Default: gpt-6.1-terra."),
|
|
1529
1454
|
});
|
|
1530
1455
|
export const DevelopTextToolSchema = DevelopTextToolSchemaBase.refine((data) => (data.text !== undefined && data.text.trim().length > 0) ||
|
|
1531
1456
|
(data.url !== undefined && data.url.length > 0) ||
|
|
@@ -1716,23 +1641,8 @@ export const OptimizeKnowledgeBaseSchema = z.object({
|
|
|
1716
1641
|
.default(true)
|
|
1717
1642
|
.describe("Also run the latent-topics pass (one extra AI call) to list under-developed areas with ideas on how to develop them. Default true."),
|
|
1718
1643
|
modelToUse: z
|
|
1719
|
-
.enum(
|
|
1720
|
-
|
|
1721
|
-
"claude-sonnet-5",
|
|
1722
|
-
"claude-fable-5",
|
|
1723
|
-
"gemini-2.5-pro",
|
|
1724
|
-
"gemini-2.5-flash",
|
|
1725
|
-
"gemini-2.5-flash-lite",
|
|
1726
|
-
"grok-4.1-fast-non-reasoning",
|
|
1727
|
-
"grok-4.1-fast-reasoning",
|
|
1728
|
-
"gpt-4o",
|
|
1729
|
-
"gpt-4o-mini",
|
|
1730
|
-
"gpt-5.4",
|
|
1731
|
-
"gpt-5.4-mini",
|
|
1732
|
-
"gpt-5.6-terra",
|
|
1733
|
-
"gpt-5.6-sol",
|
|
1734
|
-
])
|
|
1735
|
-
.default("gpt-5.4")
|
|
1644
|
+
.enum(AI_MODELS)
|
|
1645
|
+
.default(DEFAULT_AI_MODEL)
|
|
1736
1646
|
.describe("AI model for the development suggestions and latent-topic ideas."),
|
|
1737
1647
|
});
|
|
1738
1648
|
// ---------------------------------------------------------------------------
|