holistic 0.4.2 → 0.5.1
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/__tests__/mcp-notification.test.d.ts.map +1 -1
- package/dist/__tests__/mcp-notification.test.js +111 -0
- package/dist/__tests__/mcp-notification.test.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +77 -9
- package/dist/cli.js.map +1 -1
- package/dist/core/docs.d.ts +4 -1
- package/dist/core/docs.d.ts.map +1 -1
- package/dist/core/docs.js +103 -27
- package/dist/core/docs.js.map +1 -1
- package/dist/core/git-hooks.d.ts.map +1 -1
- package/dist/core/git-hooks.js +4 -13
- package/dist/core/git-hooks.js.map +1 -1
- package/dist/core/setup.js +1 -1
- package/dist/core/state.d.ts +22 -2
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +300 -20
- package/dist/core/state.js.map +1 -1
- package/dist/core/types.d.ts +34 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +64 -29
- package/dist/daemon.js.map +1 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +30 -12
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/dist/core/state.js
CHANGED
|
@@ -65,11 +65,14 @@ export function getRuntimePaths(rootDir) {
|
|
|
65
65
|
rootCopilotInstructionsDoc ? relativeToRoot(rootDir, rootCopilotInstructionsDoc) : null,
|
|
66
66
|
relativeToRoot(rootDir, holisticDir),
|
|
67
67
|
].filter((value, index, list) => Boolean(value) && list.indexOf(value) === index);
|
|
68
|
+
const sessionsDir = path.join(holisticDir, "sessions");
|
|
69
|
+
const archiveSessionsDir = path.join(sessionsDir, "archive");
|
|
68
70
|
return {
|
|
69
71
|
rootDir,
|
|
70
72
|
holisticDir,
|
|
71
73
|
stateFile: path.join(holisticDir, "state.json"),
|
|
72
|
-
sessionsDir
|
|
74
|
+
sessionsDir,
|
|
75
|
+
archiveSessionsDir,
|
|
73
76
|
contextDir,
|
|
74
77
|
adaptersDir: path.join(contextDir, "adapters"),
|
|
75
78
|
masterDoc,
|
|
@@ -228,6 +231,7 @@ export function createInitialState(rootDir) {
|
|
|
228
231
|
function ensureDirs(paths) {
|
|
229
232
|
fs.mkdirSync(paths.holisticDir, { recursive: true });
|
|
230
233
|
fs.mkdirSync(paths.sessionsDir, { recursive: true });
|
|
234
|
+
fs.mkdirSync(paths.archiveSessionsDir, { recursive: true });
|
|
231
235
|
fs.mkdirSync(paths.contextDir, { recursive: true });
|
|
232
236
|
fs.mkdirSync(paths.adaptersDir, { recursive: true });
|
|
233
237
|
}
|
|
@@ -345,6 +349,7 @@ function createSession(agent, goal, title, plan) {
|
|
|
345
349
|
references: [],
|
|
346
350
|
impactNotes: [],
|
|
347
351
|
regressionRisks: [],
|
|
352
|
+
completionSignal: null,
|
|
348
353
|
changedFiles: [],
|
|
349
354
|
checkpointCount: 0,
|
|
350
355
|
lastCheckpointReason: "session-start",
|
|
@@ -368,22 +373,121 @@ function recentFirstMerge(current, incoming) {
|
|
|
368
373
|
const remaining = current.filter((item) => !incomingUnique.includes(item));
|
|
369
374
|
return [...incomingUnique, ...remaining];
|
|
370
375
|
}
|
|
371
|
-
|
|
372
|
-
if (!fs.existsSync(
|
|
376
|
+
function readSessionsFromDir(directory) {
|
|
377
|
+
if (!fs.existsSync(directory)) {
|
|
373
378
|
return [];
|
|
374
379
|
}
|
|
375
380
|
const sessions = [];
|
|
376
|
-
for (const file of fs.readdirSync(
|
|
381
|
+
for (const file of fs.readdirSync(directory)) {
|
|
377
382
|
if (!file.endsWith(".json")) {
|
|
378
383
|
continue;
|
|
379
384
|
}
|
|
380
385
|
try {
|
|
381
|
-
sessions.push(JSON.parse(fs.readFileSync(path.join(
|
|
386
|
+
sessions.push(JSON.parse(fs.readFileSync(path.join(directory, file), "utf8")));
|
|
382
387
|
}
|
|
383
388
|
catch {
|
|
384
389
|
}
|
|
385
390
|
}
|
|
386
|
-
return sessions
|
|
391
|
+
return sessions;
|
|
392
|
+
}
|
|
393
|
+
function sortSessionsNewestFirst(sessions) {
|
|
394
|
+
return [...sessions].sort((left, right) => {
|
|
395
|
+
const rightKey = right.endedAt || right.updatedAt || "";
|
|
396
|
+
const leftKey = left.endedAt || left.updatedAt || "";
|
|
397
|
+
return rightKey.localeCompare(leftKey);
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
export function readActiveSessions(paths) {
|
|
401
|
+
return sortSessionsNewestFirst(readSessionsFromDir(paths.sessionsDir));
|
|
402
|
+
}
|
|
403
|
+
export function readArchivedSessions(paths) {
|
|
404
|
+
return sortSessionsNewestFirst(readSessionsFromDir(paths.archiveSessionsDir));
|
|
405
|
+
}
|
|
406
|
+
export function readAllSessions(paths) {
|
|
407
|
+
return sortSessionsNewestFirst([...readActiveSessions(paths), ...readArchivedSessions(paths)]);
|
|
408
|
+
}
|
|
409
|
+
const STALE_SESSION_AGE_MS = 30 * 24 * 60 * 60 * 1000;
|
|
410
|
+
function referencedSessionIds(state, paths) {
|
|
411
|
+
const ids = new Set();
|
|
412
|
+
if (state.activeSession) {
|
|
413
|
+
ids.add(state.activeSession.id);
|
|
414
|
+
}
|
|
415
|
+
if (state.lastHandoff) {
|
|
416
|
+
ids.add(state.lastHandoff.sessionId);
|
|
417
|
+
}
|
|
418
|
+
for (const item of state.pendingWork) {
|
|
419
|
+
if (item.carriedFromSession) {
|
|
420
|
+
ids.add(item.carriedFromSession);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
for (const session of readSessionsFromDir(paths.sessionsDir)) {
|
|
424
|
+
if (session.relatedSessions) {
|
|
425
|
+
for (const related of session.relatedSessions) {
|
|
426
|
+
ids.add(related);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return ids;
|
|
431
|
+
}
|
|
432
|
+
export function findArchiveCandidates(paths, state, currentTimeMs = Date.now()) {
|
|
433
|
+
const referenced = referencedSessionIds(state, paths);
|
|
434
|
+
const cutoffMs = currentTimeMs - STALE_SESSION_AGE_MS;
|
|
435
|
+
const candidates = [];
|
|
436
|
+
for (const session of readSessionsFromDir(paths.sessionsDir)) {
|
|
437
|
+
if (!session.endedAt) {
|
|
438
|
+
continue;
|
|
439
|
+
}
|
|
440
|
+
const endedMs = new Date(session.endedAt).getTime();
|
|
441
|
+
if (Number.isNaN(endedMs)) {
|
|
442
|
+
continue;
|
|
443
|
+
}
|
|
444
|
+
if (endedMs > cutoffMs) {
|
|
445
|
+
continue;
|
|
446
|
+
}
|
|
447
|
+
if (referenced.has(session.id)) {
|
|
448
|
+
continue;
|
|
449
|
+
}
|
|
450
|
+
candidates.push(session);
|
|
451
|
+
}
|
|
452
|
+
return candidates;
|
|
453
|
+
}
|
|
454
|
+
export function runSessionHygiene(paths, state, currentTimeMs = Date.now()) {
|
|
455
|
+
const candidates = findArchiveCandidates(paths, state, currentTimeMs);
|
|
456
|
+
const archived = [];
|
|
457
|
+
for (const session of candidates) {
|
|
458
|
+
const activePath = path.join(paths.sessionsDir, `${session.id}.json`);
|
|
459
|
+
const archivePath = path.join(paths.archiveSessionsDir, `${session.id}.json`);
|
|
460
|
+
try {
|
|
461
|
+
fs.writeFileSync(archivePath, JSON.stringify(session, null, 2) + "\n", "utf8");
|
|
462
|
+
fs.unlinkSync(activePath);
|
|
463
|
+
archived.push(session.id);
|
|
464
|
+
}
|
|
465
|
+
catch {
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
return archived;
|
|
469
|
+
}
|
|
470
|
+
export function reactivateArchivedSession(paths, sessionId) {
|
|
471
|
+
const archivePath = path.join(paths.archiveSessionsDir, `${sessionId}.json`);
|
|
472
|
+
if (!fs.existsSync(archivePath)) {
|
|
473
|
+
return null;
|
|
474
|
+
}
|
|
475
|
+
let session;
|
|
476
|
+
try {
|
|
477
|
+
session = JSON.parse(fs.readFileSync(archivePath, "utf8"));
|
|
478
|
+
}
|
|
479
|
+
catch {
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
const activePath = path.join(paths.sessionsDir, `${sessionId}.json`);
|
|
483
|
+
try {
|
|
484
|
+
fs.writeFileSync(activePath, JSON.stringify(session, null, 2) + "\n", "utf8");
|
|
485
|
+
fs.unlinkSync(archivePath);
|
|
486
|
+
}
|
|
487
|
+
catch {
|
|
488
|
+
return null;
|
|
489
|
+
}
|
|
490
|
+
return session;
|
|
387
491
|
}
|
|
388
492
|
function buildResumeRecap(state) {
|
|
389
493
|
const lines = [];
|
|
@@ -449,27 +553,40 @@ export function getResumePayload(state, agent) {
|
|
|
449
553
|
}
|
|
450
554
|
export function buildStartupGreeting(state, agent) {
|
|
451
555
|
const payload = getResumePayload(state, agent);
|
|
452
|
-
|
|
556
|
+
const diagnostics = evaluateHealthDiagnostics(state);
|
|
557
|
+
const hasCarryover = payload.status !== "empty";
|
|
558
|
+
if (!hasCarryover && diagnostics.warnings.length === 0) {
|
|
453
559
|
return null;
|
|
454
560
|
}
|
|
455
561
|
const lines = [];
|
|
456
562
|
lines.push("Holistic resume");
|
|
457
563
|
lines.push("");
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
564
|
+
if (hasCarryover) {
|
|
565
|
+
lines.push(...payload.recap.map((line) => `- ${line}`));
|
|
566
|
+
lines.push("");
|
|
567
|
+
lines.push(`Choices: ${payload.choices.join(", ")}`);
|
|
568
|
+
lines.push(`Adapter doc: ${payload.adapterDoc}`);
|
|
569
|
+
lines.push(`Recommended command: ${payload.recommendedCommand}`);
|
|
570
|
+
lines.push(`Long-term history: ${state.docIndex.historyDoc}`);
|
|
571
|
+
lines.push(`Regression watch: ${state.docIndex.regressionDoc}`);
|
|
572
|
+
lines.push(`Zero-touch architecture: ${state.docIndex.zeroTouchDoc}`);
|
|
573
|
+
}
|
|
574
|
+
if (diagnostics.warnings.length > 0) {
|
|
575
|
+
if (hasCarryover) {
|
|
576
|
+
lines.push("");
|
|
577
|
+
}
|
|
578
|
+
lines.push("System health warnings:");
|
|
579
|
+
for (const warning of diagnostics.warnings) {
|
|
580
|
+
lines.push(`- ${warning.message} [${warning.code}]`);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
466
583
|
return lines.join("\n");
|
|
467
584
|
}
|
|
468
585
|
export function loadSessionById(state, paths, sessionId) {
|
|
469
586
|
if (state.activeSession?.id === sessionId) {
|
|
470
587
|
return state.activeSession;
|
|
471
588
|
}
|
|
472
|
-
for (const session of
|
|
589
|
+
for (const session of readAllSessions(paths)) {
|
|
473
590
|
if (session.id === sessionId) {
|
|
474
591
|
return session;
|
|
475
592
|
}
|
|
@@ -542,6 +659,36 @@ function syncActiveSession(state, goal, status, title, plan) {
|
|
|
542
659
|
activeSession: session,
|
|
543
660
|
};
|
|
544
661
|
}
|
|
662
|
+
const COMPLETION_SIGNAL_KINDS = [
|
|
663
|
+
"natural-breakpoint",
|
|
664
|
+
"task-complete",
|
|
665
|
+
"slice-complete",
|
|
666
|
+
"milestone-complete",
|
|
667
|
+
];
|
|
668
|
+
const COMPLETION_SIGNAL_SOURCES = ["agent", "system"];
|
|
669
|
+
export function normalizeCompletionSignalMetadata(input) {
|
|
670
|
+
if (typeof input.kind !== "string" || typeof input.source !== "string") {
|
|
671
|
+
return null;
|
|
672
|
+
}
|
|
673
|
+
if (!COMPLETION_SIGNAL_KINDS.includes(input.kind)) {
|
|
674
|
+
return null;
|
|
675
|
+
}
|
|
676
|
+
if (!COMPLETION_SIGNAL_SOURCES.includes(input.source)) {
|
|
677
|
+
return null;
|
|
678
|
+
}
|
|
679
|
+
const recordedAt = typeof input.recordedAt === "string" && input.recordedAt.trim().length > 0
|
|
680
|
+
? input.recordedAt
|
|
681
|
+
: now();
|
|
682
|
+
const recordedAtMs = new Date(recordedAt).getTime();
|
|
683
|
+
if (Number.isNaN(recordedAtMs)) {
|
|
684
|
+
return null;
|
|
685
|
+
}
|
|
686
|
+
return {
|
|
687
|
+
kind: input.kind,
|
|
688
|
+
source: input.source,
|
|
689
|
+
recordedAt,
|
|
690
|
+
};
|
|
691
|
+
}
|
|
545
692
|
export function checkpointState(rootDir, state, input) {
|
|
546
693
|
const agent = input.agent ?? state.activeSession?.agent ?? "unknown";
|
|
547
694
|
const baseSession = state.activeSession
|
|
@@ -589,6 +736,7 @@ export function checkpointState(rootDir, state, input) {
|
|
|
589
736
|
if (input.severity) {
|
|
590
737
|
session.severity = input.severity;
|
|
591
738
|
}
|
|
739
|
+
session.completionSignal = input.completionSignal ?? null;
|
|
592
740
|
session.lastCheckpointReason = sanitizeText(input.reason || "manual");
|
|
593
741
|
session.checkpointCount += 1;
|
|
594
742
|
session.resumeRecap = buildResumeRecap({
|
|
@@ -614,10 +762,11 @@ function toPendingWork(session) {
|
|
|
614
762
|
};
|
|
615
763
|
}
|
|
616
764
|
function writeArchivedSession(paths, session) {
|
|
617
|
-
const filePath = path.join(paths.
|
|
765
|
+
const filePath = path.join(paths.archiveSessionsDir, `${session.id}.json`);
|
|
618
766
|
fs.writeFileSync(filePath, JSON.stringify(session, null, 2) + "\n", "utf8");
|
|
619
767
|
}
|
|
620
768
|
export function startNewSession(rootDir, state, agent, goal, plan, title) {
|
|
769
|
+
runSessionHygiene(getRuntimePaths(rootDir), state);
|
|
621
770
|
const nextState = { ...state, pendingWork: [...state.pendingWork], pendingCommit: null };
|
|
622
771
|
if (nextState.activeSession) {
|
|
623
772
|
const refreshed = refreshSessionFromRepo(rootDir, nextState, nextState.activeSession);
|
|
@@ -638,6 +787,7 @@ export function startNewSession(rootDir, state, agent, goal, plan, title) {
|
|
|
638
787
|
return nextState;
|
|
639
788
|
}
|
|
640
789
|
export function continueFromLatest(rootDir, state, agent) {
|
|
790
|
+
runSessionHygiene(getRuntimePaths(rootDir), state);
|
|
641
791
|
if (state.activeSession) {
|
|
642
792
|
const refreshed = refreshSessionFromRepo(rootDir, state, {
|
|
643
793
|
...state.activeSession,
|
|
@@ -668,15 +818,114 @@ export function continueFromLatest(rootDir, state, agent) {
|
|
|
668
818
|
pendingCommit: null,
|
|
669
819
|
};
|
|
670
820
|
}
|
|
671
|
-
|
|
821
|
+
const PASSIVE_CHECKPOINT_ELAPSED_MS = 2 * 60 * 60 * 1000;
|
|
822
|
+
const PASSIVE_CHECKPOINT_PENDING_FILE_THRESHOLD = 5;
|
|
823
|
+
const HEALTH_WARNING_STALE_CHECKPOINT_MS = 3 * 24 * 60 * 60 * 1000;
|
|
824
|
+
const HEALTH_WARNING_UNUSUAL_FILES_THRESHOLD = 50;
|
|
825
|
+
const AUTO_DRAFT_IDLE_MINUTES = 30;
|
|
826
|
+
const AUTO_DRAFT_WORK_MILESTONE_HOURS = 2;
|
|
827
|
+
const AUTO_DRAFT_WORK_MILESTONE_CHECKPOINTS = 5;
|
|
828
|
+
export function shouldCheckpointForElapsedTime(lastCheckpointAt, currentTimeMs = Date.now()) {
|
|
829
|
+
if (!lastCheckpointAt) {
|
|
830
|
+
return false;
|
|
831
|
+
}
|
|
832
|
+
const lastCheckpointMs = new Date(lastCheckpointAt).getTime();
|
|
833
|
+
if (Number.isNaN(lastCheckpointMs)) {
|
|
834
|
+
return false;
|
|
835
|
+
}
|
|
836
|
+
return currentTimeMs - lastCheckpointMs >= PASSIVE_CHECKPOINT_ELAPSED_MS;
|
|
837
|
+
}
|
|
838
|
+
export function shouldCheckpointForPendingFiles(pendingFiles) {
|
|
839
|
+
if (!pendingFiles || pendingFiles.length === 0) {
|
|
840
|
+
return false;
|
|
841
|
+
}
|
|
842
|
+
return pendingFiles.length >= PASSIVE_CHECKPOINT_PENDING_FILE_THRESHOLD;
|
|
843
|
+
}
|
|
844
|
+
function latestCheckpointTimestamp(state) {
|
|
845
|
+
const candidates = [state.lastAutoCheckpoint, state.passiveCapture?.lastCheckpointAt].filter((value) => Boolean(value));
|
|
846
|
+
if (candidates.length === 0) {
|
|
847
|
+
return null;
|
|
848
|
+
}
|
|
849
|
+
const ranked = candidates
|
|
850
|
+
.map((value) => ({ value, ms: new Date(value).getTime() }))
|
|
851
|
+
.filter((item) => !Number.isNaN(item.ms))
|
|
852
|
+
.sort((left, right) => right.ms - left.ms);
|
|
853
|
+
return ranked[0]?.value ?? null;
|
|
854
|
+
}
|
|
855
|
+
export function evaluateHealthDiagnostics(state, currentTimeMs = Date.now()) {
|
|
856
|
+
const warnings = [];
|
|
857
|
+
const observedAt = new Date(currentTimeMs).toISOString();
|
|
858
|
+
const lastCheckpointAt = latestCheckpointTimestamp(state);
|
|
859
|
+
if (lastCheckpointAt) {
|
|
860
|
+
const lastCheckpointMs = new Date(lastCheckpointAt).getTime();
|
|
861
|
+
if (!Number.isNaN(lastCheckpointMs)) {
|
|
862
|
+
const elapsedMs = currentTimeMs - lastCheckpointMs;
|
|
863
|
+
if (elapsedMs >= HEALTH_WARNING_STALE_CHECKPOINT_MS) {
|
|
864
|
+
const daysSinceCheckpoint = Math.floor(elapsedMs / (24 * 60 * 60 * 1000));
|
|
865
|
+
warnings.push({
|
|
866
|
+
code: "daemon-stale-checkpoint",
|
|
867
|
+
message: "Daemon may not be checkpointing — no checkpoint has been recorded for 3+ days.",
|
|
868
|
+
observedAt,
|
|
869
|
+
inputs: {
|
|
870
|
+
lastCheckpointAt,
|
|
871
|
+
staleThresholdDays: 3,
|
|
872
|
+
daysSinceCheckpoint,
|
|
873
|
+
},
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
const changedFileCount = Math.max(state.activeSession?.changedFiles.length ?? 0, state.passiveCapture?.pendingFiles.length ?? 0);
|
|
879
|
+
const hasCheckpointEvidence = Boolean(lastCheckpointAt || (state.activeSession?.checkpointCount ?? 0) > 0);
|
|
880
|
+
if (changedFileCount >= HEALTH_WARNING_UNUSUAL_FILES_THRESHOLD && !hasCheckpointEvidence) {
|
|
881
|
+
warnings.push({
|
|
882
|
+
code: "unusual-files-without-checkpoint",
|
|
883
|
+
message: "Unusual repo activity detected: 50+ changed files with no checkpoint evidence.",
|
|
884
|
+
observedAt,
|
|
885
|
+
inputs: {
|
|
886
|
+
lastCheckpointAt,
|
|
887
|
+
changedFileCount,
|
|
888
|
+
changedFilesThreshold: HEALTH_WARNING_UNUSUAL_FILES_THRESHOLD,
|
|
889
|
+
hasCheckpointEvidence,
|
|
890
|
+
},
|
|
891
|
+
});
|
|
892
|
+
}
|
|
893
|
+
return { warnings };
|
|
894
|
+
}
|
|
895
|
+
export function shouldDraftCompletionSignalHandoff(input) {
|
|
896
|
+
if (!input.completionSignal || !input.sessionId || !input.sessionUpdatedAt) {
|
|
897
|
+
return { should: false, reason: "" };
|
|
898
|
+
}
|
|
899
|
+
const existingDraft = input.existingDraft;
|
|
900
|
+
if (existingDraft
|
|
901
|
+
&& existingDraft.sourceSessionId === input.sessionId
|
|
902
|
+
&& existingDraft.sourceSessionUpdatedAt === input.sessionUpdatedAt
|
|
903
|
+
&& existingDraft.reason === "completion-signal") {
|
|
904
|
+
return { should: false, reason: "" };
|
|
905
|
+
}
|
|
906
|
+
return { should: true, reason: "completion-signal" };
|
|
907
|
+
}
|
|
908
|
+
export function shouldAutoDraftHandoff(session, currentTimeMs = Date.now(), existingDraft = null) {
|
|
909
|
+
const completionSignalDecision = shouldDraftCompletionSignalHandoff({
|
|
910
|
+
sessionId: session.id,
|
|
911
|
+
sessionUpdatedAt: session.updatedAt,
|
|
912
|
+
completionSignal: session.completionSignal ?? null,
|
|
913
|
+
existingDraft,
|
|
914
|
+
});
|
|
915
|
+
if (completionSignalDecision.should) {
|
|
916
|
+
return completionSignalDecision;
|
|
917
|
+
}
|
|
672
918
|
const updatedAtMs = new Date(session.updatedAt).getTime();
|
|
673
919
|
const startedAtMs = new Date(session.startedAt).getTime();
|
|
920
|
+
if (Number.isNaN(updatedAtMs) || Number.isNaN(startedAtMs)) {
|
|
921
|
+
return { should: false, reason: "" };
|
|
922
|
+
}
|
|
674
923
|
const idleMinutes = (currentTimeMs - updatedAtMs) / 60000;
|
|
675
|
-
if (idleMinutes >=
|
|
924
|
+
if (idleMinutes >= AUTO_DRAFT_IDLE_MINUTES) {
|
|
676
925
|
return { should: true, reason: "idle-30min" };
|
|
677
926
|
}
|
|
678
927
|
const sessionHours = (currentTimeMs - startedAtMs) / 3600000;
|
|
679
|
-
if (session.checkpointCount >=
|
|
928
|
+
if (session.checkpointCount >= AUTO_DRAFT_WORK_MILESTONE_CHECKPOINTS && sessionHours >= AUTO_DRAFT_WORK_MILESTONE_HOURS) {
|
|
680
929
|
return { should: true, reason: "work-milestone" };
|
|
681
930
|
}
|
|
682
931
|
return { should: false, reason: "" };
|
|
@@ -705,6 +954,30 @@ export function buildAutoDraftHandoff(state, reason) {
|
|
|
705
954
|
},
|
|
706
955
|
};
|
|
707
956
|
}
|
|
957
|
+
export function isSameDraftHandoff(left, right) {
|
|
958
|
+
if (!left || !right) {
|
|
959
|
+
return false;
|
|
960
|
+
}
|
|
961
|
+
return left.sourceSessionId === right.sourceSessionId
|
|
962
|
+
&& left.sourceSessionUpdatedAt === right.sourceSessionUpdatedAt
|
|
963
|
+
&& left.reason === right.reason;
|
|
964
|
+
}
|
|
965
|
+
export function maybeWriteAutoDraftHandoff(paths, state, currentTimeMs = Date.now()) {
|
|
966
|
+
if (!state.activeSession) {
|
|
967
|
+
return { changed: false, reason: "", draft: null };
|
|
968
|
+
}
|
|
969
|
+
const existingDraft = readDraftHandoff(paths);
|
|
970
|
+
const decision = shouldAutoDraftHandoff(state.activeSession, currentTimeMs, existingDraft);
|
|
971
|
+
if (!decision.should) {
|
|
972
|
+
return { changed: false, reason: "", draft: existingDraft };
|
|
973
|
+
}
|
|
974
|
+
const nextDraft = buildAutoDraftHandoff(state, decision.reason);
|
|
975
|
+
if (!nextDraft || isSameDraftHandoff(existingDraft, nextDraft)) {
|
|
976
|
+
return { changed: false, reason: decision.reason, draft: existingDraft };
|
|
977
|
+
}
|
|
978
|
+
writeDraftHandoff(paths, nextDraft);
|
|
979
|
+
return { changed: true, reason: decision.reason, draft: nextDraft };
|
|
980
|
+
}
|
|
708
981
|
export function applyHandoff(rootDir, state, input) {
|
|
709
982
|
if (!state.activeSession) {
|
|
710
983
|
return state;
|
|
@@ -752,6 +1025,13 @@ export function applyHandoff(rootDir, state, input) {
|
|
|
752
1025
|
}
|
|
753
1026
|
writeArchivedSession(getRuntimePaths(rootDir), session);
|
|
754
1027
|
const paths = getRuntimePaths(rootDir);
|
|
1028
|
+
if (input.relatedSessions) {
|
|
1029
|
+
for (const relatedId of input.relatedSessions) {
|
|
1030
|
+
if (relatedId && relatedId.startsWith("session-")) {
|
|
1031
|
+
reactivateArchivedSession(paths, relatedId);
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
755
1035
|
return {
|
|
756
1036
|
...refreshed.state,
|
|
757
1037
|
activeSession: null,
|
package/dist/core/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|