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

Function Part

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

Source from the content-addressed store, hash-verified

263 * @since 4.0.0
264 */
265export const Part = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
266 toolkit: T
267): Schema.Codec<
268 Part<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
269 PartEncoded,
270 Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
271 Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
272> => {
273 const toolCalls: Array<Schema.Top> = []
274 const toolResults: Array<Schema.Top> = []
275 for (const tool of Object.values(toolkit.tools as Record<string, Tool.Any>)) {
276 const toolCall = ToolCallPart(tool.name, tool.parametersSchema)
277 const toolResult = ToolResultPart(tool.name, tool.successSchema, tool.failureSchema)
278 toolCalls.push(toolCall)
279 toolResults.push(toolResult)
280 }
281 return Schema.Union([
282 TextPart,
283 ReasoningPart,
284 ToolApprovalRequestPart,
285 FilePart,
286 DocumentSourcePart,
287 UrlSourcePart,
288 ResponseMetadataPart,
289 FinishPart,
290 ...toolCalls,
291 ...toolResults
292 ]) as any
293}
294
295// =============================================================================
296// Stream Parts

Callers

nothing calls this directly

Calls 3

pushMethod · 0.80
ToolCallPartFunction · 0.70
ToolResultPartFunction · 0.70

Tested by

no test coverage detected