@bli-cockpit/mcp 0.1.118 → 0.1.121
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/sources-tools.d.ts +1 -1
- package/dist/sources-tools.js +4 -3
- package/package.json +2 -2
package/dist/sources-tools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ToolResult } from "./tool-result.js";
|
|
2
|
-
declare const VERDICTS: readonly ["stored_full", "stored_partial", "not_stored"];
|
|
2
|
+
declare const VERDICTS: readonly ["stored_full", "stored_slim", "stored_partial", "not_stored"];
|
|
3
3
|
export interface CliRunOutcome {
|
|
4
4
|
exitCode: number | null;
|
|
5
5
|
stdout: string;
|
package/dist/sources-tools.js
CHANGED
|
@@ -26,12 +26,12 @@ import { dataResult, errorResult, registrarFor } from "./tool-result.js";
|
|
|
26
26
|
const CHECK_TIMEOUT_MS = 15 * 60 * 1000;
|
|
27
27
|
const DEFAULT_FILE_LIMIT = 50;
|
|
28
28
|
const MAX_FILE_LIMIT = 500;
|
|
29
|
-
const VERDICTS = ["stored_full", "stored_partial", "not_stored"];
|
|
29
|
+
const VERDICTS = ["stored_full", "stored_slim", "stored_partial", "not_stored"];
|
|
30
30
|
export function registerSourcesTools(server, deps = {}) {
|
|
31
31
|
const runCli = deps.runCli ?? runInstalledCockpit;
|
|
32
32
|
registrarFor(server)("sources_check", {
|
|
33
33
|
title: "Check which local transcripts Tower holds",
|
|
34
|
-
description: "For every Codex and Claude transcript on THIS machine: does Tower hold it (stored_full, stored_partial, not_stored), with the reason, counts and bytes. Read-only. Call it before deleting any agent transcript to free disk: only a stored_full file is held by Tower in full. Tower never deletes these files, and this server has no tool that does. older_than_days limits the check to files not modified in that many days. The answer names files only when verdict is given or include_files is true (paths, newest verdict first, up to limit). Redacting large stores can take minutes.",
|
|
34
|
+
description: "For every Codex and Claude transcript on THIS machine: does Tower hold it (stored_full, stored_slim, stored_partial, not_stored), with the reason, counts and bytes. Read-only. Call it before deleting any agent transcript to free disk: only a stored_full file is held by Tower in full. A stored_slim file is held only in its slim form (images described and dropped), so the local file holds the only copy of the image bytes: KEEP it, never delete it. Tower never deletes these files, and this server has no tool that does. older_than_days limits the check to files not modified in that many days. The answer names files only when verdict is given or include_files is true (paths, newest verdict first, up to limit). Redacting large stores can take minutes.",
|
|
35
35
|
inputSchema: {
|
|
36
36
|
older_than_days: z.number().int().min(1).max(36_500).optional().describe("Only files not modified in this many days. Default: every transcript."),
|
|
37
37
|
verdict: z.enum(VERDICTS).optional().describe("List only files with this verdict (implies include_files)."),
|
|
@@ -76,11 +76,12 @@ export async function sourcesCheck(runCli, args) {
|
|
|
76
76
|
};
|
|
77
77
|
const mb = (bytes) => ((bytes ?? 0) / (1024 * 1024)).toFixed(1);
|
|
78
78
|
const headline = `stored in full ${counts.stored_full?.files ?? 0} (${mb(counts.stored_full?.bytes)} MB), ` +
|
|
79
|
+
`${(counts.stored_slim?.files ?? 0) > 0 ? `stored slim ${counts.stored_slim?.files} (${mb(counts.stored_slim?.bytes)} MB, KEEP these), ` : ""}` +
|
|
79
80
|
`stored in part ${counts.stored_partial?.files ?? 0} (${mb(counts.stored_partial?.bytes)} MB), ` +
|
|
80
81
|
`not stored ${counts.not_stored?.files ?? 0} (${mb(counts.not_stored?.bytes)} MB)` +
|
|
81
82
|
`${report.status === "incomplete" ? `; INCOMPLETE (${String(report.reason)}), not stored may be understated` : ""}.` +
|
|
82
83
|
`${listFiles && matching.length > files.length ? ` Listing ${files.length} of ${matching.length}; pass a larger limit (up to ${MAX_FILE_LIMIT}).` : ""}` +
|
|
83
|
-
" Tower never deletes these files; only a stored_full file is held in full.";
|
|
84
|
+
" Tower never deletes these files; only a stored_full file is held in full, and a stored_slim file must be kept.";
|
|
84
85
|
return dataResult(headline, structured);
|
|
85
86
|
}
|
|
86
87
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bli-cockpit/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.121",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "bli-tower: an MCP server over BLI Cockpit's agent doors: JARVIS (jarvis_*), documents (docs_*), channels (msg_*), issues (work_*), the daily page (brief_*), meeting notes (notes_*), the ops board (ops_status/slack_*), settings/team/model, Scout and the workbook, plus the legacy event-stream tools (emit_event, get_ticket_timeline, get_active_tickets).",
|
|
6
6
|
"type": "module",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"readme": "npm run build && node scripts/write-readme-census.mjs"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@bli-cockpit/telemetry-core": "0.1.
|
|
40
|
+
"@bli-cockpit/telemetry-core": "0.1.75",
|
|
41
41
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
42
42
|
"zod": "^4.3.6"
|
|
43
43
|
},
|