MCPcopy Create free account
hub / github.com/Xyntopia/taskyon / estimateChatTokens

Function estimateChatTokens

src/modules/chat.ts:243–260  ·  view source on GitHub ↗
(
  task: LLMTask,
  chat: OpenAI.Chat.Completions.ChatCompletionMessageParam[]
)

Source from the content-addressed store, hash-verified

241}
242
243export function estimateChatTokens(
244 task: LLMTask,
245 chat: OpenAI.Chat.Completions.ChatCompletionMessageParam[]
246): LLMTask['debugging']['estimatedTokens'] {
247 const functions: ExtendedTool[] = mapFunctionNames(task.allowedTools || []);
248 const singlePromptTokens = countStringTokens(task.content || '');
249 const promptTokens = countChatTokens(chat);
250 const functionTokens = Math.floor(countToolTokens(functions) * 0.7);
251 const resultTokens = countStringTokens(
252 task.result?.chatResponse?.choices[0].message.content || ''
253 );
254 return {
255 singlePromptTokens,
256 promptTokens,
257 functionTokens,
258 resultTokens,
259 };
260}
261
262function generateHeaders(chatState: ChatStateType) {
263 let headers: Record<string, string> = {

Callers 1

processChatTaskFunction · 0.90

Calls 4

mapFunctionNamesFunction · 0.85
countStringTokensFunction · 0.85
countChatTokensFunction · 0.85
countToolTokensFunction · 0.85

Tested by

no test coverage detected