Download packages/agent-core-v2/src/agent/tokenCounting/configSection.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/agent/tokenCounting/configSection.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/agent-core-v2/src/agent/tokenCounting/configSection.ts
-
curl -L -o configSection.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/agent-core-v2/src/agent/tokenCounting/configSection.ts
1.62 kB
| import { z } from 'zod'; | |
| import { | |
| type ConfigSchema, | |
| type EnvBindings, | |
| envBindings, | |
| stripEnvBoundFields, | |
| } from '#/app/config/config'; | |
| import { registerConfigSection } from '#/app/config/configSectionContributions'; | |
| import type { TokenCountingStrategy } from './tokenCounting'; | |
| export const TOKEN_COUNTING_SECTION = 'tokenCounting'; | |
| export const TOKEN_COUNTING_STRATEGY_ENV = 'KIMI_TOKEN_COUNTING_STRATEGY'; | |
| export const TOKEN_COUNTING_STRATEGIES = ['measured+estimated', 'measured', 'estimated'] as const; | |
| export const TokenCountingConfigSchema: ConfigSchema<TokenCountingConfig> = z.object({ | |
| strategy: z.enum(TOKEN_COUNTING_STRATEGIES), | |
| }); | |
| export type TokenCountingConfig = { | |
| readonly strategy: TokenCountingStrategy; | |
| }; | |
| function parseStrategy(raw: string): TokenCountingStrategy | undefined { | |
| const value = raw.trim().toLowerCase(); | |
| return (TOKEN_COUNTING_STRATEGIES as readonly string[]).includes(value) | |
| ? (value as TokenCountingStrategy) | |
| : undefined; | |
| } | |
| export const tokenCountingEnvBindings: EnvBindings<TokenCountingConfig> = | |
| envBindings<TokenCountingConfig>(TokenCountingConfigSchema, { | |
| strategy: { env: TOKEN_COUNTING_STRATEGY_ENV, parse: parseStrategy }, | |
| }); | |
| export const stripTokenCountingEnv = stripEnvBoundFields<TokenCountingConfig>( | |
| tokenCountingEnvBindings, | |
| ); | |
| export const DEFAULT_TOKEN_COUNTING_CONFIG: TokenCountingConfig = { | |
| strategy: 'measured+estimated', | |
| }; | |
| registerConfigSection(TOKEN_COUNTING_SECTION, TokenCountingConfigSchema, { | |
| defaultValue: DEFAULT_TOKEN_COUNTING_CONFIG, | |
| env: tokenCountingEnvBindings, | |
| stripEnv: stripTokenCountingEnv, | |
| }); | |