{
  "ok": true,
  "name": "china-news-pages-functions",
  "compatibilityDate": "2026-04-15",
  "now": "2026-04-15T11:17:20.219Z",
  "timezone": "Asia/Shanghai",
  "endpoints": {
    "news": "/api/news?limit=5",
    "headlines": "/api/headlines",
    "refresh": "/api/refresh?notify=1",
    "history": "/api/history?limit=30",
    "historyItem": "/api/history?id=<history-id>",
    "historyCompare": "/api/history/compare?from=<old>&to=<new>",
    "sourceFilter": "/api/news?source=bbc&limit=5",
    "status": "/api/status",
    "dashboard": "/dashboard",
    "comparePage": "/history/compare?from=<old>&to=<new>",
    "rss": "/rss?limit=20",
    "rssFixedAll": "/rss/all.xml",
    "rssFixedSource": "/rss/bbc.xml",
    "rssCover": "/rss/cover.svg?source=bbc",
    "rssIcon": "/rss/icon.svg?source=bbc",
    "pagesNote": "Pages Functions 无原生 scheduled；如需定时抓取，可外部定时请求 /api/refresh?notify=1"
  },
  "scheduledCron": "*/30 * * * *",
  "supportedSources": [
    {
      "id": "wsj",
      "name": "华尔街日报",
      "upstream": [
        "https://feeds.content.dowjones.io/public/rss/RSSWorldNews",
        "https://feeds.content.dowjones.io/public/rss/socialeconomyfeed",
        "https://feeds.content.dowjones.io/public/rss/RSSMarketsMain",
        "https://feeds.content.dowjones.io/public/rss/RSSWSJD",
        "https://feeds.content.dowjones.io/public/rss/socialpoliticsfeed"
      ]
    },
    {
      "id": "nytimes",
      "name": "纽约时报",
      "upstream": [
        "https://www.nytimes.com/topic/destination/china"
      ]
    },
    {
      "id": "bbc",
      "name": "BBC",
      "upstream": [
        "https://feeds.bbci.co.uk/news/world/asia/china/rss.xml"
      ]
    },
    {
      "id": "cnn",
      "name": "CNN",
      "upstream": [
        "https://edition.cnn.com/world/china"
      ]
    },
    {
      "id": "scmp",
      "name": "南华早报",
      "upstream": [
        "https://www.scmp.com/topics/china"
      ]
    },
    {
      "id": "zaobao",
      "name": "联合早报",
      "upstream": [
        "https://www.zaobao.com/realtime/china"
      ]
    }
  ],
  "runtime": {
    "kv": {
      "enabled": true,
      "binding": "NEWS_CACHE",
      "snapshotKey": "china-news:snapshot:v1",
      "snapshotMeta": {
        "storedAt": "2026-04-15T09:42:47.777Z",
        "generatedAt": "2026-04-15T09:42:46.865Z",
        "reason": "http",
        "cron": null,
        "headlineDigest": "2afd43f96f9625d7a564a7e598d7bcb83ba40bfb3fc026bbad0a8f56420b5df2",
        "snapshotDigest": "ccdfe0d9376f9bd38e219f00fcc20c1c52e6371c9e9df22ae80cbfbeb9332a60",
        "diff": {
          "changedSources": [
            "wsj",
            "nytimes",
            "bbc",
            "cnn",
            "scmp",
            "zaobao"
          ],
          "newSources": [
            "wsj",
            "nytimes",
            "bbc",
            "cnn",
            "scmp",
            "zaobao"
          ],
          "removedSources": [],
          "unchangedSources": [],
          "changedCount": 6
        },
        "summary": {
          "totalArticles": 56,
          "headlineCount": 6,
          "successfulSources": 6,
          "failedSources": [],
          "sourceSummary": [
            {
              "id": "wsj",
              "ok": true,
              "count": 10
            },
            {
              "id": "nytimes",
              "ok": true,
              "count": 10
            },
            {
              "id": "bbc",
              "ok": true,
              "count": 10
            },
            {
              "id": "cnn",
              "ok": true,
              "count": 10
            },
            {
              "id": "scmp",
              "ok": true,
              "count": 6
            },
            {
              "id": "zaobao",
              "ok": true,
              "count": 10
            }
          ]
        }
      },
      "historyCount": 1
    },
    "telegram": {
      "enabled": false,
      "chatConfigured": false,
      "threadConfigured": false,
      "sourceRoutingConfigured": false,
      "lastPush": null
    },
    "email": {
      "enabled": false,
      "provider": null,
      "lastPush": null
    },
    "webhook": {
      "enabled": false,
      "targets": 0,
      "lastPush": null
    },
    "cron": {
      "supported": false,
      "recommended": "*/30 * * * *",
      "timezone": "UTC",
      "note": "Pages Functions 无原生 scheduled，请用外部定时器请求 /api/refresh?notify=1"
    }
  }
}