51 lines
2.8 KiB
Markdown
51 lines
2.8 KiB
Markdown
---
|
||
name: tsl-api-reference
|
||
description: "当编写、修改或审查 TSL 代码,需要确认 API、class 成员或框架回调是否存在及其精确签名、参数、返回值和示例时使用;也用于按中文业务说法查找天软数据字典中的表、数据源与字段。触发说法包括「argmax 怎么用」「有没有去重函数」「TStringList 有哪些方法」「TSBackTesting 要重写什么」「销售现金比率在哪个表」。不用于 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)。
|
||
- 按中文业务含义查表、数据源或字段:读取
|
||
[`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 不存在。
|
||
|
||
## 🔴 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 只能用于选候选,不能作为签名事实。
|