refactor(agent): expose concrete harness session

This commit is contained in:
Mario Zechner
2026-05-06 12:57:19 +02:00
parent 0a032ae1b3
commit 530f14c018
7 changed files with 25 additions and 64 deletions
@@ -1,6 +1,6 @@
import { v7 as uuidv7 } from "uuid";
import type { Session, SessionMetadata, SessionStorage, SessionTreeEntry } from "../../types.js";
import { DefaultSession } from "../session.js";
import type { SessionMetadata, SessionStorage, SessionTreeEntry } from "../../types.js";
import { Session } from "../session.js";
export function createSessionId(): string {
return uuidv7();
@@ -11,7 +11,7 @@ export function createTimestamp(): string {
}
export function toSession<TMetadata extends SessionMetadata>(storage: SessionStorage<TMetadata>): Session<TMetadata> {
return new DefaultSession(storage);
return new Session(storage);
}
export async function getEntriesToFork(
@@ -9,7 +9,6 @@ import type {
LabelEntry,
MessageEntry,
ModelChangeEntry,
Session,
SessionContext,
SessionInfoEntry,
SessionMetadata,
@@ -75,7 +74,7 @@ export function buildSessionContext(pathEntries: SessionTreeEntry[]): SessionCon
return { messages, thinkingLevel, model };
}
export class DefaultSession<TMetadata extends SessionMetadata = SessionMetadata> implements Session<TMetadata> {
export class Session<TMetadata extends SessionMetadata = SessionMetadata> {
private storage: SessionStorage<TMetadata>;
constructor(storage: SessionStorage<TMetadata>) {