stats-core

oc-stats-core · package · G17-Stats · Layer 1

① 作用

Stats 后端核心(Effect + drizzle + PlanetScale)。src/athena.ts 封装 AWS Athena 查询服务(StartQuery/轮询/取结果),src/database.ts 提供 Effect 风格 DatabaseConfig/DrizzleClient,src/domain/ 下按 model/provider/geo/home/inference 分域定义聚合类型与查询,src/stat-sync.ts 实现 Athena → 数据库的增量/全量同步管线。src/index.ts 聚合导出全部命名空间。

② 提供能力

· Athena 查询服务:执行/轮询/分页取数(src/athena.ts:45)
· Effect 化数据库层:PlanetScale drizzle + schema + 迁移(src/database.ts:24,40)
· 统计领域模型:StatBaseAggregate 聚合结构与 grain day/week(src/domain/stat.ts:6)
· Model/Provider/Geo 统计仓库与 upsert(src/domain/model.ts 等)
· 首页聚合查询(getStatsHomeData,src/domain/home.ts:9)
· 统计同步管线:Athena 查询 → 聚合 → 写入(src/stat-sync.ts:23)
· App 配置(stage/publicUrl)与运行时(src/config.ts、src/runtime.ts)

③ 依赖(上游)

无内部依赖(或为叶子/外部)

④ 被依赖(下游)

节点机制证据
stats-appworkspace-dep@opencode-ai/stats-app/package.json dependencies.@opencode-ai/stats-core
stats-serverworkspace-dep@opencode-ai/stats-server/package.json dependencies.@opencode-ai/stats-core

⑤ 为什么存在(why)

设计意图(官方)

按 stats 独立生态划分:core 承载 Effect 领域服务与数据访问,供 app 查询、server 同步、Lambda 入口三方复用,README 明确 Runtime/DB/domain 全部在 core。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作

模块内部结构 DAG(19 模块 · 45 边) 内部结构基线 v1.18.29,v1.18.35 包级结构未变(36 包集合逐一致)