chore(format): oxfmt memory

This commit is contained in:
Peter Steinberger
2026-01-18 07:30:04 +00:00
parent 30338ce1a7
commit ca350fc66c
8 changed files with 32 additions and 28 deletions

View File

@@ -13,4 +13,3 @@ export function fingerprintHeaderNames(headers: Record<string, string> | undefin
out.sort((a, b) => a.localeCompare(b)); out.sort((a, b) => a.localeCompare(b));
return out; return out;
} }

View File

@@ -52,4 +52,3 @@ export function computeMemoryManagerCacheKey(params: {
); );
return `${params.agentId}:${params.workspaceDir}:${fingerprint}`; return `${params.agentId}:${params.workspaceDir}:${fingerprint}`;
} }

View File

@@ -743,7 +743,8 @@ export class MemoryIndexManager {
batchEnabled: this.batch.enabled, batchEnabled: this.batch.enabled,
concurrency: this.getIndexConcurrency(), concurrency: this.getIndexConcurrency(),
runWithConcurrency: this.runWithConcurrency.bind(this), runWithConcurrency: this.runWithConcurrency.bind(this),
indexFile: async (entry) => await this.indexFile(entry, { source: "sessions", content: entry.content }), indexFile: async (entry) =>
await this.indexFile(entry, { source: "sessions", content: entry.content }),
vectorTable: VECTOR_TABLE, vectorTable: VECTOR_TABLE,
ftsTable: FTS_TABLE, ftsTable: FTS_TABLE,
ftsEnabled: this.fts.enabled, ftsEnabled: this.fts.enabled,

View File

@@ -19,4 +19,3 @@ export function computeEmbeddingProviderKey(params: {
} }
return hashText(JSON.stringify({ provider: params.providerId, model: params.providerModel })); return hashText(JSON.stringify({ provider: params.providerId, model: params.providerModel }));
} }

View File

@@ -73,7 +73,11 @@ export async function buildSessionEntry(absPath: string): Promise<SessionFileEnt
} catch { } catch {
continue; continue;
} }
if (!record || typeof record !== "object" || (record as { type?: unknown }).type !== "message") { if (
!record ||
typeof record !== "object" ||
(record as { type?: unknown }).type !== "message"
) {
continue; continue;
} }
const message = (record as { message?: unknown }).message as const message = (record as { message?: unknown }).message as
@@ -100,4 +104,3 @@ export async function buildSessionEntry(absPath: string): Promise<SessionFileEnt
return null; return null;
} }
} }

View File

@@ -1,34 +1,35 @@
export type Tone = "ok" | "warn" | "muted"; export type Tone = "ok" | "warn" | "muted";
export function resolveMemoryVectorState(vector: { export function resolveMemoryVectorState(vector: { enabled: boolean; available?: boolean }): {
enabled: boolean; tone: Tone;
available?: boolean; state: "ready" | "unavailable" | "disabled" | "unknown";
}): { tone: Tone; state: "ready" | "unavailable" | "disabled" | "unknown" } { } {
if (vector.enabled === false) return { tone: "muted", state: "disabled" }; if (vector.enabled === false) return { tone: "muted", state: "disabled" };
if (vector.available === true) return { tone: "ok", state: "ready" }; if (vector.available === true) return { tone: "ok", state: "ready" };
if (vector.available === false) return { tone: "warn", state: "unavailable" }; if (vector.available === false) return { tone: "warn", state: "unavailable" };
return { tone: "muted", state: "unknown" }; return { tone: "muted", state: "unknown" };
} }
export function resolveMemoryFtsState(fts: { export function resolveMemoryFtsState(fts: { enabled: boolean; available: boolean }): {
enabled: boolean; tone: Tone;
available: boolean; state: "ready" | "unavailable" | "disabled";
}): { tone: Tone; state: "ready" | "unavailable" | "disabled" } { } {
if (fts.enabled === false) return { tone: "muted", state: "disabled" }; if (fts.enabled === false) return { tone: "muted", state: "disabled" };
return fts.available ? { tone: "ok", state: "ready" } : { tone: "warn", state: "unavailable" }; return fts.available ? { tone: "ok", state: "ready" } : { tone: "warn", state: "unavailable" };
} }
export function resolveMemoryCacheSummary(cache: { export function resolveMemoryCacheSummary(cache: { enabled: boolean; entries?: number }): {
enabled: boolean; tone: Tone;
entries?: number; text: string;
}): { tone: Tone; text: string } { } {
if (!cache.enabled) return { tone: "muted", text: "cache off" }; if (!cache.enabled) return { tone: "muted", text: "cache off" };
const suffix = typeof cache.entries === "number" ? ` (${cache.entries})` : ""; const suffix = typeof cache.entries === "number" ? ` (${cache.entries})` : "";
return { tone: "ok", text: `cache on${suffix}` }; return { tone: "ok", text: `cache on${suffix}` };
} }
export function resolveMemoryCacheState(cache: { export function resolveMemoryCacheState(cache: { enabled: boolean }): {
enabled: boolean; tone: Tone;
}): { tone: Tone; state: "enabled" | "disabled" } { state: "enabled" | "disabled";
} {
return cache.enabled ? { tone: "ok", state: "enabled" } : { tone: "muted", state: "disabled" }; return cache.enabled ? { tone: "ok", state: "enabled" } : { tone: "muted", state: "disabled" };
} }

View File

@@ -1,11 +1,7 @@
import type { DatabaseSync } from "node:sqlite"; import type { DatabaseSync } from "node:sqlite";
import { createSubsystemLogger } from "../logging.js"; import { createSubsystemLogger } from "../logging.js";
import { import { buildFileEntry, listMemoryFiles, type MemoryFileEntry } from "./internal.js";
buildFileEntry,
listMemoryFiles,
type MemoryFileEntry,
} from "./internal.js";
const log = createSubsystemLogger("memory"); const log = createSubsystemLogger("memory");
@@ -32,7 +28,9 @@ export async function syncMemoryFiles(params: {
model: string; model: string;
}) { }) {
const files = await listMemoryFiles(params.workspaceDir); const files = await listMemoryFiles(params.workspaceDir);
const fileEntries = await Promise.all(files.map(async (file) => buildFileEntry(file, params.workspaceDir))); const fileEntries = await Promise.all(
files.map(async (file) => buildFileEntry(file, params.workspaceDir)),
);
log.debug("memory sync: indexing memory files", { log.debug("memory sync: indexing memory files", {
files: fileEntries.length, files: fileEntries.length,

View File

@@ -2,7 +2,11 @@ import type { DatabaseSync } from "node:sqlite";
import { createSubsystemLogger } from "../logging.js"; import { createSubsystemLogger } from "../logging.js";
import type { SessionFileEntry } from "./session-files.js"; import type { SessionFileEntry } from "./session-files.js";
import { buildSessionEntry, listSessionFilesForAgent, sessionPathForFile } from "./session-files.js"; import {
buildSessionEntry,
listSessionFilesForAgent,
sessionPathForFile,
} from "./session-files.js";
const log = createSubsystemLogger("memory"); const log = createSubsystemLogger("memory");