{
  "_id": "6ab9639f99f7aa8c6aa3a52c",
  "Package": "chat.api",
  "Type": "Package",
  "Title": "Transport-Agnostic Chat Contract",
  "Version": "0.1.0",
  "Date": "2026-09-11",
  "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\"))",
  "Description": "A transport-agnostic contract for chat-room connectivity:\nconnect, poll, and send against one interface, with adapters\nfor 'Matrix' <https://spec.matrix.org/>, 'Slack'\n<https://api.slack.com/>, 'Telegram'\n<https://core.telegram.org/bots/api>, and Internet Relay Chat\n(IRC). An in-memory adapter supports local testing. Capability\nflags describe support for threads, markup dialects,\nencryption, and per-message identity. Platform clients are\nsupplied by optional packages; the core interface uses only\nbase R.",
  "License": "Apache License (>= 2)",
  "URL": "https://github.com/cornball-ai/chat.api",
  "BugReports": "https://github.com/cornball-ai/chat.api/issues",
  "Encoding": "UTF-8",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-27 18:39:42 UTC",
    "User": "root"
  },
  "Author": "Troy Hernandez [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-4248-604X>), cornball.ai [cph]",
  "Maintainer": "Troy Hernandez <troy@cornball.ai>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-09-27 15:50:02 UTC",
  "RemoteUrl": "https://github.com/cran/chat.api",
  "RemoteRef": "HEAD",
  "RemoteSha": "d1a693fcd4a65c07b75016984bb01e621da5443a",
  "_user": "cran",
  "_type": "src",
  "_file": "chat.api_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/afe91d9022fdbc9faab2f993bbf178264554808cc6ea58b540ee2be8d095bfcd",
  "_filesize": 348119,
  "_sha256": "afe91d9022fdbc9faab2f993bbf178264554808cc6ea58b540ee2be8d095bfcd",
  "_expires": "2027-01-05T18:42:35.000Z",
  "_created": "2026-09-27T18:39:42.000Z",
  "_published": "2026-09-27T18:42:39.109Z",
  "_jobs": [
    {
      "job": 108682326753,
      "time": 131,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10939061420"
    },
    {
      "job": 108682326792,
      "time": 138,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10939116042"
    },
    {
      "job": 108681844704,
      "time": 166,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10938997637"
    },
    {
      "job": 108682326779,
      "time": 89,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10939206461"
    },
    {
      "job": 108682326763,
      "time": 70,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10939320530"
    },
    {
      "job": 108682326708,
      "time": 82,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10938629297"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315",
  "_status": "success",
  "_upstream": "https://github.com/cran/chat.api",
  "_commit": {
    "id": "d1a693fcd4a65c07b75016984bb01e621da5443a",
    "author": "Troy Hernandez <troy@cornball.ai>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1790524202
  },
  "_maintainer": {
    "name": "Troy Hernandez",
    "email": "troy@cornball.ai",
    "login": "troyhernandez",
    "description": "",
    "uuid": 5670773,
    "orcid": "0009-0005-4248-604X"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0",
      "role": "Depends"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "mx.api",
      "role": "Suggests"
    },
    {
      "package": "mx.client",
      "version": ">= 0.2.1",
      "role": "Suggests"
    },
    {
      "package": "mx.crypto",
      "version": ">= 0.2.2",
      "role": "Suggests"
    },
    {
      "package": "slackr",
      "role": "Suggests"
    },
    {
      "package": "telegram",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-39",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-09-27"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "troyhernandez",
      "count": 1,
      "uuid": 5670773
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 630,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/chat.api"
  },
  "_devurl": "https://github.com/cornball-ai/chat.api",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/chat.api.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-09-27"
    }
  ],
  "_exports": [
    "chat_addressed",
    "chat_attachment",
    "chat_capabilities",
    "chat_channel_create",
    "chat_channel_info",
    "chat_channels",
    "chat_config",
    "chat_config_save",
    "chat_disconnect",
    "chat_download",
    "chat_edit",
    "chat_get_state",
    "chat_history",
    "chat_identity",
    "chat_invite",
    "chat_irc",
    "chat_join",
    "chat_leave",
    "chat_loopback",
    "chat_mark_read",
    "chat_matrix",
    "chat_matrix_config",
    "chat_matrix_config_path",
    "chat_matrix_configure",
    "chat_members",
    "chat_message",
    "chat_pending",
    "chat_poll",
    "chat_react",
    "chat_reaction",
    "chat_relogin",
    "chat_resolve",
    "chat_send",
    "chat_set_identity",
    "chat_set_state",
    "chat_slack",
    "chat_telegram",
    "chat_typing",
    "chat_whoami"
  ],
  "_help": [
    {
      "page": "chat.api-package",
      "title": "Transport-agnostic chat connectivity",
      "topics": [
        "chat.api-package",
        "chat.api"
      ]
    },
    {
      "page": "chat_addressed",
      "title": "Does a message address this client?",
      "topics": [
        "chat_addressed"
      ]
    },
    {
      "page": "chat_attachment",
      "title": "Construct a normalized attachment record",
      "topics": [
        "chat_attachment"
      ]
    },
    {
      "page": "chat_capabilities",
      "title": "Describe what a chat client's platform supports",
      "topics": [
        "chat_capabilities"
      ]
    },
    {
      "page": "chat_channel_create",
      "title": "Create a channel",
      "topics": [
        "chat_channel_create"
      ]
    },
    {
      "page": "chat_channel_info",
      "title": "Describe a channel",
      "topics": [
        "chat_channel_info"
      ]
    },
    {
      "page": "chat_channels",
      "title": "List the channels this client is in",
      "topics": [
        "chat_channels"
      ]
    },
    {
      "page": "chat_config",
      "title": "Construct a chat_config",
      "topics": [
        "chat_config"
      ]
    },
    {
      "page": "chat_config_save",
      "title": "Persist a configuration",
      "topics": [
        "chat_config_save"
      ]
    },
    {
      "page": "chat_disconnect",
      "title": "Close a chat client's connection",
      "topics": [
        "chat_disconnect"
      ]
    },
    {
      "page": "chat_download",
      "title": "Fetch an attachment's bytes to a local file",
      "topics": [
        "chat_download"
      ]
    },
    {
      "page": "chat_edit",
      "title": "Replace the text of a message already sent",
      "topics": [
        "chat_edit"
      ]
    },
    {
      "page": "chat_get_state",
      "title": "Read durable typed state from a channel",
      "topics": [
        "chat_get_state"
      ]
    },
    {
      "page": "chat_history",
      "title": "Read a channel's recent messages",
      "topics": [
        "chat_history"
      ]
    },
    {
      "page": "chat_identity",
      "title": "Construct an identity record",
      "topics": [
        "chat_identity"
      ]
    },
    {
      "page": "chat_invite",
      "title": "Construct a normalized invitation record",
      "topics": [
        "chat_invite"
      ]
    },
    {
      "page": "chat_irc",
      "title": "Create an IRC chat client",
      "topics": [
        "chat_irc"
      ]
    },
    {
      "page": "chat_join",
      "title": "Join a channel",
      "topics": [
        "chat_join"
      ]
    },
    {
      "page": "chat_leave",
      "title": "Leave a channel",
      "topics": [
        "chat_leave"
      ]
    },
    {
      "page": "chat_loopback",
      "title": "Create a loopback chat client",
      "topics": [
        "chat_loopback"
      ]
    },
    {
      "page": "chat_mark_read",
      "title": "Mark a message as read",
      "topics": [
        "chat_mark_read"
      ]
    },
    {
      "page": "chat_matrix",
      "title": "Create a Matrix chat client",
      "topics": [
        "chat_matrix"
      ]
    },
    {
      "page": "chat_matrix_config",
      "title": "Load a Matrix configuration",
      "topics": [
        "chat_matrix_config"
      ]
    },
    {
      "page": "chat_matrix_config_path",
      "title": "Where a Matrix configuration lives",
      "topics": [
        "chat_matrix_config_path"
      ]
    },
    {
      "page": "chat_matrix_configure",
      "title": "Configure a Matrix account interactively",
      "topics": [
        "chat_matrix_configure"
      ]
    },
    {
      "page": "chat_members",
      "title": "List a channel's members",
      "topics": [
        "chat_members"
      ]
    },
    {
      "page": "chat_message",
      "title": "Construct a normalized chat message",
      "topics": [
        "chat_message"
      ]
    },
    {
      "page": "chat_pending",
      "title": "Read standing state that is not tied to a cursor",
      "topics": [
        "chat_pending"
      ]
    },
    {
      "page": "chat_poll",
      "title": "Poll a chat client for new messages",
      "topics": [
        "chat_poll"
      ]
    },
    {
      "page": "chat_react",
      "title": "React to a message",
      "topics": [
        "chat_react"
      ]
    },
    {
      "page": "chat_reaction",
      "title": "Construct a normalized reaction record",
      "topics": [
        "chat_reaction"
      ]
    },
    {
      "page": "chat_relogin",
      "title": "Refresh this client's credentials",
      "topics": [
        "chat_relogin"
      ]
    },
    {
      "page": "chat_resolve",
      "title": "Resolve a human channel name to its identifier",
      "topics": [
        "chat_resolve"
      ]
    },
    {
      "page": "chat_send",
      "title": "Send a message through a chat client",
      "topics": [
        "chat_send"
      ]
    },
    {
      "page": "chat_set_identity",
      "title": "Set this client's persistent identity",
      "topics": [
        "chat_set_identity"
      ]
    },
    {
      "page": "chat_set_state",
      "title": "Set durable typed state on a channel",
      "topics": [
        "chat_set_state"
      ]
    },
    {
      "page": "chat_slack",
      "title": "Create a Slack chat client",
      "topics": [
        "chat_slack"
      ]
    },
    {
      "page": "chat_telegram",
      "title": "Create a Telegram chat client",
      "topics": [
        "chat_telegram"
      ]
    },
    {
      "page": "chat_typing",
      "title": "Signal typing state in a channel",
      "topics": [
        "chat_typing",
        "chat_typing.chat_matrix"
      ]
    },
    {
      "page": "chat_whoami",
      "title": "Who is this client logged in as?",
      "topics": [
        "chat_whoami"
      ]
    }
  ],
  "_readme": "https://github.com/cran/chat.api/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "chat.api",
  "_universes": [
    "cran",
    "troyhernandez",
    "cornball-ai"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-27T18:41:57.000Z",
      "distro": "resolute",
      "commit": "d1a693fcd4a65c07b75016984bb01e621da5443a",
      "fileid": "https://r2.ropensci.org/4576ce87e910fd29e85ae04949cf0f1fd5855a814445c8c7a32c1ccfdd80cdef",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-27T18:42:02.000Z",
      "distro": "resolute",
      "commit": "d1a693fcd4a65c07b75016984bb01e621da5443a",
      "fileid": "https://r2.ropensci.org/e766bd62caf670da01d7bc7ec515b5344cd8918d71e9063734acfb5f7586ccca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-09-27T18:41:29.000Z",
      "commit": "d1a693fcd4a65c07b75016984bb01e621da5443a",
      "fileid": "https://r2.ropensci.org/2d3afe5e63f2d98d6e593fab286e8be4a15696a1fa3949fc7a25b33d160b24ab",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-27T18:40:37.000Z",
      "commit": "d1a693fcd4a65c07b75016984bb01e621da5443a",
      "fileid": "https://r2.ropensci.org/97d37eeea4d80b4ffd81a645dc655c9a5c5b15cf5ac6f7a4003bfe6a768e90a3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-27T18:40:48.000Z",
      "commit": "d1a693fcd4a65c07b75016984bb01e621da5443a",
      "fileid": "https://r2.ropensci.org/4e4f6ba5fe88858083f2acba66e16c2b78c0a4824c9512d321d1d17254241545",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/36341296315"
    }
  ]
}