MCPcopy
hub / github.com/simstudioai/sim / start

Function start

apps/sim/providers/anthropic/utils.ts:27–52  ·  view source on GitHub ↗
(controller)

Source from the content-addressed store, hash-verified

25
26 return new ReadableStream({
27 async start(controller) {
28 try {
29 for await (const event of anthropicStream) {
30 if (event.type === 'message_start') {
31 const startEvent = event as RawMessageStartEvent
32 const usage: Usage = startEvent.message.usage
33 inputTokens = usage.input_tokens
34 } else if (event.type === 'message_delta') {
35 const deltaEvent = event as RawMessageDeltaEvent
36 outputTokens = deltaEvent.usage.output_tokens
37 } else if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
38 const text = event.delta.text
39 fullContent += text
40 controller.enqueue(new TextEncoder().encode(text))
41 }
42 }
43
44 if (onComplete) {
45 onComplete(fullContent, { input_tokens: inputTokens, output_tokens: outputTokens })
46 }
47
48 controller.close()
49 } catch (err) {
50 controller.error(err)
51 }
52 },
53 })
54}
55

Callers

nothing calls this directly

Calls 3

errorMethod · 0.80
enqueueMethod · 0.65
closeMethod · 0.65

Tested by

no test coverage detected