File size: 785 Bytes
68d7816
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { createDecorator, type ServiceIdentifier } from '#/_base/di/instantiation';

export interface TitleTurnExcerpt {
  readonly user?: string | undefined;
  readonly assistant?: string | undefined;
}

export interface TitleDigestTurn {
  readonly user: string;
  readonly assistant?: string;
}

export interface TitleDigestExcerpt {
  readonly turns: readonly TitleDigestTurn[];
}

export interface IAgentTitlePromptSource {
  readonly _serviceBrand: undefined;

  firstUserPrompts(limit: number): Promise<readonly string[]>;

  firstTurnExcerpt(): Promise<TitleTurnExcerpt>;

  digestExcerpt(): Promise<TitleDigestExcerpt>;
}

export const IAgentTitlePromptSource: ServiceIdentifier<IAgentTitlePromptSource> =
  createDecorator<IAgentTitlePromptSource>('agentTitlePromptSource');