Skip to content

scape2009-wiki-api 1.0.0

Choose a tag to compare

@arsalan-anwari arsalan-anwari released this 16 Aug 14:32
· 4 commits to main since this release

The first release. The pipeline, both surfaces, the guard and four ways of installing it.

Added

  • Offline build. pipeline/ stages the game's own repositories and its cache,
    merges hand-written overlays over them, and writes one immutable SQLite artifact.
    Same inputs, same bytes.
  • Knowledge model. Six entity types (item, npc, shop, quest, scenery, location) and
    nine relationships between them, with a declared attribute registry, collapsed
    variants, stable (type, id) identity and derived slugs.
  • Query core. One surface-agnostic layer answering resolve, walk, search and
    compare, returning found, moved, hidden or missing rather than raising.
  • HTTP contract. A versioned FastAPI surface at /v1 returning render-ready JSON
    and page descriptors, with ETag, X-Data-Version and a published OpenAPI document.
  • MCP surface. A FastMCP server whose tools are generated from the relationship
    registry, so every way of following a link is a question a model can ask by name.
  • Guard. Ed25519 bearer tokens checked against an issuer public key, a per-caller
    share, and shut-out addresses that outlive a restart. Minting is unreachable from
    anything that serves.
  • One process, one port. Serving both surfaces mounts the tools inside the HTTP
    application, behind the same guard and one health check.
  • Grand Exchange history. Two years of weekly price snapshots, queryable per item.
  • Container. An image carrying the dataset, so a deployment with no network can
    serve it. Published to Docker Hub as arsalananwari/2009scape-wiki-api.
  • System packages. A standalone binary wrapped in a .deb, an .rpm and an Arch
    package, for installing it on Linux without Python.
  • PyPI. Published as scape2009-wiki-api, with scape2009-wiki-serve,
    scape2009-wiki-mcp and scape2009-wiki-keys as console scripts.
  • Sphinx Docs. Added sphinx docs and release pipeline to github pages.