Skip to content

Commit 82515a6

Browse files
committed
Merge branch 'claude/latest-repo-update-2dykvt'
# Conflicts: # apps/memroos/src/lib/__tests__/env.test.ts
2 parents df7c6ae + 49fc718 commit 82515a6

9 files changed

Lines changed: 34 additions & 31 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ jobs:
2727
- name: Install dependencies
2828
run: npm ci
2929

30+
- name: Install linux native bindings
31+
run: npm install @rolldown/binding-linux-x64-gnu @tailwindcss/oxide-linux-x64-gnu @unrs/resolver-binding-linux-x64-gnu --no-save
32+
3033
- name: Typecheck
3134
run: npm run typecheck
3235

.github/workflows/secret-guard.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ jobs:
5050
PATTERNS="${MAC_HOME}[^/]+/|${LINUX_HOME}[^/]+/"
5151
MATCHES=$(git grep -nE "$PATTERNS" -- '*.md' '*.ts' '*.tsx' '*.js' '*.json' '*.yaml' '*.yml' '*.sh' '*.py' \
5252
| grep -v '^.github/workflows/secret-guard.yml:' \
53+
| grep -v '^\.planning/' \
5354
| grep -vE '(/Users/yourname/|/Users/USERNAME/|/Users/\$USER/|/home/yourname/|/home/USERNAME/|/home/\$USER/)' \
5455
|| true)
5556
if [ -n "$MATCHES" ]; then

apps/memroos/src/__tests__/proxy.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -301,44 +301,44 @@ describe("proxy", () => {
301301

302302
it("requires app-host session auth for the Understand page", async () => {
303303
const response = await proxy(
304-
new NextRequest("https://memroos.epiloguecapital.com/understand?token=graph-token", {
305-
headers: { host: "memroos.epiloguecapital.com" },
304+
new NextRequest("https://memroos.example.com/understand?token=graph-token", {
305+
headers: { host: "memroos.example.com" },
306306
})
307307
);
308308

309309
expect(response.status).toBe(307);
310-
expect(response.headers.get("location")).toBe("https://memroos.epiloguecapital.com/login");
310+
expect(response.headers.get("location")).toBe("https://memroos.example.com/login");
311311
});
312312

313313
it("requires app-host session auth before Understand JSON token authorization", async () => {
314314
const response = await proxy(
315-
new NextRequest("https://memroos.epiloguecapital.com/knowledge-graph.json?token=graph-token", {
316-
headers: { host: "memroos.epiloguecapital.com" },
315+
new NextRequest("https://memroos.example.com/knowledge-graph.json?token=graph-token", {
316+
headers: { host: "memroos.example.com" },
317317
})
318318
);
319319

320320
expect(response.status).toBe(307);
321-
expect(response.headers.get("location")).toBe("https://memroos.epiloguecapital.com/login");
321+
expect(response.headers.get("location")).toBe("https://memroos.example.com/login");
322322
});
323323

324-
it("treats the Epilogue Capital MemRoOS alias as an app host", async () => {
324+
it("treats a custom domain as an app host", async () => {
325325
const loginResponse = await proxy(
326-
new NextRequest("https://memroos.epiloguecapital.com/login", {
327-
headers: { host: "memroos.epiloguecapital.com" },
326+
new NextRequest("https://memroos.example.com/login", {
327+
headers: { host: "memroos.example.com" },
328328
})
329329
);
330330

331331
expect(loginResponse.status).toBe(200);
332332
expect(loginResponse.headers.get("location")).toBeNull();
333333

334334
const appResponse = await proxy(
335-
new NextRequest("https://memroos.epiloguecapital.com/dispatch", {
336-
headers: { host: "memroos.epiloguecapital.com" },
335+
new NextRequest("https://memroos.example.com/dispatch", {
336+
headers: { host: "memroos.example.com" },
337337
})
338338
);
339339

340340
expect(appResponse.status).toBe(307);
341-
expect(appResponse.headers.get("location")).toBe("https://memroos.epiloguecapital.com/login");
341+
expect(appResponse.headers.get("location")).toBe("https://memroos.example.com/login");
342342
});
343343

344344
it("serves the public landing on memroos.localhost for local preview", async () => {

apps/memroos/src/app/api/dispatch/__tests__/rate-limit.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ const { POST: memoryPost } = await import("@/app/api/memory/add/route");
3535
function makeDispatchRequest(body: object) {
3636
return new Request("http://localhost/api/dispatch", {
3737
method: "POST",
38-
headers: { "content-type": "application/json", "x-forwarded-for": "10.0.0.1" },
38+
headers: { "content-type": "application/json", "x-forwarded-for": "203.0.113.1" },
3939
body: JSON.stringify(body),
4040
});
4141
}
4242

4343
function makeMemoryRequest(body: object) {
4444
return new Request("http://localhost/api/memory/add", {
4545
method: "POST",
46-
headers: { "content-type": "application/json", "x-forwarded-for": "10.0.0.2" },
46+
headers: { "content-type": "application/json", "x-forwarded-for": "203.0.113.2" },
4747
body: JSON.stringify(body),
4848
});
4949
}

apps/memroos/src/lib/__tests__/env.test.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import { loadMemroosEnv, reconcileRootConfigStatus, validateMemroosEnvAtStartup
33

44
describe("loadMemroosEnv", () => {
55
it("applies local development defaults", () => {
6-
const env = loadMemroosEnv({ HOME: "/Users/tester" });
6+
const env = loadMemroosEnv({ HOME: "/Users/USERNAME" });
77

88
expect(env.MEM0_URL).toBe("http://localhost:3201");
99
expect(env.MEM0_PORT).toBe(3201);
1010
expect(env.SQLITE_DB_PATH).toBe("data/conversations.db");
11-
expect(env.AGENT_CONFIGS_PATH).toBe("/Users/tester/github/knowledge/agent-configs");
12-
expect(env.CLAUDE_MEMORY_PATH).toBe("/Users/tester/.claude/projects");
13-
expect(env.CODEX_MEMORY_PATH).toBe("/Users/tester/.codex/sessions");
14-
expect(env.KNOWLEDGE_BASE_PATH).toBe("/Users/tester/github/knowledge");
11+
expect(env.AGENT_CONFIGS_PATH).toBe("/Users/USERNAME/github/knowledge/agent-configs");
12+
expect(env.CLAUDE_MEMORY_PATH).toBe("/Users/USERNAME/.claude/projects");
13+
expect(env.CODEX_MEMORY_PATH).toBe("/Users/USERNAME/.codex/sessions");
14+
expect(env.KNOWLEDGE_BASE_PATH).toBe("/Users/USERNAME/github/knowledge");
1515
expect(env.COLLECTIONS_CONFIG_PATH).toBe("collections.config.json");
1616
expect(env.CONTEXT_SOURCES_CONFIG).toBe("context-sources.config.json");
1717
expect(env.MEMROOS_A2A_PROFILE).toBe("local-dev");
@@ -22,7 +22,7 @@ describe("loadMemroosEnv", () => {
2222

2323
it("preserves explicit configured values", () => {
2424
const env = loadMemroosEnv({
25-
HOME: "/Users/tester",
25+
HOME: "/Users/USERNAME",
2626
MEM0_URL: "http://127.0.0.1:3201",
2727
MEM0_PORT: "3211",
2828
SQLITE_DB_PATH: "/tmp/memroos.db",
@@ -50,22 +50,22 @@ describe("loadMemroosEnv", () => {
5050
});
5151

5252
it("fails closed on malformed configured values", () => {
53-
expect(() => loadMemroosEnv({ HOME: "/Users/tester", MEM0_URL: "localhost:3201" })).toThrow(
53+
expect(() => loadMemroosEnv({ HOME: "/Users/USERNAME", MEM0_URL: "localhost:3201" })).toThrow(
5454
/Invalid environment configuration/
5555
);
56-
expect(() => loadMemroosEnv({ HOME: "/Users/tester", SQLITE_DB_PATH: "" })).toThrow(
56+
expect(() => loadMemroosEnv({ HOME: "/Users/USERNAME", SQLITE_DB_PATH: "" })).toThrow(
5757
/Invalid environment configuration/
5858
);
59-
expect(() => loadMemroosEnv({ HOME: "/Users/tester", MEMROOS_A2A_PROFILE: "internet" })).toThrow(
59+
expect(() => loadMemroosEnv({ HOME: "/Users/USERNAME", MEMROOS_A2A_PROFILE: "internet" })).toThrow(
6060
/Invalid environment configuration/
6161
);
62-
expect(() => loadMemroosEnv({ HOME: "/Users/tester", MEMROOS_A2A_REMOTE_CARD_TIMEOUT_MS: "0" })).toThrow(
62+
expect(() => loadMemroosEnv({ HOME: "/Users/USERNAME", MEMROOS_A2A_REMOTE_CARD_TIMEOUT_MS: "0" })).toThrow(
6363
/Invalid environment configuration/
6464
);
6565
expect(() =>
66-
loadMemroosEnv({ HOME: "/Users/tester", MEMROOS_A2A_ALLOW_PRIVATE_NETWORK_CARDS: "sometimes" })
66+
loadMemroosEnv({ HOME: "/Users/USERNAME", MEMROOS_A2A_ALLOW_PRIVATE_NETWORK_CARDS: "sometimes" })
6767
).toThrow(/Invalid environment configuration/);
68-
expect(() => loadMemroosEnv({ HOME: "/Users/tester", MEMROOS_EMBEDDING_PROVIDER: "qdrant" })).toThrow(
68+
expect(() => loadMemroosEnv({ HOME: "/Users/USERNAME", MEMROOS_EMBEDDING_PROVIDER: "qdrant" })).toThrow(
6969
/Invalid environment configuration/
7070
);
7171
});
@@ -95,7 +95,7 @@ describe("loadMemroosEnv", () => {
9595
});
9696

9797
it("validates startup configuration and returns root config status", () => {
98-
const result = validateMemroosEnvAtStartup({ HOME: "/Users/tester", MEM0_URL: "http://mem0.test" });
98+
const result = validateMemroosEnvAtStartup({ HOME: "/Users/USERNAME", MEM0_URL: "http://mem0.test" });
9999

100100
expect(result.env.MEM0_URL).toBe("http://mem0.test");
101101
expect(result.rootConfigStatus.map((entry) => entry.file)).toEqual([

apps/memroos/src/lib/__tests__/okf.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe("OKF memory bundle support", () => {
1616
agent: "claude",
1717
date: "2026-06-13T18:00:00.000Z",
1818
type: "project",
19-
source: "/Users/luis/.claude/projects/foo/memory/foo.md",
19+
source: "/Users/USERNAME/.claude/projects/foo/memory/foo.md",
2020
};
2121

2222
it("maps a memory entry into a conformant OKF concept with MemRoOS extension fields", () => {

package-lock.json

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"install:skill-curation": "node scripts/install-skill-curation-launchd.mjs",
4747
"profiles:check": "node scripts/validate-operating-profiles.mjs",
4848
"first-run:check": "node scripts/first-run-wizard.mjs --check",
49-
"install": "bash install.sh",
49+
"setup": "bash install.sh",
5050
"check:roadmap-priority": "node scripts/check-roadmap-priority.mjs"
5151
},
5252
"overrides": {

services/memory/healthcheck.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ TG_CHAT_ID="${TELEGRAM_CHAT_ID:-}"
4343
DISCORD_WEBHOOK_URL="${DISCORD_KNOWLEDGE_WEBHOOK:-}"
4444
SENDGRID_API_KEY="${SENDGRID_API_KEY:-}"
4545
ALERT_EMAIL_FROM="${ALERT_EMAIL_FROM:-alerts@memroos.ai}"
46-
ALERT_EMAIL_TO="${ALERT_EMAIL_TO:-${ALERT_EMAIL:-luis@epiloguecapital.com}}"
46+
ALERT_EMAIL_TO="${ALERT_EMAIL_TO:-${ALERT_EMAIL:-alerts@example.com}}"
4747
MEM0_CPU_ALERT_THRESHOLD="${MEM0_CPU_ALERT_THRESHOLD:-200}" # % — triggers at 2+ cores
4848

4949
mkdir -p "$ALERT_STATE_DIR"

0 commit comments

Comments
 (0)