{
  "ok": true,
  "version": "gluco-ai-letter-worker-response-v0.2",
  "status": "usage",
  "source": "cloudflare-durable-object",
  "report": {
    "today": {
      "dayKey": "2026-10-02",
      "aiGenerationCount": 0,
      "cacheHitCount": 0,
      "rateLimitedCount": 0,
      "turnstileVerifiedCount": 0,
      "turnstileFailedCount": 0,
      "modeGenerationCounts": {
        "letter": 0,
        "deep": 0
      },
      "modeCacheHitCounts": {
        "letter": 0,
        "deep": 0
      },
      "modeRateLimitedCounts": {
        "letter": 0,
        "deep": 0
      },
      "slotGenerationCounts": {
        "morning": 0,
        "afternoon": 0,
        "night": 0,
        "unknown": 0
      },
      "slotCacheHitCounts": {
        "morning": 0,
        "afternoon": 0,
        "night": 0,
        "unknown": 0
      },
      "slotRateLimitedCounts": {
        "morning": 0,
        "afternoon": 0,
        "night": 0,
        "unknown": 0
      },
      "modeSlotGenerationCounts": {
        "letter": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        },
        "deep": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        }
      },
      "modeSlotCacheHitCounts": {
        "letter": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        },
        "deep": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        }
      },
      "modeSlotRateLimitedCounts": {
        "letter": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        },
        "deep": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        }
      },
      "slotGenerationLimit": null
    },
    "month": {
      "monthKey": "2026-10",
      "aiGenerationCount": 0,
      "cacheHitCount": 0,
      "budgetBlockedCount": 0,
      "aiDisabledCount": 0,
      "turnstileVerifiedCount": 0,
      "turnstileFailedCount": 0,
      "modeGenerationCounts": {
        "letter": 0,
        "deep": 0
      },
      "modeCacheHitCounts": {
        "letter": 0,
        "deep": 0
      },
      "inputTokens": 0,
      "outputTokens": 0,
      "estimatedCostJpy": 0,
      "monthlyBudgetJpy": 100,
      "budgetUsageRate": 0
    },
    "guard": {
      "turnstileRequired": true,
      "turnstileVerified": null,
      "turnstileStatus": "not_applicable_for_usage_report",
      "turnstileVerifiedCount": 0,
      "turnstileFailedCount": 0,
      "sharedCountLimitsEnabled": false,
      "rateLimited": false,
      "totalRateLimited": false,
      "slotRateLimited": false,
      "budgetBlocked": false,
      "budgetWarning": false,
      "aiEnabled": true,
      "dailyGenerationLimit": null,
      "dailyGenerationRemaining": null,
      "slotGenerationLimit": null,
      "slotGenerationRemainingBySlot": null,
      "modeSlotGenerationRemainingBySlot": null,
      "dailyModeGenerationCounts": {
        "letter": 0,
        "deep": 0
      },
      "dailySlotGenerationCounts": {
        "morning": 0,
        "afternoon": 0,
        "night": 0,
        "unknown": 0
      },
      "dailyModeSlotGenerationCounts": {
        "letter": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        },
        "deep": {
          "morning": 0,
          "afternoon": 0,
          "night": 0,
          "unknown": 0
        }
      },
      "monthlyBudgetJpy": 100,
      "warningBudgetJpy": 50,
      "stopBudgetJpy": 80,
      "monthlyEstimatedCostJpy": 0
    },
    "cache": {
      "enabled": false,
      "bindingAvailable": false,
      "storage": "disabled",
      "freshSeconds": 3600,
      "retentionSeconds": 86400,
      "note": "Shared cache is intentionally disabled during personal-user early access. Every mode uses browser-local cache only."
    },
    "storage": {
      "kind": "durable-object-sqlite",
      "note": "Persisted in a singleton Cloudflare Durable Object. No glucose values or letter text are stored in this usage counter.",
      "startedAt": "2026-10-01T03:09:51.272Z",
      "updatedAt": "2026-10-01T03:09:51.272Z"
    },
    "personalUserUsage": {
      "status": "suppressed",
      "period": {
        "fromDay": "2026-09-02",
        "throughDay": "2026-10-01",
        "windowDays": 30,
        "timezone": "Asia/Tokyo"
      },
      "minimumContributors": 10
    }
  }
}