context-mode 1.0.32 → 1.0.33
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.
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Claude Code plugins by Mert Koseoğlu",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.33"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "context-mode",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "Claude Code MCP plugin that saves 98% of your context window. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and intent-driven search.",
|
|
16
|
-
"version": "1.0.
|
|
16
|
+
"version": "1.0.33",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Mert Koseoğlu"
|
|
19
19
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "context-mode",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"description": "MCP server that saves 98% of your context window with session continuity. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and automatic state restore across compactions.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Mert Koseoğlu",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "Context Mode",
|
|
4
4
|
"kind": "tool",
|
|
5
5
|
"description": "OpenClaw plugin that saves 98% of your context window. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and intent-driven search.",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.33",
|
|
7
7
|
"sandbox": {
|
|
8
8
|
"mode": "permissive",
|
|
9
9
|
"filesystem_access": "full",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "context-mode",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"description": "OpenClaw plugin that saves 98% of your context window. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and intent-driven search.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Mert Koseoğlu",
|
package/build/server.js
CHANGED
|
@@ -115,6 +115,8 @@ const sessionStats = {
|
|
|
115
115
|
bytesReturned: {},
|
|
116
116
|
bytesIndexed: 0,
|
|
117
117
|
bytesSandboxed: 0, // network I/O consumed inside sandbox (never enters context)
|
|
118
|
+
cacheHits: 0,
|
|
119
|
+
cacheBytesSaved: 0, // bytes avoided by TTL cache hits
|
|
118
120
|
sessionStart: Date.now(),
|
|
119
121
|
};
|
|
120
122
|
function trackResponse(toolName, response) {
|
|
@@ -1025,6 +1027,10 @@ server.registerTool("ctx_fetch_and_index", {
|
|
|
1025
1027
|
const ageHours = Math.floor(ageMs / (60 * 60 * 1000));
|
|
1026
1028
|
const ageMin = Math.floor(ageMs / (60 * 1000));
|
|
1027
1029
|
const ageStr = ageHours > 0 ? `${ageHours}h ago` : ageMin > 0 ? `${ageMin}m ago` : "just now";
|
|
1030
|
+
// Track cache savings — estimate ~1.6KB per chunk (average indexed content size)
|
|
1031
|
+
const estimatedBytes = meta.chunkCount * 1600;
|
|
1032
|
+
sessionStats.cacheHits++;
|
|
1033
|
+
sessionStats.cacheBytesSaved += estimatedBytes;
|
|
1028
1034
|
return trackResponse("ctx_fetch_and_index", {
|
|
1029
1035
|
content: [{
|
|
1030
1036
|
type: "text",
|
|
@@ -1366,6 +1372,17 @@ server.registerTool("ctx_stats", {
|
|
|
1366
1372
|
if (keptOut > 0) {
|
|
1367
1373
|
lines.push("", `Without context-mode, **${kb(totalProcessed)}** of raw output would flood your context window. Instead, **${reductionPct}%** stayed in sandbox.`);
|
|
1368
1374
|
}
|
|
1375
|
+
// Cache savings section
|
|
1376
|
+
if (sessionStats.cacheHits > 0 || sessionStats.cacheBytesSaved > 0) {
|
|
1377
|
+
const totalWithCache = totalProcessed + sessionStats.cacheBytesSaved;
|
|
1378
|
+
const totalSavingsRatio = totalWithCache / Math.max(totalBytesReturned, 1);
|
|
1379
|
+
const ttlHoursLeft = Math.max(0, 24 - Math.floor((Date.now() - sessionStats.sessionStart) / (60 * 60 * 1000)));
|
|
1380
|
+
lines.push("", `### TTL Cache`, "", `| Metric | Value |`, `|--------|------:|`, `| Cache hits | **${sessionStats.cacheHits}** |`, `| Data avoided by cache | **${kb(sessionStats.cacheBytesSaved)}** |`, `| Network requests saved | **${sessionStats.cacheHits}** |`, `| TTL remaining | **~${ttlHoursLeft}h** |`, "", `Content was already indexed in the knowledge base — ${sessionStats.cacheHits} fetch${sessionStats.cacheHits > 1 ? "es" : ""} skipped entirely. **${kb(sessionStats.cacheBytesSaved)}** of network I/O avoided. Search results served directly from local FTS5 index.`);
|
|
1381
|
+
// Update total savings to include cache
|
|
1382
|
+
if (totalSavingsRatio > savingsRatio) {
|
|
1383
|
+
lines.push("", `**Total context savings (sandbox + cache): ${totalSavingsRatio.toFixed(1)}x** — ${kb(totalWithCache)} processed, only ${kb(totalBytesReturned)} entered context.`);
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1369
1386
|
}
|
|
1370
1387
|
// ── Session Continuity ──
|
|
1371
1388
|
try {
|
package/openclaw.plugin.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "Context Mode",
|
|
4
4
|
"kind": "tool",
|
|
5
5
|
"description": "OpenClaw plugin that saves 98% of your context window. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and intent-driven search.",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.33",
|
|
7
7
|
"sandbox": {
|
|
8
8
|
"mode": "permissive",
|
|
9
9
|
"filesystem_access": "full",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "context-mode",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP plugin that saves 98% of your context window. Works with Claude Code, Gemini CLI, VS Code Copilot, OpenCode, and Codex CLI. Sandboxed code execution, FTS5 knowledge base, and intent-driven search.",
|
|
6
6
|
"author": "Mert Koseoğlu",
|