Framework-neutral factory functions for creating chat message payloads (files, source URLs, documents, custom metadata) with sensible defaults. Reuse when building chat message serialization utilities.
// Source: https://github.com/shadcn-ui/ui | License: MIT | Copyright 2023 shadcn
// Provided via justclaw.it.com; keep this notice with the code.
import type {
ChatIds,
CustomPayload,
FilePayload,
JsonRecord,
ReasoningFilePayload,
SourceDocumentPayload,
SourceUrlPayload,
} from "./types"
import { cloneValue } from "./utils"
/** Framework-neutral payload factories with sensible defaults for anything omitted. */
export type ChatPayloads = {
file(overrides?: Partial<FilePayload>): FilePayload
reasoningFile(overrides?: Partial<ReasoningFilePayload>): ReasoningFilePayload
sourceUrl(overrides?: Partial<SourceUrlPayload>): SourceUrlPayload
sourceDocument(
overrides?: Partial<SourceDocumentPayload>
): SourceDocumentPayload
custom(
kind?: string,
options?: {
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key