๐ memory.ts โข 2658 bytes
import { t } from '../i18n.js'
import { searchMemory, getSummary } from '../memory/memoryManager.js'
export async function handleMemoryCommand(
trimmed: string,
ACCENT: string,
MUTED: string,
SUCCESS: string,
ERROR: string,
color: any
): Promise<boolean> {
if (!trimmed.startsWith('/memory')) return false
const query = trimmed.slice(8).trim()
if (!query) {
// ๆพ็คบ่ฎฐๅฟ็ณป็ป็ถๆ
try {
const stats = getSummary()
console.log('')
console.log(` ${ACCENT}๐ง ${t('memory.system_title')}${color.reset}`)
console.log(` ${ACCENT}โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ${color.reset}`)
console.log(` ${MUTED}${t('memory.sessions')}: ${stats.sessions}${color.reset}`)
console.log(` ${MUTED}${t('memory.messages')}: ${stats.messages}${color.reset}`)
console.log(` ${MUTED}${t('memory.vectors')}: ${stats.vectors}${color.reset}`)
console.log(` ${MUTED}${t('memory.backfill_status')} ${stats.backfillStatus.running ? t('memory.status_running') : t('memory.status_stopped')}${color.reset}`)
console.log('')
console.log(` ${MUTED}${t('memory.usage_hint')}${color.reset}`)
console.log(` ${MUTED}${t("memory.op_hint")}${color.reset}`)
console.log('')
} catch (e) {
console.log(` ${ERROR}${t('memory.not_initialized')}${color.reset}`)
}
} else {
// ๆง่ก่ฏญไนๆ็ดข
console.log(` ${MUTED}๐ ${t('memory.search_query')} "${query}"${color.reset}`)
try {
const results = await searchMemory(query, undefined, 10)
if (results.length === 0) {
console.log(` ${MUTED}${t('memory.no_results')}${color.reset}`)
} else {
console.log('')
console.log(` ${ACCENT}${t('memory.found_results', {count: String(results.length)})}${color.reset}`)
console.log(` ${ACCENT}โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ${color.reset}`)
for (const r of results) {
const preview = r.content.slice(0, 100) + (r.content.length > 100 ? '...' : '')
const sourceTag = r.source === 'vec' ? '[VEC]' : '[FTS]'
const ts = r.created_at ? r.created_at.slice(5, 16) : ''
console.log(` ${sourceTag} ${MUTED}[${ts} ${r.session_id?.slice(0, 8)}]${color.reset} ${preview}`)
}
console.log('')
}
} catch (e) {
console.log(` ${ERROR}${t('memory.search_failed')} ${e}${color.reset}`)
}
}
return true
}