{
  "surface": "Antheos",
  "base": "https://antheos.langsyn.org",
  "notice": "The Antheos Protocol Spec and its libraries are unfinished and not stable. Either may change in ways that break compatibility, and neither is being actively developed at present.",
  "specification": {
    "title": "The Antheos Protocol Spec",
    "url": "/libantheos/1.0.13/docs/ANTHEOS_PROTOCOL_SPEC.md"
  },
  "url_shape": "/{project}/{version}/{path}",
  "projects": [
    {
      "id": "libantheos",
      "title": "libantheos",
      "summary": "The Antheos protocol: the communication law the LangSyn buses speak. Wire format, session lifecycle and the layered specification, with a C implementation.",
      "licence": "MIT",
      "latest": "1.0.13",
      "versions": [
        {
          "version": "1.0.13",
          "index": "/libantheos/1.0.13/",
          "tarball": "/libantheos/1.0.13/libantheos-1.0.13.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libantheos/1.0.13/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libantheos/1.0.13/CONTRIBUTING.md"
            },
            {
              "path": "DEDICATION.md",
              "url": "/libantheos/1.0.13/DEDICATION.md"
            },
            {
              "path": "LICENSE",
              "url": "/libantheos/1.0.13/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libantheos/1.0.13/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libantheos/1.0.13/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libantheos/1.0.13/README.md"
            },
            {
              "path": "docs/ANTHEOS_PROTOCOL_SPEC.md",
              "url": "/libantheos/1.0.13/docs/ANTHEOS_PROTOCOL_SPEC.md"
            },
            {
              "path": "examples/basic_session.cpp",
              "url": "/libantheos/1.0.13/examples/basic_session.cpp"
            },
            {
              "path": "include/antheos.hpp",
              "url": "/libantheos/1.0.13/include/antheos.hpp"
            },
            {
              "path": "src/bus.cpp",
              "url": "/libantheos/1.0.13/src/bus.cpp"
            },
            {
              "path": "src/context.cpp",
              "url": "/libantheos/1.0.13/src/context.cpp"
            },
            {
              "path": "src/identity.cpp",
              "url": "/libantheos/1.0.13/src/identity.cpp"
            },
            {
              "path": "src/logic.cpp",
              "url": "/libantheos/1.0.13/src/logic.cpp"
            },
            {
              "path": "src/parser.cpp",
              "url": "/libantheos/1.0.13/src/parser.cpp"
            },
            {
              "path": "src/time.cpp",
              "url": "/libantheos/1.0.13/src/time.cpp"
            },
            {
              "path": "src/wire.cpp",
              "url": "/libantheos/1.0.13/src/wire.cpp"
            },
            {
              "path": "tests/test_bus.cpp",
              "url": "/libantheos/1.0.13/tests/test_bus.cpp"
            },
            {
              "path": "tests/test_common.hpp",
              "url": "/libantheos/1.0.13/tests/test_common.hpp"
            },
            {
              "path": "tests/test_conformance.cpp",
              "url": "/libantheos/1.0.13/tests/test_conformance.cpp"
            },
            {
              "path": "tests/test_context.cpp",
              "url": "/libantheos/1.0.13/tests/test_context.cpp"
            },
            {
              "path": "tests/test_depth.cpp",
              "url": "/libantheos/1.0.13/tests/test_depth.cpp"
            },
            {
              "path": "tests/test_edge.cpp",
              "url": "/libantheos/1.0.13/tests/test_edge.cpp"
            },
            {
              "path": "tests/test_identity.cpp",
              "url": "/libantheos/1.0.13/tests/test_identity.cpp"
            },
            {
              "path": "tests/test_logic.cpp",
              "url": "/libantheos/1.0.13/tests/test_logic.cpp"
            },
            {
              "path": "tests/test_parser.cpp",
              "url": "/libantheos/1.0.13/tests/test_parser.cpp"
            },
            {
              "path": "tests/test_service.cpp",
              "url": "/libantheos/1.0.13/tests/test_service.cpp"
            },
            {
              "path": "tests/test_session.cpp",
              "url": "/libantheos/1.0.13/tests/test_session.cpp"
            },
            {
              "path": "tests/test_time.cpp",
              "url": "/libantheos/1.0.13/tests/test_time.cpp"
            },
            {
              "path": "tests/test_wire.cpp",
              "url": "/libantheos/1.0.13/tests/test_wire.cpp"
            }
          ]
        }
      ]
    },
    {
      "id": "libantpeer",
      "title": "libantpeer",
      "summary": "A C++17 peer library for the Antheos bus — the client side of the protocol, over whichever transport you are carrying it on.",
      "licence": "MIT",
      "latest": "4.0.2",
      "versions": [
        {
          "version": "4.0.2",
          "index": "/libantpeer/4.0.2/",
          "tarball": "/libantpeer/4.0.2/libantpeer-4.0.2.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libantpeer/4.0.2/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libantpeer/4.0.2/CONTRIBUTING.md"
            },
            {
              "path": "LICENSE",
              "url": "/libantpeer/4.0.2/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libantpeer/4.0.2/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libantpeer/4.0.2/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libantpeer/4.0.2/README.md"
            },
            {
              "path": "docs/ANTPEER_SPEC.md",
              "url": "/libantpeer/4.0.2/docs/ANTPEER_SPEC.md"
            },
            {
              "path": "include/Ed25519Utils.hpp",
              "url": "/libantpeer/4.0.2/include/Ed25519Utils.hpp"
            },
            {
              "path": "include/antpeer.hpp",
              "url": "/libantpeer/4.0.2/include/antpeer.hpp"
            },
            {
              "path": "src/Ed25519Utils.cpp",
              "url": "/libantpeer/4.0.2/src/Ed25519Utils.cpp"
            },
            {
              "path": "src/antpeer.cpp",
              "url": "/libantpeer/4.0.2/src/antpeer.cpp"
            },
            {
              "path": "tests/test_ed25519.cpp",
              "url": "/libantpeer/4.0.2/tests/test_ed25519.cpp"
            },
            {
              "path": "tests/unit_test.cpp",
              "url": "/libantpeer/4.0.2/tests/unit_test.cpp"
            }
          ]
        }
      ]
    },
    {
      "id": "libblebus",
      "title": "libblebus",
      "summary": "A Bluetooth LE IPC bus. One broker thread listens on a local unix socket and on a BLE L2CAP connection-oriented channel at once, so a writer on either side reaches every reader on both. Length-prefixed frames, byte-compatible with libsockbus. Bytes in, bytes out — no routing, no parsing, no protocol logic.",
      "licence": "MIT",
      "latest": "1.1.0",
      "versions": [
        {
          "version": "1.1.0",
          "index": "/libblebus/1.1.0/",
          "tarball": "/libblebus/1.1.0/libblebus-1.1.0.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libblebus/1.1.0/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libblebus/1.1.0/CONTRIBUTING.md"
            },
            {
              "path": "LICENSE",
              "url": "/libblebus/1.1.0/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libblebus/1.1.0/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libblebus/1.1.0/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libblebus/1.1.0/README.md"
            },
            {
              "path": "include/blebus.hpp",
              "url": "/libblebus/1.1.0/include/blebus.hpp"
            },
            {
              "path": "src/blebus.cpp",
              "url": "/libblebus/1.1.0/src/blebus.cpp"
            },
            {
              "path": "tests/unit_test.cpp",
              "url": "/libblebus/1.1.0/tests/unit_test.cpp"
            }
          ]
        }
      ]
    },
    {
      "id": "libmembus",
      "title": "libmembus",
      "summary": "POSIX shared-memory IPC. Deliberately dumb: no routing, no parsing, no protocol logic — it moves bytes between processes on one machine and nothing else.",
      "licence": "MIT",
      "latest": "2.1.1",
      "versions": [
        {
          "version": "2.1.1",
          "index": "/libmembus/2.1.1/",
          "tarball": "/libmembus/2.1.1/libmembus-2.1.1.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libmembus/2.1.1/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libmembus/2.1.1/CONTRIBUTING.md"
            },
            {
              "path": "LICENSE",
              "url": "/libmembus/2.1.1/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libmembus/2.1.1/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libmembus/2.1.1/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libmembus/2.1.1/README.md"
            },
            {
              "path": "docs/MEMBUS_SPEC.md",
              "url": "/libmembus/2.1.1/docs/MEMBUS_SPEC.md"
            },
            {
              "path": "include/membus.hpp",
              "url": "/libmembus/2.1.1/include/membus.hpp"
            },
            {
              "path": "src/membus.cpp",
              "url": "/libmembus/2.1.1/src/membus.cpp"
            },
            {
              "path": "tests/test_common.hpp",
              "url": "/libmembus/2.1.1/tests/test_common.hpp"
            },
            {
              "path": "tests/test_membus.cpp",
              "url": "/libmembus/2.1.1/tests/test_membus.cpp"
            }
          ]
        }
      ]
    },
    {
      "id": "libsockbus",
      "title": "libsockbus",
      "summary": "TCP socket IPC, the same shape as libmembus across a network. A C API; the transport, not the protocol.",
      "licence": "MIT",
      "latest": "2.2.0",
      "versions": [
        {
          "version": "2.2.0",
          "index": "/libsockbus/2.2.0/",
          "tarball": "/libsockbus/2.2.0/libsockbus-2.2.0.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libsockbus/2.2.0/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libsockbus/2.2.0/CONTRIBUTING.md"
            },
            {
              "path": "LICENSE",
              "url": "/libsockbus/2.2.0/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libsockbus/2.2.0/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libsockbus/2.2.0/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libsockbus/2.2.0/README.md"
            },
            {
              "path": "docs/SOCKBUS_SPEC.md",
              "url": "/libsockbus/2.2.0/docs/SOCKBUS_SPEC.md"
            },
            {
              "path": "include/sockbus.hpp",
              "url": "/libsockbus/2.2.0/include/sockbus.hpp"
            },
            {
              "path": "src/sockbus.cpp",
              "url": "/libsockbus/2.2.0/src/sockbus.cpp"
            },
            {
              "path": "tests/unit_test.cpp",
              "url": "/libsockbus/2.2.0/tests/unit_test.cpp"
            }
          ]
        }
      ]
    },
    {
      "id": "libtrace",
      "title": "libtrace",
      "summary": "An execution-trace client: spans, point events and structured logging, written fire-and-forget to a collector over an AF_UNIX datagram socket. It holds no database. The record format it emits is specified in docs/TRACE_SPEC.md §4, which is what you implement a collector against — none is distributed.",
      "licence": "MIT",
      "latest": "2.2.0",
      "versions": [
        {
          "version": "2.2.0",
          "index": "/libtrace/2.2.0/",
          "tarball": "/libtrace/2.2.0/libtrace-2.2.0.tar.gz",
          "files": [
            {
              "path": "CHANGELOG.md",
              "url": "/libtrace/2.2.0/CHANGELOG.md"
            },
            {
              "path": "CONTRIBUTING.md",
              "url": "/libtrace/2.2.0/CONTRIBUTING.md"
            },
            {
              "path": "LICENSE",
              "url": "/libtrace/2.2.0/LICENSE"
            },
            {
              "path": "Makefile",
              "url": "/libtrace/2.2.0/Makefile"
            },
            {
              "path": "PROJECT.md",
              "url": "/libtrace/2.2.0/PROJECT.md"
            },
            {
              "path": "README.md",
              "url": "/libtrace/2.2.0/README.md"
            },
            {
              "path": "docs/TRACE_SPEC.md",
              "url": "/libtrace/2.2.0/docs/TRACE_SPEC.md"
            },
            {
              "path": "include/trace/Trace.h",
              "url": "/libtrace/2.2.0/include/trace/Trace.h"
            },
            {
              "path": "src/Trace.cpp",
              "url": "/libtrace/2.2.0/src/Trace.cpp"
            },
            {
              "path": "tests/test_libtrace.cpp",
              "url": "/libtrace/2.2.0/tests/test_libtrace.cpp"
            }
          ]
        }
      ]
    }
  ]
}
