@@ -26,45 +26,35 @@ export function withCacheControl<
2626 if ( ! wrapper . providerOptions ) {
2727 wrapper . providerOptions = { }
2828 }
29- if ( ! wrapper . providerOptions . anthropic ) {
30- wrapper . providerOptions . anthropic = { }
31- }
32- wrapper . providerOptions . anthropic . cacheControl = { type : 'ephemeral' }
33- if ( ! wrapper . providerOptions . openrouter ) {
34- wrapper . providerOptions . openrouter = { }
29+
30+ for ( const provider of [ ' anthropic' , 'openrouter' , 'codebuff' ] as const ) {
31+ if ( ! wrapper . providerOptions [ provider ] ) {
32+ wrapper . providerOptions [ provider ] = { }
33+ }
34+ wrapper . providerOptions [ provider ] . cacheControl = { type : 'ephemeral' }
3535 }
36- wrapper . providerOptions . openrouter . cacheControl = { type : 'ephemeral' }
36+
3737 return wrapper
3838}
3939
4040export function withoutCacheControl <
4141 T extends { providerOptions ?: ProviderMetadata } ,
4242> ( obj : T ) : T {
4343 const wrapper = cloneDeep ( obj )
44- if ( has ( wrapper . providerOptions ?. anthropic ?. cacheControl , 'type' ) ) {
45- delete wrapper . providerOptions ?. anthropic ?. cacheControl ?. type
46- }
47- if (
48- Object . keys ( wrapper . providerOptions ?. anthropic ?. cacheControl ?? { } )
49- . length === 0
50- ) {
51- delete wrapper . providerOptions ?. anthropic ?. cacheControl
52- }
53- if ( Object . keys ( wrapper . providerOptions ?. anthropic ?? { } ) . length === 0 ) {
54- delete wrapper . providerOptions ?. anthropic
55- }
5644
57- if ( has ( wrapper . providerOptions ?. openrouter ?. cacheControl , 'type' ) ) {
58- delete wrapper . providerOptions ?. openrouter ?. cacheControl ?. type
59- }
60- if (
61- Object . keys ( wrapper . providerOptions ?. openrouter ?. cacheControl ?? { } )
62- . length === 0
63- ) {
64- delete wrapper . providerOptions ?. openrouter ?. cacheControl
65- }
66- if ( Object . keys ( wrapper . providerOptions ?. openrouter ?? { } ) . length === 0 ) {
67- delete wrapper . providerOptions ?. openrouter
45+ for ( const provider of [ 'anthropic' , 'openrouter' , 'codebuff' ] as const ) {
46+ if ( has ( wrapper . providerOptions ?. [ provider ] ?. cacheControl , 'type' ) ) {
47+ delete wrapper . providerOptions ?. [ provider ] ?. cacheControl ?. type
48+ }
49+ if (
50+ Object . keys ( wrapper . providerOptions ?. [ provider ] ?. cacheControl ?? { } )
51+ . length === 0
52+ ) {
53+ delete wrapper . providerOptions ?. [ provider ] ?. cacheControl
54+ }
55+ if ( Object . keys ( wrapper . providerOptions ?. [ provider ] ?? { } ) . length === 0 ) {
56+ delete wrapper . providerOptions ?. [ provider ]
57+ }
6858 }
6959
7060 if ( Object . keys ( wrapper . providerOptions ?? { } ) . length === 0 ) {
0 commit comments