Download packages/kap-server/src/protocol/session.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 2.96 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/kap-server/src/protocol/session.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/kap-server/src/protocol/session.ts
-
curl -L -o session.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/kap-server/src/protocol/session.ts
2.96 kB
| import { z } from 'zod'; | |
| import { isoDateTimeSchema } from '@moonshot-ai/agent-core-v2/_base/utils/isoDateTime'; | |
| import { | |
| permissionRuleSchema, | |
| sessionAgentConfigPartialSchema, | |
| sessionAgentConfigSchema, | |
| sessionMetadataSchema, | |
| } from '@moonshot-ai/agent-core-v2/app/sessionLegacy/sessionProtocol'; | |
| import { workspaceIdSchema } from './workspace'; | |
| export const sessionUsageSchema = z.object({ | |
| input_tokens: z.number().int().nonnegative(), | |
| output_tokens: z.number().int().nonnegative(), | |
| cache_read_tokens: z.number().int().nonnegative(), | |
| cache_creation_tokens: z.number().int().nonnegative(), | |
| total_cost_usd: z.number().nonnegative().optional(), | |
| context_tokens: z.number().int().nonnegative(), | |
| context_limit: z.number().int().nonnegative().optional(), | |
| turn_count: z.number().int().nonnegative().optional(), | |
| }); | |
| export type SessionUsage = z.infer<typeof sessionUsageSchema>; | |
| export function emptySessionUsage(): SessionUsage { | |
| return { | |
| input_tokens: 0, | |
| output_tokens: 0, | |
| cache_read_tokens: 0, | |
| cache_creation_tokens: 0, | |
| total_cost_usd: 0, | |
| context_tokens: 0, | |
| context_limit: 0, | |
| turn_count: 0, | |
| }; | |
| } | |
| export const sessionPendingInteractionSchema = z.enum(['none', 'approval', 'question']); | |
| export type SessionPendingInteraction = z.infer<typeof sessionPendingInteractionSchema>; | |
| export const sessionSchema = z.object({ | |
| id: z.string().min(1), | |
| workspace_id: workspaceIdSchema, | |
| title: z.string(), | |
| created_at: isoDateTimeSchema, | |
| updated_at: isoDateTimeSchema, | |
| busy: z.boolean(), | |
| main_turn_active: z.boolean().optional(), | |
| pending_interaction: sessionPendingInteractionSchema.optional(), | |
| last_turn_reason: z.enum(['completed', 'cancelled', 'failed']).optional(), | |
| archived: z.boolean().optional(), | |
| archived_at: isoDateTimeSchema.optional(), | |
| current_prompt_id: z.string().min(1).optional(), | |
| last_prompt: z.string().optional(), | |
| metadata: sessionMetadataSchema, | |
| agent_config: sessionAgentConfigSchema, | |
| usage: sessionUsageSchema, | |
| permission_rules: z.array(permissionRuleSchema), | |
| message_count: z.number().int().nonnegative(), | |
| last_seq: z.number().int().nonnegative(), | |
| }); | |
| export type Session = z.infer<typeof sessionSchema>; | |
| export const sessionCreateSchema = z.object({ | |
| title: z.string().min(1).optional(), | |
| metadata: sessionMetadataSchema.optional(), | |
| agent_config: sessionAgentConfigPartialSchema.optional(), | |
| workspace_id: workspaceIdSchema.optional(), | |
| }); | |
| export type SessionCreate = z.infer<typeof sessionCreateSchema>; | |
| export const sessionForkSchema = z.object({ | |
| title: z.string().min(1).optional(), | |
| metadata: z.record(z.string(), z.unknown()).optional(), | |
| }); | |
| export type SessionFork = z.infer<typeof sessionForkSchema>; | |
| export const sessionChildCreateSchema = z.object({ | |
| title: z.string().min(1).optional(), | |
| metadata: z.record(z.string(), z.unknown()).optional(), | |
| }); | |
| export type SessionChildCreate = z.infer<typeof sessionChildCreateSchema>; | |