@@ -14,6 +14,7 @@ import { convertToOpenAiMessages } from "../transform/openai-format"
1414import { ApiStream } from "../transform/stream"
1515
1616import { BaseOpenAiCompatibleProvider } from "./base-openai-compatible-provider"
17+ import { ApiHandlerCreateMessageMetadata } from ".."
1718
1819export class FeatherlessHandler extends BaseOpenAiCompatibleProvider < FeatherlessModelId > {
1920 constructor ( options : ApiHandlerOptions ) {
@@ -31,6 +32,7 @@ export class FeatherlessHandler extends BaseOpenAiCompatibleProvider<Featherless
3132 private getCompletionParams (
3233 systemPrompt : string ,
3334 messages : Anthropic . Messages . MessageParam [ ] ,
35+ metadata ?: ApiHandlerCreateMessageMetadata ,
3436 ) : OpenAI . Chat . Completions . ChatCompletionCreateParamsStreaming {
3537 const {
3638 id : model ,
@@ -46,15 +48,21 @@ export class FeatherlessHandler extends BaseOpenAiCompatibleProvider<Featherless
4648 messages : [ { role : "system" , content : systemPrompt } , ...convertToOpenAiMessages ( messages ) ] ,
4749 stream : true ,
4850 stream_options : { include_usage : true } ,
51+ prompt_cache_key : metadata ?. taskId ,
52+ safety_identifier : metadata ?. safetyIdentifier ,
4953 }
5054 }
5155
52- override async * createMessage ( systemPrompt : string , messages : Anthropic . Messages . MessageParam [ ] ) : ApiStream {
56+ override async * createMessage (
57+ systemPrompt : string ,
58+ messages : Anthropic . Messages . MessageParam [ ] ,
59+ metadata ?: ApiHandlerCreateMessageMetadata ,
60+ ) : ApiStream {
5361 const model = this . getModel ( )
5462
5563 if ( model . id . includes ( "DeepSeek-R1" ) ) {
5664 const stream = await this . client . chat . completions . create ( {
57- ...this . getCompletionParams ( systemPrompt , messages ) ,
65+ ...this . getCompletionParams ( systemPrompt , messages , metadata ) ,
5866 messages : convertToR1Format ( [ { role : "user" , content : systemPrompt } , ...messages ] ) ,
5967 } )
6068
@@ -90,7 +98,7 @@ export class FeatherlessHandler extends BaseOpenAiCompatibleProvider<Featherless
9098 yield processedChunk
9199 }
92100 } else {
93- yield * super . createMessage ( systemPrompt , messages )
101+ yield * super . createMessage ( systemPrompt , messages , metadata )
94102 }
95103 }
96104
0 commit comments