// Force-set the expires_at of the most-recent ACTIVE chat_session by hitting
// the dev-only /internal/_test/force-session-expires-at endpoint. Used by the
// Stage 6 maestro flow (06_chat_countdown.yaml) to drive the 3-min snackbar,
// last-2-min danger pill, and expired banner without waiting in real time.
//
// Reads BACKEND_INTERNAL_URL + SECONDS_FROM_NOW from env (Maestro injects them
// from the flow). The backend re-runs startSessionTimer with the new schedule
// AND clears the per-session "3-min warning fired" flag so the warning fires
// again on the new schedule.
const url = BACKEND_INTERNAL_URL || 'http://localhost:3001'
const seconds = parseInt(SECONDS_FROM_NOW || '175', 10)
const resp = http.post(`${url}/internal/_test/force-session-expires-at`, {
  body: JSON.stringify({ latest: true, seconds_from_now: seconds }),
  headers: { 'Content-Type': 'application/json' },
})
if (resp.status !== 200) {
  throw new Error(`force-session-expires-at failed (${resp.status}): ${resp.body}`)
}
const data = json(resp.body)
output.SESSION_ID = data.session_id
output.EXPIRES_AT = data.expires_at
