Repository navigation
v1.0.60-beta.2
Pre-releaseAdded
-
Drive permission get-setting (#1056) — adds
dws drive permission get-setting --node <ID>to inspect a document-space node's permission settings (permission mode, share scope, and permission policies) in one call. -
Whiteboard shortcuts (#1082) — adds strict query and confirmed update workflows with stable-target receipts and exact readback verification.
-
Sheet shortcut hardening (#1082) — makes worksheet listing and cell-range reads fail closed on malformed, ambiguous, or truncated responses, publishes a closed reviewed output shape, and preserves non-executing
--dry-runpreviews for range reads. -
Permission and member list pagination (#1085) —
drive/doc permission listandwiki member listnow accept--next-tokento follow the
server-side cursor (output carriestotalCount/hasMore/nextToken) and
map--limittopageSizecapped at 50 instead of the rejectedmaxResults 200path;permission add/update/removeandwiki member add/update/remove
additionally accept a--membersJSON array covering USER/DEPT/CONVERSATION/TAG
grantee types. The optional--notifydefaults tofalseand is omitted from
the server request unless passed explicitly, so member grants no longer notify
recipients by default. These commands also declare cursor pagination
(next-token) in the Agent schema contract, mirroring the internal CLI parity
change. Because a single batch remove can revoke access for up to 30
USER/DEPT/CONVERSATION/TAG members — where departments, chats, and role
groups can indirectly affect many more users —drive/doc permission removeandwiki member removenow declare
confirmation=user_requiredand gate the actual tool call behind user
confirmation (--yes, an interactive yes, or--dry-runpreview); their
confirmation-gate failure now also passes through verbatim instead of being
reclassified as a permission-denied or unclassified error. -
Agoal scorecard search-entities —
dws agoal scorecard search-entitiessearches scorecard metrics and key items by keyword, returning matching entity info (scorecard ID, entity ID, entity type, title, owning team) with optional--page/--page-sizepagination. -
AITable datasource shortcuts — adds 7 shortcuts for datasource sync management (
+datasource-create,+datasource-update,+datasource-sync,+datasource-sync-status,+datasource-get-config,+datasource-list-sources,+datasource-get-fields) and updates thedingtalk-aitableskill with routing rules and a newaitable-datasource.mdreference guide. -
Doc public-link and historical-version reads —
dws doc readforwards
the reviewedpassword(internet-public documents with password protection)
andhistoryVersion(read content as of a listed historical version;0
denotes the document's initial version) parameters on the markdown, JSONML,
and scope read paths via--password/--version;dws doc +fetchgains
--passwordand--versionwith the samehistoryVersionforwarding, while
--revisionstays rejected with explicit guidance: revision is the document
edit revision returned by JSONML reads for+update --expected-revision
conditional writes, not a historical version number. -
Edu & College vendor extensions — adds five hidden vendor extension commands for education scenarios:
dws edu-contact(school/class/family/teacher contact management),dws edu-group(student/class group lifecycle),dws edu-app(homework, notices, report cards, diplomas, class circles),dws edu-familygroup(family group management, child binding, app permissions), anddws college-contact(university dept/employee/alumni/graduate management). All route to dedicated MCP servers viacallMCPToolOnServer. -
OA approval attachment upload —
dws oa approval attachment upload --file <path>uploads a local file as an approval attachment in one command: it initializes the upload credential (MCPoa/init_attachment_upload_info), HTTP PUTs the file to OSS, then commits it (MCPoa/commit_attachment_upload_info).--file-namedefaults to the file's base name and--md5is auto-computed when omitted. -
Sheet revision changesets — adds read-only commands for querying the current workbook revision and reviewing Agent-readable changes between revisions, with guidance for distinguishing revisions from saved history versions and safely selecting rollback targets.
-
Sheet floating images — supports creating or replacing a floating image directly from a local file with
create-float-image --fileandupdate-float-image --file, while retaining the existing--srcworkflow.
Changed
-
AiSearch and Contact shortcuts (#1083) — adds strict people search and reviewed unified results; people results must use the live-reviewed
personsource, and exact mobile lookups normalize accepted formatting before calling the dedicated mobile interface. Agent/public discovery keepscontact +list-roles,contact +list-roster-fields,contact +get-roster, and incomplete Live routes unavailable rather than publishing ambiguous results, while the historical Contact CLI commands retain legacy MCP execution and real error propagation. The legacy role-list projection preserves the service's reviewed null placeholder without exposing that ambiguous row through Agent Result contracts. -
Permission error guidance and error rendering (#1085) —
permission-denied responses now exit with theAUTH_PERMISSION_DENIEDcode
instead of a generic business-error rendering; document/wiki-specific errors
(the drive-specific codesforbidden.accessDenied/forbidden.no.auth,
or the role-threshold wording like
“需要您具备 MANAGER 及以上角色”) carry apply-permission guidance
(dws drive permission apply-info/dws drive permission apply), while
permission failures carrying only generic code names (FORBIDDEN,
NO_PERMISSION— also returned by attendance and event-subscription tools)
or other products' wording keep their product-specific or
product-neutral suggestion instead of a misleading document-permission hint;
member-validation failures such as
“用户不存在/不属于当前组织” are classified as tool errors with a
--members-with-corpIdsuggestion instead of a misleading
resource-not-found error; business error output now surfaces the backend
message withcode/logIdappended for traceability; and the
update_permission/remove_permission/update_member/
remove_membertools — whose servers return a literalnullon successful
no-payload writes — now render{}so downstream JSON consumers do not fail
parsingnull; other tools keep rawnulloutput unchanged.
Fixed
- Legacy global slot recovery — recovers a rejected identity refresh from the legacy global keychain slot when the organization mirror is absent, with strict corp/user matching so blank-user legacy tokens only recover for single-account organizations.