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

Function convertToResponsesApiInput

web/src/app/api/v1/token-count/_post.ts:181–233  ·  view source on GitHub ↗
(
  messages: TokenCountRequest['messages'],
)

Source from the content-addressed store, hash-verified

179 | { type: 'function_call_output'; call_id: string; output: string }
180
181export function convertToResponsesApiInput(
182 messages: TokenCountRequest['messages'],
183): ResponsesApiInputItem[] {
184 const input: ResponsesApiInputItem[] = []
185
186 for (const message of messages) {
187 if (message.role === 'system') {
188 const content = buildMessageContent(message.content)
189 if (content) {
190 input.push({ type: 'message', role: 'developer', content })
191 }
192 continue
193 }
194
195 if (message.role === 'tool') {
196 input.push({
197 type: 'function_call_output',
198 call_id: message.toolCallId ?? 'unknown',
199 output: formatToolContent(message.content),
200 })
201 continue
202 }
203
204 if (message.role === 'user') {
205 const content = buildMessageContent(message.content)
206 if (content) {
207 input.push({ type: 'message', role: 'user', content })
208 }
209 continue
210 }
211
212 if (message.role === 'assistant') {
213 const content = buildMessageContent(message.content)
214 if (content) {
215 input.push({ type: 'message', role: 'assistant', content })
216 }
217 if (Array.isArray(message.content)) {
218 for (const part of message.content) {
219 if (part.type === 'tool-call') {
220 input.push({
221 type: 'function_call',
222 id: part.toolCallId ?? 'unknown',
223 name: part.toolName,
224 arguments: JSON.stringify(part.input ?? {}),
225 })
226 }
227 }
228 }
229 }
230 }
231
232 return input
233}
234
235function buildMessageContent(
236 content: unknown,

Callers 2

countTokensViaOpenAIFunction · 0.85

Calls 2

buildMessageContentFunction · 0.85
formatToolContentFunction · 0.85

Tested by

no test coverage detected