Files
dingtalk-workspace-cli/internal/cli/schema_hints/metadata/chat.json
T
玉澜andCursor 31cade34ff feat(schema): finish ParamDecl migration for remaining overlays
Move the last hint parameter overlays into in-code ParamDecls (helpers +
shortcuts), regenerate catalog, and harden the migrate script for factory
and Use/RPC matching so all 74 overlay tools are declaration-backed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 09:43:21 +08:00

107 lines
6.1 KiB
JSON

{
"version": 1,
"source": {
"kind": "explicit",
"name": "dws-tool-metadata/chat",
"repository": "DingTalk-Real-AI/dingtalk-workspace-cli",
"channel": "open-source",
"reviewed": true
},
"tools": {
"chat.add_emoji_reaction": {
"reviewed": true,
"cli_path": "chat message add-emoji",
"review_reason": "The four reviewed conversation locator flags are aliases for one openConversationId property; the typed require-one-of constraint owns their conditional requirement."
},
"chat.add_text_emotion": {
"reviewed": true,
"cli_path": "chat message add-text-emotion",
"review_reason": "The four reviewed conversation locator flags are aliases for one openConversationId property; the typed require-one-of constraint owns their conditional requirement."
},
"chat.create_smart_conv_category": {
"reviewed": true,
"cli_path": "chat category create-smart",
"review_reason": "Expose the existing smart-category helper through the reviewed Agent Schema and preserve its CLI-to-interface parameter contract."
},
"chat.list_message_favorites": {
"reviewed": true,
"cli_path": "chat message list-favorites",
"review_reason": "Preserve the reviewed CLI-to-interface conversion: Cobra validates --size as an integer from 1 to 100, then the helper serializes it to the string-valued list_message_favorites size property."
},
"chat.list_owned_or_admin_groups": {
"reviewed": true,
"cli_path": "chat group list-my-groups",
"review_reason": "The reviewed CLI lists all owned or administered groups when --role and --limit are omitted; both flags are optional filters despite stricter imported interface metadata."
},
"chat.remove_emoji_reaction": {
"reviewed": true,
"cli_path": "chat message remove-emoji",
"review_reason": "The four reviewed conversation locator flags are aliases for one openConversationId property; the typed require-one-of constraint owns their conditional requirement."
},
"chat.remove_text_emotion": {
"reviewed": true,
"cli_path": "chat message remove-text-emotion",
"review_reason": "The four reviewed conversation locator flags are aliases for one openConversationId property; the typed require-one-of constraint owns their conditional requirement."
},
"chat.set_group_member_mute_list": {
"reviewed": true,
"cli_path": "chat group-mute-member",
"review_reason": "The reviewed Cobra contract makes --off an optional mode switch: omission adds members to the mute list, while --off removes them. The shared MCP schema incorrectly marks the boolean as unconditionally required."
},
"chat.set_group_mute": {
"reviewed": true,
"cli_path": "chat group-mute",
"review_reason": "The reviewed optional --off switch selects unmute; omission deliberately selects mute, so false is a valid default rather than missing required input."
},
"chat.set_top_conversation": {
"reviewed": true,
"cli_path": "chat set-top",
"review_reason": "The reviewed optional --off switch selects unpin; omission deliberately selects pin, so false is a valid default rather than missing required input."
},
"chat.update_conv_member_roles": {
"reviewed": true,
"cli_path": "chat group set-admin",
"review_reason": "The reviewed optional --off switch selects administrator removal; omission deliberately selects administrator assignment."
},
"chat.update_notification_off": {
"reviewed": true,
"cli_path": "chat mute",
"review_reason": "The reviewed locator aliases feed one openConversationId property, while optional --off selects unmute; typed constraints require one locator without making the mode switch mandatory."
},
"chat.edit_message": {
"reviewed": true,
"cli_path": "chat message edit",
"review_reason": "The reviewed handler requires one conversation locator, a message ID, and exactly one of text or raw content; it optionally derives a title and maps mention controls before invoking edit_message."
},
"chat.get_conv_categories_info": {
"reviewed": true,
"cli_path": "chat category batch-info",
"review_reason": "The reviewed handler requires a comma-separated category-ID list, parses it to integers, and invokes get_conv_categories_info without a mutation or confirmation gate."
},
"chat.list_conv_categories_by_conv": {
"reviewed": true,
"cli_path": "chat category list-by-conv",
"review_reason": "The reviewed handler accepts one of three conversation locator aliases and invokes list_conv_categories_by_conv without a mutation or confirmation gate."
},
"chat.update_group_nick": {
"reviewed": true,
"cli_path": "chat group update-nick",
"review_reason": "The reviewed handler requires the target conversation while intentionally allowing omitted --nick to send an empty nickname and clear the current user's group nickname."
},
"chat.upgrade_group_to_external": {
"reviewed": true,
"cli_path": "chat group upgrade-to-external",
"review_reason": "The reviewed handler validates the target group and optional string-valued extension object, permits caller-authoritative dry-run, and requires explicit --yes before the irreversible upgrade."
},
"chat.shortcut_messages_send_card": {
"reviewed": true,
"cli_path": "chat +messages-send-card",
"review_reason": "Reviewed against authenticated contact-search resolution, create-only, two-action dry-run, create/update success, missing bizId, and partial-failure behavior that preserves the created bizId; the explicit openDingTalkId flag is bound to the lower interface's exact receiverOpenDingTalkId property."
},
"chat.update_text_emotion": {
"reviewed": true,
"cli_path": "chat message update-text-emotion",
"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."
}
}
}