Chat Payload Factories (core/payloads.ts)

ui · packages/helpers/src/core/payloads.ts · typescript · MIT
integration, ai, chat, lang:typescript, tag:payload, tag:factory, tag:helpers

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