# stock-panel —— 推荐套餐能力对照表(§5.2)
#
# 仅用途:
#   1. 启动期能力探测决定试探顺序
#   2. UI Tier Label 反查("≈ Pro" 等友好标签)
#   3. 加购建议时的价格预估
#
# 业务代码永远不读这张表,只读运行时探测出的 CapabilitySet。
# 来源:https://tickflow.org/pricing/
# 频率单位:次/分钟。batch 单位:标的/次。
#
# 说明(2026-06-19 核对):
#   pricing 页为前端动态渲染,自动抓取只能拿到 FAQ 文字,无法取得精确数值表。
#   下表数值除明确标注「推断」的条目外,均沿用 2026-05-21 旧版抓取。
#   FAQ 印证的能力归属:免费=行情+日K;Starter+=标的池+批量;Pro+=分钟K;Expert+=财务+WS。
#   标注「推断」的条目按 tiers.yaml 既有 batch 类接口规律推得,建议后续用真实套餐核对。
#
# 说明(2026-06-24 5 档重构):
#   none  = 无 key / 乱填 / 无效 key。运行时走 free-api 服务器(free 通道),
#           仅历史日K(含批量),无实时行情。不存 API Key。
#   free  = 免费有效 key(付费端点验证:有单只日K、无复权因子)。
#           运行时同样走 free-api 服务器(key 被忽略),能力与 none 等价;
#           存 key 仅作档位标记,便于将来 SDK 支持免费 key 时自动升级。
#   两者运行时服务器相同(free-api),区别只在是否存 key。
#   starter+ 才走付费端点 api.tickflow.org,有实时行情。

none:
  # 无 key / 无效 key —— 走 free-api 服务器,仅历史日K(含批量),无实时行情
  kline.daily.by_symbol: { rpm: 60, batch: 1 }
  kline.daily.batch:     { rpm: 60, batch: 50 }   # free-api 服务器批量日K

free:
  # 免费有效 key —— 运行时同样走 free-api 服务器,能力与 none 等价
  kline.daily.by_symbol: { rpm: 60, batch: 1 }
  kline.daily.batch:     { rpm: 60, batch: 50 }   # [补] 批量日K(此前缺失)

starter:
  quote.by_symbol:       { rpm: 60, batch: 50 }
  quote.batch:           { rpm: 60, batch: 50 }   # [新增-推断] 批量行情(同 by_symbol 限速,FAQ:Starter+ 含批量)
  quote.pool:            { rpm: 20 }
  kline.daily.batch:     { rpm: 30, batch: 100 }
  kline.daily.by_symbol: { rpm: 60, batch: 1 }
  adj_factor:            { rpm: 30, batch: 50 }

pro:
  quote.by_symbol:        { rpm: 120, batch: 100 }
  quote.batch:            { rpm: 120, batch: 100 }  # [新增-推断] 批量行情(同 by_symbol 限速)
  quote.pool:             { rpm: 60 }
  kline.daily.batch:      { rpm: 60,  batch: 100 }
  kline.daily.by_symbol:  { rpm: 120, batch: 1 }
  kline.minute.batch:     { rpm: 30,  batch: 100 }
  kline.minute.by_symbol: { rpm: 60,  batch: 1 }
  intraday:               { rpm: 30,  batch: 1 }
  depth5:                 { rpm: 60,  batch: 1 }     # 按标的查(单只):官方 60rpm/1
  depth5.batch:           { rpm: 30,  batch: 100 }   # 批量查(新增):官方 30rpm/100
  adj_factor:             { rpm: 60,  batch: 100 }

expert:
  quote.by_symbol:        { rpm: 300, batch: 500 }
  quote.batch:            { rpm: 300, batch: 500 }  # [新增-推断] 批量行情(同 by_symbol 限速)
  quote.pool:             { rpm: 120 }
  kline.daily.batch:      { rpm: 120, batch: 200 }
  kline.daily.by_symbol:  { rpm: 300, batch: 1 }
  kline.minute.batch:     { rpm: 60,  batch: 200 }
  kline.minute.by_symbol: { rpm: 120, batch: 1 }
  intraday:               { rpm: 120, batch: 1 }
  intraday.batch:         { rpm: 60,  batch: 200 }
  depth5:                 { rpm: 120, batch: 1 }    # 按标的查(单只):官方 120rpm/1
  depth5.batch:           { rpm: 60,  batch: 200 }  # 批量查(新增):官方 60rpm/200
  adj_factor:             { rpm: 120, batch: 200 }
  websocket:              { subscribe: 100 }
  financial:              { rpm: 120, batch: 100 }
