/**
 * nii-rates.ts — KV loader for NII rate configuration.
 *
 * Rates are stored in KV as `nii_rates:{year}` and updated annually.
 * Never hard-code rates — always load from KV.
 *
 * Spec: 2026-06-01-bituach-leumi (spec 175, wave-15)
 */
import type { NIIRates } from '@zync/types'
import type { Env } from '@zync/types'

/**
 * Load NII rates for a given year from KV.
 * Throws if the key is not configured for the requested year.
 */
export async function loadNIIRates(env: Env, year: number): Promise<NIIRates> {
  const raw = await env.KV.get(`nii_rates:${year}`)
  if (!raw) {
    throw new Error(`NII rates not configured for year ${year}. Set KV key nii_rates:${year}.`)
  }
  return JSON.parse(raw) as NIIRates
}
