)]}'
{
  "log": [
    {
      "commit": "5c86165937d556a7a37f51f609661d9c4910087e",
      "tree": "665944b890553e3d87da6bc7178aa62ed903acaf",
      "parents": [
        "0eff94f27145fc2d6709208ff2329b8e6d557c32"
      ],
      "author": {
        "name": "crawshaw",
        "email": "david@zentus.com",
        "time": "Tue Jul 29 16:34:52 2025 +0000"
      },
      "committer": {
        "name": "crawshaw",
        "email": "david@zentus.com",
        "time": "Tue Jul 29 16:34:59 2025 +0000"
      },
      "message": "oai: retry once for TLS bad record MAC errors\n\nAdd automatic retry logic for the specific TLS error \"tls: bad record MAC\"\nthat occurs occasionally with Fireworks API. The first occurrence triggers\nan automatic retry, only failing to the user after a second consecutive failure.\n\nThis addresses intermittent connection issues without requiring manual\nintervention for transient TLS handshake problems.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s701f83a97373c925k\n"
    },
    {
      "commit": "59bb27d160b935287944f39588d9fef84d9c2036",
      "tree": "a30a97916af6798745f9baf9c9a24aba24adc6e1",
      "parents": [
        "883e758cfa6b41658158d3ceff2dd69eb01d8b81"
      ],
      "author": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Thu Jun 05 07:32:10 2025 -0700"
      },
      "committer": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Thu Jun 05 12:05:33 2025 -0700"
      },
      "message": "llm: get costs from server\n\nCalculating costs on the client has the advantage\nthat it works when not using skaband.\n\nIt requires that we maintain multiple sources of truth, though.\nAnd it makes it very challenging to add serverside tools,\nsuch as Anthropic\u0027s web tool.\n\nThis commit switches sketch to rely on the server for all costs.\nIf not using skaband, no costs will be calculated, which also\nmeans that budget constraints won\u0027t work.\n\nIt\u0027s unfortunate, but at the moment it seems like the best path.\n"
    },
    {
      "commit": "4f84ab729ddbf428b0e891940f08f70b4edee05c",
      "tree": "f2e52e4a01c188ada1f5acf8b2a013029b999495",
      "parents": [
        "44f9b4cec11e269a52fbfc099989ab425b8e125f"
      ],
      "author": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Tue Apr 22 16:40:54 2025 -0700"
      },
      "committer": {
        "name": "Josh Bleecher Snyder",
        "email": "josharian@gmail.com",
        "time": "Fri May 02 12:57:44 2025 -0700"
      },
      "message": "all: support openai-compatible models\n\nThe support is rather minimal at this point:\nOnly hard-coded models, only -unsafe, only -skabandaddr\u003d\"\".\n\nThe \"shared\" LLM package is strongly Claude-flavored.\n\nWe can fix all of this and more over time, if we are inspired to.\n(Maybe we\u0027ll switch to https://github.com/maruel/genai?)\n\nThe goal for now is to get the rough structure in place.\nI\u0027ve rebased and rebuilt this more times than I care to remember.\n"
    }
  ]
}
