@brainpilot/runtime 0.0.8 → 0.0.10
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.
- package/dist/agent-error.d.ts.map +1 -1
- package/dist/agent-error.js +10 -3
- package/dist/agent-error.js.map +1 -1
- package/dist/events.d.ts +18 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +16 -0
- package/dist/events.js.map +1 -1
- package/dist/extensions/agent-status.d.ts +13 -11
- package/dist/extensions/agent-status.d.ts.map +1 -1
- package/dist/extensions/agent-status.js +37 -21
- package/dist/extensions/agent-status.js.map +1 -1
- package/dist/extensions/trace-reminder.d.ts +7 -19
- package/dist/extensions/trace-reminder.d.ts.map +1 -1
- package/dist/extensions/trace-reminder.js +57 -33
- package/dist/extensions/trace-reminder.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mas-agent.d.ts +2 -0
- package/dist/mas-agent.d.ts.map +1 -1
- package/dist/mas-agent.js +54 -3
- package/dist/mas-agent.js.map +1 -1
- package/dist/mcp-bridge.d.ts +21 -0
- package/dist/mcp-bridge.d.ts.map +1 -1
- package/dist/mcp-bridge.js +31 -1
- package/dist/mcp-bridge.js.map +1 -1
- package/dist/personas.d.ts.map +1 -1
- package/dist/personas.js +66 -14
- package/dist/personas.js.map +1 -1
- package/dist/platform.d.ts +32 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +33 -0
- package/dist/platform.js.map +1 -0
- package/dist/server.d.ts +0 -12
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -11
- package/dist/server.js.map +1 -1
- package/dist/session-manager.d.ts +50 -3
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +162 -36
- package/dist/session-manager.js.map +1 -1
- package/dist/tools/kb/paths.d.ts +24 -0
- package/dist/tools/kb/paths.d.ts.map +1 -0
- package/dist/tools/kb/paths.js +69 -0
- package/dist/tools/kb/paths.js.map +1 -0
- package/dist/tools/kb/python.d.ts +2 -0
- package/dist/tools/kb/python.d.ts.map +1 -0
- package/dist/tools/kb/python.js +42 -0
- package/dist/tools/kb/python.js.map +1 -0
- package/dist/tools/kb/retrieve.d.ts +20 -0
- package/dist/tools/kb/retrieve.d.ts.map +1 -0
- package/dist/tools/kb/retrieve.js +122 -0
- package/dist/tools/kb/retrieve.js.map +1 -0
- package/dist/tools/kb/search-papers.d.ts +39 -0
- package/dist/tools/kb/search-papers.d.ts.map +1 -0
- package/dist/tools/kb/search-papers.js +188 -0
- package/dist/tools/kb/search-papers.js.map +1 -0
- package/dist/tools/kb/sidecar.d.ts +11 -0
- package/dist/tools/kb/sidecar.d.ts.map +1 -0
- package/dist/tools/kb/sidecar.js +161 -0
- package/dist/tools/kb/sidecar.js.map +1 -0
- package/dist/tools/kb/store.d.ts +45 -0
- package/dist/tools/kb/store.d.ts.map +1 -0
- package/dist/tools/kb/store.js +157 -0
- package/dist/tools/kb/store.js.map +1 -0
- package/dist/tools/kb/tools.d.ts +24 -0
- package/dist/tools/kb/tools.d.ts.map +1 -0
- package/dist/tools/kb/tools.js +192 -0
- package/dist/tools/kb/tools.js.map +1 -0
- package/dist/tools/skill-search.d.ts +8 -1
- package/dist/tools/skill-search.d.ts.map +1 -1
- package/dist/tools/skill-search.js +54 -12
- package/dist/tools/skill-search.js.map +1 -1
- package/dist/tools/system-tools.d.ts.map +1 -1
- package/dist/tools/system-tools.js +41 -6
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,12 @@ export interface SessionManagerOptions {
|
|
|
53
53
|
export declare function estimateTokens(text: string): number;
|
|
54
54
|
export declare class SessionManager {
|
|
55
55
|
private readonly sessions;
|
|
56
|
+
/**
|
|
57
|
+
* In-flight `restoreOne` promises, keyed by session id. Guards against a
|
|
58
|
+
* refreshed UI firing `state` + `sse` (+ `messages`) near-simultaneously and
|
|
59
|
+
* racing two `createSession` restores for the same evicted session.
|
|
60
|
+
*/
|
|
61
|
+
private readonly loading;
|
|
56
62
|
private readonly dataRoot;
|
|
57
63
|
private readonly agentFactory;
|
|
58
64
|
private readonly persist;
|
|
@@ -181,7 +187,25 @@ export declare class SessionManager {
|
|
|
181
187
|
* Returns the updated session, or undefined if the session is unknown.
|
|
182
188
|
*/
|
|
183
189
|
renameSession(id: string, title?: unknown): Promise<Session | undefined>;
|
|
184
|
-
|
|
190
|
+
/**
|
|
191
|
+
* List sessions, merging live in-memory entries with persisted-but-evicted
|
|
192
|
+
* ones discovered on disk (#223). Without this, a session dropped by
|
|
193
|
+
* `evictSession` (or an idle reaper) vanishes from the sidebar even though its
|
|
194
|
+
* `.bp/<sid>/` transcript is intact — a refresh then looks like total loss.
|
|
195
|
+
*
|
|
196
|
+
* Discovery is metadata-only: we read each `meta.json` but do NOT revive the
|
|
197
|
+
* full runtime entry (bus/mailbox/trace/agents), so listing stays cheap and
|
|
198
|
+
* eviction keeps saving memory. The session is lazily revived by
|
|
199
|
+
* `ensureLoaded` only when it's actually opened. In-memory entries win on id
|
|
200
|
+
* collision. Ordering is left to the caller (the web sorts by updatedAt).
|
|
201
|
+
*/
|
|
202
|
+
listSessions(): Promise<Session[]>;
|
|
203
|
+
/**
|
|
204
|
+
* Ensure a persisted session is live in memory, reviving it from disk if it
|
|
205
|
+
* was evicted (#223). Returns true when the session is available afterwards.
|
|
206
|
+
* Concurrent calls for the same id share one restore via `this.loading`.
|
|
207
|
+
*/
|
|
208
|
+
ensureLoaded(id: string): Promise<boolean>;
|
|
185
209
|
deleteSession(id: string): Promise<boolean>;
|
|
186
210
|
/** Evict idle session: stop agents + drop from memory, KEEP disk (§修正2). */
|
|
187
211
|
evictSession(id: string): Promise<{
|
|
@@ -390,8 +414,16 @@ export declare class SessionManager {
|
|
|
390
414
|
* the web rehydrate path so long sessions are not sliced through the middle
|
|
391
415
|
* of a streamed message.
|
|
392
416
|
*
|
|
393
|
-
*
|
|
394
|
-
*
|
|
417
|
+
* History is a **disk read** (`<dataRoot>/.bp/<sid>/events.jsonl`), so it does
|
|
418
|
+
* NOT require the session to be live in memory: a session evicted by the idle
|
|
419
|
+
* reaper (or lost to a runtime restart) keeps its transcript on disk
|
|
420
|
+
* (`evictSession` flushes + drops the in-memory entry but never deletes the
|
|
421
|
+
* file). Returning `undefined` only when neither memory nor disk knows the
|
|
422
|
+
* session is what lets a post-refresh rehydrate replay an evicted session
|
|
423
|
+
* instead of getting a 404 and rendering an empty transcript (#165 / #194-B2).
|
|
424
|
+
*
|
|
425
|
+
* In non-persisting mode (`persist:false`, e.g. unit tests) there is no disk
|
|
426
|
+
* backing, so an unknown session is genuinely `undefined`.
|
|
395
427
|
*/
|
|
396
428
|
readEventHistory(sessionId: string, opts?: {
|
|
397
429
|
limit?: number;
|
|
@@ -450,5 +482,20 @@ export declare class SessionManager {
|
|
|
450
482
|
* were already loaded or whose meta.json was missing / malformed).
|
|
451
483
|
*/
|
|
452
484
|
restoreFromDisk(): Promise<string[]>;
|
|
485
|
+
/**
|
|
486
|
+
* Read and parse `.bp/<id>/meta.json`. Returns null when the directory has no
|
|
487
|
+
* meta.json (not a session dir) or the file is malformed. Shared by
|
|
488
|
+
* `restoreOne`, `restoreFromDisk`, and the discovery path in `listSessions`.
|
|
489
|
+
*/
|
|
490
|
+
private readMeta;
|
|
491
|
+
/**
|
|
492
|
+
* Revive a single persisted session from disk into memory. Returns the
|
|
493
|
+
* restored session id only when it was **freshly** loaded this call — null
|
|
494
|
+
* when the session is already in memory (idempotent no-op) or there's no valid
|
|
495
|
+
* meta.json on disk. `restoreFromDisk` relies on this to report only newly
|
|
496
|
+
* restored ids; `ensureLoaded` layers "already loaded" on top separately.
|
|
497
|
+
* §10 策略A: agents start idle and are lazily spawned on the next message.
|
|
498
|
+
*/
|
|
499
|
+
private restoreOne;
|
|
453
500
|
}
|
|
454
501
|
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAEtB,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,QAAQ,EAA6B,MAAM,gBAAgB,CAAC;AAMrE,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/session-manager.js
CHANGED
|
@@ -26,6 +26,7 @@ import { McpBridge, loadMcpServersConfig } from "./mcp-bridge.js";
|
|
|
26
26
|
import { materializeSkills } from "./materialize-skills.js";
|
|
27
27
|
import { resolveSessionProvider } from "./provider-config.js";
|
|
28
28
|
import { MemWatchdog, parseMemLimitMb } from "./mem-watchdog.js";
|
|
29
|
+
import { isWindows } from "./platform.js";
|
|
29
30
|
function makeDeferred() {
|
|
30
31
|
let resolve;
|
|
31
32
|
let reject;
|
|
@@ -78,6 +79,12 @@ function formatBytes(n) {
|
|
|
78
79
|
}
|
|
79
80
|
export class SessionManager {
|
|
80
81
|
sessions = new Map();
|
|
82
|
+
/**
|
|
83
|
+
* In-flight `restoreOne` promises, keyed by session id. Guards against a
|
|
84
|
+
* refreshed UI firing `state` + `sse` (+ `messages`) near-simultaneously and
|
|
85
|
+
* racing two `createSession` restores for the same evicted session.
|
|
86
|
+
*/
|
|
87
|
+
loading = new Map();
|
|
81
88
|
dataRoot;
|
|
82
89
|
agentFactory;
|
|
83
90
|
persist;
|
|
@@ -235,6 +242,13 @@ export class SessionManager {
|
|
|
235
242
|
rel = "";
|
|
236
243
|
else if (rel.startsWith("/workspace/"))
|
|
237
244
|
rel = rel.slice("/workspace/".length);
|
|
245
|
+
// Cross-platform (#5): the runtime now emits POSIX `/` in all
|
|
246
|
+
// workspace-relative paths it hands out (writeSessionFile, skill_search).
|
|
247
|
+
// Accept either separator on the way back in so an LLM that round-trips
|
|
248
|
+
// a path we gave it (or pre-#5 clients with cached `\` paths) still
|
|
249
|
+
// resolves correctly. `\` is not a legal Windows filename character, so
|
|
250
|
+
// this collapse is unambiguous.
|
|
251
|
+
rel = rel.replace(/\\/g, "/");
|
|
238
252
|
rel = rel.replace(/^\/+/, ""); // never let a leading slash make it absolute
|
|
239
253
|
const abs = resolve(root, rel);
|
|
240
254
|
if (abs !== root && !abs.startsWith(root + sep)) {
|
|
@@ -249,8 +263,18 @@ export class SessionManager {
|
|
|
249
263
|
try {
|
|
250
264
|
dirents = await readdir(dir, { withFileTypes: true });
|
|
251
265
|
}
|
|
252
|
-
catch {
|
|
253
|
-
|
|
266
|
+
catch (err) {
|
|
267
|
+
// ENOENT is the only benign case: the workspace dir does not exist yet
|
|
268
|
+
// because nothing has been written for this (new) session → empty list.
|
|
269
|
+
// Any OTHER failure (EACCES, EPERM, ENOTDIR, a Windows-specific readdir
|
|
270
|
+
// error, …) is a real problem; swallowing it as `[]` made a broken
|
|
271
|
+
// listing indistinguishable from an empty workspace (#193). Surface it so
|
|
272
|
+
// the panel can show a distinct error instead of a misleading empty state.
|
|
273
|
+
const code = err?.code;
|
|
274
|
+
if (code === "ENOENT") {
|
|
275
|
+
return []; // missing workspace → empty (new session, nothing written yet)
|
|
276
|
+
}
|
|
277
|
+
throw new Error(`failed to list workspace for session ${sid} at ${dir}: ${code ?? err?.message ?? String(err)}`);
|
|
254
278
|
}
|
|
255
279
|
const entries = await Promise.all(dirents.map(async (d) => {
|
|
256
280
|
const type = d.isDirectory()
|
|
@@ -265,7 +289,11 @@ export class SessionManager {
|
|
|
265
289
|
const st = await stat(join(dir, d.name));
|
|
266
290
|
size = st.size;
|
|
267
291
|
modified = Math.floor(st.mtimeMs / 1000);
|
|
268
|
-
|
|
292
|
+
// POSIX permission bits are meaningless on Windows (`st.mode` reflects
|
|
293
|
+
// FAT-era read-only attr only and would always render `666`/`777`/`444`),
|
|
294
|
+
// so emit an empty string and let the frontend show `-` instead of a
|
|
295
|
+
// misleading octal value. (#10 — cross-platform pass.)
|
|
296
|
+
permissions = isWindows ? "" : (st.mode & 0o777).toString(8);
|
|
269
297
|
}
|
|
270
298
|
catch {
|
|
271
299
|
/* broken symlink / race — report zeros */
|
|
@@ -313,8 +341,11 @@ export class SessionManager {
|
|
|
313
341
|
await mkdir(dirname(abs), { recursive: true });
|
|
314
342
|
await writeFile(abs, buf);
|
|
315
343
|
// Return the workspace-relative path (strip the absolute root prefix).
|
|
344
|
+
// Cross-platform (#5): always emit POSIX `/` so the API contract is
|
|
345
|
+
// identical across hosts; the frontend embeds this in URL query strings
|
|
346
|
+
// (`?path=foo/bar.txt`) and the model echoes it back via `read_file`.
|
|
316
347
|
const root = this.workspaceDir(sid);
|
|
317
|
-
const relOut = abs === root ? "" : abs.slice(root.length + 1);
|
|
348
|
+
const relOut = abs === root ? "" : abs.slice(root.length + 1).split(sep).join("/");
|
|
318
349
|
return { path: relOut, size: buf.byteLength };
|
|
319
350
|
}
|
|
320
351
|
/**
|
|
@@ -514,8 +545,68 @@ export class SessionManager {
|
|
|
514
545
|
await this.writeMeta(e);
|
|
515
546
|
return this.toSession(e);
|
|
516
547
|
}
|
|
517
|
-
|
|
518
|
-
|
|
548
|
+
/**
|
|
549
|
+
* List sessions, merging live in-memory entries with persisted-but-evicted
|
|
550
|
+
* ones discovered on disk (#223). Without this, a session dropped by
|
|
551
|
+
* `evictSession` (or an idle reaper) vanishes from the sidebar even though its
|
|
552
|
+
* `.bp/<sid>/` transcript is intact — a refresh then looks like total loss.
|
|
553
|
+
*
|
|
554
|
+
* Discovery is metadata-only: we read each `meta.json` but do NOT revive the
|
|
555
|
+
* full runtime entry (bus/mailbox/trace/agents), so listing stays cheap and
|
|
556
|
+
* eviction keeps saving memory. The session is lazily revived by
|
|
557
|
+
* `ensureLoaded` only when it's actually opened. In-memory entries win on id
|
|
558
|
+
* collision. Ordering is left to the caller (the web sorts by updatedAt).
|
|
559
|
+
*/
|
|
560
|
+
async listSessions() {
|
|
561
|
+
const out = new Map();
|
|
562
|
+
for (const e of this.sessions.values())
|
|
563
|
+
out.set(e.id, this.toSession(e));
|
|
564
|
+
if (this.persist) {
|
|
565
|
+
const root = join(this.dataRoot, ".bp");
|
|
566
|
+
let ids;
|
|
567
|
+
try {
|
|
568
|
+
ids = await readdir(root);
|
|
569
|
+
}
|
|
570
|
+
catch {
|
|
571
|
+
ids = []; // .bp/ doesn't exist yet — only in-memory sessions
|
|
572
|
+
}
|
|
573
|
+
for (const id of ids) {
|
|
574
|
+
if (out.has(id))
|
|
575
|
+
continue;
|
|
576
|
+
const meta = await this.readMeta(id);
|
|
577
|
+
if (!meta)
|
|
578
|
+
continue;
|
|
579
|
+
const sid = meta.id ?? id;
|
|
580
|
+
if (out.has(sid))
|
|
581
|
+
continue;
|
|
582
|
+
out.set(sid, {
|
|
583
|
+
id: sid,
|
|
584
|
+
title: meta.title ?? "Untitled session",
|
|
585
|
+
createdAt: meta.createdAt ?? "",
|
|
586
|
+
updatedAt: meta.updatedAt ?? "",
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
return [...out.values()];
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* Ensure a persisted session is live in memory, reviving it from disk if it
|
|
594
|
+
* was evicted (#223). Returns true when the session is available afterwards.
|
|
595
|
+
* Concurrent calls for the same id share one restore via `this.loading`.
|
|
596
|
+
*/
|
|
597
|
+
async ensureLoaded(id) {
|
|
598
|
+
if (this.sessions.has(id))
|
|
599
|
+
return true;
|
|
600
|
+
if (!this.persist)
|
|
601
|
+
return false;
|
|
602
|
+
const inflight = this.loading.get(id);
|
|
603
|
+
if (inflight)
|
|
604
|
+
return inflight;
|
|
605
|
+
const p = this.restoreOne(id)
|
|
606
|
+
.then((sid) => sid !== null)
|
|
607
|
+
.finally(() => this.loading.delete(id));
|
|
608
|
+
this.loading.set(id, p);
|
|
609
|
+
return p;
|
|
519
610
|
}
|
|
520
611
|
async deleteSession(id) {
|
|
521
612
|
const e = this.sessions.get(id);
|
|
@@ -1219,11 +1310,20 @@ export class SessionManager {
|
|
|
1219
1310
|
* the web rehydrate path so long sessions are not sliced through the middle
|
|
1220
1311
|
* of a streamed message.
|
|
1221
1312
|
*
|
|
1222
|
-
*
|
|
1223
|
-
*
|
|
1313
|
+
* History is a **disk read** (`<dataRoot>/.bp/<sid>/events.jsonl`), so it does
|
|
1314
|
+
* NOT require the session to be live in memory: a session evicted by the idle
|
|
1315
|
+
* reaper (or lost to a runtime restart) keeps its transcript on disk
|
|
1316
|
+
* (`evictSession` flushes + drops the in-memory entry but never deletes the
|
|
1317
|
+
* file). Returning `undefined` only when neither memory nor disk knows the
|
|
1318
|
+
* session is what lets a post-refresh rehydrate replay an evicted session
|
|
1319
|
+
* instead of getting a 404 and rendering an empty transcript (#165 / #194-B2).
|
|
1320
|
+
*
|
|
1321
|
+
* In non-persisting mode (`persist:false`, e.g. unit tests) there is no disk
|
|
1322
|
+
* backing, so an unknown session is genuinely `undefined`.
|
|
1224
1323
|
*/
|
|
1225
1324
|
async readEventHistory(sessionId, opts = {}) {
|
|
1226
|
-
|
|
1325
|
+
// Without persistence the only source of truth is memory.
|
|
1326
|
+
if (!this.persist && !this.sessions.has(sessionId))
|
|
1227
1327
|
return undefined;
|
|
1228
1328
|
const requestedLimit = opts.limit;
|
|
1229
1329
|
const limit = requestedLimit === undefined || !Number.isFinite(requestedLimit)
|
|
@@ -1237,7 +1337,11 @@ export class SessionManager {
|
|
|
1237
1337
|
raw = await readFile(path, "utf8");
|
|
1238
1338
|
}
|
|
1239
1339
|
catch {
|
|
1240
|
-
// No events file
|
|
1340
|
+
// No events file. For a live (or persisting-but-new) session this is a
|
|
1341
|
+
// valid empty history. For an unknown session with no transcript on disk
|
|
1342
|
+
// there is nothing to serve → undefined so the route can 404.
|
|
1343
|
+
if (!this.sessions.has(sessionId))
|
|
1344
|
+
return undefined;
|
|
1241
1345
|
return { events: [], total: 0, truncated: false };
|
|
1242
1346
|
}
|
|
1243
1347
|
const lines = raw.split("\n");
|
|
@@ -1411,35 +1515,57 @@ export class SessionManager {
|
|
|
1411
1515
|
return restored; // .bp/ doesn't exist yet — fresh install
|
|
1412
1516
|
}
|
|
1413
1517
|
for (const id of ids) {
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
const metaPath = join(root, id, "meta.json");
|
|
1417
|
-
let raw;
|
|
1418
|
-
try {
|
|
1419
|
-
raw = await readFile(metaPath, "utf8");
|
|
1420
|
-
}
|
|
1421
|
-
catch {
|
|
1422
|
-
continue; // not a session dir (no meta.json) — silent skip
|
|
1423
|
-
}
|
|
1424
|
-
try {
|
|
1425
|
-
const meta = JSON.parse(raw);
|
|
1426
|
-
const sid = meta.id ?? id;
|
|
1427
|
-
if (this.sessions.has(sid))
|
|
1428
|
-
continue;
|
|
1429
|
-
const now = new Date().toISOString();
|
|
1430
|
-
await this.createSession({ id: sid, title: meta.title }, {
|
|
1431
|
-
createdAt: meta.createdAt ?? now,
|
|
1432
|
-
updatedAt: meta.updatedAt ?? now,
|
|
1433
|
-
lastActivityAt: typeof meta.lastActivityAt === "number" ? meta.lastActivityAt : Date.now(),
|
|
1434
|
-
});
|
|
1518
|
+
const sid = await this.restoreOne(id);
|
|
1519
|
+
if (sid !== null)
|
|
1435
1520
|
restored.push(sid);
|
|
1436
|
-
}
|
|
1437
|
-
catch (err) {
|
|
1438
|
-
// eslint-disable-next-line no-console
|
|
1439
|
-
console.warn(`[runtime] skipping ${id}: ${err.message}`);
|
|
1440
|
-
}
|
|
1441
1521
|
}
|
|
1442
1522
|
return restored;
|
|
1443
1523
|
}
|
|
1524
|
+
/**
|
|
1525
|
+
* Read and parse `.bp/<id>/meta.json`. Returns null when the directory has no
|
|
1526
|
+
* meta.json (not a session dir) or the file is malformed. Shared by
|
|
1527
|
+
* `restoreOne`, `restoreFromDisk`, and the discovery path in `listSessions`.
|
|
1528
|
+
*/
|
|
1529
|
+
async readMeta(id) {
|
|
1530
|
+
try {
|
|
1531
|
+
const raw = await readFile(join(this.dataRoot, ".bp", id, "meta.json"), "utf8");
|
|
1532
|
+
return JSON.parse(raw);
|
|
1533
|
+
}
|
|
1534
|
+
catch {
|
|
1535
|
+
return null;
|
|
1536
|
+
}
|
|
1537
|
+
}
|
|
1538
|
+
/**
|
|
1539
|
+
* Revive a single persisted session from disk into memory. Returns the
|
|
1540
|
+
* restored session id only when it was **freshly** loaded this call — null
|
|
1541
|
+
* when the session is already in memory (idempotent no-op) or there's no valid
|
|
1542
|
+
* meta.json on disk. `restoreFromDisk` relies on this to report only newly
|
|
1543
|
+
* restored ids; `ensureLoaded` layers "already loaded" on top separately.
|
|
1544
|
+
* §10 策略A: agents start idle and are lazily spawned on the next message.
|
|
1545
|
+
*/
|
|
1546
|
+
async restoreOne(id) {
|
|
1547
|
+
if (this.sessions.has(id))
|
|
1548
|
+
return null;
|
|
1549
|
+
const meta = await this.readMeta(id);
|
|
1550
|
+
if (!meta)
|
|
1551
|
+
return null;
|
|
1552
|
+
const sid = meta.id ?? id;
|
|
1553
|
+
if (this.sessions.has(sid))
|
|
1554
|
+
return null;
|
|
1555
|
+
try {
|
|
1556
|
+
const now = new Date().toISOString();
|
|
1557
|
+
await this.createSession({ id: sid, title: meta.title }, {
|
|
1558
|
+
createdAt: meta.createdAt ?? now,
|
|
1559
|
+
updatedAt: meta.updatedAt ?? now,
|
|
1560
|
+
lastActivityAt: typeof meta.lastActivityAt === "number" ? meta.lastActivityAt : Date.now(),
|
|
1561
|
+
});
|
|
1562
|
+
return sid;
|
|
1563
|
+
}
|
|
1564
|
+
catch (err) {
|
|
1565
|
+
// eslint-disable-next-line no-console
|
|
1566
|
+
console.warn(`[runtime] skipping ${id}: ${err.message}`);
|
|
1567
|
+
return null;
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1444
1570
|
}
|
|
1445
1571
|
//# sourceMappingURL=session-manager.js.map
|