internal
type AIInputPart = 
  | {type: "text", text: string, }
  | {type: "file", mimeType: string, filename?: string, source: AIFileSource, }
  | {type: "tool-result", id: string, name: string, result: AIJsonValue, }