@moxxy/core 0.5.3 → 0.6.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/run-turn.d.ts.map +1 -1
- package/dist/run-turn.js +4 -1
- package/dist/run-turn.js.map +1 -1
- package/dist/sessions/persistence.d.ts +94 -10
- package/dist/sessions/persistence.d.ts.map +1 -1
- package/dist/sessions/persistence.js +356 -70
- package/dist/sessions/persistence.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +6 -0
- package/src/run-turn.test.ts +46 -0
- package/src/run-turn.ts +4 -1
- package/src/sessions/persistence.flush.test.ts +1 -1
- package/src/sessions/persistence.ready.test.ts +1 -1
- package/src/sessions/persistence.test.ts +312 -6
- package/src/sessions/persistence.ts +412 -67
|
@@ -15,14 +15,16 @@
|
|
|
15
15
|
* a legacy `index.json`, if present, for back-compat). JSONL appends are
|
|
16
16
|
* best-effort (lose at most the last in-flight event on a crash).
|
|
17
17
|
*/
|
|
18
|
-
import { promises as fs } from 'node:fs';
|
|
19
|
-
import * as os from 'node:os';
|
|
18
|
+
import { constants as fsConstants, promises as fs } from 'node:fs';
|
|
20
19
|
import * as path from 'node:path';
|
|
21
20
|
import { createMutex } from '@moxxy/sdk';
|
|
22
|
-
import { writeFileAtomic } from '@moxxy/sdk/server';
|
|
21
|
+
import { moxxyPath, writeFileAtomic } from '@moxxy/sdk/server';
|
|
23
22
|
import { createLogger } from '../logger.js';
|
|
23
|
+
/** Schema version of the per-session metadata file (`<id>.json`). Bump when the
|
|
24
|
+
* shape changes incompatibly; readers tolerate a missing/older version. */
|
|
25
|
+
export const SESSION_META_VERSION = 1;
|
|
24
26
|
export function defaultSessionsDir() {
|
|
25
|
-
return
|
|
27
|
+
return moxxyPath('sessions');
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Session ids are ULIDs internally, but `restoreEvents`/`readEventPage`/
|
|
@@ -111,6 +113,7 @@ export class SessionPersistence {
|
|
|
111
113
|
this.logPath = path.join(this.dir, `${this.id}.jsonl`);
|
|
112
114
|
const now = new Date().toISOString();
|
|
113
115
|
this.meta = {
|
|
116
|
+
version: SESSION_META_VERSION,
|
|
114
117
|
id: this.id,
|
|
115
118
|
cwd: opts.cwd,
|
|
116
119
|
startedAt: now,
|
|
@@ -119,6 +122,7 @@ export class SessionPersistence {
|
|
|
119
122
|
firstPrompt: null,
|
|
120
123
|
provider: opts.providerName ?? null,
|
|
121
124
|
model: opts.modelId ?? null,
|
|
125
|
+
...(opts.source ? { source: opts.source } : {}),
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
/**
|
|
@@ -201,6 +205,16 @@ export class SessionPersistence {
|
|
|
201
205
|
this.scheduleIndexWrite();
|
|
202
206
|
}
|
|
203
207
|
enqueueAppend(event) {
|
|
208
|
+
const ownedEvent = eventForSession(event, this.id);
|
|
209
|
+
if (!ownedEvent) {
|
|
210
|
+
this.logger.warn('session persistence ignored foreign-session event', {
|
|
211
|
+
path: this.logPath,
|
|
212
|
+
sessionId: this.id,
|
|
213
|
+
eventId: event.id,
|
|
214
|
+
eventSessionId: event.sessionId,
|
|
215
|
+
});
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
204
218
|
// Update in-memory meta synchronously so multiple events in the
|
|
205
219
|
// same tick share one debounced index write.
|
|
206
220
|
this.meta = {
|
|
@@ -208,10 +222,11 @@ export class SessionPersistence {
|
|
|
208
222
|
eventCount: this.meta.eventCount + 1,
|
|
209
223
|
lastActivity: new Date().toISOString(),
|
|
210
224
|
firstPrompt: this.meta.firstPrompt ??
|
|
211
|
-
(
|
|
225
|
+
(ownedEvent.type === 'user_prompt' ? firstPromptLabel(ownedEvent.text) : null),
|
|
226
|
+
...providerHeaderFromEvent(ownedEvent),
|
|
212
227
|
};
|
|
213
228
|
this.scheduleIndexWrite();
|
|
214
|
-
const line = JSON.stringify(
|
|
229
|
+
const line = JSON.stringify(ownedEvent) + '\n';
|
|
215
230
|
// Never propagate a write error into the listener chain — but never
|
|
216
231
|
// swallow it silently either: the JSONL is the session's source of
|
|
217
232
|
// truth, so a failing disk must at least be loud.
|
|
@@ -309,28 +324,50 @@ export class SessionPersistence {
|
|
|
309
324
|
if (!this.closed) {
|
|
310
325
|
await this.ensureReady();
|
|
311
326
|
}
|
|
312
|
-
// Write ONLY this session's
|
|
313
|
-
//
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
//
|
|
317
|
-
//
|
|
318
|
-
|
|
327
|
+
// Write ONLY this session's file (`<id>.json`), never a read-modify-write
|
|
328
|
+
// of a shared index — that loses rows when two moxxy processes update
|
|
329
|
+
// "their" row concurrently. `writeJsonAtomic` already `mkdir -p`s the dir,
|
|
330
|
+
// so this owns no ensureLogFile — the `.jsonl` is the append path's job.
|
|
331
|
+
//
|
|
332
|
+
// The UI fields (`title`, `groupId`) are owned by the rename/move path,
|
|
333
|
+
// not the runner. Re-read them just before writing so an external rename
|
|
334
|
+
// or move that landed mid-session is preserved rather than clobbered by
|
|
335
|
+
// our (possibly stale) in-memory copy. The runner owns every other field.
|
|
336
|
+
const onDisk = await readMetaSidecar(this.dir, this.meta.id);
|
|
337
|
+
const merged = {
|
|
338
|
+
...this.meta,
|
|
339
|
+
title: onDisk?.title ?? this.meta.title ?? null,
|
|
340
|
+
groupId: onDisk?.groupId ?? this.meta.groupId ?? null,
|
|
341
|
+
};
|
|
342
|
+
await writeJsonAtomic(metaPath(this.dir, this.meta.id), merged);
|
|
319
343
|
}
|
|
320
344
|
catch {
|
|
321
345
|
// Index write failures shouldn't bring down a session; the
|
|
322
346
|
// user can always re-resume by id from the filename.
|
|
323
347
|
}
|
|
324
348
|
}
|
|
325
|
-
/** One-time, memoized: `mkdir -p` the dir + create the empty `.jsonl
|
|
326
|
-
*
|
|
327
|
-
*
|
|
349
|
+
/** One-time, memoized: `mkdir -p` the dir + create the empty `.jsonl`, then
|
|
350
|
+
* ADOPT a pre-existing file's stable identity: `startedAt` (so the derived
|
|
351
|
+
* "created" time doesn't jump on every resume), `source` (when the caller
|
|
352
|
+
* didn't pass one), and the UI-owned `title`/`groupId` (so the first runner
|
|
353
|
+
* write doesn't drop a rename/move made while no runner was attached). On
|
|
354
|
+
* failure the latch is cleared so a later flush retries. */
|
|
328
355
|
ensureReady() {
|
|
329
356
|
if (!this.ready) {
|
|
330
357
|
this.ready = (async () => {
|
|
331
358
|
await fs.mkdir(this.dir, { recursive: true });
|
|
332
359
|
const handle = await fs.open(this.logPath, 'a');
|
|
333
360
|
await handle.close();
|
|
361
|
+
const existing = await readMetaSidecar(this.dir, this.id);
|
|
362
|
+
if (existing) {
|
|
363
|
+
this.meta = {
|
|
364
|
+
...this.meta,
|
|
365
|
+
startedAt: existing.startedAt,
|
|
366
|
+
source: this.meta.source ?? existing.source,
|
|
367
|
+
title: existing.title ?? null,
|
|
368
|
+
groupId: existing.groupId ?? null,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
334
371
|
})().catch((err) => {
|
|
335
372
|
this.ready = null;
|
|
336
373
|
throw err;
|
|
@@ -340,59 +377,80 @@ export class SessionPersistence {
|
|
|
340
377
|
}
|
|
341
378
|
}
|
|
342
379
|
/**
|
|
343
|
-
* Read the session index by assembling per-session
|
|
344
|
-
*
|
|
345
|
-
* `.jsonl` is missing are dropped. Sorted most-recent-activity first.
|
|
380
|
+
* Read the session index by assembling per-session metadata files (`<id>.json`),
|
|
381
|
+
* then hydrating each one's first prompt from its `.jsonl`. Sessions whose
|
|
382
|
+
* `.jsonl` is missing are dropped. Sorted most-recent-activity first. This is the
|
|
383
|
+
* heavier, jsonl-hydrated read used by `moxxy resume`; the workspace list uses
|
|
384
|
+
* the cheap {@link listSessionMetas} instead.
|
|
346
385
|
*/
|
|
347
386
|
export async function readIndex(dir = defaultSessionsDir()) {
|
|
348
|
-
const
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
387
|
+
const { metas, logs } = await readSessionsDir(dir);
|
|
388
|
+
const present = metas.filter((meta) => logs.has(meta.id));
|
|
389
|
+
const hydrated = await mapWithConcurrency(present, READ_INDEX_CONCURRENCY, (meta) => hydrateMetaFirstPrompt(meta, dir));
|
|
390
|
+
return hydrated.sort((a, b) => b.lastActivity.localeCompare(a.lastActivity));
|
|
391
|
+
}
|
|
392
|
+
async function hydrateMetaFirstPrompt(meta, dir) {
|
|
393
|
+
const stats = await matchingSessionStatsFromLog(meta.id, path.join(dir, `${meta.id}.jsonl`));
|
|
394
|
+
if (!stats)
|
|
395
|
+
return meta;
|
|
396
|
+
if (stats.parsedEvents === 0)
|
|
397
|
+
return meta;
|
|
398
|
+
return {
|
|
399
|
+
...meta,
|
|
400
|
+
eventCount: stats.eventCount,
|
|
401
|
+
firstPrompt: stats.firstPrompt,
|
|
402
|
+
provider: stats.provider ?? meta.provider,
|
|
403
|
+
model: stats.model ?? meta.model,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
async function matchingSessionStatsFromLog(sessionId, logPath) {
|
|
407
|
+
let raw;
|
|
362
408
|
try {
|
|
363
|
-
|
|
409
|
+
raw = await fs.readFile(logPath, 'utf8');
|
|
364
410
|
}
|
|
365
411
|
catch {
|
|
366
|
-
|
|
412
|
+
return null;
|
|
367
413
|
}
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
if (isSessionMeta(parsed))
|
|
377
|
-
byId.set(parsed.id, parsed);
|
|
378
|
-
}
|
|
379
|
-
catch {
|
|
380
|
-
// skip a malformed/half-written sidecar
|
|
381
|
-
}
|
|
382
|
-
});
|
|
383
|
-
const metas = [...byId.values()];
|
|
384
|
-
const checks = await mapWithConcurrency(metas, READ_INDEX_CONCURRENCY, async (meta) => {
|
|
414
|
+
let eventCount = 0;
|
|
415
|
+
let parsedEvents = 0;
|
|
416
|
+
let firstPrompt = null;
|
|
417
|
+
let provider = null;
|
|
418
|
+
let model = null;
|
|
419
|
+
for (const line of raw.split('\n')) {
|
|
420
|
+
if (!line.trim())
|
|
421
|
+
continue;
|
|
385
422
|
try {
|
|
386
|
-
|
|
387
|
-
|
|
423
|
+
const event = JSON.parse(line);
|
|
424
|
+
parsedEvents += 1;
|
|
425
|
+
if (!eventBelongsToSession(event, sessionId))
|
|
426
|
+
continue;
|
|
427
|
+
eventCount += 1;
|
|
428
|
+
if (firstPrompt === null && event.type === 'user_prompt') {
|
|
429
|
+
// Mirror the write-time label (SessionPersistence.enqueueAppend):
|
|
430
|
+
// code-point-aware slice + non-string coercion, so a hydrated index row
|
|
431
|
+
// matches the meta the live append wrote (no surrogate split, never null
|
|
432
|
+
// for a present prompt).
|
|
433
|
+
firstPrompt = firstPromptLabel(event.text);
|
|
434
|
+
}
|
|
435
|
+
const header = providerHeaderFromEvent(event);
|
|
436
|
+
if (header.provider !== undefined)
|
|
437
|
+
provider = header.provider;
|
|
438
|
+
if (header.model !== undefined)
|
|
439
|
+
model = header.model;
|
|
388
440
|
}
|
|
389
441
|
catch {
|
|
390
|
-
|
|
442
|
+
// A corrupt line should not hide a later valid prompt.
|
|
391
443
|
}
|
|
392
|
-
}
|
|
393
|
-
return
|
|
394
|
-
|
|
395
|
-
|
|
444
|
+
}
|
|
445
|
+
return { eventCount, firstPrompt, parsedEvents, provider, model };
|
|
446
|
+
}
|
|
447
|
+
function providerHeaderFromEvent(event) {
|
|
448
|
+
if (event.type !== 'provider_request' && event.type !== 'provider_response')
|
|
449
|
+
return {};
|
|
450
|
+
return {
|
|
451
|
+
provider: event.provider,
|
|
452
|
+
model: event.model,
|
|
453
|
+
};
|
|
396
454
|
}
|
|
397
455
|
/**
|
|
398
456
|
* Restore a previously-persisted session's events. Returns the full
|
|
@@ -430,11 +488,22 @@ export async function restoreEvents(sessionId, dir = defaultSessionsDir(), logge
|
|
|
430
488
|
}
|
|
431
489
|
const events = [];
|
|
432
490
|
let corruptLines = 0;
|
|
491
|
+
let foreignEvents = 0;
|
|
492
|
+
let normalizedSessionIds = 0;
|
|
433
493
|
for (const line of raw.split('\n')) {
|
|
434
494
|
if (!line.trim())
|
|
435
495
|
continue;
|
|
436
496
|
try {
|
|
437
|
-
|
|
497
|
+
const event = JSON.parse(line);
|
|
498
|
+
const ownedEvent = eventForSession(event, sessionId);
|
|
499
|
+
if (ownedEvent) {
|
|
500
|
+
if (ownedEvent !== event)
|
|
501
|
+
normalizedSessionIds += 1;
|
|
502
|
+
events.push(ownedEvent);
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
foreignEvents += 1;
|
|
506
|
+
}
|
|
438
507
|
}
|
|
439
508
|
catch {
|
|
440
509
|
corruptLines += 1;
|
|
@@ -449,17 +518,37 @@ export async function restoreEvents(sessionId, dir = defaultSessionsDir(), logge
|
|
|
449
518
|
resequenced += 1;
|
|
450
519
|
}
|
|
451
520
|
}
|
|
452
|
-
if (corruptLines > 0 || resequenced > 0) {
|
|
453
|
-
|
|
521
|
+
if (corruptLines > 0 || resequenced > 0 || foreignEvents > 0 || normalizedSessionIds > 0) {
|
|
522
|
+
const message = foreignEvents > 0
|
|
523
|
+
? 'session log restored with foreign-session events removed — re-sequenced to keep full history replayable'
|
|
524
|
+
: 'session log restored with gaps — re-sequenced to keep full history replayable';
|
|
525
|
+
logger.warn(message, {
|
|
454
526
|
sessionId,
|
|
455
527
|
path: logPath,
|
|
456
528
|
corruptLines,
|
|
529
|
+
foreignEvents,
|
|
530
|
+
normalizedSessionIds,
|
|
457
531
|
resequencedEvents: resequenced,
|
|
458
532
|
restoredEvents: events.length,
|
|
459
533
|
});
|
|
534
|
+
let canRewrite = true;
|
|
535
|
+
if (foreignEvents > 0) {
|
|
536
|
+
try {
|
|
537
|
+
await backupForeignSessionLog(logPath);
|
|
538
|
+
}
|
|
539
|
+
catch (err) {
|
|
540
|
+
canRewrite = false;
|
|
541
|
+
logger.warn('failed to backup foreign-session log before repair', {
|
|
542
|
+
sessionId,
|
|
543
|
+
path: logPath,
|
|
544
|
+
error: err instanceof Error ? err.message : String(err),
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
}
|
|
460
548
|
try {
|
|
461
|
-
// Conflict guard: only rewrite if
|
|
462
|
-
//
|
|
549
|
+
// Conflict guard: only rewrite if (a) a foreign-session backup didn't
|
|
550
|
+
// fail (`canRewrite`) and (b) the on-disk content still matches what we
|
|
551
|
+
// read. Another process (a desktop runner already attached + a CLI
|
|
463
552
|
// `resume` of the SAME id) may have appended/repaired between our read and
|
|
464
553
|
// this write; its appends are a newer snapshot than our re-sequenced one,
|
|
465
554
|
// and a blind `writeFileAtomic` would clobber them (silent history loss).
|
|
@@ -468,7 +557,10 @@ export async function restoreEvents(sessionId, dir = defaultSessionsDir(), logge
|
|
|
468
557
|
// rewrite. Restore still succeeds either way — the in-memory log is
|
|
469
558
|
// already repaired; only the next clean resume would re-run the repair.
|
|
470
559
|
const current = await fs.readFile(logPath, 'utf8').catch(() => null);
|
|
471
|
-
if (
|
|
560
|
+
if (!canRewrite) {
|
|
561
|
+
/* foreign-session backup failed — skip the destructive rewrite */
|
|
562
|
+
}
|
|
563
|
+
else if (current !== raw) {
|
|
472
564
|
logger.warn('skipped repaired-log rewrite — file changed under us (another process attached?)', {
|
|
473
565
|
sessionId,
|
|
474
566
|
path: logPath,
|
|
@@ -592,18 +684,212 @@ export function pageEvents(events, before, limit) {
|
|
|
592
684
|
return { events: page, prevCursor };
|
|
593
685
|
}
|
|
594
686
|
/**
|
|
595
|
-
*
|
|
596
|
-
*
|
|
597
|
-
*
|
|
687
|
+
* Seed a session's event log from an external event list IFF the session has no
|
|
688
|
+
* log on disk yet. This is the migration that makes the runner's authoritative
|
|
689
|
+
* log the home of a chat whose history previously lived ONLY in a thin client's
|
|
690
|
+
* own mirror (the desktop's NDJSON chat store) — after it runs, `loadHistory`
|
|
691
|
+
* serves that chat from the runner like any other.
|
|
692
|
+
*
|
|
693
|
+
* Idempotent and NON-destructive: if `<sessionId>.jsonl` already exists AND is
|
|
694
|
+
* NON-EMPTY this is a no-op returning `false`, so a session the runner already
|
|
695
|
+
* owns is NEVER overwritten. A 0-byte log IS seeded: `persistence.attach`
|
|
696
|
+
* creates an empty `<id>.jsonl` on every spawn (even a session with zero
|
|
697
|
+
* events), so an existence-only guard would skip exactly the legacy chats this
|
|
698
|
+
* migration targets — and an empty file holds no history, so seeding over it
|
|
699
|
+
* loses nothing. Events are re-sequenced to contiguous `seq` 0..n-1 (order + ids
|
|
700
|
+
* preserved) so the seeded log satisfies {@link EventLog}'s seq invariants when
|
|
701
|
+
* it is later restored. Written temp+rename so a crash mid-seed can't leave a
|
|
702
|
+
* half-written log. Returns `true` iff it wrote the log.
|
|
703
|
+
*/
|
|
704
|
+
export async function seedSessionLog(sessionId, events, dir = defaultSessionsDir()) {
|
|
705
|
+
if (events.length === 0)
|
|
706
|
+
return false;
|
|
707
|
+
const logPath = path.join(dir, `${sessionId}.jsonl`);
|
|
708
|
+
try {
|
|
709
|
+
// A non-empty log is a session the runner already owns → never overwrite.
|
|
710
|
+
// A 0-byte log is the empty file attach() left behind → seed over it.
|
|
711
|
+
if ((await fs.stat(logPath)).size > 0)
|
|
712
|
+
return false;
|
|
713
|
+
}
|
|
714
|
+
catch {
|
|
715
|
+
/* no log yet → seed below */
|
|
716
|
+
}
|
|
717
|
+
await fs.mkdir(dir, { recursive: true });
|
|
718
|
+
const reseq = events.map((e, i) => (e.seq === i ? e : { ...e, seq: i }));
|
|
719
|
+
await writeFileAtomic(logPath, reseq.map((e) => JSON.stringify(e) + '\n').join(''));
|
|
720
|
+
return true;
|
|
721
|
+
}
|
|
722
|
+
function eventBelongsToSession(event, sessionId) {
|
|
723
|
+
const eventSessionId = event.sessionId;
|
|
724
|
+
return eventSessionId == null || eventSessionId === sessionId;
|
|
725
|
+
}
|
|
726
|
+
function eventForSession(event, sessionId) {
|
|
727
|
+
if (!eventBelongsToSession(event, sessionId))
|
|
728
|
+
return null;
|
|
729
|
+
if (event.sessionId === sessionId)
|
|
730
|
+
return event;
|
|
731
|
+
return { ...event, sessionId: sessionId };
|
|
732
|
+
}
|
|
733
|
+
async function backupForeignSessionLog(logPath) {
|
|
734
|
+
try {
|
|
735
|
+
await fs.copyFile(logPath, `${logPath}.foreign-session.bak`, fsConstants.COPYFILE_EXCL);
|
|
736
|
+
}
|
|
737
|
+
catch (err) {
|
|
738
|
+
if (err.code === 'EEXIST')
|
|
739
|
+
return;
|
|
740
|
+
throw err;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Remove a session entirely: its event log (`<id>.jsonl`) and its single
|
|
745
|
+
* metadata file (`<id>.json`). This is the SINGLE deletion mechanism — a session
|
|
746
|
+
* exists iff its `<id>.json` does, so erasing it removes the session from every
|
|
747
|
+
* surface's derived list with no second copy to resurrect it.
|
|
598
748
|
*/
|
|
599
749
|
export async function deleteSession(sessionId, dir = defaultSessionsDir()) {
|
|
600
750
|
assertSafeSessionId(sessionId);
|
|
601
751
|
await fs.rm(path.join(dir, `${sessionId}.jsonl`), { force: true });
|
|
602
752
|
await fs.rm(metaPath(dir, sessionId), { force: true });
|
|
753
|
+
metaCache.delete(metaPath(dir, sessionId));
|
|
603
754
|
}
|
|
604
|
-
/** Per-session metadata
|
|
755
|
+
/** Per-session metadata file path: `<id>.json` (one file per session). */
|
|
605
756
|
function metaPath(dir, id) {
|
|
606
|
-
return path.join(dir, `${id}.
|
|
757
|
+
return path.join(dir, `${id}.json`);
|
|
758
|
+
}
|
|
759
|
+
/** Read one session's metadata file, or null if absent/corrupt. */
|
|
760
|
+
async function readMetaSidecar(dir, id) {
|
|
761
|
+
try {
|
|
762
|
+
const parsed = JSON.parse(await fs.readFile(metaPath(dir, id), 'utf8'));
|
|
763
|
+
return isSessionMeta(parsed) ? parsed : null;
|
|
764
|
+
}
|
|
765
|
+
catch {
|
|
766
|
+
return null;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Patch the UI-owned fields of a session's `<id>.json` in place (read-modify-
|
|
771
|
+
* write): the rename (`title`) and move (`groupId`) paths. A live runner adopts
|
|
772
|
+
* and re-merges these on its next write, so this is safe whether or not a runner
|
|
773
|
+
* is attached. No-op if the session has no metadata file yet.
|
|
774
|
+
*/
|
|
775
|
+
async function patchSessionMeta(sessionId, patch, dir) {
|
|
776
|
+
assertSafeSessionId(sessionId);
|
|
777
|
+
const existing = await readMetaSidecar(dir, sessionId);
|
|
778
|
+
if (!existing)
|
|
779
|
+
return;
|
|
780
|
+
await writeJsonAtomic(metaPath(dir, sessionId), { ...existing, ...patch });
|
|
781
|
+
metaCache.delete(metaPath(dir, sessionId));
|
|
782
|
+
}
|
|
783
|
+
/** Persist (or clear, when blank) a user-set session title — the rename path. */
|
|
784
|
+
export async function setSessionTitle(sessionId, title, dir = defaultSessionsDir()) {
|
|
785
|
+
await patchSessionMeta(sessionId, { title: title.trim() || null }, dir);
|
|
786
|
+
}
|
|
787
|
+
/** Persist (or clear, when null) a session's explicit desk/workspace membership. */
|
|
788
|
+
export async function setSessionGroup(sessionId, groupId, dir = defaultSessionsDir()) {
|
|
789
|
+
await patchSessionMeta(sessionId, { groupId: groupId ?? null }, dir);
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Seed a session's `<id>.json` (+ empty `.jsonl`) so a freshly-created session
|
|
793
|
+
* appears in the derived workspace list IMMEDIATELY, before its runner spawns
|
|
794
|
+
* and attaches. Idempotent: if a metadata file already exists this is a no-op,
|
|
795
|
+
* so it never clobbers a live session. The runner adopts the seeded
|
|
796
|
+
* `startedAt`/`source`/`groupId`/`title` on attach.
|
|
797
|
+
*/
|
|
798
|
+
export async function seedSessionMeta(sessionId, cwd, source, dir = defaultSessionsDir(), groupId = null) {
|
|
799
|
+
assertSafeSessionId(sessionId);
|
|
800
|
+
if (await readMetaSidecar(dir, sessionId))
|
|
801
|
+
return;
|
|
802
|
+
await fs.mkdir(dir, { recursive: true });
|
|
803
|
+
const handle = await fs.open(path.join(dir, `${sessionId}.jsonl`), 'a');
|
|
804
|
+
await handle.close();
|
|
805
|
+
const now = new Date().toISOString();
|
|
806
|
+
const meta = {
|
|
807
|
+
version: SESSION_META_VERSION,
|
|
808
|
+
id: sessionId,
|
|
809
|
+
cwd,
|
|
810
|
+
startedAt: now,
|
|
811
|
+
lastActivity: now,
|
|
812
|
+
eventCount: 0,
|
|
813
|
+
firstPrompt: null,
|
|
814
|
+
provider: null,
|
|
815
|
+
model: null,
|
|
816
|
+
source,
|
|
817
|
+
groupId,
|
|
818
|
+
title: null,
|
|
819
|
+
};
|
|
820
|
+
await writeJsonAtomic(metaPath(dir, sessionId), meta);
|
|
821
|
+
metaCache.delete(metaPath(dir, sessionId));
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Parse-cache for `<id>.json` files, keyed by absolute path. A file is re-parsed
|
|
825
|
+
* only when its mtime/size changes, so listing thousands of sessions on every
|
|
826
|
+
* `desks.list` costs N cheap stats plus reparses of just the CHANGED files — not
|
|
827
|
+
* N JSON parses. Cross-process safe: another process's write bumps the mtime,
|
|
828
|
+
* observed on the next stat. Per-process, bounded by the number of sessions.
|
|
829
|
+
*/
|
|
830
|
+
const metaCache = new Map();
|
|
831
|
+
/**
|
|
832
|
+
* One pass over the sessions dir: a single `readdir` yields BOTH the `<id>.json`
|
|
833
|
+
* metadata files and the set of `<id>` ids that have an event log, so callers
|
|
834
|
+
* test log-existence with an O(1) Set lookup instead of an `fs.access` per
|
|
835
|
+
* session. Each `<id>.json` is `stat`-checked and re-parsed only when its
|
|
836
|
+
* mtime/size changed (the parse cache), so steady-state cost is one `readdir` +
|
|
837
|
+
* N cheap `stat`s + reparses of only the CHANGED files.
|
|
838
|
+
*/
|
|
839
|
+
async function readSessionsDir(dir) {
|
|
840
|
+
let dirents;
|
|
841
|
+
try {
|
|
842
|
+
dirents = await fs.readdir(dir, { withFileTypes: true });
|
|
843
|
+
}
|
|
844
|
+
catch {
|
|
845
|
+
return { metas: [], logs: new Set() };
|
|
846
|
+
}
|
|
847
|
+
const logs = new Set();
|
|
848
|
+
const files = [];
|
|
849
|
+
for (const d of dirents) {
|
|
850
|
+
if (!d.isFile())
|
|
851
|
+
continue;
|
|
852
|
+
if (d.name.endsWith('.jsonl'))
|
|
853
|
+
logs.add(d.name.slice(0, -'.jsonl'.length));
|
|
854
|
+
else if (d.name.endsWith('.json') && d.name !== 'index.json')
|
|
855
|
+
files.push(d);
|
|
856
|
+
}
|
|
857
|
+
const live = new Set(files.map((d) => path.join(dir, d.name)));
|
|
858
|
+
for (const key of metaCache.keys())
|
|
859
|
+
if (!live.has(key))
|
|
860
|
+
metaCache.delete(key);
|
|
861
|
+
const metas = await mapWithConcurrency(files, READ_INDEX_CONCURRENCY, async (d) => {
|
|
862
|
+
const file = path.join(dir, d.name);
|
|
863
|
+
try {
|
|
864
|
+
const stat = await fs.stat(file);
|
|
865
|
+
const cached = metaCache.get(file);
|
|
866
|
+
if (cached && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) {
|
|
867
|
+
return cached.meta;
|
|
868
|
+
}
|
|
869
|
+
const parsed = JSON.parse(await fs.readFile(file, 'utf8'));
|
|
870
|
+
if (!isSessionMeta(parsed))
|
|
871
|
+
return null;
|
|
872
|
+
metaCache.set(file, { mtimeMs: stat.mtimeMs, size: stat.size, meta: parsed });
|
|
873
|
+
return parsed;
|
|
874
|
+
}
|
|
875
|
+
catch {
|
|
876
|
+
return null;
|
|
877
|
+
}
|
|
878
|
+
});
|
|
879
|
+
return { metas: metas.filter((m) => m !== null), logs };
|
|
880
|
+
}
|
|
881
|
+
/**
|
|
882
|
+
* List every session from its `<id>.json` (mtime-cached, no `.jsonl` re-read) —
|
|
883
|
+
* the cheap read the workspace list/search uses on every `desks.list`. Sessions
|
|
884
|
+
* whose `.jsonl` is gone are dropped (a deleted session never lingers). Use
|
|
885
|
+
* {@link readIndex} when you need the jsonl-hydrated picker view. Sorted
|
|
886
|
+
* most-recent-activity first.
|
|
887
|
+
*/
|
|
888
|
+
export async function listSessionMetas(dir = defaultSessionsDir()) {
|
|
889
|
+
const { metas, logs } = await readSessionsDir(dir);
|
|
890
|
+
return metas
|
|
891
|
+
.filter((meta) => logs.has(meta.id))
|
|
892
|
+
.sort((a, b) => b.lastActivity.localeCompare(a.lastActivity));
|
|
607
893
|
}
|
|
608
894
|
/**
|
|
609
895
|
* First 80 chars of a prompt for the picker label, sliced on code-point (not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/sessions/persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/sessions/persistence.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moxxy/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The moxxy runtime as a programmatic library: the agentic Session + runTurn loop, the event log, the plugin host, every block registry (providers, tools, modes, compactors, cache strategies, channels, …), session persistence, and the permission engine. Pair with @moxxy/sdk to build and embed moxxy agents in your own code.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"moxxy",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"jiti": "^2.4.2",
|
|
43
43
|
"ulid": "^2.3.0",
|
|
44
44
|
"zod": "^3.24.0",
|
|
45
|
-
"@moxxy/sdk": "0.16.
|
|
45
|
+
"@moxxy/sdk": "0.16.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "^22.10.0",
|