agent-first-http 0.1.1

Persistent HTTP client for AI agents — one request, one JSON line
{
  "id": "agent-first-http",
  "name": "Agent-First HTTP",
  "domain": "cmn.dev",
  "synopsis": "Persistent HTTP client for AI agents — JSONL in, JSONL out, connections managed transparently so agents never think about transport",
  "intent": [
    "Give AI agents a persistent HTTP client that maintains connection pools per host, reuses TCP+TLS connections across requests, and multiplexes concurrent streams over HTTP/2 — the agent writes JSON requests to stdin and reads JSON responses from stdout, never managing sockets, TLS handshakes, or connection lifecycles",
    "Bridge the gap between curl (one connection per invocation, human-oriented output) and MCP (protocol-locked, requires JSON-RPC framing) — afh is transport-only, works with any HTTP API, and uses AFD suffix conventions for self-describing fields in every request and response",
    "Provide first-class SSE streaming support where server-sent events arrive as individual JSONL lines on stdout, enabling agents to process streaming responses (LLM tokens, progress updates, real-time feeds) without buffering the entire response"
  ],
  "changes": [
    "Add GitHub Actions release workflow that builds pre-compiled binaries for macOS ARM, macOS Intel, Linux, and Windows on every version tag, uploads them to GitHub release assets, and automatically updates Homebrew and Scoop package manifests — enabling one-command installation without requiring Rust or cargo",
    "Add Homebrew tap (cmnspore/homebrew-tap) with auto-updated formula so macOS and Linux users can install via 'brew install cmnspore/tap/afhttp'",
    "Add Scoop bucket (cmnspore/scoop-bucket) with auto-updated manifest so Windows users can install via 'scoop install afhttp'",
    "Update README Install section to document all three installation methods: Homebrew for macOS/Linux, Scoop for Windows, and cargo install for any platform",
    "Fix BSD sed compatibility bug in release script — replace GNU-only \\+ quantifier with \\* so the version check works on macOS without GNU coreutils"
  ],
  "license": "MIT",
  "references": [
    {
      "uri": "cmn://cmn.dev/spore/blake3_5964f09fc2b8a9c8035cd823f431d6a7bcb81d2480f9ddee74beca0b2859020c",
      "relation": "follows",
      "reason": "All request/response fields use AFD suffix conventions, stderr logging uses AFD output formats"
    },
    {
      "uri": "cmn://cmn.dev/spore/blake3_4e9c6638fec89b09d90d0f4f5656064620f1a29ed5fcd7bf27db7c1bdfcc6531",
      "relation": "spawned_from"
    }
  ],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "excludes": [
      ".git"
    ],
    "ignore_rules": [
      ".gitignore"
    ]
  }
}