Download packages/agent-core-v2/src/session/sessionMetadata/promptMetadata.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.47 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/session/sessionMetadata/promptMetadata.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/agent-core-v2/src/session/sessionMetadata/promptMetadata.ts
-
curl -L -o promptMetadata.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/session/sessionMetadata/promptMetadata.ts
1.47 kB
| import type { IEventService } from '#/app/event/event'; | |
| import { titleFromPromptMetadataText } from '#/agent/prompt/promptMetadataText'; | |
| import type { ISessionMetadata, SessionTitleKind } from './sessionMetadata'; | |
| import { SessionMetaUpdated } from './sessionMetaEvents'; | |
| export function isUntitled(title: string | undefined): boolean { | |
| return title === undefined || title.trim().length === 0 || title === 'New Session'; | |
| } | |
| export interface PromptMetadataUpdateTarget { | |
| readonly metadata: ISessionMetadata; | |
| readonly eventService: IEventService; | |
| readonly sessionId: string; | |
| } | |
| export async function applyPromptMetadataUpdate( | |
| target: PromptMetadataUpdateTarget, | |
| text: string | undefined, | |
| ): Promise<void> { | |
| if (text === undefined) return; | |
| const current = await target.metadata.read(); | |
| const patch: { lastPrompt: string; title?: string; titleKind?: SessionTitleKind } = { | |
| lastPrompt: text, | |
| }; | |
| if (current.titleKind !== 'custom' && isUntitled(current.title)) { | |
| patch.title = titleFromPromptMetadataText(text); | |
| patch.titleKind = 'replaceable'; | |
| } | |
| await target.metadata.update(patch); | |
| target.eventService.publish( | |
| new SessionMetaUpdated({ | |
| payload: { | |
| agentId: 'main', | |
| sessionId: target.sessionId, | |
| title: patch.title, | |
| patch: { | |
| title: patch.title, | |
| isCustomTitle: patch.titleKind === undefined ? undefined : false, | |
| lastPrompt: text, | |
| }, | |
| }, | |
| }), | |
| ); | |
| } | |