MCPcopy Index your code
hub / github.com/coder/coder / StreamObject

Method StreamObject

coderd/x/chatd/chatdebug/model.go:312–343  ·  view source on GitHub ↗
(
	ctx context.Context,
	call fantasy.ObjectCall,
)

Source from the content-addressed store, hash-verified

310}
311
312func (d *debugModel) StreamObject(
313 ctx context.Context,
314 call fantasy.ObjectCall,
315) (fantasy.ObjectStreamResponse, error) {
316 if d.svc == nil {
317 return d.inner.StreamObject(ctx, call)
318 }
319 if _, ok := RunFromContext(ctx); !ok {
320 return d.inner.StreamObject(ctx, call)
321 }
322
323 handle, enrichedCtx := beginStep(ctx, d.svc, d.opts, OperationStream,
324 normalizeObjectCall(call))
325 if handle == nil {
326 return d.inner.StreamObject(ctx, call)
327 }
328
329 seq, err := d.inner.StreamObject(enrichedCtx, call)
330 if err != nil {
331 handle.finish(ctx, stepStatusForError(err), nil, nil, normalizeError(ctx, err),
332 map[string]any{"structured_output": true})
333 return nil, err
334 }
335 if seq == nil {
336 err = xerrors.Errorf("StreamObject: %w", ErrNilModelResult)
337 handle.finish(ctx, StatusError, nil, nil, normalizeError(ctx, err),
338 map[string]any{"structured_output": true})
339 return nil, err
340 }
341
342 return wrapObjectStreamSeq(ctx, handle, seq), nil
343}
344
345func (d *debugModel) Provider() string {
346 return d.inner.Provider()

Calls 8

RunFromContextFunction · 0.85
beginStepFunction · 0.85
normalizeObjectCallFunction · 0.85
stepStatusForErrorFunction · 0.85
normalizeErrorFunction · 0.85
wrapObjectStreamSeqFunction · 0.85
finishMethod · 0.80
ErrorfMethod · 0.45