Repository navigation
v1.0.16
Discovery service abstraction with schema v3 extensions, open-edition helper-subtree restoration, and a defensive device-flow login reset.
Added
internal/discoveryservice abstraction (#156) — encapsulates market registry fetch, MCP runtime negotiation (initialize → tools/list → detailmerge), and multi-level cache fallback.EnvironmentLoadernow does cache-first startup, with degraded-mode reasons (unauthenticated/market_unreachable/runtime_all_failed) andUpdatedAt-based selective re-discovery.- Schema v3 extensions (#156) — positional parameters with typed coercion,
Exampleon--help, flagDefault/RuntimeDefault(with$currentUserId/$nowetc.),BodyWrapper,MutuallyExclusive/RequireOneOfflag groups,OmitWhen, explicitTypeoverride, and detail-schemadefaultpropagation. dws chat message senddestination-flag routing (#170) — open edition gains a hardcoded helper that dispatches by--group(→send_message_as_user) vs--user/--open-dingtalk-id(→send_direct_message_as_user), mirroring the closed-source overlay so single-chat sends finally work end-to-end.
Changed
pickCommands→cmdutil.MergeHardcodedLeaves(#169) — when a top-level product name collides between the dynamic overlay and a helper subtree, helper-only siblings are grafted into the dynamic tree instead of dropped. Restoresdws chat message send-by-bot/recall-by-bot/send-by-webhookanddws chat group members add-bot, which had silently vanished from the open edition.OverridePriority/MergeHardcodedLeavespromoted intopkg/cmdutil(#170) — single source of truth for the merge layer; hardcoded leaves can opt into overriding the dynamic envelope via a strictly higher priority.
Fixed
- Device flow defensively resets credentials before login (#157) —
--devicelogin now clears stale credential state and re-fetchesclientIDfrom the MCP server, regardless of what previous login methods (OAuth scan, PAT) left inapp.json. Fixes the case where a prior OAuth login made--devicefall back to direct mode and demandclientSecret.
Changelog
- bbca507 feat(discovery): MCP discovery service abstraction with positional params, examples, defaults, and schema v3 extensions (#156)
- ad33a46 fix: device flow defensively resets credentials before login (#155) (#157)
- 0b544a8 fix(app): graft hardcoded helpers into dynamic tree instead of dropping (#169)
- b0c9160 fix(chat,cmdutil): route chat message send by destination flag (#170)