tool-part.ts 517 B

1234567891011121314151617181920
  1. import type { SessionMessageAssistantTool } from "@opencode-ai/client/promise"
  2. export function canonicalToolPart(
  3. name: string,
  4. state: SessionMessageAssistantTool["state"],
  5. id = `${name}-1`,
  6. ): SessionMessageAssistantTool {
  7. return {
  8. type: "tool",
  9. id,
  10. name,
  11. state,
  12. time:
  13. state.status === "streaming"
  14. ? { created: 1 }
  15. : state.status === "completed" || state.status === "error"
  16. ? { created: 1, ran: 1, completed: 2 }
  17. : { created: 1, ran: 1 },
  18. }
  19. }