feat: migrate pricing from legacy tables to anvil_pricing

- Replace pricing/instance_types/providers/regions with anvil_* tables
- Add real-time USD→KRW exchange rate conversion (open.er-api.com)
- Korean users (lang=ko) see KRW prices, others see USD
- Remove provider_filter parameter (now single provider: Anvil)
- Add ExchangeRateCache interface with 1-hour KV caching
- Update CLAUDE.md with new table structure and exchange rate docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-01-26 01:05:44 +09:00
parent f6c35067f9
commit 580cc1bbe2
6 changed files with 350 additions and 142 deletions

View File

@@ -90,7 +90,6 @@ export const i18n: Record<string, {
traffic_pattern: "(optional) 'steady' | 'spiky' | 'growing'",
region_preference: "(optional) string[] - e.g. ['korea', 'japan']",
budget_limit: "(optional) number - max monthly USD",
provider_filter: "(optional) string[] - e.g. ['linode', 'vultr']",
lang: "(optional) 'en' | 'zh' | 'ja' | 'ko' - response language"
},
example: {
@@ -110,7 +109,6 @@ export const i18n: Record<string, {
traffic_pattern: "(可选) 'steady' | 'spiky' | 'growing'",
region_preference: "(可选) string[] - 例如 ['korea', 'japan']",
budget_limit: "(可选) number - 每月最高预算(美元)",
provider_filter: "(可选) string[] - 例如 ['linode', 'vultr']",
lang: "(可选) 'en' | 'zh' | 'ja' | 'ko' - 响应语言"
},
example: {
@@ -130,7 +128,6 @@ export const i18n: Record<string, {
traffic_pattern: "(任意) 'steady' | 'spiky' | 'growing'",
region_preference: "(任意) string[] - 例: ['korea', 'japan']",
budget_limit: "(任意) number - 月額予算上限(USD)",
provider_filter: "(任意) string[] - 例: ['linode', 'vultr']",
lang: "(任意) 'en' | 'zh' | 'ja' | 'ko' - 応答言語"
},
example: {
@@ -150,7 +147,6 @@ export const i18n: Record<string, {
traffic_pattern: "(선택) 'steady' | 'spiky' | 'growing'",
region_preference: "(선택) string[] - 예: ['korea', 'japan']",
budget_limit: "(선택) number - 월 예산 한도(원화, KRW)",
provider_filter: "(선택) string[] - 예: ['linode', 'vultr']",
lang: "(선택) 'en' | 'zh' | 'ja' | 'ko' - 응답 언어"
},
example: {