memhouse 0.18.3 → 0.18.4
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/bin/memhouse.js
CHANGED
|
@@ -1013,8 +1013,13 @@ async function cmdInstall({ interactive }) {
|
|
|
1013
1013
|
} catch { /* not a URL; the missing-fields check above already spoke */ }
|
|
1014
1014
|
// Clear ambient MEMHOUSE_* so ONLY the file speaks (exported vars normally win over the
|
|
1015
1015
|
// file; an invite intake is the one place they must not).
|
|
1016
|
-
for (const k of ['MEMHOUSE_URL', 'MEMHOUSE_USER', 'MEMHOUSE_PASSWORD', 'MEMHOUSE_DB', 'MEMHOUSE_PORT']) delete process.env[k];
|
|
1016
|
+
for (const k of ['MEMHOUSE_URL', 'MEMHOUSE_USER', 'MEMHOUSE_PASSWORD', 'MEMHOUSE_DB', 'MEMHOUSE_PORT', 'MEMHOUSE_CHANNEL', 'MEMHOUSE_EDITORS', 'MEMHOUSE_CLAUDE_ROOTS']) delete process.env[k];
|
|
1017
1017
|
for (const k of wanted) process.env[k] = parsed[k];
|
|
1018
|
+
// The invite also carries what the inviter's house is ON: its channel (a `team` house
|
|
1019
|
+
// is 0.18.x, published under `team`). Dropping it wrote an env with no pin, and the
|
|
1020
|
+
// member's first `memhouse update` followed `latest` — zeo's 0.17 line — and
|
|
1021
|
+
// downgraded a working team install onto the wrong layout. A flag still wins.
|
|
1022
|
+
for (const k of ['MEMHOUSE_CHANNEL', 'MEMHOUSE_EDITORS', 'MEMHOUSE_CLAUDE_ROOTS']) if (parsed[k]) process.env[k] = parsed[k];
|
|
1018
1023
|
console.log(ok(`using the invite file ${String(flags.env)} (nothing persisted until the install proves out)`));
|
|
1019
1024
|
_inviteFileToShred = path.resolve(String(flags.env));
|
|
1020
1025
|
_inviteWantsRotate = parsed.MEMHOUSE_INVITE === '1';
|
package/memhouse/channel.js
CHANGED
|
@@ -32,9 +32,22 @@ function pickChannel({ version, pinned = null, tags = null }) {
|
|
|
32
32
|
if (isPrerelease(version)) {
|
|
33
33
|
return { channel: null, target: null, reason: `${version} is on no registry tag — a tarball or checkout build; update it by installing a newer tarball, or pin a channel: memhouse update --channel <tag>` };
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
// A release that matches no tag any more (the tag moved on) stays on ITS LINE: the tag
|
|
36
|
+
// whose target shares this version's major.minor. Falling back to `latest` moved a
|
|
37
|
+
// 0.18.2 team member to 0.17.1 — a different house layout — on her first update.
|
|
38
|
+
const line = lineOf(version);
|
|
39
|
+
const sameLine = Object.entries(t).filter(([, v]) => lineOf(v) === line).map(([k]) => k);
|
|
40
|
+
if (sameLine.length) {
|
|
41
|
+
const k = sameLine.includes('latest') ? 'latest' : sameLine[0];
|
|
42
|
+
return { channel: k, target: t[k], reason: `following '${k}' — the tag on the ${line}.x line this install is on` };
|
|
43
|
+
}
|
|
44
|
+
if (!tags) return { channel: null, target: null, reason: 'the registry did not answer — cannot tell which line to follow; retry, or: memhouse update --channel <tag>' };
|
|
45
|
+
return { channel: null, target: null, reason: `${version} is on the ${line}.x line and no registry tag points at ${line}.x — crossing lines is a decision: memhouse update --channel <tag>` };
|
|
36
46
|
}
|
|
37
47
|
|
|
48
|
+
/** "0.18" of "0.18.2" — the line a version belongs to. */
|
|
49
|
+
function lineOf(v) { const m = /^(\d+)\.(\d+)/.exec(String(v || '')); return m ? `${m[1]}.${m[2]}` : ''; }
|
|
50
|
+
|
|
38
51
|
/** The registry's dist-tags, or null when it cannot be reached. Abbreviated document, small. */
|
|
39
52
|
async function fetchTags(fetchImpl = globalThis.fetch) {
|
|
40
53
|
try {
|
|
@@ -47,4 +60,4 @@ async function fetchTags(fetchImpl = globalThis.fetch) {
|
|
|
47
60
|
} catch { return null; }
|
|
48
61
|
}
|
|
49
62
|
|
|
50
|
-
module.exports = { pickChannel, fetchTags, isPrerelease };
|
|
63
|
+
module.exports = { pickChannel, fetchTags, isPrerelease, lineOf };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mem",
|
|
3
3
|
"description": "Conversation memory for AI agents over the memhouse typed ClickHouse store: recall past sessions and answer from them, run analytics, check the house, bring people in, and administer the server. Skills install as /mem:recall, /mem:sql, /mem:house, /mem:access, and /mem:admin.",
|
|
4
|
-
"version": "0.18.
|
|
4
|
+
"version": "0.18.4",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ramazan Polat"
|
|
7
7
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memhouse",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.4",
|
|
4
4
|
"description": "memhouse \u2014 agent conversation memory across 17 editors: parse-on-client shippers, a typed ClickHouse store with one set of rooms per member, kernel-agency install, and the agentlytics dashboard",
|
|
5
5
|
"main": "bin/memhouse.js",
|
|
6
6
|
"bin": {
|