---
name: tsl-api-reference
description: "当编写、修改或审查 TSL 代码，需要确认 API、class 成员、框架回调或 API 参数可用值是否存在及其精确签名、参数、返回值和示例时使用；也用于按中文业务说法查找天软数据字典中的表、数据源与字段。触发说法包括「argmax 怎么用」「有没有去重函数」「TStringList 有哪些方法」「TSBackTesting 要重写什么」「getbk 的板块名」「申万煤炭的分类代码」「销售现金比率在哪个表」。不用于 TSL 语法、控制流、语言对象模型，也不用于决定 TSL 如何运行。"
---

# TSL API 参考

本 skill 只负责可检索的 TSL API、class/framework 契约和天软数据字典事实。
语法、控制流、语言对象模型或运行方式问题不属于本 skill。

## 查询路由

先选择一条路由，并完整读取对应文件后再执行：

- 已知函数或成员名，或只知道 API 行为：读取
  [`workflows/api-lookup.md`](workflows/api-lookup.md)。
- 查询 class 摘要、实现子类、重写回调或处理生命周期：读取
  [`workflows/class-and-framework.md`](workflows/class-and-framework.md)。
- 按中文业务含义查表、数据源、字段或 API 参数可用值：读取
  [`workflows/dictionary-lookup.md`](workflows/dictionary-lookup.md)。

具体参数、输出字段和退出码以所选脚本当前的 `--help` 为权威。
将 `<this-skill-dir>` 替换为包含本 `SKILL.md` 的目录。

## 全局硬规则

- API 名称按索引原样查询和报告。TSL 名称大小写不敏感，但下划线有意义；不得删除
  下划线或改写成驼峰式。
- 不得凭记忆或参照相似语言推断 API 名称、签名、参数、返回值或回调字段。
- 同名结果不得默认取第一条；必须按 `scope`、`module`、owner 或完全限定名消歧。
- `lookup.py` 的 rc=1 表示 skill 数据缺失、损坏或正文不可达，不表示 API 不存在。
- 参数取值域标为 `runtime_catalog` 或“静态记录不完整”时，样例只用于定位 API；完整名称
  必须按结果给出的运行时解析器核验，不能把样例当成完整清单。

## 🔴 CHECKPOINT · 🛑 STOP

出现任一情况时，停止生成包含该 API 或回调字段的代码，并明确报告缺口：

- `lookup.py --name` 无匹配；
- `lookup.py --kw` 换用更准确的中文关键词后仍无候选；
- 同名 API 或 class 无法按 `scope`、`module`、owner 或完全限定名消歧；
- `class_lookup.py` 返回 `status: not_found`；
- 请求依赖生命周期、配置或回调，但 `profile_status=not_profiled`；
- Framework Profile 的 `contract_status` 不是 `resolved`。
- 参数取值需要运行时核验但当前环境无法核验，且代码会依赖该具体值。

rc=1 不进入上述“API 缺失”分支；应先修复或重新安装 skill 数据，再重新查询。

## 输出约定

报告 API 事实时必须包含：索引中的原样名称或 `qualified_name`、`scope`、`module`、
由 `lookup.py --name` 正文取得的精确签名，以及对应的 `page#anchor` 来源。
关键词候选的 summary 只能用于选候选，不能作为签名事实。
