{
  "_id": "6a5f650114e95619b75d6495",
  "Type": "Package",
  "Package": "LLMRagent",
  "Title": "Reproducible Language-Model Agents for Research",
  "Version": "0.8.0",
  "Authors@R": "person(\"Ali\", \"Sanaei\", , \"sanaei@uchicago.edu\", role = c(\"aut\", \"cre\"))",
  "Description": "An 'R' interface built on 'LLMR' creates large language\nmodel (LLM) agents for use as reproducible and governed\nresearch instruments. Agents pair a model configuration with\noptional persona instructions. Stateful exchanges retain\nconversational memory, and native 'R' functions can serve as\ntools within declared budgets. Several agents can hold a\nturn-taking conversation over a shared transcript, and\nfactorial experiments across such designs run in parallel.\nModel calls and tool activity are captured in a run object, so\nthe research record extends beyond generated text. A study\nmanifest hashes the design and computational apparatus without\ntreating sampled replies as part of its identity, and a\nhash-sealed archive preserves it alongside transcripts and call\nrecords. Tool policies record declared side effects and can\nlimit call counts or result sizes; calls marked for human\nreview pause before execution. Robustness checks assess\nsensitivity to prompt or model changes, while calibration\nagainst human labels corrects estimates drawn from imperfect\nmodel labels.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/asanaei/LLMRagent,\nhttps://asanaei.github.io/LLMRagent/",
  "BugReports": "https://github.com/asanaei/LLMRagent/issues",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-21 12:20:45 UTC",
    "User": "root"
  },
  "Author": "Ali Sanaei [aut, cre]",
  "Maintainer": "Ali Sanaei <sanaei@uchicago.edu>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-21 09:20:08 UTC",
  "RemoteUrl": "https://github.com/cran/LLMRagent",
  "RemoteRef": "HEAD",
  "RemoteSha": "09e71470aa12242a3e6f187150629a8d014d6bc5",
  "_user": "cran",
  "_type": "src",
  "_file": "LLMRagent_0.8.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/650a7aa073d6b26f96b4afd989aedbf409b88ace9c4767335cc18c4b35fd154e",
  "_filesize": 2313076,
  "_sha256": "650a7aa073d6b26f96b4afd989aedbf409b88ace9c4767335cc18c4b35fd154e",
  "_expires": "2026-10-29T12:24:30.000Z",
  "_created": "2026-07-21T12:20:45.000Z",
  "_published": "2026-07-21T12:24:33.188Z",
  "_jobs": [
    {
      "job": 88631340722,
      "time": 164,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8494818200"
    },
    {
      "job": 88631340650,
      "time": 141,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8494807909"
    },
    {
      "job": 88630406177,
      "time": 253,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8494743652"
    },
    {
      "job": 88631340823,
      "time": 140,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8494807160"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29829436854",
  "_status": "success",
  "_upstream": "https://github.com/cran/LLMRagent",
  "_commit": {
    "id": "09e71470aa12242a3e6f187150629a8d014d6bc5",
    "author": "Ali Sanaei <sanaei@uchicago.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.8.0\n",
    "time": 1784625608
  },
  "_maintainer": {
    "name": "Ali Sanaei",
    "email": "sanaei@uchicago.edu",
    "login": "asanaei",
    "description": "",
    "uuid": 20296004
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "LLMR",
      "version": ">= 0.8.10",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "callr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "future",
      "role": "Suggests"
    },
    {
      "package": "future.apply",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "R.utils",
      "role": "Suggests"
    },
    {
      "package": "jsonvalidate",
      "role": "Suggests"
    },
    {
      "package": "igraph",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-30",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.8.0",
      "date": "2026-07-21"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "asanaei",
      "count": 1,
      "uuid": 20296004
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 622,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/LLMRagent"
  },
  "_devurl": "https://github.com/asanaei/llmragent",
  "_pkgdown": "https://asanaei.github.io/LLMRagent/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/LLMRagent.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.8.0",
      "date": "2026-07-21"
    }
  ],
  "_exports": [
    "add_edge",
    "add_node",
    "agent",
    "Agent",
    "agent_as_tool",
    "agent_calibrate",
    "agent_experiment",
    "agent_manifest",
    "agent_pipeline",
    "agent_population",
    "agent_robustness",
    "agent_tool",
    "agent_workflow",
    "approve_tool_call",
    "archive_agent_study",
    "as_agent_run",
    "as_llmrcontent_validation",
    "attach_calibration",
    "budget",
    "check_state_leakage",
    "collect_measures",
    "contamination_report",
    "conversation",
    "debate",
    "deliberate",
    "diagnostics",
    "exposure_matrix",
    "focus_group",
    "fork_workflow",
    "guardrail",
    "guardrails",
    "hash_persona",
    "hash_tool_spec",
    "hash_workflow",
    "human_gate",
    "interview",
    "llm_claim_lint",
    "load_agent",
    "mark_claim_type",
    "mcp_tools",
    "memory_buffer",
    "memory_recall",
    "memory_summary",
    "persona_audit",
    "persona_frame",
    "persona_variants",
    "replay_run",
    "report",
    "reset",
    "resume_run",
    "resume_workflow",
    "run_workflow",
    "sandbox_tool",
    "save_agent",
    "society",
    "step_interaction",
    "think_harder",
    "vary_models",
    "vary_option_order",
    "vary_persona",
    "vary_prompt",
    "vary_temperature",
    "view_run",
    "workflow_from_pipeline"
  ],
  "_help": [
    {
      "page": "add_edge",
      "title": "Add an edge to a workflow",
      "topics": [
        "add_edge"
      ]
    },
    {
      "page": "add_node",
      "title": "Add a node to a workflow",
      "topics": [
        "add_node"
      ]
    },
    {
      "page": "agent",
      "title": "Create an agent",
      "topics": [
        "agent"
      ]
    },
    {
      "page": "agent_as_tool",
      "title": "Expose an agent as a tool for other agents",
      "topics": [
        "agent_as_tool"
      ]
    },
    {
      "page": "agent_calibrate",
      "title": "Calibrate LLM/agent labels for valid downstream inference",
      "topics": [
        "agent_calibrate"
      ]
    },
    {
      "page": "agent_experiment",
      "title": "Run a factorial agent experiment",
      "topics": [
        "agent_experiment"
      ]
    },
    {
      "page": "agent_manifest",
      "title": "Build the study manifest for a run",
      "topics": [
        "agent_manifest"
      ]
    },
    {
      "page": "agent_pipeline",
      "title": "Run input through a chain of agents",
      "topics": [
        "agent_pipeline"
      ]
    },
    {
      "page": "agent_population",
      "title": "Build a population of agents",
      "topics": [
        "agent_population",
        "print.agent_population"
      ]
    },
    {
      "page": "agent_robustness",
      "title": "Run a robustness battery",
      "topics": [
        "agent_robustness"
      ]
    },
    {
      "page": "agent_tool",
      "title": "Define a governed tool",
      "topics": [
        "agent_tool"
      ]
    },
    {
      "page": "agent_workflow",
      "title": "Build an agent workflow (a small, explicit graph)",
      "topics": [
        "agent_workflow"
      ]
    },
    {
      "page": "Agent-class",
      "title": "The Agent class",
      "topics": [
        "Agent",
        "Agent-class"
      ]
    },
    {
      "page": "approve_tool_call",
      "title": "Approve, reject, or edit a pending tool call",
      "topics": [
        "approve_tool_call"
      ]
    },
    {
      "page": "archive_agent_study",
      "title": "Seal an agent study to a directory",
      "topics": [
        "archive_agent_study"
      ]
    },
    {
      "page": "as_agent_run",
      "title": "Convert an LLMRagent result to a unified run object",
      "topics": [
        "agent_run",
        "as_agent_run",
        "as_tibble.agent_run"
      ]
    },
    {
      "page": "as_llmrcontent_validation",
      "title": "Build a validation frame for LLMRcontent",
      "topics": [
        "as_llmrcontent_validation"
      ]
    },
    {
      "page": "attach_calibration",
      "title": "Attach a calibration to an agent run",
      "topics": [
        "attach_calibration"
      ]
    },
    {
      "page": "budget",
      "title": "Spending and effort limits for an agent",
      "topics": [
        "budget"
      ]
    },
    {
      "page": "check_state_leakage",
      "title": "Detect shared state across experiment cells",
      "topics": [
        "check_state_leakage"
      ]
    },
    {
      "page": "collect_measures",
      "title": "Collect measures over a society",
      "topics": [
        "collect_measures"
      ]
    },
    {
      "page": "contamination_report",
      "title": "Flag shared agent instances across a population",
      "topics": [
        "contamination_report"
      ]
    },
    {
      "page": "conversation",
      "title": "Run a multi-agent conversation",
      "topics": [
        "conversation"
      ]
    },
    {
      "page": "debate",
      "title": "Structured debate between two agents",
      "topics": [
        "debate"
      ]
    },
    {
      "page": "deliberate",
      "title": "Group deliberation with a recorded vote",
      "topics": [
        "deliberate"
      ]
    },
    {
      "page": "diagnostics.agent_calibration",
      "title": "Machine-readable diagnostics for a calibration",
      "topics": [
        "diagnostics.agent_calibration"
      ]
    },
    {
      "page": "diagnostics.agent_experiment",
      "title": "Machine-readable diagnostics for an agent experiment",
      "topics": [
        "diagnostics.agent_experiment"
      ]
    },
    {
      "page": "diagnostics.agent_run",
      "title": "Machine-readable diagnostics for an agent run",
      "topics": [
        "diagnostics.Agent",
        "diagnostics.agent_run"
      ]
    },
    {
      "page": "diagnostics.persona_audit",
      "title": "Machine-readable diagnostics for a persona audit",
      "topics": [
        "diagnostics.persona_audit"
      ]
    },
    {
      "page": "exposure_matrix",
      "title": "Exposure matrix: who could see whom",
      "topics": [
        "exposure_matrix"
      ]
    },
    {
      "page": "focus_group",
      "title": "A moderated focus group",
      "topics": [
        "focus_group"
      ]
    },
    {
      "page": "fork_workflow",
      "title": "Fork a workflow run at a checkpoint",
      "topics": [
        "fork_workflow"
      ]
    },
    {
      "page": "guardrail",
      "title": "Define a guardrail",
      "topics": [
        "guardrail"
      ]
    },
    {
      "page": "guardrails",
      "title": "Collect guardrails",
      "topics": [
        "guardrails"
      ]
    },
    {
      "page": "hash_persona",
      "title": "Hash a persona",
      "topics": [
        "hash_persona"
      ]
    },
    {
      "page": "hash_tool_spec",
      "title": "Hash a tool's full specification",
      "topics": [
        "hash_tool_spec"
      ]
    },
    {
      "page": "hash_workflow",
      "title": "Hash a run's control flow (the workflow)",
      "topics": [
        "hash_workflow"
      ]
    },
    {
      "page": "human_gate",
      "title": "Mark a point or a tool as requiring human approval",
      "topics": [
        "human_gate"
      ]
    },
    {
      "page": "interview",
      "title": "A semi-structured interview",
      "topics": [
        "interview"
      ]
    },
    {
      "page": "llm_claim_lint",
      "title": "Assert (or scope) prose against a run's claim type",
      "topics": [
        "llm_claim_lint"
      ]
    },
    {
      "page": "llmragent-methods",
      "title": "LLMR-family methods for LLMRagent run objects",
      "topics": [
        "llmragent-methods"
      ]
    },
    {
      "page": "load_agent",
      "title": "Load an agent from disk",
      "topics": [
        "load_agent"
      ]
    },
    {
      "page": "mark_claim_type",
      "title": "Mark the kind of claim a run can support",
      "topics": [
        "mark_claim_type"
      ]
    },
    {
      "page": "mcp_tools",
      "title": "Expose MCP server tools to an agent, under governance",
      "topics": [
        "mcp_tools"
      ]
    },
    {
      "page": "memory",
      "title": "Agent memory policies",
      "topics": [
        "memory",
        "memory_buffer",
        "memory_recall",
        "memory_summary"
      ]
    },
    {
      "page": "persona_audit",
      "title": "Audit persona briefs for essentializing language and caricature",
      "topics": [
        "persona_audit",
        "print.persona_audit"
      ]
    },
    {
      "page": "persona_frame",
      "title": "A persona as an auditable research object",
      "topics": [
        "as.character.persona_frame",
        "persona_frame",
        "print.persona_frame"
      ]
    },
    {
      "page": "persona_variants",
      "title": "Vary a persona along named dimensions",
      "topics": [
        "persona_variants",
        "print.persona_set"
      ]
    },
    {
      "page": "replay_run",
      "title": "Replay a workflow run, verifying state hashes",
      "topics": [
        "replay_run"
      ]
    },
    {
      "page": "report.agent_experiment",
      "title": "Draft a short report for an agent experiment",
      "topics": [
        "report.agent_experiment"
      ]
    },
    {
      "page": "report.agent_run",
      "title": "Draft a methods-section report for an agent run",
      "topics": [
        "report.Agent",
        "report.agent_run"
      ]
    },
    {
      "page": "report.society",
      "title": "Draft a disciplined report for a society",
      "topics": [
        "report.society"
      ]
    },
    {
      "page": "reset.Agent",
      "title": "Clear an agent's memory",
      "topics": [
        "reset.Agent"
      ]
    },
    {
      "page": "resume_run",
      "title": "Resume a paused run after a tool-approval decision",
      "topics": [
        "resume_run"
      ]
    },
    {
      "page": "resume_workflow",
      "title": "Resume a paused or failed workflow run",
      "topics": [
        "resume_workflow"
      ]
    },
    {
      "page": "robustness-axes",
      "title": "Robustness perturbation axes",
      "topics": [
        "robustness-axes",
        "vary_models",
        "vary_option_order",
        "vary_persona",
        "vary_prompt",
        "vary_temperature"
      ]
    },
    {
      "page": "run_workflow",
      "title": "Run a workflow",
      "topics": [
        "run_workflow"
      ]
    },
    {
      "page": "sandbox_tool",
      "title": "Define a confined (sandboxed) tool",
      "topics": [
        "sandbox_tool"
      ]
    },
    {
      "page": "save_agent",
      "title": "Save an agent to disk",
      "topics": [
        "save_agent"
      ]
    },
    {
      "page": "society",
      "title": "Assemble a society from a population, a network, and measures",
      "topics": [
        "print.society",
        "society"
      ]
    },
    {
      "page": "step_interaction",
      "title": "Advance one interaction round",
      "topics": [
        "step_interaction"
      ]
    },
    {
      "page": "think_harder",
      "title": "Work a hard problem with one strong model and many cheap ones",
      "topics": [
        "think_harder"
      ]
    },
    {
      "page": "view_run",
      "title": "View a run as a self-contained HTML inspector",
      "topics": [
        "view_run"
      ]
    },
    {
      "page": "workflow_from_pipeline",
      "title": "Express an agent pipeline as a workflow",
      "topics": [
        "workflow_from_pipeline"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/LLMRagent/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/LLMRagent/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "cachem",
    "callr",
    "cli",
    "codetools",
    "cpp11",
    "curl",
    "digest",
    "dplyr",
    "fastmap",
    "future",
    "future.apply",
    "generics",
    "globals",
    "glue",
    "httr2",
    "jsonlite",
    "lifecycle",
    "listenv",
    "LLMR",
    "magrittr",
    "memoise",
    "mime",
    "openssl",
    "otel",
    "parallelly",
    "pillar",
    "pkgconfig",
    "processx",
    "ps",
    "purrr",
    "R6",
    "rlang",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "deliberation-experiment.Rmd",
      "filename": "deliberation-experiment.html",
      "title": "A deliberation experiment: group composition and collective decisions",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "designed-conversations.Rmd",
      "filename": "designed-conversations.html",
      "title": "Designed conversations: debates, focus groups, interviews, deliberations",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Debate: the strongest case for each side",
        "Focus group: opinions in company",
        "Interview: depth on one respondent",
        "Deliberation: talk, then decide",
        "From transcripts to analysis"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "governed-tools-and-human-review.Rmd",
      "filename": "governed-tools-and-human-review.html",
      "title": "Governed tools and human review: letting an agent act, safely",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A governed tool declares its powers",
        "Guardrails check what flows in and out",
        "Human approval for the irreversible",
        "Putting it together"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "LLMRagent in 10 minutes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A first agent",
        "Tools: let the agent call your R functions",
        "Budgets: spend ceilings the agent cannot cross",
        "Structured answers",
        "Agents calling agents",
        "Pipelines: a fixed sequence of specialists",
        "A two-agent conversation"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "provenance-and-archiving.Rmd",
      "filename": "provenance-and-archiving.html",
      "title": "Provenance and archiving: an agent run as evidence",
      "engine": "knitr::rmarkdown",
      "headings": [
        "One object, five views",
        "Diagnostics for a run",
        "Reporting within scope",
        "The manifest: identity without the transcript",
        "Archiving: seal the evidence",
        "Redaction without lying",
        "Why archive"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "super-brain.Rmd",
      "filename": "super-brain.html",
      "title": "Strong planner, cheap workers: one strong model coordinating many cheap ones",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "validity-robustness-and-calibration.Rmd",
      "filename": "validity-robustness-and-calibration.html",
      "title": "Validity: robustness, calibration, and honest claims",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Robustness: does the result hold under a small perturbation?",
        "Calibration: from a guess to a measurement",
        "Claim types: say what you mean",
        "The shape of an honest study"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    },
    {
      "source": "workflows.Rmd",
      "filename": "workflows.html",
      "title": "Workflows: small, auditable, resumable pipelines",
      "engine": "knitr::rmarkdown",
      "headings": [
        "State in, state out",
        "Branches and loops",
        "Checkpoints, resume, and fork",
        "Replay verification",
        "When to reach for this"
      ],
      "created": "2026-07-21 09:20:08",
      "modified": "2026-07-21 09:20:08",
      "commits": 1
    }
  ],
  "_score": 3.6020599913279625,
  "_indexed": false,
  "_nocasepkg": "llmragent",
  "_universes": [
    "cran",
    "asanaei"
  ],
  "_indexurl": "https://asanaei.r-universe.dev/LLMRagent",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.8.0",
      "date": "2026-07-21T12:23:22.000Z",
      "distro": "resolute",
      "commit": "09e71470aa12242a3e6f187150629a8d014d6bc5",
      "fileid": "https://r2.ropensci.org/3634a4c6552220d05c9f775f024908425f3523086846db45ce37919a72ee5e6e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29829436854"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.8.0",
      "date": "2026-07-21T12:23:01.000Z",
      "distro": "resolute",
      "commit": "09e71470aa12242a3e6f187150629a8d014d6bc5",
      "fileid": "https://r2.ropensci.org/395e7caba7677ea9db3975362e04472d87a29421423f291fb1d1ee0195df1d66",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29829436854"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.8.0",
      "date": "2026-07-21T12:23:33.000Z",
      "commit": "09e71470aa12242a3e6f187150629a8d014d6bc5",
      "fileid": "https://r2.ropensci.org/64a7a75407b79a444ea256f23e03dd94e4bf38567e67363b4d5d21458eb37791",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29829436854"
    }
  ]
}