mirror of
https://github.com/TencentCloud/TencentDB-Agent-Memory
synced 2026-07-10 12:34:27 +00:00
fix(plugin): add OpenClaw state dir fallback
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import { homedir } from "node:os";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { resolveOpenClawStateDir } from "./openclaw-state-dir.js";
|
||||
|
||||
describe("resolveOpenClawStateDir", () => {
|
||||
it("uses the runtime state resolver when available", () => {
|
||||
const stateDir = resolveOpenClawStateDir({
|
||||
resolveStateDir: () => "/tmp/openclaw-state",
|
||||
});
|
||||
|
||||
expect(stateDir).toBe("/tmp/openclaw-state");
|
||||
});
|
||||
|
||||
it("falls back to ~/.openclaw when runtime.state is not available", () => {
|
||||
const stateDir = resolveOpenClawStateDir(undefined);
|
||||
|
||||
expect(stateDir).toBe(path.join(homedir(), ".openclaw"));
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
import { homedir } from "node:os";
|
||||
import path from "node:path";
|
||||
|
||||
export interface OpenClawRuntimeStateLike {
|
||||
resolveStateDir?: () => string;
|
||||
}
|
||||
|
||||
export function resolveOpenClawStateDir(
|
||||
runtimeState: OpenClawRuntimeStateLike | undefined,
|
||||
): string {
|
||||
return runtimeState?.resolveStateDir?.() ?? path.join(homedir(), ".openclaw");
|
||||
}
|
||||
Reference in New Issue
Block a user