{
  "_id": "6a10203bacfb0bcc41c8b7f2",
  "Package": "tidyprompt",
  "Title": "Prompt Large Language Models and Enhance Their Functionality",
  "Version": "0.4.0.9000",
  "Authors@R": "c(person(given = \"Luka\",\nfamily = \"Koning\",\nrole = c(\"aut\", \"cre\", \"cph\"),\nemail = \"koningluka@gmail.com\"),\nperson(given = \"Tjark\",\nfamily = \"Van de Merwe\",\nrole = c(\"aut\", \"cph\"),\nemail = \"t.vandemerwe@kennispunttwente.nl\"),\nperson(given = \"Kennispunt Twente\",\nrole = \"fnd\",\nemail = \"info@kennispunttwente.nl\"))",
  "Description": "Easily construct prompts and associated logic for\ninteracting with large language models (LLMs). 'tidyprompt'\nintroduces the concept of prompt wraps, which are building\nblocks that you can use to quickly turn a simple prompt into a\ncomplex one. Prompt wraps do not just modify the prompt text,\nbut also add extraction and validation functions that will be\napplied to the response of the LLM. This ensures that the user\ngets the desired output. 'tidyprompt' can add various features\nto prompts and their evaluation by LLMs, such as structured\noutput, automatic feedback, retries, reasoning modes,\nautonomous R function calling, and R code generation and\nevaluation. It is designed to be compatible with any LLM\nprovider that offers chat completion.",
  "License": "GPL (>= 3) | file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/KennispuntTwente/tidyprompt,\nhttps://KennispuntTwente.github.io/tidyprompt/",
  "BugReports": "https://github.com/KennispuntTwente/tidyprompt/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libicu-dev libssl-dev",
  "Repository": "https://kennispunttwente.r-universe.dev",
  "Date/Publication": "2026-04-22 20:11:55 UTC",
  "RemoteUrl": "https://github.com/kennispunttwente/tidyprompt",
  "RemoteRef": "HEAD",
  "RemoteSha": "9513451f934ac060fb4ebac429d7133d78acc4cd",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-22 09:17:28 UTC",
    "User": "root"
  },
  "Author": "Luka Koning [aut, cre, cph],\nTjark Van de Merwe [aut, cph],\nKennispunt Twente [fnd]",
  "Maintainer": "Luka Koning <koningluka@gmail.com>",
  "MD5sum": "95023150d02ba0f54276c77a03b741ff",
  "_user": "kennispunttwente",
  "_type": "src",
  "_file": "tidyprompt_0.4.0.9000.tar.gz",
  "_fileid": "78a4f23da309542c46be3896e7e579af71166791793b507ee9dff2a4ad82ea1d",
  "_filesize": 701232,
  "_sha256": "78a4f23da309542c46be3896e7e579af71166791793b507ee9dff2a4ad82ea1d",
  "_created": "2026-05-22T09:17:28.000Z",
  "_published": "2026-05-22T09:22:03.444Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77351515182,
      "time": 149,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7157126564"
    },
    {
      "job": 77351515121,
      "time": 130,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157120265"
    },
    {
      "job": 77351515125,
      "time": 211,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7157135583"
    },
    {
      "job": 77351515164,
      "time": 174,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157119644"
    },
    {
      "job": 77350963516,
      "time": 214,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157077439"
    },
    {
      "job": 77351515138,
      "time": 116,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157115563"
    },
    {
      "job": 77351515126,
      "time": 127,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7157119327"
    },
    {
      "job": 77351515158,
      "time": 121,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7157117356"
    },
    {
      "job": 77351515153,
      "time": 121,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157117070"
    }
  ],
  "_buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/kennispunttwente/tidyprompt",
  "_commit": {
    "id": "9513451f934ac060fb4ebac429d7133d78acc4cd",
    "author": "lukakoning <koningluka@gmail.com>",
    "committer": "lukakoning <koningluka@gmail.com>",
    "message": "Update README\n",
    "time": 1776888715
  },
  "_maintainer": {
    "name": "Luka Koning",
    "email": "koningluka@gmail.com",
    "login": "lukakoning",
    "description": "",
    "uuid": 102363211
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "here",
      "role": "Suggests"
    },
    {
      "package": "callr",
      "role": "Suggests"
    },
    {
      "package": "skimr",
      "role": "Suggests"
    },
    {
      "package": "jsonvalidate",
      "role": "Suggests"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "ellmer",
      "version": ">= 0.3.0",
      "role": "Suggests"
    },
    {
      "package": "coro",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "mcptools",
      "role": "Suggests"
    },
    {
      "package": "grid",
      "role": "Suggests"
    }
  ],
  "_owner": "kennispunttwente",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-27",
      "n": 4
    },
    {
      "week": "2025-33",
      "n": 9
    },
    {
      "week": "2025-34",
      "n": 47
    },
    {
      "week": "2025-35",
      "n": 7
    },
    {
      "week": "2025-39",
      "n": 2
    },
    {
      "week": "2025-46",
      "n": 3
    },
    {
      "week": "2025-47",
      "n": 3
    },
    {
      "week": "2025-48",
      "n": 11
    },
    {
      "week": "2026-16",
      "n": 69
    },
    {
      "week": "2026-17",
      "n": 23
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2025-08-18"
    },
    {
      "name": "v0.2.0",
      "date": "2025-08-25"
    },
    {
      "name": "v0.3.0",
      "date": "2025-11-30"
    },
    {
      "name": "v0.4.0",
      "date": "2026-04-20"
    }
  ],
  "_topics": [
    "llm"
  ],
  "_stars": 31,
  "_contributors": [
    {
      "user": "lukakoning",
      "count": 623,
      "uuid": 102363211
    },
    {
      "user": "tjarkvandemerwe",
      "count": 64,
      "uuid": 29621946
    },
    {
      "user": "copilot",
      "count": 1,
      "uuid": 198982749
    }
  ],
  "_userbio": {
    "uuid": 205927260,
    "type": "organization",
    "name": "Kennispunt Twente",
    "description": "Wij leveren data, inzicht en kennis om de Twentse samenleving te versterken."
  },
  "_downloads": {
    "count": 568,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tidyprompt"
  },
  "_devurl": "https://github.com/kennispunttwente/tidyprompt",
  "_pkgdown": "https://KennispuntTwente.github.io/tidyprompt/",
  "_searchresults": 20,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tidyprompt.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/kennispunttwente/tidyprompt",
  "_realowner": "kennispunttwente",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.1",
      "date": "2025-01-08"
    },
    {
      "version": "0.1.0",
      "date": "2025-08-18"
    },
    {
      "version": "0.2.0",
      "date": "2025-08-25"
    },
    {
      "version": "0.3.0",
      "date": "2025-11-30"
    },
    {
      "version": "0.4.0",
      "date": "2026-04-21"
    }
  ],
  "_exports": [
    "add_image",
    "add_msg_to_chat_history",
    "add_text",
    "answer_as_boolean",
    "answer_as_category",
    "answer_as_dataframe",
    "answer_as_integer",
    "answer_as_json",
    "answer_as_key_value",
    "answer_as_list",
    "answer_as_multi_category",
    "answer_as_named_list",
    "answer_as_numeric",
    "answer_as_regex_match",
    "answer_as_text",
    "answer_by_chain_of_thought",
    "answer_by_react",
    "answer_using_r",
    "answer_using_sql",
    "answer_using_tools",
    "chat_history",
    "construct_prompt_text",
    "df_to_string",
    "extract_from_return_list",
    "get_chat_history",
    "get_prompt_wraps",
    "is_tidyprompt",
    "llm_break",
    "llm_break_soft",
    "llm_feedback",
    "llm_provider_ellmer",
    "llm_provider_google_gemini",
    "llm_provider_groq",
    "llm_provider_mistral",
    "llm_provider_ollama",
    "llm_provider_openai",
    "llm_provider_openrouter",
    "llm_provider_xai",
    "llm_provider-class",
    "llm_verify",
    "persistent_chat-class",
    "prompt_wrap",
    "provider_prompt_wrap",
    "quit_if",
    "r_json_schema_to_example",
    "send_prompt",
    "set_chat_history",
    "set_system_prompt",
    "skim_with_labels_and_levels",
    "tidyprompt",
    "tidyprompt-class",
    "tools_add_docs",
    "tools_get_docs",
    "user_verify",
    "vector_list_to_string"
  ],
  "_help": [
    {
      "page": "add_image",
      "title": "Add an image to a tidyprompt (multimodal)",
      "concept": [
        "miscellaneous_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "add_image"
      ]
    },
    {
      "page": "add_msg_to_chat_history",
      "title": "Add a message to a chat history",
      "topics": [
        "add_msg_to_chat_history"
      ]
    },
    {
      "page": "add_text",
      "title": "Add text to a tidyprompt",
      "concept": [
        "miscellaneous_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "add_text"
      ]
    },
    {
      "page": "answer_as_boolean",
      "title": "Make LLM answer as a boolean (TRUE or FALSE)",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_boolean"
      ]
    },
    {
      "page": "answer_as_category",
      "title": "Make LLM answer as a category",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_category"
      ]
    },
    {
      "page": "answer_as_dataframe",
      "title": "Make LLM answer as a data frame via structured output",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_dataframe"
      ]
    },
    {
      "page": "answer_as_integer",
      "title": "Make LLM answer as an integer (between min and max)",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_integer"
      ]
    },
    {
      "page": "answer_as_json",
      "title": "Make LLM answer as JSON (with optional schema; structured output)",
      "concept": [
        "answer_as_prompt_wraps",
        "json",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_json"
      ]
    },
    {
      "page": "answer_as_key_value",
      "title": "Make LLM answer as a list of key-value pairs",
      "topics": [
        "answer_as_key_value"
      ]
    },
    {
      "page": "answer_as_list",
      "title": "Make LLM answer as a list of items",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_list"
      ]
    },
    {
      "page": "answer_as_multi_category",
      "title": "Build prompt for categorizing a text into multiple categories",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_multi_category"
      ]
    },
    {
      "page": "answer_as_named_list",
      "title": "Make LLM answer as a named list",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_named_list"
      ]
    },
    {
      "page": "answer_as_numeric",
      "title": "Make LLM answer as a number (between min and max)",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_numeric"
      ]
    },
    {
      "page": "answer_as_regex_match",
      "title": "Make LLM answer match a specific regex",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_regex_match"
      ]
    },
    {
      "page": "answer_as_text",
      "title": "Make LLM answer as a constrained text response",
      "concept": [
        "answer_as_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_as_text"
      ]
    },
    {
      "page": "answer_by_chain_of_thought",
      "title": "Set chain of thought mode for a prompt",
      "concept": [
        "answer_by_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_by_chain_of_thought"
      ]
    },
    {
      "page": "answer_by_react",
      "title": "Set ReAct mode for a prompt",
      "concept": [
        "answer_by_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_by_react"
      ]
    },
    {
      "page": "answer_using_r",
      "title": "Enable LLM to draft and execute R code",
      "concept": [
        "answer_using_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_using_r"
      ]
    },
    {
      "page": "answer_using_sql",
      "title": "Enable LLM to draft and execute SQL queries on a database",
      "concept": [
        "answer_using_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "answer_using_sql"
      ]
    },
    {
      "page": "answer_using_tools",
      "title": "Enable LLM to call R functions (and/or MCP server tools)",
      "concept": [
        "answer_using_prompt_wraps",
        "pre_built_prompt_wraps",
        "tools"
      ],
      "topics": [
        "answer_using_tools"
      ]
    },
    {
      "page": "chat_history",
      "title": "Create or validate 'chat_history' object",
      "concept": [
        "chat_history"
      ],
      "topics": [
        "chat_history"
      ]
    },
    {
      "page": "construct_prompt_text",
      "title": "Construct prompt text from a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "construct_prompt_text"
      ]
    },
    {
      "page": "df_to_string",
      "title": "Convert a dataframe to a string representation",
      "concept": [
        "text_helpers"
      ],
      "topics": [
        "df_to_string"
      ]
    },
    {
      "page": "extract_from_return_list",
      "title": "Function to extract a specific element from a list",
      "concept": [
        "miscellaneous_helpers"
      ],
      "topics": [
        "extract_from_return_list"
      ]
    },
    {
      "page": "get_chat_history",
      "title": "Get the chat history of a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "get_chat_history"
      ]
    },
    {
      "page": "get_prompt_wraps",
      "title": "Get prompt wraps from a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "get_prompt_wraps"
      ]
    },
    {
      "page": "is_tidyprompt",
      "title": "Check if object is a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "is_tidyprompt"
      ]
    },
    {
      "page": "llm_break",
      "title": "Create an 'llm_break' object",
      "concept": [
        "prompt_evaluation",
        "prompt_wrap"
      ],
      "topics": [
        "llm_break"
      ]
    },
    {
      "page": "llm_break_soft",
      "title": "Create an 'llm_break_soft' object",
      "topics": [
        "llm_break_soft"
      ]
    },
    {
      "page": "llm_feedback",
      "title": "Create an 'llm_feedback' object",
      "concept": [
        "prompt_evaluation",
        "prompt_wrap"
      ],
      "topics": [
        "llm_feedback"
      ]
    },
    {
      "page": "llm_provider_ellmer",
      "title": "Create a new LLM provider from an 'ellmer::chat()' object",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_ellmer"
      ]
    },
    {
      "page": "llm_provider_google_gemini",
      "title": "Create a new Google Gemini LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_google_gemini"
      ]
    },
    {
      "page": "llm_provider_groq",
      "title": "Create a new Groq LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_groq"
      ]
    },
    {
      "page": "llm_provider_mistral",
      "title": "Create a new Mistral LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_mistral"
      ]
    },
    {
      "page": "llm_provider_ollama",
      "title": "Create a new Ollama LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_ollama"
      ]
    },
    {
      "page": "llm_provider_openai",
      "title": "Create a new OpenAI LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_openai"
      ]
    },
    {
      "page": "llm_provider_openrouter",
      "title": "Create a new OpenRouter LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_openrouter"
      ]
    },
    {
      "page": "llm_provider_xai",
      "title": "Create a new XAI (Grok) LLM provider",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider_xai"
      ]
    },
    {
      "page": "llm_provider-class",
      "title": "LlmProvider R6 Class",
      "concept": [
        "llm_provider"
      ],
      "topics": [
        "llm_provider-class"
      ]
    },
    {
      "page": "llm_verify",
      "title": "Have LLM check the result of a prompt (LLM-in-the-loop)",
      "topics": [
        "llm_verify"
      ]
    },
    {
      "page": "persistent_chat-class",
      "title": "PersistentChat R6 class",
      "topics": [
        "persistent_chat-class"
      ]
    },
    {
      "page": "prompt_wrap",
      "title": "Wrap a prompt with functions for modification and handling the LLM response",
      "concept": [
        "pre_built_prompt_wraps",
        "prompt_wrap"
      ],
      "topics": [
        "prompt_wrap"
      ]
    },
    {
      "page": "provider_prompt_wrap",
      "title": "Create a provider-level prompt wrap",
      "topics": [
        "provider_prompt_wrap"
      ]
    },
    {
      "page": "quit_if",
      "title": "Make evaluation of a prompt stop if LLM gives a specific response",
      "concept": [
        "miscellaneous_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "quit_if"
      ]
    },
    {
      "page": "r_json_schema_to_example",
      "title": "Generate an example object from a JSON schema",
      "concept": [
        "json"
      ],
      "topics": [
        "r_json_schema_to_example"
      ]
    },
    {
      "page": "send_prompt",
      "title": "Send a prompt to a LLM provider",
      "concept": [
        "prompt_evaluation"
      ],
      "topics": [
        "send_prompt"
      ]
    },
    {
      "page": "set_chat_history",
      "title": "Set the chat history of a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "set_chat_history"
      ]
    },
    {
      "page": "set_system_prompt",
      "title": "Set system prompt of a tidyprompt object",
      "concept": [
        "miscellaneous_prompt_wraps",
        "pre_built_prompt_wraps"
      ],
      "topics": [
        "set_system_prompt"
      ]
    },
    {
      "page": "skim_with_labels_and_levels",
      "title": "Skim a dataframe and include labels and levels",
      "concept": [
        "text_helpers"
      ],
      "topics": [
        "skim_with_labels_and_levels"
      ]
    },
    {
      "page": "tidyprompt",
      "title": "Create a tidyprompt object",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "tidyprompt"
      ]
    },
    {
      "page": "tidyprompt-class",
      "title": "Tidyprompt R6 Class",
      "concept": [
        "tidyprompt"
      ],
      "topics": [
        "tidyprompt-class"
      ]
    },
    {
      "page": "tools_add_docs",
      "title": "Add tidyprompt function documentation to a function",
      "concept": [
        "tools"
      ],
      "topics": [
        "tools_add_docs"
      ]
    },
    {
      "page": "tools_get_docs",
      "title": "Extract documentation from a function",
      "concept": [
        "tools"
      ],
      "topics": [
        "tools_get_docs"
      ]
    },
    {
      "page": "user_verify",
      "title": "Have user check the result of a prompt (human-in-the-loop)",
      "topics": [
        "user_verify"
      ]
    },
    {
      "page": "vector_list_to_string",
      "title": "Convert a named or unnamed list/vector to a string representation",
      "concept": [
        "text_helpers"
      ],
      "topics": [
        "vector_list_to_string"
      ]
    }
  ],
  "_readme": "https://github.com/kennispunttwente/tidyprompt/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cli",
    "curl",
    "dplyr",
    "generics",
    "glue",
    "httr2",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "pillar",
    "pkgconfig",
    "R6",
    "rappdirs",
    "rlang",
    "S7",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "creating_prompt_wraps.Rmd",
      "filename": "creating_prompt_wraps.html",
      "title": "Creating prompt wraps",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Creating prompt wraps",
        "Breaking out of the evaluation loop",
        "Extraction versus validation functions",
        "Prompt wrap types and order of application",
        "Configuring a LLM provider with a prompt wrap",
        "Configuring a prompt wrap based on the LLM provider or HTTP responses",
        "Configuring a prompt wrap based on other prompt wraps",
        "Handler functions"
      ],
      "created": "2024-12-07 17:59:34",
      "modified": "2025-02-06 19:25:32",
      "commits": 2
    },
    {
      "source": "getting_started.Rmd",
      "filename": "getting_started.html",
      "title": "Getting started",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup an LLM provider",
        "Basic prompting",
        "Prompt wraps",
        "answer_as: Retrieving output in a specific format",
        "JSON output",
        "answer_by: Adding a reasoning mode to the LLM",
        "answer_using: Have the LLM work with tools and code",
        "Tools (function-calling)",
        "Code generation and evaluation",
        "Creating custom prompt wraps",
        "Provider-level prompt wraps"
      ],
      "created": "2024-11-22 16:29:22",
      "modified": "2026-04-16 19:33:17",
      "commits": 41
    },
    {
      "source": "sentiment_analysis.Rmd",
      "filename": "sentiment_analysis.html",
      "title": "Sentiment analysis in R with a LLM and 'tidyprompt'",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2024-11-30 10:25:57",
      "modified": "2024-11-30 11:51:46",
      "commits": 6
    },
    {
      "source": "streaming_shiny_ipc.Rmd",
      "filename": "streaming_shiny_ipc.html",
      "title": "Streaming LLM responses to Shiny apps",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Example"
      ],
      "created": "2025-11-14 17:04:19",
      "modified": "2025-11-30 15:37:13",
      "commits": 3
    }
  ],
  "_score": 7.8715729355458794,
  "_indexed": true,
  "_nocasepkg": "tidyprompt",
  "_universes": [
    "kennispunttwente",
    "lukakoning"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:20:11.000Z",
      "distro": "noble",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "3a452e8d89f83d1591518a36ad5a2eeff579976fcabc81c1cd0dc2ef47caeb4c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:19:51.000Z",
      "distro": "noble",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "42b7516df2b20bf9008f3dcd01e6706e1022addafad542e352b324c2cd87dbd8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:20:38.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "35e929ce771f3914edc4272d0eb9c6c6bc5635bc5fd37c5dd2b6ef727031d7e3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:19:53.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "6de3f3e11ad3b1cee76a032e52425d26e4085e675facd06e8d7aa5a91807e0b7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:20:08.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "d58a485d7e66b9f181ea399a2808b2e53e7d13018165ca7bed37ff21dcb8c3d8",
      "status": "success",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:19:13.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "47e93aeda85da646a37417d8ebef59fa1f56c8380f8998bd2562bca50e59a472",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:19:05.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "b41d1f29449c3de62c9eba7d22c2225ab4dbfaf4122113af514667eb36805464",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.4.0.9000",
      "date": "2026-05-22T09:19:07.000Z",
      "commit": "9513451f934ac060fb4ebac429d7133d78acc4cd",
      "fileid": "d991773ed2badf797ae6cbda57c65cbc71523dd240f58f15cd9afeb4ba221c4a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kennispunttwente/actions/runs/26279201865"
    }
  ]
}