"""Canary tokens — operator-facing CRUD.

Mounted under ``/api/v1/canary``.  Covers:

* ``POST /blobs`` — upload an artifact (multipart);
  ``GET /blobs``, ``DELETE /blobs/{id}`` — listing + cleanup
* ``POST /tokens`` — generate + plant a token on a target decky;
  ``GET /tokens``, ``GET /tokens/{id}``, ``DELETE /tokens/{id}``
  — listing + detail + revoke
* ``GET /tokens/{id}/preview`` — instrumented bytes for sanity-check
* ``GET /tokens/{id}/triggers`` — paged callback log

The ``decnet canary`` worker runs the ATTACKER-facing surface (HTTP
slug + DNS); this module is the OPERATOR-facing surface only.
"""
from fastapi import APIRouter

from .api_blobs import router as blobs_router
from .api_tokens import router as tokens_router

canary_router = APIRouter(prefix="/canary")
canary_router.include_router(blobs_router)
canary_router.include_router(tokens_router)
