feat(tsl-api): add parameter value domain lookup

This commit is contained in:
csh
2026-08-22 14:15:54 +08:00
parent 476f999139
commit b101b13bba
17 changed files with 2551 additions and 400 deletions
@@ -1,7 +1,7 @@
# 数据字典查询
用于按中文业务含义查询天软数据字典中的表、数据源字段。它们不是可调用 API
不进入 `function_index.tsv`
用于按中文业务含义查询天软数据字典中的表、数据源字段或 API 参数取值域。表、数据源
和字段不是可调用 API不进入 `function_index.tsv`;参数取值域是独立的随 skill 分发数据
先查看脚本当前契约:
@@ -17,17 +17,24 @@ python <this-skill-dir>/scripts/dictionary_lookup.py \
python <this-skill-dir>/scripts/dictionary_lookup.py --query "市值" --scope fund
python <this-skill-dir>/scripts/dictionary_lookup.py --query "买一量" --table TradeTable
python <this-skill-dir>/scripts/dictionary_lookup.py --query "9900700" --field 销售现金比率
python <this-skill-dir>/scripts/dictionary_lookup.py --query "申万煤炭"
```
结果包含表或数据源名称、表 ID、字段名称、字段 ID、类型、单位、提取方式、访问代码、
对应 API 和字典页面。
表/字段结果包含表或数据源名称、表 ID、字段名称、字段 ID、类型、单位、提取方式、访问
代码、对应 API 和字典页面。参数取值域结果包含原始值、名称、父级/层级、有效期、绑定
API 参数、关联表、模式和来源;`runtime_catalog` 还会给出系统或用户目录解析器。
## 状态判读
- `status: ok`:最高分候选唯一。
- `status: ambiguous`:存在多个同分候选;列出候选并请用户补充 scope、表或数据源范围,
不能默认选第一条。
- `status: no_match`数据字典无匹配,不能改述为 API 的 `not found`
- `status: no_match`表、字段和参数取值域均无匹配,不能改述为 API 的 `not found`
参数取值域的“静态记录不完整”表示只记录了已核实样例。需要使用未列出的板块名、用户板块
或其他动态名称时,先调用结果给出的运行时解析器确认;不能凭名称相似性推断可用值。
用精确的参数域 ID 或域名称查询时,结果返回该域的绑定 API、完整性、已记录候选和运行时
解析器;用具体名称或代码查询时,结果返回对应取值及其父级、有效期和关联表。
标识符匹配保留下划线;同义词只来自 `dictionary_lexicon.json` 的受控映射。
`MarketTable``TradeTable` 是 TS-SQL 数据源,不是函数。
@@ -35,5 +42,5 @@ python <this-skill-dir>/scripts/dictionary_lookup.py --query "9900700" --field
## 退出码
- rc=0:查询完成,实际结果由 `status` 判定,包括 `ambiguous``no_match`
- rc=1:字典索引词表缺失、损坏、格式错误。
- rc=1:字典索引词表或参数取值域数据缺失、损坏、格式错误。
- rc=2:参数不合法。