{
  "_id": "6a5f4f1314e95619b75d605b",
  "Package": "LLMR.shiny",
  "Title": "Shared 'Shiny' Substrate for 'LLMR' Family GUIs",
  "Version": "0.1.1",
  "Authors@R": "person(\"Ali\", \"Sanaei\", , \"sanaei@uchicago.edu\", role = c(\"aut\", \"cre\"))",
  "Description": "Provides the shared shell that 'LLMR'-family graphical\ninterfaces are built on. It includes provider and model\nselection, environment-variable-based API-key handling, demo\nand live runners, session cost accounting, error banners,\ncomma-separated-value upload and column mapping, and display\nhelpers for the shared diagnostics() and report() generics.\nGraphical interfaces for the method packages import these\nhelpers rather than each reimplementing them, so a fix here is\navailable to every interface that depends on it.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/asanaei/LLMR.shiny",
  "BugReports": "https://github.com/asanaei/LLMR.shiny/issues",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-21 10:48:12 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 06:30:02 UTC",
  "RemoteUrl": "https://github.com/cran/LLMR.shiny",
  "RemoteRef": "HEAD",
  "RemoteSha": "575a77b9c522d031b4bc666c3c1595500dec49f6",
  "_user": "cran",
  "_type": "src",
  "_file": "LLMR.shiny_0.1.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/70d64d3e0161d76bb4684935e7344811f7677203f6d8ac22ba9ec76e29cfcddc",
  "_filesize": 538282,
  "_sha256": "70d64d3e0161d76bb4684935e7344811f7677203f6d8ac22ba9ec76e29cfcddc",
  "_expires": "2026-10-29T10:50:57.000Z",
  "_created": "2026-07-21T10:48:12.000Z",
  "_published": "2026-07-21T10:50:59.554Z",
  "_jobs": [
    {
      "job": 88611837815,
      "time": 136,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8492431945"
    },
    {
      "job": 88611837689,
      "time": 133,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8492431295"
    },
    {
      "job": 88611112658,
      "time": 202,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8492373349"
    },
    {
      "job": 88611837879,
      "time": 125,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8492427233"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29823397172",
  "_status": "success",
  "_upstream": "https://github.com/cran/LLMR.shiny",
  "_commit": {
    "id": "575a77b9c522d031b4bc666c3c1595500dec49f6",
    "author": "Ali Sanaei <sanaei@uchicago.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.1\n",
    "time": 1784615402
  },
  "_maintainer": {
    "name": "Ali Sanaei",
    "email": "sanaei@uchicago.edu",
    "login": "asanaei",
    "description": "",
    "uuid": 20296004
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "shiny",
      "role": "Imports"
    },
    {
      "package": "bslib",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "LLMR",
      "version": ">= 0.8.8",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-30",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.1",
      "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/LLMR.shiny"
  },
  "_devurl": "https://github.com/asanaei/llmr.shiny",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/LLMR.shiny.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2026-07-21"
    }
  ],
  "_exports": [
    "%||%",
    "annotate_demo_result",
    "as_display_table",
    "build_llm_config",
    "build_runner",
    "column_names_for_mapping",
    "condition_category",
    "cost_add_usage",
    "cost_empty",
    "cost_set_plan",
    "cost_tile",
    "demo_banner_ui",
    "demo_notice",
    "demo_runner",
    "diagnostics_table",
    "extract_token_counts",
    "github_remote_for",
    "install_guidance_ui",
    "is_auth_error",
    "is_demo_result",
    "key_state",
    "key_state_tile",
    "live_run_blocker_ui",
    "llmr_error_banner",
    "map_columns",
    "persona_selector_server",
    "persona_selector_ui",
    "pkg_available",
    "provider_choices",
    "provider_default_model",
    "provider_display_name",
    "provider_env_vars",
    "provider_registry",
    "read_csv_path",
    "read_csv_upload",
    "report_text",
    "safe_llmr_call",
    "shell_context",
    "shell_sidebar",
    "validate_column_mapping"
  ],
  "_help": [
    {
      "page": "annotate_demo_result",
      "title": "Mark a result as a demo result",
      "topics": [
        "annotate_demo_result"
      ]
    },
    {
      "page": "as_display_table",
      "title": "Coerce an arbitrary result to a display table",
      "topics": [
        "as_display_table"
      ]
    },
    {
      "page": "build_llm_config",
      "title": "Build an LLM config, falling back to a plain list without LLMR",
      "topics": [
        "build_llm_config"
      ]
    },
    {
      "page": "build_runner",
      "title": "Build a runner for a mode",
      "topics": [
        "build_runner"
      ]
    },
    {
      "page": "column_names_for_mapping",
      "title": "Column names of a data frame, for a mapping select input",
      "topics": [
        "column_names_for_mapping"
      ]
    },
    {
      "page": "condition_category",
      "title": "Error category of a caught condition",
      "topics": [
        "condition_category"
      ]
    },
    {
      "page": "cost_add_usage",
      "title": "Add realized usage to a cost record",
      "topics": [
        "cost_add_usage"
      ]
    },
    {
      "page": "cost_empty",
      "title": "An empty cost-accounting record",
      "topics": [
        "cost_empty"
      ]
    },
    {
      "page": "cost_set_plan",
      "title": "Record a planned run on a cost record",
      "topics": [
        "cost_set_plan"
      ]
    },
    {
      "page": "cost_tile",
      "title": "A value box reporting session usage",
      "topics": [
        "cost_tile"
      ]
    },
    {
      "page": "demo_banner_ui",
      "title": "A banner announcing a demo result",
      "topics": [
        "demo_banner_ui"
      ]
    },
    {
      "page": "demo_notice",
      "title": "Demo-result notice string",
      "topics": [
        "demo_notice"
      ]
    },
    {
      "page": "demo_runner",
      "title": "A deterministic offline demo runner",
      "topics": [
        "demo_runner"
      ]
    },
    {
      "page": "diagnostics_table",
      "title": "Render an object's 'diagnostics()' as a display table",
      "topics": [
        "diagnostics_table"
      ]
    },
    {
      "page": "extract_token_counts",
      "title": "Extract call/token counts from a result frame",
      "topics": [
        "extract_token_counts"
      ]
    },
    {
      "page": "github_remote_for",
      "title": "GitHub remote for an LLMR-family package",
      "topics": [
        "github_remote_for"
      ]
    },
    {
      "page": "install_guidance_ui",
      "title": "Install-guidance card for a missing package",
      "topics": [
        "install_guidance_ui"
      ]
    },
    {
      "page": "is_auth_error",
      "title": "Is a caught condition an auth error?",
      "topics": [
        "is_auth_error"
      ]
    },
    {
      "page": "is_demo_result",
      "title": "Is a result a demo result?",
      "topics": [
        "is_demo_result"
      ]
    },
    {
      "page": "key_state",
      "title": "Key state for a provider, read from the environment only",
      "topics": [
        "key_state"
      ]
    },
    {
      "page": "key_state_tile",
      "title": "A tile reporting key state (never the key value)",
      "topics": [
        "key_state_tile"
      ]
    },
    {
      "page": "live_run_blocker_ui",
      "title": "A banner shown when a live run is blocked for want of a key",
      "topics": [
        "live_run_blocker_ui"
      ]
    },
    {
      "page": "llmr_error_banner",
      "title": "Map a caught LLM error to a banner card",
      "topics": [
        "llmr_error_banner"
      ]
    },
    {
      "page": "map_columns",
      "title": "Map user columns to 'text' (and optionally 'labels')",
      "topics": [
        "map_columns"
      ]
    },
    {
      "page": "null-coalesce",
      "title": "Null-coalescing operator",
      "topics": [
        "%||%",
        "null-coalesce"
      ]
    },
    {
      "page": "persona_selector_server",
      "title": "Server for the persona selector module",
      "topics": [
        "persona_selector_server"
      ]
    },
    {
      "page": "persona_selector_ui",
      "title": "UI for the persona selector module",
      "topics": [
        "persona_selector_ui"
      ]
    },
    {
      "page": "pkg_available",
      "title": "Is a package installed?",
      "topics": [
        "pkg_available"
      ]
    },
    {
      "page": "provider_choices",
      "title": "Provider choices for a select input",
      "topics": [
        "provider_choices"
      ]
    },
    {
      "page": "provider_default_model",
      "title": "Default model for a provider",
      "topics": [
        "provider_default_model"
      ]
    },
    {
      "page": "provider_display_name",
      "title": "Display name for a provider",
      "topics": [
        "provider_display_name"
      ]
    },
    {
      "page": "provider_env_vars",
      "title": "Environment-variable names a provider's key may live in",
      "topics": [
        "provider_env_vars"
      ]
    },
    {
      "page": "provider_registry",
      "title": "Provider registry",
      "topics": [
        "provider_registry"
      ]
    },
    {
      "page": "read_csv_path",
      "title": "Read a CSV from a path",
      "topics": [
        "read_csv_path"
      ]
    },
    {
      "page": "read_csv_upload",
      "title": "Read an uploaded CSV (a Shiny fileInput value)",
      "topics": [
        "read_csv_upload"
      ]
    },
    {
      "page": "report_text",
      "title": "Render an object's 'report()' prose, falling back to print output",
      "topics": [
        "report_text"
      ]
    },
    {
      "page": "safe_llmr_call",
      "title": "Run an expression, capturing any error as a banner",
      "topics": [
        "safe_llmr_call"
      ]
    },
    {
      "page": "shell_context",
      "title": "Wire the standard sidebar and return the shared reactive context",
      "topics": [
        "shell_context"
      ]
    },
    {
      "page": "shell_sidebar",
      "title": "The standard GUI sidebar: provider, model, mode, key tile, cost tile",
      "topics": [
        "shell_sidebar"
      ]
    },
    {
      "page": "validate_column_mapping",
      "title": "Validate a column mapping",
      "topics": [
        "validate_column_mapping"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/LLMR.shiny/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/LLMR.shiny/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "commonmark",
    "digest",
    "fastmap",
    "fontawesome",
    "fs",
    "glue",
    "htmltools",
    "httpuv",
    "jquerylib",
    "jsonlite",
    "later",
    "lifecycle",
    "magrittr",
    "memoise",
    "mime",
    "otel",
    "promises",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "sass",
    "shiny",
    "sourcetools",
    "withr",
    "xtable"
  ],
  "_score": 1.6989700043360187,
  "_indexed": false,
  "_nocasepkg": "llmr.shiny",
  "_universes": [
    "cran",
    "asanaei"
  ],
  "_indexurl": "https://asanaei.r-universe.dev/LLMR.shiny",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-21T10:50:31.000Z",
      "distro": "resolute",
      "commit": "575a77b9c522d031b4bc666c3c1595500dec49f6",
      "fileid": "https://r2.ropensci.org/059016384669bd7c2062f83f976354b32a4dbfe40c21e5a6c8d251b9f43604b5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29823397172"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-07-21T10:50:29.000Z",
      "distro": "resolute",
      "commit": "575a77b9c522d031b4bc666c3c1595500dec49f6",
      "fileid": "https://r2.ropensci.org/58a7c7c924f6197eb61d9feddc2adec42e7caf552c3b9205c0b2c8f33514b9f6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29823397172"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-07-21T10:50:31.000Z",
      "commit": "575a77b9c522d031b4bc666c3c1595500dec49f6",
      "fileid": "https://r2.ropensci.org/b5d0149ffdfaca51aae01f87d1fc35a770deed074d78c0c5592b77257cf80529",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29823397172"
    }
  ]
}