Download packages/agent-core-v2/src/app/sessionIndex/sessionIndexModel.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.09 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/app/sessionIndex/sessionIndexModel.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/agent-core-v2/src/app/sessionIndex/sessionIndexModel.ts
-
curl -L -o sessionIndexModel.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/app/sessionIndex/sessionIndexModel.ts
1.09 kB
| import type { SessionSummary } from './sessionIndex'; | |
| export const SESSION_INDEX_MANIFEST = 'sessionIndex'; | |
| export const SESSION_INDEX_SCHEMA_VERSION = 2; | |
| export const PARENT_INDEX_NAME = 'byParent'; | |
| export interface SessionWorkspaceCounts { | |
| readonly active: number; | |
| readonly archived: number; | |
| } | |
| export function sessionCollection(generation: number): string { | |
| return `session:g${generation}`; | |
| } | |
| export function sessionCountersCollection(generation: number): string { | |
| return `sessionCounters:g${generation}`; | |
| } | |
| export function recencyColumn(generation: number): string { | |
| return `g${generation}:updatedAt`; | |
| } | |
| export function withRecencyField(generation: number, summary: SessionSummary): SessionSummary { | |
| return { ...summary, [recencyColumn(generation)]: summary.updatedAt }; | |
| } | |
| export function stripRecencyField(generation: number, record: SessionSummary): SessionSummary { | |
| const key = recencyColumn(generation); | |
| if (!(key in record)) return record; | |
| const rest: Record<string, unknown> = { ...record }; | |
| delete rest[key]; | |
| return rest as unknown as SessionSummary; | |
| } | |