/**
 * `dwatch_session` cookie の属性（D-072 / 指示書I 段階3-1）。
 *
 * ★1箇所に閉じ込めること★ — 発行（login）と削除（logout）と判定（proxy）で
 * 名前や属性がズレると、消したつもりの cookie が残るなどの事故になる。
 */

/**
 * cookie 名。★`lib/logger/redact.ts` のマスキング対象と同じ文字列であること★
 * （`lib/proxy/authenticate.ts` の `SESSION_COOKIE_NAME` もこれを再輸出している）
 */
export const SESSION_COOKIE_NAME = "dwatch_session";

/**
 * 発行時の属性。
 *
 * | 項目 | 値 | 理由 |
 * |---|---|---|
 * | `httpOnly` | true | クライアントの JS から読めなくする |
 * | `secure` | true | ブラウザ〜LB 間は HTTPS。アプリが HTTP で応答してもブラウザは受け入れる |
 * | `sameSite` | lax | D-072 |
 * | `path` | / | 全ルートで送られるように |
 *
 * ★`expires` / `maxAge` を付けないこと★
 *   `CLAUDE.md` §7「トークン期限/残日数の実装」は**禁止**。
 *   公式例には載っているが、ここでは入れない（＝ セッション cookie になる）。
 */
export const SESSION_COOKIE_OPTIONS = {
  httpOnly: true,
  secure: true,
  sameSite: "lax",
  path: "/",
} as const;
