diff --git a/CHANGELOG.md b/CHANGELOG.md index 420c918e..4304124d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is inspired by [Keep a Changelog](https://keepachangelog.com/) and th ### Added - **Wukong internal command sync** (#621) — ports roughly 30 leaf commands from the internal wukong repository into the open-source CLI: Drive gains `star`, `cover`, `revert`, `download-version`, `permission transfer-owner`/`apply-info`/`apply`, and `list --depth`/`--versions`; Doc gains `style cover`/`style background`; Sheet gains the `comment`, `version`, and `formula-verify` command groups plus `info --include`; Chat gains `message update-text-emotion`, the `location`/`profile` message types, and group `user-settings`/`get-mute-config`. Every new leaf is registered in the Agent-visible Runtime Schema. +- **In-place text-emotion updates** — adds `dws chat message update-text-emotion`, mapping the seven required conversation, message, old/new emotion, name, text, and background parameters to Wukong's proven `im/update_text_emotion` capability so status transitions can avoid remove-then-add flicker and duplicate network calls ([hugozhu/dingtalk-opencode-tag#85](https://github.com/hugozhu/dingtalk-opencode-tag/issues/85)). ### Fixed diff --git a/internal/cli/schema_agent_metadata/chat.json b/internal/cli/schema_agent_metadata/chat.json index a4823d97..9006b16d 100644 --- a/internal/cli/schema_agent_metadata/chat.json +++ b/internal/cli/schema_agent_metadata/chat.json @@ -30788,32 +30788,33 @@ ] }, "chat message update-text-emotion": { - "agent_summary": "更新消息上已有的文字表情回应", + "agent_summary": "把消息上已有的文字表情原地替换为新的文字表情", "agent_summary_source": "dws-agent-selection/chat", "availability": "available", "avoid_when": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "confirmation": "not_required", "effect": "write", "effect_source": "agent-hint", "examples": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ], "field_provenance": { "agent_summary": { - "value": "更新消息上已有的文字表情回应", + "value": "把消息上已有的文字表情原地替换为新的文字表情", "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "candidates": [ { - "value": "更新消息上已有的文字表情回应", + "value": "把消息上已有的文字表情原地替换为新的文字表情", "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。" + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。" } ] }, @@ -30822,34 +30823,36 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "available", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." } ] }, "avoid_when": { "value": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "candidates": [ { "value": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。" + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。" } ] }, @@ -30858,14 +30861,20 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "not_required", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." + }, + { + "value": "not_required", + "source": "risk-default", + "precedence": "inference_or_default", + "selected": false } ] }, @@ -30874,34 +30883,40 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "write", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." + }, + { + "value": "write", + "source": "command-verb", + "precedence": "inference_or_default", + "selected": false } ] }, "examples": { "value": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "candidates": [ { "value": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。" + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。" } ] }, @@ -30910,14 +30925,20 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "idempotent", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." + }, + { + "value": "unknown", + "source": "effect-default", + "precedence": "inference_or_default", + "selected": false } ] }, @@ -30926,30 +30947,30 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "composite", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." } ] }, "interface_reason": { - "value": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "value": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { - "value": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "value": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." } ] }, @@ -30974,21 +30995,21 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": true, "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." }, { "value": true, "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "selected": false, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。" + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。" } ] }, @@ -30997,52 +31018,63 @@ "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "candidates": [ { "value": "low", "source": "internal/cli/schema_hints/metadata/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call." + }, + { + "value": "medium", + "source": "effect-default", + "precedence": "inference_or_default", + "selected": false } ] }, "use_when": { "value": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "candidates": [ { "value": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ], "source": "internal/cli/schema_hints/selection/chat.json", "precedence": "reviewed_explicit", "selected": true, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。" + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。" } ] } }, "idempotency": "idempotent", "interface_mode": "composite", - "interface_reason": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "interface_reason": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "reviewed": true, "risk": "low", "source_refs": [ - "CommandRegistry:canonical_path=chat.update_text_emotion", "cobra-help:dws chat message update-text-emotion", + "dws-wukong:30f13f02", + "dws-wukong:bcf56ccf", + "dws-wukong:d6831318", + "github:hugozhu/dingtalk-opencode-tag#85", + "internal/cli/schema_command_registry/products/chat.json#chat.update_text_emotion", "internal/cli/schema_hints/metadata/chat.json", "internal/cli/schema_hints/selection/chat.json", - "wukong-develop:wukong/products" + "live-dws-schema:im.update_text_emotion#FAILED_NOT_AUTHENTICATED", + "skills/mono/references/products/chat.md" ], "use_when": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ] }, "chat mute": { diff --git a/internal/cli/schema_agent_metadata/index.json b/internal/cli/schema_agent_metadata/index.json index cf0bd499..aca138c1 100644 --- a/internal/cli/schema_agent_metadata/index.json +++ b/internal/cli/schema_agent_metadata/index.json @@ -1,6 +1,6 @@ { "version": 1, - "source_hash": "sha256:31a28d1665ebb13fdb131547bda1d84ce1cc3fee0bbff821b76c2fdf6f6904ab", + "source_hash": "sha256:eb6e44775a6e85f92ca31c90c876f67543ab928d8a8bda04f07a33dc802f7028", "surface_hash": "sha256:29d4f5f43688cc01bc2277a4528b597de4fbab89a7b2f13fe2e56df85d1c66c4", "coverage": { "surface_products": 26, diff --git a/internal/cli/schema_agent_metadata_audit.json b/internal/cli/schema_agent_metadata_audit.json index e3219200..2933274a 100644 --- a/internal/cli/schema_agent_metadata_audit.json +++ b/internal/cli/schema_agent_metadata_audit.json @@ -1,6 +1,6 @@ { "version": 1, - "source_hash": "sha256:31a28d1665ebb13fdb131547bda1d84ce1cc3fee0bbff821b76c2fdf6f6904ab", + "source_hash": "sha256:eb6e44775a6e85f92ca31c90c876f67543ab928d8a8bda04f07a33dc802f7028", "surface_hash": "sha256:29d4f5f43688cc01bc2277a4528b597de4fbab89a7b2f13fe2e56df85d1c66c4", "source_files": 160, "hint_files": 54, @@ -1492,7 +1492,7 @@ { "tool_path": "chat message list-emotion-replies", "source": "skills/mono/references/products/chat.md", - "line": 1103, + "line": 1119, "candidates": [ "chat message add-emoji", "chat message add-favorite", @@ -1506,7 +1506,7 @@ { "tool_path": "chat category create", "source": "skills/mono/references/products/chat.md", - "line": 1480, + "line": 1496, "candidates": [ "chat group create", "chat category batch-info", @@ -1520,7 +1520,7 @@ { "tool_path": "chat category delete", "source": "skills/mono/references/products/chat.md", - "line": 1505, + "line": 1521, "candidates": [ "chat category batch-info", "chat category create-smart", @@ -1534,7 +1534,7 @@ { "tool_path": "chat category rename", "source": "skills/mono/references/products/chat.md", - "line": 1516, + "line": 1532, "candidates": [ "chat group rename", "chat category batch-info", @@ -1548,7 +1548,7 @@ { "tool_path": "chat category add-conv", "source": "skills/mono/references/products/chat.md", - "line": 1528, + "line": 1544, "candidates": [ "chat category batch-info", "chat category create-smart", @@ -1562,7 +1562,7 @@ { "tool_path": "chat category remove-conv", "source": "skills/mono/references/products/chat.md", - "line": 1541, + "line": 1557, "candidates": [ "chat category batch-info", "chat category create-smart", @@ -1576,7 +1576,7 @@ { "tool_path": "chat text translate", "source": "skills/mono/references/products/chat.md", - "line": 1556, + "line": 1572, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1590,7 +1590,7 @@ { "tool_path": "chat text translate", "source": "skills/mono/references/products/chat.md", - "line": 1557, + "line": 1573, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1604,7 +1604,7 @@ { "tool_path": "chat text translate", "source": "skills/mono/references/products/chat.md", - "line": 1558, + "line": 1574, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1618,7 +1618,7 @@ { "tool_path": "chat hide", "source": "skills/mono/references/products/chat.md", - "line": 1595, + "line": 1611, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1632,7 +1632,7 @@ { "tool_path": "chat hide", "source": "skills/mono/references/products/chat.md", - "line": 1596, + "line": 1612, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1646,7 +1646,7 @@ { "tool_path": "chat mute-at-all", "source": "skills/mono/references/products/chat.md", - "line": 1618, + "line": 1634, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1660,7 +1660,7 @@ { "tool_path": "chat mute-at-all", "source": "skills/mono/references/products/chat.md", - "line": 1619, + "line": 1635, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1674,7 +1674,7 @@ { "tool_path": "chat mute-red-envelope", "source": "skills/mono/references/products/chat.md", - "line": 1641, + "line": 1657, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1688,7 +1688,7 @@ { "tool_path": "chat mute-red-envelope", "source": "skills/mono/references/products/chat.md", - "line": 1642, + "line": 1658, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1702,7 +1702,7 @@ { "tool_path": "chat mark-unread", "source": "skills/mono/references/products/chat.md", - "line": 1662, + "line": 1678, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1716,7 +1716,7 @@ { "tool_path": "chat mark-unread", "source": "skills/mono/references/products/chat.md", - "line": 1663, + "line": 1679, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1730,7 +1730,7 @@ { "tool_path": "chat clear-red-point", "source": "skills/mono/references/products/chat.md", - "line": 1681, + "line": 1697, "candidates": [ "chat +at-me", "chat +bot-find", @@ -1744,20 +1744,6 @@ { "tool_path": "chat clear-red-point", "source": "skills/mono/references/products/chat.md", - "line": 1682, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat clear-all-red-point", - "source": "skills/mono/references/products/chat.md", "line": 1698, "candidates": [ "chat +at-me", @@ -1772,20 +1758,6 @@ { "tool_path": "chat clear-all-red-point", "source": "skills/mono/references/products/chat.md", - "line": 1700, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat list-all-conversations", - "source": "skills/mono/references/products/chat.md", "line": 1714, "candidates": [ "chat +at-me", @@ -1798,21 +1770,7 @@ } }, { - "tool_path": "chat list-all-conversations", - "source": "skills/mono/references/products/chat.md", - "line": 1715, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat list-all-conversations", + "tool_path": "chat clear-all-red-point", "source": "skills/mono/references/products/chat.md", "line": 1716, "candidates": [ @@ -1828,413 +1786,7 @@ { "tool_path": "chat list-all-conversations", "source": "skills/mono/references/products/chat.md", - "line": 1717, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat clear-messages", - "source": "skills/mono/references/products/chat.md", - "line": 1737, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat clear-messages", - "source": "skills/mono/references/products/chat.md", - "line": 1738, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mark-read", - "source": "skills/mono/references/products/chat.md", - "line": 1756, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mark-read", - "source": "skills/mono/references/products/chat.md", - "line": 1757, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group list-join-validations", - "source": "skills/mono/references/products/chat.md", - "line": 1800, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group list-join-validations", - "source": "skills/mono/references/products/chat.md", - "line": 1801, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group list-join-validations", - "source": "skills/mono/references/products/chat.md", - "line": 1802, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group audit-join-validation", - "source": "skills/mono/references/products/chat.md", - "line": 1822, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group audit-join-validation", - "source": "skills/mono/references/products/chat.md", - "line": 1823, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group members", - "source": "skills/mono/references/products/chat.md", - "line": 1855, - "candidates": [ - "chat group members add", - "chat group members add-bot", - "chat group members remove" - ], - "review": { - "status": "group", - "reason": "Skill 中的命令分组引用,不是可执行 leaf,禁止模糊绑定到任一子命令" - } - }, - { - "tool_path": "chat group update-alias", - "source": "skills/mono/references/products/chat.md", - "line": 1860, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group members list-by-ids", - "source": "skills/mono/references/products/chat.md", - "line": 1864, - "candidates": [ - "chat message list-by-ids", - "chat group members add", - "chat group members add-bot" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat category create", - "source": "skills/mono/references/products/chat.md", - "line": 1891, - "candidates": [ - "chat group create", - "chat category batch-info", - "chat category create-smart" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat category delete", - "source": "skills/mono/references/products/chat.md", - "line": 1893, - "candidates": [ - "chat category batch-info", - "chat category create-smart", - "chat category list" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat category rename", - "source": "skills/mono/references/products/chat.md", - "line": 1894, - "candidates": [ - "chat group rename", - "chat category batch-info", - "chat category create-smart" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat category add-conv", - "source": "skills/mono/references/products/chat.md", - "line": 1895, - "candidates": [ - "chat category batch-info", - "chat category create-smart", - "chat category list" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat category remove-conv", - "source": "skills/mono/references/products/chat.md", - "line": 1896, - "candidates": [ - "chat category batch-info", - "chat category create-smart", - "chat category list" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group share-invite", - "source": "skills/mono/references/products/chat.md", - "line": 1907, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat group notice create/edit/get/list", - "source": "skills/mono/references/products/chat.md", - "line": 1908, - "candidates": [ - "chat group bots", - "chat group create", - "chat group dismiss" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat message list-emotion-replies", - "source": "skills/mono/references/products/chat.md", - "line": 1910, - "candidates": [ - "chat message add-emoji", - "chat message add-favorite", - "chat message add-text-emotion" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat hide", - "source": "skills/mono/references/products/chat.md", - "line": 1917, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mute-at-all", - "source": "skills/mono/references/products/chat.md", - "line": 1918, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mute-at-all", - "source": "skills/mono/references/products/chat.md", - "line": 1919, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mute-red-envelope", - "source": "skills/mono/references/products/chat.md", - "line": 1920, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mute-red-envelope", - "source": "skills/mono/references/products/chat.md", - "line": 1921, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mark-unread", - "source": "skills/mono/references/products/chat.md", - "line": 1922, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat mark-read", - "source": "skills/mono/references/products/chat.md", - "line": 1923, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat clear-red-point", - "source": "skills/mono/references/products/chat.md", - "line": 1924, - "candidates": [ - "chat +at-me", - "chat +bot-find", - "chat +bot-search" - ], - "review": { - "status": "stale", - "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" - } - }, - { - "tool_path": "chat clear-all-red-point", - "source": "skills/mono/references/products/chat.md", - "line": 1925, + "line": 1730, "candidates": [ "chat +at-me", "chat +bot-find", @@ -2248,7 +1800,35 @@ { "tool_path": "chat list-all-conversations", "source": "skills/mono/references/products/chat.md", - "line": 1926, + "line": 1731, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat list-all-conversations", + "source": "skills/mono/references/products/chat.md", + "line": 1732, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat list-all-conversations", + "source": "skills/mono/references/products/chat.md", + "line": 1733, "candidates": [ "chat +at-me", "chat +bot-find", @@ -2262,7 +1842,49 @@ { "tool_path": "chat clear-messages", "source": "skills/mono/references/products/chat.md", - "line": 1927, + "line": 1753, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat clear-messages", + "source": "skills/mono/references/products/chat.md", + "line": 1754, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mark-read", + "source": "skills/mono/references/products/chat.md", + "line": 1772, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mark-read", + "source": "skills/mono/references/products/chat.md", + "line": 1773, "candidates": [ "chat +at-me", "chat +bot-find", @@ -2276,7 +1898,35 @@ { "tool_path": "chat group list-join-validations", "source": "skills/mono/references/products/chat.md", - "line": 1929, + "line": 1816, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group list-join-validations", + "source": "skills/mono/references/products/chat.md", + "line": 1817, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group list-join-validations", + "source": "skills/mono/references/products/chat.md", + "line": 1818, "candidates": [ "chat group bots", "chat group create", @@ -2290,7 +1940,357 @@ { "tool_path": "chat group audit-join-validation", "source": "skills/mono/references/products/chat.md", - "line": 1930, + "line": 1838, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group audit-join-validation", + "source": "skills/mono/references/products/chat.md", + "line": 1839, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group members", + "source": "skills/mono/references/products/chat.md", + "line": 1871, + "candidates": [ + "chat group members add", + "chat group members add-bot", + "chat group members remove" + ], + "review": { + "status": "group", + "reason": "Skill 中的命令分组引用,不是可执行 leaf,禁止模糊绑定到任一子命令" + } + }, + { + "tool_path": "chat group update-alias", + "source": "skills/mono/references/products/chat.md", + "line": 1876, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group members list-by-ids", + "source": "skills/mono/references/products/chat.md", + "line": 1880, + "candidates": [ + "chat message list-by-ids", + "chat group members add", + "chat group members add-bot" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat category create", + "source": "skills/mono/references/products/chat.md", + "line": 1907, + "candidates": [ + "chat group create", + "chat category batch-info", + "chat category create-smart" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat category delete", + "source": "skills/mono/references/products/chat.md", + "line": 1909, + "candidates": [ + "chat category batch-info", + "chat category create-smart", + "chat category list" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat category rename", + "source": "skills/mono/references/products/chat.md", + "line": 1910, + "candidates": [ + "chat group rename", + "chat category batch-info", + "chat category create-smart" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat category add-conv", + "source": "skills/mono/references/products/chat.md", + "line": 1911, + "candidates": [ + "chat category batch-info", + "chat category create-smart", + "chat category list" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat category remove-conv", + "source": "skills/mono/references/products/chat.md", + "line": 1912, + "candidates": [ + "chat category batch-info", + "chat category create-smart", + "chat category list" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group share-invite", + "source": "skills/mono/references/products/chat.md", + "line": 1923, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group notice create/edit/get/list", + "source": "skills/mono/references/products/chat.md", + "line": 1924, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat message list-emotion-replies", + "source": "skills/mono/references/products/chat.md", + "line": 1926, + "candidates": [ + "chat message add-emoji", + "chat message add-favorite", + "chat message add-text-emotion" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat hide", + "source": "skills/mono/references/products/chat.md", + "line": 1934, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mute-at-all", + "source": "skills/mono/references/products/chat.md", + "line": 1935, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mute-at-all", + "source": "skills/mono/references/products/chat.md", + "line": 1936, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mute-red-envelope", + "source": "skills/mono/references/products/chat.md", + "line": 1937, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mute-red-envelope", + "source": "skills/mono/references/products/chat.md", + "line": 1938, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mark-unread", + "source": "skills/mono/references/products/chat.md", + "line": 1939, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat mark-read", + "source": "skills/mono/references/products/chat.md", + "line": 1940, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat clear-red-point", + "source": "skills/mono/references/products/chat.md", + "line": 1941, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat clear-all-red-point", + "source": "skills/mono/references/products/chat.md", + "line": 1942, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat list-all-conversations", + "source": "skills/mono/references/products/chat.md", + "line": 1943, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat clear-messages", + "source": "skills/mono/references/products/chat.md", + "line": 1944, + "candidates": [ + "chat +at-me", + "chat +bot-find", + "chat +bot-search" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group list-join-validations", + "source": "skills/mono/references/products/chat.md", + "line": 1946, + "candidates": [ + "chat group bots", + "chat group create", + "chat group dismiss" + ], + "review": { + "status": "stale", + "reason": "旧版 Skill 或说明性引用,当前公开命令面无等价 leaf,禁止词法模糊映射" + } + }, + { + "tool_path": "chat group audit-join-validation", + "source": "skills/mono/references/products/chat.md", + "line": 1947, "candidates": [ "chat group bots", "chat group create", @@ -2304,7 +2304,7 @@ { "tool_path": "chat text translate", "source": "skills/mono/references/products/chat.md", - "line": 1950, + "line": 1967, "candidates": [ "chat +at-me", "chat +bot-find", diff --git a/internal/cli/schema_catalog/catalog.json b/internal/cli/schema_catalog/catalog.json index b3ee23ce..e5eb761b 100644 --- a/internal/cli/schema_catalog/catalog.json +++ b/internal/cli/schema_catalog/catalog.json @@ -1,12 +1,12 @@ { "version": 1, "surface_hash": "sha256:29d4f5f43688cc01bc2277a4528b597de4fbab89a7b2f13fe2e56df85d1c66c4", - "source_hash": "sha256:346ec3ac857b9a740baf03142296b1e4fb0814f713ceab4ed2ff9f46a85d6b4d", + "source_hash": "sha256:c71b9bacfe2d73f5ad45151fada6fdc18bac69b266058a8b05647b6847c99835", "catalog": { "agent_metadata": { "products_with_metadata": 26, "source": "embedded-skill-metadata", - "source_hash": "sha256:31a28d1665ebb13fdb131547bda1d84ce1cc3fee0bbff821b76c2fdf6f6904ab", + "source_hash": "sha256:eb6e44775a6e85f92ca31c90c876f67543ab928d8a8bda04f07a33dc802f7028", "surface_hash": "sha256:29d4f5f43688cc01bc2277a4528b597de4fbab89a7b2f13fe2e56df85d1c66c4", "surface_products": 26, "surface_tools": 840, @@ -11249,11 +11249,12 @@ }, { "agent_metadata_source": "embedded-skill-metadata", - "agent_summary": "更新消息上已有的文字表情回应", + "agent_summary": "把消息上已有的文字表情原地替换为新的文字表情", "agent_summary_source": "dws-agent-selection/chat", "availability": "available", "avoid_when": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "canonical_path": "chat.update_text_emotion", "cli_name": "update-text-emotion", @@ -11264,14 +11265,14 @@ "group": "message", "idempotency": "idempotent", "interface_mode": "composite", - "interface_reason": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "interface_reason": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "name": "update_text_emotion", "primary_cli_path": "chat message update-text-emotion", "reviewed": true, "risk": "low", "title": "更新消息的文字表情回应", "use_when": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ] }, { diff --git a/internal/cli/schema_catalog/tools/chat.json b/internal/cli/schema_catalog/tools/chat.json index 7876f2f8..f3db4c26 100644 --- a/internal/cli/schema_catalog/tools/chat.json +++ b/internal/cli/schema_catalog/tools/chat.json @@ -83743,51 +83743,67 @@ "chat.update_text_emotion": { "agent_metadata_source": "embedded-skill-metadata", "agent_source_refs": [ - "CommandRegistry:canonical_path=chat.update_text_emotion", "cobra-help:dws chat message update-text-emotion", + "dws-wukong:30f13f02", + "dws-wukong:bcf56ccf", + "dws-wukong:d6831318", + "github:hugozhu/dingtalk-opencode-tag#85", + "internal/cli/schema_command_registry/products/chat.json#chat.update_text_emotion", "internal/cli/schema_hints/metadata/chat.json", "internal/cli/schema_hints/selection/chat.json", - "wukong-develop:wukong/products" + "live-dws-schema:im.update_text_emotion#FAILED_NOT_AUTHENTICATED", + "skills/mono/references/products/chat.md" ], - "agent_summary": "更新消息上已有的文字表情回应", + "agent_summary": "把消息上已有的文字表情原地替换为新的文字表情", "agent_summary_source": "dws-agent-selection/chat", "availability": "available", "avoid_when": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "canonical_path": "chat.update_text_emotion", "cli_name": "update-text-emotion", "cli_path": "chat message update-text-emotion", "confirmation": "not_required", + "constraints": { + "require_one_of": [ + [ + "conversation-id", + "group", + "id", + "chat" + ] + ] + }, "description": "更新消息的文字表情回应", "display": "群聊 / 消息 / 机器人", "effect": "write", "effect_source": "agent-hint", "examples": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ], "field_provenance": { "agent_summary": { "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "selected": true, "source": "internal/cli/schema_hints/selection/chat.json", - "value": "更新消息上已有的文字表情回应" + "value": "把消息上已有的文字表情原地替换为新的文字表情" } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "source": "internal/cli/schema_hints/selection/chat.json", - "value": "更新消息上已有的文字表情回应" + "value": "把消息上已有的文字表情原地替换为新的文字表情" }, "availability": { "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "available" @@ -83795,7 +83811,7 @@ ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "available" }, @@ -83803,20 +83819,22 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "selected": true, "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ] } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ] }, "canonical_path": { @@ -83827,6 +83845,14 @@ "source": "reviewed_command_registry", "source_ref": "chat message update-text-emotion", "value": "chat.update_text_emotion" + }, + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": false, + "source": "reviewed_manual_hint", + "source_ref": "chat message update-text-emotion", + "value": "chat.update_text_emotion" } ], "precedence": "command_registry", @@ -83839,15 +83865,21 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "not_required" + }, + { + "precedence": "inference_or_default", + "selected": false, + "source": "risk-default", + "value": "not_required" } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "not_required" }, @@ -83869,15 +83901,21 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "write" + }, + { + "precedence": "inference_or_default", + "selected": false, + "source": "command-verb", + "value": "write" } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "write" }, @@ -83885,35 +83923,41 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "selected": true, "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ] } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "dws chat message update-text-emotion --conversation-id \u003ccid\u003e --msg-id \u003cmid\u003e --old-emotion-id \u003cold\u003e --emotion-id \u003cnew\u003e --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id \u003copenConversationId\u003e --msg-id \u003copenMessageId\u003e --old-emotion-id \u003coldEmotionId\u003e --emotion-id \u003cemotionId\u003e --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ] }, "idempotency": { "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "idempotent" + }, + { + "precedence": "inference_or_default", + "selected": false, + "source": "effect-default", + "value": "unknown" } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "idempotent" }, @@ -83921,7 +83965,7 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "composite" @@ -83929,7 +83973,7 @@ ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "composite" }, @@ -83937,17 +83981,17 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", - "value": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command." + "value": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet." } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", - "value": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command." + "value": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet." }, "interface_ref": { "candidates": [ @@ -83969,14 +84013,14 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": true }, { "precedence": "reviewed_explicit", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "selected": false, "source": "internal/cli/schema_hints/selection/chat.json", "value": true @@ -83984,7 +84028,7 @@ ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": true }, @@ -83992,15 +84036,21 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, "source": "internal/cli/schema_hints/metadata/chat.json", "value": "low" + }, + { + "precedence": "inference_or_default", + "selected": false, + "source": "effect-default", + "value": "medium" } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "dws-tool-metadata/chat marks this tool as reviewed", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "source": "internal/cli/schema_hints/metadata/chat.json", "value": "low" }, @@ -84022,20 +84072,20 @@ "candidates": [ { "precedence": "reviewed_explicit", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "selected": true, "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ] } ], "precedence": "reviewed_explicit", "resolution": "highest_precedence", - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "source": "internal/cli/schema_hints/selection/chat.json", "value": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ] } }, @@ -84043,19 +84093,41 @@ "has_parameters": true, "idempotency": "idempotent", "interface_mode": "composite", - "interface_reason": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "interface_reason": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "is_alias": false, "name": "update_text_emotion", "parameter_count": 10, "parameters": { "background-id": { - "description": "新背景 ID (必填)", + "cli_required": true, + "description": "新文字表情的背景 ID", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "新文字表情的背景 ID" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "新背景 ID (必填)" }, @@ -84066,19 +84138,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "新背景 ID (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "新文字表情的背景 ID" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --background-id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "backgroundId" }, { "precedence": "inference", @@ -84087,17 +84160,30 @@ "value": "backgroundId" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --background-id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "backgroundId" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84108,9 +84194,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84142,6 +84229,7 @@ "value": "string" } }, + "property": "backgroundId", "required": true, "type": "string" }, @@ -84171,11 +84259,11 @@ "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --chat is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "openConversationId" }, { "precedence": "inference", @@ -84184,24 +84272,38 @@ "value": "chat" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --chat is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "openConversationId" }, "required": { "candidates": [ { - "precedence": "default", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": false + }, + { + "precedence": "command_constraint", + "selected": false, + "source": "require_one_of_constraint", + "value": false + }, + { + "precedence": "default", + "selected": false, "source": "default", "value": false } ], - "precedence": "default", - "resolution": "fallback", - "source": "default", + "precedence": "reviewed_manual", + "resolution": "highest_precedence", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": false }, "required_when": { @@ -84233,17 +84335,25 @@ "value": "string" } }, + "property": "openConversationId", "required": false, "type": "string" }, "conversation-id": { - "description": "会话 openConversationId (必填,支持单聊/群聊)", + "description": "会话 openConversationId;与 --group、--id、--chat 四选一", "field_provenance": { "description": { "candidates": [ { - "precedence": "cobra_contract", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": "会话 openConversationId;与 --group、--id、--chat 四选一" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "会话 openConversationId (必填,支持单聊/群聊)" }, @@ -84254,19 +84364,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "会话 openConversationId (必填,支持单聊/群聊)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "会话 openConversationId;与 --group、--id、--chat 四选一" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --conversation-id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "openConversationId" }, { "precedence": "inference", @@ -84275,17 +84386,30 @@ "value": "conversationId" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --conversation-id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "openConversationId" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": false + }, + { + "precedence": "command_constraint", + "selected": false, + "source": "require_one_of_constraint", + "value": false + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84296,10 +84420,11 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", - "value": true + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": false }, "required_when": { "candidates": [ @@ -84330,17 +84455,40 @@ "value": "string" } }, - "required": true, + "property": "openConversationId", + "required": false, "type": "string" }, "emotion-id": { - "description": "新表情 ID (必填)", + "cli_required": true, + "description": "新的文字表情 ID,可通过 create-text-emotion 获取", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "新的文字表情 ID,可通过 create-text-emotion 获取" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "新表情 ID (必填)" }, @@ -84351,19 +84499,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "新表情 ID (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "新的文字表情 ID,可通过 create-text-emotion 获取" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "emotionId" }, { "precedence": "inference", @@ -84372,17 +84521,30 @@ "value": "emotionId" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "emotionId" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84393,9 +84555,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84427,17 +84590,40 @@ "value": "string" } }, + "property": "emotionId", "required": true, "type": "string" }, "emotion-name": { - "description": "新表情名称 (必填)", + "cli_required": true, + "description": "新的文字表情名称", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "新的文字表情名称" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "新表情名称 (必填)" }, @@ -84448,19 +84634,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "新表情名称 (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "新的文字表情名称" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-name is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "emotionName" }, { "precedence": "inference", @@ -84469,17 +84656,30 @@ "value": "emotionName" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-name is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "emotionName" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84490,9 +84690,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84524,6 +84725,7 @@ "value": "string" } }, + "property": "emotionName", "required": true, "type": "string" }, @@ -84553,11 +84755,11 @@ "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --group is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "openConversationId" }, { "precedence": "inference", @@ -84566,24 +84768,38 @@ "value": "group" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --group is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "openConversationId" }, "required": { "candidates": [ { - "precedence": "default", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": false + }, + { + "precedence": "command_constraint", + "selected": false, + "source": "require_one_of_constraint", + "value": false + }, + { + "precedence": "default", + "selected": false, "source": "default", "value": false } ], - "precedence": "default", - "resolution": "fallback", - "source": "default", + "precedence": "reviewed_manual", + "resolution": "highest_precedence", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": false }, "required_when": { @@ -84615,6 +84831,7 @@ "value": "string" } }, + "property": "openConversationId", "required": false, "type": "string" }, @@ -84644,11 +84861,11 @@ "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "openConversationId" }, { "precedence": "inference", @@ -84657,24 +84874,38 @@ "value": "id" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "openConversationId" }, "required": { "candidates": [ { - "precedence": "default", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": false + }, + { + "precedence": "command_constraint", + "selected": false, + "source": "require_one_of_constraint", + "value": false + }, + { + "precedence": "default", + "selected": false, "source": "default", "value": false } ], - "precedence": "default", - "resolution": "fallback", - "source": "default", + "precedence": "reviewed_manual", + "resolution": "highest_precedence", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": false }, "required_when": { @@ -84706,17 +84937,40 @@ "value": "string" } }, + "property": "openConversationId", "required": false, "type": "string" }, "msg-id": { - "description": "消息 openMsgId (必填)", + "cli_required": true, + "description": "需要原地更新文字表情的消息 openMsgId", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "需要原地更新文字表情的消息 openMsgId" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "消息 openMsgId (必填)" }, @@ -84727,19 +84981,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "消息 openMsgId (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "需要原地更新文字表情的消息 openMsgId" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --msg-id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "openMsgId" }, { "precedence": "inference", @@ -84748,17 +85003,30 @@ "value": "msgId" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --msg-id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "openMsgId" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84769,9 +85037,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84803,17 +85072,40 @@ "value": "string" } }, + "property": "openMsgId", "required": true, "type": "string" }, "old-emotion-id": { - "description": "待更新的原表情 ID (必填)", + "cli_required": true, + "description": "消息上当前文字表情的 emotionId", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "消息上当前文字表情的 emotionId" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "待更新的原表情 ID (必填)" }, @@ -84824,19 +85116,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "待更新的原表情 ID (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "消息上当前文字表情的 emotionId" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --old-emotion-id is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "oldEmotionId" }, { "precedence": "inference", @@ -84845,17 +85138,30 @@ "value": "oldEmotionId" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --old-emotion-id is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "oldEmotionId" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84866,9 +85172,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84900,17 +85207,40 @@ "value": "string" } }, + "property": "oldEmotionId", "required": true, "type": "string" }, "text": { - "description": "新文字内容 (必填)", + "cli_required": true, + "description": "新的文字表情内容", "field_provenance": { - "description": { + "cli_required": { "candidates": [ { "precedence": "cobra_contract", "selected": true, + "source": "cobra_hard_required", + "value": true + } + ], + "precedence": "cobra_contract", + "resolution": "highest_precedence", + "source": "cobra_hard_required", + "value": true + }, + "description": { + "candidates": [ + { + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "selected": true, + "source": "reviewed_manual_hint", + "value": "新的文字表情内容" + }, + { + "precedence": "cobra_contract", + "selected": false, "source": "cobra_usage", "value": "新文字内容 (必填)" }, @@ -84921,19 +85251,20 @@ "value": "" } ], - "precedence": "cobra_contract", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "cobra_usage", - "value": "新文字内容 (必填)" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "新的文字表情内容" }, "property": { "candidates": [ { - "precedence": "reviewed_mapping_exclusion", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --text is a CLI wrapper input and does not publish a direct interface property.", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, - "source": "reviewed_mapping_exclusion", - "value": "" + "source": "reviewed_manual_hint", + "value": "text" }, { "precedence": "inference", @@ -84942,17 +85273,30 @@ "value": "text" } ], - "precedence": "reviewed_mapping_exclusion", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "review_reason": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --text is a CLI wrapper input and does not publish a direct interface property.", - "source": "reviewed_mapping_exclusion", - "value": "" + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", + "value": "text" }, "required": { "candidates": [ { - "precedence": "inference", + "precedence": "reviewed_manual", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", "selected": true, + "source": "reviewed_manual_hint", + "value": true + }, + { + "precedence": "cobra_contract", + "selected": false, + "source": "cobra_hard_required", + "value": true + }, + { + "precedence": "inference", + "selected": false, "source": "usage_required_inference", "value": true }, @@ -84963,9 +85307,10 @@ "value": false } ], - "precedence": "inference", + "precedence": "reviewed_manual", "resolution": "highest_precedence", - "source": "usage_required_inference", + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "source": "reviewed_manual_hint", "value": true }, "required_when": { @@ -84997,6 +85342,7 @@ "value": "string" } }, + "property": "text", "required": true, "type": "string" } @@ -85009,7 +85355,7 @@ "source": "reviewed_command_registry", "title": "更新消息的文字表情回应", "use_when": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ] }, "chat.upgrade_group_to_external": { diff --git a/internal/cli/schema_constraints_runtime.go b/internal/cli/schema_constraints_runtime.go index 2351f60f..686e7b76 100644 --- a/internal/cli/schema_constraints_runtime.go +++ b/internal/cli/schema_constraints_runtime.go @@ -40,6 +40,7 @@ func init() { registerExclusiveOneOf("chat.create_and_send_card", "group", "receiver") registerRequireOneOf("chat.add_emoji_reaction", "conversation-id", "group", "id", "chat") registerRequireOneOf("chat.add_text_emotion", "conversation-id", "group", "id", "chat") + registerRequireOneOf("chat.update_text_emotion", "conversation-id", "group", "id", "chat") registerExclusiveOneOf("chat.get_conversation_info", "group", "user", "open-dingtalk-id") registerExclusiveOneOf("chat.list_conversation_message_v2", "group", "user", "open-dingtalk-id") registerExclusiveOneOf("chat.list_individual_chat_message", "user", "open-dingtalk-id") diff --git a/internal/cli/schema_hints/metadata/chat.json b/internal/cli/schema_hints/metadata/chat.json index b1f969fa..27037ab2 100644 --- a/internal/cli/schema_hints/metadata/chat.json +++ b/internal/cli/schema_hints/metadata/chat.json @@ -1354,8 +1354,59 @@ "idempotency": "idempotent", "interface_mode": "composite", "availability": "available", - "interface_reason": "Reviewed unpinned remote adapter: this executable CLI wrapper calls a remote helper that is absent from the pinned MCP metadata snapshot; no single pinned semantically equivalent interface_ref can represent the command.", + "interface_reason": "Reviewed unpinned remote adapter: the executable CLI calls im/update_text_emotion, which is proven by dws-wukong develop@30f13f02 but absent from the pinned MCP metadata snapshot; no pinned interface_ref can represent the command yet.", "reviewed": true, + "parameters": { + "background-id": { + "property": "backgroundId", + "description": "新文字表情的背景 ID", + "required": true + }, + "chat": { + "property": "openConversationId", + "required": false + }, + "conversation-id": { + "property": "openConversationId", + "description": "会话 openConversationId;与 --group、--id、--chat 四选一", + "required": false + }, + "emotion-id": { + "property": "emotionId", + "description": "新的文字表情 ID,可通过 create-text-emotion 获取", + "required": true + }, + "emotion-name": { + "property": "emotionName", + "description": "新的文字表情名称", + "required": true + }, + "group": { + "property": "openConversationId", + "required": false + }, + "id": { + "property": "openConversationId", + "required": false + }, + "msg-id": { + "property": "openMsgId", + "description": "需要原地更新文字表情的消息 openMsgId", + "required": true + }, + "old-emotion-id": { + "property": "oldEmotionId", + "description": "消息上当前文字表情的 emotionId", + "required": true + }, + "text": { + "property": "text", + "description": "新的文字表情内容", + "required": true + } + }, + "review_reason": "Ported from dws-wukong commits d6831318 and bcf56ccf, merged at 30f13f02. The four conversation locators alias one property; the other six business parameters are required by Cobra before the single im/update_text_emotion call.", + "cli_path": "chat message update-text-emotion", "runtime_gate": "none" }, "chat.get_group_mute_config": { diff --git a/internal/cli/schema_hints/selection/chat.json b/internal/cli/schema_hints/selection/chat.json index 31cf8c8f..f76b5ef9 100644 --- a/internal/cli/schema_hints/selection/chat.json +++ b/internal/cli/schema_hints/selection/chat.json @@ -2399,22 +2399,27 @@ ] }, "chat.update_text_emotion": { - "agent_summary": "更新消息上已有的文字表情回应", + "agent_summary": "把消息上已有的文字表情原地替换为新的文字表情", "use_when": [ - "用户说 改一下消息上的文字表情" + "需要更新消息的状态文字或表情,并避免先移除再添加造成闪烁和两次网络调用时" ], "avoid_when": [ - "新增用 add-text-emotion;移除用 remove-text-emotion" + "消息上还没有文字表情时使用 chat message add-text-emotion", + "只需清除文字表情时使用 chat message remove-text-emotion" ], "examples": [ - "dws chat message update-text-emotion --conversation-id --msg-id --old-emotion-id --emotion-id --emotion-name \"赞\" --text \"nice\" --background-id im_bg_5 --format json" + "dws chat message update-text-emotion --conversation-id --msg-id --old-emotion-id --emotion-id --emotion-name \"处理中\" --text \"处理中 2 分钟\" --background-id im_bg_5" ], "reviewed": true, - "review_reason": "人工审阅:对照悟空 develop 同名命令实现、Cobra Long/Example 与 Runtime 确认门禁移植;不改变命令身份、参数契约或接口绑定。", + "review_reason": "依据 issue #85 的原地状态更新场景、Wukong 30f13f02 的真实 Cobra/MCP 映射和开源实现复核;选择语义不改变执行、安全或参数事实。", "source_refs": [ - "CommandRegistry:canonical_path=chat.update_text_emotion", + "internal/cli/schema_command_registry/products/chat.json#chat.update_text_emotion", "cobra-help:dws chat message update-text-emotion", - "wukong-develop:wukong/products" + "dws-wukong:d6831318", + "dws-wukong:bcf56ccf", + "dws-wukong:30f13f02", + "github:hugozhu/dingtalk-opencode-tag#85", + "live-dws-schema:im.update_text_emotion#FAILED_NOT_AUTHENTICATED" ] }, "chat.get_group_mute_config": { diff --git a/internal/cli/schema_parameter_bindings.json b/internal/cli/schema_parameter_bindings.json index 6a6c7049..2b0be894 100644 --- a/internal/cli/schema_parameter_bindings.json +++ b/internal/cli/schema_parameter_bindings.json @@ -1628,16 +1628,6 @@ "chat.set_group_member_mute_list --user": "conditional wrapper/alias of --users: userIds are remotely resolved to openDingTalkIds outside dry-run and otherwise may be sent as uids; openDingTalkId inputs are sent as openDingTalkIds, so one exact property would misdescribe execution", "chat.transfer_group_owner --user": "conditional compatibility input: a userId is sent as newOwnerUid, while an openDingTalkId is sent as newOwnerOpenDingTalkId; the runtime ID-shape branch has no single RPC property", "chat.update_conv_member_roles --user": "conditional wrapper/alias of --users: splitChatIDValues sends userIds as uids and openDingTalkIds as openDingTalkIds; there is no single RPC property for this flag", - "chat.update_text_emotion --background-id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --background-id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --chat": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --chat is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --conversation-id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --conversation-id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --emotion-id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --emotion-name": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --emotion-name is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --group": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --group is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --msg-id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --msg-id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --old-emotion-id": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --old-emotion-id is a CLI wrapper input and does not publish a direct interface property.", - "chat.update_text_emotion --text": "Reviewed unpinned adapter: chat.update_text_emotion has no singular pinned interface_ref; --text is a CLI wrapper input and does not publish a direct interface property.", "dev.add_dev_app_members --member-type": "Reviewed unpinned adapter: dev.add_dev_app_members has no singular pinned interface_ref; --member-type is a CLI wrapper input and does not publish a direct interface property.", "dev.add_dev_app_members --unified-app-id": "Reviewed unpinned adapter: dev.add_dev_app_members has no singular pinned interface_ref; --unified-app-id is a CLI wrapper input and does not publish a direct interface property.", "dev.add_dev_app_members --user-ids": "Reviewed unpinned adapter: dev.add_dev_app_members has no singular pinned interface_ref; --user-ids is a CLI wrapper input and does not publish a direct interface property.", diff --git a/internal/helpers/chat.go b/internal/helpers/chat.go index ef8842ff..ba881103 100644 --- a/internal/helpers/chat.go +++ b/internal/helpers/chat.go @@ -3220,9 +3220,6 @@ func newChatCommand() *cobra.Command { if err := validateRequiredFlagWithAliases(cmd, "conversation-id", "group", "id", "chat"); err != nil { return err } - if err := validateRequiredFlags(cmd, "msg-id", "old-emotion-id", "emotion-id", "emotion-name", "text", "background-id"); err != nil { - return err - } return callMCPToolOnServer("im", "update_text_emotion", map[string]any{ "openConversationId": flagOrFallback(cmd, "conversation-id", "group", "id", "chat"), "openMsgId": mustGetFlag(cmd, "msg-id"), @@ -3244,6 +3241,10 @@ func newChatCommand() *cobra.Command { chatMessageUpdateTextEmotionCmd.Flags().String("emotion-name", "", "新表情名称 (必填)") chatMessageUpdateTextEmotionCmd.Flags().String("text", "", "新文字内容 (必填)") chatMessageUpdateTextEmotionCmd.Flags().String("background-id", "", "新背景 ID (必填)") + chatMessageUpdateTextEmotionCmd.MarkFlagsOneRequired("conversation-id", "group", "id", "chat") + for _, name := range []string{"msg-id", "old-emotion-id", "emotion-id", "emotion-name", "text", "background-id"} { + _ = chatMessageUpdateTextEmotionCmd.MarkFlagRequired(name) + } // ── 创建文字表情(获取 emotionId)────────────────────── diff --git a/internal/helpers/chat_ports_coverage_test.go b/internal/helpers/chat_ports_coverage_test.go index 44c7cf03..4466a966 100644 --- a/internal/helpers/chat_ports_coverage_test.go +++ b/internal/helpers/chat_ports_coverage_test.go @@ -127,12 +127,12 @@ func TestCrossPlatformCoverageChatUpdateTextEmotionRequiredFlags(t *testing.T) { { name: "missing conversation-id and aliases", args: dropFlag("--conversation-id"), - wantErr: "--conversation-id", + wantErr: "at least one of the flags in the group [conversation-id group id chat] is required", }, { name: "missing old-emotion-id", args: dropFlag("--old-emotion-id"), - wantErr: "--old-emotion-id", + wantErr: `required flag(s) "old-emotion-id" not set`, }, { name: "missing msg-id and background-id", @@ -144,7 +144,7 @@ func TestCrossPlatformCoverageChatUpdateTextEmotionRequiredFlags(t *testing.T) { "--emotion-name", "like", "--text", "nice", }, - wantErr: "--msg-id, --background-id", + wantErr: `required flag(s) "background-id", "msg-id" not set`, }, } for _, test := range tests { diff --git a/internal/helpers/chat_text_emotion_update_test.go b/internal/helpers/chat_text_emotion_update_test.go new file mode 100644 index 00000000..d372b3a4 --- /dev/null +++ b/internal/helpers/chat_text_emotion_update_test.go @@ -0,0 +1,86 @@ +// Copyright 2026 Alibaba Group +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package helpers + +import ( + "strings" + "testing" +) + +func TestCrossPlatformCoverageChatMessageUpdateTextEmotionMapsReplacementTemplate(t *testing.T) { + for _, locator := range []string{"conversation-id", "group", "id", "chat"} { + t.Run(locator, func(t *testing.T) { + caller := &wukongWeeklySyncCaller{} + _, _, err := executeWukongWeeklySyncCommand(t, "chat", caller, newChatCommand, + "message", "update-text-emotion", + "--"+locator, "cid", + "--msg-id", "mid", + "--old-emotion-id", "old-emotion", + "--emotion-id", "new-emotion", + "--emotion-name", "赞", + "--text", "nice", + "--background-id", "im_bg_5", + ) + if err != nil { + t.Fatalf("update-text-emotion returned error: %v", err) + } + requireWukongWeeklySyncCall(t, caller, wukongWeeklySyncCall{ + server: "im", + tool: "update_text_emotion", + args: map[string]any{ + "openConversationId": "cid", + "openMsgId": "mid", + "oldEmotionId": "old-emotion", + "emotionId": "new-emotion", + "emotionName": "赞", + "text": "nice", + "backgroundId": "im_bg_5", + }, + }) + }) + } +} + +func TestCrossPlatformCoverageChatMessageUpdateTextEmotionRequiresEveryBusinessParameter(t *testing.T) { + required := []struct { + name string + args []string + }{ + {name: "conversation-id", args: []string{"--group", "cid"}}, + {name: "msg-id", args: []string{"--msg-id", "mid"}}, + {name: "old-emotion-id", args: []string{"--old-emotion-id", "old-emotion"}}, + {name: "emotion-id", args: []string{"--emotion-id", "new-emotion"}}, + {name: "emotion-name", args: []string{"--emotion-name", "赞"}}, + {name: "text", args: []string{"--text", "nice"}}, + {name: "background-id", args: []string{"--background-id", "im_bg_5"}}, + } + + for omitted := range required { + t.Run("missing-"+required[omitted].name, func(t *testing.T) { + args := []string{"message", "update-text-emotion"} + for i, parameter := range required { + if i != omitted { + args = append(args, parameter.args...) + } + } + + caller := &wukongWeeklySyncCaller{} + _, _, err := executeWukongWeeklySyncCommand(t, "chat", caller, newChatCommand, args...) + if err == nil || !strings.Contains(err.Error(), required[omitted].name) { + t.Fatalf("missing %s error = %v", required[omitted].name, err) + } + requireWukongWeeklySyncNoCalls(t, caller) + }) + } +} diff --git a/skills/mono/references/products/chat.md b/skills/mono/references/products/chat.md index f42e6226..d631945f 100644 --- a/skills/mono/references/products/chat.md +++ b/skills/mono/references/products/chat.md @@ -1060,6 +1060,22 @@ Flags: --background-id string 背景 ID (必填) ``` +#### 原地更新消息的文字表情回应 +``` +Usage: + dws chat message update-text-emotion [flags] +Example: + dws chat message update-text-emotion --conversation-id --msg-id --old-emotion-id --emotion-id --emotion-name "处理中" --text "处理中 2 分钟" --background-id im_bg_5 +Flags: + --conversation-id string 会话 openConversationId (必填,支持单聊/群聊,别名: --group / --id / --chat) + --msg-id string 消息 openMsgId (必填) + --old-emotion-id string 待替换的原表情 ID (必填) + --emotion-id string 新表情 ID (必填,通过 create-text-emotion 获取) + --emotion-name string 新表情名称 (必填) + --text string 新文字内容 (必填) + --background-id string 新背景 ID (必填) +``` + #### 移除消息的文字表情回应 ``` Usage: @@ -1911,6 +1927,7 @@ Flags: 用户说"emoji回应/表情回应/给消息加表情" → `chat message add-emoji` 用户说"取消emoji回应/移除表情回应" → `chat message remove-emoji` 用户说"文字表情回应/添加文字表情" → `chat message add-text-emotion` +用户说"修改文字表情回应/更新消息状态文字" → `chat message update-text-emotion` 用户说"取消文字表情回应/移除文字表情" → `chat message remove-text-emotion` 用户说"创建文字表情/新建文字表情" → `chat message create-text-emotion` 用户说"免打扰/消息免打扰/静音/开启免打扰/关闭免打扰" → `chat mute` @@ -1973,7 +1990,7 @@ Flags: - `chat message list-by-ids` — 根据消息 ID 批量查询消息(最多 50 条) - `chat message add-emoji` / `remove-emoji` — 对消息添加/移除 emoji 表情回应 - `chat message list-emotion-replies` — 批量拉取消息的表情回复和文字回复 -- `chat message add-text-emotion` / `remove-text-emotion` — 对消息添加/移除文字表情回应 +- `chat message add-text-emotion` / `update-text-emotion` / `remove-text-emotion` — 对消息添加、原地更新或移除文字表情回应 - `chat message create-text-emotion` — 创建文字表情模板,返回 emotionId 供 add-text-emotion 使用 - `chat category list` — 获取用户自定义会话分组列表 - `chat category list-conversations` — 拉取指定分组下的会话列表