@clude/sdk 3.3.1 → 3.4.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/README.md +2 -0
- package/README.npm.md +2 -0
- package/dist/cli/index.js +39 -3
- package/dist/mcp/server.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ Clude gives any agent persistent, typed memory with hybrid retrieval (vector + k
|
|
|
14
14
|
|
|
15
15
|
Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible runtime.
|
|
16
16
|
|
|
17
|
+
Need a small footprint? `npm install @clude/sdk --omit=optional` skips the local embedding runtime (~85% smaller install); local mode then uses keyword search and `clude status` tells you so.
|
|
18
|
+
|
|
17
19
|
## Quick start
|
|
18
20
|
|
|
19
21
|
```bash
|
package/README.npm.md
CHANGED
|
@@ -14,6 +14,8 @@ Clude gives any agent persistent, typed memory with hybrid retrieval (vector + k
|
|
|
14
14
|
|
|
15
15
|
Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible runtime.
|
|
16
16
|
|
|
17
|
+
Need a small footprint? `npm install @clude/sdk --omit=optional` skips the local embedding runtime (~85% smaller install); local mode then uses keyword search and `clude status` tells you so.
|
|
18
|
+
|
|
17
19
|
## Quick start
|
|
18
20
|
|
|
19
21
|
```bash
|
package/dist/cli/index.js
CHANGED
|
@@ -3041,9 +3041,45 @@ function printSqliteStatus() {
|
|
|
3041
3041
|
try {
|
|
3042
3042
|
const Database2 = require("better-sqlite3");
|
|
3043
3043
|
const db = new Database2(BRAIN_DB, { readonly: true });
|
|
3044
|
-
const
|
|
3044
|
+
const total = db.prepare("SELECT COUNT(*) AS n FROM memories").get().n;
|
|
3045
|
+
printSuccess(`${total} memories in local SQLite store`);
|
|
3046
|
+
if (total > 0) {
|
|
3047
|
+
const byType = db.prepare(
|
|
3048
|
+
"SELECT memory_type, COUNT(*) AS n FROM memories GROUP BY memory_type ORDER BY n DESC"
|
|
3049
|
+
).all();
|
|
3050
|
+
printInfo(byType.map((r) => `${r.memory_type} ${r.n}`).join(" \xB7 "));
|
|
3051
|
+
const agg = db.prepare(
|
|
3052
|
+
"SELECT AVG(decay_factor) AS decay, AVG(importance) AS imp, SUM(access_count > 1) AS reinforced FROM memories"
|
|
3053
|
+
).get();
|
|
3054
|
+
printInfo(`health: avg decay ${(agg.decay ?? 1).toFixed(2)} \xB7 avg importance ${(agg.imp ?? 0).toFixed(2)} \xB7 ${agg.reinforced ?? 0} reinforced by recall`);
|
|
3055
|
+
let semantic = false;
|
|
3056
|
+
try {
|
|
3057
|
+
require.resolve("@huggingface/transformers");
|
|
3058
|
+
semantic = true;
|
|
3059
|
+
} catch {
|
|
3060
|
+
}
|
|
3061
|
+
if (semantic) {
|
|
3062
|
+
printInfo("search: semantic (local embeddings) + keyword");
|
|
3063
|
+
} else {
|
|
3064
|
+
printWarn("search: keyword-only \u2014 install @huggingface/transformers for offline semantic search");
|
|
3065
|
+
}
|
|
3066
|
+
try {
|
|
3067
|
+
const bonds = db.prepare("SELECT COUNT(*) AS n FROM links").get().n;
|
|
3068
|
+
const queued = db.prepare("SELECT COUNT(*) AS n FROM dream_queue").get().n;
|
|
3069
|
+
if (bonds > 0 || queued > 0) {
|
|
3070
|
+
printInfo(`graph: ${bonds} bonds between memories \xB7 ${queued} dream ops queued`);
|
|
3071
|
+
}
|
|
3072
|
+
} catch {
|
|
3073
|
+
}
|
|
3074
|
+
const top = db.prepare(
|
|
3075
|
+
"SELECT summary, access_count FROM memories WHERE access_count > 1 ORDER BY access_count DESC LIMIT 1"
|
|
3076
|
+
).get();
|
|
3077
|
+
if (top) {
|
|
3078
|
+
const label = top.summary.length > 60 ? top.summary.slice(0, 57) + "..." : top.summary;
|
|
3079
|
+
printInfo(`most reinforced: "${label}" (recalled ${top.access_count}\xD7)`);
|
|
3080
|
+
}
|
|
3081
|
+
}
|
|
3045
3082
|
db.close();
|
|
3046
|
-
printSuccess(`${row.n} memories in local SQLite store`);
|
|
3047
3083
|
} catch {
|
|
3048
3084
|
printSuccess("Local SQLite store ready");
|
|
3049
3085
|
}
|
|
@@ -11245,7 +11281,7 @@ var require_package = __commonJS({
|
|
|
11245
11281
|
"packages/brain/package.json"(exports2, module2) {
|
|
11246
11282
|
module2.exports = {
|
|
11247
11283
|
name: "@clude/brain",
|
|
11248
|
-
version: "3.
|
|
11284
|
+
version: "3.4.0",
|
|
11249
11285
|
private: true,
|
|
11250
11286
|
description: "Clude brain \u2014 memory, dreams, agents, personality, SDK",
|
|
11251
11287
|
main: "dist/index.js",
|
package/dist/mcp/server.js
CHANGED
|
@@ -6001,7 +6001,7 @@ var require_package = __commonJS({
|
|
|
6001
6001
|
"packages/brain/package.json"(exports2, module2) {
|
|
6002
6002
|
module2.exports = {
|
|
6003
6003
|
name: "@clude/brain",
|
|
6004
|
-
version: "3.
|
|
6004
|
+
version: "3.4.0",
|
|
6005
6005
|
private: true,
|
|
6006
6006
|
description: "Clude brain \u2014 memory, dreams, agents, personality, SDK",
|
|
6007
6007
|
main: "dist/index.js",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clude/sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"mcpName": "io.github.sebbsssss/clude",
|
|
5
5
|
"description": "Persistent memory SDK for AI agents — Stanford Generative Agents architecture on Supabase + pgvector",
|
|
6
6
|
"main": "dist/sdk/index.js",
|
|
@@ -79,7 +79,6 @@
|
|
|
79
79
|
"packageManager": "pnpm@10.18.1",
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
82
|
-
"@huggingface/transformers": "^4.1.0",
|
|
83
82
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
84
83
|
"@solana/web3.js": "^1.98.4",
|
|
85
84
|
"@supabase/supabase-js": "^2.95.3",
|
|
@@ -102,6 +101,7 @@
|
|
|
102
101
|
"typescript": "^5.6.0"
|
|
103
102
|
},
|
|
104
103
|
"optionalDependencies": {
|
|
104
|
+
"@huggingface/transformers": "^4.1.0",
|
|
105
105
|
"utf-8-validate": "^5.0.10"
|
|
106
106
|
},
|
|
107
107
|
"types": "./dist/sdk/index.d.ts"
|