LemonAgent.Security.ExternalContent (lemon_agent v0.1.0)

View Source

Security helpers for wrapping untrusted external content before returning it to models.

Summary

Types

key_style()

@type key_style() :: :snake_case | :camel_case

source()

@type source() :: :email | :webhook | :api | :web_search | :web_fetch | :unknown

web_source()

@type web_source() :: :web_search | :web_fetch

Functions

trust_metadata(source \\ :unknown, opts \\ [])

@spec trust_metadata(
  source(),
  keyword()
) :: map()

untrusted_json_result(payload)

@spec untrusted_json_result(map()) :: LemonAgent.Types.AgentToolResult.t()

web_trust_metadata(source, wrapped_fields, opts \\ [])

@spec web_trust_metadata(web_source(), [term()], keyword()) :: map()

wrap_external_content(content, opts \\ [])

@spec wrap_external_content(
  String.t(),
  keyword()
) :: String.t()

wrap_web_content(content, source \\ :web_search)

@spec wrap_web_content(String.t(), :web_search | :web_fetch) :: String.t()