keywordgraph-mcp-server 1.8.4 → 1.8.5
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 +24 -12
- package/dist/instructions.js +1 -1
- package/dist/schemas/index.d.ts +113 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +28 -3
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/addMemory.d.ts +1 -0
- package/dist/tools/addMemory.d.ts.map +1 -1
- package/dist/tools/analyzeText.d.ts +1 -0
- package/dist/tools/analyzeText.d.ts.map +1 -1
- package/dist/tools/analyzeTextSignature.d.ts +38 -0
- package/dist/tools/analyzeTextSignature.d.ts.map +1 -0
- package/dist/tools/analyzeTextSignature.js +82 -0
- package/dist/tools/analyzeTextSignature.js.map +1 -0
- package/dist/tools/createKnowledgeGraph.d.ts +1 -0
- package/dist/tools/createKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/developConceptualBridges.d.ts +1 -0
- package/dist/tools/developConceptualBridges.d.ts.map +1 -1
- package/dist/tools/developLatentTopics.d.ts +1 -0
- package/dist/tools/developLatentTopics.d.ts.map +1 -1
- package/dist/tools/developTextTool.d.ts +1 -0
- package/dist/tools/developTextTool.d.ts.map +1 -1
- package/dist/tools/generateContentGaps.d.ts +1 -0
- package/dist/tools/generateContentGaps.d.ts.map +1 -1
- package/dist/tools/generateContextualHint.d.ts +1 -0
- package/dist/tools/generateContextualHint.d.ts.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts +1 -0
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.js +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.js.map +1 -1
- package/dist/tools/generateKnowledgeGraph.d.ts +1 -0
- package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/generateMergedGraphFromTexts.d.ts +1 -0
- package/dist/tools/generateMergedGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateMergedGraphFromTexts.js +1 -1
- package/dist/tools/generateMergedGraphFromTexts.js.map +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.d.ts +1 -0
- package/dist/tools/generateOverlapGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.js +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.js.map +1 -1
- package/dist/tools/generateResearchIdeas.d.ts +1 -0
- package/dist/tools/generateResearchIdeas.d.ts.map +1 -1
- package/dist/tools/generateResearchQuestions.d.ts +1 -0
- package/dist/tools/generateResearchQuestions.d.ts.map +1 -1
- package/dist/tools/generateResponses.d.ts +1 -0
- package/dist/tools/generateResponses.d.ts.map +1 -1
- package/dist/tools/generateSEOGraphTool.d.ts +1 -0
- package/dist/tools/generateSEOGraphTool.d.ts.map +1 -1
- package/dist/tools/generateSEOGraphTool.js +1 -1
- package/dist/tools/generateSEOGraphTool.js.map +1 -1
- package/dist/tools/generateTopicalClusters.d.ts +1 -0
- package/dist/tools/generateTopicalClusters.d.ts.map +1 -1
- package/dist/tools/optimizeKnowledgeBase.d.ts +1 -0
- package/dist/tools/optimizeKnowledgeBase.d.ts.map +1 -1
- package/dist/tools/optimizeReasoning.d.ts +1 -0
- package/dist/tools/optimizeReasoning.d.ts.map +1 -1
- package/dist/tools/optimizeTextStructure.d.ts +1 -0
- package/dist/tools/optimizeTextStructure.d.ts.map +1 -1
- package/dist/utils/graphInput.d.ts +5 -1
- package/dist/utils/graphInput.d.ts.map +1 -1
- package/dist/utils/graphInput.js +4 -3
- package/dist/utils/graphInput.js.map +1 -1
- package/dist/utils/learnings.d.ts +4 -2
- package/dist/utils/learnings.d.ts.map +1 -1
- package/dist/utils/learnings.js +4 -2
- package/dist/utils/learnings.js.map +1 -1
- package/dist/utils/textSignature.d.ts +231 -0
- package/dist/utils/textSignature.d.ts.map +1 -0
- package/dist/utils/textSignature.js +738 -0
- package/dist/utils/textSignature.js.map +1 -0
- package/dist/utils/wikilinksMode.d.ts +12 -2
- package/dist/utils/wikilinksMode.d.ts.map +1 -1
- package/dist/utils/wikilinksMode.js +18 -5
- package/dist/utils/wikilinksMode.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text signature: the structural and rhythmic profile of a text, built from
|
|
3
|
+
* the graph statistics the backend already returns (diversity_stats,
|
|
4
|
+
* fractal_variability) plus what this module derives from the raw graph —
|
|
5
|
+
* the amplitude of the text's movement through its own concept network
|
|
6
|
+
* (mean step, burstiness, cluster crossings) and the classic sentence-length
|
|
7
|
+
* rhythm of the source text.
|
|
8
|
+
*
|
|
9
|
+
* Every number gets a one-sentence plain-language reading, the readings are
|
|
10
|
+
* combined into a named signature (structure x rhythm), and a final layer
|
|
11
|
+
* weighs the rhythm evidence into a hedged AI-likeness estimate. The
|
|
12
|
+
* thresholds are provisional: they come from the DFA literature and from the
|
|
13
|
+
* backend's own reading table (infranodus-backend/docs/fractal-variability.md),
|
|
14
|
+
* not from a labelled corpus. Everything is pure so it can be unit-tested.
|
|
15
|
+
*/
|
|
16
|
+
import type { DegreeDistribution, FractalScaling, FractalSeries, FractalVariability } from "../types/index.js";
|
|
17
|
+
export interface RawNode {
|
|
18
|
+
key: string;
|
|
19
|
+
attributes?: {
|
|
20
|
+
x?: number;
|
|
21
|
+
y?: number;
|
|
22
|
+
z?: number;
|
|
23
|
+
community?: number | string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface RawStatement {
|
|
27
|
+
content?: string;
|
|
28
|
+
sortId?: number;
|
|
29
|
+
statementHashtags?: string[];
|
|
30
|
+
topStatementCommunity?: string | number;
|
|
31
|
+
graphCoordinates?: {
|
|
32
|
+
x?: number;
|
|
33
|
+
y?: number;
|
|
34
|
+
z?: number;
|
|
35
|
+
} | null;
|
|
36
|
+
}
|
|
37
|
+
export interface AmplitudeStats {
|
|
38
|
+
/** number of steps in the path */
|
|
39
|
+
n: number;
|
|
40
|
+
/** mean step length in units of the graph radius (RMS node distance from the node centroid) */
|
|
41
|
+
meanStep: number | null;
|
|
42
|
+
medianStep: number | null;
|
|
43
|
+
p95Step: number | null;
|
|
44
|
+
/** coefficient of variation of the step length: the burstiness of the movement */
|
|
45
|
+
cvStep: number | null;
|
|
46
|
+
/** lag-1 autocorrelation of the step length: do big moves follow big moves? */
|
|
47
|
+
lag1Autocorrelation: number | null;
|
|
48
|
+
/** share of steps that land in a different topical cluster */
|
|
49
|
+
crossClusterShare: number | null;
|
|
50
|
+
/** coefficient of variation of the gaps between cluster crossings: ~1 random, <0.7 regular, >1.3 bursty */
|
|
51
|
+
crossClusterRunCV: number | null;
|
|
52
|
+
/** mean distance from the path centroid, in graph-radius units */
|
|
53
|
+
meanRadial: number | null;
|
|
54
|
+
cvRadial: number | null;
|
|
55
|
+
}
|
|
56
|
+
/** Root-mean-square distance of the nodes from their centroid: the scale unit. */
|
|
57
|
+
export declare function graphRadius(nodes: RawNode[]): number | null;
|
|
58
|
+
export interface Amplitude {
|
|
59
|
+
graphRadius: number | null;
|
|
60
|
+
statements: AmplitudeStats | null;
|
|
61
|
+
words: AmplitudeStats | null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Rebuild the statement and word paths the backend ran DFA on (statements at
|
|
65
|
+
* graphCoordinates, words at their node positions in statementHashtags order)
|
|
66
|
+
* and measure their amplitude.
|
|
67
|
+
*/
|
|
68
|
+
export declare function computeAmplitude(nodes: RawNode[], statements: RawStatement[]): Amplitude;
|
|
69
|
+
export interface SentenceRhythm {
|
|
70
|
+
/** sentences counted, from prose-like statements only */
|
|
71
|
+
sentences: number;
|
|
72
|
+
/** statements skipped as fragments (headings, menu items, captions): under PROSE_MIN_WORDS words */
|
|
73
|
+
skippedFragments: number;
|
|
74
|
+
meanLength: number | null;
|
|
75
|
+
/** coefficient of variation of sentence length in words: the classic burstiness */
|
|
76
|
+
cvLength: number | null;
|
|
77
|
+
lag1Autocorrelation: number | null;
|
|
78
|
+
/** share of sentences under 8 words */
|
|
79
|
+
shortShare: number | null;
|
|
80
|
+
/** share of sentences over 30 words */
|
|
81
|
+
longShare: number | null;
|
|
82
|
+
statements: {
|
|
83
|
+
n: number;
|
|
84
|
+
meanLength: number | null;
|
|
85
|
+
cvLength: number | null;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** Split one statement into sentences; joins fragments cut at a known abbreviation. */
|
|
89
|
+
export declare function splitSentences(text: string): string[];
|
|
90
|
+
export declare const PROSE_MIN_WORDS = 12;
|
|
91
|
+
export declare function computeSentenceRhythm(statements: RawStatement[]): SentenceRhythm;
|
|
92
|
+
export type RhythmBand = "alternating" | "random" | "fractal" | "persistent" | "blocks";
|
|
93
|
+
/** The text-specific reading bands of a DFA exponent on the step-length series. */
|
|
94
|
+
export declare function rhythmBand(alpha: number | null | undefined): RhythmBand | null;
|
|
95
|
+
export declare function readStepAlpha(alpha: number | null | undefined): string | null;
|
|
96
|
+
export declare function readRadialAlpha(alpha: number | null | undefined): string | null;
|
|
97
|
+
export declare function readScales(series: FractalScaling | null | undefined): string | null;
|
|
98
|
+
export declare function readMultifractal(series: FractalScaling | null | undefined): string | null;
|
|
99
|
+
export type Confidence = "none" | "indicative" | "usable" | "reliable";
|
|
100
|
+
/** From the backend's minimum-length table. */
|
|
101
|
+
export declare function confidenceFor(n: number | null | undefined): Confidence;
|
|
102
|
+
export interface LevelReadings {
|
|
103
|
+
stepLength: string | null;
|
|
104
|
+
radialDistance: string | null;
|
|
105
|
+
scales: string | null;
|
|
106
|
+
multifractal: string | null;
|
|
107
|
+
confidence: Confidence;
|
|
108
|
+
}
|
|
109
|
+
export declare function readLevel(level: FractalSeries | null | undefined): LevelReadings | null;
|
|
110
|
+
export declare function readSentenceAlpha(alpha: number | null | undefined): string | null;
|
|
111
|
+
export interface SentenceScalingSummary {
|
|
112
|
+
n: number;
|
|
113
|
+
alphaBounded: number;
|
|
114
|
+
alphaLabel: string;
|
|
115
|
+
alpha1: number | null;
|
|
116
|
+
alpha2: number | null;
|
|
117
|
+
multifractalLabel: string | null;
|
|
118
|
+
readings: {
|
|
119
|
+
alpha: string | null;
|
|
120
|
+
scales: string | null;
|
|
121
|
+
multifractal: string | null;
|
|
122
|
+
confidence: Confidence;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/** Summary of the backend's DFA on the sentence-length series (fractal_variability.sentenceLength.byWords). */
|
|
126
|
+
export declare function summariseSentenceScaling(fractal: FractalVariability | null | undefined): SentenceScalingSummary | null;
|
|
127
|
+
export declare function readInfluenceAlpha(alpha: number | null | undefined): string | null;
|
|
128
|
+
export interface InfluenceReadings {
|
|
129
|
+
byBetweennessRank: string | null;
|
|
130
|
+
scales: string | null;
|
|
131
|
+
multifractal: string | null;
|
|
132
|
+
confidence: Confidence;
|
|
133
|
+
}
|
|
134
|
+
export declare function readInfluence(fractal: FractalVariability | null | undefined): InfluenceReadings | null;
|
|
135
|
+
/** Concentration of connectivity in the whole network; a descriptor, never a scale-free verdict. */
|
|
136
|
+
export declare function readDegreeDistribution(distribution: DegreeDistribution | null | undefined): Record<string, string | null> | null;
|
|
137
|
+
export declare function readAmplitude(stats: AmplitudeStats | null): Record<string, string | null> | null;
|
|
138
|
+
export declare function readSentenceRhythm(rhythm: SentenceRhythm): Record<string, string | null>;
|
|
139
|
+
export interface DiversityStats {
|
|
140
|
+
diversity_score?: string;
|
|
141
|
+
modularity_score?: string;
|
|
142
|
+
too_focused_on_top_nodes?: boolean;
|
|
143
|
+
too_focused_on_top_clusters?: boolean;
|
|
144
|
+
ratio_of_top_nodes_influence_by_betweenness?: number;
|
|
145
|
+
top_nodes_entropy?: number;
|
|
146
|
+
ratio_of_top_cluster_influence_by_betweenness?: number;
|
|
147
|
+
total_clusters?: number;
|
|
148
|
+
fair_influence_by_cluster?: number;
|
|
149
|
+
}
|
|
150
|
+
export declare function readStructure(stats: DiversityStats | null | undefined): Record<string, string | null> | null;
|
|
151
|
+
type Structure = "biased" | "focused" | "diversified" | "dispersed";
|
|
152
|
+
type GridRhythm = "alternating" | "random" | "fractal" | "blocks";
|
|
153
|
+
export interface Signature {
|
|
154
|
+
label: string | null;
|
|
155
|
+
structure: Structure | null;
|
|
156
|
+
rhythm: GridRhythm | null;
|
|
157
|
+
/** which fractal level the rhythm was read from */
|
|
158
|
+
rhythmSource: "statements" | "words" | null;
|
|
159
|
+
summary: string | null;
|
|
160
|
+
}
|
|
161
|
+
/** The headline series: statements when long enough, else words (never ngrams). */
|
|
162
|
+
export declare function headlineSeries(fractal: FractalVariability | null | undefined): {
|
|
163
|
+
level: "statements" | "words" | null;
|
|
164
|
+
series: FractalScaling | null;
|
|
165
|
+
};
|
|
166
|
+
export declare function composeSignature(diversity: DiversityStats | null | undefined, fractal: FractalVariability | null | undefined): Signature;
|
|
167
|
+
export interface Evidence {
|
|
168
|
+
signal: string;
|
|
169
|
+
value: number | string;
|
|
170
|
+
/** +1 generated-like ... -1 human-like */
|
|
171
|
+
direction: number;
|
|
172
|
+
weight: number;
|
|
173
|
+
reading: string;
|
|
174
|
+
}
|
|
175
|
+
export interface AiLikeness {
|
|
176
|
+
verdict: "leans generated" | "leans human" | "inconclusive";
|
|
177
|
+
/** -1 (human-like) to +1 (generated-like) */
|
|
178
|
+
score: number | null;
|
|
179
|
+
confidence: "low" | "medium";
|
|
180
|
+
evidence: Evidence[];
|
|
181
|
+
caveats: string[];
|
|
182
|
+
}
|
|
183
|
+
export declare function estimateAiLikeness(input: {
|
|
184
|
+
sentenceRhythm: SentenceRhythm;
|
|
185
|
+
amplitude: Amplitude;
|
|
186
|
+
fractal: FractalVariability | null | undefined;
|
|
187
|
+
}): AiLikeness;
|
|
188
|
+
export interface TextSignatureOutput {
|
|
189
|
+
signature: Signature;
|
|
190
|
+
structure: {
|
|
191
|
+
modularity: number | null;
|
|
192
|
+
diversity_stats: DiversityStats | null;
|
|
193
|
+
/** whole-network degree distribution, histogram trimmed to 40 rows; null on older backends */
|
|
194
|
+
degree_distribution: DegreeDistribution | null;
|
|
195
|
+
readings: Record<string, string | null> | null;
|
|
196
|
+
degreeReadings: Record<string, string | null> | null;
|
|
197
|
+
};
|
|
198
|
+
rhythm: {
|
|
199
|
+
fractal_variability: FractalVariability | null;
|
|
200
|
+
readings: {
|
|
201
|
+
statements: LevelReadings | null;
|
|
202
|
+
words: LevelReadings | null;
|
|
203
|
+
ngrams: LevelReadings | null;
|
|
204
|
+
/** the influence level, read on the betweenness-rank series; null under 64 words or on older backends */
|
|
205
|
+
influence: InfluenceReadings | null;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
amplitude: Amplitude & {
|
|
209
|
+
readings: {
|
|
210
|
+
statements: Record<string, string | null> | null;
|
|
211
|
+
words: Record<string, string | null> | null;
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
sentence_rhythm: SentenceRhythm & {
|
|
215
|
+
readings: Record<string, string | null>;
|
|
216
|
+
/** the backend's DFA on the sentence-length series; null under 64 sentences or on older backends */
|
|
217
|
+
scaling: SentenceScalingSummary | null;
|
|
218
|
+
};
|
|
219
|
+
ai_likeness: AiLikeness;
|
|
220
|
+
notes: string[];
|
|
221
|
+
}
|
|
222
|
+
export declare function buildTextSignature(input: {
|
|
223
|
+
modularity: number | null | undefined;
|
|
224
|
+
diversity: DiversityStats | null | undefined;
|
|
225
|
+
fractal: FractalVariability | null | undefined;
|
|
226
|
+
degreeDistribution?: DegreeDistribution | null;
|
|
227
|
+
nodes: RawNode[];
|
|
228
|
+
statements: RawStatement[];
|
|
229
|
+
}): TextSignatureOutput;
|
|
230
|
+
export {};
|
|
231
|
+
//# sourceMappingURL=textSignature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textSignature.d.ts","sourceRoot":"","sources":["../../src/utils/textSignature.ts"],"names":[],"mappings":"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"}
|