feat(memory): add experimental qmd search backend
This commit is contained in:
@@ -313,6 +313,15 @@ const embeddingSchema = z.object({
|
||||
hybrid_weight: z.number().min(0).max(1).default(0.7),
|
||||
}).default({});
|
||||
|
||||
const qmdSchema = z.object({
|
||||
/** Enable experimental QMD (query markdown database) memory search backend. */
|
||||
enabled: z.boolean().default(false),
|
||||
/** Maximum number of QMD results returned by memory.search. */
|
||||
top_k: z.number().min(1).max(50).default(8),
|
||||
/** Minimum relevance score (0-1) for QMD matches. */
|
||||
min_score: z.number().min(0).max(1).default(0.15),
|
||||
}).default({});
|
||||
|
||||
const memorySchema = z.object({
|
||||
enabled: z.boolean().default(true),
|
||||
dir: z.string().optional(), // Default: ~/.local/share/flynn/memory
|
||||
@@ -321,6 +330,7 @@ const memorySchema = z.object({
|
||||
max_injection_tokens: z.number().min(100).max(10000).default(2000),
|
||||
max_context_tokens: z.number().min(100).max(10000).default(2000),
|
||||
embedding: embeddingSchema,
|
||||
qmd: qmdSchema,
|
||||
}).default({});
|
||||
|
||||
const compactionSchema = z.object({
|
||||
@@ -593,6 +603,7 @@ export type HeartbeatConfig = z.infer<typeof heartbeatSchema>;
|
||||
export type HeartbeatCheck = z.infer<typeof heartbeatCheckSchema>;
|
||||
export type EmbeddingConfig = z.infer<typeof embeddingSchema>;
|
||||
export type EmbeddingProvider = z.infer<typeof embeddingProviderSchema>;
|
||||
export type QmdConfig = z.infer<typeof qmdSchema>;
|
||||
export type GcalConfig = z.infer<typeof gcalSchema>;
|
||||
export type GdocsConfig = z.infer<typeof gdocsSchema>;
|
||||
export type GdriveConfig = z.infer<typeof gdriveSchema>;
|
||||
|
||||
Reference in New Issue
Block a user