@lark-project/cli
Version:
飞书项目插件开发工具
17 lines (16 loc) • 1.16 kB
TypeScript
/**
* 把本地配置里所有「选项」(AIPropOption 形态)的 `label` 归一到 `translation.zh`。
*
* 依据 schema(developer-plugin.yaml `AIPropOption`):`label` 是展示名、**必须与 translation.zh 一致**,
* `value` 才是内部值。AI/手写常把 value 误塞进 label(label=value=英文),与后端归一(正向
* `wire.label = translation.zh || label`)冲突,导致 `local-config diff` 恒报 label MODIFIED 伪差。
* 在 set 写盘前归一,既合 schema 又让往返对称、伪差从源头消失。
*
* 判定一个对象是「选项」:同时带 `label`(string)与 `translation.zh`(string)——足够具体,
* 不会误伤 button/point 等其它带 label 的结构(它们没有 option 的 translation)。
* `translation.zh` 为空时**保留原 label**(对齐 schema「某语言缺失退回 label」)。
*
* 就地修改传入对象(调用方传的是 normalizeLocalConfigDsl 产出的新对象),返回被改动的选项条数,
* 供 set 决定是否打透明提示。`value` 与 `translation` 全程不动——内部值与多语言文案无损。
*/
export declare function normalizeOptionLabels(config: unknown): number;