chore(format): oxfmt memory
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,4 +52,3 @@ export function computeMemoryManagerCacheKey(params: {
|
|||||||
);
|
);
|
||||||
return `${params.agentId}:${params.workspaceDir}:${fingerprint}`;
|
return `${params.agentId}:${params.workspaceDir}:${fingerprint}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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 }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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" };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user