fix(im): gate optional resource downloads at runtime
This commit is contained in:
1 parent
75bb01bb64
commit
4567dd1cd6
18 files changed
+521
-354
No files matched your search
@@ -8,8 +8,8 @@
|
||||
"avoid_when": [
|
||||
"需要该 Shortcut 未公开的底层参数、原始响应或不同执行语义时,改用对应原子命令"
|
||||
],
|
||||
"confirmation": "user_required",
|
||||
"effect": "write",
|
||||
"confirmation": "not_required",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +at-me",
|
||||
@@ -37,14 +37,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "available",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -69,34 +69,34 @@
|
||||
]
|
||||
},
|
||||
"confirmation": {
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -123,18 +123,18 @@
|
||||
]
|
||||
},
|
||||
"idempotency": {
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -143,14 +143,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "composite",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -159,14 +159,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -191,14 +191,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
@@ -210,18 +210,18 @@
|
||||
]
|
||||
},
|
||||
"risk": {
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -246,11 +246,11 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source_refs": [
|
||||
"ShortcutRegistry:chat +at-me",
|
||||
"cobra-help:dws chat +at-me",
|
||||
@@ -3624,8 +3624,8 @@
|
||||
"avoid_when": [
|
||||
"要跨多个会话按关键词、发送者或消息类型检索时使用 +search-msg;已有一批精确消息 ID 时使用 +messages-mget"
|
||||
],
|
||||
"confirmation": "user_required",
|
||||
"effect": "write",
|
||||
"confirmation": "not_required",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +chat-messages --group \u003copenConversationId\u003e --direction older",
|
||||
@@ -3653,14 +3653,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "available",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3685,34 +3685,34 @@
|
||||
]
|
||||
},
|
||||
"confirmation": {
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3739,18 +3739,18 @@
|
||||
]
|
||||
},
|
||||
"idempotency": {
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3759,14 +3759,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "composite",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3775,14 +3775,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3807,14 +3807,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
@@ -3826,18 +3826,18 @@
|
||||
]
|
||||
},
|
||||
"risk": {
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3862,11 +3862,11 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger.",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source_refs": [
|
||||
"ShortcutRegistry:chat +chat-messages",
|
||||
"cobra-help:dws chat +chat-messages",
|
||||
@@ -9049,8 +9049,8 @@
|
||||
"avoid_when": [
|
||||
"需要该 Shortcut 未公开的底层参数、原始响应或不同执行语义时,改用对应原子命令"
|
||||
],
|
||||
"confirmation": "user_required",
|
||||
"effect": "write",
|
||||
"confirmation": "not_required",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +messages-mget --msg-ids msgId1,msgId2"
|
||||
@@ -9077,14 +9077,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "available",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9109,34 +9109,34 @@
|
||||
]
|
||||
},
|
||||
"confirmation": {
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9161,18 +9161,18 @@
|
||||
]
|
||||
},
|
||||
"idempotency": {
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9181,14 +9181,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "composite",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9197,14 +9197,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9229,14 +9229,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
@@ -9248,18 +9248,18 @@
|
||||
]
|
||||
},
|
||||
"risk": {
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -9284,11 +9284,11 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source_refs": [
|
||||
"ShortcutRegistry:chat +messages-mget",
|
||||
"cobra-help:dws chat +messages-mget",
|
||||
@@ -11147,8 +11147,8 @@
|
||||
"avoid_when": [
|
||||
"只想读取一个已知会话的连续历史时使用 +chat-messages;已有精确消息 ID 时使用 +messages-mget"
|
||||
],
|
||||
"confirmation": "user_required",
|
||||
"effect": "write",
|
||||
"confirmation": "not_required",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +search-msg --query \"周报\" --senders \u003copenDingTalkId\u003e --days 3 --page-all",
|
||||
@@ -11176,14 +11176,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "available",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11208,34 +11208,34 @@
|
||||
]
|
||||
},
|
||||
"confirmation": {
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11262,18 +11262,18 @@
|
||||
]
|
||||
},
|
||||
"idempotency": {
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11282,14 +11282,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "composite",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11298,14 +11298,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11330,14 +11330,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
@@ -11349,18 +11349,18 @@
|
||||
]
|
||||
},
|
||||
"risk": {
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11385,11 +11385,11 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads.",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source_refs": [
|
||||
"ShortcutRegistry:chat +search-msg",
|
||||
"cobra-help:dws chat +search-msg",
|
||||
@@ -11667,8 +11667,8 @@
|
||||
"avoid_when": [
|
||||
"要回复 Thread 或发送新回复时不要使用此读取入口;当前没有经过验证的 thread writer Shortcut"
|
||||
],
|
||||
"confirmation": "user_required",
|
||||
"effect": "write",
|
||||
"confirmation": "not_required",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +thread-replies --group \u003copenConversationId\u003e --thread-id \u003cthreadId\u003e",
|
||||
@@ -11696,14 +11696,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "available",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11728,34 +11728,34 @@
|
||||
]
|
||||
},
|
||||
"confirmation": {
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "user_required",
|
||||
"value": "not_required",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "write",
|
||||
"value": "read",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11782,18 +11782,18 @@
|
||||
]
|
||||
},
|
||||
"idempotency": {
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "unknown",
|
||||
"value": "idempotent",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11802,14 +11802,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "composite",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11818,14 +11818,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11850,14 +11850,14 @@
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
},
|
||||
{
|
||||
"value": true,
|
||||
@@ -11869,18 +11869,18 @@
|
||||
]
|
||||
},
|
||||
"risk": {
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"candidates": [
|
||||
{
|
||||
"value": "medium",
|
||||
"value": "low",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"precedence": "reviewed_explicit",
|
||||
"selected": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files."
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes."
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -11905,11 +11905,11 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely.",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source_refs": [
|
||||
"ShortcutRegistry:chat +thread-replies",
|
||||
"cobra-help:dws chat +thread-replies",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 1,
|
||||
"source_hash": "sha256:f8489e3583b99d851ccd2a133a0c565aaa658168d0c1ba8cf71034f2930c51e9",
|
||||
"source_hash": "sha256:ab583120b83cad7e98084072198a961a7f7cf6fe6e79140ec41e21ffaac84f82",
|
||||
"surface_hash": "sha256:698ccdc961c0b745e6524e33ae13d87ef4fcac012a2e833c7a727a79d35004db",
|
||||
"coverage": {
|
||||
"surface_products": 26,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 1,
|
||||
"source_hash": "sha256:f8489e3583b99d851ccd2a133a0c565aaa658168d0c1ba8cf71034f2930c51e9",
|
||||
"source_hash": "sha256:ab583120b83cad7e98084072198a961a7f7cf6fe6e79140ec41e21ffaac84f82",
|
||||
"surface_hash": "sha256:698ccdc961c0b745e6524e33ae13d87ef4fcac012a2e833c7a727a79d35004db",
|
||||
"source_files": 160,
|
||||
"hint_files": 54,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"surface_hash": "sha256:698ccdc961c0b745e6524e33ae13d87ef4fcac012a2e833c7a727a79d35004db",
|
||||
"source_hash": "sha256:7a75c819e9a71d0166bffc60204e513074f9f300ade7a2e4b4e8529b273145df",
|
||||
"source_hash": "sha256:fad73828190f801f871fedbbc45bce19401104aa32907fd15191b3f44ce3369e",
|
||||
"catalog": {
|
||||
"agent_metadata": {
|
||||
"products_with_metadata": 26,
|
||||
"source": "embedded-skill-metadata",
|
||||
"source_hash": "sha256:f8489e3583b99d851ccd2a133a0c565aaa658168d0c1ba8cf71034f2930c51e9",
|
||||
"source_hash": "sha256:ab583120b83cad7e98084072198a961a7f7cf6fe6e79140ec41e21ffaac84f82",
|
||||
"surface_hash": "sha256:698ccdc961c0b745e6524e33ae13d87ef4fcac012a2e833c7a727a79d35004db",
|
||||
"surface_products": 26,
|
||||
"surface_tools": 818,
|
||||
@@ -9718,16 +9718,16 @@
|
||||
"canonical_path": "chat.shortcut_at_me",
|
||||
"cli_name": "+at-me",
|
||||
"cli_path": "chat +at-me",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你想快速看回最近谁在群里或单聊里 @了你、但不想手动把起止时间换算成毫秒、也不想记 list-mentions 的一堆参数时使用;内部按本地时区算出「最近 N 天」(默认 7 天,可用 --days 调整回溯天数)的时间窗,搜索这段时间内 @我 的消息,再在本地把每条消息投影成发送人、时间、内容、所在会话四个关键字段。默认只读且不会发送、撤回或标记任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"effect": "write",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"name": "shortcut_at_me",
|
||||
"primary_cli_path": "chat +at-me",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"title": "查最近 @我 的消息(自动算时间窗,投影发送人/时间/内容/会话)",
|
||||
"use_when": [
|
||||
"当你想快速看回最近谁在群里或单聊里 @了你、但不想手动把起止时间换算成毫秒、也不想记 list-mentions 的一堆参数时使用;内部按本地时区算出「最近 N 天」(默认 7 天,可用 --days 调整回溯天数)的时间窗,搜索这段时间内 @我 的消息,再在本地把每条消息投影成发送人、时间、内容、所在会话四个关键字段。默认只读且不会发送、撤回或标记任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。"
|
||||
@@ -10082,16 +10082,16 @@
|
||||
"canonical_path": "chat.shortcut_chat_messages",
|
||||
"cli_name": "+chat-messages",
|
||||
"cli_path": "chat +chat-messages",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你想快速看某个会话里的消息(谁在什么时间说了什么),而不想拿到一大坨原始消息字段时使用;群聊传 --group(群会话 ID,openConversationId),单聊传 --user(对方 userId),两者互斥且必须二选一。省略 --time 时默认从当前时间向前读取最近消息;也可指定时间边界并用 --direction newer/older 控制方向。内部据此调用群聊或单聊的消息列表接口,再在本地投影出每条消息的发言人、文本和时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --group、--conversation-id、--id、--user、--open-dingtalk-id 必须且只能指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"effect": "write",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger.",
|
||||
"name": "shortcut_chat_messages",
|
||||
"primary_cli_path": "chat +chat-messages",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"title": "拉取某个会话(群聊或单聊)的消息列表并投影出发言人/文本/时间",
|
||||
"use_when": [
|
||||
"当你想快速看某个会话里的消息(谁在什么时间说了什么),而不想拿到一大坨原始消息字段时使用;群聊传 --group(群会话 ID,openConversationId),单聊传 --user(对方 userId),两者互斥且必须二选一。省略 --time 时默认从当前时间向前读取最近消息;也可指定时间边界并用 --direction newer/older 控制方向。内部据此调用群聊或单聊的消息列表接口,再在本地投影出每条消息的发言人、文本和时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。"
|
||||
@@ -10628,16 +10628,16 @@
|
||||
"canonical_path": "chat.shortcut_messages_mget",
|
||||
"cli_name": "+messages-mget",
|
||||
"cli_path": "chat +messages-mget",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你已有一批消息 openMsgId、需要批量取回完整详情、reaction 和可执行资源引用时使用;一次最多 50 条。--download-resources 可把所有可识别 mediaId/fileId 安全下载到工作目录内,并逐资源返回成功/失败 ledger。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --msg-ids 去重后必须包含 1-50 条消息 ID\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"effect": "write",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"name": "shortcut_messages_mget",
|
||||
"primary_cli_path": "chat +messages-mget",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"title": "根据消息 ID 批量查询消息(最多 50 条)",
|
||||
"use_when": [
|
||||
"当你已有一批消息 openMsgId、需要批量取回完整详情、reaction 和可执行资源引用时使用;一次最多 50 条。--download-resources 可把所有可识别 mediaId/fileId 安全下载到工作目录内,并逐资源返回成功/失败 ledger。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。"
|
||||
@@ -10836,16 +10836,16 @@
|
||||
"canonical_path": "chat.shortcut_search_msg",
|
||||
"cli_name": "+search-msg",
|
||||
"cli_path": "chat +search-msg",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你要按关键词、发送者、@对象、会话、消息类型或机器人来源组合搜索 IM 消息时使用;默认查询近 7 天,也可指定精确起止时间。--page-all 会连续拉取游标页,默认再按消息 ID 分批富化详情;任何续页或富化失败都会保留已取得结果并返回逐项失败 ledger,绝不把截断结果标成完整。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - 至少指定一个内容、身份、会话或消息类型过滤条件\n - 需与 --end 一起传\n - 需与 --start 一起传\n - --groups、--chat-id 互斥,最多指定一个\n - --senders、--sender 互斥,最多指定一个\n - --at-me、--is-at-me 互斥,最多指定一个\n - --conversation-type、--chat-type 互斥,最多指定一个\n - --limit、--page-size 互斥,最多指定一个\n - --cursor、--page-token 互斥,最多指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"effect": "write",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads.",
|
||||
"name": "shortcut_search_msg",
|
||||
"primary_cli_path": "chat +search-msg",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"title": "多维搜索消息,可全量翻页并批量富化详情",
|
||||
"use_when": [
|
||||
"当你要按关键词、发送者、@对象、会话、消息类型或机器人来源组合搜索 IM 消息时使用;默认查询近 7 天,也可指定精确起止时间。--page-all 会连续拉取游标页,默认再按消息 ID 分批富化详情;任何续页或富化失败都会保留已取得结果并返回逐项失败 ledger,绝不把截断结果标成完整。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。"
|
||||
@@ -10888,16 +10888,16 @@
|
||||
"canonical_path": "chat.shortcut_thread_replies",
|
||||
"cli_name": "+thread-replies",
|
||||
"cli_path": "chat +thread-replies",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你已经拿到某个群里一条「话题消息」的 threadId/topicId、想快速看这条话题下的全部回复(谁在什么时间回复了什么),而不想拿到一大坨原始消息字段时使用;内部按 --group(群会话 ID)和 --thread-id(兼容 --topic-id)拉取该话题的回复列表,可选 --time 指定起始时间、--limit 指定每页条数,再在本地投影出每条回复的发言人、文本和回复时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --thread-id 与兼容参数 --topic-id 必须且只能指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"effect": "write",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely.",
|
||||
"name": "shortcut_thread_replies",
|
||||
"primary_cli_path": "chat +thread-replies",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"title": "拉取某条话题消息的全部回复并投影出发言人/文本/时间",
|
||||
"use_when": [
|
||||
"当你已经拿到某个群里一条「话题消息」的 threadId/topicId、想快速看这条话题下的全部回复(谁在什么时间回复了什么),而不想拿到一大坨原始消息字段时使用;内部按 --group(群会话 ID)和 --thread-id(兼容 --topic-id)拉取该话题的回复列表,可选 --time 指定起始时间、--limit 指定每页条数,再在本地投影出每条回复的发言人、文本和回复时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。"
|
||||
|
||||
@@ -50915,10 +50915,10 @@
|
||||
"canonical_path": "chat.shortcut_at_me",
|
||||
"cli_name": "+at-me",
|
||||
"cli_path": "chat +at-me",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你想快速看回最近谁在群里或单聊里 @了你、但不想手动把起止时间换算成毫秒、也不想记 list-mentions 的一堆参数时使用;内部按本地时区算出「最近 N 天」(默认 7 天,可用 --days 调整回溯天数)的时间窗,搜索这段时间内 @我 的消息,再在本地把每条消息投影成发送人、时间、内容、所在会话四个关键字段。默认只读且不会发送、撤回或标记任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"display": "群聊 / 消息 / 机器人",
|
||||
"effect": "write",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +at-me",
|
||||
@@ -50945,7 +50945,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
@@ -50953,7 +50953,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
},
|
||||
@@ -50997,17 +50997,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
},
|
||||
"description": {
|
||||
"candidates": [
|
||||
@@ -51027,17 +51027,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
},
|
||||
"examples": {
|
||||
"candidates": [
|
||||
@@ -51065,23 +51065,23 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
},
|
||||
"interface_mode": {
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
@@ -51089,7 +51089,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
},
|
||||
@@ -51097,7 +51097,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref."
|
||||
@@ -51105,7 +51105,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref."
|
||||
},
|
||||
@@ -51129,7 +51129,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
@@ -51144,7 +51144,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
},
|
||||
@@ -51152,17 +51152,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
},
|
||||
"title": {
|
||||
"candidates": [
|
||||
@@ -51200,7 +51200,7 @@
|
||||
}
|
||||
},
|
||||
"has_parameters": true,
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"is_alias": false,
|
||||
@@ -51840,7 +51840,7 @@
|
||||
"primary_cli_path": "chat +at-me",
|
||||
"product_id": "chat",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source": "reviewed_command_registry",
|
||||
"title": "查最近 @我 的消息(自动算时间窗,投影发送人/时间/内容/会话)",
|
||||
"use_when": [
|
||||
@@ -58207,7 +58207,7 @@
|
||||
"canonical_path": "chat.shortcut_chat_messages",
|
||||
"cli_name": "+chat-messages",
|
||||
"cli_path": "chat +chat-messages",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"constraints": {
|
||||
"mutually_exclusive": [
|
||||
[
|
||||
@@ -58226,7 +58226,7 @@
|
||||
},
|
||||
"description": "当你想快速看某个会话里的消息(谁在什么时间说了什么),而不想拿到一大坨原始消息字段时使用;群聊传 --group(群会话 ID,openConversationId),单聊传 --user(对方 userId),两者互斥且必须二选一。省略 --time 时默认从当前时间向前读取最近消息;也可指定时间边界并用 --direction newer/older 控制方向。内部据此调用群聊或单聊的消息列表接口,再在本地投影出每条消息的发言人、文本和时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --group、--conversation-id、--id、--user、--open-dingtalk-id 必须且只能指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"display": "群聊 / 消息 / 机器人",
|
||||
"effect": "write",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +chat-messages --group \u003copenConversationId\u003e --direction older",
|
||||
@@ -58253,7 +58253,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
@@ -58261,7 +58261,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
},
|
||||
@@ -58305,17 +58305,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
},
|
||||
"description": {
|
||||
"candidates": [
|
||||
@@ -58335,17 +58335,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
},
|
||||
"examples": {
|
||||
"candidates": [
|
||||
@@ -58373,23 +58373,23 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
},
|
||||
"interface_mode": {
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
@@ -58397,7 +58397,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
},
|
||||
@@ -58405,7 +58405,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger."
|
||||
@@ -58413,7 +58413,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger."
|
||||
},
|
||||
@@ -58437,7 +58437,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
@@ -58452,7 +58452,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
},
|
||||
@@ -58460,17 +58460,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
},
|
||||
"title": {
|
||||
"candidates": [
|
||||
@@ -58508,7 +58508,7 @@
|
||||
}
|
||||
},
|
||||
"has_parameters": true,
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger.",
|
||||
"is_alias": false,
|
||||
@@ -59427,7 +59427,7 @@
|
||||
"primary_cli_path": "chat +chat-messages",
|
||||
"product_id": "chat",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source": "reviewed_command_registry",
|
||||
"title": "拉取某个会话(群聊或单聊)的消息列表并投影出发言人/文本/时间",
|
||||
"use_when": [
|
||||
@@ -70454,10 +70454,10 @@
|
||||
"canonical_path": "chat.shortcut_messages_mget",
|
||||
"cli_name": "+messages-mget",
|
||||
"cli_path": "chat +messages-mget",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"description": "当你已有一批消息 openMsgId、需要批量取回完整详情、reaction 和可执行资源引用时使用;一次最多 50 条。--download-resources 可把所有可识别 mediaId/fileId 安全下载到工作目录内,并逐资源返回成功/失败 ledger。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --msg-ids 去重后必须包含 1-50 条消息 ID\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"display": "群聊 / 消息 / 机器人",
|
||||
"effect": "write",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +messages-mget --msg-ids msgId1,msgId2"
|
||||
@@ -70483,7 +70483,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
@@ -70491,7 +70491,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
},
|
||||
@@ -70535,17 +70535,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
},
|
||||
"description": {
|
||||
"candidates": [
|
||||
@@ -70565,17 +70565,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
},
|
||||
"examples": {
|
||||
"candidates": [
|
||||
@@ -70601,23 +70601,23 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
},
|
||||
"interface_mode": {
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
@@ -70625,7 +70625,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
},
|
||||
@@ -70633,7 +70633,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref."
|
||||
@@ -70641,7 +70641,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref."
|
||||
},
|
||||
@@ -70665,7 +70665,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
@@ -70680,7 +70680,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
},
|
||||
@@ -70688,17 +70688,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
},
|
||||
"title": {
|
||||
"candidates": [
|
||||
@@ -70736,7 +70736,7 @@
|
||||
}
|
||||
},
|
||||
"has_parameters": true,
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"is_alias": false,
|
||||
@@ -71199,7 +71199,7 @@
|
||||
"primary_cli_path": "chat +messages-mget",
|
||||
"product_id": "chat",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source": "reviewed_command_registry",
|
||||
"title": "根据消息 ID 批量查询消息(最多 50 条)",
|
||||
"use_when": [
|
||||
@@ -77518,7 +77518,7 @@
|
||||
"canonical_path": "chat.shortcut_search_msg",
|
||||
"cli_name": "+search-msg",
|
||||
"cli_path": "chat +search-msg",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"constraints": {
|
||||
"mutually_exclusive": [
|
||||
[
|
||||
@@ -77566,7 +77566,7 @@
|
||||
},
|
||||
"description": "当你要按关键词、发送者、@对象、会话、消息类型或机器人来源组合搜索 IM 消息时使用;默认查询近 7 天,也可指定精确起止时间。--page-all 会连续拉取游标页,默认再按消息 ID 分批富化详情;任何续页或富化失败都会保留已取得结果并返回逐项失败 ledger,绝不把截断结果标成完整。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - 至少指定一个内容、身份、会话或消息类型过滤条件\n - 需与 --end 一起传\n - 需与 --start 一起传\n - --groups、--chat-id 互斥,最多指定一个\n - --senders、--sender 互斥,最多指定一个\n - --at-me、--is-at-me 互斥,最多指定一个\n - --conversation-type、--chat-type 互斥,最多指定一个\n - --limit、--page-size 互斥,最多指定一个\n - --cursor、--page-token 互斥,最多指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"display": "群聊 / 消息 / 机器人",
|
||||
"effect": "write",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +search-msg --query \"周报\" --senders \u003copenDingTalkId\u003e --days 3 --page-all",
|
||||
@@ -77593,7 +77593,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
@@ -77601,7 +77601,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
},
|
||||
@@ -77645,17 +77645,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
},
|
||||
"description": {
|
||||
"candidates": [
|
||||
@@ -77675,17 +77675,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
},
|
||||
"examples": {
|
||||
"candidates": [
|
||||
@@ -77713,23 +77713,23 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
},
|
||||
"interface_mode": {
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
@@ -77737,7 +77737,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
},
|
||||
@@ -77745,7 +77745,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads."
|
||||
@@ -77753,7 +77753,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads."
|
||||
},
|
||||
@@ -77777,7 +77777,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
@@ -77792,7 +77792,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
},
|
||||
@@ -77800,17 +77800,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
},
|
||||
"title": {
|
||||
"candidates": [
|
||||
@@ -77848,7 +77848,7 @@
|
||||
}
|
||||
},
|
||||
"has_parameters": true,
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads.",
|
||||
"is_alias": false,
|
||||
@@ -80295,7 +80295,7 @@
|
||||
"primary_cli_path": "chat +search-msg",
|
||||
"product_id": "chat",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source": "reviewed_command_registry",
|
||||
"title": "多维搜索消息,可全量翻页并批量富化详情",
|
||||
"use_when": [
|
||||
@@ -80923,7 +80923,7 @@
|
||||
"canonical_path": "chat.shortcut_thread_replies",
|
||||
"cli_name": "+thread-replies",
|
||||
"cli_path": "chat +thread-replies",
|
||||
"confirmation": "user_required",
|
||||
"confirmation": "not_required",
|
||||
"constraints": {
|
||||
"mutually_exclusive": [
|
||||
[
|
||||
@@ -80940,7 +80940,7 @@
|
||||
},
|
||||
"description": "当你已经拿到某个群里一条「话题消息」的 threadId/topicId、想快速看这条话题下的全部回复(谁在什么时间回复了什么),而不想拿到一大坨原始消息字段时使用;内部按 --group(群会话 ID)和 --thread-id(兼容 --topic-id)拉取该话题的回复列表,可选 --time 指定起始时间、--limit 指定每页条数,再在本地投影出每条回复的发言人、文本和回复时间。默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。\n\n参数约束:\n - --thread-id 与兼容参数 --topic-id 必须且只能指定一个\n - --output-dir 必须是工作目录内的相对路径,不允许绝对路径或 .. 逃逸",
|
||||
"display": "群聊 / 消息 / 机器人",
|
||||
"effect": "write",
|
||||
"effect": "read",
|
||||
"effect_source": "agent-hint",
|
||||
"examples": [
|
||||
"dws chat +thread-replies --group \u003copenConversationId\u003e --thread-id \u003cthreadId\u003e",
|
||||
@@ -80967,7 +80967,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
@@ -80975,7 +80975,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "available"
|
||||
},
|
||||
@@ -81019,17 +81019,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "user_required"
|
||||
"value": "not_required"
|
||||
},
|
||||
"description": {
|
||||
"candidates": [
|
||||
@@ -81049,17 +81049,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "write"
|
||||
"value": "read"
|
||||
},
|
||||
"examples": {
|
||||
"candidates": [
|
||||
@@ -81087,23 +81087,23 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "unknown"
|
||||
"value": "idempotent"
|
||||
},
|
||||
"interface_mode": {
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
@@ -81111,7 +81111,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "composite"
|
||||
},
|
||||
@@ -81119,7 +81119,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely."
|
||||
@@ -81127,7 +81127,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely."
|
||||
},
|
||||
@@ -81151,7 +81151,7 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
@@ -81166,7 +81166,7 @@
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": true
|
||||
},
|
||||
@@ -81174,17 +81174,17 @@
|
||||
"candidates": [
|
||||
{
|
||||
"precedence": "reviewed_explicit",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"selected": true,
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
}
|
||||
],
|
||||
"precedence": "reviewed_explicit",
|
||||
"resolution": "highest_precedence",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"source": "internal/cli/schema_hints/metadata/chat.json",
|
||||
"value": "medium"
|
||||
"value": "low"
|
||||
},
|
||||
"title": {
|
||||
"candidates": [
|
||||
@@ -81222,7 +81222,7 @@
|
||||
}
|
||||
},
|
||||
"has_parameters": true,
|
||||
"idempotency": "unknown",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"interface_reason": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely.",
|
||||
"is_alias": false,
|
||||
@@ -82033,7 +82033,7 @@
|
||||
"primary_cli_path": "chat +thread-replies",
|
||||
"product_id": "chat",
|
||||
"reviewed": true,
|
||||
"risk": "medium",
|
||||
"risk": "low",
|
||||
"source": "reviewed_command_registry",
|
||||
"title": "拉取某条话题消息的全部回复并投影出发言人/文本/时间",
|
||||
"use_when": [
|
||||
|
||||
@@ -1153,17 +1153,17 @@
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_chat_messages": {
|
||||
"effect": "write",
|
||||
"risk": "medium",
|
||||
"confirmation": "user_required",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"risk": "low",
|
||||
"confirmation": "not_required",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"availability": "available",
|
||||
"interface_reason": "Reviewed built-in Shortcut adapter: it routes group or direct-message history reads, projects a stable message shape, and optionally orchestrates safe resource downloads with a failure ledger.",
|
||||
"reviewed": true,
|
||||
"review_reason": "Reviewed against the executable Shortcut, group/direct lower read tools, optional local-file writes, shared safe-output validation, resource de-duplication, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable Shortcut and group/direct lower read tools. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"cli_path": "chat +chat-messages",
|
||||
"runtime_gate": "typed_yes"
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_messages_send": {
|
||||
"effect": "write",
|
||||
@@ -1231,17 +1231,17 @@
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_messages_mget": {
|
||||
"effect": "write",
|
||||
"risk": "medium",
|
||||
"confirmation": "user_required",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"risk": "low",
|
||||
"confirmation": "not_required",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"availability": "available",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"reviewed": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"cli_path": "chat +messages-mget",
|
||||
"runtime_gate": "typed_yes"
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_messages_query_send_status": {
|
||||
"effect": "read",
|
||||
@@ -1296,17 +1296,17 @@
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_at_me": {
|
||||
"effect": "write",
|
||||
"risk": "medium",
|
||||
"confirmation": "user_required",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"risk": "low",
|
||||
"confirmation": "not_required",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"availability": "available",
|
||||
"interface_reason": "Reviewed built-in shortcut adapter: the executable CLI owns validation, optional multi-step orchestration, output projection, and confirmation; the complete command contract is not represented by one pinned MCP interface_ref.",
|
||||
"reviewed": true,
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry, mounted Cobra command, and optional local-file writes; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the built-in Shortcut registry and mounted Cobra command. The published default remains read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"cli_path": "chat +at-me",
|
||||
"runtime_gate": "typed_yes"
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_broadcast": {
|
||||
"effect": "write",
|
||||
@@ -1361,17 +1361,17 @@
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_search_msg": {
|
||||
"effect": "write",
|
||||
"risk": "medium",
|
||||
"confirmation": "user_required",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"risk": "low",
|
||||
"confirmation": "not_required",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"availability": "available",
|
||||
"interface_reason": "Reviewed search adapter: it combines filters, cursor pagination, batched mget enrichment, stable projection, completeness accounting, and optional safe resource downloads.",
|
||||
"reviewed": true,
|
||||
"review_reason": "Reviewed against the executable advanced-search flags, page and enrichment failure ledgers, optional local-file writes, shared safe-output validation, and per-resource download ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable advanced-search flags plus page and enrichment ledgers. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"cli_path": "chat +search-msg",
|
||||
"runtime_gate": "typed_yes"
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_send_to_group": {
|
||||
"effect": "write",
|
||||
@@ -1387,17 +1387,17 @@
|
||||
"runtime_gate": "typed_yes"
|
||||
},
|
||||
"chat.shortcut_thread_replies": {
|
||||
"effect": "write",
|
||||
"risk": "medium",
|
||||
"confirmation": "user_required",
|
||||
"idempotency": "unknown",
|
||||
"effect": "read",
|
||||
"risk": "low",
|
||||
"confirmation": "not_required",
|
||||
"idempotency": "idempotent",
|
||||
"interface_mode": "composite",
|
||||
"availability": "available",
|
||||
"interface_reason": "Reviewed thread reader adapter: it accepts threadId/topicId, reads lower topic replies, projects stable message fields, and optionally downloads reply resources safely.",
|
||||
"reviewed": true,
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract, real list_topic_replies mapping, optional local-file writes, group fallback for resource context, and per-resource failure ledger; the static runtime risk is conservatively write because --download-resources writes files.",
|
||||
"review_reason": "Reviewed against the executable thread/topic alias contract and real list_topic_replies mapping. The published default is read-only; runtime risk escalates to write when --download-resources opts into local file writes.",
|
||||
"cli_path": "chat +thread-replies",
|
||||
"runtime_gate": "typed_yes"
|
||||
"runtime_gate": "none"
|
||||
},
|
||||
"chat.shortcut_unread_chats": {
|
||||
"effect": "read",
|
||||
|
||||
@@ -18,6 +18,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/DingTalk-Real-AI/dingtalk-workspace-cli/internal/shortcut"
|
||||
@@ -527,7 +528,8 @@ var MessagesMget = shortcut.Shortcut{
|
||||
Product: "im",
|
||||
Description: "根据消息 ID 批量查询消息(最多 50 条)",
|
||||
Intent: "当你已有一批消息 openMsgId、需要批量取回完整详情、reaction 和可执行资源引用时使用;一次最多 50 条。--download-resources 可把所有可识别 mediaId/fileId 安全下载到工作目录内,并逐资源返回成功/失败 ledger。默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。",
|
||||
Risk: shortcut.RiskWrite,
|
||||
Risk: shortcut.RiskRead,
|
||||
RiskWhen: MessageResourceDownloadRisk,
|
||||
Flags: append([]shortcut.Flag{
|
||||
{Name: "msg-ids", Type: shortcut.FlagStringSlice, Desc: "消息 openMsgId 列表;--msg-ids 去重后必须包含 1-50 条消息 ID", Required: true},
|
||||
{Name: "no-reactions", Type: shortcut.FlagBool, Desc: "不输出消息 reaction(默认输出)"},
|
||||
@@ -609,6 +611,15 @@ func ValidateMessageResourceDownload(rt *shortcut.RuntimeContext) error {
|
||||
return validateResourceDownloadOutputFlag(rt.Str("output-dir"), "--output-dir")
|
||||
}
|
||||
|
||||
// MessageResourceDownloadRisk keeps read-only invocations prompt-free while
|
||||
// requiring confirmation for the opt-in local file writes.
|
||||
func MessageResourceDownloadRisk(rt *shortcut.RuntimeContext) shortcut.Risk {
|
||||
if rt.Bool("download-resources") {
|
||||
return shortcut.RiskWrite
|
||||
}
|
||||
return shortcut.RiskRead
|
||||
}
|
||||
|
||||
// DownloadMessageResources downloads every unique message resource reference
|
||||
// and returns a per-resource success/failure ledger. A fallback conversation
|
||||
// ID lets group/thread list commands supply context when a mediaId item's lower
|
||||
@@ -1090,13 +1101,37 @@ var MessagesSendCard = shortcut.Shortcut{
|
||||
func findCardBizID(value any) string {
|
||||
switch typed := value.(type) {
|
||||
case map[string]any:
|
||||
for _, key := range []string{"bizId", "bizID", "biz_id"} {
|
||||
directKeys := []string{"bizId", "bizID", "biz_id"}
|
||||
for _, key := range directKeys {
|
||||
if candidate := strings.TrimSpace(fmt.Sprint(typed[key])); candidate != "" && candidate != "<nil>" {
|
||||
return candidate
|
||||
}
|
||||
}
|
||||
for _, child := range typed {
|
||||
if candidate := findCardBizID(child); candidate != "" {
|
||||
|
||||
// Prefer documented response envelopes before scanning extension fields.
|
||||
// Map iteration order is deliberately randomized by Go, so an unordered
|
||||
// recursive walk could select a stale metadata bizId.
|
||||
envelopeKeys := []string{"result", "data", "card", "response"}
|
||||
visited := make(map[string]struct{}, len(directKeys)+len(envelopeKeys))
|
||||
for _, key := range directKeys {
|
||||
visited[key] = struct{}{}
|
||||
}
|
||||
for _, key := range envelopeKeys {
|
||||
visited[key] = struct{}{}
|
||||
if candidate := findCardBizID(typed[key]); candidate != "" {
|
||||
return candidate
|
||||
}
|
||||
}
|
||||
|
||||
remainingKeys := make([]string, 0, len(typed))
|
||||
for key := range typed {
|
||||
if _, ok := visited[key]; !ok {
|
||||
remainingKeys = append(remainingKeys, key)
|
||||
}
|
||||
}
|
||||
sort.Strings(remainingKeys)
|
||||
for _, key := range remainingKeys {
|
||||
if candidate := findCardBizID(typed[key]); candidate != "" {
|
||||
return candidate
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,6 +451,10 @@ func TestCrossPlatformCoverageFindCardBizIDResponseShapes(t *testing.T) {
|
||||
{map[string]any{"bizID": "caps"}, "caps"},
|
||||
{map[string]any{"biz_id": "snake"}, "snake"},
|
||||
{map[string]any{"result": []any{map[string]any{"bizId": "nested"}}}, "nested"},
|
||||
{map[string]any{
|
||||
"metadata": map[string]any{"bizId": "stale"},
|
||||
"result": map[string]any{"bizId": "current"},
|
||||
}, "current"},
|
||||
{`{"result":{"bizId":"json"}}`, "json"},
|
||||
{`[{"bizId":"array-json"}]`, "array-json"},
|
||||
{`{"bizId":`, ""},
|
||||
|
||||
@@ -415,8 +415,7 @@ func ensureResourceDownloadParent(baseDir, parent string) error {
|
||||
|
||||
func resourceDownloadFilename(resourceURL string, preferredName ...string) string {
|
||||
if len(preferredName) > 0 {
|
||||
name := filepath.Base(strings.ReplaceAll(strings.TrimSpace(preferredName[0]), "\\", "/"))
|
||||
if name != "" && name != "." && name != string(os.PathSeparator) {
|
||||
if name := safeResourceDownloadFilename(preferredName[0]); name != "" {
|
||||
return name
|
||||
}
|
||||
}
|
||||
@@ -424,8 +423,7 @@ func resourceDownloadFilename(resourceURL string, preferredName ...string) strin
|
||||
if err == nil {
|
||||
name, unescapeErr := url.PathUnescape(filepath.Base(parsed.Path))
|
||||
if unescapeErr == nil {
|
||||
name = filepath.Base(strings.ReplaceAll(name, "\\", "/"))
|
||||
if name != "" && name != "." && name != string(os.PathSeparator) {
|
||||
if name = safeResourceDownloadFilename(name); name != "" {
|
||||
return name
|
||||
}
|
||||
}
|
||||
@@ -433,6 +431,43 @@ func resourceDownloadFilename(resourceURL string, preferredName ...string) strin
|
||||
return "download"
|
||||
}
|
||||
|
||||
// safeResourceDownloadFilename returns a portable basename or an empty string
|
||||
// for names that are unsafe or unusable on a supported platform. Server-provided
|
||||
// file names are untrusted input, and downloads may be prepared on one OS then
|
||||
// consumed on another.
|
||||
func safeResourceDownloadFilename(raw string) string {
|
||||
normalized := strings.ReplaceAll(raw, "\\", "/")
|
||||
if strings.TrimSpace(normalized) != normalized {
|
||||
return ""
|
||||
}
|
||||
name := filepath.Base(normalized)
|
||||
if name == "" || name == "." || name == ".." ||
|
||||
strings.HasSuffix(name, ".") || strings.HasSuffix(name, " ") {
|
||||
return ""
|
||||
}
|
||||
for _, char := range name {
|
||||
if char < 0x20 || char == 0x7f || strings.ContainsRune(`<>:"/\|?*`, char) {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
stem := name
|
||||
if index := strings.IndexByte(stem, '.'); index >= 0 {
|
||||
stem = stem[:index]
|
||||
}
|
||||
stem = strings.ToUpper(strings.TrimRight(stem, " ."))
|
||||
switch stem {
|
||||
case "CON", "PRN", "AUX", "NUL":
|
||||
return ""
|
||||
}
|
||||
if len(stem) == 4 &&
|
||||
(stem[:3] == "COM" || stem[:3] == "LPT") &&
|
||||
stem[3] >= '1' && stem[3] <= '9' {
|
||||
return ""
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func downloadResourceAtomically(
|
||||
ctx context.Context,
|
||||
client *http.Client,
|
||||
|
||||
@@ -363,6 +363,24 @@ func TestCrossPlatformCoverageResourceDownloadFilenameFallbacks(t *testing.T) {
|
||||
if got := resourceDownloadFilename("https://example.test/a%20b.txt"); got != "a b.txt" {
|
||||
t.Fatalf("decoded filename = %q", got)
|
||||
}
|
||||
for _, unsafeName := range []string{
|
||||
"..",
|
||||
"CON",
|
||||
"nul.txt",
|
||||
"COM1.log",
|
||||
"trailing.",
|
||||
"trailing ",
|
||||
"line\nbreak.txt",
|
||||
`bad:name.txt`,
|
||||
} {
|
||||
got := resourceDownloadFilename(
|
||||
"https://download.dingtalk.com/fallback.bin",
|
||||
unsafeName,
|
||||
)
|
||||
if got != "fallback.bin" {
|
||||
t.Errorf("unsafe preferred name %q produced %q", unsafeName, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type resourceRoundTripper func(*http.Request) (*http.Response, error)
|
||||
|
||||
@@ -461,10 +461,11 @@ func validateConstraints(rt *RuntimeContext, s Shortcut) error {
|
||||
// --dry-run is set. Read-only shortcuts never prompt. Returns false when the
|
||||
// user declines.
|
||||
func confirmRisk(rt *RuntimeContext, s Shortcut) bool {
|
||||
if s.risk() == RiskRead || rt.DryRun() || rt.Yes() {
|
||||
risk := s.effectiveRisk(rt)
|
||||
if risk == RiskRead || rt.DryRun() || rt.Yes() {
|
||||
return true
|
||||
}
|
||||
fmt.Fprintf(rt.cmd.ErrOrStderr(), "即将执行 %s %s(%s),确认继续?(yes/no): ", s.Service, s.Command, s.risk())
|
||||
fmt.Fprintf(rt.cmd.ErrOrStderr(), "即将执行 %s %s(%s),确认继续?(yes/no): ", s.Service, s.Command, risk)
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
answer, _ := reader.ReadString('\n')
|
||||
answer = strings.TrimSpace(strings.ToLower(answer))
|
||||
|
||||
@@ -487,8 +487,8 @@
|
||||
},
|
||||
"+messages-mget": {
|
||||
"disposition": "semantic_adapter",
|
||||
"semantic_delta": "按最多 50 个消息 ID 批量读取并输出稳定消息投影、reaction 与 resourceRefs;可用 --download-resources 统一下载 mediaId 与 fileId,复用受信任下载域、相对路径、无覆盖和原子落盘防护,对重复资源去重并逐资源返回下载失败 ledger;因可写本地文件按 write 风险确认。",
|
||||
"risk": "write",
|
||||
"semantic_delta": "按最多 50 个消息 ID 批量读取并输出稳定消息投影、reaction 与 resourceRefs;可用 --download-resources 统一下载 mediaId 与 fileId,复用受信任下载域、相对路径、无覆盖和原子落盘防护,对重复资源去重并逐资源返回下载失败 ledger;默认只读,启用下载时运行时风险升级为 write。",
|
||||
"risk": "read",
|
||||
"public": true,
|
||||
"reviewed": true
|
||||
},
|
||||
@@ -628,7 +628,7 @@
|
||||
"+at-me": {
|
||||
"disposition": "primary_smart",
|
||||
"semantic_delta": "自动构造时间窗,分页拉取跨会话 @我 消息,并保留身份、引用、reaction、resourceRefs 与完整性;可选对资源去重后安全落盘并返回逐项失败 ledger。",
|
||||
"risk": "write",
|
||||
"risk": "read",
|
||||
"public": true,
|
||||
"reviewed": true
|
||||
},
|
||||
@@ -642,7 +642,7 @@
|
||||
"+chat-messages": {
|
||||
"disposition": "primary_smart",
|
||||
"semantic_delta": "统一群聊与两类单聊目标;省略时间时自动以当前时间向前读取最近消息,并输出稳定消息身份、引用、reaction、resourceRefs、时间边界翻页和可读正文;可选对列表内资源去重后安全落盘并返回逐项失败 ledger。",
|
||||
"risk": "write",
|
||||
"risk": "read",
|
||||
"public": true,
|
||||
"reviewed": true
|
||||
},
|
||||
@@ -678,7 +678,7 @@
|
||||
"+search-msg": {
|
||||
"disposition": "primary_smart",
|
||||
"semantic_delta": "统一关键词、发送者、@对象、会话、消息类型和机器人来源过滤;展开下层按会话分组的 conversationMessagesList,支持精确时间窗、page-all、50 条一组 mget 富化,可选安全下载命中消息资源,并以 failure ledger 显式报告截断、富化或下载失败。",
|
||||
"risk": "write",
|
||||
"risk": "read",
|
||||
"public": true,
|
||||
"reviewed": true
|
||||
},
|
||||
@@ -692,7 +692,7 @@
|
||||
"+thread-replies": {
|
||||
"disposition": "primary_smart",
|
||||
"semantic_delta": "接受消息列表直接返回的 threadId(兼容 topicId),拉取回复并输出稳定身份、引用、reaction、resourceRefs、可读正文和时间边界分页;可选对回复资源去重后安全落盘并返回逐项失败 ledger。",
|
||||
"risk": "write",
|
||||
"risk": "read",
|
||||
"public": true,
|
||||
"reviewed": true
|
||||
},
|
||||
|
||||
@@ -40,6 +40,40 @@ func TestCrossPlatformCoverageRiskDefaultsToRead(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCrossPlatformCoverageEffectiveRiskUsesParsedFlagsAndFailsClosed(t *testing.T) {
|
||||
cmd := &cobra.Command{}
|
||||
cmd.Flags().Bool("download-resources", false, "")
|
||||
rt := &RuntimeContext{cmd: cmd}
|
||||
s := Shortcut{
|
||||
Risk: RiskRead,
|
||||
RiskWhen: func(rt *RuntimeContext) Risk {
|
||||
if rt.Bool("download-resources") {
|
||||
return RiskWrite
|
||||
}
|
||||
return RiskRead
|
||||
},
|
||||
}
|
||||
if got := s.effectiveRisk(rt); got != RiskRead {
|
||||
t.Fatalf("default effectiveRisk() = %q, want read", got)
|
||||
}
|
||||
if err := cmd.Flags().Set("download-resources", "true"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if got := s.effectiveRisk(rt); got != RiskWrite {
|
||||
t.Fatalf("download effectiveRisk() = %q, want write", got)
|
||||
}
|
||||
|
||||
s.Risk = RiskHighWrite
|
||||
s.RiskWhen = func(*RuntimeContext) Risk { return Risk("unknown") }
|
||||
if got := s.effectiveRisk(rt); got != RiskHighWrite {
|
||||
t.Fatalf("invalid callback effectiveRisk() = %q, want high-risk-write", got)
|
||||
}
|
||||
s.RiskWhen = func(*RuntimeContext) Risk { return RiskRead }
|
||||
if got := s.effectiveRisk(rt); got != RiskHighWrite {
|
||||
t.Fatalf("downgrade effectiveRisk() = %q, want high-risk-write", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCrossPlatformCoverageMountRegistersFlagsAndUse(t *testing.T) {
|
||||
s := Shortcut{
|
||||
Service: "contact",
|
||||
|
||||
@@ -53,7 +53,8 @@ var AtMe = shortcut.Shortcut{
|
||||
"内部按本地时区算出「最近 N 天」(默认 7 天,可用 --days 调整回溯天数)的时间窗,搜索这段时间内 @我 的消息," +
|
||||
"再在本地把每条消息投影成发送人、时间、内容、所在会话四个关键字段。" +
|
||||
"默认只读且不会发送、撤回或标记任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。",
|
||||
Risk: shortcut.RiskWrite,
|
||||
Risk: shortcut.RiskRead,
|
||||
RiskWhen: chatshortcut.MessageResourceDownloadRisk,
|
||||
Flags: append([]shortcut.Flag{
|
||||
{Name: "days", Type: shortcut.FlagInt, Desc: "回溯天数(可选,默认 7)", Default: "7", Required: false},
|
||||
{Name: "limit", Type: shortcut.FlagInt, Desc: "每页返回数量(默认 50)", Default: "50"},
|
||||
|
||||
@@ -52,7 +52,8 @@ var ChatMessages = shortcut.Shortcut{
|
||||
"省略 --time 时默认从当前时间向前读取最近消息;也可指定时间边界并用 --direction newer/older 控制方向。" +
|
||||
"内部据此调用群聊或单聊的消息列表接口,再在本地投影出每条消息的发言人、文本和时间。" +
|
||||
"默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。",
|
||||
Risk: shortcut.RiskWrite,
|
||||
Risk: shortcut.RiskRead,
|
||||
RiskWhen: chatshortcut.MessageResourceDownloadRisk,
|
||||
Flags: append([]shortcut.Flag{
|
||||
{Name: "group", Type: shortcut.FlagString, Desc: "群会话 ID(openConversationId),与 --user 互斥"},
|
||||
{Name: "conversation-id", Type: shortcut.FlagString, Desc: "--group 的别名", Hidden: true},
|
||||
|
||||
@@ -38,7 +38,8 @@ var SearchMsg = shortcut.Shortcut{
|
||||
Intent: "当你要按关键词、发送者、@对象、会话、消息类型或机器人来源组合搜索 IM 消息时使用;默认查询近 7 天," +
|
||||
"也可指定精确起止时间。--page-all 会连续拉取游标页,默认再按消息 ID 分批富化详情;任何续页或富化失败都会保留已取得结果并返回逐项失败 ledger,绝不把截断结果标成完整。" +
|
||||
"默认只读;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。",
|
||||
Risk: shortcut.RiskWrite,
|
||||
Risk: shortcut.RiskRead,
|
||||
RiskWhen: chatshortcut.MessageResourceDownloadRisk,
|
||||
Flags: append([]shortcut.Flag{
|
||||
{Name: "query", Type: shortcut.FlagString, Desc: "搜索关键词"},
|
||||
{Name: "keyword", Type: shortcut.FlagString, Desc: "--query 的别名", Hidden: true},
|
||||
|
||||
@@ -43,7 +43,8 @@ var ThreadReplies = shortcut.Shortcut{
|
||||
"而不想拿到一大坨原始消息字段时使用;内部按 --group(群会话 ID)和 --thread-id(兼容 --topic-id)拉取该话题的回复列表," +
|
||||
"可选 --time 指定起始时间、--limit 指定每页条数,再在本地投影出每条回复的发言人、文本和回复时间。" +
|
||||
"默认只读且不会发送或修改任何消息;传 --download-resources 时会在工作目录写文件,因此命令按本地写入操作确认。",
|
||||
Risk: shortcut.RiskWrite,
|
||||
Risk: shortcut.RiskRead,
|
||||
RiskWhen: chatshortcut.MessageResourceDownloadRisk,
|
||||
Flags: append([]shortcut.Flag{
|
||||
{Name: "group", Type: shortcut.FlagString, Desc: "群会话 ID(openConversationId,必填)", Required: true},
|
||||
{Name: "thread-id", Type: shortcut.FlagString, Desc: "话题/线程 ID(可直接使用消息列表返回的 threadId)"},
|
||||
|
||||
@@ -138,6 +138,13 @@ type Shortcut struct {
|
||||
Intent string
|
||||
// Risk classifies the side effect; defaults to RiskRead when empty.
|
||||
Risk Risk
|
||||
// RiskWhen optionally refines Risk after flags have been parsed and
|
||||
// validated. It is intended for commands that are read-only by default but
|
||||
// gain a local or remote write mode behind an explicit opt-in flag.
|
||||
//
|
||||
// Distribution Schema keeps publishing the stable default Risk contract;
|
||||
// runtime confirmation uses the value returned here.
|
||||
RiskWhen func(rt *RuntimeContext) Risk
|
||||
// Flags are the command-specific flags. Global flags are injected separately.
|
||||
Flags []Flag
|
||||
// Constraints publish and enforce relationships that individual flags cannot
|
||||
@@ -192,3 +199,32 @@ func (s Shortcut) risk() Risk {
|
||||
}
|
||||
return s.Risk
|
||||
}
|
||||
|
||||
// effectiveRisk returns the invocation-specific risk after flags are resolved.
|
||||
// Invalid callback values and attempted downgrades fail closed to the
|
||||
// declarative default instead of weakening its confirmation policy.
|
||||
func (s Shortcut) effectiveRisk(rt *RuntimeContext) Risk {
|
||||
base := s.risk()
|
||||
if s.RiskWhen == nil {
|
||||
return base
|
||||
}
|
||||
dynamic := s.RiskWhen(rt)
|
||||
switch dynamic {
|
||||
case RiskRead, RiskWrite, RiskHighWrite:
|
||||
default:
|
||||
return base
|
||||
}
|
||||
switch base {
|
||||
case RiskHighWrite:
|
||||
return RiskHighWrite
|
||||
case RiskWrite:
|
||||
if dynamic == RiskHighWrite {
|
||||
return RiskHighWrite
|
||||
}
|
||||
return RiskWrite
|
||||
case RiskRead:
|
||||
return dynamic
|
||||
default:
|
||||
return base
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user