shipmyagent 1.0.239 → 1.0.243

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 (107) hide show
  1. package/bin/main/context/context-agent/components/RuntimeOrchestrator.d.ts.map +1 -1
  2. package/bin/main/context/context-agent/components/RuntimeOrchestrator.js +10 -4
  3. package/bin/main/context/context-agent/components/RuntimeOrchestrator.js.map +1 -1
  4. package/bin/main/context/manager/RequestContext.d.ts.map +1 -1
  5. package/bin/main/context/manager/RequestContext.js +29 -0
  6. package/bin/main/context/manager/RequestContext.js.map +1 -1
  7. package/bin/main/context/manager/RuntimeState.d.ts.map +1 -1
  8. package/bin/main/context/manager/RuntimeState.js +0 -5
  9. package/bin/main/context/manager/RuntimeState.js.map +1 -1
  10. package/bin/main/prompts/system/SystemDomain.d.ts.map +1 -1
  11. package/bin/main/prompts/system/SystemDomain.js +1 -10
  12. package/bin/main/prompts/system/SystemDomain.js.map +1 -1
  13. package/bin/main/prompts/system/assets/core.prompt.txt +5 -1
  14. package/bin/main/prompts/system/assets/service.prompt.txt +3 -2
  15. package/bin/main/server/commands/Start.js +2 -2
  16. package/bin/main/server/constants/Ship.d.ts.map +1 -1
  17. package/bin/main/server/constants/Ship.js +2 -0
  18. package/bin/main/server/constants/Ship.js.map +1 -1
  19. package/bin/main/server/constants/ShipSchema.d.ts.map +1 -1
  20. package/bin/main/server/constants/ShipSchema.js +2 -0
  21. package/bin/main/server/constants/ShipSchema.js.map +1 -1
  22. package/bin/main/server/daemon/CliArgs.js +5 -5
  23. package/bin/main/server/daemon/CliArgs.js.map +1 -1
  24. package/bin/main/server/env/Paths.d.ts.map +1 -1
  25. package/bin/main/server/env/Paths.js +34 -0
  26. package/bin/main/server/env/Paths.js.map +1 -1
  27. package/bin/main/service/Services.d.ts.map +1 -1
  28. package/bin/main/service/Services.js +2 -0
  29. package/bin/main/service/Services.js.map +1 -1
  30. package/bin/main/tools/shell/Tool.d.ts.map +1 -1
  31. package/bin/main/tools/shell/Tool.js +199 -12
  32. package/bin/main/tools/shell/Tool.js.map +1 -1
  33. package/bin/main/types/ShipConfig.d.ts.map +1 -1
  34. package/bin/services/chat/channels/qq/QQ.d.ts.map +1 -1
  35. package/bin/services/chat/channels/qq/QQ.js +172 -149
  36. package/bin/services/chat/channels/qq/QQ.js.map +1 -1
  37. package/bin/services/chat/channels/qq/VoiceInput.d.ts.map +1 -1
  38. package/bin/services/chat/channels/qq/VoiceInput.js +66 -16
  39. package/bin/services/chat/channels/qq/VoiceInput.js.map +1 -1
  40. package/bin/services/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
  41. package/bin/services/chat/runtime/ChatQueueWorker.js +92 -17
  42. package/bin/services/chat/runtime/ChatQueueWorker.js.map +1 -1
  43. package/bin/services/memory/Action.d.ts.map +1 -0
  44. package/bin/services/memory/Action.js +151 -0
  45. package/bin/services/memory/Action.js.map +1 -0
  46. package/bin/services/memory/Index.d.ts.map +1 -0
  47. package/bin/services/memory/Index.js +258 -0
  48. package/bin/services/memory/Index.js.map +1 -0
  49. package/bin/services/memory/runtime/Flush.d.ts.map +1 -0
  50. package/bin/services/memory/runtime/Flush.js +63 -0
  51. package/bin/services/memory/runtime/Flush.js.map +1 -0
  52. package/bin/services/memory/runtime/Indexer.d.ts.map +1 -0
  53. package/bin/services/memory/runtime/Indexer.js +344 -0
  54. package/bin/services/memory/runtime/Indexer.js.map +1 -0
  55. package/bin/services/memory/runtime/Search.d.ts.map +1 -0
  56. package/bin/services/memory/runtime/Search.js +65 -0
  57. package/bin/services/memory/runtime/Search.js.map +1 -0
  58. package/bin/services/memory/runtime/Store.d.ts.map +1 -0
  59. package/bin/services/memory/runtime/Store.js +265 -0
  60. package/bin/services/memory/runtime/Store.js.map +1 -0
  61. package/bin/services/memory/runtime/SystemProvider.d.ts.map +1 -1
  62. package/bin/services/memory/runtime/SystemProvider.js +28 -43
  63. package/bin/services/memory/runtime/SystemProvider.js.map +1 -1
  64. package/bin/services/memory/runtime/Writer.d.ts.map +1 -0
  65. package/bin/services/memory/runtime/Writer.js +141 -0
  66. package/bin/services/memory/runtime/Writer.js.map +1 -0
  67. package/bin/services/memory/types/Memory.d.ts.map +1 -1
  68. package/bin/services/memory/types/Memory.js +7 -0
  69. package/bin/services/memory/types/Memory.js.map +1 -1
  70. package/bin/services/skills/Index.d.ts.map +1 -1
  71. package/bin/services/skills/Index.js +40 -10
  72. package/bin/services/skills/Index.js.map +1 -1
  73. package/bin/services/skills/PROMPT.txt +10 -6
  74. package/bin/services/skills/runtime/Prompt.d.ts.map +1 -1
  75. package/bin/services/skills/runtime/Prompt.js +39 -37
  76. package/bin/services/skills/runtime/Prompt.js.map +1 -1
  77. package/bin/services/skills/runtime/SystemProvider.js +1 -1
  78. package/bin/services/task/Action.d.ts.map +1 -1
  79. package/bin/services/task/Action.js +0 -4
  80. package/bin/services/task/Action.js.map +1 -1
  81. package/bin/services/task/Index.js +2 -2
  82. package/bin/services/task/PROMPT.txt +4 -5
  83. package/bin/services/task/Scheduler.d.ts.map +1 -1
  84. package/bin/services/task/Scheduler.js +0 -8
  85. package/bin/services/task/Scheduler.js.map +1 -1
  86. package/bin/services/task/runtime/Runner.d.ts.map +1 -1
  87. package/bin/services/task/runtime/Runner.js +0 -65
  88. package/bin/services/task/runtime/Runner.js.map +1 -1
  89. package/bin/services/task/types/Task.d.ts.map +1 -1
  90. package/bin/services/task/types/TaskCommand.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/src/main/prompts/system/assets/core.prompt.txt +5 -1
  93. package/src/main/prompts/system/assets/service.prompt.txt +3 -2
  94. package/src/services/README.md +1 -1
  95. package/src/services/skills/PROMPT.txt +10 -6
  96. package/src/services/task/PROMPT.txt +4 -5
  97. package/test/chat/chat-queue-worker-burst-merge.test.mjs +165 -0
  98. package/test/chat/qq-voice-input.test.mjs +22 -0
  99. package/bin/services/memory/runtime/Extractor.d.ts.map +0 -1
  100. package/bin/services/memory/runtime/Extractor.js +0 -229
  101. package/bin/services/memory/runtime/Extractor.js.map +0 -1
  102. package/bin/services/memory/runtime/Manager.d.ts.map +0 -1
  103. package/bin/services/memory/runtime/Manager.js +0 -156
  104. package/bin/services/memory/runtime/Manager.js.map +0 -1
  105. package/bin/services/memory/runtime/Service.d.ts.map +0 -1
  106. package/bin/services/memory/runtime/Service.js +0 -145
  107. package/bin/services/memory/runtime/Service.js.map +0 -1
@@ -0,0 +1,344 @@
1
+ /**
2
+ * Memory Indexer(SQLite FTS)。
3
+ *
4
+ * 关键点(中文)
5
+ * - 使用 SQLite + FTS5 做本地检索加速。
6
+ * - Markdown 仍是事实源,索引可重建。
7
+ */
8
+ import crypto from "node:crypto";
9
+ import fs from "node:fs/promises";
10
+ import { mkdirSync } from "node:fs";
11
+ import path from "node:path";
12
+ import { DatabaseSync } from "node:sqlite";
13
+ import { getShipMemoryIndexPath } from "../../../main/server/env/Paths.js";
14
+ const INDEX_SCHEMA_VERSION = 1;
15
+ const SNIPPET_MAX_CHARS = 700;
16
+ const CHUNK_MAX_CHARS = 1600;
17
+ const CHUNK_OVERLAP_CHARS = 240;
18
+ function hashText(value) {
19
+ return crypto.createHash("sha256").update(value).digest("hex");
20
+ }
21
+ function normalizeText(input) {
22
+ return String(input || "").replace(/\r\n/g, "\n");
23
+ }
24
+ function quoteFtsToken(token) {
25
+ return `"${token.replace(/"/g, '""')}"`;
26
+ }
27
+ /**
28
+ * 构建 FTS 查询表达式。
29
+ */
30
+ export function buildFtsQuery(raw) {
31
+ const normalized = String(raw || "").trim();
32
+ if (!normalized)
33
+ return null;
34
+ const tokens = normalized
35
+ .replace(/[^\p{L}\p{N}_-]+/gu, " ")
36
+ .split(/\s+/)
37
+ .map((item) => item.trim())
38
+ .filter(Boolean)
39
+ .slice(0, 12);
40
+ if (tokens.length === 0) {
41
+ return null;
42
+ }
43
+ return tokens.map((token) => `${quoteFtsToken(token)}*`).join(" ");
44
+ }
45
+ function bm25RankToScore(rank) {
46
+ if (!Number.isFinite(rank)) {
47
+ return 0;
48
+ }
49
+ return 1 / (1 + Math.abs(rank));
50
+ }
51
+ function truncateText(value, maxChars) {
52
+ if (value.length <= maxChars) {
53
+ return value;
54
+ }
55
+ return value.slice(0, maxChars);
56
+ }
57
+ function chunkMarkdown(content) {
58
+ const lines = normalizeText(content).split("\n");
59
+ if (lines.length === 0) {
60
+ return [];
61
+ }
62
+ const out = [];
63
+ let bucket = [];
64
+ let chars = 0;
65
+ const flush = () => {
66
+ if (bucket.length === 0)
67
+ return;
68
+ const startLine = bucket[0]?.lineNo ?? 1;
69
+ const endLine = bucket[bucket.length - 1]?.lineNo ?? startLine;
70
+ const text = bucket.map((item) => item.line).join("\n").trim();
71
+ if (text) {
72
+ out.push({
73
+ startLine,
74
+ endLine,
75
+ text,
76
+ hash: hashText(text),
77
+ });
78
+ }
79
+ };
80
+ const carryOverlap = () => {
81
+ if (bucket.length === 0 || CHUNK_OVERLAP_CHARS <= 0) {
82
+ bucket = [];
83
+ chars = 0;
84
+ return;
85
+ }
86
+ let acc = 0;
87
+ const next = [];
88
+ for (let i = bucket.length - 1; i >= 0; i -= 1) {
89
+ const row = bucket[i];
90
+ if (!row)
91
+ continue;
92
+ acc += row.line.length + 1;
93
+ next.unshift(row);
94
+ if (acc >= CHUNK_OVERLAP_CHARS)
95
+ break;
96
+ }
97
+ bucket = next;
98
+ chars = bucket.reduce((sum, item) => sum + item.line.length + 1, 0);
99
+ };
100
+ for (let i = 0; i < lines.length; i += 1) {
101
+ const line = lines[i] ?? "";
102
+ const rowSize = line.length + 1;
103
+ if (bucket.length > 0 && chars + rowSize > CHUNK_MAX_CHARS) {
104
+ flush();
105
+ carryOverlap();
106
+ }
107
+ bucket.push({ line, lineNo: i + 1 });
108
+ chars += rowSize;
109
+ }
110
+ flush();
111
+ return out;
112
+ }
113
+ /**
114
+ * MemoryIndexManager(单项目单实例)。
115
+ */
116
+ export class MemoryIndexer {
117
+ rootPath;
118
+ dbPath;
119
+ db;
120
+ constructor(rootPath) {
121
+ this.rootPath = rootPath;
122
+ this.dbPath = getShipMemoryIndexPath(rootPath);
123
+ const dir = path.dirname(this.dbPath);
124
+ // 同步创建目录,保证 sqlite 可打开。
125
+ // 关键点(中文):这里是启动路径,避免引入异步竞态。
126
+ mkdirSync(dir, { recursive: true });
127
+ this.db = new DatabaseSync(this.dbPath);
128
+ this.ensureSchema();
129
+ }
130
+ getRelativeDbPath() {
131
+ return path.relative(this.rootPath, this.dbPath).replace(/\\/g, "/");
132
+ }
133
+ close() {
134
+ this.db.close();
135
+ }
136
+ ensureSchema() {
137
+ this.db.exec(`
138
+ CREATE TABLE IF NOT EXISTS meta (
139
+ key TEXT PRIMARY KEY,
140
+ value TEXT NOT NULL
141
+ );
142
+ `);
143
+ this.db.exec(`
144
+ CREATE TABLE IF NOT EXISTS files (
145
+ path TEXT PRIMARY KEY,
146
+ source TEXT NOT NULL,
147
+ hash TEXT NOT NULL,
148
+ mtime INTEGER NOT NULL,
149
+ size INTEGER NOT NULL
150
+ );
151
+ `);
152
+ this.db.exec(`
153
+ CREATE TABLE IF NOT EXISTS chunks (
154
+ id TEXT PRIMARY KEY,
155
+ path TEXT NOT NULL,
156
+ source TEXT NOT NULL,
157
+ start_line INTEGER NOT NULL,
158
+ end_line INTEGER NOT NULL,
159
+ text TEXT NOT NULL,
160
+ hash TEXT NOT NULL,
161
+ updated_at INTEGER NOT NULL
162
+ );
163
+ `);
164
+ this.db.exec(`
165
+ CREATE INDEX IF NOT EXISTS idx_chunks_path ON chunks(path);
166
+ `);
167
+ this.db.exec(`
168
+ CREATE INDEX IF NOT EXISTS idx_chunks_source ON chunks(source);
169
+ `);
170
+ this.db.exec(`
171
+ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(
172
+ text,
173
+ id UNINDEXED,
174
+ path UNINDEXED,
175
+ source UNINDEXED,
176
+ start_line UNINDEXED,
177
+ end_line UNINDEXED
178
+ );
179
+ `);
180
+ const schemaVersion = this.db
181
+ .prepare(`SELECT value FROM meta WHERE key = ?`)
182
+ .get("schema_version");
183
+ if (schemaVersion?.value !== String(INDEX_SCHEMA_VERSION)) {
184
+ this.db
185
+ .prepare(`INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value`)
186
+ .run("schema_version", String(INDEX_SCHEMA_VERSION));
187
+ }
188
+ }
189
+ listIndexedFiles() {
190
+ return this.db
191
+ .prepare(`SELECT path, hash FROM files`)
192
+ .all();
193
+ }
194
+ deleteFileIndex(relPath) {
195
+ this.db.prepare(`DELETE FROM chunks_fts WHERE path = ?`).run(relPath);
196
+ this.db.prepare(`DELETE FROM chunks WHERE path = ?`).run(relPath);
197
+ this.db.prepare(`DELETE FROM files WHERE path = ?`).run(relPath);
198
+ }
199
+ writeFileChunks(file, chunks) {
200
+ const now = Date.now();
201
+ const insertChunk = this.db.prepare(`INSERT INTO chunks (id, path, source, start_line, end_line, text, hash, updated_at)
202
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`);
203
+ const insertFts = this.db.prepare(`INSERT INTO chunks_fts (text, id, path, source, start_line, end_line)
204
+ VALUES (?, ?, ?, ?, ?, ?)`);
205
+ for (const chunk of chunks) {
206
+ const id = hashText(`${file.relPath}:${file.source}:${chunk.startLine}:${chunk.endLine}:${chunk.hash}`);
207
+ insertChunk.run(id, file.relPath, file.source, chunk.startLine, chunk.endLine, chunk.text, chunk.hash, now);
208
+ insertFts.run(chunk.text, id, file.relPath, file.source, chunk.startLine, chunk.endLine);
209
+ }
210
+ }
211
+ async sync(files, options) {
212
+ const totalFiles = files.length;
213
+ const force = options?.force === true;
214
+ const existing = new Map(this.listIndexedFiles().map((item) => [item.path, item.hash]));
215
+ const activePaths = new Set(files.map((item) => item.relPath));
216
+ let reindexedFiles = 0;
217
+ let removedFiles = 0;
218
+ let totalChunks = 0;
219
+ this.db.exec("BEGIN");
220
+ try {
221
+ for (const file of files) {
222
+ const stat = await fs.stat(file.absPath);
223
+ const content = normalizeText(await fs.readFile(file.absPath, "utf-8"));
224
+ const hash = hashText(content);
225
+ const prevHash = existing.get(file.relPath);
226
+ if (!force && prevHash === hash) {
227
+ continue;
228
+ }
229
+ this.deleteFileIndex(file.relPath);
230
+ const chunks = chunkMarkdown(content);
231
+ this.writeFileChunks(file, chunks);
232
+ this.db
233
+ .prepare(`INSERT INTO files (path, source, hash, mtime, size)
234
+ VALUES (?, ?, ?, ?, ?)
235
+ ON CONFLICT(path) DO UPDATE SET
236
+ source = excluded.source,
237
+ hash = excluded.hash,
238
+ mtime = excluded.mtime,
239
+ size = excluded.size`)
240
+ .run(file.relPath, file.source, hash, stat.mtimeMs, stat.size);
241
+ reindexedFiles += 1;
242
+ totalChunks += chunks.length;
243
+ }
244
+ for (const stale of existing.keys()) {
245
+ if (activePaths.has(stale))
246
+ continue;
247
+ this.deleteFileIndex(stale);
248
+ removedFiles += 1;
249
+ }
250
+ this.db
251
+ .prepare(`INSERT INTO meta (key, value) VALUES (?, ?)
252
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value`)
253
+ .run("last_indexed_at", String(Date.now()));
254
+ this.db.exec("COMMIT");
255
+ }
256
+ catch (error) {
257
+ this.db.exec("ROLLBACK");
258
+ throw error;
259
+ }
260
+ return {
261
+ totalFiles,
262
+ reindexedFiles,
263
+ removedFiles,
264
+ totalChunks,
265
+ };
266
+ }
267
+ search(params) {
268
+ const ftsQuery = buildFtsQuery(params.query);
269
+ if (!ftsQuery) {
270
+ return [];
271
+ }
272
+ const rows = this.db
273
+ .prepare(`SELECT path, source, start_line, end_line, text, bm25(chunks_fts) AS rank
274
+ FROM chunks_fts
275
+ WHERE chunks_fts MATCH ?
276
+ ORDER BY rank ASC
277
+ LIMIT ?`)
278
+ .all(ftsQuery, Math.max(1, params.maxResults * 3));
279
+ const mapped = rows
280
+ .map((row) => {
281
+ const score = bm25RankToScore(row.rank);
282
+ const citation = row.start_line === row.end_line
283
+ ? `${row.path}#L${row.start_line}`
284
+ : `${row.path}#L${row.start_line}-L${row.end_line}`;
285
+ return {
286
+ path: row.path,
287
+ source: row.source,
288
+ startLine: row.start_line,
289
+ endLine: row.end_line,
290
+ score,
291
+ snippet: truncateText(row.text, SNIPPET_MAX_CHARS),
292
+ citation,
293
+ };
294
+ })
295
+ .filter((item) => item.score >= params.minScore)
296
+ .slice(0, params.maxResults);
297
+ let remain = Math.max(0, params.maxInjectedChars);
298
+ const clamped = [];
299
+ for (const item of mapped) {
300
+ if (remain <= 0)
301
+ break;
302
+ if (item.snippet.length <= remain) {
303
+ clamped.push(item);
304
+ remain -= item.snippet.length;
305
+ continue;
306
+ }
307
+ clamped.push({
308
+ ...item,
309
+ snippet: item.snippet.slice(0, remain),
310
+ });
311
+ break;
312
+ }
313
+ return clamped;
314
+ }
315
+ status() {
316
+ const filesRow = this.db
317
+ .prepare(`SELECT COUNT(*) as c FROM files`)
318
+ .get();
319
+ const chunksRow = this.db
320
+ .prepare(`SELECT COUNT(*) as c FROM chunks`)
321
+ .get();
322
+ const sourceRows = this.db
323
+ .prepare(`SELECT source, COUNT(*) as files,
324
+ (SELECT COUNT(*) FROM chunks c WHERE c.source = f.source) AS chunks
325
+ FROM files f
326
+ GROUP BY source`)
327
+ .all();
328
+ const orderedSources = ["longterm", "daily", "working"];
329
+ const sourceCounts = orderedSources.map((source) => {
330
+ const found = sourceRows.find((item) => item.source === source);
331
+ return {
332
+ source,
333
+ files: found?.files ?? 0,
334
+ chunks: found?.chunks ?? 0,
335
+ };
336
+ });
337
+ return {
338
+ files: filesRow?.c ?? 0,
339
+ chunks: chunksRow?.c ?? 0,
340
+ sourceCounts,
341
+ };
342
+ }
343
+ }
344
+ //# sourceMappingURL=Indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indexer.js","sourceRoot":"","sources":["../../../../src/services/memory/runtime/Indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/services/memory/runtime/Search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAY1C;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA2D/B"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Memory Search 运行时。
3
+ *
4
+ * 关键点(中文)
5
+ * - 收敛检索默认参数与容错返回。
6
+ * - 检索前确保索引同步(dirty 时自动补齐)。
7
+ */
8
+ import { MEMORY_DEFAULTS, ensureMemoryIndexed, getOrCreateMemoryState, } from "./Store.js";
9
+ function clampNumber(value, min, max) {
10
+ if (!Number.isFinite(value))
11
+ return min;
12
+ return Math.max(min, Math.min(max, value));
13
+ }
14
+ /**
15
+ * 执行检索。
16
+ */
17
+ export async function searchMemory(runtime, payload) {
18
+ const state = getOrCreateMemoryState(runtime);
19
+ if (!state.enabled) {
20
+ return {
21
+ backend: "builtin",
22
+ mode: "fts",
23
+ results: [],
24
+ disabled: true,
25
+ error: "memory service disabled",
26
+ action: "Set context.memory.enabled=true or remove the config override.",
27
+ };
28
+ }
29
+ const query = String(payload.query || "").trim();
30
+ if (!query) {
31
+ return {
32
+ backend: "builtin",
33
+ mode: "fts",
34
+ results: [],
35
+ };
36
+ }
37
+ const maxResults = Math.floor(clampNumber(Number(payload.maxResults ?? MEMORY_DEFAULTS.maxResults), 1, 20));
38
+ const minScore = clampNumber(Number(payload.minScore ?? MEMORY_DEFAULTS.minScore), 0, 1);
39
+ try {
40
+ await ensureMemoryIndexed(runtime, { reason: "search" });
41
+ const results = state.indexer.search({
42
+ query,
43
+ maxResults,
44
+ minScore,
45
+ maxInjectedChars: MEMORY_DEFAULTS.maxInjectedChars,
46
+ });
47
+ return {
48
+ backend: "builtin",
49
+ mode: "fts",
50
+ results,
51
+ };
52
+ }
53
+ catch (error) {
54
+ const message = String(error);
55
+ return {
56
+ backend: "builtin",
57
+ mode: "fts",
58
+ results: [],
59
+ disabled: true,
60
+ error: message,
61
+ action: "Run `sma memory index --force` to rebuild local memory index.",
62
+ };
63
+ }
64
+ }
65
+ //# sourceMappingURL=Search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../../src/services/memory/runtime/Search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAuB,EACvB,OAA4B;IAE5B,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,gEAAgE;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,WAAW,CACT,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,CAAC,EACxD,CAAC,EACD,EAAE,CACH,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,EACpD,CAAC,EACD,CAAC,CACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACnC,KAAK;YACL,UAAU;YACV,QAAQ;YACR,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;SACnD,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK;YACX,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,+DAA+D;SACxE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../../src/services/memory/runtime/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,kCAAkC,CAAC;AAO1C,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B;;OAEG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1C;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CACtC,CAAC;AA8CF;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgD7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAkBlF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb,IAAI,CAUN;AA4BD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B9E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAsCvC"}