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

Function start

web/src/llm-api/openrouter.ts:403–501  ·  view source on GitHub ↗
(controller)

Source from the content-addressed store, hash-verified

401 // Create a ReadableStream that Next.js can handle
402 const stream = new ReadableStream({
403 async start(controller) {
404 const decoder = new TextDecoder()
405 let buffer = ''
406
407 // Send initial connection message
408 controller.enqueue(
409 new TextEncoder().encode(`: connected ${new Date().toISOString()}\n`),
410 )
411
412 // Start heartbeat
413 heartbeatInterval = setInterval(() => {
414 if (!clientDisconnected) {
415 try {
416 controller.enqueue(
417 new TextEncoder().encode(
418 `: heartbeat ${new Date().toISOString()}\n\n`,
419 ),
420 )
421 } catch {
422 // client disconnected, ignore error
423 }
424 }
425 }, 30000)
426
427 try {
428 let done = false
429 while (!done) {
430 const result = await reader.read()
431 done = result.done
432 const value = result.value
433
434 if (done) {
435 break
436 }
437
438 buffer += decoder.decode(value, { stream: true })
439 let lineEnd = buffer.indexOf('\n')
440
441 while (lineEnd !== -1) {
442 const line = buffer.slice(0, lineEnd + 1)
443 buffer = buffer.slice(lineEnd + 1)
444
445 const lineResult = await handleLine({
446 userId,
447 stripeCustomerId,
448 agentId,
449 clientId,
450 clientRequestId,
451 costMode,
452 byok,
453 startTime,
454 request: auditRequest,
455 line,
456 state,
457 logger,
458 insertMessage: insertMessageBigquery,
459 })
460 state = lineResult.state

Callers

nothing calls this directly

Calls 6

getErrorObjectFunction · 0.90
ensureBilledFunction · 0.85
enqueueMethod · 0.80
closeMethod · 0.80
handleLineFunction · 0.70

Tested by

no test coverage detected