Hide shortcuts that did not pass real testing from public help/list discovery while keeping commands available for internal retest. Record real shortcut inputs/outputs, backend issue summaries, next-release hidden list, and refresh skill guidance to mirror the lark-cli shortcut integration pattern.
4456 lines
235 KiB
JSON
4456 lines
235 KiB
JSON
{
|
||
"generated_at": "2026-07-15T16:04:54.178709",
|
||
"summary": {
|
||
"total": 162,
|
||
"ok": 48,
|
||
"error": 114,
|
||
"timeout": 0,
|
||
"held": 0
|
||
},
|
||
"failure_categories": {
|
||
"missing-real-aitable-fixture": 31,
|
||
"backend-or-mcp-error": 24,
|
||
"missing-real-resource": 23,
|
||
"input-or-business-validation": 20,
|
||
"auth-or-permission": 16
|
||
},
|
||
"results": [
|
||
{
|
||
"service": "todo",
|
||
"command": "+assign",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +assign --to '冬翔' --task 'DWS shortcut 真实测试 20260715 assign,可忽略' --due 2026-07-16T10:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+assign",
|
||
"--to",
|
||
"冬翔",
|
||
"--task",
|
||
"DWS shortcut 真实测试 20260715 assign,可忽略",
|
||
"--due",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试 20260715 assign,可忽略\",\n \"taskId\": \"55037683708\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1651,
|
||
"recorded_at": "2026-07-15T10:12:09.374178"
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+assign-multi",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +assign-multi --to '冬翔,克谨,怒龙' --task 'DWS shortcut 真实测试 20260715 assign-multi,可忽略' --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+assign-multi",
|
||
"--to",
|
||
"冬翔,克谨,怒龙",
|
||
"--task",
|
||
"DWS shortcut 真实测试 20260715 assign-multi,可忽略",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试 20260715 assign-multi,可忽略\",\n \"taskId\": \"55037747621\"\n },\n \"success\": true\n}\n{\n \"count\": 3,\n \"executors\": [\n \"夏东翔(103262)\",\n \"黄渊卓(519019)\",\n \"刘力(075771)\"\n ],\n \"subject\": \"DWS shortcut 真实测试 20260715 assign-multi,可忽略\"\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2445,
|
||
"recorded_at": "2026-07-15T10:12:11.927124"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+book",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +book --title 'DWS shortcut 真实测试 20260715 日程,可忽略' --start 2026-07-16T11:00:00+08:00 --end 2026-07-16T11:15:00+08:00 --with '冬翔,克谨,怒龙' --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+book",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715 日程,可忽略",
|
||
"--start",
|
||
"2026-07-16T11:00:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:15:00+08:00",
|
||
"--with",
|
||
"冬翔,克谨,怒龙",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"attendees\": [\n {\n \"displayName\": \"怒龙\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n },\n {\n \"displayName\": \"冬翔\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n },\n {\n \"displayName\": \"念晨\",\n \"optional\": false,\n \"responseStatus\": \"accepted\",\n \"self\": true\n },\n {\n \"displayName\": \"黄渊卓(克谨)\",\n \"optional\": false,\n \"responseStatus\": \"needsAction\",\n \"self\": false\n }\n ],\n \"categories\": [],\n \"createTime\": \"2026-07-15 10:12:30\",\n \"end\": {\n \"dateTime\": \"2026-07-16T11:15:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"extendedProperties\": {\n \"sharedProperties\": {\n \"belongCorpId\": \"ding8196cd9a2b2405da24f2f5cc6abecb85\"\n }\n },\n \"freeBusy\": \"BUSY\",\n \"iCalUID\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"id\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"isAllDay\": false,\n \"meetingRooms\": [],\n \"onlineMeetingInfo\": {\n \"conferenceId\": \"c76abd52-29bb-4183-85d3-bcf91debe3e4\",\n \"extraInfo\": {\n \"phones\": \"[\\\"+862381045152\\\",\\\"+862381045153\\\"]\",\n \"roomCode\": \"131 508 161\"\n },\n \"internalExtraInfo\": {\n \"urlForCalDAV\": \"dingtalk://dingtalkclient/page/videoConfFromSystemCalendar?confId=c76abd52-29bb-4183-85d3-bcf91debe3e4\\u0026calendarId=24714119393\"\n },\n \"type\": \"dingtalk\",\n \"url\": \"dingtalk://dingtalkclient/page/videoConfFromCalendar?confId=c76abd52-29bb-4183-85d3-bcf91debe3e4\\u0026calendarId=24714119393\"\n },\n \"organizer\": {\n \"displayName\": \"念晨\",\n \"optional\": false,\n \"self\": true\n },\n \"reminders\": [\n {\n \"method\": \"dingtalk\",\n \"minutes\": 15\n }\n ],\n \"start\": {\n \"dateTime\": \"2026-07-16T11:00:00+08:00\",\n \"timeZone\": \"Asia/Shanghai\"\n },\n \"status\": \"confirmed\",\n \"summary\": \"DWS shortcut 真实测试 20260715 日程,可忽略\",\n \"updateTime\": \"2026-07-15 10:12:31\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2909,
|
||
"recorded_at": "2026-07-15T10:12:31.399705"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+reschedule",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +reschedule --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --start 2026-07-16T11:30:00+08:00 --end 2026-07-16T11:45:00+08:00 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+reschedule",
|
||
"--event",
|
||
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
|
||
"--start",
|
||
"2026-07-16T11:30:00+08:00",
|
||
"--end",
|
||
"2026-07-16T11:45:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1960,
|
||
"recorded_at": "2026-07-15T10:13:18.426070"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+invite",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +invite --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --with '冬翔' --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+invite",
|
||
"--event",
|
||
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
|
||
"--with",
|
||
"冬翔",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2033,
|
||
"recorded_at": "2026-07-15T10:13:23.127843"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+cancel-event",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test calendar +cancel-event --event c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09 --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+cancel-event",
|
||
"--event",
|
||
"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"action\": \"about_to_cancel\",\n \"eventId\": \"c0YxQWVyWDFiTjB6MHdmczVvNUZ5dz09\",\n \"title\": \"DWS shortcut 真实测试 20260715 日程,可忽略\"\n}\n{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1369,
|
||
"recorded_at": "2026-07-15T10:13:40.867196"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-create",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +category-create --title 'DWS测0715' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-create",
|
||
"--title",
|
||
"DWS测0715",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"categoryId\": 1784081668329\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 959,
|
||
"recorded_at": "2026-07-15T10:14:28.325931"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-rename",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +category-rename --category-id 1784081668329 --title 'DWS改0715' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-rename",
|
||
"--category-id",
|
||
"1784081668329",
|
||
"--title",
|
||
"DWS改0715",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1225,
|
||
"recorded_at": "2026-07-15T10:14:58.751623"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-delete",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +category-delete --category-id 1784081668329 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-delete",
|
||
"--category-id",
|
||
"1784081668329",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1378,
|
||
"recorded_at": "2026-07-15T10:15:00.095333"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+send-to-group",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +send-to-group --group 'DWS测0715' --text 'DWS shortcut 真实测试 20260715:验证 chat +send-to-group,请忽略。' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+send-to-group",
|
||
"--group",
|
||
"DWS测0715",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715:验证 chat +send-to-group,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"tECwJpPL2sAnZwUZhjTFhNWleCgSp0GSMPlGkMUIL5Q=\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1854,
|
||
"recorded_at": "2026-07-15T10:16:22.214033"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-update-nick",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-update-nick --group cidXgIVDDzZE7kdQ+bcp3gWNw== --nick 'DWS测试' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-update-nick",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--nick",
|
||
"DWS测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1478,
|
||
"recorded_at": "2026-07-15T10:16:22.730031"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-update-alias",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-update-alias --group cidXgIVDDzZE7kdQ+bcp3gWNw== --alias-title 'DWS群备注' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-update-alias",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--alias-title",
|
||
"DWS群备注",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1298,
|
||
"recorded_at": "2026-07-15T10:16:23.398622"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-mute",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write cleanup/unmute; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-mute --group cidXgIVDDzZE7kdQ+bcp3gWNw== --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-mute",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1252,
|
||
"recorded_at": "2026-07-15T10:16:43.375260"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-set-history",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-set-history --group cidXgIVDDzZE7kdQ+bcp3gWNw== --option RECENT_100 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-set-history",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--option",
|
||
"RECENT_100",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1219,
|
||
"recorded_at": "2026-07-15T10:17:31.670629"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-add",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-add --group cidXgIVDDzZE7kdQ+bcp3gWNw== --name 'DWS测试角色' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-add",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--name",
|
||
"DWS测试角色",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openRoleId\": \"role9G67RdPFmhF1VxBpguhr1QiEiE\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1281,
|
||
"recorded_at": "2026-07-15T10:17:33.706668"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-set-admin",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write cleanup/unset-admin; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-set-admin --group cidXgIVDDzZE7kdQ+bcp3gWNw== --users 103262 --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-set-admin",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--users",
|
||
"103262",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1554,
|
||
"recorded_at": "2026-07-15T10:17:54.361957"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-update",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-update --group cidXgIVDDzZE7kdQ+bcp3gWNw== --role-id role9G67RdPFmhF1VxBpguhr1QiEiE --name 'DWS角色改' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-update",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--role-id",
|
||
"role9G67RdPFmhF1VxBpguhr1QiEiE",
|
||
"--name",
|
||
"DWS角色改",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1366,
|
||
"recorded_at": "2026-07-15T10:18:16.042372"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-set-user",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-set-user --group cidXgIVDDzZE7kdQ+bcp3gWNw== --user 103262 --role-ids role9G67RdPFmhF1VxBpguhr1QiEiE --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-set-user",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--user",
|
||
"103262",
|
||
"--role-ids",
|
||
"role9G67RdPFmhF1VxBpguhr1QiEiE",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1355,
|
||
"recorded_at": "2026-07-15T10:18:18.422186"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+version-save",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +version-save --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+version-save",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"message\": \"文档版本已成功保存。\",\n \"savedVersion\": 1,\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1853,
|
||
"recorded_at": "2026-07-15T10:22:15.539141"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+comment-create",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +comment-create --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --content 'DWS shortcut 真实测试 20260715:验证 doc +comment-create,可忽略。' --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+comment-create",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--content",
|
||
"DWS shortcut 真实测试 20260715:验证 doc +comment-create,可忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"commentKey\": \"1784082136009b316ba6c48ad41ad92a8b6905406a17c\",\n \"logId\": \"2132f5ca17840821358717098e08d7\",\n \"message\": \"评论创建成功。commentKey: 1784082136009b316ba6c48ad41ad92a8b6905406a17c\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2263,
|
||
"recorded_at": "2026-07-15T10:22:16.077531"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+doc-append",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +doc-append --doc P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --text 'DWS shortcut 真实测试 20260715:验证 doc +doc-append。' --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+doc-append",
|
||
"--doc",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715:验证 doc +doc-append。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"logId\": \"213ee25c17840821367055154e08a0\",\n \"message\": \"内容已成功追加到文档末尾,原有内容保持不变。\",\n \"mode\": \"append\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2892,
|
||
"recorded_at": "2026-07-15T10:22:17.006167"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+comment-reply",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +comment-reply --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --comment-key 1784082136009b316ba6c48ad41ad92a8b6905406a17c --content 'DWS shortcut 真实测试 20260715:验证 doc +comment-reply,可忽略。' --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+comment-reply",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--comment-key",
|
||
"1784082136009b316ba6c48ad41ad92a8b6905406a17c",
|
||
"--content",
|
||
"DWS shortcut 真实测试 20260715:验证 doc +comment-reply,可忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"commentKey\": \"1784082170012979f5c547f7a49e88a6c1dd718bbb304\",\n \"logId\": \"2106d98117840821697518379e089c\",\n \"message\": \"回复评论成功。commentKey: 1784082170012979f5c547f7a49e88a6c1dd718bbb304\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1553,
|
||
"recorded_at": "2026-07-15T10:22:50.048965"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+copy",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +copy --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+copy",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"message\": \"节点复制成功,已复制到目标文件夹。sourceNodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ,新节点 ID: 7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"nodeId\": \"7dx2rn0Jbakrq9O5tZvQ1bG9VMGjLRb3\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1531,
|
||
"recorded_at": "2026-07-15T10:23:13.821964"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+move",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +move --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+move",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"message\": \"节点移动成功,已移动到目标文件夹。nodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1087,
|
||
"recorded_at": "2026-07-15T10:23:15.362080"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+version-revert",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +version-revert --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --version 1 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+version-revert",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--version",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"message\": \"文档已成功回滚到指定版本。\",\n \"revertedToVersion\": 1,\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2065,
|
||
"recorded_at": "2026-07-15T10:23:20.422266"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-dismiss",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +chat-dismiss --group cidXgIVDDzZE7kdQ+bcp3gWNw== --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-dismiss",
|
||
"--group",
|
||
"cidXgIVDDzZE7kdQ+bcp3gWNw==",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1120,
|
||
"recorded_at": "2026-07-15T10:30:27.746562"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+create",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +create --name 'DWS测试应用0715' --desc 'DWS shortcut 真实测试,可删除' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+create",
|
||
"--name",
|
||
"DWS测试应用0715",
|
||
"--desc",
|
||
"DWS shortcut 真实测试,可删除",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"appKey\": \"dingyqsdchocxp3xrfm3\",\n \"desc\": \"DWS shortcut 真实测试,可删除\",\n \"icon\": \"@lADPDfmVQafoVxrMyMzI\",\n \"iconUrl\": \"https://i01.lw.aliimg.com/media/lADPDfmVQafoVxrMyMzI_200_200.jpg\",\n \"name\": \"DWS测试应用0715\",\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1464,
|
||
"recorded_at": "2026-07-15T10:31:40.493231"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+update",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +update --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --name 'DWS测试应用0715改' --desc 'DWS shortcut 真实测试已更新' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+update",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--name",
|
||
"DWS测试应用0715改",
|
||
"--desc",
|
||
"DWS shortcut 真实测试已更新",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"appKey\": \"dingyqsdchocxp3xrfm3\",\n \"desc\": \"DWS shortcut 真实测试已更新\",\n \"icon\": \"@lADPDfmVQafoVxrMyMzI\",\n \"iconUrl\": \"https://i01.lw.aliimg.com/media/lADPDfmVQafoVxrMyMzI_200_200.jpg\",\n \"message\": \"应用基础信息更新成功。\",\n \"name\": \"DWS测试应用0715改\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"updatedFields\": [\n \"name\",\n \"desc\"\n ],\n \"versionStatus\": \"INIT\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 5611,
|
||
"recorded_at": "2026-07-15T10:32:10.163399"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+disable",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +disable --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+disable",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"message\": \"应用已停用。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2583,
|
||
"recorded_at": "2026-07-15T10:32:10.606118"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+member-add",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +member-add --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --user-ids 103262 --member-type DEVELOPER --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+member-add",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--user-ids",
|
||
"103262",
|
||
"--member-type",
|
||
"DEVELOPER",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"memberType\": \"DEVELOPER\",\n \"operation\": \"ADDED\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"userIds\": [\n \"103262\"\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2393,
|
||
"recorded_at": "2026-07-15T10:32:10.630577"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+enable",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +enable --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+enable",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"message\": \"应用已启用。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1506,
|
||
"recorded_at": "2026-07-15T10:32:41.282567"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+member-remove",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +member-remove --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --user-ids 103262 --member-type DEVELOPER --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+member-remove",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--user-ids",
|
||
"103262",
|
||
"--member-type",
|
||
"DEVELOPER",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"memberType\": \"DEVELOPER\",\n \"operation\": \"REMOVED\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\",\n \"userIds\": [\n \"103262\"\n ]\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1188,
|
||
"recorded_at": "2026-07-15T10:32:45.215035"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+webapp-config",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +webapp-config --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --h5-page-type pc --homepage-url https://example.invalid/dws --pc-homepage-url https://example.invalid/dws-pc --omp-url https://example.invalid/omp --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+webapp-config",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--h5-page-type",
|
||
"pc",
|
||
"--homepage-url",
|
||
"https://example.invalid/dws",
|
||
"--pc-homepage-url",
|
||
"https://example.invalid/dws-pc",
|
||
"--omp-url",
|
||
"https://example.invalid/omp",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"configured\": true,\n \"h5PageType\": \"pc\",\n \"homepageUrl\": \"https://example.invalid/dws\",\n \"message\": \"网页应用配置成功。\",\n \"ompUrl\": \"https://example.invalid/omp\",\n \"pcHomepageUrl\": \"https://example.invalid/dws-pc\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 4926,
|
||
"recorded_at": "2026-07-15T10:33:17.930444"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test devapp +delete --unified-app-id c5a8e611-1555-44a0-ba8d-9617ab599692 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+delete",
|
||
"--unified-app-id",
|
||
"c5a8e611-1555-44a0-ba8d-9617ab599692",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"deleted\": true,\n \"message\": \"应用删除成功。\",\n \"success\": true,\n \"unifiedAppId\": \"c5a8e611-1555-44a0-ba8d-9617ab599692\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2868,
|
||
"recorded_at": "2026-07-15T10:33:37.241949"
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+move",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +move --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+move",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"message\": \"节点移动成功,已移动到目标文件夹。nodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ\",\n \"nodeId\": \"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 3380,
|
||
"recorded_at": "2026-07-15T10:34:07.475044"
|
||
},
|
||
{
|
||
"service": "drive",
|
||
"command": "+copy",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test drive +copy --node P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --folder Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ --yes --format json",
|
||
"args": [
|
||
"drive",
|
||
"+copy",
|
||
"--node",
|
||
"P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--folder",
|
||
"Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"docUrl\": \"https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"message\": \"节点复制成功,已复制到目标文件夹。sourceNodeId: P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO,targetFolderId: Amq4vjg89ZOAdqyaSMKpApXdW3kdP0wQ,新节点 ID: np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"nodeId\": \"np9zOoBVBy2AdzEjuP40bzg4W1DK0g6l\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1329,
|
||
"recorded_at": "2026-07-15T10:34:08.215467"
|
||
},
|
||
{
|
||
"service": "ding",
|
||
"command": "+send-personal",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test ding +send-personal --users 103262 --content 'DWS shortcut 真实测试 20260715:验证 ding +send-personal,请忽略。' --type app --uuid dws-shortcut-ding-20260715-001 --yes --format json",
|
||
"args": [
|
||
"ding",
|
||
"+send-personal",
|
||
"--users",
|
||
"103262",
|
||
"--content",
|
||
"DWS shortcut 真实测试 20260715:验证 ding +send-personal,请忽略。",
|
||
"--type",
|
||
"app",
|
||
"--uuid",
|
||
"dws-shortcut-ding-20260715-001",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openDingId\": \"8508193BEA49427AA9FFE94EB9D6B28E\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1338,
|
||
"recorded_at": "2026-07-15T10:34:35.058320"
|
||
},
|
||
{
|
||
"service": "ding",
|
||
"command": "+recall-personal",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test ding +recall-personal --id 8508193BEA49427AA9FFE94EB9D6B28E --yes --format json",
|
||
"args": [
|
||
"ding",
|
||
"+recall-personal",
|
||
"--id",
|
||
"8508193BEA49427AA9FFE94EB9D6B28E",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1415,
|
||
"recorded_at": "2026-07-15T10:34:51.767409"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+record-start",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +record-start --session-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+record-start",
|
||
"--session-id",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"cmd\": \"create\",\n \"operatorUid\": 512653609,\n \"sessionId\": \"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__\",\n \"uid\": 512653609\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 821
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+replace-batch",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test minutes +replace-batch --id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --pair '测试=>测试' --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+replace-batch",
|
||
"--id",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
|
||
"--pair",
|
||
"测试=>测试",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"applied\": 0,\n \"failed\": 1,\n \"results\": [\n {\n \"error\": \"[UNCLASSIFIED] business error: success=false\\n hint: Use --verbose for detailed error logs\",\n \"originalText\": \"测试\",\n \"replacedText\": \"测试\"\n }\n ],\n \"taskUuid\": \"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__\",\n \"total\": 1\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 941
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-send-by-webhook",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-send-by-webhook --token __DWS_SHORTCUT_REAL_TEST_NO_SUCH_WEBHOOK_TOKEN__ --title 'DWS shortcut 真实测试 20260715-104025' --text 'DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。' --at-all --at-mobiles x --at-users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-send-by-webhook",
|
||
"--token",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_WEBHOOK_TOKEN__",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715-104025",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。",
|
||
"--at-all",
|
||
"--at-mobiles",
|
||
"x",
|
||
"--at-users",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"errcode\": \"300005\",\n \"errmsg\": \"token is not exist\",\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 925
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-update-card",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +messages-update-card --biz-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__ --content 'DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。' --flow-status 1 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-update-card",
|
||
"--biz-id",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ID__",
|
||
"--content",
|
||
"DWS shortcut 真实测试 20260715-104025,安全负向输入,请忽略。",
|
||
"--flow-status",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 934
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-clear-all-red-point",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-clear-all-red-point --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-clear-all-red-point",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {},\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 13459,
|
||
"recorded_at": "2026-07-15T10:45:08.066989"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+dm",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +dm --to '冬翔' --text 'DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+dm",
|
||
"--to",
|
||
"冬翔",
|
||
"--text",
|
||
"DWS shortcut 修复复测 20260715:验证 chat +dm,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"y/wM6Lo+9GbIqtILYPv1BZDcMW+2FgnqskgcpdOiMdM=\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2547,
|
||
"recorded_at": "2026-07-15T11:01:34.725515"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+broadcast",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test chat +broadcast --to '冬翔,克谨,怒龙' --text 'DWS shortcut 修复复测 20260715:验证 chat +broadcast,请忽略。' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+broadcast",
|
||
"--to",
|
||
"冬翔,克谨,怒龙",
|
||
"--text",
|
||
"DWS shortcut 修复复测 20260715:验证 chat +broadcast,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"failedCount\": 0,\n \"sent\": [\n \"夏东翔\",\n \"黄渊卓\",\n \"刘力\"\n ],\n \"sentCount\": 3\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2388,
|
||
"recorded_at": "2026-07-15T11:01:50.250374"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+share-doc",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test doc +share-doc --to '冬翔' --url https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO --note 'DWS shortcut 修复复测 20260715:验证 doc +share-doc,请忽略。' --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+share-doc",
|
||
"--to",
|
||
"冬翔",
|
||
"--url",
|
||
"https://alidocs.dingtalk.com/i/nodes/P0MALyR8knpgo9GycY7ZlMxlJ3bzYmDO",
|
||
"--note",
|
||
"DWS shortcut 修复复测 20260715:验证 doc +share-doc,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"errorCode\": null,\n \"errorMsg\": null,\n \"result\": {\n \"openTaskId\": \"30ETViSW+9qhs7fBO9cbeSocHjj2iUZL4firJPz/h/I=\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1943,
|
||
"recorded_at": "2026-07-15T11:02:04.791099"
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+remind",
|
||
"risk": "write",
|
||
"method": "real-backend-manual-write; no --mock; no --dry-run; cleanup: taskId 55042039022 deleted successfully",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +remind --task 'DWS shortcut 修复复测 20260715 remind,可忽略' --at 2026-07-16T10:00:00+08:00 --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+remind",
|
||
"--task",
|
||
"DWS shortcut 修复复测 20260715 remind,可忽略",
|
||
"--at",
|
||
"2026-07-16T10:00:00+08:00",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 修复复测 20260715 remind,可忽略\",\n \"taskId\": \"55042039022\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 4240,
|
||
"recorded_at": "2026-07-15T11:02:27.012678",
|
||
"cleanup": {
|
||
"input": "/private/tmp/dws-real-test todo task delete --task-id 55042039022 --yes --format json",
|
||
"stdout": "{\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
|
||
"exit_code": 0,
|
||
"note": "真实复测创建的临时待办已删除"
|
||
}
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+advperm-disable",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +advperm-disable --base-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+advperm-disable",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set advanced permission for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998455921653e08de\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1447,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+advperm-enable",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +advperm-enable --base-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+advperm-enable",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set advanced permission for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998469916877e08c8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1358,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+attachment-upload",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +attachment-upload --base-id DWSREALTESTNOSUCHID0000000000000 --file-name dws-shortcut-real-20260715-151724.txt --size 1 --mime-type text/plain --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+attachment-upload",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--file-name",
|
||
"dws-shortcut-real-20260715-151724.txt",
|
||
"--size",
|
||
"1",
|
||
"--mime-type",
|
||
"text/plain",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to prepare attachment upload: base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"213ee25c17840998481228948e087f\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1131,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-copy",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +base-copy --base-id DWSREALTESTNOSUCHID0000000000000 --target-folder-id x --only-struct --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-copy",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--target-folder-id",
|
||
"x",
|
||
"--only-struct",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":null,\\\"message\\\":\\\"Invalid source baseId: DWSREALTESTNOSUCHID0000000000000\\\",\\\"retryable\\\":null,\\\"type\\\":\\\"USER_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Invalid source baseId\\\",\\\"trace_id\\\":\\\"213ee25c17840998493715617e08e2\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1318,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +base-delete --base-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--reason",
|
||
"DWS shortcut 真实测试安全负向清理",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"52600003\\\",\\\"message\\\":\\\"Data not found\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete base DWSREALTESTNOSUCHID0000000000000. Check whether the base still exists, the caller still has access, and the baseId is from get_base/search_bases before retrying.\\\",\\\"trace_id\\\":\\\"2132f5ca17840998505858640e0874\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1124,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+base-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +base-update --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --desc 'DWS shortcut 真实测试描述,可删除' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+base-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--desc",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update base because base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"2132f5ca17840998518767946e08b6\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1318,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-delete --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--chart-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--reason",
|
||
"DWS shortcut 真实测试安全负向清理",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete chart DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998530143696e08c9\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1154,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-share-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --enabled --share-type PUBLIC --allow-back-to-doc --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-share-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--chart-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--enabled",
|
||
"--share-type",
|
||
"PUBLIC",
|
||
"--allow-back-to-doc",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update chart share for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998541842968e094d\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1175,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+chart-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +chart-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --chart-id DWSREALTESTNOSUCHID0000000000000 --config '{}' --layout '{}' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+chart-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--chart-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--config",
|
||
"{}",
|
||
"--layout",
|
||
"{}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"config is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update chart because config is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998553244877e08df\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1102,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-arrange",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-arrange --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-arrange",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to align dashboard for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998564478222e08d8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1141,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-delete --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--reason",
|
||
"DWS shortcut 真实测试安全负向清理",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete dashboard DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998577042546e0941\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1247,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-share-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --enabled --share-type PUBLIC --allow-back-to-doc --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-share-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--enabled",
|
||
"--share-type",
|
||
"PUBLIC",
|
||
"--allow-back-to-doc",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update dashboard share for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998588081246e0853\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1115,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+dashboard-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +dashboard-update --base-id DWSREALTESTNOSUCHID0000000000000 --dashboard-id DWSREALTESTNOSUCHID0000000000000 --config '{}' --name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+dashboard-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dashboard-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--config",
|
||
"{}",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update dashboard DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998599403187e08b8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1157,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+field-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +field-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+field-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--field-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get current field info before delete\\\",\\\"trace_id\\\":\\\"0bab027317840998611338768e08c8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1157,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+field-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +field-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --config '{}' --ai-config '{}' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+field-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--field-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--config",
|
||
"{}",
|
||
"--ai-config",
|
||
"{}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to get current field info for update\\\",\\\"trace_id\\\":\\\"213ee25c17840998623207342e08e2\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1196,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +form-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete form view for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998636217552e08e2\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1290,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-field-hide",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +form-field-hide --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --hidden --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-field-hide",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--field-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--hidden",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form field hidden for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998649456212e08df\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1312,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-field-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +form-field-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --required --field-description 'DWS shortcut 真实测试字段说明' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-field-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--field-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--required",
|
||
"--field-description",
|
||
"DWS shortcut 真实测试字段说明",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form field config for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998660847932e08e2\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1153,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-share-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +form-share-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --enabled true --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-share-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--enabled",
|
||
"true",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update share form for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998675755538e087d\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1573,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+form-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +form-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --title 'DWS shortcut 真实测试 20260715-151724' --description 'DWS shortcut 真实测试描述,可删除' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+form-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--description",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update form info for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998688302645e0853\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1141,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+import-data",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +import-data --import-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --timeout 1 --header-row 1 --src-sheet-name x --field-mapping '{}' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+import-data",
|
||
"--import-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--timeout",
|
||
"1",
|
||
"--header-row",
|
||
"1",
|
||
"--src-sheet-name",
|
||
"x",
|
||
"--field-mapping",
|
||
"{}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_IMPORT_ID\\\",\\\"message\\\":\\\"importId not found: either invalid or expired\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"importId「DWSREALTESTNOSUCHID0000000000000」无效或已过期(有效期 1 小时)。请勿重试相同 importId。需重新上传:① 调用 prepare_import_upload 获取新的 uploadUrl 和 importId;② 通过 HTTP PUT 将原始文件字节流上传至 uploadUrl;除非 uploadUrl 明确要求,否则不要额外附带 Content-Type 等自定义请求头;③ 调用 import_data 传入新的 importId。\\\",\\\"trace_id\\\":\\\"213ee25c17840998700326443e0944\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1227,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+import-upload",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +import-upload --base-id DWSREALTESTNOSUCHID0000000000000 --file-name dws-shortcut-real-20260715-151724.txt --file-size 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+import-upload",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--file-name",
|
||
"dws-shortcut-real-20260715-151724.txt",
|
||
"--file-size",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"无法解析 baseId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"无效的 baseId\\\",\\\"trace_id\\\":\\\"0bab027317840998713075490e096e\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1302,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +record-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --record-ids DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--record-ids",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete records\\\",\\\"trace_id\\\":\\\"2132f5ca17840998724753149e0853\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1159,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-primary-doc-create",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +record-primary-doc-create --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --field-id DWSREALTESTNOSUCHID0000000000000 --record-id 999999999999 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-primary-doc-create",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--field-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--record-id",
|
||
"999999999999",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"RESOLVE_DOC_ID_ERROR\\\",\\\"message\\\":\\\"Failed to resolve docId from baseId\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create cell doc because baseId cannot be resolved to docId\\\",\\\"trace_id\\\":\\\"213ee25c17840998736256985e0944\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1150,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +record-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --records '[{\"recordId\":\"recDWSREALTEST\",\"cells\":{}}]' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--records",
|
||
"[{\"recordId\":\"recDWSREALTEST\",\"cells\":{}}]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_RECORDS\\\",\\\"message\\\":\\\"records must contain at least one writable record\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update records because no valid writable records remain for table DWSREALTESTNOSUCHID0000000000000. Skipped records with empty cells (1): recDWSREALTEST\\\",\\\"trace_id\\\":\\\"0bab027317840998747383236e090b\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1144,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+record-upsert",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +record-upsert --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --records '[]' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+record-upsert",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--records",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMETER\\\",\\\"message\\\":\\\"records is required and must not be empty\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"records is required and must not be empty\\\",\\\"trace_id\\\":\\\"2106d98117840998759832182e087b\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1173,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+role-create",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +role-create --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --role-type x --flow-type x --sub-roles '[]' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+role-create",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--role-type",
|
||
"x",
|
||
"--flow-type",
|
||
"x",
|
||
"--sub-roles",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create role for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"0bab027317840998770933580e090b\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1130,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+role-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +role-delete --base-id DWSREALTESTNOSUCHID0000000000000 --role-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+role-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--role-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"roleId is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete role because roleId is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998782482701e089c\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1150,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+role-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +role-update --base-id DWSREALTESTNOSUCHID0000000000000 --role-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --role-type x --flow-type x --sub-roles '[]' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+role-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--role-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--role-type",
|
||
"x",
|
||
"--flow-type",
|
||
"x",
|
||
"--sub-roles",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"roleId is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to patch role because roleId is missing\\\",\\\"trace_id\\\":\\\"2132f5ca17840998794483634e08d8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1209,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-create",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +section-create --base-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --parent-section-id DWSREALTESTNOSUCHID0000000000000 --index 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-create",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--parent-section-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--index",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to create section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998805556786e08d9\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1117,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +section-delete --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--section-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998817023336e087a\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1111,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-move-node",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +section-move-node --base-id DWSREALTESTNOSUCHID0000000000000 --node-id DWSREALTESTNOSUCHID0000000000000 --new-parent-section-id DWSREALTESTNOSUCHID0000000000000 --target-index 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-move-node",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--node-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--new-parent-section-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--target-index",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to move node for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998828667800e0920\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1186,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-rename",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +section-rename --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --new-name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-rename",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--section-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--new-name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to rename section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998840692547e08e2\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1259,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+section-reorder",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +section-reorder --base-id DWSREALTESTNOSUCHID0000000000000 --section-id DWSREALTESTNOSUCHID0000000000000 --target-index 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+section-reorder",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--section-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--target-index",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to reorder section for base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998853157434e08d9\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1193,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+table-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +table-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --reason 'DWS shortcut 真实测试安全负向清理' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+table-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--reason",
|
||
"DWS shortcut 真实测试安全负向清理",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Specified base does not exist, has been deleted, or is inaccessible\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete table because base does not exist or is inaccessible\\\",\\\"trace_id\\\":\\\"2132f5ca17840998865048372e0852\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1199,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+table-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +table-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --description 'DWS shortcut 真实测试描述,可删除' --record-name-key task --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+table-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--description",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--record-name-key",
|
||
"task",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"404\\\",\\\"message\\\":\\\"getDentryDTO returns null\\\",\\\"retryable\\\":true,\\\"type\\\":\\\"SYSTEM_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update table DWSREALTESTNOSUCHID0000000000000 in base DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998877246229e087f\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1249,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-delete",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-delete --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-delete",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to delete view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998889051250e08df\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1236,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-duplicate",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-duplicate --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --new-name 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-duplicate",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--new-name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to duplicate view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2132f5ca17840998901765467e0853\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1160,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-lock",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-lock --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --off --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-lock",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to lock_or_unlock view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998913717245e0941\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1215,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-set-fill-color-rule",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-set-fill-color-rule --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --json '{}' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-set-fill-color-rule",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--json",
|
||
"{}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_PARAMS\\\",\\\"message\\\":\\\"conditionalFormats is required\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set fill color rule because conditionalFormats is missing\\\",\\\"trace_id\\\":\\\"2106d98117840998924181709e08df\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1046,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "后端/MCP 服务返回内部错误;CLI 无法直接修复,但报告保留 trace/stdout 供服务端排查。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-set-frozen-cols",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-set-frozen-cols --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --count 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-set-frozen-cols",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--count",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set frozen columns for view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998935988648e08de\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1149,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-set-row-height",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-set-row-height --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --cell-height 1 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-set-row-height",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--cell-height",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to set cell height for view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"2106d98117840998949428245e08b8\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1345,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+view-update",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +view-update --base-id DWSREALTESTNOSUCHID0000000000000 --table-id DWSREALTESTNOSUCHID0000000000000 --view-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --desc '{}' --config '{}' --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+view-update",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--table-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--view-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--desc",
|
||
"{}",
|
||
"--config",
|
||
"{}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"INVALID_BASE_ID\\\",\\\"message\\\":\\\"baseId cannot be resolved to docId\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to update view DWSREALTESTNOSUCHID0000000000000\\\",\\\"trace_id\\\":\\\"213ee25c17840998961487395e087f\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1331,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+workflow-disable",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +workflow-disable --base-id DWSREALTESTNOSUCHID0000000000000 --workflow-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+workflow-disable",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--workflow-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Cannot resolve base 'DWSREALTESTNOSUCHID0000000000000', please check if the baseId is valid\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to disable workflow because base 'DWSREALTESTNOSUCHID0000000000000' could not be found\\\",\\\"trace_id\\\":\\\"213ee25c17840998975738372e087e\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1320,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "aitable",
|
||
"command": "+workflow-enable",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test aitable +workflow-enable --base-id DWSREALTESTNOSUCHID0000000000000 --workflow-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"aitable",
|
||
"+workflow-enable",
|
||
"--base-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--workflow-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"internal\",\n \"code\": 1,\n \"message\": \"[MCP_TOOL_ERROR] {\\\"data\\\":{},\\\"error\\\":{\\\"code\\\":\\\"BASE_NOT_FOUND\\\",\\\"message\\\":\\\"Cannot resolve base 'DWSREALTESTNOSUCHID0000000000000', please check if the baseId is valid\\\",\\\"retryable\\\":false,\\\"type\\\":\\\"INPUT_ERROR\\\"},\\\"meta\\\":{},\\\"status\\\":\\\"error\\\",\\\"success\\\":true,\\\"summary\\\":\\\"Failed to enable workflow because base 'DWSREALTESTNOSUCHID0000000000000' could not be found\\\",\\\"trace_id\\\":\\\"0bab027317840998987508899e094d\\\"}\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1171,
|
||
"failure_category": "missing-real-aitable-fixture",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "AI 表格命令需要真实 Base/Table/View/Record 等资源;安全负向 ID 只能验证调用链,不能让后端成功。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+boss-check",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +boss-check --plan-id 999999999999 --result-id 999999999999 --time 2026-07-22T10:00:00+08:00 --result Normal --absent-min 1 --remark 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+boss-check",
|
||
"--plan-id",
|
||
"999999999999",
|
||
"--result-id",
|
||
"999999999999",
|
||
"--time",
|
||
"2026-07-22T10:00:00+08:00",
|
||
"--result",
|
||
"Normal",
|
||
"--absent-min",
|
||
"1",
|
||
"--remark",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/boss_check)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"C0002\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"213ee25c17840998998942184e087d\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1136,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+create-class",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +create-class --name 'DWS shortcut 真实测试 20260715-151724' --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+create-class",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--owner",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--class-vo",
|
||
"{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/create_class_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0bab027317840999009926838e090b\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1148,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+create-group",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +create-group --name 'DWS shortcut 真实测试 20260715-151724' --type FIXED --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --group-vo '{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+create-group",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--type",
|
||
"FIXED",
|
||
"--owner",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--group-vo",
|
||
"{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/create_group_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2106d98117840999021121258e08b8\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1201,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+import-schedule",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +import-schedule --group-id 999999999999 --schedules '[{\"userId\":\"202397\",\"workDate\":\"2026-07-16 09:00:00\",\"classId\":999999999999,\"isRest\":\"N\"}]' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+import-schedule",
|
||
"--group-id",
|
||
"999999999999",
|
||
"--schedules",
|
||
"[{\"userId\":\"202397\",\"workDate\":\"2026-07-16 09:00:00\",\"classId\":999999999999,\"isRest\":\"N\"}]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/generateTurnSchedule)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0003\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2104a64c17840999034845189e085e\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1271,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+save-leave-balance",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +save-leave-balance --target __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --leave-code DWSREALTESTNOSUCHID0000000000000 --num 1 --reason 'DWS shortcut 真实测试安全负向清理' --start 2026-07-16 --end 2026-08-14 --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+save-leave-balance",
|
||
"--target",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--leave-code",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--num",
|
||
"1",
|
||
"--reason",
|
||
"DWS shortcut 真实测试安全负向清理",
|
||
"--start",
|
||
"2026-07-16",
|
||
"--end",
|
||
"2026-08-14",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 无权更新指定员工的假期余额 (operation: attendance-wukong/update_leave_balance)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PERMISSION_DENIED\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2127d89817840999045751134e079c\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1081,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+update-class",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +update-class --class-id 999999999999 --name 'DWS shortcut 真实测试 20260715-151724' --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --class-vo '{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+update-class",
|
||
"--class-id",
|
||
"999999999999",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--owner",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--class-vo",
|
||
"{\"sections\":[{\"times\":[{\"checkType\":\"OnDuty\",\"checkTime\":\"09:00\",\"across\":0},{\"checkType\":\"OffDuty\",\"checkTime\":\"18:00\",\"across\":0}]}]}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_class_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0b5deb3217840999058236471e08b5\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1248,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+update-group",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +update-group --group-id 999999999999 --name 'DWS shortcut 真实测试 20260715-151724' --type FIXED --owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --enable-outside-check true --class-ids '[999999999999]' --group-vo '{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+update-group",
|
||
"--group-id",
|
||
"999999999999",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--type",
|
||
"FIXED",
|
||
"--owner",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--enable-outside-check",
|
||
"true",
|
||
"--class-ids",
|
||
"[999999999999]",
|
||
"--group-vo",
|
||
"{\"defaultClassId\":999999999999,\"workDayClassList\":[999999999999,999999999999,999999999999,999999999999,999999999999,0,0]}",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_group_setting)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0001\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0b5deb3217840999068826691e087a\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1175,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+update-group-members",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +update-group-members --group-id 999999999999 --add-users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --remove-users '' --add-extra-users '' --remove-extra-users '' --add-depts '' --remove-depts '' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+update-group-members",
|
||
"--group-id",
|
||
"999999999999",
|
||
"--add-users",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--remove-users",
|
||
"",
|
||
"--add-extra-users",
|
||
"",
|
||
"--remove-extra-users",
|
||
"",
|
||
"--add-depts",
|
||
"",
|
||
"--remove-depts",
|
||
"",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: attendance-wukong/update_group_member)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"S0002\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"2127d89817840999081094644e07dd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1170,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "attendance",
|
||
"command": "+update-leave-type",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test attendance +update-leave-type --leave-code DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --unit day --paid --per-hours 1 --when-can-leave entry --visibility-rules '[{\"type\":\"dept\",\"visible\":[\"-1\"]}]' --yes --format json",
|
||
"args": [
|
||
"attendance",
|
||
"+update-leave-type",
|
||
"--leave-code",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--unit",
|
||
"day",
|
||
"--paid",
|
||
"--per-hours",
|
||
"1",
|
||
"--when-can-leave",
|
||
"entry",
|
||
"--visibility-rules",
|
||
"[{\"type\":\"dept\",\"visible\":[\"-1\"]}]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: attendance-wukong/save_leave_type)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"INVALID_PARAMS\",\n \"server_key\": \"attendance-wukong\",\n \"trace_id\": \"0bb7c36217840999093924897e07fe\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1208,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "calendar",
|
||
"command": "+respond-event",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test calendar +respond-event --event x --response accept --yes --format json",
|
||
"args": [
|
||
"calendar",
|
||
"+respond-event",
|
||
"--event",
|
||
"x",
|
||
"--response",
|
||
"accept",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] code: 300000, developerMessage: Event does not exist. (operation: calendar/respond)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"300000\",\n \"server_key\": \"calendar\",\n \"trace_id\": \"0bb7c36217840999105062121e07db\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1217,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-add-conversation",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +category-add-conversation --group cidDWSREALTESTNOSUCHCONV --category-ids 999999999999 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-add-conversation",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--category-ids",
|
||
"999999999999",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: im/add_conv_to_categories)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999117776203e08f9\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1213,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+category-remove-conversation",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +category-remove-conversation --group cidDWSREALTESTNOSUCHCONV --category-ids 999999999999 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+category-remove-conversation",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--category-ids",
|
||
"999999999999",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: im/remove_conv_from_categories)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999130466520e085e\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1309,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-add-bot",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-add-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-add-bot",
|
||
"--robot-code",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
|
||
"--id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: bot/add_robot_to_group)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"500025\",\n \"server_key\": \"bot\",\n \"trace_id\": \"2104a64c17840999144193460e08c7\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1273,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-audit-join",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-audit-join --group cidDWSREALTESTNOSUCHCONV --record-id 999999999999 --applicant 103262 --inviter 519019 --status AuditApprove --description 'DWS shortcut 真实测试描述,可删除' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-audit-join",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--record-id",
|
||
"999999999999",
|
||
"--applicant",
|
||
"103262",
|
||
"--inviter",
|
||
"519019",
|
||
"--status",
|
||
"AuditApprove",
|
||
"--description",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] applicantUid is required (operation: im/audit_join_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999154832733e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1073,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "dry-run 已证明 CLI 装配了 applicantUid/inviterUid;真实后端仍报 applicantUid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-mute-member",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-mute-member --group cidDWSREALTESTNOSUCHCONV --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --mute-time 1 --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-mute-member",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--users",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--mute-time",
|
||
"1",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_group_member_mute_list)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999166036583e08a3\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1139,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-quit",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-quit --group cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-quit",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/quit_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999176728426e0779\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1162,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-remove-bot",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-remove-bot --id DWSREALTESTNOSUCHID0000000000000 --bot-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-remove-bot",
|
||
"--id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--bot-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 无效的会话 (operation: bot/remove_robot_in_group)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"500009\",\n \"server_key\": \"bot\",\n \"trace_id\": \"0b5deb3217840999189888305e08b5\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1220,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-remove",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-remove --group cidDWSREALTESTNOSUCHCONV --role-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-remove",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--role-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/remove_custom_group_role)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999200483204e079c\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1054,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-role-remove-user",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-role-remove-user --group cidDWSREALTESTNOSUCHCONV --user __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --role-ids DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-role-remove-user",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--user",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--role-ids",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/remove_custom_user_roles)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999211317952e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1104,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-transfer-owner",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-transfer-owner --group cidDWSREALTESTNOSUCHCONV --new-owner __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-transfer-owner",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--new-owner",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/transfer_group_owner)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999222318863e087a\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1054,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-update-icon",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-update-icon --group cidDWSREALTESTNOSUCHCONV --icon-media-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-update-icon",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--icon-media-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] listBaseConversationByIds error (operation: im/update_group_icon)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999232478654e0819\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1023,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+chat-update-settings",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +chat-update-settings --group cidDWSREALTESTNOSUCHCONV --setting-key x --status 1 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+chat-update-settings",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--setting-key",
|
||
"x",
|
||
"--status",
|
||
"1",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] unsupported setting key: x (operation: im/update_group_settings)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999244326971e07dd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1184,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-clear-messages",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-clear-messages --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-clear-messages",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/clear_conversation_messages)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999254816721e079b\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1065,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-clear-red-point",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-clear-red-point --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-clear-red-point",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/clear_conversation_red_point)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999265511295e085f\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1044,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-hide",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-hide --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-hide",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/hide_conversation)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999276117140e079b\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1064,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-mark-read",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-mark-read --conversation-id cidDWSREALTESTNOSUCHCONV --message-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-mark-read",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--message-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId无效,无法解析为cid (operation: im/mark_message_read)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999287654280e07bd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1162,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-mark-unread",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-mark-unread --conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-mark-unread",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/mark_conversation_unread)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999298744910e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1090,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-mute",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-mute --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-mute",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999309241865e085f\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1052,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-mute-at-all",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-mute-at-all --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-mute-at-all",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_at_all_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999320028068e07dd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1110,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-mute-red-envelope",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-mute-red-envelope --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-mute-red-envelope",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId is required (operation: im/update_red_env_notification_off)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999330228283e07fe\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1001,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+conversation-set-top",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +conversation-set-top --conversation-id cidDWSREALTESTNOSUCHCONV --off --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+conversation-set-top",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--off",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_top_conversation)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999341302961e07fe\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1102,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-add-emoji",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-add-emoji --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emoji '👍' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-add-emoji",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emoji",
|
||
"👍",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/add_emoji_reaction)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999352941910e0756\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1170,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-add-text-emotion",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-add-text-emotion --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emotion-id DWSREALTESTNOSUCHID0000000000000 --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-add-text-emotion",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emotion-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emotion-name",
|
||
"DWS测试表情",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--background-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/add_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999362862711e08b5\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 992,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-batch-recall-by-bot",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-batch-recall-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --keys DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-batch-recall-by-bot",
|
||
"--robot-code",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
|
||
"--keys",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/batch_recall_robot_users_msg)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"retryable\": true,\n \"server_error_code\": \"ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400014,\\\"errorMsg\\\":\\\"错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确;\\\"} \",\n \"trace_id\": \"2104a64c17840999373456305e0817\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1085,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-batch-send-by-bot",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-batch-send-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --title 'DWS shortcut 真实测试 20260715-151724' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --open-dingtalk-ids '' --at-all --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-batch-send-by-bot",
|
||
"--robot-code",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--users",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--open-dingtalk-ids",
|
||
"",
|
||
"--at-all",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/batch_send_robot_msg_to_users)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"retryable\": true,\n \"server_error_code\": \"ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。root.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400106,\\\"errorMsg\\\":\\\"错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确;\\\"} \",\n \"trace_id\": \"0bb7c36217840999385748776e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1211,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-combine-forward",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-combine-forward --src-conversation-id cidDWSREALTESTNOSUCHCONV --msg-ids DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-combine-forward",
|
||
"--src-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-ids",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dest-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--uuid",
|
||
"dws-shortcut-real-negative-20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] srcOpenCid无效,无法解析为cid (operation: im/combine_forward_messages)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999396596163e08ee\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1075,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-create-text-emotion",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-create-text-emotion --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-create-text-emotion",
|
||
"--emotion-name",
|
||
"DWS测试表情",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--background-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 暂不支持保存该文字表情 (operation: im/create_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"400519\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999407422891e08cd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1054,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-forward",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-forward --src-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-forward",
|
||
"--src-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dest-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--uuid",
|
||
"dws-shortcut-real-negative-20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/forward_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999417966407e08ee\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1090,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-forward-topic",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-forward-topic --src-msg-id DWSREALTESTNOSUCHID0000000000000 --src-conversation-id cidDWSREALTESTNOSUCHCONV --src-thread-id DWSREALTESTNOSUCHID0000000000000 --dest-conversation-id cidDWSREALTESTNOSUCHCONV --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-forward-topic",
|
||
"--src-msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--src-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--src-thread-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--dest-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/forward_topic)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2127d89817840999428541474e07dd\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1043,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-recall",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-recall --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-recall",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId无效,无法解析为cid (operation: im/recall_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999441138103e08c7\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1247,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-recall-by-bot",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-recall-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --group cidDWSREALTESTNOSUCHCONV --keys DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-recall-by-bot",
|
||
"--robot-code",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--keys",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/recall_robot_group_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"dingOpenErrcode\\\":400012,\\\"errorMsg\\\":\\\"错误描述:无效的openConversationId此参数的示例值如\\\\\\\"cidl1B8RVUFmkXXXXXX\\\\\\\";解决方案:请检查拼写是否正确;参考链接:请参考本接口对应文档查看参数的获取方式,或者在https://open.dingtalk.com/ 查询如何获取对应的参数\\\"} \",\n \"trace_id\": \"2104a64c17840999454382709e08a3\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1317,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-remove-emoji",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-remove-emoji --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emoji '👍' --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-remove-emoji",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emoji",
|
||
"👍",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/remove_emoji_reaction)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999467733059e08f9\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1347,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-remove-text-emotion",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-remove-text-emotion --conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --emotion-id DWSREALTESTNOSUCHID0000000000000 --emotion-name 'DWS测试表情' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --background-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-remove-text-emotion",
|
||
"--conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emotion-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--emotion-name",
|
||
"DWS测试表情",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--background-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] invalid openMsgId: DWSREALTESTNOSUCHID0000000000000 (operation: im/remove_text_emotion)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999478923406e087f\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1210,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-send-by-bot",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-send-by-bot --robot-code __DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__ --group cidDWSREALTESTNOSUCHCONV --title 'DWS shortcut 真实测试 20260715-151724' --text 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --at-user-ids __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --at-open-dingtalk-ids '' --at-all --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-send-by-bot",
|
||
"--robot-code",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_ROBOT__",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--text",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--at-user-ids",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--at-open-dingtalk-ids",
|
||
"",
|
||
"--at-all",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: bot/send_robot_group_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"bot\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。DingOpenResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"400004\\\",\\\"errorMsg\\\":\\\"robotCode对应的机器人模板不存在\\\"} \",\n \"trace_id\": \"0b5deb3217840999494005921e08ef\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1436,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-send-card",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-send-card --receiver 103262 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-send-card",
|
||
"--receiver",
|
||
"103262",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] receiverUid和openConversationId不能同时为空 (operation: im/create_and_send_card)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999509255753e081a\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1502,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "dry-run 已证明 CLI 装配了 receiverUid;真实后端仍报 receiverUid/openConversationId 为空,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-set-pin",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-set-pin --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-set-pin",
|
||
"--open-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/set_pin_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"0bb7c36217840999521117991e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1217,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-set-top",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-set-top --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-set-top",
|
||
"--open-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/set_top_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999532438476e0817\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1121,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-unset-pin",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-unset-pin --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-unset-pin",
|
||
"--open-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openConversationId or cid is required (operation: im/unset_pin_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"1001\",\n \"server_key\": \"im\",\n \"trace_id\": \"2104a64c17840999544428103e08ee\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1185,
|
||
"failure_category": "backend-or-mcp-error",
|
||
"fixability": "not-cli-fixable-first",
|
||
"diagnosis": "fake MCP 已证明 CLI 已装配会话 ID 字段;真实后端仍报 openConversationId/openCid/cid 缺失,优先按 MCP schema/服务端字段映射问题处理。"
|
||
},
|
||
{
|
||
"service": "chat",
|
||
"command": "+messages-unset-top",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test chat +messages-unset-top --open-conversation-id cidDWSREALTESTNOSUCHCONV --msg-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"chat",
|
||
"+messages-unset-top",
|
||
"--open-conversation-id",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--msg-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] openMessageId解密失败 (operation: im/unset_top_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999554154221e08f9\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 963,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+event-subscribe",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +event-subscribe --unified-app-id DWSREALTESTNOSUCHID0000000000000 --event-codes '[]' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+event-subscribe",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--event-codes",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有应用事件订阅权限 (operation: devapp/subscribe_dev_app_events)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999564022020e08c7\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1034,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+event-unsubscribe",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +event-unsubscribe --unified-app-id DWSREALTESTNOSUCHID0000000000000 --event-codes '[]' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+event-unsubscribe",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--event-codes",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/unsubscribe_dev_app_events)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用事件订阅权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999575698500e07db\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1134,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+permission-add",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +permission-add --unified-app-id DWSREALTESTNOSUCHID0000000000000 --scope-values '[]' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+permission-add",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--scope-values",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/apply_dev_app_permissions)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2127d89817840999587758457e079c\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1186,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+permission-remove",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +permission-remove --unified-app-id DWSREALTESTNOSUCHID0000000000000 --scope-values '[]' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+permission-remove",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--scope-values",
|
||
"[]",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/remove_dev_app_permissions)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999598445247e085e\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1061,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+robot-config",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +robot-config --unified-app-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --brief x --desc 'DWS shortcut 真实测试描述,可删除' --icon-media-id DWSREALTESTNOSUCHID0000000000000 --outgoing-url https://example.invalid/dws-shortcut-real-test --event-callback-url https://example.invalid/dws-shortcut-real-test --mode HTTPS --skills '[]' --add-scope --disable-ssl-verify --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+robot-config",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--brief",
|
||
"x",
|
||
"--desc",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--icon-media-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--outgoing-url",
|
||
"https://example.invalid/dws-shortcut-real-test",
|
||
"--event-callback-url",
|
||
"https://example.invalid/dws-shortcut-real-test",
|
||
"--mode",
|
||
"HTTPS",
|
||
"--skills",
|
||
"[]",
|
||
"--add-scope",
|
||
"--disable-ssl-verify",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/set_extension_robot_config)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999609828961e07db\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1167,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+robot-disable",
|
||
"risk": "high-risk-write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +robot-disable --unified-app-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+robot-disable",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/disable_dev_app_robot)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"2104a64c17840999620461113e08ee\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1062,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+robot-enable",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +robot-enable --unified-app-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+robot-enable",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/enable_dev_app_robot)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"AUTH_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"503\\\",\\\"errorMsg\\\":\\\"当前用户没有应用机器人配置权限\\\"} \",\n \"trace_id\": \"0bb7c36217840999632641525e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1306,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+security-config",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +security-config --unified-app-id DWSREALTESTNOSUCHID0000000000000 --ip-whitelist 127.0.0.1 --redirect-urls https://example.invalid/dws-shortcut-real-test --sso-urls https://example.invalid/dws-shortcut-real-test --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+security-config",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--ip-whitelist",
|
||
"127.0.0.1",
|
||
"--redirect-urls",
|
||
"https://example.invalid/dws-shortcut-real-test",
|
||
"--sso-urls",
|
||
"https://example.invalid/dws-shortcut-real-test",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] 当前用户没有开发者身份 (operation: devapp/update_dev_app_security_config)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"503\",\n \"server_key\": \"devapp\",\n \"trace_id\": \"2104a64c17840999645522046e0817\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1205,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-create",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +version-create --unified-app-id DWSREALTESTNOSUCHID0000000000000 --version 0.0.1-dws-real-test --desc 'DWS shortcut 真实测试描述,可删除' --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-create",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--version",
|
||
"0.0.1-dws-real-test",
|
||
"--desc",
|
||
"DWS shortcut 真实测试描述,可删除",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/create_dev_app_version)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"450001\\\"} \",\n \"trace_id\": \"0b5deb3217840999656705920e0853\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1157,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "devapp",
|
||
"command": "+version-publish",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test devapp +version-publish --unified-app-id DWSREALTESTNOSUCHID0000000000000 --version-id DWSREALTESTNOSUCHID0000000000000 --confirmed-sensitive --approver-user-id __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --yes --format json",
|
||
"args": [
|
||
"devapp",
|
||
"+version-publish",
|
||
"--unified-app-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--version-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--confirmed-sensitive",
|
||
"--approver-user-id",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] business error: success=false (operation: devapp/publish_dev_app_version)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"BUSINESS_ERROR\",\n \"server_key\": \"devapp\",\n \"technical_detail\": \"iPaaS 调用失败: 调用远程服务业务异常, 出参校验不通过。ServiceResult.success当前值:false, 预期值:true,所有值:{\\\"success\\\":false,\\\"errorCode\\\":\\\"450001\\\"} \",\n \"trace_id\": \"2127d89817840999667906017e075d\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1071,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "ding",
|
||
"command": "+send-by-message",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test ding +send-by-message --group cidDWSREALTESTNOSUCHCONV --message-id DWSREALTESTNOSUCHID0000000000000 --users __DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__ --type FIXED --uuid dws-shortcut-real-negative-20260715-151724 --yes --format json",
|
||
"args": [
|
||
"ding",
|
||
"+send-by-message",
|
||
"--group",
|
||
"cidDWSREALTESTNOSUCHCONV",
|
||
"--message-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--users",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_USER__",
|
||
"--type",
|
||
"FIXED",
|
||
"--uuid",
|
||
"dws-shortcut-real-negative-20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] remindType非法,合法值:APP/SMS/PHONE (operation: im/send_ding_by_message)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"PARAM_ERROR\",\n \"server_key\": \"im\",\n \"trace_id\": \"0b5deb3217840999678466213e0853\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1058,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+comment-create-inline",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test doc +comment-create-inline --node DWSREALTESTNOSUCHID0000000000000 --content 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --block-id DWSREALTESTNOSUCHID0000000000000 --start 0 --end 1 --selected-text 'DWS测试' --mention x --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+comment-create-inline",
|
||
"--node",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--content",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--block-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--start",
|
||
"0",
|
||
"--end",
|
||
"1",
|
||
"--selected-text",
|
||
"DWS测试",
|
||
"--mention",
|
||
"x",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc-comment/create_inline_comment)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc-comment\",\n \"trace_id\": \"2127d89817840999689931893e079c\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1183,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "doc",
|
||
"command": "+template-apply",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test doc +template-apply --template-id DWSREALTESTNOSUCHID0000000000000 --name 'DWS shortcut 真实测试 20260715-151724' --folder DWSREALTESTNOSUCHID0000000000000 --workspace DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"doc",
|
||
"+template-apply",
|
||
"--template-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--name",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--folder",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--workspace",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[RESOURCE_NOT_FOUND] Requested resource not found (operation: doc/apply_doc_template)\\n hint: Check if the resource exists or if your account has permission\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"2127d89817840999701186954e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1093,
|
||
"failure_category": "auth-or-permission",
|
||
"fixability": "not-cli-fixable",
|
||
"diagnosis": "真实账号、应用 scope 或资源权限不足;CLI 只能如实暴露,不能在本仓库内修复权限。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+record-pause",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +record-pause --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+record-pause",
|
||
"--id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--session-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"0bb7c36217840999713124987e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1233,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+record-resume",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +record-resume --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+record-resume",
|
||
"--id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--session-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"0bb7c36217840999724452848e0758\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1074,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "minutes",
|
||
"command": "+record-stop",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test minutes +record-stop --id DWSREALTESTNOSUCHID0000000000000 --session-id DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"minutes",
|
||
"+record-stop",
|
||
"--id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--session-id",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[UNCLASSIFIED] aiAgentTestRunCmdUnknownError (operation: minutes/执行听记指令-发起AI听记录音)\\n hint: Use --verbose for detailed error logs\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"aiAgentTestRunCmdUnknownError\",\n \"server_key\": \"minutes\",\n \"trace_id\": \"2127d89817840999735397508e0757\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1130,
|
||
"failure_category": "input-or-business-validation",
|
||
"fixability": "test-input-or-backend-rule",
|
||
"diagnosis": "命令已真实进入本地/后端校验;若该项仍使用安全负向输入,则失败符合预期;若使用真实 fixture 仍失败,再作为 CLI bug 处理。"
|
||
},
|
||
{
|
||
"service": "oa",
|
||
"command": "+approve-by",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test oa +approve-by --keyword __DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__ --comment 'DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。' --yes --format json",
|
||
"args": [
|
||
"oa",
|
||
"+approve-by",
|
||
"--keyword",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__",
|
||
"--comment",
|
||
"DWS shortcut 真实测试 20260715-151724,安全负向输入,请忽略。",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没找到待审批单据:待我处理的审批里没有标题/单号包含 \\\"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_APPROVAL_20260715-151724__\\\" 的单据。\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1318,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+node-copy",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +node-copy --workspace DWSREALTESTNOSUCHID0000000000000 --node DWSREALTESTNOSUCHID0000000000000 --folder DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+node-copy",
|
||
"--workspace",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--node",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--folder",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc/copy_document)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"0bb7c36217840999769818495e0779\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1000,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+node-move",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +node-move --workspace DWSREALTESTNOSUCHID0000000000000 --node DWSREALTESTNOSUCHID0000000000000 --folder DWSREALTESTNOSUCHID0000000000000 --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+node-move",
|
||
"--workspace",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--node",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--folder",
|
||
"DWSREALTESTNOSUCHID0000000000000",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"api\",\n \"code\": 1,\n \"hint\": \"The API returned a business-level error. Check required parameters and values.\",\n \"message\": \"[TABLE_NOT_FOUND] Requested resource not found (operation: doc/move_document)\\n hint: Document may have been deleted or moved\",\n \"operation\": \"tools/call\",\n \"reason\": \"business_error\",\n \"server_error_code\": \"invalidRequest.inputArgs.invalid\",\n \"server_key\": \"doc\",\n \"trace_id\": \"0bb7c36217840999780286509e07fe\"\n }\n}",
|
||
"exit_code": 1,
|
||
"duration_ms": 1053,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "wiki",
|
||
"command": "+wiki-new-doc",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-error",
|
||
"input": "/private/tmp/dws-real-test wiki +wiki-new-doc --space __DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__ --title 'DWS shortcut 真实测试 20260715-151724' --yes --format json",
|
||
"args": [
|
||
"wiki",
|
||
"+wiki-new-doc",
|
||
"--space",
|
||
"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__",
|
||
"--title",
|
||
"DWS shortcut 真实测试 20260715-151724",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "",
|
||
"stderr": "{\n \"error\": {\n \"category\": \"validation\",\n \"code\": 3,\n \"message\": \"没找到名为 \\\"__DWS_SHORTCUT_REAL_TEST_NO_SUCH_SPACE__\\\" 的知识库;换个更完整/精确的空间名再试。\"\n }\n}",
|
||
"exit_code": 3,
|
||
"duration_ms": 1152,
|
||
"failure_category": "missing-real-resource",
|
||
"fixability": "not-cli-fixable-without-fixture",
|
||
"diagnosis": "真实测试使用的资源/单据/消息/群/文档不存在;需要准备对应 fixture 后才能期望成功,不属于 shortcut 参数投影错误。"
|
||
},
|
||
{
|
||
"service": "todo",
|
||
"command": "+todo-done",
|
||
"risk": "write",
|
||
"method": "real-backend-safe-negative-write; no --mock; no --dry-run",
|
||
"status": "real-ok",
|
||
"input": "/private/tmp/dws-real-test todo +todo-done --task 'DWS shortcut 真实测试待办 20260715-160449' --yes --format json",
|
||
"args": [
|
||
"todo",
|
||
"+todo-done",
|
||
"--task",
|
||
"DWS shortcut 真实测试待办 20260715-160449",
|
||
"--yes",
|
||
"--format",
|
||
"json"
|
||
],
|
||
"stdout": "{\n \"result\": {\n \"success\": true\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 1771,
|
||
"setup": {
|
||
"purpose": "为 todo +todo-done 创建当前账号自己的临时待办 fixture",
|
||
"input": "/private/tmp/dws-real-test todo +remind --task 'DWS shortcut 真实测试待办 20260715-160449' --at 2026-07-22T10:15:00+08:00 --yes --format json",
|
||
"stdout": "{\n \"arguments\": [],\n \"result\": {\n \"subject\": \"DWS shortcut 真实测试待办 20260715-160449\",\n \"taskId\": \"55055639461\"\n },\n \"success\": true\n}",
|
||
"stderr": "",
|
||
"exit_code": 0,
|
||
"duration_ms": 2611
|
||
}
|
||
}
|
||
]
|
||
} |