1- import {
2- MAX_RETRIES_PER_MESSAGE ,
3- RETRY_BACKOFF_BASE_DELAY_MS ,
4- RETRY_BACKOFF_MAX_DELAY_MS ,
5- } from '@codebuff/sdk'
6-
71import {
82 createEventHandler ,
93 createStreamChunkHandler ,
@@ -12,30 +6,15 @@ import {
126import type { EventHandlerState } from './sdk-event-handlers'
137import type { AgentDefinition , MessageContent , RunState } from '@codebuff/sdk'
148import type { Logger } from '@codebuff/common/types/contracts/logger'
15- import type { StreamStatus } from '../hooks/use-message-queue'
169
1710export type CreateRunConfigParams = {
1811 logger : Logger
1912 agent : AgentDefinition | string
2013 prompt : string
2114 content : MessageContent [ ] | undefined
2215 previousRunState : RunState | null
23- abortController : AbortController
2416 agentDefinitions : AgentDefinition [ ]
2517 eventHandlerState : EventHandlerState
26- setIsRetrying : ( retrying : boolean ) => void
27- setStreamStatus : ( status : StreamStatus ) => void
28- }
29-
30- type RetryArgs = {
31- attempt : number
32- delayMs : number
33- statusCode ?: number
34- }
35-
36- type RetryExhaustedArgs = {
37- totalAttempts : number
38- statusCode ?: number
3918}
4019
4120export const createRunConfig = ( params : CreateRunConfigParams ) => {
@@ -45,11 +24,8 @@ export const createRunConfig = (params: CreateRunConfigParams) => {
4524 prompt,
4625 content,
4726 previousRunState,
48- abortController,
4927 agentDefinitions,
5028 eventHandlerState,
51- setIsRetrying,
52- setStreamStatus,
5329 } = params
5430
5531 return {
@@ -58,26 +34,6 @@ export const createRunConfig = (params: CreateRunConfigParams) => {
5834 prompt,
5935 content,
6036 previousRun : previousRunState ?? undefined ,
61- abortController,
62- retry : {
63- maxRetries : MAX_RETRIES_PER_MESSAGE ,
64- backoffBaseMs : RETRY_BACKOFF_BASE_DELAY_MS ,
65- backoffMaxMs : RETRY_BACKOFF_MAX_DELAY_MS ,
66- onRetry : async ( { attempt, delayMs, statusCode } : RetryArgs ) => {
67- logger . warn (
68- { sdkAttempt : attempt , delayMs, statusCode } ,
69- 'SDK retrying after error' ,
70- )
71- setIsRetrying ( true )
72- setStreamStatus ( 'waiting' )
73- } ,
74- onRetryExhausted : async ( {
75- totalAttempts,
76- statusCode,
77- } : RetryExhaustedArgs ) => {
78- logger . warn ( { totalAttempts, statusCode } , 'SDK exhausted all retries' )
79- } ,
80- } ,
8137 agentDefinitions,
8238 maxAgentSteps : 100 ,
8339 handleStreamChunk : createStreamChunkHandler ( eventHandlerState ) ,
0 commit comments