keywordgraph-mcp-server 1.7.4 → 1.8.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 +57 -4
- package/dist/api/client.d.ts +3 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -1
- package/dist/api/client.js.map +1 -1
- package/dist/api/config-store.d.ts +11 -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/config/brand.d.ts.map +1 -1
- package/dist/config/brand.js +11 -0
- package/dist/config/brand.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -6
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +9 -2
- package/dist/instructions.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +32 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/about.d.ts.map +1 -1
- package/dist/resources/about.js +9 -1
- package/dist/resources/about.js.map +1 -1
- package/dist/schemas/index.d.ts +353 -63
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +407 -31
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/addProjectLearnings.d.ts +30 -0
- package/dist/tools/addProjectLearnings.d.ts.map +1 -0
- package/dist/tools/addProjectLearnings.js +197 -0
- package/dist/tools/addProjectLearnings.js.map +1 -0
- package/dist/tools/analyzeLlmResults.d.ts +1 -1
- package/dist/tools/analyzeLlmResults.d.ts.map +1 -1
- package/dist/tools/analyzeLlmResults.js +5 -2
- package/dist/tools/analyzeLlmResults.js.map +1 -1
- package/dist/tools/deleteGraph.d.ts +43 -0
- package/dist/tools/deleteGraph.d.ts.map +1 -0
- package/dist/tools/deleteGraph.js +145 -0
- package/dist/tools/deleteGraph.js.map +1 -0
- package/dist/tools/deleteStatements.d.ts +106 -0
- package/dist/tools/deleteStatements.d.ts.map +1 -0
- package/dist/tools/deleteStatements.js +288 -0
- package/dist/tools/deleteStatements.js.map +1 -0
- package/dist/tools/developConceptualBridges.d.ts +1 -1
- package/dist/tools/developLatentTopics.d.ts +1 -1
- package/dist/tools/developTextTool.d.ts +1 -1
- package/dist/tools/enableProjectLearnings.d.ts +27 -0
- package/dist/tools/enableProjectLearnings.d.ts.map +1 -0
- package/dist/tools/enableProjectLearnings.js +68 -0
- package/dist/tools/enableProjectLearnings.js.map +1 -0
- package/dist/tools/generateOntologyGraph.d.ts +10 -3
- package/dist/tools/generateOntologyGraph.d.ts.map +1 -1
- package/dist/tools/generateOntologyGraph.js +142 -34
- package/dist/tools/generateOntologyGraph.js.map +1 -1
- package/dist/tools/generateResearchIdeas.d.ts +1 -1
- package/dist/tools/generateResearchQuestions.d.ts +1 -1
- package/dist/tools/generateResponses.d.ts +1 -1
- package/dist/tools/getProjectLearnings.d.ts +30 -0
- package/dist/tools/getProjectLearnings.d.ts.map +1 -0
- package/dist/tools/getProjectLearnings.js +151 -0
- package/dist/tools/getProjectLearnings.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/optimizeKnowledgeBase.d.ts +40 -0
- package/dist/tools/optimizeKnowledgeBase.d.ts.map +1 -0
- package/dist/tools/optimizeKnowledgeBase.js +230 -0
- package/dist/tools/optimizeKnowledgeBase.js.map +1 -0
- package/dist/tools/optimizeReasoning.d.ts +1 -1
- package/dist/tools/optimizeTextStructure.d.ts +1 -1
- package/dist/tools/submitWorkflowFeedback.d.ts +35 -0
- package/dist/tools/submitWorkflowFeedback.d.ts.map +1 -0
- package/dist/tools/submitWorkflowFeedback.js +62 -0
- package/dist/tools/submitWorkflowFeedback.js.map +1 -0
- package/dist/tools/updateStatements.d.ts +134 -0
- package/dist/tools/updateStatements.d.ts.map +1 -0
- package/dist/tools/updateStatements.js +378 -0
- package/dist/tools/updateStatements.js.map +1 -0
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/callTracking.d.ts +29 -0
- package/dist/utils/callTracking.d.ts.map +1 -0
- package/dist/utils/callTracking.js +88 -0
- package/dist/utils/callTracking.js.map +1 -0
- package/dist/utils/feedback.d.ts +63 -0
- package/dist/utils/feedback.d.ts.map +1 -0
- package/dist/utils/feedback.js +115 -0
- package/dist/utils/feedback.js.map +1 -0
- package/dist/utils/graphInput.d.ts +1 -0
- package/dist/utils/graphInput.d.ts.map +1 -1
- package/dist/utils/graphInput.js +1 -1
- package/dist/utils/graphInput.js.map +1 -1
- package/dist/utils/graphLookup.d.ts +29 -0
- package/dist/utils/graphLookup.d.ts.map +1 -0
- package/dist/utils/graphLookup.js +57 -0
- package/dist/utils/graphLookup.js.map +1 -0
- package/dist/utils/knowledgeBase.d.ts +21 -0
- package/dist/utils/knowledgeBase.d.ts.map +1 -0
- package/dist/utils/knowledgeBase.js +110 -0
- package/dist/utils/knowledgeBase.js.map +1 -0
- package/dist/utils/learnings.d.ts +119 -0
- package/dist/utils/learnings.d.ts.map +1 -0
- package/dist/utils/learnings.js +337 -0
- package/dist/utils/learnings.js.map +1 -0
- package/llms-full.infranodus.txt +39 -1
- package/llms-full.txt +39 -1
- package/llms.infranodus.txt +2 -0
- package/llms.txt +2 -0
- package/package.json +3 -2
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { brand } from "../config/brand.js";
|
|
2
|
+
import { EnableProjectLearningsSchema } from "../schemas/index.js";
|
|
3
|
+
import { checkEnabled, createLearningsGraph, learningsGraphName, slugify, } from "../utils/learnings.js";
|
|
4
|
+
function textResult(payload, isError = false) {
|
|
5
|
+
return {
|
|
6
|
+
content: [
|
|
7
|
+
{ type: "text", text: JSON.stringify(payload, null, 2) },
|
|
8
|
+
],
|
|
9
|
+
...(isError ? { isError: true } : {}),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export const enableProjectLearningsTool = {
|
|
13
|
+
name: "enable_project_learnings",
|
|
14
|
+
definition: {
|
|
15
|
+
title: `Enable Project Learnings in ${brand.name}`,
|
|
16
|
+
description: `Create the per-project learnings graph (learn-<slug>) in the user's ${brand.name} account so that add_project_learnings can save what you learn about operating in this project. ` +
|
|
17
|
+
`Call this ONLY when the user has explicitly asked to start saving learnings for a project — never on your own initiative. ` +
|
|
18
|
+
`Before calling, tell the user in one or two sentences: what will be stored (knowledge about the project — where things live, traps, conventions, decisions, workflows — never anything about them personally, never secrets), where (a private, append-only graph in their ${brand.name} account that they can delete at any time), and that each batch of learnings will be shown to them before it is saved unless they say otherwise. ` +
|
|
19
|
+
`Idempotent: calling it again for an already enabled project just returns the graph.`,
|
|
20
|
+
inputSchema: EnableProjectLearningsSchema.shape,
|
|
21
|
+
annotations: {
|
|
22
|
+
readOnlyHint: false,
|
|
23
|
+
idempotentHint: true,
|
|
24
|
+
destructiveHint: false,
|
|
25
|
+
openWorldHint: false,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
handler: async (params, extra) => {
|
|
29
|
+
try {
|
|
30
|
+
const graphName = learningsGraphName(params.project);
|
|
31
|
+
const slug = slugify(params.project) || "project";
|
|
32
|
+
const state = await checkEnabled(graphName);
|
|
33
|
+
if (state.enabled) {
|
|
34
|
+
return textResult({
|
|
35
|
+
enabled: true,
|
|
36
|
+
alreadyEnabled: true,
|
|
37
|
+
project: params.project,
|
|
38
|
+
graphName,
|
|
39
|
+
...(state.info.url ? { url: state.info.url } : {}),
|
|
40
|
+
...(state.info.createdAt ? { since: state.info.createdAt } : {}),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (state.reason === "not-a-learnings-graph") {
|
|
44
|
+
return textResult({
|
|
45
|
+
enabled: false,
|
|
46
|
+
graphName,
|
|
47
|
+
message: `A graph named ${graphName} already exists but was not created by enable_project_learnings, so it will not be modified. Ask the user for a different project name.`,
|
|
48
|
+
}, false);
|
|
49
|
+
}
|
|
50
|
+
const created = await createLearningsGraph({
|
|
51
|
+
graphName,
|
|
52
|
+
slug,
|
|
53
|
+
clientName: extra?.clientName,
|
|
54
|
+
});
|
|
55
|
+
return textResult({
|
|
56
|
+
enabled: true,
|
|
57
|
+
project: params.project,
|
|
58
|
+
graphName: created.graphName ?? graphName,
|
|
59
|
+
...(created.graphUrl ? { url: created.graphUrl } : {}),
|
|
60
|
+
next: "Learnings for this project can now be proposed with add_project_learnings (dry run first, then confirm: true once the user agrees).",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
return textResult({ error: error instanceof Error ? error.message : String(error) }, true);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=enableProjectLearnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableProjectLearnings.js","sourceRoot":"","sources":["../../src/tools/enableProjectLearnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { GenerateOntologyGraphSchema } from "../schemas/index.js";
|
|
3
|
+
import { ToolHandlerContext } from "../types/index.js";
|
|
4
|
+
/** Split on line boundaries so no statement is cut in half. */
|
|
5
|
+
export declare function chunkByLines(text: string, chunkSize: number): string[];
|
|
3
6
|
export declare const generateOntologyGraphTool: {
|
|
4
7
|
name: string;
|
|
5
8
|
definition: {
|
|
6
9
|
title: string;
|
|
7
10
|
description: string;
|
|
8
11
|
inputSchema: {
|
|
9
|
-
prompt: z.ZodString
|
|
12
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
13
|
+
text: z.ZodOptional<z.ZodString>;
|
|
14
|
+
sourceGraphName: z.ZodOptional<z.ZodString>;
|
|
15
|
+
ontologyMode: z.ZodDefault<z.ZodEnum<["general", "codebase", "procedural"]>>;
|
|
16
|
+
chunkSize: z.ZodDefault<z.ZodNumber>;
|
|
10
17
|
graphName: z.ZodOptional<z.ZodString>;
|
|
11
|
-
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-
|
|
18
|
+
modelToUse: z.ZodDefault<z.ZodEnum<["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"]>>;
|
|
12
19
|
saveGraph: z.ZodDefault<z.ZodBoolean>;
|
|
13
20
|
includeGraph: z.ZodDefault<z.ZodBoolean>;
|
|
14
21
|
fullGraph: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -22,7 +29,7 @@ export declare const generateOntologyGraphTool: {
|
|
|
22
29
|
destructiveHint: boolean;
|
|
23
30
|
};
|
|
24
31
|
};
|
|
25
|
-
handler: (params: z.infer<typeof GenerateOntologyGraphSchema
|
|
32
|
+
handler: (params: z.infer<typeof GenerateOntologyGraphSchema>, context?: ToolHandlerContext) => Promise<{
|
|
26
33
|
content: {
|
|
27
34
|
type: "text";
|
|
28
35
|
text: string;
|
|
@@ -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;
|
|
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;AAQlE,OAAO,EAAuB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5E,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAetE;AAsED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;sBAa5B,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,YACzC,kBAAkB;;;;;;;;;;;;CAiQ7B,CAAC"}
|
|
@@ -3,6 +3,56 @@ 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
5
|
import { extractLineSeparatedStatements, transformToStructuredOutput, } from "../utils/transformers.js";
|
|
6
|
+
import { ProgressReporter } from "../utils/progress.js";
|
|
7
|
+
/** Split on line boundaries so no statement is cut in half. */
|
|
8
|
+
export function chunkByLines(text, chunkSize) {
|
|
9
|
+
const chunks = [];
|
|
10
|
+
let current = [];
|
|
11
|
+
let size = 0;
|
|
12
|
+
for (const line of text.split("\n")) {
|
|
13
|
+
if (size + line.length + 1 > chunkSize && current.length > 0) {
|
|
14
|
+
chunks.push(current.join("\n"));
|
|
15
|
+
current = [];
|
|
16
|
+
size = 0;
|
|
17
|
+
}
|
|
18
|
+
current.push(line);
|
|
19
|
+
size += line.length + 1;
|
|
20
|
+
}
|
|
21
|
+
if (current.length > 0)
|
|
22
|
+
chunks.push(current.join("\n"));
|
|
23
|
+
return chunks.filter((chunk) => chunk.trim().length > 0);
|
|
24
|
+
}
|
|
25
|
+
const PREAMBLES = {
|
|
26
|
+
general: "Extract an ontology from the text below: the entities it contains and the relations between them, covering the whole text, not only its main theme.",
|
|
27
|
+
codebase: "The text below is a structure map of a software project (directories, files, imports and dependencies, exported symbols, docstring headlines) or its documentation. Extract an ontology of its ARCHITECTURE. Entities: modules and files (keep paths exactly as written), functions and classes, data stores, external services and packages, configuration, and the domain concepts they implement. Relations: prefer [dependentOn] for imports and dependencies, [partOf] for containment, [isA] for kinds of components, [hasAttribute] for exposed symbols and configuration, [relatedTo] / [derivedFrom] for the concepts a module implements. Connect the modules to the concepts, not only to each other.",
|
|
28
|
+
procedural: "The text below is content from a project — its documentation, notes, source code, or a structure map of files, imports and exports. Write the digest of how this project works.",
|
|
29
|
+
};
|
|
30
|
+
/** Read an existing graph's statements (doNotSave; a missing name errors). */
|
|
31
|
+
async function readGraphStatements(graphName) {
|
|
32
|
+
const query = new URLSearchParams({
|
|
33
|
+
doNotSave: "true",
|
|
34
|
+
addStats: "false",
|
|
35
|
+
includeStatements: "true",
|
|
36
|
+
includeGraphSummary: "false",
|
|
37
|
+
extendedGraphSummary: "false",
|
|
38
|
+
includeGraph: "false",
|
|
39
|
+
compactGraph: "true",
|
|
40
|
+
compactStatements: "true",
|
|
41
|
+
aiTopics: "false",
|
|
42
|
+
});
|
|
43
|
+
const response = await makeInfraNodusRequest(`/graphAndStatements?${query}`, {
|
|
44
|
+
name: graphName,
|
|
45
|
+
aiTopics: "false",
|
|
46
|
+
});
|
|
47
|
+
if (response.error) {
|
|
48
|
+
throw new Error(typeof response.error === "object"
|
|
49
|
+
? JSON.stringify(response.error)
|
|
50
|
+
: String(response.error));
|
|
51
|
+
}
|
|
52
|
+
return (response.statements ?? [])
|
|
53
|
+
.map((statement) => statement.content)
|
|
54
|
+
.filter((content) => typeof content === "string" && content.trim().length > 0);
|
|
55
|
+
}
|
|
6
56
|
function errorContent(message) {
|
|
7
57
|
return {
|
|
8
58
|
content: [
|
|
@@ -32,8 +82,8 @@ function defaultOntologyName(prompt) {
|
|
|
32
82
|
export const generateOntologyGraphTool = {
|
|
33
83
|
name: "generate_ontology_graph",
|
|
34
84
|
definition: {
|
|
35
|
-
title: "Generate an AI Ontology Graph from a Topic or
|
|
36
|
-
description: `Use AI to generate a reasoning ontology knowledge graph (entities and the relations between them)
|
|
85
|
+
title: "Generate an AI Ontology Graph from a Topic, Text, or Existing Graph",
|
|
86
|
+
description: `Use AI to generate a reasoning ontology knowledge graph (entities and the relations between them) and optionally save it as a ${brand.name} graph. Three sources, provide exactly one: prompt (a topic — one AI call), text (a long document or a structural digest of a project, chunked server-side), or sourceGraphName (an existing graph — e.g. a fully ingested repo, vault, or corpus — whose statements are read back, chunked, and condensed into an ontology). Set ontologyMode: 'codebase' for software projects, or 'procedural' to write a DIGEST of how the project works (prose statements with [[wikilinks]], not relation triples) from an already-uploaded graph — save it as <repo|vault>-<project>-digest for optimize_knowledge_base. Use to get a rich overview, a reasoning map of a topic, or a condensed 'how it fits together' graph of a large corpus.`,
|
|
37
87
|
inputSchema: GenerateOntologyGraphSchema.shape,
|
|
38
88
|
annotations: {
|
|
39
89
|
readOnlyHint: false,
|
|
@@ -41,7 +91,7 @@ export const generateOntologyGraphTool = {
|
|
|
41
91
|
destructiveHint: false,
|
|
42
92
|
},
|
|
43
93
|
},
|
|
44
|
-
handler: async (params) => {
|
|
94
|
+
handler: async (params, context) => {
|
|
45
95
|
try {
|
|
46
96
|
const saveGraph = params.saveGraph !== false;
|
|
47
97
|
const fullGraph = params.fullGraph === true;
|
|
@@ -51,35 +101,80 @@ export const generateOntologyGraphTool = {
|
|
|
51
101
|
const includeGraph = params.includeGraph === true || fullGraph;
|
|
52
102
|
const includeAnalytics = params.includeAnalytics !== false;
|
|
53
103
|
const includeStatements = params.includeStatements !== false;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
104
|
+
// Exactly one source: a topic prompt (one AI call), a long text
|
|
105
|
+
// (chunked), or an existing graph's statements (read back, chunked).
|
|
106
|
+
const prompt = params.prompt?.trim();
|
|
107
|
+
const text = params.text?.trim();
|
|
108
|
+
const sourceGraphName = params.sourceGraphName?.trim();
|
|
109
|
+
const provided = [prompt, text, sourceGraphName].filter(Boolean).length;
|
|
110
|
+
if (provided !== 1) {
|
|
111
|
+
return errorContent("Provide exactly one of: prompt (a topic), text (a document or digest to extract from), or sourceGraphName (an existing graph to condense).");
|
|
112
|
+
}
|
|
113
|
+
const mode = params.ontologyMode ?? "general";
|
|
114
|
+
let source;
|
|
115
|
+
let chunks;
|
|
116
|
+
if (prompt) {
|
|
117
|
+
source = "prompt";
|
|
118
|
+
chunks = [prompt];
|
|
119
|
+
}
|
|
120
|
+
else if (text) {
|
|
121
|
+
source = "text";
|
|
122
|
+
chunks = chunkByLines(text, params.chunkSize ?? 12000);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
source = "graph";
|
|
126
|
+
const statements = await readGraphStatements(sourceGraphName);
|
|
127
|
+
if (statements.length === 0) {
|
|
128
|
+
return errorContent(`Graph "${sourceGraphName}" has no statements to build an ontology from.`);
|
|
129
|
+
}
|
|
130
|
+
chunks = chunkByLines(statements.join("\n"), params.chunkSize ?? 12000);
|
|
131
|
+
}
|
|
132
|
+
const graphName = params.graphName?.trim() ||
|
|
133
|
+
defaultOntologyName(prompt ?? sourceGraphName ?? text.slice(0, 60));
|
|
134
|
+
// One AI call per chunk; with saveGraph every call appends to the same
|
|
135
|
+
// graph. Raw statements come back only when NOT saving — saving
|
|
136
|
+
// returns a redirect — so both are collected across chunks.
|
|
137
|
+
const progress = new ProgressReporter(context ?? {}, chunks.length);
|
|
138
|
+
const rawOntologyStatements = [];
|
|
139
|
+
let response = null;
|
|
140
|
+
let chunksProcessed = 0;
|
|
141
|
+
for (const [index, chunk] of chunks.entries()) {
|
|
142
|
+
await progress.report(index, `${mode === "procedural" ? "Writing digest" : "Generating ontology"}: chunk ${index + 1} of ${chunks.length}`);
|
|
143
|
+
const content = source === "prompt"
|
|
144
|
+
? chunk
|
|
145
|
+
: `${PREAMBLES[mode]}${chunks.length > 1 ? ` (part ${index + 1} of ${chunks.length})` : ""}\n\n${chunk}`;
|
|
146
|
+
const requestBody = {
|
|
147
|
+
saveToGraphAndRedirect: saveGraph,
|
|
148
|
+
contextName: graphName,
|
|
149
|
+
// 'digest' is the app's prose-statements prompt (principles,
|
|
150
|
+
// procedures, hand-offs with [[wikilinks]]); the two ontology
|
|
151
|
+
// modes use its [[entity]] [relation] [[entity]] prompt.
|
|
152
|
+
aiQueryType: mode === "procedural" ? "digest" : "ontology graph",
|
|
153
|
+
mode: "gptchat",
|
|
154
|
+
modelToUse: params.modelToUse ?? "claude-opus-5",
|
|
155
|
+
prompt: [{ role: "user", content }],
|
|
156
|
+
modifyAnalyzedText: "none",
|
|
157
|
+
// A digest is an ordinary statements graph, not an ontology context.
|
|
158
|
+
...(mode === "procedural" ? {} : { contextType: "ONTOLOGY" }),
|
|
159
|
+
replaceEntities: false,
|
|
160
|
+
hideSearchTerms: true,
|
|
161
|
+
};
|
|
162
|
+
const chunkResponse = await makeInfraNodusRequest("/aiAdvice", requestBody);
|
|
163
|
+
// The /aiAdvice endpoint returns error envelopes with HTTP 200, so
|
|
164
|
+
// the request does not throw — check response.error explicitly.
|
|
165
|
+
if (chunkResponse.error) {
|
|
166
|
+
const message = typeof chunkResponse.error === "object"
|
|
167
|
+
? JSON.stringify(chunkResponse.error)
|
|
168
|
+
: String(chunkResponse.error);
|
|
169
|
+
return errorContent(chunksProcessed > 0
|
|
170
|
+
? `Chunk ${index + 1} of ${chunks.length} failed after ${chunksProcessed} chunk(s) were ${saveGraph ? `saved to "${graphName}"` : "generated"}: ${message}. Resend the remaining part of the source with the same graphName to continue.`
|
|
171
|
+
: message);
|
|
172
|
+
}
|
|
173
|
+
response = chunkResponse;
|
|
174
|
+
chunksProcessed += 1;
|
|
175
|
+
rawOntologyStatements.push(...extractLineSeparatedStatements(chunkResponse));
|
|
74
176
|
}
|
|
75
|
-
|
|
76
|
-
// saving — saving returns a redirect instead. Each completion is a
|
|
77
|
-
// newline-separated list of entity-relation statements, split the same
|
|
78
|
-
// way the host app does (convertGPTResponsesToArray). The graph builder
|
|
79
|
-
// (/graphAndStatements) returns the statements in their final,
|
|
80
|
-
// post-processing shape, so those are preferred for ontologyStatements
|
|
81
|
-
// whenever the graph is built; these raw ones are the fallback.
|
|
82
|
-
const rawOntologyStatements = extractLineSeparatedStatements(response);
|
|
177
|
+
await progress.report(chunks.length, "Ontology generated");
|
|
83
178
|
let output;
|
|
84
179
|
if (saveGraph) {
|
|
85
180
|
const redirectUrl = response.redirectUrl;
|
|
@@ -87,18 +182,31 @@ export const generateOntologyGraphTool = {
|
|
|
87
182
|
return errorContent(`The ontology was generated but no graph link was returned, so it may not have been saved. Check that your ${brand.name} API key is valid (an anonymous/demo key does not persist graphs).`);
|
|
88
183
|
}
|
|
89
184
|
const base = appBaseUrl();
|
|
90
|
-
// redirectUrl looks like /<userName>/<contextName>/edit
|
|
185
|
+
// redirectUrl looks like /<userName>/<contextName>/edit — the
|
|
186
|
+
// owner's editor. graphUrl keeps it, like every other tool that
|
|
187
|
+
// saves a graph (a link without /edit opens the read-only view,
|
|
188
|
+
// which is what agents were recording when this tool stripped it).
|
|
189
|
+
// viewUrl is the shareable read-only page.
|
|
91
190
|
const viewUrl = redirectUrl.replace(/\/edit\/?$/, "");
|
|
92
191
|
output = {
|
|
192
|
+
source,
|
|
193
|
+
chunksTotal: chunks.length,
|
|
194
|
+
chunksProcessed,
|
|
93
195
|
saved: true,
|
|
94
196
|
graphName,
|
|
95
|
-
graphUrl: `${base}${
|
|
197
|
+
graphUrl: `${base}${redirectUrl}`,
|
|
96
198
|
editUrl: `${base}${redirectUrl}`,
|
|
97
|
-
|
|
199
|
+
viewUrl: `${base}${viewUrl}`,
|
|
200
|
+
message: chunks.length > 1
|
|
201
|
+
? `Ontology graph "${graphName}" generated from ${chunks.length} chunks and saved.`
|
|
202
|
+
: `Ontology graph "${graphName}" generated and saved.`,
|
|
98
203
|
};
|
|
99
204
|
}
|
|
100
205
|
else {
|
|
101
206
|
output = {
|
|
207
|
+
source,
|
|
208
|
+
chunksTotal: chunks.length,
|
|
209
|
+
chunksProcessed,
|
|
102
210
|
saved: false,
|
|
103
211
|
message: rawOntologyStatements.length > 0
|
|
104
212
|
? `Ontology generated (not saved): ${rawOntologyStatements.length} statement(s) returned. Use saveGraph: true to persist it as a ${brand.name} graph.`
|
|
@@ -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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"}
|
|
@@ -18,7 +18,7 @@ export declare const generateResearchIdeasTool: {
|
|
|
18
18
|
shouldTranscend: z.ZodDefault<z.ZodBoolean>;
|
|
19
19
|
responseType: z.ZodDefault<z.ZodEnum<["response", "idea"]>>;
|
|
20
20
|
includeGraphSummary: z.ZodDefault<z.ZodBoolean>;
|
|
21
|
-
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-
|
|
21
|
+
modelToUse: z.ZodDefault<z.ZodEnum<["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"]>>;
|
|
22
22
|
};
|
|
23
23
|
annotations: {
|
|
24
24
|
readOnlyHint: boolean;
|
|
@@ -16,7 +16,7 @@ export declare const generateResearchQuestionsTool: {
|
|
|
16
16
|
useSeveralGaps: z.ZodDefault<z.ZodBoolean>;
|
|
17
17
|
gapDepth: z.ZodDefault<z.ZodNumber>;
|
|
18
18
|
includeGraphSummary: z.ZodDefault<z.ZodBoolean>;
|
|
19
|
-
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-
|
|
19
|
+
modelToUse: z.ZodDefault<z.ZodEnum<["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"]>>;
|
|
20
20
|
};
|
|
21
21
|
annotations: {
|
|
22
22
|
readOnlyHint: boolean;
|
|
@@ -14,7 +14,7 @@ export declare const generateResponsesFromGraphTool: {
|
|
|
14
14
|
categories: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">>;
|
|
15
15
|
timestamps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
16
16
|
prompt: z.ZodString;
|
|
17
|
-
modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-
|
|
17
|
+
modelToUse: z.ZodDefault<z.ZodEnum<["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"]>>;
|
|
18
18
|
};
|
|
19
19
|
annotations: {
|
|
20
20
|
readOnlyHint: boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { GetProjectLearningsSchema } from "../schemas/index.js";
|
|
3
|
+
export declare const getProjectLearningsTool: {
|
|
4
|
+
name: string;
|
|
5
|
+
definition: {
|
|
6
|
+
title: string;
|
|
7
|
+
description: string;
|
|
8
|
+
inputSchema: {
|
|
9
|
+
project: z.ZodOptional<z.ZodString>;
|
|
10
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
11
|
+
entity: z.ZodOptional<z.ZodString>;
|
|
12
|
+
type: z.ZodOptional<z.ZodEnum<["location", "trap", "convention", "decision", "workflow", "question", "approach"]>>;
|
|
13
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
14
|
+
};
|
|
15
|
+
annotations: {
|
|
16
|
+
readOnlyHint: boolean;
|
|
17
|
+
idempotentHint: boolean;
|
|
18
|
+
destructiveHint: boolean;
|
|
19
|
+
openWorldHint: boolean;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
handler: (params: z.infer<typeof GetProjectLearningsSchema>) => Promise<{
|
|
23
|
+
isError?: boolean | undefined;
|
|
24
|
+
content: {
|
|
25
|
+
type: "text";
|
|
26
|
+
text: string;
|
|
27
|
+
}[];
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=getProjectLearnings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectLearnings.d.ts","sourceRoot":"","sources":["../../src/tools/getProjectLearnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAqChE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;sBAgBX,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC;;;;;;;CAgIjE,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { brand } from "../config/brand.js";
|
|
2
|
+
import { GetProjectLearningsSchema } from "../schemas/index.js";
|
|
3
|
+
import { makeInfraNodusRequest } from "../api/client.js";
|
|
4
|
+
import { GRAPH_PREFIX, checkEnabled, fetchLearningsGraph, isMarkerStatement, learningsGraphName, newestFirst, toStoredLearning, } from "../utils/learnings.js";
|
|
5
|
+
function textResult(payload, isError = false) {
|
|
6
|
+
return {
|
|
7
|
+
content: [
|
|
8
|
+
{ type: "text", text: JSON.stringify(payload, null, 2) },
|
|
9
|
+
],
|
|
10
|
+
...(isError ? { isError: true } : {}),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function toLearnings(statements, limit, type) {
|
|
14
|
+
return newestFirst(statements
|
|
15
|
+
.filter((statement) => !isMarkerStatement(statement))
|
|
16
|
+
.map(toStoredLearning)
|
|
17
|
+
.filter((item) => item !== null)
|
|
18
|
+
.filter((item) => !type || item.types.includes(type))).slice(0, limit);
|
|
19
|
+
}
|
|
20
|
+
export const getProjectLearningsTool = {
|
|
21
|
+
name: "get_project_learnings",
|
|
22
|
+
definition: {
|
|
23
|
+
title: `Get Project Learnings from ${brand.name}`,
|
|
24
|
+
description: `Retrieve what previous sessions learned about operating in a project (saved with add_project_learnings). ` +
|
|
25
|
+
`Call it at the start of a substantive task with the task as \`prompt\` to get the most relevant learnings plus an overview of what is known; with \`entity\` (a file path, module, or concept) before working on an unfamiliar area; with neither for a structural overview; or with no \`project\` to list the projects that have learnings in this account. ` +
|
|
26
|
+
`Returns enabled: false with an empty list when the project has no learnings graph — that is not an error, just carry on; do not suggest enabling unless the user asks about memory.`,
|
|
27
|
+
inputSchema: GetProjectLearningsSchema.shape,
|
|
28
|
+
annotations: {
|
|
29
|
+
readOnlyHint: true,
|
|
30
|
+
idempotentHint: true,
|
|
31
|
+
destructiveHint: false,
|
|
32
|
+
openWorldHint: false,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
handler: async (params) => {
|
|
36
|
+
try {
|
|
37
|
+
// No project → list the learnings graphs in the account.
|
|
38
|
+
if (!params.project) {
|
|
39
|
+
const response = (await makeInfraNodusRequest("/listGraphs", {
|
|
40
|
+
query: GRAPH_PREFIX,
|
|
41
|
+
}));
|
|
42
|
+
const graphs = Array.isArray(response)
|
|
43
|
+
? response
|
|
44
|
+
.filter((graph) => graph.contextName?.startsWith(GRAPH_PREFIX))
|
|
45
|
+
.map((graph) => ({
|
|
46
|
+
graphName: graph.contextName,
|
|
47
|
+
project: graph.contextName?.slice(GRAPH_PREFIX.length),
|
|
48
|
+
createdAt: graph.createdAt,
|
|
49
|
+
...(graph.defaultRevisionUrl ? { url: graph.defaultRevisionUrl } : {}),
|
|
50
|
+
}))
|
|
51
|
+
: [];
|
|
52
|
+
return textResult({
|
|
53
|
+
projects: graphs,
|
|
54
|
+
message: graphs.length === 0
|
|
55
|
+
? "No project learnings graphs in this account."
|
|
56
|
+
: "Use the matching project name (not the graphName) in add_project_learnings / get_project_learnings.",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const graphName = learningsGraphName(params.project);
|
|
60
|
+
const state = await checkEnabled(graphName);
|
|
61
|
+
if (!state.enabled) {
|
|
62
|
+
return textResult({
|
|
63
|
+
enabled: false,
|
|
64
|
+
project: params.project,
|
|
65
|
+
graphName,
|
|
66
|
+
learnings: [],
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
// Entity lookup → every learning mentioning it.
|
|
70
|
+
if (params.entity) {
|
|
71
|
+
const response = await makeInfraNodusRequest("/search", {
|
|
72
|
+
query: params.entity,
|
|
73
|
+
contextNames: graphName,
|
|
74
|
+
});
|
|
75
|
+
if (response.error)
|
|
76
|
+
throw new Error(response.error);
|
|
77
|
+
const texts = response
|
|
78
|
+
.entriesAdded?.texts ?? [];
|
|
79
|
+
return textResult({
|
|
80
|
+
enabled: true,
|
|
81
|
+
project: params.project,
|
|
82
|
+
graphName,
|
|
83
|
+
entity: params.entity,
|
|
84
|
+
learnings: texts.slice(0, params.limit).map((content) => ({ content })),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// Prompt → GraphRAG retrieval with a structural overview.
|
|
88
|
+
if (params.prompt) {
|
|
89
|
+
const queryParams = new URLSearchParams({
|
|
90
|
+
doNotSave: "true",
|
|
91
|
+
addStats: "true",
|
|
92
|
+
includeGraph: "false",
|
|
93
|
+
includeStatements: "true",
|
|
94
|
+
includeGraphSummary: "true",
|
|
95
|
+
extendedGraphSummary: "true",
|
|
96
|
+
});
|
|
97
|
+
const response = await makeInfraNodusRequest(`/graphAndAdvice?${queryParams.toString()}`, {
|
|
98
|
+
name: graphName,
|
|
99
|
+
aiTopics: "true",
|
|
100
|
+
requestMode: "search",
|
|
101
|
+
prompt: params.prompt,
|
|
102
|
+
modelToUse: "gpt-4o-mini",
|
|
103
|
+
});
|
|
104
|
+
if (response.error)
|
|
105
|
+
throw new Error(response.error);
|
|
106
|
+
const ranked = (response.statements ?? [])
|
|
107
|
+
.filter((statement) => !isMarkerStatement(statement))
|
|
108
|
+
.filter((statement) => !params.type ||
|
|
109
|
+
(statement.categories ?? []).includes(`type-${params.type}`))
|
|
110
|
+
.sort((a, b) => (b.similarityScore ?? 0) - (a.similarityScore ?? 0))
|
|
111
|
+
.slice(0, params.limit)
|
|
112
|
+
.map((statement) => ({
|
|
113
|
+
...toStoredLearning(statement),
|
|
114
|
+
similarity: statement.similarityScore,
|
|
115
|
+
}));
|
|
116
|
+
return textResult({
|
|
117
|
+
enabled: true,
|
|
118
|
+
project: params.project,
|
|
119
|
+
graphName,
|
|
120
|
+
...(response.graphSummary ? { overview: response.graphSummary } : {}),
|
|
121
|
+
...(response.extendedGraphSummary?.mainTopics
|
|
122
|
+
? { knownAreas: response.extendedGraphSummary.mainTopics }
|
|
123
|
+
: {}),
|
|
124
|
+
...(response.extendedGraphSummary?.contentGaps
|
|
125
|
+
? { gaps: response.extendedGraphSummary.contentGaps }
|
|
126
|
+
: {}),
|
|
127
|
+
learnings: ranked,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Neither → overview + newest learnings.
|
|
131
|
+
const { statements, response } = await fetchLearningsGraph(graphName);
|
|
132
|
+
const summary = response.extendedGraphSummary;
|
|
133
|
+
return textResult({
|
|
134
|
+
enabled: true,
|
|
135
|
+
project: params.project,
|
|
136
|
+
graphName,
|
|
137
|
+
...(state.info.url ? { url: state.info.url } : {}),
|
|
138
|
+
total: statements.filter((s) => !isMarkerStatement(s)).length,
|
|
139
|
+
...(params.type ? { type: params.type } : {}),
|
|
140
|
+
...(summary?.mainTopics?.length ? { knownAreas: summary.mainTopics } : {}),
|
|
141
|
+
...(summary?.mainConcepts?.length ? { mainConcepts: summary.mainConcepts } : {}),
|
|
142
|
+
...(summary?.contentGaps?.length ? { gaps: summary.contentGaps } : {}),
|
|
143
|
+
learnings: toLearnings(statements, params.limit, params.type),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
return textResult({ error: error instanceof Error ? error.message : String(error) }, true);
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=getProjectLearnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectLearnings.js","sourceRoot":"","sources":["../../src/tools/getProjectLearnings.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -29,4 +29,12 @@ export { generateResearchIdeasTool } from "./generateResearchIdeas.js";
|
|
|
29
29
|
export { optimizeTextStructureTool } from "./optimizeTextStructure.js";
|
|
30
30
|
export { optimizeReasoningTool } from "./optimizeReasoning.js";
|
|
31
31
|
export { retrieveContextForPromptFromGraphTool } from "./retrieveContextForPromptFromGraph.js";
|
|
32
|
+
export { enableProjectLearningsTool } from "./enableProjectLearnings.js";
|
|
33
|
+
export { addProjectLearningsTool } from "./addProjectLearnings.js";
|
|
34
|
+
export { getProjectLearningsTool } from "./getProjectLearnings.js";
|
|
35
|
+
export { submitWorkflowFeedbackTool } from "./submitWorkflowFeedback.js";
|
|
36
|
+
export { optimizeKnowledgeBaseTool } from "./optimizeKnowledgeBase.js";
|
|
37
|
+
export { deleteStatementsTool } from "./deleteStatements.js";
|
|
38
|
+
export { updateStatementsTool } from "./updateStatements.js";
|
|
39
|
+
export { deleteGraphTool } from "./deleteGraph.js";
|
|
32
40
|
//# sourceMappingURL=index.d.ts.map
|