Jido.Chat.Postable (Jido Chat v1.0.0)

Copy Markdown View Source

Typed post payload accepted by thread/channel post helpers.

Summary

Functions

Builds an AST payload wrapper.

Builds a card payload wrapper.

Builds a markdown post payload.

Creates a new typed post payload.

Builds a raw payload wrapper.

Returns the Zoi schema for Postable.

Builds a stream payload wrapper.

Builds a text post payload.

Builds a normalized outbound payload preserving post intent.

Flattens postable payload into adapter-safe text.

Types

t()

@type t() :: %Jido.Chat.Postable{
  ast: nil | nil | any(),
  attachments: [
    %Jido.Chat.Attachment{
      data: term(),
      duration: term(),
      filename: term(),
      height: term(),
      kind: term(),
      media_type: term(),
      metadata: term(),
      path: term(),
      size_bytes: term(),
      url: term(),
      width: term()
    }
  ],
  card: nil | nil | any(),
  fallback_text: nil | nil | binary(),
  files: [
    %Jido.Chat.FileUpload{
      data: term(),
      duration: term(),
      filename: term(),
      height: term(),
      kind: term(),
      media_type: term(),
      metadata: term(),
      path: term(),
      size_bytes: term(),
      url: term(),
      width: term()
    }
  ],
  kind: :raw | :markdown | :ast | :card | :text | :stream,
  markdown: nil | nil | binary(),
  metadata: map(),
  raw: nil | nil | any(),
  stream: nil | nil | any(),
  text: nil | nil | binary()
}

Functions

ast(value, opts \\ [])

Builds an AST payload wrapper.

card(value, opts \\ [])

Builds a card payload wrapper.

markdown(value, opts \\ [])

Builds a markdown post payload.

new(postable)

Creates a new typed post payload.

raw(value, opts \\ [])

Builds a raw payload wrapper.

schema()

Returns the Zoi schema for Postable.

stream(chunks, opts \\ [])

Builds a stream payload wrapper.

text(value, opts \\ [])

Builds a text post payload.

to_payload(postable)

@spec to_payload(t()) :: Jido.Chat.PostPayload.t()

Builds a normalized outbound payload preserving post intent.

to_text(postable)

@spec to_text(t()) :: String.t()

Flattens postable payload into adapter-safe text.