MCPcopy Create free account
hub / github.com/QodeXcli/QodeX / commonPrefixLength

Function commonPrefixLength

src/llm/cache-layout.ts:43–50  ·  view source on GitHub ↗
(a: Message[], b: Message[])

Source from the content-addressed store, hash-verified

41/** Number of leading messages that are byte-identical between two message arrays.
42 * This is the prefix the inference server can serve from KV cache. */
43export function commonPrefixLength(a: Message[], b: Message[]): number {
44 const n = Math.min(a.length, b.length);
45 let i = 0;
46 for (; i < n; i++) {
47 if (serializeMessage(a[i]!) !== serializeMessage(b[i]!)) break;
48 }
49 return i;
50}
51
52/** Approximate character count of the first `n` messages (proxy for cached tokens). */
53export function prefixChars(messages: Message[], n: number): number {

Callers 2

describeCacheReuseFunction · 0.85

Calls 1

serializeMessageFunction · 0.85

Tested by

no test coverage detected