MCPcopy Index your code
hub / github.com/cursor/cookbook / emitSdkMessage

Function emitSdkMessage

sdk/coding-agent-cli/src/agent.ts:475–513  ·  view source on GitHub ↗
(event: SDKMessage, emit: (event: AgentEvent) => void)

Source from the content-addressed store, hash-verified

473}
474
475function emitSdkMessage(event: SDKMessage, emit: (event: AgentEvent) => void) {
476 switch (event.type) {
477 case "assistant":
478 for (const block of event.message.content) {
479 if (block.type === "text") {
480 emit({ type: "assistant_delta", text: block.text })
481 } else {
482 emit({
483 type: "tool",
484 callId: block.id,
485 name: block.name,
486 params: summarizeToolArgs(block.name, block.input),
487 status: "requested",
488 })
489 }
490 }
491 break
492 case "thinking":
493 emit({ type: "thinking", text: event.text })
494 break
495 case "tool_call":
496 emit({
497 type: "tool",
498 callId: event.call_id,
499 name: event.name,
500 params: summarizeToolArgs(event.name, event.args),
501 status: event.status,
502 })
503 break
504 case "status":
505 emit({ type: "status", status: event.status, message: event.message })
506 break
507 case "task":
508 emit({ type: "task", status: event.status, text: event.text })
509 break
510 default:
511 break
512 }
513}
514
515function summarizeToolArgs(toolName: string, args: unknown) {
516 if (!args || typeof args !== "object") {

Callers 1

sendPromptMethod · 0.70

Calls 1

summarizeToolArgsFunction · 0.85

Tested by

no test coverage detected