实现 Codex 风格上下文压缩时间线交互
This commit is contained in:
@@ -293,6 +293,30 @@ export interface OpencodeNormalizedSessionMessage {
|
||||
partIDs: string[];
|
||||
}
|
||||
|
||||
export type OpencodeCompactionSource = 'manual' | 'automatic';
|
||||
|
||||
export type OpencodeCompactionStatus = 'running' | 'completed';
|
||||
|
||||
/**
|
||||
* A renderer-owned compaction timeline item. `id` is the immutable UI
|
||||
* identity; native Part/event ids are correlation keys and may arrive later.
|
||||
*/
|
||||
export interface OpencodeCompactionTimelineEvent {
|
||||
id: string;
|
||||
sessionID: string;
|
||||
source: OpencodeCompactionSource;
|
||||
status: OpencodeCompactionStatus;
|
||||
order: number;
|
||||
anchorMessageID?: string;
|
||||
anchorPartID?: string;
|
||||
nativePartID?: string;
|
||||
nativeEventID?: string;
|
||||
runID?: string;
|
||||
generation?: number;
|
||||
startedAt?: number;
|
||||
completedAt?: number;
|
||||
}
|
||||
|
||||
export interface OpencodeSessionTranscriptState {
|
||||
sessionID: string;
|
||||
status: OpencodeSessionExecutionState;
|
||||
@@ -300,6 +324,8 @@ export interface OpencodeSessionTranscriptState {
|
||||
messageOrder: string[];
|
||||
partsById: Record<string, OpencodeNormalizedSessionPart>;
|
||||
partOrderByMessageId: Record<string, string[]>;
|
||||
compactionsById: Record<string, OpencodeCompactionTimelineEvent>;
|
||||
compactionOrder: string[];
|
||||
lastError?: string;
|
||||
lastEventKey?: string;
|
||||
lastDeltaSignature?: string;
|
||||
|
||||
Reference in New Issue
Block a user