@feelingmindful/thinking-graph 1.5.0 → 1.6.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.
- package/dist/engine/graph.js +44 -0
- package/dist/tools/think.js +8 -0
- package/package.json +2 -2
package/dist/engine/graph.js
CHANGED
|
@@ -241,6 +241,50 @@ export class ThinkingGraph {
|
|
|
241
241
|
if (stats.principleViolations > 0) {
|
|
242
242
|
lines.push(`## Principle Violations: ${stats.principleViolations}`);
|
|
243
243
|
}
|
|
244
|
+
// Session utilization — show which tool capabilities were exercised
|
|
245
|
+
const nodeTypes = stats.nodesByType;
|
|
246
|
+
const edgeTypes = stats.edgesByType;
|
|
247
|
+
const totalEdges = stats.totalEdges;
|
|
248
|
+
// Count user-created nodes (exclude pre-seeded principles and skill_result)
|
|
249
|
+
const thinkUsed = (nodeTypes.thought ?? 0) + (nodeTypes.decision ?? 0) +
|
|
250
|
+
(nodeTypes.assumption ?? 0) + (nodeTypes.detection ?? 0) +
|
|
251
|
+
(nodeTypes.tech_debt ?? 0) + (nodeTypes.code_fact ?? 0) > 0;
|
|
252
|
+
const relateUsed = totalEdges > 0;
|
|
253
|
+
const learnUsed = (nodeTypes.insight ?? 0) + (nodeTypes.pattern ?? 0) > 0;
|
|
254
|
+
const researchUsed = (nodeTypes.research ?? 0) > 0;
|
|
255
|
+
const tools = [
|
|
256
|
+
{ name: 'think', used: thinkUsed, purpose: 'record reasoning steps' },
|
|
257
|
+
{ name: 'relate', used: relateUsed, purpose: 'connect nodes with typed edges' },
|
|
258
|
+
{ name: 'recall', used: null, purpose: 'query prior knowledge (not trackable)' },
|
|
259
|
+
{ name: 'learn', used: learnUsed, purpose: 'persist insights cross-project' },
|
|
260
|
+
{ name: 'research', used: researchUsed, purpose: 'web research via Perplexity/Firecrawl' },
|
|
261
|
+
];
|
|
262
|
+
lines.push('', '## Tool Utilization');
|
|
263
|
+
for (const t of tools) {
|
|
264
|
+
if (t.used === null) {
|
|
265
|
+
lines.push(`- ${t.name}: ~ (${t.purpose})`);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
lines.push(`- ${t.name}: ${t.used ? '✓' : '✗ unused'} (${t.purpose})`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Flag underutilization
|
|
272
|
+
const warnings = [];
|
|
273
|
+
if (thinkUsed && !relateUsed) {
|
|
274
|
+
warnings.push('Thoughts are unconnected — use `relate` to link dependencies, contradictions, and supporting evidence');
|
|
275
|
+
}
|
|
276
|
+
if (thinkUsed && !learnUsed) {
|
|
277
|
+
warnings.push('No insights persisted — use `learn` to save conclusions that should carry to future sessions');
|
|
278
|
+
}
|
|
279
|
+
if ((nodeTypes.assumption ?? 0) > 0 && !researchUsed) {
|
|
280
|
+
warnings.push('Assumptions recorded but not verified — use `research` to fact-check before building on them');
|
|
281
|
+
}
|
|
282
|
+
if (warnings.length > 0) {
|
|
283
|
+
lines.push('', '## Underutilization Warnings');
|
|
284
|
+
for (const w of warnings) {
|
|
285
|
+
lines.push(`- ⚠ ${w}`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
244
288
|
return lines.join('\n');
|
|
245
289
|
}
|
|
246
290
|
// ─── Seeding ──────────────────────────────────────────
|
package/dist/tools/think.js
CHANGED
|
@@ -72,6 +72,14 @@ function buildSuggestions(type, thoughtNumber, relatedCount, stats) {
|
|
|
72
72
|
example: { sourceId: '<this nodeId>', targetId: '?<search term>', type: 'supports' },
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
+
// If the agent is think-only (no relates, early in session), nudge toward the reasoning skill
|
|
76
|
+
if (relatedCount === 0 && thoughtNumber <= 2 && stats.totalEdges === 0 && stats.totalNodes > 1) {
|
|
77
|
+
suggestions.push({
|
|
78
|
+
tool: 'skill',
|
|
79
|
+
when: 'Load the reasoning skill for structured thinking: recall → think → relate → research → decide → learn',
|
|
80
|
+
example: { skill: 'premium-core:reasoning' },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
75
83
|
return suggestions;
|
|
76
84
|
}
|
|
77
85
|
export const thinkSchema = z.object({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feelingmindful/thinking-graph",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Persistent graph-based MCP thinking server for the feeling-mindful plugin marketplace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
17
17
|
"url": "https://github.com/feeling-mindful/feeling-mindful-plugins.git",
|
|
18
|
-
"directory": "
|
|
18
|
+
"directory": "packages/thinking-graph"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public",
|