MCPcopy Create free account
hub / github.com/Effect-TS/effect / StreamPart

Function StreamPart

packages/effect/src/unstable/ai/Response.ts:357–393  ·  view source on GitHub ↗
(
  toolkit: T
)

Source from the content-addressed store, hash-verified

355 * @since 4.0.0
356 */
357export const StreamPart = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
358 toolkit: T
359): Schema.Codec<
360 StreamPart<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
361 StreamPartEncoded,
362 Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
363 Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
364> => {
365 const toolCalls: Array<Schema.Top> = []
366 const toolResults: Array<Schema.Top> = []
367 for (const tool of Object.values(toolkit.tools as Record<string, Tool.Any>)) {
368 const toolCall = ToolCallPart(tool.name, tool.parametersSchema)
369 const toolResult = ToolResultPart(tool.name, tool.successSchema, tool.failureSchema)
370 toolCalls.push(toolCall)
371 toolResults.push(toolResult)
372 }
373 return Schema.Union([
374 TextStartPart,
375 TextDeltaPart,
376 TextEndPart,
377 ReasoningStartPart,
378 ReasoningDeltaPart,
379 ReasoningEndPart,
380 ToolParamsStartPart,
381 ToolParamsDeltaPart,
382 ToolParamsEndPart,
383 ToolApprovalRequestPart,
384 FilePart,
385 DocumentSourcePart,
386 UrlSourcePart,
387 ResponseMetadataPart,
388 FinishPart,
389 ErrorPart,
390 ...toolCalls,
391 ...toolResults
392 ]) as any
393}
394
395// =============================================================================
396// utility types

Callers

nothing calls this directly

Calls 3

pushMethod · 0.80
ToolCallPartFunction · 0.70
ToolResultPartFunction · 0.70

Tested by

no test coverage detected