MCPcopy Index your code
hub / github.com/simstudioai/sim / createStreamingExecution

Function createStreamingExecution

apps/sim/providers/streaming-execution.ts:95–170  ·  view source on GitHub ↗
(
  options: CreateStreamingExecutionOptions
)

Source from the content-addressed store, hash-verified

93 * output and finalizes timing on drain.
94 */
95export function createStreamingExecution(
96 options: CreateStreamingExecutionOptions
97): StreamingExecution {
98 const {
99 model,
100 providerStartTime,
101 providerStartTimeISO,
102 timing,
103 initialTokens,
104 initialCost,
105 toolCalls,
106 isStreaming,
107 createStream,
108 } = options
109
110 const now = Date.now()
111 const nowISO = new Date(now).toISOString()
112 const duration = now - providerStartTime
113
114 const providerTiming: NonNullable<NormalizedBlockOutput['providerTiming']> =
115 timing.kind === 'simple'
116 ? {
117 startTime: providerStartTimeISO,
118 endTime: nowISO,
119 duration,
120 timeSegments: [
121 {
122 type: 'model',
123 name: timing.segmentName,
124 startTime: providerStartTime,
125 endTime: now,
126 duration,
127 },
128 ],
129 }
130 : {
131 startTime: providerStartTimeISO,
132 endTime: nowISO,
133 duration,
134 modelTime: timing.modelTime,
135 toolsTime: timing.toolsTime,
136 firstResponseTime: timing.firstResponseTime,
137 iterations: timing.iterations,
138 timeSegments: timing.timeSegments,
139 }
140
141 const output: NormalizedBlockOutput = {
142 content: '',
143 model,
144 tokens: initialTokens,
145 toolCalls: toolCalls as NormalizedBlockOutput['toolCalls'],
146 providerTiming,
147 cost: initialCost,
148 }
149
150 const timingKind = timing.kind
151 const stream = createStream({
152 output,

Callers 15

index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90
index.tsFile · 0.90

Calls 1

finalizeTimingFunction · 0.85

Tested by

no test coverage detected