{
  "_id": "6a1382a4acfb0bcc41d2b525",
  "Package": "llm.api",
  "Title": "Minimal LLM Chat Interface",
  "Version": "0.1.4",
  "Date": "2026-05-24",
  "Authors@R": "c(\nperson(\"Troy\", \"Hernandez\", role = c(\"aut\", \"cre\"),\nemail = \"troy@cornball.ai\",\ncomment = c(ORCID = \"0009-0005-4248-604X\")),\nperson(\"cornball.ai\", role = \"cph\"),\nperson(\"ellmer team\", role = \"cph\",\ncomment = \"API design derived from ellmer\"))",
  "Description": "A minimal-dependency client for Large Language Model chat\nAPIs. Supports 'OpenAI' <https://openai.com/>, 'Anthropic'\n'Claude' <https://claude.com/>, 'Moonshot' 'Kimi'\n<https://www.moonshot.ai/>, 'Ollama' <https://ollama.com/>, and\nother 'OpenAI'-compatible endpoints. Includes an agent loop\nwith tool use and a 'Model Context Protocol' client\n<https://modelcontextprotocol.io/>. API design is derived from\nthe 'ellmer' package, reimplemented with only base R, 'curl',\nand 'jsonlite'.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/cornball-ai/llm.api",
  "BugReports": "https://github.com/cornball-ai/llm.api/issues",
  "Encoding": "UTF-8",
  "Config/pak/sysreqs": "libssl-dev",
  "Repository": "https://cornball-ai.r-universe.dev",
  "Date/Publication": "2026-05-24 22:48:59 UTC",
  "RemoteUrl": "https://github.com/cornball-ai/llm.api",
  "RemoteRef": "HEAD",
  "RemoteSha": "79ecdfacd3641edd485f12560e18bac456085119",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-24 22:56:24 UTC",
    "User": "root"
  },
  "Author": "Troy Hernandez [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-4248-604X>),\ncornball.ai [cph],\nellmer team [cph] (API design derived from ellmer)",
  "Maintainer": "Troy Hernandez <troy@cornball.ai>",
  "MD5sum": "ae2c06fcc7a83b81825c7518a4381481",
  "_user": "cornball-ai",
  "_type": "src",
  "_file": "llm.api_0.1.4.tar.gz",
  "_fileid": "b96d98280dab015a0b3d82c76163a8821e46ede5da6593a331df9f285041023f",
  "_filesize": 203878,
  "_sha256": "b96d98280dab015a0b3d82c76163a8821e46ede5da6593a331df9f285041023f",
  "_created": "2026-05-24T22:56:24.000Z",
  "_published": "2026-05-24T22:58:44.968Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77633874231,
      "time": 115,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7189058765"
    },
    {
      "job": 77633874216,
      "time": 108,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7189058124"
    },
    {
      "job": 77633874241,
      "time": 68,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7189054652"
    },
    {
      "job": 77633874254,
      "time": 82,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7189055845"
    },
    {
      "job": 77633756569,
      "time": 139,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7189048096"
    },
    {
      "job": 77633874217,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7189057952"
    },
    {
      "job": 77633874240,
      "time": 71,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7189054962"
    },
    {
      "job": 77633874243,
      "time": 97,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7189057172"
    },
    {
      "job": 77633874246,
      "time": 71,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7189054867"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cornball-ai/llm.api",
  "_commit": {
    "id": "79ecdfacd3641edd485f12560e18bac456085119",
    "author": "Troy Hernandez <troy@cornball.ai>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Release 0.1.4 (#19)",
    "time": 1779662939
  },
  "_maintainer": {
    "name": "Troy Hernandez",
    "email": "troy@cornball.ai",
    "login": "troyhernandez",
    "description": "",
    "uuid": 5670773
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "curl",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "cornball-ai",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-01",
      "n": 3
    },
    {
      "week": "2026-02",
      "n": 4
    },
    {
      "week": "2026-03",
      "n": 3
    },
    {
      "week": "2026-04",
      "n": 4
    },
    {
      "week": "2026-05",
      "n": 7
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-10",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 6
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-19",
      "n": 4
    },
    {
      "week": "2026-20",
      "n": 3
    },
    {
      "week": "2026-21",
      "n": 5
    }
  ],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "troyhernandez",
      "count": 42,
      "uuid": 5670773
    }
  ],
  "_userbio": {
    "uuid": 153995987,
    "type": "organization",
    "name": "cornball.ai"
  },
  "_downloads": {
    "count": 934,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/llm.api"
  },
  "_devurl": "https://github.com/cornball-ai/llm.api",
  "_searchresults": 1,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/llm.api.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/cornball-ai/llm.api",
  "_realowner": "cornball-ai",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2026-04-16"
    },
    {
      "version": "0.1.3",
      "date": "2026-05-15"
    }
  ],
  "_exports": [
    "agent",
    "chat",
    "chat_claude",
    "chat_ollama",
    "chat_openai",
    "chat_session",
    "chat_session_anthropic",
    "chat_session_ollama",
    "chat_session_openai",
    "create_agent",
    "history_count_tool_calls",
    "history_tool_calls",
    "list_ollama_models",
    "llm_base",
    "llm_key",
    "mcp_call",
    "mcp_close",
    "mcp_connect",
    "mcp_start",
    "mcp_tools",
    "mcp_tools_for_api",
    "mcp_tools_for_claude",
    "prices_snapshot_date",
    "prices_snapshot_stale",
    "provider_default_model",
    "usage_cost"
  ],
  "_help": [
    {
      "page": "agent",
      "title": "Chat with tool use (agentic mode)",
      "topics": [
        "agent"
      ]
    },
    {
      "page": "chat",
      "title": "Chat with an LLM",
      "topics": [
        "chat"
      ]
    },
    {
      "page": "chat_claude",
      "title": "Chat with Anthropic Claude",
      "topics": [
        "chat_claude"
      ]
    },
    {
      "page": "chat_ollama",
      "title": "Chat with Ollama",
      "topics": [
        "chat_ollama"
      ]
    },
    {
      "page": "chat_openai",
      "title": "Chat with OpenAI",
      "topics": [
        "chat_openai"
      ]
    },
    {
      "page": "chat_session",
      "title": "Create a stateful chat session",
      "topics": [
        "chat_session"
      ]
    },
    {
      "page": "chat_session_anthropic",
      "title": "Create Anthropic chat session",
      "topics": [
        "chat_session_anthropic"
      ]
    },
    {
      "page": "chat_session_ollama",
      "title": "Create Ollama chat session",
      "topics": [
        "chat_session_ollama"
      ]
    },
    {
      "page": "chat_session_openai",
      "title": "Create OpenAI chat session",
      "topics": [
        "chat_session_openai"
      ]
    },
    {
      "page": "create_agent",
      "title": "Create an agent with MCP servers",
      "topics": [
        "create_agent"
      ]
    },
    {
      "page": "history_count_tool_calls",
      "title": "Count tool calls in a history list.",
      "topics": [
        "history_count_tool_calls"
      ]
    },
    {
      "page": "history_tool_calls",
      "title": "Walk a history list and return paired tool-call / tool-result records.",
      "topics": [
        "history_tool_calls"
      ]
    },
    {
      "page": "list_ollama_models",
      "title": "List Ollama models",
      "topics": [
        "list_ollama_models"
      ]
    },
    {
      "page": "llm_base",
      "title": "Set LLM API Base URL",
      "topics": [
        "llm_base"
      ]
    },
    {
      "page": "llm_key",
      "title": "Set LLM API Key",
      "topics": [
        "llm_key"
      ]
    },
    {
      "page": "mcp_call",
      "title": "Call a tool on an MCP server",
      "topics": [
        "mcp_call"
      ]
    },
    {
      "page": "mcp_close",
      "title": "Close an MCP connection",
      "topics": [
        "mcp_close"
      ]
    },
    {
      "page": "mcp_connect",
      "title": "Connect to an MCP server",
      "topics": [
        "mcp_connect"
      ]
    },
    {
      "page": "mcp_start",
      "title": "Start and connect to an MCP server",
      "topics": [
        "mcp_start"
      ]
    },
    {
      "page": "mcp_tools",
      "title": "List tools from an MCP connection",
      "topics": [
        "mcp_tools"
      ]
    },
    {
      "page": "mcp_tools_for_api",
      "title": "Format MCP tools for LLM APIs",
      "topics": [
        "mcp_tools_for_api"
      ]
    },
    {
      "page": "mcp_tools_for_claude",
      "title": "Format MCP tools for Claude API",
      "topics": [
        "mcp_tools_for_claude"
      ]
    },
    {
      "page": "prices_snapshot_date",
      "title": "Bundled price-snapshot date",
      "topics": [
        "prices_snapshot_date"
      ]
    },
    {
      "page": "prices_snapshot_stale",
      "title": "Is the bundled price snapshot stale?",
      "topics": [
        "prices_snapshot_stale"
      ]
    },
    {
      "page": "print.mcp_connection",
      "title": "Print an MCP Connection",
      "topics": [
        "print.mcp_connection"
      ]
    },
    {
      "page": "provider_default_model",
      "title": "Default model for a provider",
      "topics": [
        "provider_default_model"
      ]
    },
    {
      "page": "usage_cost",
      "title": "Estimate the USD cost of one call's token usage",
      "topics": [
        "usage_cost"
      ]
    }
  ],
  "_readme": "https://github.com/cornball-ai/llm.api/raw/HEAD/README.md",
  "_rundeps": [
    "curl",
    "jsonlite"
  ],
  "_score": 4.556302500767288,
  "_indexed": true,
  "_nocasepkg": "llm.api",
  "_universes": [
    "cornball-ai",
    "troyhernandez"
  ],
  "_previous": "0.1.3.5",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.4",
      "date": "2026-05-24T22:58:23.000Z",
      "distro": "noble",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "6776d9dec77c5382db0e0506ae556498cf197b3dad2d6437e94df420641a71fe",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.4",
      "date": "2026-05-24T22:58:16.000Z",
      "distro": "noble",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "43f73f103d8e9cecfcf452c6e93f2bd9a62f25f76974843c969666289a2954fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.4",
      "date": "2026-05-24T22:57:39.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "9e100139a7223b44476a351335f19a392e61baae21dd69af8ce7f0f8a521ec61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.4",
      "date": "2026-05-24T22:57:52.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "1cd8d17b3fa2ae10d8b5a90afffb44c316fc67c91a8579f5661103423e472e3d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.4",
      "date": "2026-05-24T22:58:24.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "66b53749214ee858b0362de0bffa4a7187e98ed96587f67867a7f3da348b3630",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-05-24T22:57:25.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "fe8598de1cbe36eb3321a4714ae622518dad617da5f83fe62f51b291623a645c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-05-24T22:57:46.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "77f1e3465b23917ea5f9ff513f48bb9a0acd117c9ea5700a709697ea75b67242",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.4",
      "date": "2026-05-24T22:57:23.000Z",
      "commit": "79ecdfacd3641edd485f12560e18bac456085119",
      "fileid": "8ac5f6aac30c99e5ddcf6613393f91c2ef1456e35e97c4803e8774a57569075a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/26375043706"
    }
  ]
}