✨ feat(tsl-api): add parameter value domain lookup
This commit is contained in:
@@ -73,11 +73,45 @@ python tools/tsl-codegen/scripts/build_dictionary.py \
|
||||
|
||||
生成完成后,用 `dictionary_lookup.py --help` 中的真实示例做查询检查。
|
||||
|
||||
## 维护参数取值域
|
||||
|
||||
`skills/tsl-api-reference/data/value_domains.json` 是 API 参数取值域的检索数据,供
|
||||
`lookup.py` 和 `dictionary_lookup.py` 共同读取。它不改变 `function_index.tsv` 的 API 元数据
|
||||
职责,也不向 `dictionary_index.tsv` 增加 table/source/field 之外的 kind。
|
||||
|
||||
以下内容进入参数取值域:
|
||||
|
||||
- 由外部目录维护、需要跨 API 查询的版本化代码,如分类属性代码;
|
||||
- 多个 API 参数共享的封闭枚举;只属于单个 API 的枚举仍留在该 API 页面;
|
||||
- 已有正式文档但不构成封闭枚举的特殊字面值,使用 `catalog`;
|
||||
- 运行时才完整的系统或用户目录,如市场板块名称;
|
||||
- 多个 API 共享的特殊选择器或值模式,如分类节点的 `.N` 后缀。
|
||||
|
||||
单个 API 自带的封闭枚举仍写在 codegen 录入数据的 `params[].values` 中,由生成器渲染为
|
||||
参数取值段,不在两个位置重复维护。
|
||||
|
||||
维护规则:
|
||||
|
||||
1. FAQ 或帮助页逐条人工核对,不用脚本从语料批量筛选后直接入库。
|
||||
2. 每个值记录原样值、名称、来源和适用的 API 参数;版本化目录按需记录父级、层级、
|
||||
有效期及关联表。
|
||||
3. `runtime_catalog` 必须为 `complete: false`,并提供系统/用户运行时解析器;静态值只能
|
||||
作为已核实样例,不能宣称是完整目录。
|
||||
4. 分类名称映射为当前板块名但本地证据不足时,关系标记为 `runtime_required`,由
|
||||
`getBkList2` 或 `getUserBkList2` 核验后再用于代码。
|
||||
5. 修改后运行参数域 CLI 回归和安装测试:
|
||||
|
||||
```bash
|
||||
python -m unittest tools.tsl-codegen.tests.test_value_domains
|
||||
python -m unittest test.test_playbook
|
||||
```
|
||||
|
||||
## 完成检查
|
||||
|
||||
```bash
|
||||
python skills/tsl-api-reference/scripts/class_lookup.py --check
|
||||
python tools/tsl-codegen/scripts/build_index.py \
|
||||
--skill-dir skills/tsl-api-reference --check
|
||||
python -m unittest tools.tsl-codegen.tests.test_value_domains
|
||||
python test/integration/check_doc_links.py
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user