"""Shared LLM-facing field descriptions for generated-document tools."""

CONVERSATION_CONTEXT_DESCRIPTION = (
    "Optional short note for a decision that the conversation cannot convey unambiguously, such as which constraint "
    "remains binding after the user changed direction. This tool already receives the conversation, so state only "
    "the winning decision and do not retell the discussion. Omit when the primary request field and conversation are "
    "already sufficient; this field supplements that request and never replaces it."
)

SOURCE_ARTIFACTS_DESCRIPTION = (
    "Optional exact Artifact Summary references to reusable assistant-generated records or inline images, including "
    "artifacts produced earlier in this same turn. Omit by default when no such artifact is material. Include every "
    "material record or image artifact when the user refers to earlier records, tables, results, metrics, charts, "
    "visuals, mockups, or images, or when the requested document clearly depends on one even if the user does not "
    "name it explicitly. Passing a reference attaches its content; do not copy that content into the main request "
    "field. Images can be attached only through this field, not by describing them in text. Charts rendered by the "
    "application from records are not reusable artifacts and cannot be attached; only their backing "
    "records or a separately generated inline image can be passed. Other artifact types are not accepted here."
)

REVISION_SOURCE_ARTIFACTS_DESCRIPTION = (
    f"{SOURCE_ARTIFACTS_DESCRIPTION} For a revision, include these references alongside the source document reference "
    "when reusing or replacing visuals."
)

GENERATE_DOCX_FILENAME_DESCRIPTION = (
    "Optional download filename for the generated Word document, with or without .docx. Populate only when the user "
    "explicitly requests a filename."
)

GENERATE_PPTX_FILENAME_DESCRIPTION = (
    "Optional download filename for the generated presentation, with or without .pptx. Populate only when the user "
    "explicitly requests a filename."
)

REVISE_DOCX_FILENAME_DESCRIPTION = (
    "Optional download filename for the revised Word document, with or without .docx. Populate only when the user "
    "explicitly requests a new filename; otherwise omit it to preserve the source filename."
)

REVISE_PPTX_FILENAME_DESCRIPTION = (
    "Optional download filename for the revised presentation, with or without .pptx. Populate only when the user "
    "explicitly requests a new filename; otherwise omit it to preserve the source filename."
)
