@remem-ai/remem 0.5.97 → 0.5.104
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 +5 -2
- package/package.json +10 -5
- package/scripts/install.js +19 -3
package/README.md
CHANGED
|
@@ -23,5 +23,8 @@ Environment variables:
|
|
|
23
23
|
- `REMEM_NPM_SKIP_DOWNLOAD=1`: skip binary download during npm install
|
|
24
24
|
- `REMEM_NPM_BINARY=/path/to/remem`: run an explicit existing binary
|
|
25
25
|
|
|
26
|
-
See the main project README for Claude Code
|
|
27
|
-
|
|
26
|
+
See the product site and main project README for Claude Code, OpenAI Codex,
|
|
27
|
+
Codex CLI, and MCP setup details:
|
|
28
|
+
|
|
29
|
+
- https://majiayu000.github.io/remem/
|
|
30
|
+
- https://github.com/majiayu000/remem
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remem-ai/remem",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.104",
|
|
4
|
+
"description": "Local-first coding agent memory for Claude Code and OpenAI Codex",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://majiayu000.github.io/remem/",
|
|
7
7
|
"repository": {
|
|
@@ -32,15 +32,20 @@
|
|
|
32
32
|
],
|
|
33
33
|
"keywords": [
|
|
34
34
|
"claude-code",
|
|
35
|
-
"openai-codex",
|
|
36
35
|
"codex",
|
|
36
|
+
"codex-cli",
|
|
37
|
+
"claude-code-memory",
|
|
38
|
+
"codex-memory",
|
|
39
|
+
"openai-codex",
|
|
37
40
|
"memory",
|
|
38
41
|
"agent-memory",
|
|
39
|
-
"coding-
|
|
42
|
+
"coding-agent-memory",
|
|
43
|
+
"persistent-memory",
|
|
40
44
|
"mcp",
|
|
41
45
|
"mcp-server",
|
|
46
|
+
"coding-agent",
|
|
42
47
|
"rust-cli",
|
|
43
|
-
"
|
|
48
|
+
"developer-tools"
|
|
44
49
|
],
|
|
45
50
|
"publishConfig": {
|
|
46
51
|
"access": "public"
|
package/scripts/install.js
CHANGED
|
@@ -94,12 +94,28 @@ function sha256(file) {
|
|
|
94
94
|
return hash.digest("hex");
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
function expectedAssetFile(key) {
|
|
98
|
+
if (!/^(darwin|linux)-(arm64|x64)$/.test(key)) {
|
|
99
|
+
throw new Error(`Unsupported release asset platform key: ${key}`);
|
|
100
|
+
}
|
|
101
|
+
return `remem-${key}.tar.gz`;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function validateAssetFile(file, key) {
|
|
105
|
+
const expected = expectedAssetFile(key);
|
|
106
|
+
if (file !== expected) {
|
|
107
|
+
throw new Error(`Release manifest asset ${key} has unsafe file name: ${file}`);
|
|
108
|
+
}
|
|
109
|
+
return file;
|
|
110
|
+
}
|
|
111
|
+
|
|
97
112
|
function resolveAsset(manifest, version, key) {
|
|
98
113
|
const release = manifest?.versions?.[version];
|
|
99
114
|
const asset = release?.assets?.[key];
|
|
100
115
|
if (!asset || typeof asset.file !== "string") {
|
|
101
116
|
throw new Error(`Release manifest for remem ${version} is missing asset ${key}`);
|
|
102
117
|
}
|
|
118
|
+
const file = validateAssetFile(asset.file, key);
|
|
103
119
|
if (!/^[0-9a-f]{64}$/i.test(asset.sha256 || "")) {
|
|
104
120
|
throw new Error(`Release manifest asset ${key} is missing a valid sha256`);
|
|
105
121
|
}
|
|
@@ -107,9 +123,9 @@ function resolveAsset(manifest, version, key) {
|
|
|
107
123
|
? release.base_url.replace(/\/$/, "")
|
|
108
124
|
: BASE_URL;
|
|
109
125
|
return {
|
|
110
|
-
file
|
|
126
|
+
file,
|
|
111
127
|
sha256: asset.sha256.toLowerCase(),
|
|
112
|
-
url: `${baseUrl}/${
|
|
128
|
+
url: `${baseUrl}/${file}`,
|
|
113
129
|
};
|
|
114
130
|
}
|
|
115
131
|
|
|
@@ -135,7 +151,7 @@ async function main() {
|
|
|
135
151
|
const manifestUrl = `${BASE_URL}/remem-releases.json`;
|
|
136
152
|
const manifest = await fetchJson(manifestUrl);
|
|
137
153
|
const asset = resolveAsset(manifest, VERSION, key);
|
|
138
|
-
const archive = path.join(tmpDir,
|
|
154
|
+
const archive = path.join(tmpDir, "remem-release.tar.gz");
|
|
139
155
|
|
|
140
156
|
console.log(`Downloading remem ${VERSION} for ${key}`);
|
|
141
157
|
await download(asset.url, archive);
|