MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / withCacheControl

Function withCacheControl

common/src/util/messages.ts:35–59  ·  view source on GitHub ↗
(obj: T)

Source from the content-addressed store, hash-verified

33}
34
35export function withCacheControl<
36 T extends { providerOptions?: ProviderMetadata },
37>(obj: T): T {
38 const wrapper = cloneDeep(obj)
39 if (!wrapper.providerOptions) {
40 wrapper.providerOptions = {}
41 }
42
43 /* 'codebuff' provider name is not compatible with providerMetadata for
44 * messages, so we need to use 'openaiCompatible' instead.
45 * https://github.com/vercel/ai/blob/8e4fdac31b4f8c6a8d07a606a8833e74adf99470/packages/openai-compatible/src/chat/convert-to-openai-compatible-chat-messages.ts#L9
46 */
47 for (const provider of [
48 'anthropic',
49 'openrouter',
50 'openaiCompatible',
51 ] as const) {
52 if (!wrapper.providerOptions[provider]) {
53 wrapper.providerOptions[provider] = {}
54 }
55 wrapper.providerOptions[provider].cache_control = { type: 'ephemeral' }
56 }
57
58 return wrapper
59}
60
61export function withoutCacheControl<
62 T extends { providerOptions?: ProviderMetadata },

Callers 2

messages.test.tsFile · 0.90
convertCbToModelMessagesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected