Skip to content

Commit 5d34c7e

Browse files
committed
remove getStream function
1 parent 40b6696 commit 5d34c7e

File tree

2 files changed

+69
-71
lines changed

2 files changed

+69
-71
lines changed

packages/agent-runtime/src/prompt-agent-stream.ts

Lines changed: 61 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -14,52 +14,54 @@ import type { Message } from '@codebuff/common/types/messages/codebuff-message'
1414
import type { OpenRouterProviderOptions } from '@codebuff/internal/openrouter-ai-sdk'
1515

1616
export const getAgentStreamFromTemplate = (params: {
17+
agentId?: string
1718
apiKey: string
18-
runId: string
1919
clientSessionId: string
2020
fingerprintId: string
21-
userInputId: string
22-
userId: string | undefined
23-
onCostCalculated?: (credits: number) => Promise<void>
24-
agentId?: string
2521
includeCacheControl?: boolean
22+
liveUserInputRecord: UserInputRecord
23+
logger: Logger
24+
messages: Message[]
25+
runId: string
26+
sessionConnections: SessionRecord
27+
template: AgentTemplate
2628
textOverride: string | null
29+
userId: string | undefined
30+
userInputId: string
2731

28-
template: AgentTemplate
29-
logger: Logger
30-
sendAction: SendActionFn
32+
onCostCalculated?: (credits: number) => Promise<void>
3133
promptAiSdkStream: PromptAiSdkStreamFn
32-
liveUserInputRecord: UserInputRecord
33-
sessionConnections: SessionRecord
34+
sendAction: SendActionFn
3435
trackEvent: TrackEventFn
35-
}): { getStream: (messages: Message[]) => ReturnType<PromptAiSdkStreamFn> } => {
36+
}): ReturnType<PromptAiSdkStreamFn> => {
3637
const {
38+
agentId,
3739
apiKey,
38-
runId,
3940
clientSessionId,
4041
fingerprintId,
41-
userInputId,
42-
userId,
43-
onCostCalculated,
44-
agentId,
4542
includeCacheControl,
46-
textOverride,
47-
template,
43+
liveUserInputRecord,
4844
logger,
45+
messages,
46+
runId,
47+
sessionConnections,
48+
template,
49+
textOverride,
50+
userId,
51+
userInputId,
52+
4953
sendAction,
54+
onCostCalculated,
5055
promptAiSdkStream,
51-
liveUserInputRecord,
52-
sessionConnections,
5356
trackEvent,
5457
} = params
5558

5659
if (textOverride !== null) {
57-
return {
58-
getStream: async function* stream(): ReturnType<PromptAiSdkStreamFn> {
59-
yield { type: 'text', text: textOverride!, agentId }
60-
return crypto.randomUUID()
61-
},
60+
async function* stream(): ReturnType<PromptAiSdkStreamFn> {
61+
yield { type: 'text', text: textOverride!, agentId }
62+
return crypto.randomUUID()
6263
}
64+
return stream()
6365
}
6466

6567
if (!template) {
@@ -68,46 +70,42 @@ export const getAgentStreamFromTemplate = (params: {
6870

6971
const { model } = template
7072

71-
const getStream = (messages: Message[]): ReturnType<PromptAiSdkStreamFn> => {
72-
const aiSdkStreamParams: ParamsOf<PromptAiSdkStreamFn> = {
73-
apiKey,
74-
runId,
75-
messages,
76-
model,
77-
stopSequences: [globalStopSequence],
78-
clientSessionId,
79-
fingerprintId,
80-
userInputId,
81-
userId,
82-
maxOutputTokens: 32_000,
83-
onCostCalculated,
84-
includeCacheControl,
85-
agentId,
86-
maxRetries: 3,
87-
sendAction,
88-
liveUserInputRecord,
89-
sessionConnections,
90-
logger,
91-
trackEvent,
92-
}
73+
const aiSdkStreamParams: ParamsOf<PromptAiSdkStreamFn> = {
74+
apiKey,
75+
runId,
76+
messages,
77+
model,
78+
stopSequences: [globalStopSequence],
79+
clientSessionId,
80+
fingerprintId,
81+
userInputId,
82+
userId,
83+
maxOutputTokens: 32_000,
84+
onCostCalculated,
85+
includeCacheControl,
86+
agentId,
87+
maxRetries: 3,
88+
sendAction,
89+
liveUserInputRecord,
90+
sessionConnections,
91+
logger,
92+
trackEvent,
93+
}
9394

94-
if (!aiSdkStreamParams.providerOptions) {
95-
aiSdkStreamParams.providerOptions = {}
96-
}
97-
for (const provider of ['openrouter', 'codebuff'] as const) {
98-
if (!aiSdkStreamParams.providerOptions[provider]) {
99-
aiSdkStreamParams.providerOptions[provider] = {}
100-
}
101-
;(
102-
aiSdkStreamParams.providerOptions[provider] as OpenRouterProviderOptions
103-
).reasoning = template.reasoningOptions
95+
if (!aiSdkStreamParams.providerOptions) {
96+
aiSdkStreamParams.providerOptions = {}
97+
}
98+
for (const provider of ['openrouter', 'codebuff'] as const) {
99+
if (!aiSdkStreamParams.providerOptions[provider]) {
100+
aiSdkStreamParams.providerOptions[provider] = {}
104101
}
105-
106-
// Pass agent's provider routing options to SDK
107-
aiSdkStreamParams.agentProviderOptions = template.providerOptions
108-
109-
return promptAiSdkStream(aiSdkStreamParams)
102+
;(
103+
aiSdkStreamParams.providerOptions[provider] as OpenRouterProviderOptions
104+
).reasoning = template.reasoningOptions
110105
}
111106

112-
return { getStream }
107+
// Pass agent's provider routing options to SDK
108+
aiSdkStreamParams.agentProviderOptions = template.providerOptions
109+
110+
return promptAiSdkStream(aiSdkStreamParams)
113111
}

packages/agent-runtime/src/run-agent-step.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,11 @@ export const runAgentStep = async (
9090
> &
9191
ParamsExcluding<
9292
typeof getAgentStreamFromTemplate,
93-
'agentId' | 'template' | 'onCostCalculated' | 'includeCacheControl'
93+
| 'agentId'
94+
| 'includeCacheControl'
95+
| 'messages'
96+
| 'onCostCalculated'
97+
| 'template'
9498
> &
9599
ParamsExcluding<typeof getAgentTemplate, 'agentId'> &
96100
ParamsExcluding<
@@ -327,19 +331,15 @@ export const runAgentStep = async (
327331
let fullResponse = ''
328332
const toolResults: ToolMessage[] = []
329333

330-
const { getStream } = getAgentStreamFromTemplate({
334+
const stream = getAgentStreamFromTemplate({
331335
...params,
332336
agentId: agentState.parentId ? agentState.agentId : undefined,
337+
includeCacheControl: supportsCacheControl(agentTemplate.model),
338+
messages: [systemMessage(system), ...agentState.messageHistory],
333339
template: agentTemplate,
334340
onCostCalculated,
335-
includeCacheControl: supportsCacheControl(agentTemplate.model),
336341
})
337342

338-
const stream = getStream([
339-
systemMessage(system),
340-
...agentState.messageHistory,
341-
])
342-
343343
const {
344344
fullResponse: fullResponseAfterStream,
345345
fullResponseChunks,

0 commit comments

Comments
 (0)