@papyruslabsai/seshat-mcp 0.16.4 → 0.16.7
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/index.js +10 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -99,6 +99,12 @@ Metrics:
|
|
|
99
99
|
|
|
100
100
|
All tools are read-only and safe to call speculatively — there is no cost to trying them.
|
|
101
101
|
|
|
102
|
+
TEMPORAL ANALYSIS — Any tool accepts an optional temporal parameter: { temporal: { last_n: N } }. This runs the tool across the N most recent snapshots and returns a trend — timeseries of scalar metrics plus entity-level diffs (what appeared/disappeared). Requires at least 2 snapshots (call sync_project after commits to build history). Example:
|
|
103
|
+
get_coupling_metrics({ project: "myapp", temporal: { last_n: 5 } })
|
|
104
|
+
→ shows coupling trend over last 5 syncs
|
|
105
|
+
find_dead_code({ project: "myapp", temporal: { last_n: 3 } })
|
|
106
|
+
→ shows whether dead code is accumulating or being cleaned up
|
|
107
|
+
|
|
102
108
|
get_blast_radius and get_optimal_context are designed to be called iteratively. Start with any entity, then feed discovered entities back in to expand your understanding. Each round reveals new structure that informs where to look next. When answering "what does this system do?" questions, a few rounds of blast_radius → get_entity → blast_radius on the newly discovered symbols will build a complete picture faster than reading files.`;
|
|
103
109
|
// ─── Private Tools (Ptah IP — never exposed publicly) ────────────
|
|
104
110
|
// These tools are reserved for the Ptah write layer. They exist in
|
|
@@ -110,6 +116,7 @@ const PRIVATE_TOOLS = new Set([
|
|
|
110
116
|
'diff_bundle',
|
|
111
117
|
'conflict_matrix',
|
|
112
118
|
'query_data_targets',
|
|
119
|
+
'trace_boundaries', // Hidden until response shaping is refined
|
|
113
120
|
]);
|
|
114
121
|
// ─── Shared Definitions ──────────────────────────────────────────
|
|
115
122
|
const projectParam = {
|
|
@@ -285,7 +292,7 @@ const TOOLS = [
|
|
|
285
292
|
{
|
|
286
293
|
name: 'find_dead_code',
|
|
287
294
|
title: 'Find Dead Code',
|
|
288
|
-
description: 'Find functions that nothing calls. Walks the call graph from all entry points (routes, exports, tests) and flags symbols that are unreachable. Use this during cleanup or before a release to find safe deletion candidates.
|
|
295
|
+
description: 'Find functions that nothing calls. Walks the call graph from all entry points (routes, exports, tests) and flags symbols that are unreachable. Use this during cleanup or before a release to find safe deletion candidates.',
|
|
289
296
|
inputSchema: {
|
|
290
297
|
type: 'object',
|
|
291
298
|
properties: {
|
|
@@ -566,7 +573,7 @@ function getCloudUrl(path) {
|
|
|
566
573
|
async function main() {
|
|
567
574
|
const server = new Server({
|
|
568
575
|
name: 'seshat',
|
|
569
|
-
version: '0.16.
|
|
576
|
+
version: '0.16.6',
|
|
570
577
|
}, {
|
|
571
578
|
capabilities: { tools: {} },
|
|
572
579
|
instructions: SERVER_INSTRUCTIONS,
|
|
@@ -837,7 +844,7 @@ async function main() {
|
|
|
837
844
|
});
|
|
838
845
|
const transport = new StdioServerTransport();
|
|
839
846
|
await server.connect(transport);
|
|
840
|
-
process.stderr.write(`Seshat MCP v0.16.
|
|
847
|
+
process.stderr.write(`Seshat MCP v0.16.6 connected. Structural intelligence ready.\n`);
|
|
841
848
|
}
|
|
842
849
|
main().catch((err) => {
|
|
843
850
|
process.stderr.write(`Fatal: ${err.message}\n`);
|
package/package.json
CHANGED