@hope666/melu 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +57 -0
  3. package/dist/cli.d.ts +8 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +630 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/config.d.ts +45 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +135 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/embedder-client.d.ts +24 -0
  12. package/dist/embedder-client.d.ts.map +1 -0
  13. package/dist/embedder-client.js +164 -0
  14. package/dist/embedder-client.js.map +1 -0
  15. package/dist/embedder-daemon-client.d.ts +10 -0
  16. package/dist/embedder-daemon-client.d.ts.map +1 -0
  17. package/dist/embedder-daemon-client.js +185 -0
  18. package/dist/embedder-daemon-client.js.map +1 -0
  19. package/dist/embedder-daemon.d.ts +11 -0
  20. package/dist/embedder-daemon.d.ts.map +1 -0
  21. package/dist/embedder-daemon.js +284 -0
  22. package/dist/embedder-daemon.js.map +1 -0
  23. package/dist/embedder-ipc.d.ts +27 -0
  24. package/dist/embedder-ipc.d.ts.map +1 -0
  25. package/dist/embedder-ipc.js +60 -0
  26. package/dist/embedder-ipc.js.map +1 -0
  27. package/dist/embedder-main.d.ts +2 -0
  28. package/dist/embedder-main.d.ts.map +1 -0
  29. package/dist/embedder-main.js +6 -0
  30. package/dist/embedder-main.js.map +1 -0
  31. package/dist/embedder.d.ts +41 -0
  32. package/dist/embedder.d.ts.map +1 -0
  33. package/dist/embedder.js +231 -0
  34. package/dist/embedder.js.map +1 -0
  35. package/dist/extraction-queue.d.ts +53 -0
  36. package/dist/extraction-queue.d.ts.map +1 -0
  37. package/dist/extraction-queue.js +418 -0
  38. package/dist/extraction-queue.js.map +1 -0
  39. package/dist/extraction-stats.d.ts +15 -0
  40. package/dist/extraction-stats.d.ts.map +1 -0
  41. package/dist/extraction-stats.js +89 -0
  42. package/dist/extraction-stats.js.map +1 -0
  43. package/dist/extractor-worker-main.d.ts +2 -0
  44. package/dist/extractor-worker-main.d.ts.map +1 -0
  45. package/dist/extractor-worker-main.js +70 -0
  46. package/dist/extractor-worker-main.js.map +1 -0
  47. package/dist/extractor-worker.d.ts +17 -0
  48. package/dist/extractor-worker.d.ts.map +1 -0
  49. package/dist/extractor-worker.js +164 -0
  50. package/dist/extractor-worker.js.map +1 -0
  51. package/dist/extractor.d.ts +36 -0
  52. package/dist/extractor.d.ts.map +1 -0
  53. package/dist/extractor.js +244 -0
  54. package/dist/extractor.js.map +1 -0
  55. package/dist/i18n.d.ts +995 -0
  56. package/dist/i18n.d.ts.map +1 -0
  57. package/dist/i18n.js +1024 -0
  58. package/dist/i18n.js.map +1 -0
  59. package/dist/memory.d.ts +62 -0
  60. package/dist/memory.d.ts.map +1 -0
  61. package/dist/memory.js +293 -0
  62. package/dist/memory.js.map +1 -0
  63. package/dist/model-bootstrap.d.ts +29 -0
  64. package/dist/model-bootstrap.d.ts.map +1 -0
  65. package/dist/model-bootstrap.js +235 -0
  66. package/dist/model-bootstrap.js.map +1 -0
  67. package/dist/proxy-main.d.ts +5 -0
  68. package/dist/proxy-main.d.ts.map +1 -0
  69. package/dist/proxy-main.js +10 -0
  70. package/dist/proxy-main.js.map +1 -0
  71. package/dist/proxy.d.ts +9 -0
  72. package/dist/proxy.d.ts.map +1 -0
  73. package/dist/proxy.js +309 -0
  74. package/dist/proxy.js.map +1 -0
  75. package/dist/run-runtime.d.ts +34 -0
  76. package/dist/run-runtime.d.ts.map +1 -0
  77. package/dist/run-runtime.js +170 -0
  78. package/dist/run-runtime.js.map +1 -0
  79. package/dist/runtime-context.d.ts +12 -0
  80. package/dist/runtime-context.d.ts.map +1 -0
  81. package/dist/runtime-context.js +39 -0
  82. package/dist/runtime-context.js.map +1 -0
  83. package/dist/text-chunking.d.ts +7 -0
  84. package/dist/text-chunking.d.ts.map +1 -0
  85. package/dist/text-chunking.js +50 -0
  86. package/dist/text-chunking.js.map +1 -0
  87. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Melu 记忆存储与检索。
3
+ *
4
+ * 单个 .memory 文件 = 一个 SQLite 数据库。
5
+ * 支持 FTS5 全文搜索 + 向量余弦相似度搜索。
6
+ */
7
+ export interface Memory {
8
+ id: string;
9
+ content: string;
10
+ summary: string;
11
+ category: string;
12
+ subject: string;
13
+ confidence: number;
14
+ isActive: number;
15
+ supersedes: string | null;
16
+ vector: Float32Array | null;
17
+ createdAt: string;
18
+ updatedAt: string;
19
+ lastAccessed: string;
20
+ accessCount: number;
21
+ sourceConversation: string | null;
22
+ extra: Record<string, unknown> | null;
23
+ }
24
+ export declare class MemoryStore {
25
+ private dbPath;
26
+ private db;
27
+ constructor(dbPath: string);
28
+ open(): void;
29
+ close(): void;
30
+ private get conn();
31
+ add(opts: {
32
+ content: string;
33
+ summary: string;
34
+ category?: string;
35
+ subject?: string;
36
+ confidence?: number;
37
+ vector?: Float32Array | null;
38
+ supersedes?: string | null;
39
+ sourceConversation?: string | null;
40
+ extra?: Record<string, unknown> | null;
41
+ }): string;
42
+ delete(memId: string): boolean;
43
+ clear(): number;
44
+ countActive(): number;
45
+ getById(memId: string): Memory | null;
46
+ listAll(includeInactive?: boolean): Memory[];
47
+ retrieve(queryVector?: Float32Array | null): Memory[];
48
+ findSimilar(queryVector: Float32Array, threshold?: number): Array<{
49
+ memory: Memory;
50
+ similarity: number;
51
+ }>;
52
+ setMeta(key: string, value: string): void;
53
+ getMeta(key: string): string | null;
54
+ exportTo(dest: string): Promise<void>;
55
+ importFrom(src: string): number;
56
+ private getAllActive;
57
+ private getByCategory;
58
+ private vectorSearch;
59
+ private touch;
60
+ }
61
+ export declare function formatMemoriesForInjection(memories: Memory[]): string;
62
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC;AAwGD,qBAAa,WAAW;IAGV,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,EAAE,CAAkC;gBAExB,MAAM,EAAE,MAAM;IAElC,IAAI,IAAI,IAAI;IAOZ,KAAK,IAAI,IAAI;IAKb,OAAO,KAAK,IAAI,GAGf;IAID,GAAG,CAAC,IAAI,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KACxC,GAAG,MAAM;IAiCV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK9B,KAAK,IAAI,MAAM;IAOf,WAAW,IAAI,MAAM;IAOrB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOrC,OAAO,CAAC,eAAe,UAAQ,GAAG,MAAM,EAAE;IAU1C,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,EAAE;IAYrD,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,SAAM,GAAG,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBtG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMzC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAkC/B,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,KAAK;CASd;AAID,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAyBrE"}
package/dist/memory.js ADDED
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Melu 记忆存储与检索。
3
+ *
4
+ * 单个 .memory 文件 = 一个 SQLite 数据库。
5
+ * 支持 FTS5 全文搜索 + 向量余弦相似度搜索。
6
+ */
7
+ import Database from "better-sqlite3";
8
+ import { v4 as uuidv4 } from "uuid";
9
+ import { normalizeWhitespace, truncateCharacters } from "./text-chunking.js";
10
+ // ── 时间工具 ─────────────────────────────────────────────────────────
11
+ /** 本地时区时间,精确到分钟,ISO8601 带时区偏移 */
12
+ function nowLocal() {
13
+ const now = new Date();
14
+ const offset = -now.getTimezoneOffset();
15
+ const sign = offset >= 0 ? "+" : "-";
16
+ const hh = String(Math.floor(Math.abs(offset) / 60)).padStart(2, "0");
17
+ const mm = String(Math.abs(offset) % 60).padStart(2, "0");
18
+ const iso = now.toISOString().slice(0, 16); // YYYY-MM-DDTHH:MM
19
+ return `${iso}${sign}${hh}:${mm}`;
20
+ }
21
+ // ── 向量工具 ─────────────────────────────────────────────────────────
22
+ function vectorToBlob(vec) {
23
+ return Buffer.from(vec.buffer, vec.byteOffset, vec.byteLength);
24
+ }
25
+ function blobToVector(blob) {
26
+ const ab = new ArrayBuffer(blob.length);
27
+ const view = new Uint8Array(ab);
28
+ for (let i = 0; i < blob.length; i++)
29
+ view[i] = blob[i];
30
+ return new Float32Array(ab);
31
+ }
32
+ function cosineSimilarity(a, b) {
33
+ let dot = 0, normA = 0, normB = 0;
34
+ for (let i = 0; i < a.length; i++) {
35
+ dot += a[i] * b[i];
36
+ normA += a[i] * a[i];
37
+ normB += b[i] * b[i];
38
+ }
39
+ const denom = Math.sqrt(normA) * Math.sqrt(normB);
40
+ return denom > 1e-10 ? dot / denom : 0;
41
+ }
42
+ function rowToMemory(row) {
43
+ return {
44
+ id: row.id,
45
+ content: row.content,
46
+ summary: row.summary,
47
+ category: row.category,
48
+ subject: row.subject,
49
+ confidence: row.confidence,
50
+ isActive: row.is_active,
51
+ supersedes: row.supersedes,
52
+ vector: row.vector ? blobToVector(row.vector) : null,
53
+ createdAt: row.created_at,
54
+ updatedAt: row.updated_at,
55
+ lastAccessed: row.last_accessed,
56
+ accessCount: row.access_count,
57
+ sourceConversation: row.source_conversation,
58
+ extra: row.extra ? JSON.parse(row.extra) : null,
59
+ };
60
+ }
61
+ // ── Schema ───────────────────────────────────────────────────────────
62
+ const SCHEMA = `
63
+ CREATE TABLE IF NOT EXISTS memories (
64
+ id TEXT PRIMARY KEY,
65
+ content TEXT NOT NULL,
66
+ summary TEXT NOT NULL,
67
+ category TEXT NOT NULL DEFAULT 'event',
68
+ subject TEXT NOT NULL DEFAULT '',
69
+ confidence REAL NOT NULL DEFAULT 1.0,
70
+ is_active INTEGER NOT NULL DEFAULT 1,
71
+ supersedes TEXT,
72
+ vector BLOB,
73
+ created_at TEXT NOT NULL,
74
+ updated_at TEXT NOT NULL,
75
+ last_accessed TEXT NOT NULL,
76
+ access_count INTEGER NOT NULL DEFAULT 0,
77
+ source_conversation TEXT,
78
+ extra TEXT
79
+ );
80
+
81
+ CREATE INDEX IF NOT EXISTS idx_memories_active ON memories(is_active);
82
+ CREATE INDEX IF NOT EXISTS idx_memories_category ON memories(category);
83
+ CREATE INDEX IF NOT EXISTS idx_memories_subject ON memories(subject);
84
+
85
+ CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
86
+ summary,
87
+ content,
88
+ content='memories',
89
+ content_rowid='rowid'
90
+ );
91
+
92
+ CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
93
+ INSERT INTO memories_fts(rowid, summary, content)
94
+ VALUES (new.rowid, new.summary, new.content);
95
+ END;
96
+ CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
97
+ INSERT INTO memories_fts(memories_fts, rowid, summary, content)
98
+ VALUES ('delete', old.rowid, old.summary, old.content);
99
+ END;
100
+ CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE ON memories BEGIN
101
+ INSERT INTO memories_fts(memories_fts, rowid, summary, content)
102
+ VALUES ('delete', old.rowid, old.summary, old.content);
103
+ INSERT INTO memories_fts(rowid, summary, content)
104
+ VALUES (new.rowid, new.summary, new.content);
105
+ END;
106
+
107
+ CREATE TABLE IF NOT EXISTS meta (
108
+ key TEXT PRIMARY KEY,
109
+ value TEXT
110
+ );
111
+ `;
112
+ const SELECT_COLS = "id, content, summary, category, subject, confidence, is_active, " +
113
+ "supersedes, vector, created_at, updated_at, last_accessed, " +
114
+ "access_count, source_conversation, extra";
115
+ const MAX_INJECTION_MEMORIES = 50;
116
+ const MAX_INJECTION_CHARS = 8000;
117
+ const RETRIEVAL_SIMILARITY_THRESHOLD = 0.45;
118
+ // ── MemoryStore ──────────────────────────────────────────────────────
119
+ export class MemoryStore {
120
+ dbPath;
121
+ db = null;
122
+ constructor(dbPath) {
123
+ this.dbPath = dbPath;
124
+ }
125
+ open() {
126
+ this.db = new Database(this.dbPath);
127
+ this.db.pragma("journal_mode = WAL");
128
+ this.db.pragma("foreign_keys = ON");
129
+ this.db.exec(SCHEMA);
130
+ }
131
+ close() {
132
+ this.db?.close();
133
+ this.db = null;
134
+ }
135
+ get conn() {
136
+ if (!this.db)
137
+ throw new Error("MemoryStore not opened");
138
+ return this.db;
139
+ }
140
+ // ── 写入 ─────────────────────────────────────────────────────
141
+ add(opts) {
142
+ const now = nowLocal();
143
+ const id = uuidv4();
144
+ this.conn.prepare(`INSERT INTO memories
145
+ (id, content, summary, category, subject, confidence,
146
+ is_active, supersedes, vector, created_at, updated_at,
147
+ last_accessed, access_count, source_conversation, extra)
148
+ VALUES (?,?,?,?,?,?,1,?,?,?,?,?,0,?,?)`).run(id, opts.content, opts.summary, opts.category ?? "event", opts.subject ?? "", opts.confidence ?? 1.0, opts.supersedes ?? null, opts.vector ? vectorToBlob(opts.vector) : null, now, now, now, opts.sourceConversation ?? null, opts.extra ? JSON.stringify(opts.extra) : null);
149
+ if (opts.supersedes) {
150
+ this.conn.prepare("UPDATE memories SET is_active=0, updated_at=? WHERE id=?").run(now, opts.supersedes);
151
+ }
152
+ return id;
153
+ }
154
+ delete(memId) {
155
+ const result = this.conn.prepare("DELETE FROM memories WHERE id=?").run(memId);
156
+ return result.changes > 0;
157
+ }
158
+ clear() {
159
+ const result = this.conn.prepare("DELETE FROM memories").run();
160
+ return result.changes;
161
+ }
162
+ // ── 读取 ─────────────────────────────────────────────────────
163
+ countActive() {
164
+ const row = this.conn.prepare("SELECT COUNT(*) as cnt FROM memories WHERE is_active=1").get();
165
+ return row?.cnt ?? 0;
166
+ }
167
+ getById(memId) {
168
+ const row = this.conn.prepare(`SELECT ${SELECT_COLS} FROM memories WHERE id=?`).get(memId);
169
+ return row ? rowToMemory(row) : null;
170
+ }
171
+ listAll(includeInactive = false) {
172
+ const where = includeInactive ? "" : "WHERE is_active=1";
173
+ const rows = this.conn.prepare(`SELECT ${SELECT_COLS} FROM memories ${where} ORDER BY created_at DESC`).all();
174
+ return rows.map(rowToMemory);
175
+ }
176
+ // ── 检索 ─────────────────────────────────────────────────────
177
+ retrieve(queryVector) {
178
+ const memories = queryVector
179
+ ? this.vectorSearch(queryVector, MAX_INJECTION_MEMORIES, RETRIEVAL_SIMILARITY_THRESHOLD)
180
+ : this.getAllActive().slice(0, MAX_INJECTION_MEMORIES);
181
+ this.touch(memories);
182
+ return memories;
183
+ }
184
+ findSimilar(queryVector, threshold = 0.7) {
185
+ const rows = this.conn.prepare(`SELECT ${SELECT_COLS} FROM memories WHERE is_active=1 AND vector IS NOT NULL`).all();
186
+ const results = [];
187
+ for (const r of rows) {
188
+ const m = rowToMemory(r);
189
+ if (!m.vector)
190
+ continue;
191
+ const sim = cosineSimilarity(queryVector, m.vector);
192
+ if (sim >= threshold) {
193
+ results.push({ memory: m, similarity: sim });
194
+ }
195
+ }
196
+ results.sort((a, b) => b.similarity - a.similarity);
197
+ return results;
198
+ }
199
+ // ── 元信息 ────────────────────────────────────────────────────
200
+ setMeta(key, value) {
201
+ this.conn.prepare("INSERT OR REPLACE INTO meta (key, value) VALUES (?, ?)").run(key, value);
202
+ }
203
+ getMeta(key) {
204
+ const row = this.conn.prepare("SELECT value FROM meta WHERE key=?").get(key);
205
+ return row?.value ?? null;
206
+ }
207
+ // ── 导入导出 ──────────────────────────────────────────────────
208
+ async exportTo(dest) {
209
+ this.conn.pragma("wal_checkpoint(TRUNCATE)");
210
+ await this.conn.backup(dest);
211
+ }
212
+ importFrom(src) {
213
+ const srcDb = new Database(src, { readonly: true });
214
+ const rows = srcDb.prepare(`SELECT ${SELECT_COLS} FROM memories WHERE is_active=1`).all();
215
+ srcDb.close();
216
+ let count = 0;
217
+ for (const r of rows) {
218
+ const existing = this.getById(r.id);
219
+ if (!existing) {
220
+ const m = rowToMemory(r);
221
+ this.conn.prepare(`INSERT INTO memories
222
+ (id, content, summary, category, subject, confidence,
223
+ is_active, supersedes, vector, created_at, updated_at,
224
+ last_accessed, access_count, source_conversation, extra)
225
+ VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`).run(m.id, m.content, m.summary, m.category, m.subject, m.confidence, m.isActive, m.supersedes, m.vector ? vectorToBlob(m.vector) : null, m.createdAt, m.updatedAt, m.lastAccessed, m.accessCount, m.sourceConversation, m.extra ? JSON.stringify(m.extra) : null);
226
+ count++;
227
+ }
228
+ }
229
+ return count;
230
+ }
231
+ // ── 私有方法 ──────────────────────────────────────────────────
232
+ getAllActive() {
233
+ const rows = this.conn.prepare(`SELECT ${SELECT_COLS}
234
+ FROM memories
235
+ WHERE is_active=1
236
+ ORDER BY
237
+ CASE WHEN category='profile' THEN 0 ELSE 1 END,
238
+ access_count DESC,
239
+ last_accessed DESC,
240
+ created_at DESC`).all();
241
+ return rows.map(rowToMemory);
242
+ }
243
+ getByCategory(category) {
244
+ const rows = this.conn.prepare(`SELECT ${SELECT_COLS} FROM memories WHERE is_active=1 AND category=?`).all(category);
245
+ return rows.map(rowToMemory);
246
+ }
247
+ vectorSearch(queryVector, topK, threshold = 0) {
248
+ const rows = this.conn.prepare(`SELECT ${SELECT_COLS} FROM memories WHERE is_active=1 AND vector IS NOT NULL`).all();
249
+ const scored = [];
250
+ for (const r of rows) {
251
+ const m = rowToMemory(r);
252
+ if (!m.vector)
253
+ continue;
254
+ const sim = cosineSimilarity(queryVector, m.vector);
255
+ if (sim < threshold)
256
+ continue;
257
+ scored.push({ memory: m, sim });
258
+ }
259
+ scored.sort((a, b) => b.sim - a.sim);
260
+ return scored.slice(0, topK).map((s) => s.memory);
261
+ }
262
+ touch(memories) {
263
+ const now = nowLocal();
264
+ const stmt = this.conn.prepare("UPDATE memories SET last_accessed=?, access_count=access_count+1 WHERE id=?");
265
+ for (const m of memories) {
266
+ stmt.run(now, m.id);
267
+ }
268
+ }
269
+ }
270
+ // ── 格式化 ───────────────────────────────────────────────────────────
271
+ export function formatMemoriesForInjection(memories) {
272
+ if (memories.length === 0)
273
+ return "";
274
+ const lines = ["\n\n[User Memory - Provided by Melu]"];
275
+ let usedChars = lines[0].length;
276
+ for (const m of memories.slice(0, MAX_INJECTION_MEMORIES)) {
277
+ const content = truncateCharacters(normalizeWhitespace(m.content || m.summary), 500);
278
+ if (content === "")
279
+ continue;
280
+ const timestamp = (m.updatedAt || m.createdAt || "").slice(0, 16);
281
+ const line = `- ${timestamp} user says: ${content}`;
282
+ if (usedChars + line.length > MAX_INJECTION_CHARS) {
283
+ break;
284
+ }
285
+ lines.push(line);
286
+ usedChars += line.length + 1;
287
+ }
288
+ if (lines.length === 1) {
289
+ return "";
290
+ }
291
+ return lines.join("\n");
292
+ }
293
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type MeluConfig, type MirrorName, type UiLanguage } from "./config.js";
2
+ export declare function getMirrorLabel(mirror: MirrorName | null, language?: UiLanguage | null): string;
3
+ export declare function getConfiguredMirror(config: MeluConfig, preferredMirror?: string | null): MirrorName | null;
4
+ export declare function getConfiguredUiLanguage(config: MeluConfig, preferredLanguage?: string | UiLanguage | null): UiLanguage | null;
5
+ export declare function promptForUiLanguageSelection(languageForPrompts?: UiLanguage): Promise<UiLanguage>;
6
+ export declare function promptForMirrorSelection(language?: UiLanguage): Promise<MirrorName>;
7
+ export declare function ensureUiLanguageConfigured(config: MeluConfig, options?: {
8
+ interactive: boolean;
9
+ preferredLanguage?: string | UiLanguage | null;
10
+ save?: boolean;
11
+ }): Promise<MeluConfig>;
12
+ export declare function ensureMirrorConfigured(config: MeluConfig, options?: {
13
+ interactive: boolean;
14
+ preferredMirror?: string | null;
15
+ uiLanguage?: UiLanguage | null;
16
+ save?: boolean;
17
+ }): Promise<MeluConfig>;
18
+ export declare function ensureEmbeddingRuntimeAvailable(language?: UiLanguage | null): Promise<void>;
19
+ export declare function ensureEmbeddingModelReady(options?: {
20
+ config?: MeluConfig;
21
+ interactive?: boolean;
22
+ preferredLanguage?: string | UiLanguage | null;
23
+ preferredMirror?: string | null;
24
+ showProgress?: boolean;
25
+ }): Promise<{
26
+ config: MeluConfig;
27
+ modelPath: string;
28
+ }>;
29
+ //# sourceMappingURL=model-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-bootstrap.d.ts","sourceRoot":"","sources":["../src/model-bootstrap.ts"],"names":[],"mappings":"AASA,OAAO,EAWL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AA8BrB,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,QAAQ,GAAE,UAAU,GAAG,IAAW,GACjC,MAAM,CAGR;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,UAAU,GAAG,IAAI,CAGnB;AAgBD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAC7C,UAAU,GAAG,IAAI,CAInB;AAED,wBAAsB,4BAA4B,CAChD,kBAAkB,GAAE,UAAiB,GACpC,OAAO,CAAC,UAAU,CAAC,CAkBrB;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,GAAE,UAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IACP,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;CACS,GACzB,OAAO,CAAC,UAAU,CAAC,CAqBrB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE;IACP,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CACS,GACzB,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED,wBAAsB,+BAA+B,CAAC,QAAQ,GAAE,UAAU,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvG;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACnB,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCpD"}