From 1ce8126edb09bfae31f9cd755db80eb847d185d6 Mon Sep 17 00:00:00 2001 From: xmanrui <841206367@qq.com> Date: Tue, 25 Aug 2026 22:42:41 +0800 Subject: [PATCH] feat(settings): move IM bot to top-level menu Remove the legacy Plugins-tab registrations, keep the channel-logo navigation, and harden upgrade/package verification. --- CHANGELOG.md | 5 + README.en.md | 6 +- README.md | 6 +- bin/dsh-im.mjs | 2 +- docs/images/imbot.png | Bin 339441 -> 456597 bytes lib/client.js | 1392 ++++++++--------- lib/index.js | 14 +- package.json | 2 +- plugin-src/client/channels/dingtalk/index.js | 17 - plugin-src/client/channels/dingtalk/styles.js | 4 +- plugin-src/client/channels/feishu/index.js | 29 - plugin-src/client/channels/feishu/styles.js | 4 +- plugin-src/client/channels/qq/index.js | 9 - plugin-src/client/channels/wecom/index.js | 9 - plugin-src/client/channels/weixin/index.js | 19 - plugin-src/client/channels/weixin/styles.js | 4 +- plugin-src/client/index.js | 8 +- scripts/verify-package.mjs | 59 +- src/channels/feishu/bridge.mjs | 2 +- src/channels/feishu/message-utils.mjs | 2 +- src/channels/shared/connection-test.mjs | 2 +- src/channels/shared/i18n-en/feishu.mjs | 12 +- src/channels/shared/i18n-en/shared-c.mjs | 4 +- test/channels/dingtalk/client-ui.test.mjs | 10 +- test/channels/feishu/bridge.test.mjs | 2 +- test/channels/feishu/message-utils.test.mjs | 2 +- .../feishu/multi-bot-controller.test.mjs | 2 +- test/channels/whatsapp/whatsapp.test.mjs | 2 +- test/client-ui.test.mjs | 22 +- test/loopback-recovery.test.mjs | 6 +- 30 files changed, 815 insertions(+), 842 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bdaac3..2063220 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ This file records the notable changes in each dsh-im release. Its format follows ## [Unreleased] +### Changed / 变更 + +- 「IM机器人」设置页已从插件页签迁移到一级设置菜单,并以 `order: 21` 尽量排在「Agent 预设」之后;新版不再注册旧二级入口。升级后重启 `dsh web` 并刷新浏览器即可使用,已有机器人配置和页面内的渠道专属 Logo 保持不变。 + The **IM Bot** settings page has moved from a Plugins tab to the top-level settings menu and uses `order: 21` to follow **Agent Presets**. The new release no longer registers the legacy nested entry. Restart `dsh web` and refresh the browser after upgrading; existing bot configuration and channel-specific logos inside the page are preserved. + ## [2.6.0] - 2026-08-25 ### Added / 新增 diff --git a/README.en.md b/README.en.md index 474e322..e90ac31 100644 --- a/README.en.md +++ b/README.en.md @@ -58,7 +58,7 @@ Connect IM bots to DeepSeek Harness by scanning a QR code, using an App Manifest Other IM platforms can be added through the same channel-adapter structure. -All nine built-in channels can send JPEG, PNG, and WebP images, plus GIFs sent as image files, with optional captions to Harness. Each image is limited to 5 MB, and images in one message are limited to 20 MB in total. Downloading images or files from Feishu user messages requires the `im:message:readonly` tenant scope, shown on the confirmation page as **Read direct and group messages**; Feishu currently offers no narrower image-only scope for that download endpoint. Apps created through the built-in QR flow request it by default; for existing or manually connected apps, click **Complete permissions** in the plugin's Feishu settings and scan the QR code to incrementally add that scope, `im:resource` for uploading bot-sent images or files, and the card callback. +All nine built-in channels can send JPEG, PNG, and WebP images, plus GIFs sent as image files, with optional captions to Harness. Each image is limited to 5 MB, and images in one message are limited to 20 MB in total. Downloading images or files from Feishu user messages requires the `im:message:readonly` tenant scope, shown on the confirmation page as **Read direct and group messages**; Feishu currently offers no narrower image-only scope for that download endpoint. Apps created through the built-in QR flow request it by default; for existing or manually connected apps, click **Complete permissions** on the IM Bot settings page and scan the QR code to incrementally add that scope, `im:resource` for uploading bot-sent images or files, and the card callback. ### Result-file and image delivery @@ -96,7 +96,7 @@ Install the published stable release from npm (recommended): dsh plugin --profile web add -w @xmanrui/dsh-im ``` -Restart `dsh web`, then open **Settings → Plugins → IM Bot**. +Restart `dsh web`, refresh the browser, then open **Settings → IM Bot**. The top-level IM Bot entry uses `order: 21` to follow **Agent Presets**, and the Plugins page no longer retains the old entry. Upgrading preserves existing bots, credentials, workspaces, Agent Presets, and Session bindings. To try the latest code before it is published to npm, use the GitHub-source installer instead: @@ -214,7 +214,7 @@ If the Slack desktop app has no native Slash Command registered with the same na ## Design -- Registers one **IM Bot** settings page containing nine IM channels and one AI Office Connector. +- Registers one top-level **IM Bot** settings page containing nine IM channels and one AI Office Connector. - Maintains the Host, client, and runtime sources for all nine channels and the Office Connector in this repository without external standalone plugins. - Follows the DeepSeek Harness language preference and switches the settings UI live between Chinese and English. Bot chat messages follow the Host's `language` config (Chinese by default; `en` switches them to English), with Chinese always as the fallback so untranslated text is sent verbatim. - Uses logos for WeChat, Feishu, DingTalk, WeCom, QQ, Slack, Telegram, Discord, WhatsApp, and AI Office navigation without enable/disable switches. diff --git a/README.md b/README.md index 59ac392..b72a72d 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ Connect IM bots to DeepSeek Harness by scanning a QR code, using an App Manifest 其他 IM 平台可继续按同一渠道适配器结构接入。 -九个内置渠道均支持把 JPEG、PNG、WebP 图片,以及以图片文件方式发送的 GIF,连同可选文字说明发送给 Harness;单张图片上限为 5 MB,单条消息中的图片总大小上限为 20 MB。飞书下载用户消息中的图片或文件需要租户权限 `im:message:readonly`,确认页将其显示为“获取单聊、群组消息”;飞书目前没有为该下载接口提供仅限图片的更窄权限。扫码新建的应用会默认申请;已有或手动绑定的应用可私聊机器人执行 `/repair`,或在插件页面点击“补全权限”,扫码增量补全该权限、上传机器人图片或文件所需的 `im:resource`,以及卡片回调。 +九个内置渠道均支持把 JPEG、PNG、WebP 图片,以及以图片文件方式发送的 GIF,连同可选文字说明发送给 Harness;单张图片上限为 5 MB,单条消息中的图片总大小上限为 20 MB。飞书下载用户消息中的图片或文件需要租户权限 `im:message:readonly`,确认页将其显示为“获取单聊、群组消息”;飞书目前没有为该下载接口提供仅限图片的更窄权限。扫码新建的应用会默认申请;已有或手动绑定的应用可私聊机器人执行 `/repair`,或在「IM机器人」设置页点击“补全权限”,扫码增量补全该权限、上传机器人图片或文件所需的 `im:resource`,以及卡片回调。 ### 结果文件与图片回传 @@ -99,7 +99,7 @@ Heartbeat 成功响应必须是 JSON:`{"ok":true,"protocolVersion":"office-har dsh plugin --profile web add -w @xmanrui/dsh-im ``` -重启 `dsh web`,然后打开「设置 → 插件 → IM机器人」。 +重启 `dsh web`、刷新浏览器,然后打开「设置 → IM机器人」。IM机器人使用 `order: 21`,尽量排在一级设置菜单的「Agent 预设」之后;插件页面不再保留旧入口。从旧版升级不会改变已有机器人、凭据、工作区、Agent Preset 或会话绑定。 如需试用尚未发布到 npm 的最新代码,可以改用 GitHub 源安装器: @@ -217,7 +217,7 @@ Slack 桌面端若未注册同名的原生 Slash Command,会拦截直接以 `/ ## 设计 -- Harness 中只注册一个「IM机器人」设置页,其中包含九个 IM 渠道和一个 AI Office Connector; +- Harness 一级设置菜单中只注册一个「IM机器人」设置页,其中包含九个 IM 渠道和一个 AI Office Connector; - 九个渠道及 Office Connector 的 Host、客户端与运行时源码都在本仓库维护,不依赖外部独立插件; - 设置页跟随 DeepSeek Harness 的语言选择,在中文和 English 之间即时切换;机器人发出的聊天消息跟随 Host 的 `language` 配置(默认中文;设为 `en` 即为英文),中文始终为兜底,未收录的文案原样输出; - 左侧使用 Logo 切换微信、飞书、钉钉、企业微信、QQ、Slack、Telegram、Discord、WhatsApp 和 AI Office,不使用启用/停用开关; diff --git a/bin/dsh-im.mjs b/bin/dsh-im.mjs index f2b46fd..2dabb04 100755 --- a/bin/dsh-im.mjs +++ b/bin/dsh-im.mjs @@ -82,7 +82,7 @@ try { for (const packageName of legacy) { runDsh(['plugin', '--profile', profile, 'remove', packageName]); } - console.log('\nIM 机器人插件已安装。请重启 dsh web,然后打开「设置 → 插件 → IM机器人」。'); + console.log('\nIM 机器人插件已安装。请重启 dsh web、刷新浏览器,然后打开「设置 → IM机器人」。'); if (legacy.size > 0) { console.log('已用 dsh-im 替换独立飞书/微信/钉钉插件;原有凭据和扫码绑定保持不变。'); } diff --git a/docs/images/imbot.png b/docs/images/imbot.png index e5579b877ad8cf5d7ac5934eb0a3cc6abbb8ce89..31ddec4ea06b2f22e50e5d756725c170b5e89192 100644 GIT binary patch literal 456597 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
pD6^6> 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%0AxIvL5 zT{9Ws_cj{2#{ae_rMp>)O(}jP;+C^AruBt48u~WR7cwGKGo{3ub7&+NFQYAPp6`Cf z;-7)%<12Y==Kp|SqV%3@g0J{}5SF?w1 zh<+1pCr^TzmGPHzpJZ*_{x;<@|0gL!h&aYRxCe$Jj+6kMfq%;&0C(%3a(hMV~7Xa(FrDpsKt5aRh|y4&dF zE*^;)+!>vqll%-3C_@V8TbO=t@Tna7i*QeQqjWe0m?0Jq>dU*HXgSY1@1;af>V zUMzd9H=F;PWf9bFK4QT@dJDZNSR;=bZ7(Cj#xxfkAcnoYB7a_s^(IVMKVTCfCZ5*p zxb{tgp+58acY?Wx$%`)E&70MS;}RNPi11p;i-ic?IxFsi4d3&?OhcI44FR|4*53e* z?yzVmh~Lc5chx@vm3179GDC)(e%y~s57Hg*ez40S+XCjFng0Cvgq*Y-j}g-LGBJHU zAX3q;+TJEm6q8YCVOm6UX}KmtCo8cecM`t_OydhXrV}qGw#+Dd^q>R5nQ@bL54ST4 zHDrwDFFeT=vydV!WKz-w-(e;+!;oeL)_eVnd5s{r@Ex%@oLdq-hZb`E>Ed;hcAe%< zCr{_CLGjc-Zl_*z7*<9q;hU=5JHHV_a&!W?V&n ze>Bo5RLlPDnZdTiouuetZe^Ai@F(fKuo}ul3eI10v?5Kf6PEV+cMxu#aC1oYG@-oe zRzifKAR7^0qB*z0RdUVlm)b4uJ*gt}P2#Ci%eJkX=-P&2w01GcFE8n~NXXaX3AGYW z*8P zNjp*n?5zvOmQ1-UyElEb!LP-*K`c$+#!r+;G)1hyD^00Yf$-6>4g}j0Cki)(BOG!3 zc*Nk8i;d6KQCam?x-rm(Va3azrr`@qlt??fN<@Ut1#LJ6)gj=?aRxKz_}F4c%(eDC zv2Pjz(B|+FbVt5hGqXH*A!+c~wCh?(H+!no{cNFKiXOW(wn4sPqc>}S8PX(gT{8g3 zOpMI~iaY^mW%ucDiGXgOVU5OZS0P4e)t`ccb4(Kwjs21n-H9up_lwiW9EWHkr*_HT%okhPiW=Hn6NAex`^>0;2fr z;G%aiBkfI*gVqpK2fOh~$F!0@e3cl~0f(*XBq2Z`3s`#oJBjfTZ9!54d7NKTLC@}3 zw+Fh%&>>_3*|=|EhkoDDfU&Pw`HL%48qCq+Tnkcw7!%KLERvS}+h?!5By(;-?xXu8 zo@!1DB!k-yIV8ipSyTMspgm3isk(ovvfMNf)_}TLf;Y)WW)qu`uWaQt-AQP@(Gy%U zld@J7Z;+5MsS@h%$Af13W*wh;;-2R5+*+V99H=~=q&WpJe+EQ=-a!Y;ghilmxTkybp=nNX|xRntUxwpYy3p1J&Lk7vg zH40?Q<2A_`v^HaXTioCxo;x+r4og!kR>`9j*c}fDQ{`hH(#67#Oc^IN+sKhvQ-L|3 z(-N9I_XSq4>)c2*yF-4WCCoXpzTGkZ1Td@`Hr^^`9i+(>L1ZS#8XX9Vn ztt9gM*Ts&+W{+>2dRM45(D`YbDghYLt2_c}q zB@eo*EG2h`CHCoAOd>0di~7|^Hkn9kF6n>f4pyF+VF6sW>rEIbz@|@ z+OJWoo(^$R@T&qa7Vg@HB9ar?smIBS>CnrS`phJsah#+i-3nZ_B|A4(6O=bm-Eho% z)nKzCy!`KN2_Al8r)^8op_Q@F|?K}m^)sH~%Noyp-Xi7DKxx}bjR)&Vq zL^oY`^HSMXr=l%W@a_tIg`ju}b6q z;n`vz#FRsr#{RR>?%7dL4GRrtjU|iCNZ!n6fb>eU^#DgWqM9Vtt#{7`o9Ud;G3lqP zTkCoDBR#L~E;S4Y?I!Pq`JLKt*Zr5!?r#bqk<<+y^inczU@s4VDk~7gxT{d2hCa3l zh-=8A=ECNp<{?@`$uDQm0Q346pceszH-S>_f2EJUh{GnXJr(6iwRY7hI*f%F+Q3C? zGi1q5KnUzCsQ3L}e@{{)vG|+g&`V(@q4XiEj!y=W)^DvuU7KKRcT_>pk>)^x!FoC&F}M|DS#MDfnG{K2l$@O z9v|1nqP{jMHMMJ^l@9(7MEJ)$fHTH8SjD23Y)gW_ezxlMP+}fnf}X>sh9W%eqz6|k zP)eRZ^j&0#kp7d^W&$$T_0g(^Ym8@ST<%=i{7f&c>XW6FPAT{zp}+V14x*Yri92n8 z-p!A~tOF2OKb1Oga(`@`^Z6!-y-R-gZ4 zGAv!~o9OK9>=|@VLSY(WtitMx7=xx@E@IeU*iZy^T$4l-qX9)`!n`ZqxWBt!_=P%i zq4ygCFv917D?$zWX69jCj%ilkJ6s7R&zrB+pZ!)UdDzkYC+2ue2kzqHVyBIbNhoBT zj4#yCn2YO9++;^tO^ade*~*r+&1Y3o3BwxBfJbxTvktZm5F)(Gd8We{LhiV;l+gCR z40xE^w5pjiCT6DR$z_%lc+B8Xjn6_)=0fj$uWz;2X5&cXGe9Lg?3#$}CpcMpHxKT+ zV^_QUuE#ntC~fCVZ8)N2#HIaBPsnTr%lH%eZ#ZM+0A<5G?0V+rpFx(RTv} zr?tGL$_6kcL{!t)7;3xG?6U(lGf4Qz1_M=uknq2+bcbF|`o`YD-|T6M;cr98R=H2J zh4inrJ5;l!vf_%X*{+J;=0AkQ9qyObY;!Q)?Peqw zrb;-8+rl6&8wUR3zns4E{yk7htwz?>Im6xhMB(D{2EYSSClHsbCoHShmfH|3yDBpZ zx?S{>ue>#gmrYwHbtjEeqX%(%RSC6T2HtCS%iBVi#JyVtP1a8YG@lL{^~pvIE@MkDC$q5k;+> zW-RrMx`G8RU}QiRA9JeEdw+V3rRgfHFYaW+-hO-7%bcE*4%hD|jxU<-bH6y1kXC!8 zMMzpG41)BqFL5NpmhrY#D}7y)Rt=wKOb?k#I$*iWQspV(*jEJ|9+i&*Nrja_Q}xu; z9|va$fiDD8yG-rglVi*bAE{5wugYJ<4VRoC;7Z<}$QG`hps$Y044yW;Qq;@> zLMbVPa*!5`o2?6S>_BEI6O3@$4AQ~GUp0`&-F+Lgjw(h%8J6uC5<$Tssm5y^)6Gu9 z5x$-S734_wL0ne#;d=Az7mN+iFhmD^tUr2Nz)fYd8+KATrdXI+bq!mR4a+XIpcH9{ z7unRyS1q2bm*B~Y&rR@IebjRDBDFE8;%dn54%HQU_us~uvu;w#^BX%PTh?PJzS%d4 z+;uvJMi{4)2}&BH^-E~nehA9n(<9tu-ng;25*N&{EhzBMcv@Ssh@UZ)L^M^J?yR8L z;$b4U1}&2MicK$)m<~d!Ia#pk6DcwUNp+))fHVukqgYog4n(h#4;3{kiqqVe_gM_9 z#T%1jMxZ3Wvt}R+w%6E<9Y)wUNndqO)2pKf*xNbv%yiQs7+K*=CZZe{QNmrb#G$=r zCja=@920{9`r^M9A`e_)tn?E{)`jdg=XumRbB!f?;#M6O+Q>U#*bH zp?CAWPy;iY_`RgnR}+}9>>=RL_Egkydv!xnO-(Lby?K?A1Zr|Gi=V)j?b^2P;NKzR zV7t%fV?|%1Vda3hO??PGp_h@P=SO>LSzlFC;Q`nvxPr5*4dq~FnB332p}_bL_+@t% zkB+CJ&V|{;zr^mZ!3JK0S3hvWHj|oBR42o}q6vi}iM*cHry9ozZ8lT*%YH^ss8M{ct`f@x0`}-c}$b#oHY`Xe!yS$?RlFQ zw5Nc}n>uM*z_IdA^tzS0&w*ah`v{PsD&LXY8kXRmRRn$o~m_8HsLpVXo1toE6+97aDu1iVHQ!bchy491M`eS~57^u0Gw>l3{! zSNdzX!ru3$c{KNxdjDb7?c!H*&bKJK{Q~9DO0}4{nx-Zb2@SvI8nv(mcxX&M{P;k{ z?dLqMvA%(JabAAd@ zgAyfbN<2Grl3)akZQW1mE%)wHHynNiq}=B@o#JMO;l-QG`vG(5*)X~WEQR6?#?sB¬-we$)x~)&RZ4 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

J1a_PTSBd(SowWL9&4lYfTHJ&%5j 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

^Qb3faNT6_mb9^<-y|NGyYSDrtAA%+uV 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 diff --git a/lib/client.js b/lib/client.js index 4b1d779..7f1f90a 100644 --- a/lib/client.js +++ b/lib/client.js @@ -130,7 +130,7 @@ var package_default = { scripts: { build: "node plugin-src/client/build.mjs && node plugin-src/host/build.mjs", test: "node --test test/*.test.mjs test/channels/*/*.test.mjs", - check: "npm test && npm run build && node scripts/verify-package.mjs" + check: "npm run build && npm test && node scripts/verify-package.mjs" }, engines: { node: ">=22.19" @@ -1947,7 +1947,7 @@ function LastMessageErrorSummary({ className = "", error }) { } // plugin-src/client/channels/dingtalk/styles.js -var DINGTALK_STYLE_ID = "xmanrui-dsh-dingtalk-settings"; +var DINGTALK_STYLE_ID = "xmanrui-dsh-im-dingtalk-settings"; var CSS = String.raw` .ddt-page { --ddt-accent: #1677ff; @@ -2075,7 +2075,7 @@ function installDingtalkStyles() { if (existing) return () => { }; const style = document.createElement("style"); - style.dataset.plugin = "@xmanrui/dsh-dingtalk"; + style.dataset.plugin = "@xmanrui/dsh-im"; style.dataset.pluginCss = DINGTALK_STYLE_ID; style.textContent = CSS; document.head.appendChild(style); @@ -3932,578 +3932,6 @@ function useAnimationFrameScheduler() { ); } -// plugin-src/client/channels/feishu/styles.js -var FEISHU_STYLE_ID = "beihuixinghe-dsh-feishu-settings"; -var CSS3 = String.raw` -.bxf-page { - --bxf-accent: var(--dsw-alias-state-business-primary, #3370ff); - --bxf-success: var(--dsw-alias-state-success-primary, #20a162); - --bxf-warning: var(--dsw-alias-state-warn-primary, #d97706); - --bxf-error: var(--dsw-alias-state-error-primary, #d54941); - box-sizing: border-box; - width: 100%; - max-width: 860px; - color: var(--dsw-alias-label-primary, #1f2329); - display: flex; - flex-direction: column; - container-type: inline-size; - gap: 18px; - padding: 2px 0 24px; -} - -.bxf-page *, .bxf-page *::before, .bxf-page *::after { box-sizing: border-box; } - -.bxf-heading { - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 20px; -} - -.bxf-headingCopy { min-width: 0; } -.bxf-heading h2, .bxf-heading p, .bxf-card h3, .bxf-card p { margin: 0; } - -.bxf-eyebrow { - color: var(--dsw-alias-label-tertiary, #8f959e); - font-size: 12px; - font-weight: 600; - line-height: 18px; - letter-spacing: .08em; - text-transform: uppercase; - margin-bottom: 3px; -} - -.bxf-heading h2 { - font-size: 20px; - line-height: 28px; - font-weight: 650; - letter-spacing: -.015em; -} - -.bxf-heading p { - max-width: 540px; - color: var(--dsw-alias-label-secondary, #646a73); - font-size: 13px; - line-height: 20px; - margin-top: 5px; - white-space: nowrap; -} - -.bxf-headingTools { - width: 100%; - flex: none; - display: flex; - align-items: center; - justify-content: space-between; - flex-wrap: nowrap; - gap: 8px; -} - -.bxf-totalBadge { - min-height: 28px; - display: inline-flex; - align-items: baseline; - gap: 3px; - border-radius: 999px; - padding: 4px 10px; - color: var(--dsw-alias-label-secondary, #646a73); - background: var(--dsw-alias-bg-module-platform, #f2f3f5); - font-size: 11px; - line-height: 16px; - white-space: nowrap; -} - -.bxf-totalBadge strong { color: var(--bxf-success); font-size: 13px; } - -.bxf-card { - position: relative; - overflow: hidden; - border: 1px solid var(--dsw-alias-border-l2, #dee0e3); - border-radius: 14px; - background: var(--dsw-alias-bg-layer-3, #fff); - box-shadow: var(--dsw-shadow-lv1, 0 3px 12px rgba(31, 35, 41, .05)); -} - -.bxf-card::before { - content: ""; - pointer-events: none; - position: absolute; - inset: 0 0 auto; - height: 88px; - background: - radial-gradient(circle at 86% -35%, color-mix(in srgb, var(--bxf-accent) 18%, transparent), transparent 68%); - opacity: .85; -} - -.bxf-cardBody { position: relative; padding: 24px; } - -.bxf-intro { - min-height: 250px; - display: grid; - grid-template-columns: minmax(0, 1fr) 172px; - gap: 32px; - align-items: center; -} - -.bxf-introCopy { max-width: 500px; } - -.bxf-stateLabel { - display: inline-flex; - align-items: center; - gap: 7px; - color: var(--dsw-alias-label-secondary, #646a73); - font-size: 12px; - font-weight: 600; - line-height: 18px; - margin-bottom: 13px; -} - -.bxf-dot { - width: 7px; - height: 7px; - border-radius: 50%; - background: var(--dsw-alias-label-tertiary, #8f959e); - box-shadow: 0 0 0 4px color-mix(in srgb, var(--dsw-alias-label-tertiary, #8f959e) 12%, transparent); -} - -.bxf-dot[data-tone="success"] { - background: var(--bxf-success); - box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-success) 13%, transparent); -} - -.bxf-dot[data-tone="warning"] { - background: var(--bxf-warning); - box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-warning) 13%, transparent); -} - -.bxf-dot[data-tone="error"] { - background: var(--bxf-error); - box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-error) 13%, transparent); -} - -.bxf-intro h3 { - font-size: 24px; - line-height: 34px; - font-weight: 650; - letter-spacing: -.02em; -} - -.bxf-introCopy > p { - max-width: 490px; - color: var(--dsw-alias-label-secondary, #646a73); - font-size: 14px; - line-height: 23px; - margin-top: 8px; -} - -.bxf-note { - display: flex; - gap: 8px; - align-items: flex-start; - color: var(--dsw-alias-label-tertiary, #8f959e); - font-size: 12px; - line-height: 18px; - margin-top: 16px; -} - -.bxf-note svg { flex: none; margin-top: 1px; } - -.bxf-actions { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 10px; - margin-top: 22px; -} - -.bxf-button { - appearance: none; - min-height: 36px; - display: inline-flex; - align-items: center; - justify-content: center; - gap: 7px; - border: 1px solid var(--dsw-alias-border-l2, #dee0e3); - border-radius: 8px; - padding: 7px 13px; - color: var(--dsw-alias-label-primary, #1f2329); - background: var(--dsw-alias-bg-layer-1, #fff); - font: inherit; - font-size: 13px; - font-weight: 550; - line-height: 20px; - text-decoration: none; - cursor: pointer; - transition: background .15s var(--ds-ease-in-out, ease), border-color .15s var(--ds-ease-in-out, ease), transform .15s var(--ds-ease-in-out, ease); -} - -.bxf-button:hover:not(:disabled) { - background: var(--dsw-alias-interactive-bg-hover, #f2f3f5); - border-color: var(--dsw-alias-border-l1, #c9cdd4); -} - -.bxf-button:active:not(:disabled) { transform: translateY(1px); } - -.bxf-button:focus-visible, .bxf-link:focus-visible { - outline: 2px solid var(--bxf-accent); - outline-offset: 2px; -} - -.bxf-button:disabled { cursor: not-allowed; opacity: .55; } - -.bxf-button[data-kind="primary"] { - border-color: var(--bxf-accent); - color: #fff; - background: var(--bxf-accent); - box-shadow: 0 4px 12px color-mix(in srgb, var(--bxf-accent) 24%, transparent); -} - -.bxf-button[data-kind="primary"]:hover:not(:disabled) { - border-color: color-mix(in srgb, var(--bxf-accent) 86%, #000); - background: color-mix(in srgb, var(--bxf-accent) 90%, #000); -} - -.bxf-button[data-kind="danger"] { color: var(--bxf-error); } -.bxf-button[data-size="small"] { min-height: 32px; padding: 5px 10px; font-size: 12px; } -.bxf-bindButton { flex: none; white-space: nowrap; } - -.bxf-provisionCard { - border-color: color-mix(in srgb, var(--bxf-accent) 32%, var(--dsw-alias-border-l2, #dee0e3)); -} - -.bxf-markStage { - position: relative; - width: 156px; - height: 156px; - display: grid; - place-items: center; - justify-self: end; -} - -.bxf-markStage::before, .bxf-markStage::after { - content: ""; - position: absolute; - border-radius: 50%; -} - -.bxf-markStage::before { - inset: 12px; - border: 1px solid color-mix(in srgb, var(--bxf-accent) 18%, var(--dsw-alias-border-l2, #dee0e3)); - background: color-mix(in srgb, var(--bxf-accent) 4%, var(--dsw-alias-bg-layer-1, #fff)); -} - -.bxf-markStage::after { - inset: 0; - border: 1px dashed color-mix(in srgb, var(--bxf-accent) 16%, transparent); - animation: bxf-rotate 18s linear infinite; -} - -.bxf-brandMark { - position: relative; - z-index: 1; - width: 68px; - height: 68px; - display: grid; - place-items: center; - border-radius: 20px; - color: #fff; - background: var(--bxf-accent); - box-shadow: 0 12px 28px color-mix(in srgb, var(--bxf-accent) 28%, transparent); -} - -.bxf-qrLayout { - display: grid; - grid-template-columns: 236px minmax(0, 1fr); - align-items: center; - gap: 32px; -} - -.bxf-qrColumn { min-width: 0; } - -.bxf-qrFrame { - position: relative; - width: 222px; - height: 222px; - display: grid; - place-items: center; - border: 1px solid var(--dsw-alias-border-l2, #dee0e3); - border-radius: 14px; - padding: 13px; - background: #fff; - box-shadow: 0 8px 24px rgba(31, 35, 41, .07); -} - -.bxf-qrFrame::before, .bxf-qrFrame::after { - content: ""; - position: absolute; - width: 24px; - height: 24px; - border-color: var(--bxf-accent); - border-style: solid; -} - -.bxf-qrFrame::before { inset: -3px auto auto -3px; border-width: 2px 0 0 2px; border-radius: 5px 0 0; } -.bxf-qrFrame::after { inset: auto -3px -3px auto; border-width: 0 2px 2px 0; border-radius: 0 0 5px; } -.bxf-qrFrame img { width: 100%; height: 100%; display: block; object-fit: contain; } - -.bxf-qrFallback { - width: 100%; - height: 100%; - display: grid; - place-items: center; - border-radius: 8px; - color: var(--bxf-accent); - background: #f7f9ff; - text-align: center; - padding: 20px; -} - -.bxf-qrFallback span { display: block; color: #646a73; font-size: 12px; line-height: 18px; margin-top: 8px; } - -.bxf-expiredOverlay { - position: absolute; - inset: 10px; - display: grid; - place-items: center; - border-radius: 9px; - color: #1f2329; - background: rgba(255, 255, 255, .94); - backdrop-filter: blur(3px); - font-size: 13px; - font-weight: 600; - text-align: center; -} - -.bxf-countdown { - width: 222px; - color: var(--dsw-alias-label-tertiary, #8f959e); - font-variant-numeric: tabular-nums; - font-size: 11px; - line-height: 17px; - margin-top: 11px; -} - -.bxf-countdownTop { display: flex; align-items: center; justify-content: space-between; gap: 10px; } -.bxf-progress { height: 3px; overflow: hidden; border-radius: 99px; background: var(--dsw-alias-bg-module-platform, #f2f3f5); margin-top: 6px; } -.bxf-progress > span { display: block; width: var(--bxf-progress, 100%); height: 100%; border-radius: inherit; background: var(--bxf-accent); transition: width 1s linear; } - -.bxf-qrCopy h3 { font-size: 20px; line-height: 29px; font-weight: 650; } -.bxf-qrCopy > p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 7px; } - -.bxf-steps { counter-reset: bxf-step; display: flex; flex-direction: column; gap: 11px; margin: 20px 0 0; padding: 0; list-style: none; } -.bxf-steps li { counter-increment: bxf-step; display: grid; grid-template-columns: 23px minmax(0, 1fr); align-items: start; gap: 9px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 19px; } -.bxf-steps li::before { content: counter(bxf-step); width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--dsw-alias-border-l2, #dee0e3); border-radius: 50%; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font-size: 10px; font-weight: 650; } - -.bxf-connecting { min-height: 292px; display: grid; place-items: center; text-align: center; padding: 36px 24px; } -.bxf-connectingCopy { max-width: 430px; } -.bxf-orbit { position: relative; width: 86px; height: 86px; display: grid; place-items: center; margin: 0 auto 22px; } -.bxf-orbit::before, .bxf-orbit::after { content: ""; position: absolute; border-radius: 50%; } -.bxf-orbit::before { inset: 3px; border: 1px solid color-mix(in srgb, var(--bxf-accent) 24%, transparent); animation: bxf-pulse 1.8s var(--ds-ease-in-out, ease) infinite; } -.bxf-orbit::after { inset: 0; border: 2px solid transparent; border-top-color: var(--bxf-accent); animation: bxf-rotate 1.2s linear infinite; } -.bxf-orbitCore { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; color: var(--bxf-accent); background: color-mix(in srgb, var(--bxf-accent) 9%, var(--dsw-alias-bg-layer-1, #fff)); } -.bxf-connecting h3 { font-size: 20px; line-height: 29px; } -.bxf-connecting p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 7px; } -.bxf-connectingCompact { min-height: 248px; } - -.bxf-inlineError { - min-height: 190px; - display: grid; - grid-template-columns: 44px minmax(0, 1fr); - align-content: center; - gap: 15px; - padding: 28px; -} - -.bxf-inlineError h3 { font-size: 17px; line-height: 25px; margin: 0; } -.bxf-inlineError p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 5px; overflow-wrap: anywhere; } - -.bxf-listSection { display: flex; flex-direction: column; gap: 10px; } -.bxf-listHeading { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 2px; } -.bxf-listHeading h3 { font-size: 14px; line-height: 22px; font-weight: 650; margin: 0; } -.bxf-botList { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; } -.bxf-botList > li { min-width: 0; } -.bxf-botCard:focus { outline: none; } -.bxf-botCard:focus-visible { outline: 2px solid var(--bxf-accent); outline-offset: 2px; } - -.bxf-connectedTop { display: flex; align-items: center; justify-content: space-between; gap: 20px; } -.bxf-botIdentity { min-width: 0; display: flex; align-items: center; gap: 13px; } -.bxf-avatar { flex: none; width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 14px; background: var(--dsw-alias-bg-layer-1, #fff); box-shadow: 0 1px 3px rgb(31 35 41 / 7%); } -.bxf-botName { min-width: 0; } -.bxf-botName h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; line-height: 24px; font-weight: 650; } -.bxf-botName p { overflow: hidden; color: var(--dsw-alias-label-tertiary, #8f959e); font-family: var(--ds-font-family-code, monospace); font-size: 12px; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; } - -.bxf-healthPill { flex: none; display: inline-flex; align-items: center; gap: 7px; min-height: 28px; border-radius: 999px; padding: 4px 10px; color: var(--bxf-success); background: color-mix(in srgb, var(--bxf-success) 10%, transparent); font-size: 12px; font-weight: 600; line-height: 18px; } -.bxf-healthPill[data-health="degraded"], .bxf-healthPill[data-health="checking"], .bxf-healthPill[data-health="connecting"] { color: var(--bxf-warning); background: color-mix(in srgb, var(--bxf-warning) 10%, transparent); } -.bxf-healthPill[data-health="offline"], .bxf-healthPill[data-health="error"] { color: var(--bxf-error); background: color-mix(in srgb, var(--bxf-error) 10%, transparent); } - - -.bxf-responseMode { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; column-gap: 10px; row-gap: 5px; margin-top: 6px; padding: 8px 10px; border: 1px solid var(--dsw-alias-border-l1, #eef0f3); border-radius: 9px; background: var(--dsw-alias-bg-module-platform, #f7f8fa); } -.bxf-responseModeHeader { display: contents; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: normal; } -.bxf-responseModeHeader > span:first-child { grid-column: 1; grid-row: 1; white-space: nowrap; } -.bxf-responseModeStatus { grid-column: 2; grid-row: 1; color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 12px; white-space: nowrap; } -.bxf-responseModeSelect { min-width: 0; width: 100%; grid-column: 1 / -1; grid-row: 2; height: 32px; padding: 0 30px 0 9px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 7px; color: var(--dsw-alias-label-primary, #1f2329); background-color: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 12px; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease; } -.bxf-responseModeSelect:hover:not(:disabled) { border-color: color-mix(in srgb, var(--bxf-accent) 45%, var(--dsw-alias-border-l2, #dfe1e5)); } -.bxf-responseModeSelect:focus-visible { outline: none; border-color: var(--bxf-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--bxf-accent) 16%, transparent); } -.bxf-responseModeSelect:disabled { cursor: not-allowed; opacity: .55; } -.bxf-responseModeHelp { grid-column: 1 / -1; grid-row: 3; color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 11px; line-height: 1.45; } -.bxf-responseModePermissionAction { grid-column: 1 / -1; grid-row: 4; display: flex; justify-content: flex-start; margin-top: 2px; } -.bxf-responseModePermissionButton { min-height: 28px; padding: 3px 9px; color: var(--bxf-accent); border-color: color-mix(in srgb, var(--bxf-accent) 30%, var(--dsw-alias-border-l2, #dfe1e5)); background: var(--dsw-alias-bg-layer-1, #fff); } -.bxf-responseModePermissionButton:hover:not(:disabled) { background: color-mix(in srgb, var(--bxf-accent) 7%, transparent); } -.bxf-responseModeError { grid-column: 1 / -1; grid-row: 5; color: var(--bxf-error); font-size: 12px; line-height: 1.4; margin: 0; } - -.bxf-botProvision { - position: relative; - margin-top: 14px; - scroll-margin-block: 20px; - animation: bxf-revealProvision .2s var(--ds-ease-out, ease-out) both; -} -.bxf-botProvision:focus { outline: none; } -.bxf-botProvision:focus-visible { - outline: 2px solid color-mix(in srgb, var(--bxf-accent) 75%, transparent); - outline-offset: 3px; - border-radius: 12px; -} -.bxf-botProvision > .bxf-provisionCard { - border-radius: 11px; - box-shadow: none; - background: color-mix(in srgb, var(--bxf-accent) 2.5%, var(--dsw-alias-bg-layer-3, #fff)); -} -.bxf-botProvision .bxf-cardBody { padding: 18px; } -.bxf-botProvision .bxf-qrLayout { - grid-template-columns: 184px minmax(0, 1fr); - align-items: start; - gap: 24px; -} -.bxf-botProvision .bxf-qrFrame { width: 176px; height: 176px; padding: 10px; border-radius: 11px; } -.bxf-botProvision .bxf-countdown { width: 176px; } -.bxf-botProvision .bxf-qrCopy h3 { font-size: 18px; line-height: 26px; } -.bxf-botProvision .bxf-steps { gap: 8px; margin-top: 14px; } -.bxf-botProvision .bxf-actions { margin-top: 16px; } -.bxf-botProvision .bxf-inlineError { min-height: 160px; padding: 22px; } - -.bxf-connectedFooter { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--dsw-alias-border-l1, #eef0f3); } -.bxf-healthSummary { min-width: 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 18px; } -.bxf-healthSummary[data-error="true"] { color: var(--bxf-error); } -.bxf-botActions { position: relative; flex: none; width: 100%; flex-wrap: wrap; gap: 8px; margin-top: 0; justify-content: flex-end; } -.bxf-botActions .bxf-button { flex: none; white-space: nowrap; } -.bxf-botActions .bxf-repairButton { color: var(--bxf-accent); border-color: color-mix(in srgb, var(--bxf-accent) 35%, var(--dsw-alias-border-l2, #dee0e3)); } -.bxf-botActions .bxf-repairButton:hover:not(:disabled) { background: color-mix(in srgb, var(--bxf-accent) 7%, transparent); } -.bxf-repairAction { display: inline-flex; } -.bxf-repairTooltip { - position: absolute; - right: 0; - bottom: calc(100% + 8px); - z-index: 40; - width: min(330px, 100%); - display: grid; - gap: 3px; - padding: 9px 10px; - border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); - border-radius: 8px; - color: var(--dsw-alias-label-primary, #1f2329); - background: var(--dsw-alias-bg-layer-3, #fff); - box-shadow: 0 10px 28px rgb(31 35 41 / 16%); - opacity: 0; - visibility: hidden; - transform: translateY(3px); - pointer-events: none; - transition: opacity .15s ease, transform .15s ease, visibility .15s ease; -} -.bxf-repairTooltip strong { font-size: 12px; line-height: 17px; font-weight: 650; } -.bxf-repairTooltip > span { color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 17px; font-weight: 400; overflow-wrap: anywhere; } -.bxf-repairAction:hover .bxf-repairTooltip, -.bxf-repairAction:focus-within .bxf-repairTooltip { opacity: 1; visibility: visible; transform: translateY(0); } - -.bxf-confirm { - border-top: 1px solid var(--dsw-alias-border-l2, #dee0e3); - background: color-mix(in srgb, var(--bxf-error) 4%, var(--dsw-alias-bg-module-platform, #f7f8fa)); - padding: 17px 24px 20px; -} -.bxf-confirm:focus { outline: none; } -.bxf-confirm h4 { font-size: 13px; line-height: 20px; margin: 0; } -.bxf-confirm p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 19px; margin: 4px 0 0; } -.bxf-confirm .bxf-actions { margin-top: 12px; } - -.bxf-error { min-height: 252px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-content: center; gap: 15px; padding: 30px; } -.bxf-errorIcon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--bxf-error); background: color-mix(in srgb, var(--bxf-error) 9%, transparent); } -.bxf-error h3 { font-size: 17px; line-height: 25px; } -.bxf-error p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 5px; overflow-wrap: anywhere; } -.bxf-errorCode { display: inline-block; color: var(--dsw-alias-label-tertiary, #8f959e); font-family: var(--ds-font-family-code, monospace); font-size: 11px; margin-top: 7px; } - -.bxf-statusNotice { - display: flex; - align-items: center; - gap: 9px; - border: 1px solid color-mix(in srgb, var(--bxf-warning) 28%, var(--dsw-alias-border-l2, #dee0e3)); - border-radius: 10px; - padding: 9px 11px; - color: var(--dsw-alias-label-secondary, #646a73); - background: color-mix(in srgb, var(--bxf-warning) 5%, var(--dsw-alias-bg-layer-1, #fff)); - font-size: 12px; - line-height: 18px; -} -.bxf-statusNotice > svg { flex: none; color: var(--bxf-warning); } -.bxf-statusNotice > span { min-width: 0; flex: 1; overflow-wrap: anywhere; } - -.bxf-skeleton { min-height: 260px; padding: 28px; } -.bxf-skeletonLine { height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--dsw-alias-bg-module-platform, #f2f3f5), color-mix(in srgb, var(--dsw-alias-label-tertiary, #8f959e) 10%, transparent), var(--dsw-alias-bg-module-platform, #f2f3f5)); background-size: 220% 100%; animation: bxf-shimmer 1.5s linear infinite; } -.bxf-skeletonLine:nth-child(1) { width: 92px; } -.bxf-skeletonLine:nth-child(2) { width: 44%; height: 22px; margin-top: 23px; } -.bxf-skeletonLine:nth-child(3) { width: 72%; margin-top: 14px; } -.bxf-skeletonLine:nth-child(4) { width: 58%; margin-top: 9px; } -.bxf-skeletonBox { width: 138px; height: 38px; border-radius: 8px; background: var(--dsw-alias-bg-module-platform, #f2f3f5); margin-top: 28px; } - -.bxf-visuallyHidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } - -@keyframes bxf-rotate { to { transform: rotate(360deg); } } -@keyframes bxf-pulse { 0%, 100% { transform: scale(.9); opacity: .45; } 50% { transform: scale(1.08); opacity: 1; } } -@keyframes bxf-shimmer { to { background-position: -220% 0; } } -@keyframes bxf-revealProvision { from { opacity: 0; transform: translateY(-5px); } } - -@container (max-width: 620px) { - .bxf-headingTools { gap: 6px; } - .bxf-headingTools .bxf-totalBadge { padding-inline: 8px; } - .bxf-headingTools .bxf-bindButton { padding-inline: 10px; } -} - -@media (max-width: 680px) { - .bxf-intro { grid-template-columns: minmax(0, 1fr); } - .bxf-markStage { display: none; } - .bxf-qrLayout { grid-template-columns: minmax(0, 1fr); justify-items: center; } - .bxf-botProvision .bxf-qrLayout { grid-template-columns: minmax(0, 1fr); } - .bxf-qrCopy { width: 100%; } - .bxf-connectedTop { align-items: flex-start; flex-direction: column; } - .bxf-inlineError { grid-template-columns: minmax(0, 1fr); padding: 20px; } - .bxf-statusNotice { align-items: flex-start; flex-wrap: wrap; } - .bxf-cardBody { padding: 20px; } -} - -@media (prefers-reduced-motion: reduce) { - .bxf-page *, .bxf-page *::before, .bxf-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } -} -`; -function installFeishuStyles() { - if (typeof document === "undefined") { - return () => { - }; - } - const existing = document.querySelector( - `style[data-plugin-css="${FEISHU_STYLE_ID}"]` - ); - if (existing) { - return () => { - }; - } - const style = document.createElement("style"); - style.dataset.plugin = "@xmanrui/dsh-feishu"; - style.dataset.pluginCss = FEISHU_STYLE_ID; - style.textContent = CSS3; - document.head.appendChild(style); - return () => { - style.remove(); - }; -} - // plugin-src/client/channels/feishu/index.js var CALLBACK_REPAIR_OPERATION = FEISHU_REGISTRATION_OPERATIONS.CALLBACK_REPAIR; var GROUP_MESSAGE_PERMISSION_OPERATION = FEISHU_REGISTRATION_OPERATIONS.GROUP_MESSAGE_PERMISSION; @@ -5923,6 +5351,578 @@ function FeishuSettingsTab({ rpcCall }) { )); } +// plugin-src/client/channels/feishu/styles.js +var FEISHU_STYLE_ID = "xmanrui-dsh-im-feishu-settings"; +var CSS3 = String.raw` +.bxf-page { + --bxf-accent: var(--dsw-alias-state-business-primary, #3370ff); + --bxf-success: var(--dsw-alias-state-success-primary, #20a162); + --bxf-warning: var(--dsw-alias-state-warn-primary, #d97706); + --bxf-error: var(--dsw-alias-state-error-primary, #d54941); + box-sizing: border-box; + width: 100%; + max-width: 860px; + color: var(--dsw-alias-label-primary, #1f2329); + display: flex; + flex-direction: column; + container-type: inline-size; + gap: 18px; + padding: 2px 0 24px; +} + +.bxf-page *, .bxf-page *::before, .bxf-page *::after { box-sizing: border-box; } + +.bxf-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 20px; +} + +.bxf-headingCopy { min-width: 0; } +.bxf-heading h2, .bxf-heading p, .bxf-card h3, .bxf-card p { margin: 0; } + +.bxf-eyebrow { + color: var(--dsw-alias-label-tertiary, #8f959e); + font-size: 12px; + font-weight: 600; + line-height: 18px; + letter-spacing: .08em; + text-transform: uppercase; + margin-bottom: 3px; +} + +.bxf-heading h2 { + font-size: 20px; + line-height: 28px; + font-weight: 650; + letter-spacing: -.015em; +} + +.bxf-heading p { + max-width: 540px; + color: var(--dsw-alias-label-secondary, #646a73); + font-size: 13px; + line-height: 20px; + margin-top: 5px; + white-space: nowrap; +} + +.bxf-headingTools { + width: 100%; + flex: none; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: nowrap; + gap: 8px; +} + +.bxf-totalBadge { + min-height: 28px; + display: inline-flex; + align-items: baseline; + gap: 3px; + border-radius: 999px; + padding: 4px 10px; + color: var(--dsw-alias-label-secondary, #646a73); + background: var(--dsw-alias-bg-module-platform, #f2f3f5); + font-size: 11px; + line-height: 16px; + white-space: nowrap; +} + +.bxf-totalBadge strong { color: var(--bxf-success); font-size: 13px; } + +.bxf-card { + position: relative; + overflow: hidden; + border: 1px solid var(--dsw-alias-border-l2, #dee0e3); + border-radius: 14px; + background: var(--dsw-alias-bg-layer-3, #fff); + box-shadow: var(--dsw-shadow-lv1, 0 3px 12px rgba(31, 35, 41, .05)); +} + +.bxf-card::before { + content: ""; + pointer-events: none; + position: absolute; + inset: 0 0 auto; + height: 88px; + background: + radial-gradient(circle at 86% -35%, color-mix(in srgb, var(--bxf-accent) 18%, transparent), transparent 68%); + opacity: .85; +} + +.bxf-cardBody { position: relative; padding: 24px; } + +.bxf-intro { + min-height: 250px; + display: grid; + grid-template-columns: minmax(0, 1fr) 172px; + gap: 32px; + align-items: center; +} + +.bxf-introCopy { max-width: 500px; } + +.bxf-stateLabel { + display: inline-flex; + align-items: center; + gap: 7px; + color: var(--dsw-alias-label-secondary, #646a73); + font-size: 12px; + font-weight: 600; + line-height: 18px; + margin-bottom: 13px; +} + +.bxf-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--dsw-alias-label-tertiary, #8f959e); + box-shadow: 0 0 0 4px color-mix(in srgb, var(--dsw-alias-label-tertiary, #8f959e) 12%, transparent); +} + +.bxf-dot[data-tone="success"] { + background: var(--bxf-success); + box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-success) 13%, transparent); +} + +.bxf-dot[data-tone="warning"] { + background: var(--bxf-warning); + box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-warning) 13%, transparent); +} + +.bxf-dot[data-tone="error"] { + background: var(--bxf-error); + box-shadow: 0 0 0 4px color-mix(in srgb, var(--bxf-error) 13%, transparent); +} + +.bxf-intro h3 { + font-size: 24px; + line-height: 34px; + font-weight: 650; + letter-spacing: -.02em; +} + +.bxf-introCopy > p { + max-width: 490px; + color: var(--dsw-alias-label-secondary, #646a73); + font-size: 14px; + line-height: 23px; + margin-top: 8px; +} + +.bxf-note { + display: flex; + gap: 8px; + align-items: flex-start; + color: var(--dsw-alias-label-tertiary, #8f959e); + font-size: 12px; + line-height: 18px; + margin-top: 16px; +} + +.bxf-note svg { flex: none; margin-top: 1px; } + +.bxf-actions { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 10px; + margin-top: 22px; +} + +.bxf-button { + appearance: none; + min-height: 36px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 7px; + border: 1px solid var(--dsw-alias-border-l2, #dee0e3); + border-radius: 8px; + padding: 7px 13px; + color: var(--dsw-alias-label-primary, #1f2329); + background: var(--dsw-alias-bg-layer-1, #fff); + font: inherit; + font-size: 13px; + font-weight: 550; + line-height: 20px; + text-decoration: none; + cursor: pointer; + transition: background .15s var(--ds-ease-in-out, ease), border-color .15s var(--ds-ease-in-out, ease), transform .15s var(--ds-ease-in-out, ease); +} + +.bxf-button:hover:not(:disabled) { + background: var(--dsw-alias-interactive-bg-hover, #f2f3f5); + border-color: var(--dsw-alias-border-l1, #c9cdd4); +} + +.bxf-button:active:not(:disabled) { transform: translateY(1px); } + +.bxf-button:focus-visible, .bxf-link:focus-visible { + outline: 2px solid var(--bxf-accent); + outline-offset: 2px; +} + +.bxf-button:disabled { cursor: not-allowed; opacity: .55; } + +.bxf-button[data-kind="primary"] { + border-color: var(--bxf-accent); + color: #fff; + background: var(--bxf-accent); + box-shadow: 0 4px 12px color-mix(in srgb, var(--bxf-accent) 24%, transparent); +} + +.bxf-button[data-kind="primary"]:hover:not(:disabled) { + border-color: color-mix(in srgb, var(--bxf-accent) 86%, #000); + background: color-mix(in srgb, var(--bxf-accent) 90%, #000); +} + +.bxf-button[data-kind="danger"] { color: var(--bxf-error); } +.bxf-button[data-size="small"] { min-height: 32px; padding: 5px 10px; font-size: 12px; } +.bxf-bindButton { flex: none; white-space: nowrap; } + +.bxf-provisionCard { + border-color: color-mix(in srgb, var(--bxf-accent) 32%, var(--dsw-alias-border-l2, #dee0e3)); +} + +.bxf-markStage { + position: relative; + width: 156px; + height: 156px; + display: grid; + place-items: center; + justify-self: end; +} + +.bxf-markStage::before, .bxf-markStage::after { + content: ""; + position: absolute; + border-radius: 50%; +} + +.bxf-markStage::before { + inset: 12px; + border: 1px solid color-mix(in srgb, var(--bxf-accent) 18%, var(--dsw-alias-border-l2, #dee0e3)); + background: color-mix(in srgb, var(--bxf-accent) 4%, var(--dsw-alias-bg-layer-1, #fff)); +} + +.bxf-markStage::after { + inset: 0; + border: 1px dashed color-mix(in srgb, var(--bxf-accent) 16%, transparent); + animation: bxf-rotate 18s linear infinite; +} + +.bxf-brandMark { + position: relative; + z-index: 1; + width: 68px; + height: 68px; + display: grid; + place-items: center; + border-radius: 20px; + color: #fff; + background: var(--bxf-accent); + box-shadow: 0 12px 28px color-mix(in srgb, var(--bxf-accent) 28%, transparent); +} + +.bxf-qrLayout { + display: grid; + grid-template-columns: 236px minmax(0, 1fr); + align-items: center; + gap: 32px; +} + +.bxf-qrColumn { min-width: 0; } + +.bxf-qrFrame { + position: relative; + width: 222px; + height: 222px; + display: grid; + place-items: center; + border: 1px solid var(--dsw-alias-border-l2, #dee0e3); + border-radius: 14px; + padding: 13px; + background: #fff; + box-shadow: 0 8px 24px rgba(31, 35, 41, .07); +} + +.bxf-qrFrame::before, .bxf-qrFrame::after { + content: ""; + position: absolute; + width: 24px; + height: 24px; + border-color: var(--bxf-accent); + border-style: solid; +} + +.bxf-qrFrame::before { inset: -3px auto auto -3px; border-width: 2px 0 0 2px; border-radius: 5px 0 0; } +.bxf-qrFrame::after { inset: auto -3px -3px auto; border-width: 0 2px 2px 0; border-radius: 0 0 5px; } +.bxf-qrFrame img { width: 100%; height: 100%; display: block; object-fit: contain; } + +.bxf-qrFallback { + width: 100%; + height: 100%; + display: grid; + place-items: center; + border-radius: 8px; + color: var(--bxf-accent); + background: #f7f9ff; + text-align: center; + padding: 20px; +} + +.bxf-qrFallback span { display: block; color: #646a73; font-size: 12px; line-height: 18px; margin-top: 8px; } + +.bxf-expiredOverlay { + position: absolute; + inset: 10px; + display: grid; + place-items: center; + border-radius: 9px; + color: #1f2329; + background: rgba(255, 255, 255, .94); + backdrop-filter: blur(3px); + font-size: 13px; + font-weight: 600; + text-align: center; +} + +.bxf-countdown { + width: 222px; + color: var(--dsw-alias-label-tertiary, #8f959e); + font-variant-numeric: tabular-nums; + font-size: 11px; + line-height: 17px; + margin-top: 11px; +} + +.bxf-countdownTop { display: flex; align-items: center; justify-content: space-between; gap: 10px; } +.bxf-progress { height: 3px; overflow: hidden; border-radius: 99px; background: var(--dsw-alias-bg-module-platform, #f2f3f5); margin-top: 6px; } +.bxf-progress > span { display: block; width: var(--bxf-progress, 100%); height: 100%; border-radius: inherit; background: var(--bxf-accent); transition: width 1s linear; } + +.bxf-qrCopy h3 { font-size: 20px; line-height: 29px; font-weight: 650; } +.bxf-qrCopy > p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 7px; } + +.bxf-steps { counter-reset: bxf-step; display: flex; flex-direction: column; gap: 11px; margin: 20px 0 0; padding: 0; list-style: none; } +.bxf-steps li { counter-increment: bxf-step; display: grid; grid-template-columns: 23px minmax(0, 1fr); align-items: start; gap: 9px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 19px; } +.bxf-steps li::before { content: counter(bxf-step); width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--dsw-alias-border-l2, #dee0e3); border-radius: 50%; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font-size: 10px; font-weight: 650; } + +.bxf-connecting { min-height: 292px; display: grid; place-items: center; text-align: center; padding: 36px 24px; } +.bxf-connectingCopy { max-width: 430px; } +.bxf-orbit { position: relative; width: 86px; height: 86px; display: grid; place-items: center; margin: 0 auto 22px; } +.bxf-orbit::before, .bxf-orbit::after { content: ""; position: absolute; border-radius: 50%; } +.bxf-orbit::before { inset: 3px; border: 1px solid color-mix(in srgb, var(--bxf-accent) 24%, transparent); animation: bxf-pulse 1.8s var(--ds-ease-in-out, ease) infinite; } +.bxf-orbit::after { inset: 0; border: 2px solid transparent; border-top-color: var(--bxf-accent); animation: bxf-rotate 1.2s linear infinite; } +.bxf-orbitCore { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; color: var(--bxf-accent); background: color-mix(in srgb, var(--bxf-accent) 9%, var(--dsw-alias-bg-layer-1, #fff)); } +.bxf-connecting h3 { font-size: 20px; line-height: 29px; } +.bxf-connecting p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 7px; } +.bxf-connectingCompact { min-height: 248px; } + +.bxf-inlineError { + min-height: 190px; + display: grid; + grid-template-columns: 44px minmax(0, 1fr); + align-content: center; + gap: 15px; + padding: 28px; +} + +.bxf-inlineError h3 { font-size: 17px; line-height: 25px; margin: 0; } +.bxf-inlineError p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 5px; overflow-wrap: anywhere; } + +.bxf-listSection { display: flex; flex-direction: column; gap: 10px; } +.bxf-listHeading { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 2px; } +.bxf-listHeading h3 { font-size: 14px; line-height: 22px; font-weight: 650; margin: 0; } +.bxf-botList { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; } +.bxf-botList > li { min-width: 0; } +.bxf-botCard:focus { outline: none; } +.bxf-botCard:focus-visible { outline: 2px solid var(--bxf-accent); outline-offset: 2px; } + +.bxf-connectedTop { display: flex; align-items: center; justify-content: space-between; gap: 20px; } +.bxf-botIdentity { min-width: 0; display: flex; align-items: center; gap: 13px; } +.bxf-avatar { flex: none; width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 14px; background: var(--dsw-alias-bg-layer-1, #fff); box-shadow: 0 1px 3px rgb(31 35 41 / 7%); } +.bxf-botName { min-width: 0; } +.bxf-botName h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; line-height: 24px; font-weight: 650; } +.bxf-botName p { overflow: hidden; color: var(--dsw-alias-label-tertiary, #8f959e); font-family: var(--ds-font-family-code, monospace); font-size: 12px; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; } + +.bxf-healthPill { flex: none; display: inline-flex; align-items: center; gap: 7px; min-height: 28px; border-radius: 999px; padding: 4px 10px; color: var(--bxf-success); background: color-mix(in srgb, var(--bxf-success) 10%, transparent); font-size: 12px; font-weight: 600; line-height: 18px; } +.bxf-healthPill[data-health="degraded"], .bxf-healthPill[data-health="checking"], .bxf-healthPill[data-health="connecting"] { color: var(--bxf-warning); background: color-mix(in srgb, var(--bxf-warning) 10%, transparent); } +.bxf-healthPill[data-health="offline"], .bxf-healthPill[data-health="error"] { color: var(--bxf-error); background: color-mix(in srgb, var(--bxf-error) 10%, transparent); } + + +.bxf-responseMode { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; column-gap: 10px; row-gap: 5px; margin-top: 6px; padding: 8px 10px; border: 1px solid var(--dsw-alias-border-l1, #eef0f3); border-radius: 9px; background: var(--dsw-alias-bg-module-platform, #f7f8fa); } +.bxf-responseModeHeader { display: contents; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: normal; } +.bxf-responseModeHeader > span:first-child { grid-column: 1; grid-row: 1; white-space: nowrap; } +.bxf-responseModeStatus { grid-column: 2; grid-row: 1; color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 12px; white-space: nowrap; } +.bxf-responseModeSelect { min-width: 0; width: 100%; grid-column: 1 / -1; grid-row: 2; height: 32px; padding: 0 30px 0 9px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 7px; color: var(--dsw-alias-label-primary, #1f2329); background-color: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 12px; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease; } +.bxf-responseModeSelect:hover:not(:disabled) { border-color: color-mix(in srgb, var(--bxf-accent) 45%, var(--dsw-alias-border-l2, #dfe1e5)); } +.bxf-responseModeSelect:focus-visible { outline: none; border-color: var(--bxf-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--bxf-accent) 16%, transparent); } +.bxf-responseModeSelect:disabled { cursor: not-allowed; opacity: .55; } +.bxf-responseModeHelp { grid-column: 1 / -1; grid-row: 3; color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 11px; line-height: 1.45; } +.bxf-responseModePermissionAction { grid-column: 1 / -1; grid-row: 4; display: flex; justify-content: flex-start; margin-top: 2px; } +.bxf-responseModePermissionButton { min-height: 28px; padding: 3px 9px; color: var(--bxf-accent); border-color: color-mix(in srgb, var(--bxf-accent) 30%, var(--dsw-alias-border-l2, #dfe1e5)); background: var(--dsw-alias-bg-layer-1, #fff); } +.bxf-responseModePermissionButton:hover:not(:disabled) { background: color-mix(in srgb, var(--bxf-accent) 7%, transparent); } +.bxf-responseModeError { grid-column: 1 / -1; grid-row: 5; color: var(--bxf-error); font-size: 12px; line-height: 1.4; margin: 0; } + +.bxf-botProvision { + position: relative; + margin-top: 14px; + scroll-margin-block: 20px; + animation: bxf-revealProvision .2s var(--ds-ease-out, ease-out) both; +} +.bxf-botProvision:focus { outline: none; } +.bxf-botProvision:focus-visible { + outline: 2px solid color-mix(in srgb, var(--bxf-accent) 75%, transparent); + outline-offset: 3px; + border-radius: 12px; +} +.bxf-botProvision > .bxf-provisionCard { + border-radius: 11px; + box-shadow: none; + background: color-mix(in srgb, var(--bxf-accent) 2.5%, var(--dsw-alias-bg-layer-3, #fff)); +} +.bxf-botProvision .bxf-cardBody { padding: 18px; } +.bxf-botProvision .bxf-qrLayout { + grid-template-columns: 184px minmax(0, 1fr); + align-items: start; + gap: 24px; +} +.bxf-botProvision .bxf-qrFrame { width: 176px; height: 176px; padding: 10px; border-radius: 11px; } +.bxf-botProvision .bxf-countdown { width: 176px; } +.bxf-botProvision .bxf-qrCopy h3 { font-size: 18px; line-height: 26px; } +.bxf-botProvision .bxf-steps { gap: 8px; margin-top: 14px; } +.bxf-botProvision .bxf-actions { margin-top: 16px; } +.bxf-botProvision .bxf-inlineError { min-height: 160px; padding: 22px; } + +.bxf-connectedFooter { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--dsw-alias-border-l1, #eef0f3); } +.bxf-healthSummary { min-width: 0; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 18px; } +.bxf-healthSummary[data-error="true"] { color: var(--bxf-error); } +.bxf-botActions { position: relative; flex: none; width: 100%; flex-wrap: wrap; gap: 8px; margin-top: 0; justify-content: flex-end; } +.bxf-botActions .bxf-button { flex: none; white-space: nowrap; } +.bxf-botActions .bxf-repairButton { color: var(--bxf-accent); border-color: color-mix(in srgb, var(--bxf-accent) 35%, var(--dsw-alias-border-l2, #dee0e3)); } +.bxf-botActions .bxf-repairButton:hover:not(:disabled) { background: color-mix(in srgb, var(--bxf-accent) 7%, transparent); } +.bxf-repairAction { display: inline-flex; } +.bxf-repairTooltip { + position: absolute; + right: 0; + bottom: calc(100% + 8px); + z-index: 40; + width: min(330px, 100%); + display: grid; + gap: 3px; + padding: 9px 10px; + border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); + border-radius: 8px; + color: var(--dsw-alias-label-primary, #1f2329); + background: var(--dsw-alias-bg-layer-3, #fff); + box-shadow: 0 10px 28px rgb(31 35 41 / 16%); + opacity: 0; + visibility: hidden; + transform: translateY(3px); + pointer-events: none; + transition: opacity .15s ease, transform .15s ease, visibility .15s ease; +} +.bxf-repairTooltip strong { font-size: 12px; line-height: 17px; font-weight: 650; } +.bxf-repairTooltip > span { color: var(--dsw-alias-label-secondary, #646a73); font-size: 11px; line-height: 17px; font-weight: 400; overflow-wrap: anywhere; } +.bxf-repairAction:hover .bxf-repairTooltip, +.bxf-repairAction:focus-within .bxf-repairTooltip { opacity: 1; visibility: visible; transform: translateY(0); } + +.bxf-confirm { + border-top: 1px solid var(--dsw-alias-border-l2, #dee0e3); + background: color-mix(in srgb, var(--bxf-error) 4%, var(--dsw-alias-bg-module-platform, #f7f8fa)); + padding: 17px 24px 20px; +} +.bxf-confirm:focus { outline: none; } +.bxf-confirm h4 { font-size: 13px; line-height: 20px; margin: 0; } +.bxf-confirm p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 19px; margin: 4px 0 0; } +.bxf-confirm .bxf-actions { margin-top: 12px; } + +.bxf-error { min-height: 252px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-content: center; gap: 15px; padding: 30px; } +.bxf-errorIcon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--bxf-error); background: color-mix(in srgb, var(--bxf-error) 9%, transparent); } +.bxf-error h3 { font-size: 17px; line-height: 25px; } +.bxf-error p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 21px; margin-top: 5px; overflow-wrap: anywhere; } +.bxf-errorCode { display: inline-block; color: var(--dsw-alias-label-tertiary, #8f959e); font-family: var(--ds-font-family-code, monospace); font-size: 11px; margin-top: 7px; } + +.bxf-statusNotice { + display: flex; + align-items: center; + gap: 9px; + border: 1px solid color-mix(in srgb, var(--bxf-warning) 28%, var(--dsw-alias-border-l2, #dee0e3)); + border-radius: 10px; + padding: 9px 11px; + color: var(--dsw-alias-label-secondary, #646a73); + background: color-mix(in srgb, var(--bxf-warning) 5%, var(--dsw-alias-bg-layer-1, #fff)); + font-size: 12px; + line-height: 18px; +} +.bxf-statusNotice > svg { flex: none; color: var(--bxf-warning); } +.bxf-statusNotice > span { min-width: 0; flex: 1; overflow-wrap: anywhere; } + +.bxf-skeleton { min-height: 260px; padding: 28px; } +.bxf-skeletonLine { height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--dsw-alias-bg-module-platform, #f2f3f5), color-mix(in srgb, var(--dsw-alias-label-tertiary, #8f959e) 10%, transparent), var(--dsw-alias-bg-module-platform, #f2f3f5)); background-size: 220% 100%; animation: bxf-shimmer 1.5s linear infinite; } +.bxf-skeletonLine:nth-child(1) { width: 92px; } +.bxf-skeletonLine:nth-child(2) { width: 44%; height: 22px; margin-top: 23px; } +.bxf-skeletonLine:nth-child(3) { width: 72%; margin-top: 14px; } +.bxf-skeletonLine:nth-child(4) { width: 58%; margin-top: 9px; } +.bxf-skeletonBox { width: 138px; height: 38px; border-radius: 8px; background: var(--dsw-alias-bg-module-platform, #f2f3f5); margin-top: 28px; } + +.bxf-visuallyHidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } + +@keyframes bxf-rotate { to { transform: rotate(360deg); } } +@keyframes bxf-pulse { 0%, 100% { transform: scale(.9); opacity: .45; } 50% { transform: scale(1.08); opacity: 1; } } +@keyframes bxf-shimmer { to { background-position: -220% 0; } } +@keyframes bxf-revealProvision { from { opacity: 0; transform: translateY(-5px); } } + +@container (max-width: 620px) { + .bxf-headingTools { gap: 6px; } + .bxf-headingTools .bxf-totalBadge { padding-inline: 8px; } + .bxf-headingTools .bxf-bindButton { padding-inline: 10px; } +} + +@media (max-width: 680px) { + .bxf-intro { grid-template-columns: minmax(0, 1fr); } + .bxf-markStage { display: none; } + .bxf-qrLayout { grid-template-columns: minmax(0, 1fr); justify-items: center; } + .bxf-botProvision .bxf-qrLayout { grid-template-columns: minmax(0, 1fr); } + .bxf-qrCopy { width: 100%; } + .bxf-connectedTop { align-items: flex-start; flex-direction: column; } + .bxf-inlineError { grid-template-columns: minmax(0, 1fr); padding: 20px; } + .bxf-statusNotice { align-items: flex-start; flex-wrap: wrap; } + .bxf-cardBody { padding: 20px; } +} + +@media (prefers-reduced-motion: reduce) { + .bxf-page *, .bxf-page *::before, .bxf-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } +} +`; +function installFeishuStyles() { + if (typeof document === "undefined") { + return () => { + }; + } + const existing = document.querySelector( + `style[data-plugin-css="${FEISHU_STYLE_ID}"]` + ); + if (existing) { + return () => { + }; + } + const style = document.createElement("style"); + style.dataset.plugin = "@xmanrui/dsh-im"; + style.dataset.pluginCss = FEISHU_STYLE_ID; + style.textContent = CSS3; + document.head.appendChild(style); + return () => { + style.remove(); + }; +} + // plugin-src/client/channels/qq/api.js var QQ_RPC_CHANNEL = "/qq"; var QQ_ENDPOINTS = Object.freeze({ @@ -8417,123 +8417,6 @@ function formatRemaining5(milliseconds) { return `${Math.floor(seconds / 60)}:${String(seconds % 60).padStart(2, "0")}`; } -// plugin-src/client/channels/weixin/styles.js -var WEIXIN_STYLE_ID = "xmanrui-dsh-weixin-settings"; -var CSS9 = String.raw` -.dxw-page { - --dxw-accent: #07c160; - --dxw-accent-dark: #05994c; - --dxw-success: var(--dsw-alias-state-success-primary, #20a162); - --dxw-warning: var(--dsw-alias-state-warn-primary, #d97706); - --dxw-error: var(--dsw-alias-state-error-primary, #d54941); - width: 100%; - max-width: 880px; - display: flex; - flex-direction: column; - gap: 18px; - padding: 2px 0 28px; - color: var(--dsw-alias-label-primary, #1f2329); - box-sizing: border-box; -} -.dxw-page *, .dxw-page *::before, .dxw-page *::after { box-sizing: border-box; } -.dxw-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; } -.dxw-heading h2, .dxw-heading p, .dxw-card h3, .dxw-card p { margin: 0; } -.dxw-eyebrow { color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 3px; } -.dxw-heading h2 { font-size: 20px; line-height: 28px; font-weight: 680; } -.dxw-heading p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 20px; margin-top: 5px; white-space: nowrap; } -.dxw-tools, .dxw-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; } -.dxw-tools { width: 100%; justify-content: space-between; flex-wrap: nowrap; } -.dxw-badge { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 11px; border-radius: 999px; color: var(--dsw-alias-label-secondary, #646a73); background: var(--dsw-alias-bg-module-platform, #f2f3f5); font-size: 12px; white-space: nowrap; } -.dxw-dot { width: 8px; height: 8px; border-radius: 50%; background: #aeb3bb; flex: none; } -.dxw-dot[data-tone="success"] { background: var(--dxw-success); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dxw-success) 14%, transparent); } -.dxw-dot[data-tone="warning"] { background: var(--dxw-warning); } -.dxw-dot[data-tone="error"] { background: var(--dxw-error); } -.dxw-button { min-height: 34px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 8px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 13px; font-weight: 560; cursor: pointer; text-decoration: none; transition: border-color .15s ease, background .15s ease, transform .15s ease; } -.dxw-button:hover:not(:disabled) { border-color: #aeb3bb; background: var(--dsw-alias-interactive-bg-hover, #f7f8fa); } -.dxw-button:active:not(:disabled) { transform: translateY(1px); } -.dxw-button:focus-visible, .dxw-input:focus-visible { outline: 2px solid color-mix(in srgb, var(--dxw-accent) 70%, white); outline-offset: 2px; } -.dxw-button:disabled { cursor: not-allowed; opacity: .55; } -.dxw-button[data-kind="primary"] { color: white; border-color: var(--dxw-accent); background: var(--dxw-accent); } -.dxw-button[data-kind="primary"]:hover:not(:disabled) { border-color: var(--dxw-accent-dark); background: var(--dxw-accent-dark); } -.dxw-button[data-kind="danger"] { color: var(--dxw-error); } -.dxw-card { overflow: hidden; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 14px; background: var(--dsw-alias-bg-layer-1, #fff); box-shadow: 0 1px 2px rgb(31 35 41 / 3%); } -.dxw-cardBody { padding: 24px; } -.dxw-empty { min-height: 230px; display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; gap: 30px; } -.dxw-empty h3 { font-size: 18px; margin-bottom: 8px; } -.dxw-empty p { max-width: 560px; color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.65; } -.dxw-empty .dxw-actions { margin-top: 20px; } -.dxw-logo { width: 110px; height: 110px; display: grid; place-items: center; justify-self: center; border-radius: 28px; color: white; background: var(--dxw-accent); box-shadow: 0 18px 45px rgb(7 193 96 / 22%); } -.dxw-logo svg { width: 62px; height: 62px; } -.dxw-qrLayout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 34px; align-items: center; } -.dxw-qrColumn { display: flex; flex-direction: column; align-items: center; gap: 12px; } -.dxw-qrFrame { position: relative; width: 270px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; padding: 10px; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 16px; background: white; } -.dxw-qrFrame img { display: block; width: 100%; height: 100%; object-fit: contain; } -.dxw-qrFallback { padding: 24px; text-align: center; color: #646a73; } -.dxw-expired { position: absolute; inset: 0; display: grid; place-items: center; padding: 30px; color: white; text-align: center; font-weight: 650; background: rgb(31 35 41 / 76%); backdrop-filter: blur(3px); } -.dxw-countdown { width: 270px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; } -.dxw-countdown div { display: flex; justify-content: space-between; margin-bottom: 6px; } -.dxw-progress { height: 4px; overflow: hidden; border-radius: 99px; background: #eef0f3; } -.dxw-progress span { display: block; width: var(--dxw-progress); height: 100%; background: var(--dxw-accent); transition: width .2s linear; } -.dxw-qrCopy h3 { margin: 9px 0 8px; font-size: 18px; } -.dxw-qrCopy > p { color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.65; } -.dxw-steps { margin: 18px 0 22px; padding-left: 22px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 1.9; } -.dxw-stateLabel { display: inline-flex; align-items: center; gap: 8px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; font-weight: 600; } -.dxw-verify { max-width: 560px; margin: 0 auto; padding: 32px; text-align: center; } -.dxw-verify h3 { margin: 8px 0; font-size: 19px; } -.dxw-verify p { color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.6; } -.dxw-codeRow { display: flex; justify-content: center; gap: 10px; margin: 24px 0 10px; } -.dxw-input { width: 190px; height: 42px; padding: 0 14px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 9px; background: var(--dsw-alias-bg-layer-1, white); color: inherit; font: inherit; font-size: 18px; letter-spacing: .16em; text-align: center; } -.dxw-statusNotice, .dxw-error { display: flex; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--dxw-error) 28%, transparent); border-radius: 10px; color: var(--dxw-error); background: color-mix(in srgb, var(--dxw-error) 7%, transparent); font-size: 13px; } -.dxw-error { align-items: flex-start; flex-direction: column; padding: 22px; } -.dxw-error h3 { font-size: 17px; } -.dxw-errorCode { font-family: ui-monospace, SFMono-Regular, monospace; font-size: 11px; opacity: .8; } -.dxw-listHeading { display: flex; justify-content: space-between; align-items: center; margin: 2px 0 9px; } -.dxw-listHeading h3 { margin: 0; font-size: 14px; } -.dxw-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; } -.dxw-accountTop { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } -.dxw-accountIdentity { display: flex; align-items: center; gap: 12px; min-width: 0; } -.dxw-avatar { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 12px; color: white; background: var(--dxw-accent); } -.dxw-accountIdentity h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; } -.dxw-accountIdentity p { color: var(--dsw-alias-label-secondary, #646a73); font: 12px ui-monospace, SFMono-Regular, monospace; margin-top: 4px; } -.dxw-health { display: inline-flex; align-items: center; gap: 7px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; white-space: nowrap; } -.dxw-accountFooter { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 16px; border-top: 1px solid var(--dsw-alias-border-l1, #eef0f3); } -.dxw-accountFooter .dxw-actions { flex: none; flex-wrap: nowrap; gap: 8px; margin-top: 0; } -.dxw-accountFooter .dxw-button { flex: none; white-space: nowrap; } -.dxw-summary { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; } -.dxw-confirm { padding: 18px 24px; border-top: 1px solid color-mix(in srgb, var(--dxw-error) 25%, transparent); background: color-mix(in srgb, var(--dxw-error) 5%, transparent); } -.dxw-confirm strong { display: block; font-size: 14px; margin-bottom: 6px; } -.dxw-confirm p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 1.55; } -.dxw-confirm .dxw-actions { margin-top: 13px; } -.dxw-loading { padding: 36px; color: var(--dsw-alias-label-secondary, #646a73); text-align: center; } -.dxw-spinner { width: 24px; height: 24px; margin: 0 auto 12px; border: 3px solid #e6e8eb; border-top-color: var(--dxw-accent); border-radius: 50%; animation: dxw-spin .8s linear infinite; } -.dxw-visuallyHidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } -@keyframes dxw-spin { to { transform: rotate(360deg); } } -@media (max-width: 720px) { - .dxw-heading, .dxw-accountTop { flex-direction: column; align-items: stretch; } - .dxw-empty { grid-template-columns: minmax(0, 1fr); } - .dxw-logo { display: none; } - .dxw-qrLayout { grid-template-columns: minmax(0, 1fr); justify-items: center; } - .dxw-qrCopy { width: 100%; } - .dxw-cardBody { padding: 20px; } -} -@media (prefers-reduced-motion: reduce) { - .dxw-page *, .dxw-page *::before, .dxw-page *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } -} -`; -function installWeixinStyles() { - if (typeof document === "undefined") return () => { - }; - const existing = document.querySelector(`style[data-plugin-css="${WEIXIN_STYLE_ID}"]`); - if (existing) return () => { - }; - const style = document.createElement("style"); - style.dataset.plugin = "@xmanrui/dsh-weixin"; - style.dataset.pluginCss = WEIXIN_STYLE_ID; - style.textContent = CSS9; - document.head.appendChild(style); - return () => style.remove(); -} - // plugin-src/client/channels/weixin/index.js var Button12 = React18.forwardRef(function Button13({ children, kind = "secondary", className = "", ...props }, ref) { return h2("button", { @@ -9320,6 +9203,123 @@ function WeixinSettingsTab({ rpcCall }) { )); } +// plugin-src/client/channels/weixin/styles.js +var WEIXIN_STYLE_ID = "xmanrui-dsh-im-weixin-settings"; +var CSS9 = String.raw` +.dxw-page { + --dxw-accent: #07c160; + --dxw-accent-dark: #05994c; + --dxw-success: var(--dsw-alias-state-success-primary, #20a162); + --dxw-warning: var(--dsw-alias-state-warn-primary, #d97706); + --dxw-error: var(--dsw-alias-state-error-primary, #d54941); + width: 100%; + max-width: 880px; + display: flex; + flex-direction: column; + gap: 18px; + padding: 2px 0 28px; + color: var(--dsw-alias-label-primary, #1f2329); + box-sizing: border-box; +} +.dxw-page *, .dxw-page *::before, .dxw-page *::after { box-sizing: border-box; } +.dxw-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; } +.dxw-heading h2, .dxw-heading p, .dxw-card h3, .dxw-card p { margin: 0; } +.dxw-eyebrow { color: var(--dsw-alias-label-tertiary, #8f959e); font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 3px; } +.dxw-heading h2 { font-size: 20px; line-height: 28px; font-weight: 680; } +.dxw-heading p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 20px; margin-top: 5px; white-space: nowrap; } +.dxw-tools, .dxw-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; } +.dxw-tools { width: 100%; justify-content: space-between; flex-wrap: nowrap; } +.dxw-badge { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 0 11px; border-radius: 999px; color: var(--dsw-alias-label-secondary, #646a73); background: var(--dsw-alias-bg-module-platform, #f2f3f5); font-size: 12px; white-space: nowrap; } +.dxw-dot { width: 8px; height: 8px; border-radius: 50%; background: #aeb3bb; flex: none; } +.dxw-dot[data-tone="success"] { background: var(--dxw-success); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dxw-success) 14%, transparent); } +.dxw-dot[data-tone="warning"] { background: var(--dxw-warning); } +.dxw-dot[data-tone="error"] { background: var(--dxw-error); } +.dxw-button { min-height: 34px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 8px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--dsw-alias-label-primary, #1f2329); background: var(--dsw-alias-bg-layer-1, #fff); font: inherit; font-size: 13px; font-weight: 560; cursor: pointer; text-decoration: none; transition: border-color .15s ease, background .15s ease, transform .15s ease; } +.dxw-button:hover:not(:disabled) { border-color: #aeb3bb; background: var(--dsw-alias-interactive-bg-hover, #f7f8fa); } +.dxw-button:active:not(:disabled) { transform: translateY(1px); } +.dxw-button:focus-visible, .dxw-input:focus-visible { outline: 2px solid color-mix(in srgb, var(--dxw-accent) 70%, white); outline-offset: 2px; } +.dxw-button:disabled { cursor: not-allowed; opacity: .55; } +.dxw-button[data-kind="primary"] { color: white; border-color: var(--dxw-accent); background: var(--dxw-accent); } +.dxw-button[data-kind="primary"]:hover:not(:disabled) { border-color: var(--dxw-accent-dark); background: var(--dxw-accent-dark); } +.dxw-button[data-kind="danger"] { color: var(--dxw-error); } +.dxw-card { overflow: hidden; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 14px; background: var(--dsw-alias-bg-layer-1, #fff); box-shadow: 0 1px 2px rgb(31 35 41 / 3%); } +.dxw-cardBody { padding: 24px; } +.dxw-empty { min-height: 230px; display: grid; grid-template-columns: minmax(0, 1fr) 180px; align-items: center; gap: 30px; } +.dxw-empty h3 { font-size: 18px; margin-bottom: 8px; } +.dxw-empty p { max-width: 560px; color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.65; } +.dxw-empty .dxw-actions { margin-top: 20px; } +.dxw-logo { width: 110px; height: 110px; display: grid; place-items: center; justify-self: center; border-radius: 28px; color: white; background: var(--dxw-accent); box-shadow: 0 18px 45px rgb(7 193 96 / 22%); } +.dxw-logo svg { width: 62px; height: 62px; } +.dxw-qrLayout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 34px; align-items: center; } +.dxw-qrColumn { display: flex; flex-direction: column; align-items: center; gap: 12px; } +.dxw-qrFrame { position: relative; width: 270px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; padding: 10px; border: 1px solid var(--dsw-alias-border-l2, #e5e6eb); border-radius: 16px; background: white; } +.dxw-qrFrame img { display: block; width: 100%; height: 100%; object-fit: contain; } +.dxw-qrFallback { padding: 24px; text-align: center; color: #646a73; } +.dxw-expired { position: absolute; inset: 0; display: grid; place-items: center; padding: 30px; color: white; text-align: center; font-weight: 650; background: rgb(31 35 41 / 76%); backdrop-filter: blur(3px); } +.dxw-countdown { width: 270px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; } +.dxw-countdown div { display: flex; justify-content: space-between; margin-bottom: 6px; } +.dxw-progress { height: 4px; overflow: hidden; border-radius: 99px; background: #eef0f3; } +.dxw-progress span { display: block; width: var(--dxw-progress); height: 100%; background: var(--dxw-accent); transition: width .2s linear; } +.dxw-qrCopy h3 { margin: 9px 0 8px; font-size: 18px; } +.dxw-qrCopy > p { color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.65; } +.dxw-steps { margin: 18px 0 22px; padding-left: 22px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 13px; line-height: 1.9; } +.dxw-stateLabel { display: inline-flex; align-items: center; gap: 8px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; font-weight: 600; } +.dxw-verify { max-width: 560px; margin: 0 auto; padding: 32px; text-align: center; } +.dxw-verify h3 { margin: 8px 0; font-size: 19px; } +.dxw-verify p { color: var(--dsw-alias-label-secondary, #646a73); line-height: 1.6; } +.dxw-codeRow { display: flex; justify-content: center; gap: 10px; margin: 24px 0 10px; } +.dxw-input { width: 190px; height: 42px; padding: 0 14px; border: 1px solid var(--dsw-alias-border-l2, #dfe1e5); border-radius: 9px; background: var(--dsw-alias-bg-layer-1, white); color: inherit; font: inherit; font-size: 18px; letter-spacing: .16em; text-align: center; } +.dxw-statusNotice, .dxw-error { display: flex; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--dxw-error) 28%, transparent); border-radius: 10px; color: var(--dxw-error); background: color-mix(in srgb, var(--dxw-error) 7%, transparent); font-size: 13px; } +.dxw-error { align-items: flex-start; flex-direction: column; padding: 22px; } +.dxw-error h3 { font-size: 17px; } +.dxw-errorCode { font-family: ui-monospace, SFMono-Regular, monospace; font-size: 11px; opacity: .8; } +.dxw-listHeading { display: flex; justify-content: space-between; align-items: center; margin: 2px 0 9px; } +.dxw-listHeading h3 { margin: 0; font-size: 14px; } +.dxw-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; } +.dxw-accountTop { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } +.dxw-accountIdentity { display: flex; align-items: center; gap: 12px; min-width: 0; } +.dxw-avatar { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 12px; color: white; background: var(--dxw-accent); } +.dxw-accountIdentity h3 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; } +.dxw-accountIdentity p { color: var(--dsw-alias-label-secondary, #646a73); font: 12px ui-monospace, SFMono-Regular, monospace; margin-top: 4px; } +.dxw-health { display: inline-flex; align-items: center; gap: 7px; color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; white-space: nowrap; } +.dxw-accountFooter { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 16px; border-top: 1px solid var(--dsw-alias-border-l1, #eef0f3); } +.dxw-accountFooter .dxw-actions { flex: none; flex-wrap: nowrap; gap: 8px; margin-top: 0; } +.dxw-accountFooter .dxw-button { flex: none; white-space: nowrap; } +.dxw-summary { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; } +.dxw-confirm { padding: 18px 24px; border-top: 1px solid color-mix(in srgb, var(--dxw-error) 25%, transparent); background: color-mix(in srgb, var(--dxw-error) 5%, transparent); } +.dxw-confirm strong { display: block; font-size: 14px; margin-bottom: 6px; } +.dxw-confirm p { color: var(--dsw-alias-label-secondary, #646a73); font-size: 12px; line-height: 1.55; } +.dxw-confirm .dxw-actions { margin-top: 13px; } +.dxw-loading { padding: 36px; color: var(--dsw-alias-label-secondary, #646a73); text-align: center; } +.dxw-spinner { width: 24px; height: 24px; margin: 0 auto 12px; border: 3px solid #e6e8eb; border-top-color: var(--dxw-accent); border-radius: 50%; animation: dxw-spin .8s linear infinite; } +.dxw-visuallyHidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } +@keyframes dxw-spin { to { transform: rotate(360deg); } } +@media (max-width: 720px) { + .dxw-heading, .dxw-accountTop { flex-direction: column; align-items: stretch; } + .dxw-empty { grid-template-columns: minmax(0, 1fr); } + .dxw-logo { display: none; } + .dxw-qrLayout { grid-template-columns: minmax(0, 1fr); justify-items: center; } + .dxw-qrCopy { width: 100%; } + .dxw-cardBody { padding: 20px; } +} +@media (prefers-reduced-motion: reduce) { + .dxw-page *, .dxw-page *::before, .dxw-page *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } +} +`; +function installWeixinStyles() { + if (typeof document === "undefined") return () => { + }; + const existing = document.querySelector(`style[data-plugin-css="${WEIXIN_STYLE_ID}"]`); + if (existing) return () => { + }; + const style = document.createElement("style"); + style.dataset.plugin = "@xmanrui/dsh-im"; + style.dataset.pluginCss = WEIXIN_STYLE_ID; + style.textContent = CSS9; + document.head.appendChild(style); + return () => style.remove(); +} + // plugin-src/client/channels/whatsapp/api.js var WHATSAPP_RPC_CHANNEL = "/whatsapp"; var WHATSAPP_ENDPOINTS = Object.freeze({ @@ -10917,10 +10917,10 @@ function apply(ctx) { listDirectory: (path, signal) => ctx.workspaces.listDirectory(path, signal), pickDirectory: () => ctx.workspaces.pickDirectory() }); - ctx.slots.inject("settings.plugins.tab", () => ctx.slots.register({ - name: "settings.plugins.tab", - id: "im", - order: 20, + ctx.slots.inject("settings.section", () => ctx.slots.register({ + name: "settings.section", + id: "xmanrui-dsh-im", + order: 21, label: () => t("IM\u673A\u5668\u4EBA"), locale: IM_LOCALE_NAMESPACE, inject: () => ({ diff --git a/lib/index.js b/lib/index.js index 72ac9c7..1088396 100644 --- a/lib/index.js +++ b/lib/index.js @@ -103,7 +103,7 @@ Subsequent messages will use this model and reasoning effort.`,"\u63A8\u7406\u7B {effort} Current model: {model} -Subsequent messages will use this reasoning effort.`,"\u7528\u6CD5\uFF1A/compact\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /compact (no arguments)","\u6682\u65E0\u53EF\u538B\u7F29\u7684\u5386\u53F2\u8BB0\u5F55\u3002":"No compactable history yet.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\u6216\u6267\u884C\u538B\u7F29\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The current Session is generating a reply or compacting; please try again later.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002":"Context compaction was cancelled.","\u538B\u7F29\u671F\u95F4\u4F1A\u8BDD\u5386\u53F2\u53D1\u751F\u53D8\u5316\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The Session history changed during compaction; the Session was not modified this time, please try again.","\u672A\u80FD\u751F\u6210\u6709\u6548\u7684\u538B\u7F29\u6458\u8981\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\u3002":"Could not produce a useful compaction summary; the Session was not modified this time.","\u4E0A\u4E0B\u6587\u538B\u7F29\u672A\u6B63\u5E38\u5B8C\u6210\uFF0C\u90E8\u5206\u4F1A\u8BDD\u5386\u53F2\u53EF\u80FD\u5DF2\u53D8\u5316\uFF0C\u8BF7\u68C0\u67E5\u4F1A\u8BDD\u540E\u518D\u91CD\u8BD5\u3002":"Context compaction did not finish cleanly; some Session history may have changed. Please inspect the Session before retrying.","\u4E0A\u4E0B\u6587\u5DF2\u538B\u7F29\uFF0C\u4F46\u4F1A\u8BDD\u4FDD\u5B58\u5931\u8D25\u3002":"Context was compacted, but saving the Session failed.","\u5DF2\u538B\u7F29 {count} \u6761\u5386\u53F2\u8BB0\u5F55\uFF08\u7EA6 {tokens} \u4E2A token\uFF09\u3002":"Compacted {count} history items (~{tokens} tokens).","\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u3002":"Context compaction completed.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\u3002":"Context compaction failed.","\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u7684\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u53D1\u9001\u65B0\u6D88\u606F\u5F00\u542F\u4F1A\u8BDD\u3002":"The Session bound to this chat no longer exists; please send a new message to start a Session.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The current Session is generating a reply; please try again later.","\u5F53\u524D Harness \u6682\u4E0D\u652F\u6301\u4ECE\u673A\u5668\u4EBA\u6267\u884C\u4E0A\u4E0B\u6587\u538B\u7F29\u3002":"The current Harness does not support running context compaction from a bot yet.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Context compaction failed; please try again later.","\u5F53\u524D\u673A\u5668\u4EBA\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u8BDD\u72B6\u6001\u3002":"This bot has no available Session state.","\u5F53\u524D\u804A\u5929\u8FD8\u6CA1\u6709\u53EF\u538B\u7F29\u7684\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u53D1\u9001\u4E00\u6761\u6D88\u606F\u3002":"This chat has no Session to compact yet; please send a message first.","\u5F53\u524D\u673A\u5668\u4EBA\u6682\u4E0D\u652F\u6301\u4E0A\u4E0B\u6587\u538B\u7F29\u3002":"This bot does not support context compaction yet.","\u5F53\u524D Harness \u672A\u6CE8\u518C /compact \u547D\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u4E0A\u4E0B\u6587\u538B\u7F29\u7EC4\u4EF6\u5DF2\u542F\u7528\u3002":"The current Harness has not registered the /compact command; please make sure the context compaction component is enabled.","\u7528\u6CD5\uFF1A/stop\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /stop (no arguments)","\u7528\u6CD5\uFF1A/version\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /version (no arguments)","\u7528\u6CD5\uFF1A/steer <\u8865\u5145\u6307\u4EE4>":"Usage: /steer ","\u63A7\u5236\u547D\u4EE4\u4EC5\u652F\u6301\u7EAF\u6587\u5B57\uFF0C\u8BF7\u79FB\u9664\u56FE\u7247\u540E\u91CD\u8BD5\u3002":"Control commands support text only; please remove images and try again.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002":"This chat has no running task.","\u5DF2\u8BF7\u6C42\u505C\u6B62\u5F53\u524D\u4EFB\u52A1\u3002":"Stop requested for the current task.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\uFF0C\u8BF7\u76F4\u63A5\u53D1\u9001\u666E\u901A\u6D88\u606F\u3002":"This chat has no running task; just send a regular message.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u7ED1\u5B9A\u4F1A\u8BDD\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u5148\u7ED1\u5B9A\u4F1A\u8BDD\u3002":"No session is bound to this chat, so an additional instruction cannot be given. Bind a session first.","\u4EFB\u52A1\u5DF2\u7ED3\u675F\uFF0C\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u76F4\u63A5\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u65B0\u4EFB\u52A1\u3002":"The task has ended and there is no running task to steer. Send a message to start a new task.","\u5DF2\u63D0\u4EA4\u8865\u5145\u6307\u4EE4\uFF0CAgent \u4F1A\u5728\u4E0B\u4E00\u6B65\u8BFB\u53D6\u3002":"Additional instruction submitted; the Agent will read it at the next step."};var JU={"\u8BF7\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\uFF08\u4E5F\u652F\u6301\uFF1A\u540C\u610F / \u4E0D\u540C\u610F / yes / no\uFF09\u3002":"Please reply exactly with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject). Also accepted: \u540C\u610F / \u4E0D\u540C\u610F / yes / no.","\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u95EE\u9898\uFF0C\u518D\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002":"Please finish the current question first, then reply exactly with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject).","\u8BE5\u5BA1\u6279\u5DF2\u5904\u7406\uFF0C\u65E0\u9700\u518D\u6B21\u56DE\u590D\u3002":"This approval has already been handled; no need to reply again.","DeepSeek Harness \u9700\u8981\u4F60\u7684\u5BA1\u6279\uFF1A":"DeepSeek Harness needs your approval:","\u5DE5\u5177\uFF1A{tool}":"Tool: {tool}","\u64CD\u4F5C\u53C2\u6570\uFF1A":"Operation parameters:","\u539F\u56E0\uFF1A{reason}":"Reason: {reason}","\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u5BA1\u6279\u51B3\u5B9A\u3002":"In group chats, please @ the bot before sending your approval decision.","\u53EA\u6709\u53D1\u8D77\u5F53\u524D\u4EFB\u52A1\u7684\u7528\u6237\u53EF\u4EE5\u5904\u7406\u8FD9\u6761\u5BA1\u6279\u3002":"Only the user who started the current task can handle this approval.","\u5BA1\u6279\u51B3\u5B9A\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u3002":"Your approval decision is being submitted; please wait.","\u5DF2\u6279\u51C6\uFF0C\u4EC5\u5BF9\u672C\u6B21\u64CD\u4F5C\u6709\u6548\u3002":"Approved \u2014 valid for this operation only.","\u5DF2\u62D2\u7EDD\u6B64\u6B21\u64CD\u4F5C\u3002":"This operation was rejected.","\u65E0\u6CD5\u5B8C\u6574\u5C55\u793A\u8FD9\u6B21\u64CD\u4F5C\uFF0C\u5DF2\u5B89\u5168\u62D2\u7EDD\u6B64\u6B21\u5BA1\u6279\u3002":"The operation could not be displayed in full, so this approval was safely rejected.","\u5BA1\u6279\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002":"Failed to submit the approval; please reply with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject) again.","DeepSeek Harness \u9700\u8981\u4F60\u8865\u5145\u4FE1\u606F{progress}\uFF1A":"DeepSeek Harness needs more information{progress}:","\u8BF7\u8F93\u5165\u4F60\u7684\u56DE\u7B54\u3002":"Please enter your answer.","\u8BF7\u56DE\u590D\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF1B\u591A\u9009\u7528\u9017\u53F7\u5206\u9694\uFF0C\u4E5F\u53EF\u8865\u5145\u5176\u4ED6\u5185\u5BB9\u3002":"Reply with option numbers or text; separate multiple choices with commas, or add anything else.","\u8BF7\u56DE\u590D\u4E00\u4E2A\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u5176\u4ED6\u7B54\u6848\u3002":"Reply with an option number or its text, or type your own answer directly.","\u8BF7\u76F4\u63A5\u56DE\u590D\u4F60\u7684\u7B54\u6848\u3002":"Please reply with your answer directly.","\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u7B54\u6848\u3002":"In group chats, please @ the bot before sending your answer.","\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u56FE\u7247\uFF0C\u8BF7\u7528 /models \u67E5\u770B\u53EF\u7528\u6A21\u578B\uFF0C\u518D\u7528 /model <\u5E8F\u53F7> \u5207\u6362\u540E\u91CD\u53D1\u3002":"The current model does not support images. Use /models to list available models, switch with /model , then resend.","\u56FE\u7247\u8D85\u8FC7\u5BBF\u4E3B\u5141\u8BB8\u7684\u5927\u5C0F\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image exceeds the size allowed by the host; compress it and try again.","\u56FE\u7247\u5206\u8FA8\u7387\u8FC7\u9AD8\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image resolution is too high; compress it and try again.","\u56FE\u7247\u5185\u5BB9\u65E0\u6548\u6216\u683C\u5F0F\u4E0D\u53D7\u652F\u6301\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The image content is invalid or its format is unsupported; please resend it.","\u672A\u80FD\u8BFB\u53D6\u56FE\u7247\u5185\u5BB9\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"Could not read the image content; please resend it.","\u56FE\u7247\u683C\u5F0F\u4E0E\u5B9E\u9645\u5185\u5BB9\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The image format does not match its actual content; please resend it.","\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u6570\u91CF\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u540E\u91CD\u8BD5\u3002":"The number of images sent at once exceeds the host limit; send fewer and try again.","\u56FE\u7247\u603B\u5927\u5C0F\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The total image size exceeds the host limit; send fewer images or compress them and try again.","\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\u53D1\u751F\u4E86\u91CD\u5B9A\u5411\uFF0C\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u3002":"The image download URL redirected and cannot be read right now.","\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF08HTTP {status}\uFF09\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"Image download failed (HTTP {status}); please resend it and try again.","\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image is larger than 5 MB; compress it and try again.","\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u5904\u7406 {maxImages} \u5F20\u56FE\u7247\u3002":"At most {maxImages} images can be processed at once.","\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u603B\u5927\u5C0F\u8FC7\u5927\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6570\u91CF\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The total size of the images sent is too large; send fewer images or compress them and try again.","\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"Image download failed; please resend it and try again.","\u6682\u4E0D\u652F\u6301\u8BE5\u56FE\u7247\u683C\u5F0F\uFF0C\u8BF7\u53D1\u9001 JPEG\u3001PNG\u3001WebP \u6216 GIF \u56FE\u7247\u3002":"This image format is not supported yet; please send a JPEG, PNG, WebP, or GIF image.","\u2705 DeepSeek Harness \u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F":"\u2705 DeepSeek Harness connection test succeeded","\u8FD9\u6761\u6D88\u606F\u7531\u63D2\u4EF6\u9875\u9762\u4E2D\u7684\u201C{name}\u201D\u673A\u5668\u4EBA\u5361\u7247\u53D1\u51FA\u3002":'This message was sent from the "{name}" bot card on the plugin page.',"{channelLabel}\u5C1A\u672A\u6536\u5230\u53EF\u7528\u4E8E\u6D4B\u8BD5\u7684\u79C1\u804A\u6D88\u606F\u3002":"The {channelLabel} has not received a direct message that can be used for testing yet.",\u673A\u5668\u4EBA:"bot","\u6B63\u5728\u5904\u7406\u2026":"Processing\u2026","\u5904\u7406\u5B8C\u6210\u3002":"Processing complete.",\u5DE5\u5177:"tool","\u6B63\u5728\u6574\u7406\u7ED3\u679C\u2026":"Gathering results\u2026","_\u6B63\u5728\u641C\u7D22\u7F51\u7EDC\u5E76\u6574\u7406\u4FE1\u606F\u2026_":"_Searching the web and gathering information\u2026_","_\u6B63\u5728\u4F7F\u7528 {name}\u2026_":"_Using {name}\u2026_","\u8BF7\u5206\u6790\u8FD9\u5F20\u56FE\u7247\u3002":"Analyze this image.","\u6587\u4EF6\u63A5\u6536\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"File reception failed. Please resend it.","\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"File download failed. Please resend it.","Agent Preset \u65E0\u6548\u3002":"Invalid Agent Preset.","/batch \u5F00\u59CB\u6279\u91CF\u8F93\u5165\uFF08\u4EC5\u79C1\u804A\uFF0C\u6700\u591A 10 \u6761\u6587\u5B57\uFF09":"/batch Start batch input (direct messages only, up to 10 text messages)","/send \u63D0\u4EA4\u5F53\u524D\u6279\u6B21":"/send Submit the current batch","/cancel \u53D6\u6D88\u5F53\u524D\u6279\u6B21":"/cancel Cancel the current batch","\u5F00\u59CB\u6279\u91CF\u8F93\u5165\uFF08\u4EC5\u79C1\u804A\uFF09":"Start batch input (direct messages only)",\u63D0\u4EA4\u5F53\u524D\u6279\u6B21:"Submit the current batch",\u53D6\u6D88\u5F53\u524D\u6279\u6B21:"Cancel the current batch","\u5F53\u524D\u5DF2\u5904\u4E8E\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\uFF0C\u5DF2\u6536\u96C6 {count}/{limit} \u6761\u3002\n\u8BF7\u53D1\u9001 /send \u63D0\u4EA4\u6216 /cancel \u53D6\u6D88\u3002":`Batch input is already active with {count}/{limit} messages collected. +Subsequent messages will use this reasoning effort.`,"\u7528\u6CD5\uFF1A/compact\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /compact (no arguments)","\u6682\u65E0\u53EF\u538B\u7F29\u7684\u5386\u53F2\u8BB0\u5F55\u3002":"No compactable history yet.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\u6216\u6267\u884C\u538B\u7F29\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The current Session is generating a reply or compacting; please try again later.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002":"Context compaction was cancelled.","\u538B\u7F29\u671F\u95F4\u4F1A\u8BDD\u5386\u53F2\u53D1\u751F\u53D8\u5316\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\uFF0C\u8BF7\u91CD\u8BD5\u3002":"The Session history changed during compaction; the Session was not modified this time, please try again.","\u672A\u80FD\u751F\u6210\u6709\u6548\u7684\u538B\u7F29\u6458\u8981\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\u3002":"Could not produce a useful compaction summary; the Session was not modified this time.","\u4E0A\u4E0B\u6587\u538B\u7F29\u672A\u6B63\u5E38\u5B8C\u6210\uFF0C\u90E8\u5206\u4F1A\u8BDD\u5386\u53F2\u53EF\u80FD\u5DF2\u53D8\u5316\uFF0C\u8BF7\u68C0\u67E5\u4F1A\u8BDD\u540E\u518D\u91CD\u8BD5\u3002":"Context compaction did not finish cleanly; some Session history may have changed. Please inspect the Session before retrying.","\u4E0A\u4E0B\u6587\u5DF2\u538B\u7F29\uFF0C\u4F46\u4F1A\u8BDD\u4FDD\u5B58\u5931\u8D25\u3002":"Context was compacted, but saving the Session failed.","\u5DF2\u538B\u7F29 {count} \u6761\u5386\u53F2\u8BB0\u5F55\uFF08\u7EA6 {tokens} \u4E2A token\uFF09\u3002":"Compacted {count} history items (~{tokens} tokens).","\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u3002":"Context compaction completed.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\u3002":"Context compaction failed.","\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u7684\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u53D1\u9001\u65B0\u6D88\u606F\u5F00\u542F\u4F1A\u8BDD\u3002":"The Session bound to this chat no longer exists; please send a new message to start a Session.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The current Session is generating a reply; please try again later.","\u5F53\u524D Harness \u6682\u4E0D\u652F\u6301\u4ECE\u673A\u5668\u4EBA\u6267\u884C\u4E0A\u4E0B\u6587\u538B\u7F29\u3002":"The current Harness does not support running context compaction from a bot yet.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Context compaction failed; please try again later.","\u5F53\u524D\u673A\u5668\u4EBA\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u8BDD\u72B6\u6001\u3002":"This bot has no available Session state.","\u5F53\u524D\u804A\u5929\u8FD8\u6CA1\u6709\u53EF\u538B\u7F29\u7684\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u53D1\u9001\u4E00\u6761\u6D88\u606F\u3002":"This chat has no Session to compact yet; please send a message first.","\u5F53\u524D\u673A\u5668\u4EBA\u6682\u4E0D\u652F\u6301\u4E0A\u4E0B\u6587\u538B\u7F29\u3002":"This bot does not support context compaction yet.","\u5F53\u524D Harness \u672A\u6CE8\u518C /compact \u547D\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u4E0A\u4E0B\u6587\u538B\u7F29\u7EC4\u4EF6\u5DF2\u542F\u7528\u3002":"The current Harness has not registered the /compact command; please make sure the context compaction component is enabled.","\u7528\u6CD5\uFF1A/stop\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /stop (no arguments)","\u7528\u6CD5\uFF1A/version\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /version (no arguments)","\u7528\u6CD5\uFF1A/steer <\u8865\u5145\u6307\u4EE4>":"Usage: /steer ","\u63A7\u5236\u547D\u4EE4\u4EC5\u652F\u6301\u7EAF\u6587\u5B57\uFF0C\u8BF7\u79FB\u9664\u56FE\u7247\u540E\u91CD\u8BD5\u3002":"Control commands support text only; please remove images and try again.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002":"This chat has no running task.","\u5DF2\u8BF7\u6C42\u505C\u6B62\u5F53\u524D\u4EFB\u52A1\u3002":"Stop requested for the current task.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\uFF0C\u8BF7\u76F4\u63A5\u53D1\u9001\u666E\u901A\u6D88\u606F\u3002":"This chat has no running task; just send a regular message.","\u5F53\u524D\u804A\u5929\u6CA1\u6709\u7ED1\u5B9A\u4F1A\u8BDD\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u5148\u7ED1\u5B9A\u4F1A\u8BDD\u3002":"No session is bound to this chat, so an additional instruction cannot be given. Bind a session first.","\u4EFB\u52A1\u5DF2\u7ED3\u675F\uFF0C\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u76F4\u63A5\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u65B0\u4EFB\u52A1\u3002":"The task has ended and there is no running task to steer. Send a message to start a new task.","\u5DF2\u63D0\u4EA4\u8865\u5145\u6307\u4EE4\uFF0CAgent \u4F1A\u5728\u4E0B\u4E00\u6B65\u8BFB\u53D6\u3002":"Additional instruction submitted; the Agent will read it at the next step."};var JU={"\u8BF7\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\uFF08\u4E5F\u652F\u6301\uFF1A\u540C\u610F / \u4E0D\u540C\u610F / yes / no\uFF09\u3002":"Please reply exactly with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject). Also accepted: \u540C\u610F / \u4E0D\u540C\u610F / yes / no.","\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u95EE\u9898\uFF0C\u518D\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002":"Please finish the current question first, then reply exactly with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject).","\u8BE5\u5BA1\u6279\u5DF2\u5904\u7406\uFF0C\u65E0\u9700\u518D\u6B21\u56DE\u590D\u3002":"This approval has already been handled; no need to reply again.","DeepSeek Harness \u9700\u8981\u4F60\u7684\u5BA1\u6279\uFF1A":"DeepSeek Harness needs your approval:","\u5DE5\u5177\uFF1A{tool}":"Tool: {tool}","\u64CD\u4F5C\u53C2\u6570\uFF1A":"Operation parameters:","\u539F\u56E0\uFF1A{reason}":"Reason: {reason}","\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u5BA1\u6279\u51B3\u5B9A\u3002":"In group chats, please @ the bot before sending your approval decision.","\u53EA\u6709\u53D1\u8D77\u5F53\u524D\u4EFB\u52A1\u7684\u7528\u6237\u53EF\u4EE5\u5904\u7406\u8FD9\u6761\u5BA1\u6279\u3002":"Only the user who started the current task can handle this approval.","\u5BA1\u6279\u51B3\u5B9A\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u3002":"Your approval decision is being submitted; please wait.","\u5DF2\u6279\u51C6\uFF0C\u4EC5\u5BF9\u672C\u6B21\u64CD\u4F5C\u6709\u6548\u3002":"Approved \u2014 valid for this operation only.","\u5DF2\u62D2\u7EDD\u6B64\u6B21\u64CD\u4F5C\u3002":"This operation was rejected.","\u65E0\u6CD5\u5B8C\u6574\u5C55\u793A\u8FD9\u6B21\u64CD\u4F5C\uFF0C\u5DF2\u5B89\u5168\u62D2\u7EDD\u6B64\u6B21\u5BA1\u6279\u3002":"The operation could not be displayed in full, so this approval was safely rejected.","\u5BA1\u6279\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002":"Failed to submit the approval; please reply with \u300C\u6279\u51C6\u300D (approve) or \u300C\u62D2\u7EDD\u300D (reject) again.","DeepSeek Harness \u9700\u8981\u4F60\u8865\u5145\u4FE1\u606F{progress}\uFF1A":"DeepSeek Harness needs more information{progress}:","\u8BF7\u8F93\u5165\u4F60\u7684\u56DE\u7B54\u3002":"Please enter your answer.","\u8BF7\u56DE\u590D\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF1B\u591A\u9009\u7528\u9017\u53F7\u5206\u9694\uFF0C\u4E5F\u53EF\u8865\u5145\u5176\u4ED6\u5185\u5BB9\u3002":"Reply with option numbers or text; separate multiple choices with commas, or add anything else.","\u8BF7\u56DE\u590D\u4E00\u4E2A\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u5176\u4ED6\u7B54\u6848\u3002":"Reply with an option number or its text, or type your own answer directly.","\u8BF7\u76F4\u63A5\u56DE\u590D\u4F60\u7684\u7B54\u6848\u3002":"Please reply with your answer directly.","\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u7B54\u6848\u3002":"In group chats, please @ the bot before sending your answer.","\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u56FE\u7247\uFF0C\u8BF7\u7528 /models \u67E5\u770B\u53EF\u7528\u6A21\u578B\uFF0C\u518D\u7528 /model <\u5E8F\u53F7> \u5207\u6362\u540E\u91CD\u53D1\u3002":"The current model does not support images. Use /models to list available models, switch with /model , then resend.","\u56FE\u7247\u8D85\u8FC7\u5BBF\u4E3B\u5141\u8BB8\u7684\u5927\u5C0F\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image exceeds the size allowed by the host; compress it and try again.","\u56FE\u7247\u5206\u8FA8\u7387\u8FC7\u9AD8\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image resolution is too high; compress it and try again.","\u56FE\u7247\u5185\u5BB9\u65E0\u6548\u6216\u683C\u5F0F\u4E0D\u53D7\u652F\u6301\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The image content is invalid or its format is unsupported; please resend it.","\u672A\u80FD\u8BFB\u53D6\u56FE\u7247\u5185\u5BB9\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"Could not read the image content; please resend it.","\u56FE\u7247\u683C\u5F0F\u4E0E\u5B9E\u9645\u5185\u5BB9\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The image format does not match its actual content; please resend it.","\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u6570\u91CF\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u540E\u91CD\u8BD5\u3002":"The number of images sent at once exceeds the host limit; send fewer and try again.","\u56FE\u7247\u603B\u5927\u5C0F\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The total image size exceeds the host limit; send fewer images or compress them and try again.","\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\u53D1\u751F\u4E86\u91CD\u5B9A\u5411\uFF0C\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u3002":"The image download URL redirected and cannot be read right now.","\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF08HTTP {status}\uFF09\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"Image download failed (HTTP {status}); please resend it and try again.","\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The image is larger than 5 MB; compress it and try again.","\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u5904\u7406 {maxImages} \u5F20\u56FE\u7247\u3002":"At most {maxImages} images can be processed at once.","\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u603B\u5927\u5C0F\u8FC7\u5927\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6570\u91CF\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002":"The total size of the images sent is too large; send fewer images or compress them and try again.","\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"Image download failed; please resend it and try again.","\u6682\u4E0D\u652F\u6301\u8BE5\u56FE\u7247\u683C\u5F0F\uFF0C\u8BF7\u53D1\u9001 JPEG\u3001PNG\u3001WebP \u6216 GIF \u56FE\u7247\u3002":"This image format is not supported yet; please send a JPEG, PNG, WebP, or GIF image.","\u2705 DeepSeek Harness \u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F":"\u2705 DeepSeek Harness connection test succeeded","\u8FD9\u6761\u6D88\u606F\u7531\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u4E2D\u7684\u201C{name}\u201D\u673A\u5668\u4EBA\u5361\u7247\u53D1\u51FA\u3002":'This message was sent from the "{name}" bot card on the IM Bot settings page.',"{channelLabel}\u5C1A\u672A\u6536\u5230\u53EF\u7528\u4E8E\u6D4B\u8BD5\u7684\u79C1\u804A\u6D88\u606F\u3002":"The {channelLabel} has not received a direct message that can be used for testing yet.",\u673A\u5668\u4EBA:"bot","\u6B63\u5728\u5904\u7406\u2026":"Processing\u2026","\u5904\u7406\u5B8C\u6210\u3002":"Processing complete.",\u5DE5\u5177:"tool","\u6B63\u5728\u6574\u7406\u7ED3\u679C\u2026":"Gathering results\u2026","_\u6B63\u5728\u641C\u7D22\u7F51\u7EDC\u5E76\u6574\u7406\u4FE1\u606F\u2026_":"_Searching the web and gathering information\u2026_","_\u6B63\u5728\u4F7F\u7528 {name}\u2026_":"_Using {name}\u2026_","\u8BF7\u5206\u6790\u8FD9\u5F20\u56FE\u7247\u3002":"Analyze this image.","\u6587\u4EF6\u63A5\u6536\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"File reception failed. Please resend it.","\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002":"File download failed. Please resend it.","Agent Preset \u65E0\u6548\u3002":"Invalid Agent Preset.","/batch \u5F00\u59CB\u6279\u91CF\u8F93\u5165\uFF08\u4EC5\u79C1\u804A\uFF0C\u6700\u591A 10 \u6761\u6587\u5B57\uFF09":"/batch Start batch input (direct messages only, up to 10 text messages)","/send \u63D0\u4EA4\u5F53\u524D\u6279\u6B21":"/send Submit the current batch","/cancel \u53D6\u6D88\u5F53\u524D\u6279\u6B21":"/cancel Cancel the current batch","\u5F00\u59CB\u6279\u91CF\u8F93\u5165\uFF08\u4EC5\u79C1\u804A\uFF09":"Start batch input (direct messages only)",\u63D0\u4EA4\u5F53\u524D\u6279\u6B21:"Submit the current batch",\u53D6\u6D88\u5F53\u524D\u6279\u6B21:"Cancel the current batch","\u5F53\u524D\u5DF2\u5904\u4E8E\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\uFF0C\u5DF2\u6536\u96C6 {count}/{limit} \u6761\u3002\n\u8BF7\u53D1\u9001 /send \u63D0\u4EA4\u6216 /cancel \u53D6\u6D88\u3002":`Batch input is already active with {count}/{limit} messages collected. Send /send to submit or /cancel to cancel.`,"\u5F53\u524D\u5DF2\u5904\u4E8E\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\uFF0C\u5DF2\u6536\u96C6 {count}/{limit} \u6761\u3002\n\u5B8C\u6210\u540E\u53D1\u9001 /send\uFF0C\u53D6\u6D88\u8BF7\u53D1\u9001 /cancel\u3002":`Batch input is already active with {count}/{limit} messages collected. Send /send when finished or /cancel to cancel.`,"[\u6D88\u606F {index}]":"[Message {index}]","\u4EE5\u4E0B\u662F\u7528\u6237\u901A\u8FC7\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\u53D1\u9001\u7684\u591A\u6761\u5185\u5BB9\uFF0C\u8BF7\u6309\u987A\u5E8F\u4F5C\u4E3A\u540C\u4E00\u6B21\u8F93\u5165\u7EDF\u4E00\u5904\u7406\u3002":"The user sent the following messages in batch input mode. Process them in order as one input.","\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\u4EC5\u652F\u6301\u79C1\u804A\uFF0C\u8BF7\u5728\u4E0E\u673A\u5668\u4EBA\u7684\u79C1\u804A\u4E2D\u4F7F\u7528\u3002":"Batch input is available only in direct messages. Please use it in a direct chat with the bot.","\u5F53\u524D\u804A\u5929\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3001\u5F85\u56DE\u7B54\u95EE\u9898\u6216\u5F85\u5BA1\u6279\u8BF7\u6C42\u3002\n\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u4EA4\u4E92\u6216\u53D1\u9001 /stop\uFF0C\u518D\u4F7F\u7528 /batch\u3002":`This chat has a running task, unanswered question, or pending approval. Finish the current interaction or send /stop before using /batch.`,"\u7528\u6CD5\uFF1A/{command}\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09":"Usage: /{command} (without arguments)","\u6279\u91CF\u8F93\u5165\u547D\u4EE4\u4EC5\u652F\u6301\u7EAF\u6587\u5B57\uFF0C\u8BF7\u79FB\u9664\u56FE\u7247\u6216\u6587\u4EF6\u540E\u91CD\u8BD5\u3002":"Batch input commands support text only. Remove the image or file and try again.","\u5F53\u524D\u6CA1\u6709\u5F85\u63D0\u4EA4\u7684\u6279\u91CF\u5185\u5BB9\uFF0C\u8BF7\u5148\u53D1\u9001 /batch\u3002":"There is no batch to submit. Send /batch first.","\u5F53\u524D\u6CA1\u6709\u6B63\u5728\u8FDB\u884C\u7684\u6279\u91CF\u8F93\u5165\u3002":"There is no active batch input.","\u5DF2\u8FDB\u5165\u6279\u91CF\u8F93\u5165\u6A21\u5F0F\uFF0C\u6700\u591A\u53EF\u53D1\u9001 {limit} \u6761\u6587\u5B57\u3002\n\u5B8C\u6210\u540E\u53D1\u9001 /send\uFF0C\u53D6\u6D88\u8BF7\u53D1\u9001 /cancel\u3002":`Batch input started. You can send up to {limit} text messages. @@ -111,7 +111,7 @@ Send /send when finished or /cancel to cancel.`,"\u6279\u91CF\u8F93\u5165\u6A21\ Continue with text, or use /send or /cancel.`,"\u5F53\u524D\u6279\u6B21\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u52FF\u91CD\u590D\u53D1\u9001 /send\u3002":"The current batch is being submitted. Do not send /send again.","\u6279\u91CF\u5185\u5BB9\u5DF2\u7ECF\u63D0\u4EA4\uFF0C\u65E0\u6CD5\u53D6\u6D88\u3002\n\u5982\u9700\u505C\u6B62\u5F53\u524D\u4EFB\u52A1\uFF0C\u8BF7\u53D1\u9001 /stop\u3002":`The batch has already been submitted and cannot be cancelled. Send /stop if you need to stop the current task.`,"\u5F53\u524D\u6279\u6B21\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u7B49\u5F85\u5904\u7406\u5B8C\u6210\u540E\u518D\u5F00\u542F\u65B0\u6279\u6B21\u3002":"The current batch is being submitted. Wait for it to finish before starting another batch.","\u5DF2\u53D6\u6D88\u6279\u91CF\u8F93\u5165\u3002":"Batch input cancelled.","\u5DF2\u53D6\u6D88\u6279\u91CF\u8F93\u5165\uFF0C\u5171\u4E22\u5F03 {count} \u6761\u6D88\u606F\u3002":"Batch input cancelled; {count} messages were discarded.","\u5F53\u524D\u6279\u6B21\u8FD8\u6CA1\u6709\u5185\u5BB9\uFF0C\u8BF7\u5148\u53D1\u9001\u6587\u5B57\uFF0C\u6216\u4F7F\u7528 /cancel \u53D6\u6D88\u3002":"The current batch is empty. Send some text first or use /cancel.","\u5F53\u524D\u6B63\u5728\u6279\u91CF\u8F93\u5165\uFF0C\u8BF7\u5148\u53D1\u9001 /send \u63D0\u4EA4\u6216 /cancel \u53D6\u6D88\u3002":"Batch input is active. Send /send to submit or /cancel to cancel first.","\u5F53\u524D\u6279\u6B21\u5DF2\u6EE1\uFF0C\u8FD9\u6761\u6D88\u606F\u672A\u6536\u5F55\u3002\n\u8BF7\u5148\u53D1\u9001 /send \u63D0\u4EA4\u6216 /cancel \u53D6\u6D88\uFF0C\u7136\u540E\u91CD\u65B0\u53D1\u9001\u8FD9\u6761\u6D88\u606F\u3002":`The current batch is full, so this message was not collected. Send /send or /cancel first, then resend this message.`,"\u5DF2\u6536\u96C6 {count}/{limit} \u6761\uFF0C\u5F53\u524D\u6279\u6B21\u5DF2\u6EE1\uFF0C\u8BF7\u53D1\u9001 /send \u63D0\u4EA4\u6216 /cancel \u53D6\u6D88\u3002":"Collected {count}/{limit} messages. The batch is full; send /send or /cancel.","\u6279\u91CF\u5185\u5BB9\u63D0\u4EA4\u5931\u8D25\uFF0C\u5DF2\u4FDD\u7559 {count} \u6761\u6D88\u606F\u3002\n\u8BF7\u518D\u6B21\u53D1\u9001 /send \u91CD\u8BD5\u6216 /cancel \u53D6\u6D88\u3002":`Batch submission failed; {count} messages were retained. -Send /send to retry or /cancel to cancel.`};var qU={"\u5317\u6C47\u661F\u6CB3 AIOS \u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"BeiHui XingHe AIOS is connected to DeepSeek Harness.","/repair \u8865\u5168\u98DE\u4E66\u6743\u9650\u4E0E\u5361\u7247\u56DE\u8C03":"/repair Complete Feishu permissions and the card callback","/m\uFF08\u6216 /menu\uFF09 \u6253\u5F00\u4EA4\u4E92\u5361\u7247\u83DC\u5355":"/m (or /menu) Open the interactive card menu","/watch [Session ID \u6216\u5E8F\u53F7] \u5173\u6CE8\u4F1A\u8BDD\uFF0C\u4EFB\u52A1\u5B8C\u6210\u81EA\u52A8\u63A8\u9001":"/watch [Session ID or index] Watch a session; completion is pushed automatically","/unwatch [Session ID \u6216\u5E8F\u53F7] \u53D6\u6D88\u5173\u6CE8":"/unwatch [Session ID or index] Stop watching","/watchlist \u67E5\u770B\u5173\u6CE8\u5217\u8868":"/watchlist View the watch list","/archived on|off \u4F1A\u8BDD\u5217\u8868\u662F\u5426\u5305\u542B\u5F52\u6863\u4F1A\u8BDD":"/archived on|off Whether the session list includes archived sessions","\u5DE5\u4F5C\u533A\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002":"The workspace must be an absolute path.","\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u5B58\u5728\u3002":"The workspace path does not exist.","\u5DE5\u4F5C\u533A\u8DEF\u5F84\u5FC5\u987B\u6307\u5411\u4E00\u4E2A\u76EE\u5F55\u3002":"The workspace path must point to a directory.","\u673A\u5668\u4EBA\u6B63\u5728\u79FB\u9664\u6216\u5DF2\u91CD\u65B0\u63A5\u5165\uFF0C\u65E0\u6CD5\u64CD\u4F5C\u539F\u4F1A\u8BDD\u7684\u5DE5\u4F5C\u533A\u3002":"The bot is being removed or has been reconnected; the original session\u2019s workspace cannot be changed.","\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The operation failed. Please try again later.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u7F3A\u5C11\u98DE\u4E66\u6587\u4EF6\u4E0A\u4F20\u6743\u9650 im:resource\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u63D2\u4EF6\u9875\u9762\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u5B8C\u6210\u98DE\u4E66\u8981\u6C42\u7684\u53D1\u5E03\u5BA1\u6279\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated, but the bot lacks the Feishu file-upload scope im:resource. Run /repair in a direct chat with the bot, or click the \u201CComplete permissions\u201D button on the plugin page and scan the QR code. Complete any publishing approval Feishu requires, then try again.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u98DE\u4E66 30 MB \u4E0A\u9650\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the Feishu 30 MB limit and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u98DE\u4E66\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty; Feishu does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u98DE\u4E66\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by Feishu and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent right now. Please try again later.',"\u5904\u7406\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002\u5982\u679C\u95EE\u9898\u6301\u7EED\uFF0C\u8BF7\u5728 DeepSeek Harness \u7684\u98DE\u4E66\u63D2\u4EF6\u9875\u9762\u68C0\u67E5\u8FDE\u63A5\u72B6\u6001\u3002":"Message processing failed. Please try again later. If the problem persists, check the connection status on the Feishu plugin page in DeepSeek Harness.","\u5DF2\u5F00\u542F\u5168\u65B0 Harness \u4F1A\u8BDD\u3002":"A brand-new Harness session has started.","\u98DE\u4E66\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The Feishu bot is connected to DeepSeek Harness and working normally.","\u7528\u6CD5\uFF1A/archived on\uFF08\u5305\u542B\u5F52\u6863\u4F1A\u8BDD\uFF09\u6216 /archived off\uFF08\u9690\u85CF\u5F52\u6863\u4F1A\u8BDD\uFF09":"Usage: /archived on (include archived sessions) or /archived off (hide archived sessions)","\u5DF2\u5F00\u542F\uFF1A\u4F1A\u8BDD\u5217\u8868\u5305\u542B\u5F52\u6863\u4F1A\u8BDD\u3002":"On: the session list includes archived sessions.","\u5DF2\u5173\u95ED\uFF1A\u4F1A\u8BDD\u5217\u8868\u9690\u85CF\u5F52\u6863\u4F1A\u8BDD\u3002":"Off: the session list hides archived sessions.","\u4E3A\u907F\u514D\u6388\u6743\u94FE\u63A5\u66B4\u9732\uFF0C\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u53D1\u9001 /repair\u3002":"To keep the authorization link private, send /repair to the bot in a direct message.","\u65E0\u6CD5\u8BC6\u522B\u5F53\u524D\u53D1\u9001\u8005\uFF0C\u672A\u53D1\u8D77\u4FEE\u590D\u3002":"The current sender could not be identified, so repair was not started.","\u5F53\u524D Host \u7248\u672C\u6682\u4E0D\u652F\u6301\u804A\u5929\u5185\u4FEE\u590D\uFF0C\u8BF7\u5148\u66F4\u65B0\u63D2\u4EF6\u3002":"The current Host version does not support in-chat repair. Update the plugin first.","\u7528\u6CD5\uFF1A/repair\u3001/repair qr\u3001/repair status\u3001/repair cancel \u6216 /repair verify":"Usage: /repair, /repair qr, /repair status, /repair cancel, or /repair verify","\u5F53\u524D Runtime \u6CA1\u6709\u53EF\u6062\u590D\u7684\u4FEE\u590D\u4EFB\u52A1\u8BB0\u5F55\uFF08\u673A\u5668\u4EBA\u53EF\u80FD\u521A\u5B8C\u6210\u5BC6\u94A5\u66F4\u65B0\u5E76\u91CD\u542F\uFF09\u3002\u672C\u547D\u4EE4\u4E0D\u4F1A\u542F\u52A8\u65B0\u7684\u6388\u6743\uFF1B\u8BF7\u67E5\u770B\u673A\u5668\u4EBA\u53D1\u9001\u7684\u9A8C\u8BC1\u7ED3\u679C\uFF0C\u786E\u8BA4\u4E0A\u4E00\u6B21\u4EFB\u52A1\u5DF2\u7ED3\u675F\u540E\u518D\u53D1\u9001 /repair\u3002":"The current Runtime has no recoverable repair attempt (the bot may have just rotated its secret and restarted). This command starts no new authorization. Check the verification result the bot sent, then send /repair after the previous attempt has finished.","\u53E6\u4E00\u4F4D\u7528\u6237\u6B63\u5728\u4FEE\u590D\u8BE5\u673A\u5668\u4EBA\uFF0C\u672C\u6B21\u4E0D\u4F1A\u663E\u793A\u5176\u6388\u6743\u4FE1\u606F\u3002":"Another user is repairing this bot; its authorization info will not be shown this time.","\u6682\u65F6\u65E0\u6CD5\u53D6\u6D88\u4FEE\u590D\u4EFB\u52A1\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not cancel the repair task right now. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u53D6\u6D88\u65E7\u4FEE\u590D\u4EFB\u52A1\uFF0C\u672A\u751F\u6210\u65B0\u94FE\u63A5\uFF1B\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not cancel the previous repair attempt, so no new link was generated. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u67E5\u8BE2\u4FEE\u590D\u72B6\u6001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not check the repair status right now. Please try again later.","\u4FEE\u590D\u6D41\u7A0B\u6682\u65F6\u5931\u8D25\uFF0C\u73B0\u6709\u673A\u5668\u4EBA\u8FDE\u63A5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u8BF7\u7A0D\u540E\u53D1\u9001 /repair \u91CD\u8BD5\u3002":"The repair flow failed for now; the existing bot connection is unaffected. Send /repair again later.","\u98DE\u4E66\u8FD4\u56DE\u4E86\u65E0\u6CD5\u5B89\u5168\u9A8C\u8BC1\u7684\u6388\u6743\u94FE\u63A5\uFF0C\u5DF2\u4E2D\u6B62\u672C\u6B21\u4FEE\u590D\u3002":"Feishu returned an authorization link that cannot be verified safely. This repair was aborted.","\u98DE\u4E66\u672A\u8FD4\u56DE\u6388\u6743\u94FE\u63A5\uFF0C\u5DF2\u4E2D\u6B62\u672C\u6B21\u4FEE\u590D\u3002":"Feishu did not return an authorization link. This repair was aborted.","\u6388\u6743\u5DF2\u786E\u8BA4\uFF0C\u6B63\u5728\u53D1\u9001\u5E76\u7B49\u5F85\u6D4B\u8BD5\u6309\u94AE\u56DE\u8C03\uFF1B\u6536\u5230\u771F\u5B9E\u56DE\u8C03\u540E\u624D\u4F1A\u5B8C\u6210\u3002":"Authorization confirmed. Sending a test button and waiting for its callback; this completes only after a real callback arrives.","\u4FEE\u590D\u72B6\u6001\u67E5\u8BE2\u4E2D\u65AD\uFF0C\u73B0\u6709\u673A\u5668\u4EBA\u8FDE\u63A5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u53D1\u9001 /repair status \u91CD\u8BD5\u67E5\u8BE2\u3002":"The repair status query was interrupted; the existing bot connection is unaffected. Send /repair status to retry.",\u94FE\u63A5\u4E3A\u77ED\u671F\u6709\u6548:"The link is valid for a short time.","\u94FE\u63A5\u7EA6 {minutes} \u5206\u949F\u540E\u8FC7\u671F":"The link expires in about {minutes} minutes","\u65E7\u6388\u6743\u94FE\u63A5\u5DF2\u4F5C\u5E9F\uFF0C\u5DF2\u751F\u6210\u65B0\u7684\u4FEE\u590D\u94FE\u63A5\u3002":"The previous authorization link was invalidated and a new repair link was generated.","\u{1F527} \u51C6\u5907\u8865\u5168\u6743\u9650\u4E0E\u56DE\u8C03\u3002":"\u{1F527} Preparing to complete permissions and the callback.","\u672C\u6B21\u6700\u591A\u589E\u91CF\u6DFB\u52A0\u4E09\u9879\uFF1A\u5361\u7247\u56DE\u8C03 card.action.trigger\uFF1B\u98DE\u4E66\u663E\u793A\u4E3A\u201C\u83B7\u53D6\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F\u201D\u7684\u79DF\u6237\u6743\u9650 im:message:readonly\uFF08\u7528\u4E8E\u8BFB\u53D6\u7528\u6237\u6D88\u606F\u4E2D\u7684\u56FE\u7247\u6216\u6587\u4EF6\uFF09\uFF1B\u4EE5\u53CA im:resource\uFF08\u7528\u4E8E\u4E0A\u4F20\u673A\u5668\u4EBA\u53D1\u9001\u7684\u56FE\u7247\u6216\u6587\u4EF6\uFF09\u3002\u786E\u8BA4\u9875\u53EA\u4F1A\u663E\u793A\u5F53\u524D\u7F3A\u5C11\u7684\u9879\uFF1B\u82E5\u51FA\u73B0\u4E0A\u8FF0\u8303\u56F4\u4E4B\u5916\u7684\u914D\u7F6E\uFF0C\u8BF7\u53D6\u6D88\u3002":"This may incrementally add up to three items: the card callback card.action.trigger; the tenant scope im:message:readonly, shown by Feishu as \u201CRead direct and group messages\u201D and used to read images or files in user messages; and im:resource, used to upload images or files sent by the bot. The confirmation page shows only items the app is currently missing; cancel if anything outside this scope appears.","\u5F53\u524D\u8BBE\u5907\u76F4\u63A5\u6253\u5F00\uFF1A":"Open directly on this device:","\u82E5\u8981\u7528\u53E6\u4E00\u53F0\u8BBE\u5907\u626B\u7801\uFF0C\u53D1\u9001 /repair qr\u3002{expiry}\u3002":"To scan with another device, send /repair qr. {expiry}.","\u8BF7\u7528\u53E6\u4E00\u53F0\u8BBE\u5907\u626B\u7801\u5B8C\u6210\u6388\u6743{remaining}\u3002":"Complete authorization by scanning with another device{remaining}.","\uFF08\u5269\u4F59\u7EA6 {minutes} \u5206\u949F\uFF09":" (about {minutes} minutes left)","\u4E8C\u7EF4\u7801\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\uFF0C\u8BF7\u76F4\u63A5\u6253\u5F00\u6388\u6743\u94FE\u63A5\uFF1A\n{url}":`The QR code could not be sent. Open the authorization link directly: +Send /send to retry or /cancel to cancel.`};var qU={"\u5317\u6C47\u661F\u6CB3 AIOS \u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"BeiHui XingHe AIOS is connected to DeepSeek Harness.","/repair \u8865\u5168\u98DE\u4E66\u6743\u9650\u4E0E\u5361\u7247\u56DE\u8C03":"/repair Complete Feishu permissions and the card callback","/m\uFF08\u6216 /menu\uFF09 \u6253\u5F00\u4EA4\u4E92\u5361\u7247\u83DC\u5355":"/m (or /menu) Open the interactive card menu","/watch [Session ID \u6216\u5E8F\u53F7] \u5173\u6CE8\u4F1A\u8BDD\uFF0C\u4EFB\u52A1\u5B8C\u6210\u81EA\u52A8\u63A8\u9001":"/watch [Session ID or index] Watch a session; completion is pushed automatically","/unwatch [Session ID \u6216\u5E8F\u53F7] \u53D6\u6D88\u5173\u6CE8":"/unwatch [Session ID or index] Stop watching","/watchlist \u67E5\u770B\u5173\u6CE8\u5217\u8868":"/watchlist View the watch list","/archived on|off \u4F1A\u8BDD\u5217\u8868\u662F\u5426\u5305\u542B\u5F52\u6863\u4F1A\u8BDD":"/archived on|off Whether the session list includes archived sessions","\u5DE5\u4F5C\u533A\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002":"The workspace must be an absolute path.","\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u5B58\u5728\u3002":"The workspace path does not exist.","\u5DE5\u4F5C\u533A\u8DEF\u5F84\u5FC5\u987B\u6307\u5411\u4E00\u4E2A\u76EE\u5F55\u3002":"The workspace path must point to a directory.","\u673A\u5668\u4EBA\u6B63\u5728\u79FB\u9664\u6216\u5DF2\u91CD\u65B0\u63A5\u5165\uFF0C\u65E0\u6CD5\u64CD\u4F5C\u539F\u4F1A\u8BDD\u7684\u5DE5\u4F5C\u533A\u3002":"The bot is being removed or has been reconnected; the original session\u2019s workspace cannot be changed.","\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The operation failed. Please try again later.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u7F3A\u5C11\u98DE\u4E66\u6587\u4EF6\u4E0A\u4F20\u6743\u9650 im:resource\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u5B8C\u6210\u98DE\u4E66\u8981\u6C42\u7684\u53D1\u5E03\u5BA1\u6279\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated, but the bot lacks the Feishu file-upload scope im:resource. Run /repair in a direct chat with the bot, or click the \u201CComplete permissions\u201D button on the IM Bot settings page and scan the QR code. Complete any publishing approval Feishu requires, then try again.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u98DE\u4E66 30 MB \u4E0A\u9650\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the Feishu 30 MB limit and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u98DE\u4E66\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty; Feishu does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u98DE\u4E66\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by Feishu and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent right now. Please try again later.',"\u5904\u7406\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002\u5982\u679C\u95EE\u9898\u6301\u7EED\uFF0C\u8BF7\u5728 DeepSeek Harness \u7684\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u68C0\u67E5\u98DE\u4E66\u8FDE\u63A5\u72B6\u6001\u3002":"Message processing failed. Please try again later. If the problem persists, check the Feishu connection status on the IM Bot settings page in DeepSeek Harness.","\u5DF2\u5F00\u542F\u5168\u65B0 Harness \u4F1A\u8BDD\u3002":"A brand-new Harness session has started.","\u98DE\u4E66\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The Feishu bot is connected to DeepSeek Harness and working normally.","\u7528\u6CD5\uFF1A/archived on\uFF08\u5305\u542B\u5F52\u6863\u4F1A\u8BDD\uFF09\u6216 /archived off\uFF08\u9690\u85CF\u5F52\u6863\u4F1A\u8BDD\uFF09":"Usage: /archived on (include archived sessions) or /archived off (hide archived sessions)","\u5DF2\u5F00\u542F\uFF1A\u4F1A\u8BDD\u5217\u8868\u5305\u542B\u5F52\u6863\u4F1A\u8BDD\u3002":"On: the session list includes archived sessions.","\u5DF2\u5173\u95ED\uFF1A\u4F1A\u8BDD\u5217\u8868\u9690\u85CF\u5F52\u6863\u4F1A\u8BDD\u3002":"Off: the session list hides archived sessions.","\u4E3A\u907F\u514D\u6388\u6743\u94FE\u63A5\u66B4\u9732\uFF0C\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u53D1\u9001 /repair\u3002":"To keep the authorization link private, send /repair to the bot in a direct message.","\u65E0\u6CD5\u8BC6\u522B\u5F53\u524D\u53D1\u9001\u8005\uFF0C\u672A\u53D1\u8D77\u4FEE\u590D\u3002":"The current sender could not be identified, so repair was not started.","\u5F53\u524D Host \u7248\u672C\u6682\u4E0D\u652F\u6301\u804A\u5929\u5185\u4FEE\u590D\uFF0C\u8BF7\u5148\u66F4\u65B0\u63D2\u4EF6\u3002":"The current Host version does not support in-chat repair. Update the plugin first.","\u7528\u6CD5\uFF1A/repair\u3001/repair qr\u3001/repair status\u3001/repair cancel \u6216 /repair verify":"Usage: /repair, /repair qr, /repair status, /repair cancel, or /repair verify","\u5F53\u524D Runtime \u6CA1\u6709\u53EF\u6062\u590D\u7684\u4FEE\u590D\u4EFB\u52A1\u8BB0\u5F55\uFF08\u673A\u5668\u4EBA\u53EF\u80FD\u521A\u5B8C\u6210\u5BC6\u94A5\u66F4\u65B0\u5E76\u91CD\u542F\uFF09\u3002\u672C\u547D\u4EE4\u4E0D\u4F1A\u542F\u52A8\u65B0\u7684\u6388\u6743\uFF1B\u8BF7\u67E5\u770B\u673A\u5668\u4EBA\u53D1\u9001\u7684\u9A8C\u8BC1\u7ED3\u679C\uFF0C\u786E\u8BA4\u4E0A\u4E00\u6B21\u4EFB\u52A1\u5DF2\u7ED3\u675F\u540E\u518D\u53D1\u9001 /repair\u3002":"The current Runtime has no recoverable repair attempt (the bot may have just rotated its secret and restarted). This command starts no new authorization. Check the verification result the bot sent, then send /repair after the previous attempt has finished.","\u53E6\u4E00\u4F4D\u7528\u6237\u6B63\u5728\u4FEE\u590D\u8BE5\u673A\u5668\u4EBA\uFF0C\u672C\u6B21\u4E0D\u4F1A\u663E\u793A\u5176\u6388\u6743\u4FE1\u606F\u3002":"Another user is repairing this bot; its authorization info will not be shown this time.","\u6682\u65F6\u65E0\u6CD5\u53D6\u6D88\u4FEE\u590D\u4EFB\u52A1\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not cancel the repair task right now. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u53D6\u6D88\u65E7\u4FEE\u590D\u4EFB\u52A1\uFF0C\u672A\u751F\u6210\u65B0\u94FE\u63A5\uFF1B\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not cancel the previous repair attempt, so no new link was generated. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u67E5\u8BE2\u4FEE\u590D\u72B6\u6001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not check the repair status right now. Please try again later.","\u4FEE\u590D\u6D41\u7A0B\u6682\u65F6\u5931\u8D25\uFF0C\u73B0\u6709\u673A\u5668\u4EBA\u8FDE\u63A5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u8BF7\u7A0D\u540E\u53D1\u9001 /repair \u91CD\u8BD5\u3002":"The repair flow failed for now; the existing bot connection is unaffected. Send /repair again later.","\u98DE\u4E66\u8FD4\u56DE\u4E86\u65E0\u6CD5\u5B89\u5168\u9A8C\u8BC1\u7684\u6388\u6743\u94FE\u63A5\uFF0C\u5DF2\u4E2D\u6B62\u672C\u6B21\u4FEE\u590D\u3002":"Feishu returned an authorization link that cannot be verified safely. This repair was aborted.","\u98DE\u4E66\u672A\u8FD4\u56DE\u6388\u6743\u94FE\u63A5\uFF0C\u5DF2\u4E2D\u6B62\u672C\u6B21\u4FEE\u590D\u3002":"Feishu did not return an authorization link. This repair was aborted.","\u6388\u6743\u5DF2\u786E\u8BA4\uFF0C\u6B63\u5728\u53D1\u9001\u5E76\u7B49\u5F85\u6D4B\u8BD5\u6309\u94AE\u56DE\u8C03\uFF1B\u6536\u5230\u771F\u5B9E\u56DE\u8C03\u540E\u624D\u4F1A\u5B8C\u6210\u3002":"Authorization confirmed. Sending a test button and waiting for its callback; this completes only after a real callback arrives.","\u4FEE\u590D\u72B6\u6001\u67E5\u8BE2\u4E2D\u65AD\uFF0C\u73B0\u6709\u673A\u5668\u4EBA\u8FDE\u63A5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u53D1\u9001 /repair status \u91CD\u8BD5\u67E5\u8BE2\u3002":"The repair status query was interrupted; the existing bot connection is unaffected. Send /repair status to retry.",\u94FE\u63A5\u4E3A\u77ED\u671F\u6709\u6548:"The link is valid for a short time.","\u94FE\u63A5\u7EA6 {minutes} \u5206\u949F\u540E\u8FC7\u671F":"The link expires in about {minutes} minutes","\u65E7\u6388\u6743\u94FE\u63A5\u5DF2\u4F5C\u5E9F\uFF0C\u5DF2\u751F\u6210\u65B0\u7684\u4FEE\u590D\u94FE\u63A5\u3002":"The previous authorization link was invalidated and a new repair link was generated.","\u{1F527} \u51C6\u5907\u8865\u5168\u6743\u9650\u4E0E\u56DE\u8C03\u3002":"\u{1F527} Preparing to complete permissions and the callback.","\u672C\u6B21\u6700\u591A\u589E\u91CF\u6DFB\u52A0\u4E09\u9879\uFF1A\u5361\u7247\u56DE\u8C03 card.action.trigger\uFF1B\u98DE\u4E66\u663E\u793A\u4E3A\u201C\u83B7\u53D6\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F\u201D\u7684\u79DF\u6237\u6743\u9650 im:message:readonly\uFF08\u7528\u4E8E\u8BFB\u53D6\u7528\u6237\u6D88\u606F\u4E2D\u7684\u56FE\u7247\u6216\u6587\u4EF6\uFF09\uFF1B\u4EE5\u53CA im:resource\uFF08\u7528\u4E8E\u4E0A\u4F20\u673A\u5668\u4EBA\u53D1\u9001\u7684\u56FE\u7247\u6216\u6587\u4EF6\uFF09\u3002\u786E\u8BA4\u9875\u53EA\u4F1A\u663E\u793A\u5F53\u524D\u7F3A\u5C11\u7684\u9879\uFF1B\u82E5\u51FA\u73B0\u4E0A\u8FF0\u8303\u56F4\u4E4B\u5916\u7684\u914D\u7F6E\uFF0C\u8BF7\u53D6\u6D88\u3002":"This may incrementally add up to three items: the card callback card.action.trigger; the tenant scope im:message:readonly, shown by Feishu as \u201CRead direct and group messages\u201D and used to read images or files in user messages; and im:resource, used to upload images or files sent by the bot. The confirmation page shows only items the app is currently missing; cancel if anything outside this scope appears.","\u5F53\u524D\u8BBE\u5907\u76F4\u63A5\u6253\u5F00\uFF1A":"Open directly on this device:","\u82E5\u8981\u7528\u53E6\u4E00\u53F0\u8BBE\u5907\u626B\u7801\uFF0C\u53D1\u9001 /repair qr\u3002{expiry}\u3002":"To scan with another device, send /repair qr. {expiry}.","\u8BF7\u7528\u53E6\u4E00\u53F0\u8BBE\u5907\u626B\u7801\u5B8C\u6210\u6388\u6743{remaining}\u3002":"Complete authorization by scanning with another device{remaining}.","\uFF08\u5269\u4F59\u7EA6 {minutes} \u5206\u949F\uFF09":" (about {minutes} minutes left)","\u4E8C\u7EF4\u7801\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\uFF0C\u8BF7\u76F4\u63A5\u6253\u5F00\u6388\u6743\u94FE\u63A5\uFF1A\n{url}":`The QR code could not be sent. Open the authorization link directly: {url}`,"\u6388\u6743\u94FE\u63A5\u5DF2\u8FC7\u671F\uFF1B\u5E73\u53F0\u672A\u8FD4\u56DE\u6210\u529F\u7ED3\u679C\uFF0C\u65E0\u6CD5\u786E\u8BA4\u5DF2\u4FEE\u590D\u3002\u53D1\u9001 /repair \u751F\u6210\u65B0\u94FE\u63A5\u3002":"The authorization link expired; the platform returned no success, so the repair cannot be confirmed. Send /repair for a new link.","\u5DF2\u53D6\u6D88\u672C\u6B21\u4FEE\u590D\u6388\u6743\uFF0C\u672A\u786E\u8BA4\u5B8C\u6210\u4FEE\u590D\u3002":"Repair authorization was cancelled; the repair was not confirmed.","\u4F60\u5DF2\u53D6\u6D88\u6216\u62D2\u7EDD\u6388\u6743\uFF0C\u6CA1\u6709\u786E\u8BA4\u4FEE\u590D\uFF1B\u53D1\u9001 /repair \u53EF\u91CD\u8BD5\u3002":"You cancelled or declined authorization, so the repair was not confirmed. Send /repair to retry.","\u6388\u6743\u5DF2\u63D0\u4EA4\uFF0C\u4F46\u672A\u6536\u5230\u6D4B\u8BD5\u6309\u94AE\u56DE\u8C03\u3002\u53EF\u80FD\u5C1A\u672A\u70B9\u51FB\u6216\u914D\u7F6E\u4ECD\u5728\u4F20\u64AD\uFF1B\u7A0D\u540E\u53D1\u9001 /repair verify \u67E5\u8BE2\uFF0C\u4E0D\u8981\u76F2\u76EE\u91CD\u590D\u6388\u6743\u3002":"Authorization was submitted, but no test-button callback arrived. It may not have been tapped yet, or the config is still propagating. Send /repair verify later to check; do not authorize blindly again.","\u4FEE\u590D\u6D41\u7A0B\u6682\u65F6\u5931\u8D25\uFF0C\u73B0\u6709\u673A\u5668\u4EBA\u8FDE\u63A5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u53D1\u9001 /repair \u53EF\u91CD\u8BD5\u3002":"The repair flow failed for now; the existing bot connection is unaffected. Send /repair to retry.","\u6388\u6743\u5DF2\u786E\u8BA4\uFF0C\u6B63\u5728\u7B49\u5F85\u4E13\u7528\u6D4B\u8BD5\u6309\u94AE\u7684\u771F\u5B9E\u56DE\u8C03\uFF1B\u56DE\u8C03\u5230\u8FBE\u524D\u4E0D\u4F1A\u5BA3\u544A\u6210\u529F\u3002":"Authorization confirmed. Waiting for the real callback from the dedicated test button; success is not declared until it arrives.","\u6388\u6743\u5C1A\u672A\u5B8C\u6210\uFF0C\u6682\u65F6\u4E0D\u80FD\u9A8C\u8BC1\u5361\u7247\u6309\u94AE\u3002\u8BF7\u5148\u6253\u5F00\u6388\u6743\u94FE\u63A5\u5E76\u786E\u8BA4\u3002":"Authorization is not complete, so the card buttons cannot be verified yet. Open the authorization link and confirm first.","\u4FEE\u590D\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u6388\u6743{remaining}\u3002\u53D1\u9001 /repair qr \u53EF\u83B7\u53D6\u4E8C\u7EF4\u7801\uFF0C/repair cancel \u53EF\u53D6\u6D88\u3002":"The repair task is waiting for authorization{remaining}. Send /repair qr for the QR code, or /repair cancel to cancel.","\uFF0C\u5269\u4F59\u7EA6 {minutes} \u5206\u949F":", about {minutes} minutes left","\u8FD9\u4E2A\u83DC\u5355\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u56DE\u590D /m \u91CD\u65B0\u6253\u5F00\u3002":"This menu has expired. Send /m to reopen it.","\u83DC\u5355\u6CA1\u6709\u8FD9\u4E2A\u7F16\u53F7\uFF0C\u56DE\u590D /m \u91CD\u65B0\u6253\u5F00\u3002":"This menu has no such number. Send /m to reopen it.","\u672C\u9875\u53EA\u6709 {count} \u4E2A\u4F1A\u8BDD\uFF0C\u56DE\u590D /sessionlist \u91CD\u65B0\u67E5\u770B\u3002":"This page has only {count} sessions. Send /sessionlist to view them again.","\u53EA\u6709 {count} \u4E2A\u5DE5\u4F5C\u533A\uFF0C\u56DE\u590D /workspacelist \u91CD\u65B0\u67E5\u770B\u3002":"There are only {count} workspaces. Send /workspacelist to view them again.","\u5173\u6CE8\u5217\u8868\u53EA\u6709 {count} \u4E2A\u4F1A\u8BDD\u3002":"The watch list has only {count} sessions.","\u5DF2\u7ED1\u5B9A\u4F1A\u8BDD\u300C{title}\u300D\nID\uFF1A{id}":`Session bound: "{title}" ID: {id}`,"\u7ED1\u5B9A\u5931\u8D25\uFF1A{message}":"Binding failed: {message}","\u5207\u6362\u5931\u8D25\uFF1A{message}":"Switch failed: {message}","\u7528\u6CD5\uFF1A/watch ":"Usage: /watch ","\u5F53\u524D\u673A\u5668\u4EBA\u6CA1\u6709\u53EF\u7528\u7684\u5DE5\u4F5C\u533A\uFF0C\u65E0\u6CD5\u6309\u5E8F\u53F7\u89E3\u6790\u4F1A\u8BDD\u3002":"This bot has no available workspace, so sessions cannot be resolved by index.","\u5F53\u524D\u5DE5\u4F5C\u533A\u53EA\u6709 {count} \u4E2A\u4F1A\u8BDD\u3002":"The current workspace has only {count} sessions.","\u6CA1\u6709\u627E\u5230\u8FD9\u4E2A\u4F1A\u8BDD\uFF0C\u8BF7\u7528 /sessionlist \u67E5\u770B\u53EF\u7528\u4F1A\u8BDD\u3002":"Session not found. Use /sessionlist to see the available sessions.","\u5F53\u524D\u72B6\u6001\u5B58\u50A8\u4E0D\u652F\u6301\u5173\u6CE8\u3002":"The current state store does not support watching.","\u65E0\u6CD5\u89E3\u6790\u4F1A\u8BDD\uFF1A{message}":"Could not resolve the session: {message}","\u6BCF\u4E2A\u804A\u5929\u6700\u591A\u5173\u6CE8 {count} \u4E2A\u4F1A\u8BDD\u3002":"Each chat can watch at most {count} sessions.","\u5173\u6CE8\u5217\u8868\u91CC\u6CA1\u6709\u8FD9\u4E2A\u4F1A\u8BDD\uFF0C\u56DE\u590D /watchlist \u67E5\u770B\u3002":"This session is not in the watch list. Send /watchlist to view it.","\u5DF2\u5173\u6CE8\u4F1A\u8BDD\u300C{title}\u300D\uFF0C\u4EFB\u52A1\u5B8C\u6210\u4F1A\u63A8\u9001\u7ED3\u679C\u3002":'Watching session "{title}"; results are pushed when the task completes.',"\u5173\u6CE8\u5931\u8D25\uFF1A{message}":"Could not watch: {message}","\u5DF2\u53D6\u6D88\u5173\u6CE8\u300C{title}\u300D\u3002":'Unwatched "{title}".',"\u53D6\u6D88\u5931\u8D25\uFF1A{message}":"Could not unwatch: {message}","\u98DE\u4E66\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the Feishu interaction question.","\u5F53\u524D\u4EFB\u52A1\u4ECD\u5728\u8FD0\u884C\uFF0C\u8BF7\u5148\u505C\u6B62\u4EFB\u52A1\u6216\u7B49\u5F85\u4EFB\u52A1\u5B8C\u6210\u540E\u518D\u5F00\u542F\u65B0\u4F1A\u8BDD\u3002":"The current task is still running. Stop it or wait for it to finish before starting a new session.","\u8BF7\u8F93\u5165\u8865\u5145\u6307\u4EE4\u540E\u518D\u63D0\u4EA4\u3002":"Enter an instruction before submitting.","\u64CD\u4F5C\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002":"Too many card actions are pending. Please try again shortly.","\u5361\u7247\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The card action failed. Please try again later.","\u8BF7\u5148\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u4F1A\u8BDD\u3002":"Select at least one session first.","\u5DF2\u6279\u91CF\u5173\u6CE8 {count} \u4E2A\u4F1A\u8BDD\u3002":"Now watching {count} sessions.","\u5DF2\u6279\u91CF\u5173\u6CE8 {count} \u4E2A\u4F1A\u8BDD\uFF0C\u53E6\u6709 {failed} \u4E2A\u672A\u6210\u529F\u3002":"Now watching {count} sessions; {failed} could not be processed.","\u5DF2\u5173\u6CE8\uFF08\u6216\u5DF2\u8FBE\u5173\u6CE8\u4E0A\u9650\uFF09\u3002":"Sessions are already watched, or the watch limit has been reached.","\u5DF2\u53D6\u6D88\u5173\u6CE8 {count} \u4E2A\u4F1A\u8BDD\u3002":"Stopped watching {count} sessions.","\u5DF2\u53D6\u6D88\u5173\u6CE8 {count} \u4E2A\u4F1A\u8BDD\uFF0C\u53E6\u6709 {failed} \u4E2A\u672A\u6210\u529F\u3002":"Stopped watching {count} sessions; {failed} could not be processed.","\u6240\u9009\u4F1A\u8BDD\u5747\u672A\u5904\u7406\u6210\u529F\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"None of the selected sessions could be processed. Please try again later.","\u6240\u9009\u4F1A\u8BDD\u5DF2\u5728\u5173\u6CE8\u5217\u8868\u4E2D\u3002":"The selected sessions are already being watched.","\u6240\u9009\u4F1A\u8BDD\u5DF2\u4E0D\u5728\u5173\u6CE8\u5217\u8868\u4E2D\u3002":"The selected sessions are no longer in the watch list.","\u672A\u53D6\u6D88\u4EFB\u4F55\u5173\u6CE8\u3002":"No watches were removed.","\u5F53\u524D\u6CA1\u6709\u7ED1\u5B9A\u7684\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u4ECE\u4F1A\u8BDD\u5217\u8868\u9009\u62E9\u3002":"No session is currently bound. Select one from the session list first.","\u5DF2\u5C31\u7EEA\uFF0C\u76F4\u63A5\u53D1\u6D88\u606F\u5373\u53EF\u7EE7\u7EED\u5F53\u524D\u4F1A\u8BDD\u3002":"Ready. Send a message to continue the current session.","\u4FEE\u590D\u9700\u5728\u79C1\u804A\u4E2D\u9A8C\u8BC1\u63A5\u5165\u8005\u8EAB\u4EFD\uFF0C\u8BF7\u76F4\u63A5\u53D1\u9001 /repair \u5F00\u59CB\u3002":"Repair must verify the owner in a direct chat. Send /repair there to begin.","\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\u9884\u8BBE\u5217\u8868\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not load the preset list. Please try again later.","\u6682\u65F6\u65E0\u6CD5\u83B7\u53D6\u7CFB\u7EDF\u72B6\u6001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not load system status. Please try again later.",\u8FDE\u63A5\u6B63\u5E38:"Connected","\u9884\u8BBE\uFF1A{preset}":"Preset: {preset}",\u672A\u77E5:"Unknown","/stop \u6267\u884C\u5B8C\u6210\u3002":"/stop completed.","\u505C\u6B62\u4EFB\u52A1\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not stop the task. Please try again later.","\u5DF2\u63D0\u4EA4\u8865\u5145\u6307\u4EE4\u3002":"Instruction submitted.","\u9884\u8BBE\u91CD\u7F6E\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not reset the preset. Please try again later.","\u9884\u8BBE\u5207\u6362\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not switch the preset. Please try again later.","\u{1F916} \u52A9\u624B\u4E2D\u5FC3":"\u{1F916} Assistant center","**\u8BBE\u7F6E**":"**Settings**",\u5207\u6362\u4F1A\u8BDD:"Switch session","\u9009\u62E9\u4F1A\u8BDD\uFF08\u5F53\u524D\u672A\u7ED1\u5B9A\uFF09":"Select a session (none currently bound)",\u8DDF\u968F\u9ED8\u8BA4:"Follow default",\u5207\u6362\u9884\u8BBE:"Switch preset",\u5207\u6362\u6A21\u578B:"Switch model","\u5F53\u524D\u5DE5\u4F5C\u533A\u6682\u65E0\u53EF\u7528\u4F1A\u8BDD\u3002":"There are no available sessions in the current workspace.","\u{1F916} \u5207\u6362\u9884\u8BBE":"\u{1F916} Switch preset","\u{1F9E0} \u5207\u6362\u6A21\u578B":"\u{1F9E0} Switch model","\u{1F195} \u65B0\u4F1A\u8BDD":"\u{1F195} New session","\u{1F4CB} \u4F1A\u8BDD/\u5173\u6CE8":"\u{1F4CB} Sessions / watches","\u{1F5C2} \u5DE5\u4F5C\u533A\u5217\u8868":"\u{1F5C2} Workspace list","**\u4EFB\u52A1\u63A7\u5236**":"**Task controls**","\u23F9 \u505C\u6B62":"\u23F9 Stop","\u{1F4D0} \u538B\u7F29":"\u{1F4D0} Compact","**\u8865\u5145\u6307\u4EE4**":"**Steer task**",\u9009\u62E9\u8865\u5145\u6307\u4EE4:"Choose an instruction",\u7EE7\u7EED:"Continue",\u52A0\u901F\u8FD0\u884C:"Move faster",\u603B\u7ED3\u5F53\u524D\u8FDB\u5C55:"Summarize current progress",\u66F4\u7B80\u6D01\u4E9B:"Be more concise",\u66F4\u8BE6\u7EC6\u4E9B:"Be more detailed","\u270F\uFE0F \u66F4\u591A / \u81EA\u5B9A\u4E49\u2026":"\u270F\uFE0F More / custom\u2026","\u{1F5C4} \u5F52\u6863\uFF1A{state}":"\u{1F5C4} Archived: {state}",\u5DF2\u663E\u793A:"shown",\u5DF2\u9690\u85CF:"hidden",\u5207\u6362\u5F52\u6863\u663E\u793A:"Toggle archived sessions","\u{1F4CA} \u72B6\u6001":"\u{1F4CA} Status","\u{1F4D6} \u5E2E\u52A9":"\u{1F4D6} Help","**\u6570\u5B57\u515C\u5E95**\n**1**\u5DE5\u4F5C\u533A\u5217\u8868 \xB7 **2**\u65B0\u4F1A\u8BDD \xB7 **3**\u4F1A\u8BDD\u5217\u8868 \xB7 **4**\u72B6\u6001\n**5**\u{1F527}\u8865\u5168\u6743\u9650 \xB7 **6**\u5E2E\u52A9":`**Number fallback** **1** Workspace list \xB7 **2** New session \xB7 **3** Session list \xB7 **4** Status @@ -132,9 +132,9 @@ ID: {id}`,"\u7ED1\u5B9A\u5931\u8D25\uFF1A{message}":"Binding failed: {message}", Reply with a number for a quick action: **1** Workspace list \xB7 **2** New session \xB7 **3** Sessions/watches **4** Status \xB7 **5** Complete permissions \xB7 **6** Help`,"\u4ECE\u4E0B\u65B9\u4E0B\u62C9\u9009\u62E9\u8865\u5145\u6307\u4EE4\uFF1B\u6700\u540E\u4E00\u9879\u53EF\u81EA\u5B9A\u4E49\u8F93\u5165\u3002":"Choose an instruction below; the last option lets you enter a custom one.","\u5F53\u524D\u6CA1\u6709\u7ED1\u5B9A\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u7ED1\u5B9A\u4F1A\u8BDD\u518D\u8865\u5145\u6307\u4EE4\u3002":"No session is bound. Bind one before steering the task.","\u2795 \u8865\u5145\u6307\u4EE4":"\u2795 Steer task","\u8F93\u5165\u8865\u5145\u6307\u4EE4\u540E\u70B9\u300C\u63D0\u4EA4\u300D\uFF0C\u53D1\u9001\u7ED9\u5F53\u524D\u8FD0\u884C\u7684\u4EFB\u52A1\u3002":"Enter an instruction and press Submit to send it to the running task.",\u8F93\u5165\u4F60\u7684\u8865\u5145\u6307\u4EE4:"Enter your instruction",\u63D0\u4EA4:"Submit","\u2795 \u81EA\u5B9A\u4E49\u6307\u4EE4":"\u2795 Custom instruction","\u{1F916} \u52A9\u624B\u83DC\u5355":"\u{1F916} Assistant menu","**\u70B9\u51FB\u6309\u94AE\u6216\u76F4\u63A5\u56DE\u590D\u6570\u5B57**":"**Tap a button or reply with a number**","1 \xB7 \u4F1A\u8BDD\u5217\u8868":"1 \xB7 Sessions","2 \xB7 \u5DE5\u4F5C\u533A":"2 \xB7 Workspace","3 \xB7 \u65B0\u4F1A\u8BDD":"3 \xB7 New session","4 \xB7 \u72B6\u6001":"4 \xB7 Status","5 \xB7 \u5E2E\u52A9":"5 \xB7 Help","**6 \xB7 \u8865\u5168\u6743\u9650**\uFF08\u8BF7\u76F4\u63A5\u56DE\u590D\u6570\u5B57 **6**\uFF09":"**6 \xB7 Complete permissions** (reply with the number **6**)","7 \xB7 \u5173\u6CE8\u5217\u8868":"7 \xB7 Watch list","\u{1F9EA} \u9A8C\u8BC1\u5361\u7247\u6309\u94AE":"\u{1F9EA} Verify card buttons","\u6388\u6743\u5DF2\u63D0\u4EA4\u3002\u8BF7\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\uFF1B\u673A\u5668\u4EBA\u771F\u5B9E\u6536\u5230\u56DE\u8C03\u540E\u624D\u4F1A\u5224\u5B9A\u4FEE\u590D\u6210\u529F\u3002":"Authorization submitted. Tap the button below; the repair is confirmed only after the bot receives the real callback.",\u5B8C\u6210\u9A8C\u8BC1:"Finish verification","**\u5DE5\u4F5C\u533A**\uFF1A{workspace}\n\u5171 **{total}** \u4E2A\u4F1A\u8BDD{paging}":`**Workspace**: {workspace} -**{total}** sessions in total{paging}`,"\uFF08\u7B2C {page}/{pageCount} \u9875\uFF09":" (page {page}/{pageCount})","\u2B50\u53D6\u5173":"\u2B50 Unwatch","\u2B50\u5173\u6CE8":"\u2B50 Watch","\u25C0 \u4E0A\u4E00\u9875":"\u25C0 Previous","\u4E0B\u4E00\u9875 \u25B6":"Next \u25B6","\u56DE\u590D\u6570\u5B57\uFF081~N\uFF09\u7ED1\u5B9A\u672C\u9875\u4F1A\u8BDD\u3002":"Reply with a number (1\u2013N) to bind a session on this page.","\u{1F4C2} \u4F1A\u8BDD\u5217\u8868":"\u{1F4C2} Session list","\u5F53\u524D Host \u4E0A\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002":"No workspaces are registered on the current Host.","\u56DE\u590D\u6570\u5B57\u5207\u6362\u5DE5\u4F5C\u533A\uFF0C\u6216\u70B9\u51FB\u6309\u94AE\uFF1A":"Reply with a number to switch workspaces, or tap a button:","\u{1F5C2} \u5DE5\u4F5C\u533A":"\u{1F5C2} Workspace","\u{1F916} \u52A9\u624B\u83DC\u5355\uFF08\u56DE\u590D\u6570\u5B57\u5373\u53EF\uFF0C\u65E0\u9700\u8BB0\u547D\u4EE4\uFF09":"\u{1F916} Assistant menu (reply with a number \u2014 no need to memorize commands)","1 \xB7 /sessionlist \u5217\u51FA\u4F1A\u8BDD\uFF08\u56DE\u590D\u6570\u5B57\u7ED1\u5B9A\uFF09":"1 \xB7 /sessionlist List sessions (reply with a number to bind)","2 \xB7 /workspacelist \u5217\u51FA\u5DE5\u4F5C\u533A\uFF08\u56DE\u590D\u6570\u5B57\u5207\u6362\uFF09":"2 \xB7 /workspacelist List workspaces (reply with a number to switch)","3 \xB7 /new \u5F00\u542F\u65B0\u4F1A\u8BDD":"3 \xB7 /new Start a new session","4 \xB7 /status \u8FDE\u63A5\u72B6\u6001":"4 \xB7 /status Connection status","5 \xB7 /help \u672C\u5E2E\u52A9":"5 \xB7 /help This help","6 \xB7 /repair \u8865\u5168\u6743\u9650\u4E0E\u56DE\u8C03\uFF08\u8BF7\u56DE\u590D\u6570\u5B57 6\uFF09":"6 \xB7 /repair Complete permissions and callback (reply with the number 6)","7 \xB7 /watchlist \u5173\u6CE8\u5217\u8868":"7 \xB7 /watchlist Watch list","\u76F4\u63A5\u53D1\u9001\u6587\u5B57/\u56FE\u7247\u5373\u7EE7\u7EED\u5F53\u524D\u4F1A\u8BDD\u3002":"Send text or an image directly to continue the current session.","/session ID \u6216\u5E8F\u53F7 \u7ED1\u5B9A\u5DF2\u6709\u4F1A\u8BDD":"/session ID or index Bind an existing session","/watch ID \u6216\u5E8F\u53F7 \u5173\u6CE8\u4F1A\u8BDD\uFF08\u5B8C\u6210\u540E\u63A8\u9001\uFF09":"/watch ID or index Watch a session (push when done)","/compact \u538B\u7F29\u4E0A\u4E0B\u6587":"/compact Compact the context","/workspace \u7EDD\u5BF9\u8DEF\u5F84 \u5207\u6362\u5DE5\u4F5C\u533A":"/workspace Switch workspace","/presetlist \u5217\u51FA\u53EF\u7528 Agent Preset":"/presetlist List available Agent Presets","\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\uFF0C\u56DE\u590D\u6570\u5B57\u6216\u70B9\u6309\u94AE\u53D6\u6D88\u5173\u6CE8\uFF1A":"Completion is pushed automatically. Reply with a number or tap a button to unwatch:","\u{1F441} \u5173\u6CE8\u5217\u8868":"\u{1F441} Watch list","\u2B50 \u53D6\u6D88\u5173\u6CE8":"\u2B50 Unwatch","\u2606 \u5173\u6CE8":"\u2606 Watch","\u{1F50D} \u5173\u6CE8\u5217\u8868":"\u{1F50D} Watch list",\u52FE\u9009\u8981\u5173\u6CE8\u7684\u4F1A\u8BDD:"Select sessions to watch",\u52FE\u9009\u8981\u53D6\u6D88\u5173\u6CE8\u7684\u4F1A\u8BDD:"Select sessions to unwatch","\u5F53\u524D\u6CA1\u6709\u5173\u6CE8\u7684\u4F1A\u8BDD\u3002\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\u7ED3\u679C\u3002":"No sessions are being watched. Results are pushed automatically when tasks complete.","\u5F53\u524D\u5173\u6CE8 **{count}** \u4E2A\u4F1A\u8BDD\uFF1A":"Currently watching **{count}** sessions:","**\u2795 \u6DFB\u52A0\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09":"**\u2795 Add watch** (select from the multi-select dropdown)","**\u2796 \u53D6\u6D88\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09":"**\u2796 Remove watch** (select from the multi-select dropdown)","\u{1F4CB} \u4F1A\u8BDD\u5217\u8868":"\u{1F4CB} Session list","\u{1F519} \u8FD4\u56DE\u83DC\u5355":"\u{1F519} Back to menu",\u5DF2\u5B8C\u6210:"Completed",\u5DF2\u505C\u6B62:"Stopped",\u5DF2\u4E2D\u6B62:"Aborted",\u5DF2\u53D6\u6D88:"Cancelled",\u5DF2\u7ED3\u675F:"Ended","\u2705 \u4EFB\u52A1\u5B8C\u6210":"\u2705 Task complete","**\u72B6\u6001**\uFF1A{reason}":"**Status**: {reason}",\u6253\u5F00\u4F1A\u8BDD\u5217\u8868:"Open session list",\u5DE5\u4F5C\u533A:"Workspace","\u7ED1\u5B9A\u8BE5\u4F1A\u8BDD\u540E\u53EF\u7EE7\u7EED\u8FFD\u95EE\uFF0C\u8F93\u5165\u6587\u5B57\u5373\u53EF\u3002":"After binding this session you can keep asking; just type a message.","\u5F53\u524D\u6CA1\u6709\u5173\u6CE8\u7684\u4F1A\u8BDD\u3002\n`/watch ` \u5173\u6CE8\u540E\uFF0C\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\u3002":"No sessions are being watched.\nWatch one with `/watch ` and completion is pushed automatically.","\u6B63\u5728\u751F\u6210\u2026":"Generating\u2026",\u56DE\u7B54\u5B8C\u6210:"Answer complete",\u98DE\u4E66\u673A\u5668\u4EBA:"Feishu bot","\u98DE\u4E66\u673A\u5668\u4EBA\u7F3A\u5C11\u56FE\u7247\u8BFB\u53D6\u6743\u9650 im:message:readonly\uFF08\u98DE\u4E66\u663E\u793A\u4E3A\u201C\u83B7\u53D6\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F\u201D\uFF09\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u63D2\u4EF6\u9875\u9762\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u6309\u98DE\u4E66\u63D0\u793A\u53D1\u5E03\u65B0\u7248\u672C\u3001\u5B8C\u6210\u5FC5\u8981\u5BA1\u6279\u540E\uFF0C\u518D\u91CD\u65B0\u53D1\u9001\u56FE\u7247\u3002":"The Feishu bot is missing the image-read scope im:message:readonly, shown by Feishu as \u201CRead direct and group messages.\u201D Run /repair in a direct chat with the bot, or click the \u201CComplete permissions\u201D button on the plugin page and scan the QR code. Publish a new version and complete any approval requested by Feishu, then resend the image.","\u2705 \u4FEE\u590D\u5B8C\u6210\uFF1A\u5DF2\u5B9E\u6D4B\u6536\u5230 card.action.trigger\uFF0C\u83DC\u5355\u6309\u94AE\u73B0\u5728\u53EF\u7528\u3002":"\u2705 Repair complete: card.action.trigger was received in a real test; the menu buttons now work.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u8D85\u65F6\uFF1A\u672A\u6536\u5230\u6D4B\u8BD5\u5361\u6309\u94AE\u7684 card.action.trigger\uFF0C\u4E0D\u80FD\u786E\u8BA4\u6309\u94AE\u5DF2\u4FEE\u590D\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u68C0\u67E5\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u7684\u5361\u7247\u56DE\u8C03\u914D\u7F6E\uFF0C\u786E\u8BA4\u540E\u518D\u53D1\u9001 /repair\u3002":"\u26A0\uFE0F Repair verification timed out: no card.action.trigger from the test card button was received, so the buttons cannot be confirmed repaired. Do not authorize again; check the card-callback configuration in Feishu Open Platform first, then send /repair.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u5931\u8D25\uFF1A\u65E0\u6CD5\u53D1\u9001\u4E13\u7528\u6D4B\u8BD5\u5361\uFF0C\u4E0D\u80FD\u786E\u8BA4 card.action.trigger \u5DF2\u6062\u590D\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u68C0\u67E5\u673A\u5668\u4EBA\u6D88\u606F\u6743\u9650\u548C\u8FDE\u63A5\u72B6\u6001\u3002":"\u26A0\uFE0F Repair verification failed: the dedicated test card could not be sent, so card.action.trigger cannot be confirmed restored. Do not authorize again; check the bot message permission and connection status first.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u4E2D\u65AD\uFF1ARuntime \u5DF2\u505C\u6B62\uFF0C\u672A\u5B8C\u6210 card.action.trigger \u5B9E\u6D4B\uFF0C\u4E0D\u80FD\u786E\u8BA4\u4FEE\u590D\u6210\u529F\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u7B49\u5F85\u673A\u5668\u4EBA\u6062\u590D\u8FDE\u63A5\u3002":"\u26A0\uFE0F Repair verification interrupted: the Runtime stopped before the card.action.trigger test completed, so the repair cannot be confirmed. Do not authorize again; wait for the bot to reconnect."};var zU={"\u5DF2\u8FDE\u63A5 DeepSeek Harness\uFF0C\u6B63\u5728\u601D\u8003\u2026":"Connected to DeepSeek Harness, thinking\u2026","\u9489\u9489\u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The DingTalk bot is connected to DeepSeek Harness.","\u9489\u9489\u672A\u80FD\u6362\u53D6\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\uFF1B\u82E5\u6301\u7EED\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u7684\u201C\u4F01\u4E1A\u5185\u673A\u5668\u4EBA\u53D1\u9001\u6D88\u606F\u6743\u9650\u201D\u3002":`DingTalk could not provide the image download address. Please resend; if it keeps failing, check the bot's "Send messages as an internal robot" permission.`,"\u9489\u9489\u6CA1\u6709\u8FD4\u56DE\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"DingTalk did not return an image download address. Please resend.","\u9489\u9489\u8FD4\u56DE\u7684\u56FE\u7247\u4E34\u65F6\u5730\u5740\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The temporary image address returned by DingTalk could not be read. Please resend.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u8BD5\u3002":'Delivery of the result file "{name}" could not be confirmed. Please check whether it already arrived in the chat before retrying.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u9489\u9489\u5E94\u7528\u6216\u673A\u5668\u4EBA\u7F3A\u5C11\u6587\u4EF6\u6D88\u606F\u6743\u9650\u3002\u8BF7\u5F00\u901A\u5E94\u7528 qyapi_base \u6743\u9650\uFF0C\u5E76\u786E\u8BA4\u673A\u5668\u4EBA\u5177\u5907\u6587\u4EF6\u6D88\u606F\u53D1\u9001\u80FD\u529B\u3002":`Result file "{name}" was generated, but the DingTalk app or bot lacks file message permission. Enable the app's qyapi_base permission and make sure the bot can send file messages.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u9489\u9489\u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'Result file "{name}" exceeds the file size limit of the current DingTalk bot and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u9489\u9489\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'Result file "{name}" was rate-limited by DingTalk and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u9489\u9489\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u7C7B\u578B\u548C\u673A\u5668\u4EBA\u6587\u4EF6\u6D88\u606F\u914D\u7F6E\u3002":`Result file "{name}" was generated, but DingTalk rejected the file message. Check the file type and the bot's file message configuration.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u9489\u9489\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'Result file "{name}" was generated but could not be sent via DingTalk right now. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u5DF2\u751F\u6210\u3002":"The result file has been generated.","\u9489\u9489\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The DingTalk bot is connected to DeepSeek Harness normally.","\u9489\u9489\u547D\u4EE4\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk command.","\u9489\u9489\u6D88\u606F\u6CA1\u6709\u5B89\u5168\u7684\u56DE\u590D\u5730\u5740\u3002":"The DingTalk message has no safe reply address.","\u9489\u9489\u5BA1\u6279\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk approval.","\u9489\u9489\u6D88\u606F\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk message.","\u9489\u9489\u6D88\u606F\u683C\u5F0F\u65E0\u6548\u3002":"Invalid DingTalk message format.","\u9489\u9489\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the DingTalk interaction question.",\u9489\u9489\u7528\u6237:"DingTalk user",\u9489\u9489\u673A\u5668\u4EBA:"DingTalk bot",\u8EAB\u4EFD\u5DF2\u9690\u85CF:"Identity hidden","\u9489\u9489\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The DingTalk bot credentials are missing. Remove the bot and scan the QR code again.","\u9489\u9489\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The DingTalk connection is not ready. Please try again later.","\u9489\u9489\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The DingTalk connection is still not ready. Please try again later.","\u626B\u7801\u63A5\u5165\u5DF2\u53D6\u6D88\u3002":"QR code setup has been cancelled.","\u65E0\u6CD5\u751F\u6210\u9489\u9489\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not generate the DingTalk QR code. Please try again later.","\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002":"The QR code has expired. Generate a new one.","\u9489\u9489\u5DF2\u63A5\u5165\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"DingTalk is connected, but the message connection is not ready yet. Please try again later.","\u9489\u9489\u672A\u5B8C\u6210\u673A\u5668\u4EBA\u6388\u6743\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u3002":"DingTalk did not complete the bot authorization. Please scan the QR code again.","\u9489\u9489\u6388\u6743\u72B6\u6001\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002":"The DingTalk authorization status is temporarily unavailable. Retrying.","\u9489\u9489\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"DingTalk authorization succeeded, but the configuration could not be saved safely.","\u9489\u9489\u6388\u6743\u67E5\u8BE2\u6682\u65F6\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002":"The DingTalk authorization query failed temporarily. Retrying.","\u9489\u9489\u673A\u5668\u4EBA\uFF08{clientId}\uFF09":"DingTalk bot ({clientId})","\u9489\u9489 Stream \u6D88\u606F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The DingTalk Stream message connection is running normally",\u9489\u9489\u6D88\u606F\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The DingTalk message connection is currently offline"};var VU={"\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The Enterprise WeChat bot is connected to DeepSeek Harness.","\u5F53\u524D\u5F85\u5904\u7406\u56FE\u7247\u8F83\u591A\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u53D1\u9001\u3002":"Too many images are pending. Please send them again later.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u4F01\u4E1A\u5FAE\u4FE1\u667A\u80FD\u673A\u5668\u4EBA\u7F3A\u5C11\u7D20\u6750\u4E0A\u4F20\u6216\u6587\u4EF6\u6D88\u606F\u80FD\u529B\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u6743\u9650\u3002":'The result file "{name}" was generated, but the Enterprise WeChat bot lacks media upload or file message capability. Please check the bot permissions.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size this Enterprise WeChat bot can send and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u4F01\u4E1A\u5FAE\u4FE1\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty. Enterprise WeChat does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u4F01\u4E1A\u5FAE\u4FE1\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was rate-limited by Enterprise WeChat and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u4F01\u4E1A\u5FAE\u4FE1\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6216\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but Enterprise WeChat rejected the file or file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u4F01\u4E1A\u5FAE\u4FE1\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via Enterprise WeChat right now. Please try again later.',"\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u4F46\u6CA1\u6709\u751F\u6210\u53EF\u663E\u793A\u7684\u6587\u672C\u3002":"The task completed, but no displayable text was generated.","\u76EE\u524D\u652F\u6301\u6587\u5B57\u3001\u56FE\u7247\u548C\u8BED\u97F3\u8F6C\u5199\u6D88\u606F\u3002":"Currently only text, images, and voice transcription messages are supported.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The connection between the Enterprise WeChat bot and DeepSeek Harness is working.","\u6B63\u5728\u601D\u8003\u4E2D\u2026":"Thinking\u2026","\u4F01\u4E1A\u5FAE\u4FE1\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the Enterprise WeChat interaction question.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The Enterprise WeChat bot credentials are missing. Please remove the bot and scan the QR code again.","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The Enterprise WeChat connection is not ready. The plugin will retry automatically.","\u626B\u7801\u7ED1\u5B9A\u5DF2\u53D6\u6D88\u3002":"QR code binding has been cancelled.","\u65E0\u6CD5\u751F\u6210\u4F01\u4E1A\u5FAE\u4FE1\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the Enterprise WeChat QR code. Please try again later.","\u4F01\u4E1A\u5FAE\u4FE1\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002":"The Enterprise WeChat QR code has expired. Please generate a new one.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The Enterprise WeChat bot is bound, but the message connection is not ready yet.","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The Enterprise WeChat connection is still not ready. Please try again later.","\u4F01\u4E1A\u5FAE\u4FE1\u626B\u7801\u6CA1\u6709\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The Enterprise WeChat QR scan was not completed. Please generate a new QR code.","\u4F01\u4E1A\u5FAE\u4FE1\u626B\u7801\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The Enterprise WeChat QR service is temporarily unavailable. Please generate a new QR code.","\u4F01\u4E1A\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"Enterprise WeChat authorization succeeded, but the connection configuration could not be saved safely.",\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA:"Enterprise WeChat bot","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\uFF08{botId}\uFF09":"Enterprise WeChat bot ({botId})","\u4F01\u4E1A\u5FAE\u4FE1 WebSocket \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The Enterprise WeChat WebSocket long connection is running normally","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The Enterprise WeChat connection is not ready. The plugin will retry automatically",\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The Enterprise WeChat connection is currently offline"};var WU={"QQ \u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The QQ bot is connected to DeepSeek Harness.","\u56DE\u7B54\u8F83\u957F\uFF0C\u540E\u7EED\u5185\u5BB9\u672A\u80FD\u901A\u8FC7 QQ \u5B8C\u6574\u53D1\u9001\uFF0C\u8BF7\u56DE\u590D\u201C\u7EE7\u7EED\u201D\u3002":"The answer is long and the rest could not be sent fully through QQ. Reply \u201C\u7EE7\u7EED\u201D (continue) to receive it.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46 QQ \u4ECA\u65E5\u6587\u4EF6\u4E0A\u4F20\u989D\u5EA6\u5DF2\u7528\u5B8C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":`The result file "{name}" was generated, but QQ's daily file upload quota is used up. Please try again later.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5F53\u524D QQ \u673A\u5668\u4EBA\u6CA1\u6709\u6587\u4EF6\u6D88\u606F\u6743\u9650\u3002":'The result file "{name}" was generated, but the current QQ bot does not have file message permission.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D QQ \u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size the current QQ bot can send and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0CQQ \u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty, and QQ does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB QQ \u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by QQ and was not sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46 QQ \u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6216\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but QQ rejected the file or file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7 QQ \u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via QQ right now. Please try again later.',"QQ \u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The QQ bot is connected to DeepSeek Harness normally.","QQ \u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the QQ interaction question.","QQ \u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The QQ bot credentials are missing. Remove the bot and scan the QR code again.","QQ \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The QQ connection is not ready; the plugin will retry automatically.","QQ \u626B\u7801\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The QQ QR service is temporarily unavailable. Please generate a new QR code.","\u65E0\u6CD5\u751F\u6210 QQ \u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the QQ QR code. Please try again later.","QQ \u673A\u5668\u4EBA\u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The QQ bot is bound, but the message connection is not ready yet.","QQ \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The QQ connection is still not ready. Please try again later.",QQ\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The QQ bot is not connected yet","QQ \u673A\u5668\u4EBA\uFF08{appId}\uFF09":"QQ bot ({appId})",QQ\u673A\u5668\u4EBA:"QQ bot","QQ WebSocket \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The QQ WebSocket long connection is running normally","QQ \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The QQ connection is not ready; the plugin will retry automatically","QQ \u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF":"The QQ connection is currently offline","QQ \u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"QQ authorization succeeded, but the connection configuration could not be saved safely."};var ZU={"\u5FAE\u4FE1\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"WeChat is connected to DeepSeek Harness.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5FAE\u4FE1\u673A\u5668\u4EBA\u5F53\u524D\u6CA1\u6709\u6587\u4EF6\u6D88\u606F\u53D1\u9001\u6743\u9650\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u6587\u4EF6\u6D88\u606F\u80FD\u529B\u3002":`The result file "{name}" was generated, but the WeChat bot currently has no permission to send file messages. Please check the bot's file messaging capability.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u5FAE\u4FE1\u4F1A\u8BDD\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size limit of the current WeChat conversation and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u5FAE\u4FE1\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by WeChat and was not sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5FAE\u4FE1\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but WeChat rejected the file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u5FAE\u4FE1\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via WeChat right now. Please try again later.',"\u76EE\u524D\u652F\u6301\u6587\u5B57\u3001\u56FE\u7247\uFF0C\u4EE5\u53CA\u5FAE\u4FE1\u5DF2\u8F6C\u6210\u6587\u5B57\u7684\u8BED\u97F3\u6D88\u606F\u3002":"Currently supports text, images, and voice messages that WeChat has converted to text.","\u5FAE\u4FE1\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"WeChat is connected to DeepSeek Harness normally.","\u5FAE\u4FE1\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the WeChat interaction question.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u8BFB\u53D6\u73B0\u6709\u767B\u5F55\u51ED\u636E\u3002\u8BF7\u68C0\u67E5 DSH \u51ED\u636E\u5B58\u50A8\u3002":"WeChat was authorized, but the existing login credential could not be read. Please check the DSH credential store.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u767B\u5F55\u51ED\u636E\u65E0\u6CD5\u5199\u5165 DSH \u51ED\u636E\u5B58\u50A8\u3002\u8BF7\u68C0\u67E5\u51ED\u636E\u5B58\u50A8\u662F\u5426\u53EF\u5199\u3002":"WeChat was authorized, but the login credential could not be written to the DSH credential store. Please check that the credential store is writable.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u8D26\u53F7\u914D\u7F6E\u65E0\u6CD5\u5199\u5165\u672C\u673A\u3002\u8BF7\u68C0\u67E5 DSH_HOME \u76EE\u5F55\u6743\u9650\u3002":"WeChat was authorized, but the account configuration could not be written locally. Please check the DSH_HOME directory permissions.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u521D\u59CB\u5316\u8D26\u53F7\u72B6\u6001\u6216\u5DE5\u4F5C\u533A\u3002\u8BF7\u68C0\u67E5 DSH_HOME \u548C\u5DE5\u4F5C\u533A\u76EE\u5F55\u3002":"WeChat was authorized, but the account state or workspace could not be initialized. Please check DSH_HOME and the workspace directories.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u63D2\u4EF6\u65E0\u6CD5\u8FDE\u63A5\u672C\u673A Harness\u3002\u8BF7\u68C0\u67E5 dsh web \u5730\u5740\u548C\u7AEF\u53E3\u3002":"WeChat was authorized, but the plugin could not connect to the local Harness. Please check the dsh web address and port.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u8D85\u65F6\u3002\u8BF7\u786E\u8BA4 dsh web \u672A\u963B\u585E\u3002":"WeChat was authorized, but the Harness health check timed out. Please confirm dsh web is not blocked.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u9700\u8981\u8EAB\u4EFD\u8BA4\u8BC1\u3002\u8BF7\u68C0\u67E5\u4EE3\u7406\u3001\u7F51\u5173\u6216\u81EA\u5B9A\u4E49\u9274\u6743\u914D\u7F6E\u3002":"WeChat was authorized, but the Harness health check requires authentication. Please check proxy, gateway, or custom auth configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u672C\u673A Harness \u8BF7\u6C42\u88AB\u4EE3\u7406\u8981\u6C42\u8BA4\u8BC1\u3002\u8BF7\u8BA9\u56DE\u73AF\u5730\u5740\u7ED5\u8FC7\u4EE3\u7406\uFF0C\u5E76\u68C0\u67E5 NO_PROXY \u914D\u7F6E\u3002":"WeChat was authorized, but the local Harness request was challenged for proxy authentication. Please bypass the proxy for loopback addresses and check the NO_PROXY configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5F02\u5E38\u62D2\u7EDD\u4E86\u56DE\u73AF\u5730\u5740\u7684\u5065\u5EB7\u68C0\u67E5\u3002\u8BF7\u68C0\u67E5 HTTP \u4EE3\u7406\u3001Harness \u6E90\u7801\u7248\u672C\u548C\u6784\u5EFA\u4EA7\u7269\u3002":"WeChat was authorized, but Harness unexpectedly rejected the health check from a loopback address. Please check the HTTP proxy, Harness source version, and build artifacts.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u7684 Host \u4FE1\u4EFB\u68C0\u67E5\u62D2\u7EDD\u4E86\u975E\u56DE\u73AF\u5730\u5740\u8BF7\u6C42\u3002\u8BF7\u68C0\u67E5 harnessBaseUrl \u4E0E trustedHosts \u914D\u7F6E\u3002":"WeChat was authorized, but the Harness Host trust check rejected a non-loopback request. Please check the harnessBaseUrl and trustedHosts configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u5065\u5EB7\u68C0\u67E5\u6536\u5230\u4E86\u975E Harness \u6807\u51C6\u7684 403 \u62D2\u7EDD\u54CD\u5E94\u3002\u8BF7\u68C0\u67E5\u4EE3\u7406\u6216\u7F51\u5173\u914D\u7F6E\u3002":"WeChat was authorized, but the health check received a non-standard Harness 403 rejection. Please check the proxy or gateway configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u627E\u4E0D\u5230 Harness \u5065\u5EB7\u68C0\u67E5\u63A5\u53E3\u3002\u8BF7\u786E\u8BA4 Harness \u4E0E\u63D2\u4EF6\u7248\u672C\u517C\u5BB9\u3002":"WeChat was authorized, but the Harness health check endpoint was not found. Please confirm the Harness and plugin versions are compatible.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u8FD4\u56DE\u670D\u52A1\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but the Harness health check returned a server error. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u54CD\u5E94\u3002\u8BF7\u786E\u8BA4 Harness \u4E0E\u63D2\u4EF6\u7248\u672C\u517C\u5BB9\u3002":"WeChat was authorized, but Harness returned an unrecognized response. Please confirm the Harness and plugin versions are compatible.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u62D2\u7EDD\u4E86\u5065\u5EB7\u68C0\u67E5\u8BF7\u6C42\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but Harness rejected the health check request. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u53D1\u751F\u672A\u77E5\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but the Harness health check failed with an unknown error. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u521D\u59CB\u5316\u5931\u8D25\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u540E\u91CD\u8BD5\u3002":"WeChat was authorized, but the message connection failed to initialize. Please check the dsh web logs and try again.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u6FC0\u6D3B\u8FC7\u7A0B\u4E2D\u53D1\u751F\u672A\u77E5\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but an unknown error occurred during activation. Please check the dsh web logs.","\u767B\u5F55\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u8D26\u53F7\u540E\u91CD\u65B0\u626B\u7801\u3002":"The login credential is missing. Please remove the account and scan the QR code again.","\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The WeChat connection is not ready; the plugin will retry automatically.","\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The WeChat connection is not ready; the plugin will retry automatically","\u65E0\u6CD5\u751F\u6210\u5FAE\u4FE1\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the WeChat QR code. Please try again later.","\u5FAE\u4FE1\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The WeChat connection is still not ready. Please try again later.",\u5FAE\u4FE1\u673A\u5668\u4EBA:"WeChat Bot","\u5FAE\u4FE1\u673A\u5668\u4EBA\uFF08{name}\uFF09":"WeChat Bot ({name})",\u5FAE\u4FE1\u6D88\u606F\u957F\u8F6E\u8BE2\u8FD0\u884C\u6B63\u5E38:"WeChat message long-polling is running normally",\u5FAE\u4FE1\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The WeChat connection is currently offline","\u914D\u5BF9\u7801\u591A\u6B21\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The pairing code was entered incorrectly too many times. Please generate a new QR code.","\u8BE5\u5FAE\u4FE1\u8D26\u53F7\u5DF2\u7ED1\u5B9A\uFF0C\u4F46\u672C\u673A\u6CA1\u6709\u53EF\u6062\u590D\u7684\u51ED\u636E\u3002":"This WeChat account is already bound, but no recoverable credential exists on this machine.","\u5FAE\u4FE1\u6388\u6743\u6210\u529F\uFF0C\u4F46\u8FD4\u56DE\u7684\u8D26\u53F7\u51ED\u636E\u4E0D\u5B8C\u6574\u3002":"WeChat authorization succeeded, but the returned account credential is incomplete.","\u5FAE\u4FE1\u767B\u5F55\u51ED\u636E\u5DF2\u5931\u6548\uFF0C\u8BF7\u79FB\u9664\u8D26\u53F7\u540E\u91CD\u65B0\u626B\u7801\u3002":"The WeChat login credential has expired. Please remove the account and scan the QR code again.","\u5FAE\u4FE1\u6D88\u606F\u540C\u6B65\u8BF7\u6C42\u88AB\u62D2\u7EDD\u3002":"The WeChat message sync request was rejected.","\u5FAE\u4FE1\u56FE\u7247\u7684\u52A0\u5BC6\u5BC6\u94A5\u65E0\u6548\u3002":"The encryption key of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u7684\u52A0\u5BC6\u6570\u636E\u65E0\u6548\u3002":"The encrypted data of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u89E3\u5BC6\u5931\u8D25\u3002":"Failed to decrypt the WeChat image.","\u5FAE\u4FE1\u56FE\u7247\u6CA1\u6709\u53EF\u7528\u7684\u4E0B\u8F7D\u5730\u5740\u3002":"The WeChat image has no usable download URL.","\u5FAE\u4FE1\u56FE\u7247\u7684\u4E0B\u8F7D\u5730\u5740\u65E0\u6548\u3002":"The download URL of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u7684\u4E0B\u8F7D\u5730\u5740\u4E0D\u53D7\u4FE1\u4EFB\u3002":"The download URL of the WeChat image is not trusted.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u8FDE\u63A5\u5730\u5740\u3002":"The WeChat service returned an invalid connection URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u8FDE\u63A5\u5730\u5740\u3002":"The WeChat service returned an untrusted connection URL.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u626B\u7801\u5730\u5740\u3002":"The WeChat service did not return a QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u626B\u7801\u5730\u5740\u3002":"The WeChat service returned an invalid QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u626B\u7801\u5730\u5740\u3002":"The WeChat service returned an untrusted QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service returned an invalid file upload URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service returned an untrusted file upload URL.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service did not return a file upload URL.","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u88AB\u62D2\u7EDD\uFF08HTTP {status}\uFF09\u3002":"The WeChat file upload was rejected (HTTP {status}).","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF08HTTP {status}\uFF09\u3002":"The WeChat file upload failed (HTTP {status}).","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u4E0B\u8F7D\u53C2\u6570\u3002":"The WeChat file upload response is missing the download parameter.","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\u3002":"The WeChat file upload failed.","\u62D2\u7EDD\u8BBF\u95EE\u4E0D\u53D7\u4FE1\u4EFB\u7684\u5FAE\u4FE1\u670D\u52A1\u5730\u5740\u3002":"Refusing to access an untrusted WeChat service URL.","\u5FAE\u4FE1\u670D\u52A1\u8BF7\u6C42\u5931\u8D25\uFF08HTTP {status}\uFF09\u3002":"The WeChat service request failed (HTTP {status}).","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\u3002":"The WeChat service returned an unparseable response.","\u5FAE\u4FE1\u670D\u52A1\u8BF7\u6C42\u8D85\u65F6\u3002":"The WeChat service request timed out.","\u6682\u65F6\u65E0\u6CD5\u8BBF\u95EE\u5FAE\u4FE1\u670D\u52A1\u3002":"The WeChat service is temporarily unreachable.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u626B\u7801\u72B6\u6001\u3002":"The WeChat service returned an unrecognized QR-code status.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u4E8C\u7EF4\u7801\u4EE4\u724C\u3002":"The WeChat service did not return a QR-code token.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u56DE\u590D\u6D88\u606F\u3002":"The WeChat service rejected the reply message.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u4E0A\u4F20\u8BF7\u6C42\u3002":"The WeChat service rejected the file upload request.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u6D88\u606F\u3002":"The WeChat service rejected the file message.","\u5FAE\u4FE1\u8D26\u53F7\u8FDE\u63A5\u542F\u52A8\u5931\u8D25\u3002":"Failed to start the WeChat account connection."};var XU={Slack\u673A\u5668\u4EBA:"Slack bot","Slack\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u63A5\u5165\u3002":"Slack bot credentials are missing. Remove the bot and connect it again.","Slack Socket Mode \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The Slack Socket Mode connection is not ready yet. The plugin will retry automatically.","Slack\u673A\u5668\u4EBA\u5DF2\u63A5\u5165\uFF0CSocket Mode \u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The Slack bot is connected, but the Socket Mode connection is not ready yet.","Slack Socket Mode \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u68C0\u67E5\u4E24\u4E2A Token\u3002":"The Slack Socket Mode connection is still not ready. Check both tokens.",Slack\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The Slack bot is not connected yet","Slack Socket Mode \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The Slack Socket Mode long-lived connection is running normally","Slack\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The Slack connection is not ready. The plugin will retry automatically",Slack\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The Slack connection is currently offline","Slack \u672A\u6388\u6743\u673A\u5668\u4EBA\u8BFB\u53D6\u8BE5\u6587\u4EF6\u3002\u8BF7\u4E3A\u5E94\u7528\u6DFB\u52A0 files:read \u540E\u91CD\u65B0\u5B89\u88C5\uFF0C\u518D\u91CD\u65B0\u53D1\u9001\u56FE\u7247\u3002":"Slack has not granted the bot access to this file. Add the files:read scope to the app, reinstall it, then send the image again.","Slack Bot Token \u5FC5\u987B\u4EE5 xoxb- \u5F00\u5934\u3002":"The Slack Bot Token must start with xoxb-.","Slack App Token \u5FC5\u987B\u4EE5 xapp- \u5F00\u5934\u3002":"The Slack App Token must start with xapp-.","Slack Bot Token \u6CA1\u6709\u8FD4\u56DE\u5B8C\u6574\u7684\u673A\u5668\u4EBA\u8EAB\u4EFD\u3002":"The Slack Bot Token did not return a complete bot identity.","Slack App Token \u65E0\u6CD5\u521B\u5EFA Socket Mode \u8FDE\u63A5\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u542F\u7528 Socket Mode \u548C connections:write\u3002":"The Slack App Token could not create a Socket Mode connection. Make sure Socket Mode and connections:write are enabled."};var $U={\u5F00\u542F\u4E00\u4E2A\u5168\u65B0\u4F1A\u8BDD:"Start a brand-new Session",\u538B\u7F29\u5F53\u524D\u4F1A\u8BDD\u7684\u8F83\u65E9\u4E0A\u4E0B\u6587:"Compact the earlier context of the current Session",\u5207\u6362\u5DE5\u4F5C\u533A:"Switch Workspace",\u5217\u51FA\u5DE5\u4F5C\u533A\u7EDD\u5BF9\u8DEF\u5F84:"List Workspace absolute paths","\u5217\u51FA\u4F1A\u8BDD ID \u548C\u6807\u9898":"List Session IDs and titles",\u5C06\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u5230\u6307\u5B9A\u4F1A\u8BDD:"Bind the current chat to a specific Session",\u6309\u5E8F\u53F7\u5217\u51FA\u6240\u6709\u53EF\u7528\u6A21\u578B:"List all available models by number",\u67E5\u770B\u6216\u5207\u6362\u5F53\u524D\u4F1A\u8BDD\u6A21\u578B:"View or switch the model of the current Session","\u5217\u51FA\u53EF\u7528 Agent Preset":"List available Agent Presets","\u67E5\u770B\u6216\u8BBE\u7F6E\u65B0\u4F1A\u8BDD Agent Preset":"View or set the Agent Preset for new Sessions",\u505C\u6B62\u5F53\u524D\u4EFB\u52A1:"Stop the current task",\u7EA0\u504F\u5F53\u524D\u4EFB\u52A1:"Steer the current task",\u68C0\u67E5\u8FDE\u63A5\u72B6\u6001:"Check connection status",\u67E5\u770B\u63D2\u4EF6\u7248\u672C:"Show plugin version",\u663E\u793A\u5E2E\u52A9:"Show help","\u8BE5 Telegram \u673A\u5668\u4EBA\u5DF2\u914D\u7F6E Webhook\uFF0C\u8BF7\u5148\u5728\u539F\u670D\u52A1\u4E2D\u79FB\u9664 Webhook \u540E\u91CD\u8BD5\u3002":"This Telegram bot already has a Webhook configured. Remove the Webhook from the original service and try again.",Telegram\u673A\u5668\u4EBA:"Telegram Bot"," Bot API \u957F\u8F6E\u8BE2":" Bot API long polling"};var eH={"Discord Bot Token \u65E0\u6548\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\u3002":"The Discord Bot Token is invalid. Please enter it again.","Discord Gateway Intents \u914D\u7F6E\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5 Developer Portal \u7684 Bot \u8BBE\u7F6E\u3002":"The Discord Gateway Intents are misconfigured. Please check the Bot settings in the Developer Portal.",Discord\u673A\u5668\u4EBA:"Discord Bot"," Gateway \u957F\u8FDE\u63A5":" Gateway long-lived connection"};var AH={"WhatsApp \u5173\u8054\u8BBE\u5907\u5DF2\u5931\u6548\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The WhatsApp linked device is no longer valid. Remove it and scan the QR code again.","WhatsApp \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The WhatsApp connection is not ready yet; the plugin will retry automatically.","WhatsApp \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The WhatsApp connection is still not ready. Please try again later.",WhatsApp\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The WhatsApp bot is not connected yet",WhatsApp\u673A\u5668\u4EBA:"WhatsApp bot","WhatsApp Web \u5173\u8054\u8BBE\u5907\u8FD0\u884C\u6B63\u5E38":"The WhatsApp Web linked device is working normally","WhatsApp \u8FDE\u63A5\u672A\u5C31\u7EEA":"The WhatsApp connection is not ready","WhatsApp \u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF":"The WhatsApp connection is currently offline","WhatsApp \u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"WhatsApp is linked, but the messaging connection is not ready yet.","WhatsApp \u5DF2\u626B\u7801\uFF0C\u4F46\u65E0\u6CD5\u4FDD\u5B58\u5173\u8054\u8BBE\u5907\u3002":"The QR code was scanned, but the linked device could not be saved.","\u65E0\u6CD5\u8FDE\u63A5 WhatsApp\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"Unable to connect to WhatsApp. Please generate a new QR code.",WhatsApp\u8D26\u53F7:"WhatsApp account"," Web \u5173\u8054\u8BBE\u5907":" Web linked device"};var tH={"AI Office \u62D2\u7EDD\u4E86 Device Token\u3002":"AI Office rejected the Device Token.","AI Office Connector Hook \u5C1A\u672A\u5C31\u7EEA\u3002":"The AI Office Connector Hook is not ready yet.","AI Office Connector \u534F\u8BAE\u7248\u672C\u4E0D\u517C\u5BB9\u3002":"The AI Office Connector protocol version is incompatible.","\u672C\u673A\u6682\u65F6\u65E0\u6CD5\u8BBF\u95EE AI Office\u3002":"This machine cannot reach AI Office right now.","AI Office \u8FDE\u63A5\u5DF2\u4E2D\u65AD\u3002":"The AI Office connection was interrupted.","\u672C\u673A Harness \u5DF2\u505C\u6B62\u8FD9\u6B21\u6267\u884C\u3002":"The local Harness stopped this run.","Office Job \u5DF2\u88AB\u9886\u53D6\u3001\u53D6\u6D88\u6216\u7ED3\u675F\u3002":"The Office Job has already been claimed, cancelled, or finished.","\u672C\u673A Harness \u672A\u80FD\u5B8C\u6210\u4EFB\u52A1\uFF1B\u8BF7\u68C0\u67E5 Harness \u4F1A\u8BDD\u540E\u91CD\u8BD5\u3002":"The local Harness could not complete the task; check the Harness Session and try again.","Office Job \u5F15\u7528\u4E86\u672C\u673A\u672A\u914D\u7F6E\u7684 Workspace/Preset alias\u3002":"The Office Job references a Workspace/Preset alias that is not configured locally.","\u4F60\u6B63\u5728\u672C\u673A DeepSeek Harness \u4E2D\u7EE7\u7EED\u4E00\u4E2A\u6765\u81EA AI Office \u7684\u4EFB\u52A1\u3002":"You are continuing an AI Office task inside the local DeepSeek Harness.","\u53EA\u5728\u5F53\u524D Workspace \u5185\u884C\u52A8\u3002\u5B8C\u6210\u540E\u5FC5\u987B\u8FD4\u56DE\uFF1A\u7ED3\u679C\u6458\u8981\u3001\u6539\u52A8\u6587\u4EF6\u3001\u9A8C\u8BC1\u8BC1\u636E\u3001\u672A\u89E3\u51B3\u98CE\u9669\u3002":"Act only within the current Workspace. When finished you must return: a result summary, changed files, verification evidence, and unresolved risks.","## \u672C\u673A Instruction Preset":"## Local Instruction Preset","## \u672C\u8F6E\u8865\u5145\u6307\u4EE4":"## Additional Instructions for This Round","## Office \u65F6\u95F4\u7EBF":"## Office Timeline","\u6279\u51C6 {tool}":"Approve {tool}","Harness \u5DE5\u5177":"Harness tool","Harness \u9700\u8981 {count} \u9879\u8865\u5145\u4FE1\u606F":"Harness needs {count} pieces of additional information","\u5DF2\u9886\u53D6 Job\uFF0C\u51C6\u5907 Workspace alias\uFF1A{alias}":"Job claimed; preparing Workspace alias: {alias}","Harness Session \u5DF2\u521B\u5EFA\u3002":"Harness Session created.","\u6B63\u5728\u4F7F\u7528 {tool}\u2026":"Using {tool}\u2026"};var rH=Object.freeze(Object.assign({},YU,jU,JU,qU,zU,VU,WU,ZU,XU,$U,eH,AH,tH));var aH="zh";function iH(n){let t=typeof n=="string"?n.trim().toLowerCase():"";aH=t==="english"||/^en(?:[-_].*)?$/u.test(t)?"en":"zh"}function D(n,t){if(typeof n!="string")return n;let o=aH==="en"?rH[n]??n:n;return t==null?o:o.replace(/\{(\w+)\}/g,(i,e)=>Object.hasOwn(t,e)?String(t[e]):i)}var yb=Object.freeze({version:1,bots:Object.freeze([])}),ige=new Set(["clientId","secretRef","approvedSenders"]);function zo(n){return typeof n=="string"&&n.trim()?n.trim():null}function oge(n){return $se("sha256").update(n).digest("hex")}function sH(n){let t=zo(n);return t&&/^dt_[a-f0-9]{24}$/.test(t)?t:null}function nge(n){let t=zo(n);return t&&/^DSH_DINGTALK_BOT_SECRET_[A-F0-9]{24}$/.test(t)?t:null}function sge(n){let t=zo(n);return t&&/^dt_sender_[a-f0-9]{32}$/.test(t)?t:null}function gge(n){let t=typeof n=="string"?{staffId:n}:n;if(!t||typeof t!="object"||Array.isArray(t))return null;let o=sge(t.senderKey),i=zo(t.staffId);return!o||!i?null:Object.freeze({senderKey:o,staffId:i,displayName:zo(t.displayName),approvedAt:zo(t.approvedAt)})}function cge(n){if(!Array.isArray(n))return null;let t=n.map(gge);if(t.some(e=>e===null))return null;let o=new Set,i=new Set;for(let e of t){if(o.has(e.staffId)||i.has(e.senderKey))return null;o.add(e.staffId),i.add(e.senderKey)}return Object.freeze(t)}function gf(n){let t=zo(n);if(!t)throw new TypeError("clientId is required");let o=oge(t).slice(0,24);return Object.freeze({botId:`dt_${o}`,secretRef:`DSH_DINGTALK_BOT_SECRET_${o.toUpperCase()}`})}function gH(){return`dt_sender_${nH().replaceAll("-","")}`}function mb(n){return zo(n)?D("\u8EAB\u4EFD\u5DF2\u9690\u85CF"):D("\u9489\u9489\u7528\u6237")}function Sb(n){let t=zo(n);return t?t.length<=8?`${t.slice(0,2)}\u2022\u2022\u2022\u2022`:`${t.slice(0,4)}\u2022\u2022\u2022\u2022${t.slice(-4)}`:D("\u9489\u9489\u673A\u5668\u4EBA")}function cH(n,{stored:t=!1}={}){if(!n||typeof n!="object"||Array.isArray(n)||"clientSecret"in n||"client_secret"in n||"deviceCode"in n||t&&Object.keys(n).some(r=>!ige.has(r)))return null;let o=zo(n.clientId),i=nge(n.secretRef),e=cge(n.approvedSenders??[]);if(!o||!i||!e)return null;let a=gf(o);return a.secretRef!==i||(n.botId===void 0?a.botId:sH(n.botId))!==a.botId?null:Object.freeze({botId:a.botId,clientId:o,secretRef:i,approvedSenders:e})}function Ige(n){if(!n||n.version!==1||!Array.isArray(n.bots))return null;let t=n.bots.map(a=>cH(a,{stored:!0}));if(t.some(a=>a===null))return null;let o=new Set,i=new Set,e=new Set;for(let a of t){if(o.has(a.botId)||i.has(a.clientId)||e.has(a.secretRef))return null;o.add(a.botId),i.add(a.clientId),e.add(a.secretRef)}return Object.freeze({version:1,bots:Object.freeze(t)})}function lge(n){return{version:1,bots:n.bots.map(t=>({clientId:t.clientId,secretRef:t.secretRef,approvedSenders:t.approvedSenders.map(o=>({senderKey:o.senderKey,staffId:o.staffId,displayName:o.displayName,approvedAt:o.approvedAt}))}))}}var sf=class{#e;#A=yb;#t=Promise.resolve();constructor(t){if(!zo(t))throw new TypeError("config path is required");this.#e=t}async load(){try{let t=Ige(JSON.parse(await Age(this.#e,"utf8")));if(!t)throw new Error("dsh-dingtalk config contains invalid bot data");this.#A=t}catch(t){if(t?.code!=="ENOENT")throw t;this.#A=yb}return this}list(){return structuredClone(this.#A.bots)}get(t){let o=this.#A.bots.find(i=>i.botId===t);return o?structuredClone(o):null}getByClientId(t){let o=this.#A.bots.find(i=>i.clientId===t);return o?structuredClone(o):null}async save(t){let o=cH(t);if(!o)throw new Error("Refusing to persist invalid dsh-dingtalk bot data");return this.#r(i=>{if(i.find(A=>(A.clientId===o.clientId||A.secretRef===o.secretRef)&&A.botId!==o.botId))throw new Error("Duplicate DingTalk bot identity");let a=i.findIndex(A=>A.botId===o.botId);return a===-1?i.push(o):i[a]=o,structuredClone(o)})}async remove(t){if(!sH(t))throw new TypeError("Invalid DingTalk bot id");return this.#r(o=>{let i=o.findIndex(a=>a.botId===t);if(i===-1)return null;let[e]=o.splice(i,1);return structuredClone(e)})}async clear(){let t=this.#t.then(async()=>{try{await oH(this.#e)}catch(o){if(o?.code!=="ENOENT")throw o}this.#A=yb});this.#t=t.then(()=>{},()=>{}),await t}async#r(t){let o,i=this.#t.then(async()=>{let e=[...this.#A.bots];o=t(e);let a=Object.freeze({version:1,bots:Object.freeze(e)});await this.#a(a),this.#A=a});return this.#t=i.then(()=>{},()=>{}),await i,o}async#a(t){await ege(age(this.#e),{recursive:!0,mode:448});let o=`${this.#e}.${process.pid}.${nH()}.tmp`;try{await rge(o,`${JSON.stringify(lge(t),null,2)} +**{total}** sessions in total{paging}`,"\uFF08\u7B2C {page}/{pageCount} \u9875\uFF09":" (page {page}/{pageCount})","\u2B50\u53D6\u5173":"\u2B50 Unwatch","\u2B50\u5173\u6CE8":"\u2B50 Watch","\u25C0 \u4E0A\u4E00\u9875":"\u25C0 Previous","\u4E0B\u4E00\u9875 \u25B6":"Next \u25B6","\u56DE\u590D\u6570\u5B57\uFF081~N\uFF09\u7ED1\u5B9A\u672C\u9875\u4F1A\u8BDD\u3002":"Reply with a number (1\u2013N) to bind a session on this page.","\u{1F4C2} \u4F1A\u8BDD\u5217\u8868":"\u{1F4C2} Session list","\u5F53\u524D Host \u4E0A\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002":"No workspaces are registered on the current Host.","\u56DE\u590D\u6570\u5B57\u5207\u6362\u5DE5\u4F5C\u533A\uFF0C\u6216\u70B9\u51FB\u6309\u94AE\uFF1A":"Reply with a number to switch workspaces, or tap a button:","\u{1F5C2} \u5DE5\u4F5C\u533A":"\u{1F5C2} Workspace","\u{1F916} \u52A9\u624B\u83DC\u5355\uFF08\u56DE\u590D\u6570\u5B57\u5373\u53EF\uFF0C\u65E0\u9700\u8BB0\u547D\u4EE4\uFF09":"\u{1F916} Assistant menu (reply with a number \u2014 no need to memorize commands)","1 \xB7 /sessionlist \u5217\u51FA\u4F1A\u8BDD\uFF08\u56DE\u590D\u6570\u5B57\u7ED1\u5B9A\uFF09":"1 \xB7 /sessionlist List sessions (reply with a number to bind)","2 \xB7 /workspacelist \u5217\u51FA\u5DE5\u4F5C\u533A\uFF08\u56DE\u590D\u6570\u5B57\u5207\u6362\uFF09":"2 \xB7 /workspacelist List workspaces (reply with a number to switch)","3 \xB7 /new \u5F00\u542F\u65B0\u4F1A\u8BDD":"3 \xB7 /new Start a new session","4 \xB7 /status \u8FDE\u63A5\u72B6\u6001":"4 \xB7 /status Connection status","5 \xB7 /help \u672C\u5E2E\u52A9":"5 \xB7 /help This help","6 \xB7 /repair \u8865\u5168\u6743\u9650\u4E0E\u56DE\u8C03\uFF08\u8BF7\u56DE\u590D\u6570\u5B57 6\uFF09":"6 \xB7 /repair Complete permissions and callback (reply with the number 6)","7 \xB7 /watchlist \u5173\u6CE8\u5217\u8868":"7 \xB7 /watchlist Watch list","\u76F4\u63A5\u53D1\u9001\u6587\u5B57/\u56FE\u7247\u5373\u7EE7\u7EED\u5F53\u524D\u4F1A\u8BDD\u3002":"Send text or an image directly to continue the current session.","/session ID \u6216\u5E8F\u53F7 \u7ED1\u5B9A\u5DF2\u6709\u4F1A\u8BDD":"/session ID or index Bind an existing session","/watch ID \u6216\u5E8F\u53F7 \u5173\u6CE8\u4F1A\u8BDD\uFF08\u5B8C\u6210\u540E\u63A8\u9001\uFF09":"/watch ID or index Watch a session (push when done)","/compact \u538B\u7F29\u4E0A\u4E0B\u6587":"/compact Compact the context","/workspace \u7EDD\u5BF9\u8DEF\u5F84 \u5207\u6362\u5DE5\u4F5C\u533A":"/workspace Switch workspace","/presetlist \u5217\u51FA\u53EF\u7528 Agent Preset":"/presetlist List available Agent Presets","\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\uFF0C\u56DE\u590D\u6570\u5B57\u6216\u70B9\u6309\u94AE\u53D6\u6D88\u5173\u6CE8\uFF1A":"Completion is pushed automatically. Reply with a number or tap a button to unwatch:","\u{1F441} \u5173\u6CE8\u5217\u8868":"\u{1F441} Watch list","\u2B50 \u53D6\u6D88\u5173\u6CE8":"\u2B50 Unwatch","\u2606 \u5173\u6CE8":"\u2606 Watch","\u{1F50D} \u5173\u6CE8\u5217\u8868":"\u{1F50D} Watch list",\u52FE\u9009\u8981\u5173\u6CE8\u7684\u4F1A\u8BDD:"Select sessions to watch",\u52FE\u9009\u8981\u53D6\u6D88\u5173\u6CE8\u7684\u4F1A\u8BDD:"Select sessions to unwatch","\u5F53\u524D\u6CA1\u6709\u5173\u6CE8\u7684\u4F1A\u8BDD\u3002\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\u7ED3\u679C\u3002":"No sessions are being watched. Results are pushed automatically when tasks complete.","\u5F53\u524D\u5173\u6CE8 **{count}** \u4E2A\u4F1A\u8BDD\uFF1A":"Currently watching **{count}** sessions:","**\u2795 \u6DFB\u52A0\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09":"**\u2795 Add watch** (select from the multi-select dropdown)","**\u2796 \u53D6\u6D88\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09":"**\u2796 Remove watch** (select from the multi-select dropdown)","\u{1F4CB} \u4F1A\u8BDD\u5217\u8868":"\u{1F4CB} Session list","\u{1F519} \u8FD4\u56DE\u83DC\u5355":"\u{1F519} Back to menu",\u5DF2\u5B8C\u6210:"Completed",\u5DF2\u505C\u6B62:"Stopped",\u5DF2\u4E2D\u6B62:"Aborted",\u5DF2\u53D6\u6D88:"Cancelled",\u5DF2\u7ED3\u675F:"Ended","\u2705 \u4EFB\u52A1\u5B8C\u6210":"\u2705 Task complete","**\u72B6\u6001**\uFF1A{reason}":"**Status**: {reason}",\u6253\u5F00\u4F1A\u8BDD\u5217\u8868:"Open session list",\u5DE5\u4F5C\u533A:"Workspace","\u7ED1\u5B9A\u8BE5\u4F1A\u8BDD\u540E\u53EF\u7EE7\u7EED\u8FFD\u95EE\uFF0C\u8F93\u5165\u6587\u5B57\u5373\u53EF\u3002":"After binding this session you can keep asking; just type a message.","\u5F53\u524D\u6CA1\u6709\u5173\u6CE8\u7684\u4F1A\u8BDD\u3002\n`/watch ` \u5173\u6CE8\u540E\uFF0C\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\u3002":"No sessions are being watched.\nWatch one with `/watch ` and completion is pushed automatically.","\u6B63\u5728\u751F\u6210\u2026":"Generating\u2026",\u56DE\u7B54\u5B8C\u6210:"Answer complete",\u98DE\u4E66\u673A\u5668\u4EBA:"Feishu bot","\u98DE\u4E66\u673A\u5668\u4EBA\u7F3A\u5C11\u56FE\u7247\u8BFB\u53D6\u6743\u9650 im:message:readonly\uFF08\u98DE\u4E66\u663E\u793A\u4E3A\u201C\u83B7\u53D6\u5355\u804A\u3001\u7FA4\u7EC4\u6D88\u606F\u201D\uFF09\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u6309\u98DE\u4E66\u63D0\u793A\u53D1\u5E03\u65B0\u7248\u672C\u3001\u5B8C\u6210\u5FC5\u8981\u5BA1\u6279\u540E\uFF0C\u518D\u91CD\u65B0\u53D1\u9001\u56FE\u7247\u3002":"The Feishu bot is missing the image-read scope im:message:readonly, shown by Feishu as \u201CRead direct and group messages.\u201D Run /repair in a direct chat with the bot, or click the \u201CComplete permissions\u201D button on the IM Bot settings page and scan the QR code. Publish a new version and complete any approval requested by Feishu, then resend the image.","\u2705 \u4FEE\u590D\u5B8C\u6210\uFF1A\u5DF2\u5B9E\u6D4B\u6536\u5230 card.action.trigger\uFF0C\u83DC\u5355\u6309\u94AE\u73B0\u5728\u53EF\u7528\u3002":"\u2705 Repair complete: card.action.trigger was received in a real test; the menu buttons now work.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u8D85\u65F6\uFF1A\u672A\u6536\u5230\u6D4B\u8BD5\u5361\u6309\u94AE\u7684 card.action.trigger\uFF0C\u4E0D\u80FD\u786E\u8BA4\u6309\u94AE\u5DF2\u4FEE\u590D\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u68C0\u67E5\u98DE\u4E66\u5F00\u653E\u5E73\u53F0\u7684\u5361\u7247\u56DE\u8C03\u914D\u7F6E\uFF0C\u786E\u8BA4\u540E\u518D\u53D1\u9001 /repair\u3002":"\u26A0\uFE0F Repair verification timed out: no card.action.trigger from the test card button was received, so the buttons cannot be confirmed repaired. Do not authorize again; check the card-callback configuration in Feishu Open Platform first, then send /repair.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u5931\u8D25\uFF1A\u65E0\u6CD5\u53D1\u9001\u4E13\u7528\u6D4B\u8BD5\u5361\uFF0C\u4E0D\u80FD\u786E\u8BA4 card.action.trigger \u5DF2\u6062\u590D\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u68C0\u67E5\u673A\u5668\u4EBA\u6D88\u606F\u6743\u9650\u548C\u8FDE\u63A5\u72B6\u6001\u3002":"\u26A0\uFE0F Repair verification failed: the dedicated test card could not be sent, so card.action.trigger cannot be confirmed restored. Do not authorize again; check the bot message permission and connection status first.","\u26A0\uFE0F \u4FEE\u590D\u9A8C\u8BC1\u4E2D\u65AD\uFF1ARuntime \u5DF2\u505C\u6B62\uFF0C\u672A\u5B8C\u6210 card.action.trigger \u5B9E\u6D4B\uFF0C\u4E0D\u80FD\u786E\u8BA4\u4FEE\u590D\u6210\u529F\u3002\u8BF7\u4E0D\u8981\u91CD\u590D\u6388\u6743\uFF1B\u5148\u7B49\u5F85\u673A\u5668\u4EBA\u6062\u590D\u8FDE\u63A5\u3002":"\u26A0\uFE0F Repair verification interrupted: the Runtime stopped before the card.action.trigger test completed, so the repair cannot be confirmed. Do not authorize again; wait for the bot to reconnect."};var zU={"\u5DF2\u8FDE\u63A5 DeepSeek Harness\uFF0C\u6B63\u5728\u601D\u8003\u2026":"Connected to DeepSeek Harness, thinking\u2026","\u9489\u9489\u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The DingTalk bot is connected to DeepSeek Harness.","\u9489\u9489\u672A\u80FD\u6362\u53D6\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\uFF1B\u82E5\u6301\u7EED\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u7684\u201C\u4F01\u4E1A\u5185\u673A\u5668\u4EBA\u53D1\u9001\u6D88\u606F\u6743\u9650\u201D\u3002":`DingTalk could not provide the image download address. Please resend; if it keeps failing, check the bot's "Send messages as an internal robot" permission.`,"\u9489\u9489\u6CA1\u6709\u8FD4\u56DE\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"DingTalk did not return an image download address. Please resend.","\u9489\u9489\u8FD4\u56DE\u7684\u56FE\u7247\u4E34\u65F6\u5730\u5740\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002":"The temporary image address returned by DingTalk could not be read. Please resend.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u8BD5\u3002":'Delivery of the result file "{name}" could not be confirmed. Please check whether it already arrived in the chat before retrying.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u9489\u9489\u5E94\u7528\u6216\u673A\u5668\u4EBA\u7F3A\u5C11\u6587\u4EF6\u6D88\u606F\u6743\u9650\u3002\u8BF7\u5F00\u901A\u5E94\u7528 qyapi_base \u6743\u9650\uFF0C\u5E76\u786E\u8BA4\u673A\u5668\u4EBA\u5177\u5907\u6587\u4EF6\u6D88\u606F\u53D1\u9001\u80FD\u529B\u3002":`Result file "{name}" was generated, but the DingTalk app or bot lacks file message permission. Enable the app's qyapi_base permission and make sure the bot can send file messages.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u9489\u9489\u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'Result file "{name}" exceeds the file size limit of the current DingTalk bot and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u9489\u9489\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'Result file "{name}" was rate-limited by DingTalk and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u9489\u9489\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6D88\u606F\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u7C7B\u578B\u548C\u673A\u5668\u4EBA\u6587\u4EF6\u6D88\u606F\u914D\u7F6E\u3002":`Result file "{name}" was generated, but DingTalk rejected the file message. Check the file type and the bot's file message configuration.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u9489\u9489\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'Result file "{name}" was generated but could not be sent via DingTalk right now. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u5DF2\u751F\u6210\u3002":"The result file has been generated.","\u9489\u9489\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The DingTalk bot is connected to DeepSeek Harness normally.","\u9489\u9489\u547D\u4EE4\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk command.","\u9489\u9489\u6D88\u606F\u6CA1\u6709\u5B89\u5168\u7684\u56DE\u590D\u5730\u5740\u3002":"The DingTalk message has no safe reply address.","\u9489\u9489\u5BA1\u6279\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk approval.","\u9489\u9489\u6D88\u606F\u5904\u7406\u5931\u8D25\u3002":"Failed to process the DingTalk message.","\u9489\u9489\u6D88\u606F\u683C\u5F0F\u65E0\u6548\u3002":"Invalid DingTalk message format.","\u9489\u9489\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the DingTalk interaction question.",\u9489\u9489\u7528\u6237:"DingTalk user",\u9489\u9489\u673A\u5668\u4EBA:"DingTalk bot",\u8EAB\u4EFD\u5DF2\u9690\u85CF:"Identity hidden","\u9489\u9489\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The DingTalk bot credentials are missing. Remove the bot and scan the QR code again.","\u9489\u9489\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The DingTalk connection is not ready. Please try again later.","\u9489\u9489\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The DingTalk connection is still not ready. Please try again later.","\u626B\u7801\u63A5\u5165\u5DF2\u53D6\u6D88\u3002":"QR code setup has been cancelled.","\u65E0\u6CD5\u751F\u6210\u9489\u9489\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Could not generate the DingTalk QR code. Please try again later.","\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002":"The QR code has expired. Generate a new one.","\u9489\u9489\u5DF2\u63A5\u5165\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"DingTalk is connected, but the message connection is not ready yet. Please try again later.","\u9489\u9489\u672A\u5B8C\u6210\u673A\u5668\u4EBA\u6388\u6743\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u3002":"DingTalk did not complete the bot authorization. Please scan the QR code again.","\u9489\u9489\u6388\u6743\u72B6\u6001\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002":"The DingTalk authorization status is temporarily unavailable. Retrying.","\u9489\u9489\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"DingTalk authorization succeeded, but the configuration could not be saved safely.","\u9489\u9489\u6388\u6743\u67E5\u8BE2\u6682\u65F6\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002":"The DingTalk authorization query failed temporarily. Retrying.","\u9489\u9489\u673A\u5668\u4EBA\uFF08{clientId}\uFF09":"DingTalk bot ({clientId})","\u9489\u9489 Stream \u6D88\u606F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The DingTalk Stream message connection is running normally",\u9489\u9489\u6D88\u606F\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The DingTalk message connection is currently offline"};var VU={"\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The Enterprise WeChat bot is connected to DeepSeek Harness.","\u5F53\u524D\u5F85\u5904\u7406\u56FE\u7247\u8F83\u591A\uFF0C\u8BF7\u7A0D\u540E\u91CD\u65B0\u53D1\u9001\u3002":"Too many images are pending. Please send them again later.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u4F01\u4E1A\u5FAE\u4FE1\u667A\u80FD\u673A\u5668\u4EBA\u7F3A\u5C11\u7D20\u6750\u4E0A\u4F20\u6216\u6587\u4EF6\u6D88\u606F\u80FD\u529B\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u6743\u9650\u3002":'The result file "{name}" was generated, but the Enterprise WeChat bot lacks media upload or file message capability. Please check the bot permissions.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size this Enterprise WeChat bot can send and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u4F01\u4E1A\u5FAE\u4FE1\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty. Enterprise WeChat does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u4F01\u4E1A\u5FAE\u4FE1\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was rate-limited by Enterprise WeChat and could not be sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u4F01\u4E1A\u5FAE\u4FE1\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6216\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but Enterprise WeChat rejected the file or file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u4F01\u4E1A\u5FAE\u4FE1\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via Enterprise WeChat right now. Please try again later.',"\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u4F46\u6CA1\u6709\u751F\u6210\u53EF\u663E\u793A\u7684\u6587\u672C\u3002":"The task completed, but no displayable text was generated.","\u76EE\u524D\u652F\u6301\u6587\u5B57\u3001\u56FE\u7247\u548C\u8BED\u97F3\u8F6C\u5199\u6D88\u606F\u3002":"Currently only text, images, and voice transcription messages are supported.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The connection between the Enterprise WeChat bot and DeepSeek Harness is working.","\u6B63\u5728\u601D\u8003\u4E2D\u2026":"Thinking\u2026","\u4F01\u4E1A\u5FAE\u4FE1\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the Enterprise WeChat interaction question.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The Enterprise WeChat bot credentials are missing. Please remove the bot and scan the QR code again.","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The Enterprise WeChat connection is not ready. The plugin will retry automatically.","\u626B\u7801\u7ED1\u5B9A\u5DF2\u53D6\u6D88\u3002":"QR code binding has been cancelled.","\u65E0\u6CD5\u751F\u6210\u4F01\u4E1A\u5FAE\u4FE1\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the Enterprise WeChat QR code. Please try again later.","\u4F01\u4E1A\u5FAE\u4FE1\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002":"The Enterprise WeChat QR code has expired. Please generate a new one.","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The Enterprise WeChat bot is bound, but the message connection is not ready yet.","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The Enterprise WeChat connection is still not ready. Please try again later.","\u4F01\u4E1A\u5FAE\u4FE1\u626B\u7801\u6CA1\u6709\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The Enterprise WeChat QR scan was not completed. Please generate a new QR code.","\u4F01\u4E1A\u5FAE\u4FE1\u626B\u7801\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The Enterprise WeChat QR service is temporarily unavailable. Please generate a new QR code.","\u4F01\u4E1A\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"Enterprise WeChat authorization succeeded, but the connection configuration could not be saved safely.",\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA:"Enterprise WeChat bot","\u4F01\u4E1A\u5FAE\u4FE1\u673A\u5668\u4EBA\uFF08{botId}\uFF09":"Enterprise WeChat bot ({botId})","\u4F01\u4E1A\u5FAE\u4FE1 WebSocket \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The Enterprise WeChat WebSocket long connection is running normally","\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The Enterprise WeChat connection is not ready. The plugin will retry automatically",\u4F01\u4E1A\u5FAE\u4FE1\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The Enterprise WeChat connection is currently offline"};var WU={"QQ \u673A\u5668\u4EBA\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"The QQ bot is connected to DeepSeek Harness.","\u56DE\u7B54\u8F83\u957F\uFF0C\u540E\u7EED\u5185\u5BB9\u672A\u80FD\u901A\u8FC7 QQ \u5B8C\u6574\u53D1\u9001\uFF0C\u8BF7\u56DE\u590D\u201C\u7EE7\u7EED\u201D\u3002":"The answer is long and the rest could not be sent fully through QQ. Reply \u201C\u7EE7\u7EED\u201D (continue) to receive it.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46 QQ \u4ECA\u65E5\u6587\u4EF6\u4E0A\u4F20\u989D\u5EA6\u5DF2\u7528\u5B8C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":`The result file "{name}" was generated, but QQ's daily file upload quota is used up. Please try again later.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5F53\u524D QQ \u673A\u5668\u4EBA\u6CA1\u6709\u6587\u4EF6\u6D88\u606F\u6743\u9650\u3002":'The result file "{name}" was generated, but the current QQ bot does not have file message permission.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D QQ \u673A\u5668\u4EBA\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size the current QQ bot can send and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0CQQ \u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002":'The result file "{name}" is empty, and QQ does not allow sending empty files.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB QQ \u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by QQ and was not sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46 QQ \u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6216\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but QQ rejected the file or file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7 QQ \u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via QQ right now. Please try again later.',"QQ \u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"The QQ bot is connected to DeepSeek Harness normally.","QQ \u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the QQ interaction question.","QQ \u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The QQ bot credentials are missing. Remove the bot and scan the QR code again.","QQ \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The QQ connection is not ready; the plugin will retry automatically.","QQ \u626B\u7801\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The QQ QR service is temporarily unavailable. Please generate a new QR code.","\u65E0\u6CD5\u751F\u6210 QQ \u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the QQ QR code. Please try again later.","QQ \u673A\u5668\u4EBA\u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The QQ bot is bound, but the message connection is not ready yet.","QQ \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The QQ connection is still not ready. Please try again later.",QQ\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The QQ bot is not connected yet","QQ \u673A\u5668\u4EBA\uFF08{appId}\uFF09":"QQ bot ({appId})",QQ\u673A\u5668\u4EBA:"QQ bot","QQ WebSocket \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The QQ WebSocket long connection is running normally","QQ \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The QQ connection is not ready; the plugin will retry automatically","QQ \u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF":"The QQ connection is currently offline","QQ \u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002":"QQ authorization succeeded, but the connection configuration could not be saved safely."};var ZU={"\u5FAE\u4FE1\u5DF2\u8FDE\u63A5 DeepSeek Harness\u3002":"WeChat is connected to DeepSeek Harness.","\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5FAE\u4FE1\u673A\u5668\u4EBA\u5F53\u524D\u6CA1\u6709\u6587\u4EF6\u6D88\u606F\u53D1\u9001\u6743\u9650\uFF0C\u8BF7\u68C0\u67E5\u673A\u5668\u4EBA\u6587\u4EF6\u6D88\u606F\u80FD\u529B\u3002":`The result file "{name}" was generated, but the WeChat bot currently has no permission to send file messages. Please check the bot's file messaging capability.`,"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u5F53\u524D\u5FAE\u4FE1\u4F1A\u8BDD\u53EF\u53D1\u9001\u7684\u6587\u4EF6\u5927\u5C0F\uFF0C\u672A\u53D1\u9001\u3002":'The result file "{name}" exceeds the file size limit of the current WeChat conversation and was not sent.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u5FAE\u4FE1\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was temporarily rate-limited by WeChat and was not sent. Please try again later.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u5FAE\u4FE1\u62D2\u7EDD\u4E86\u8BE5\u6587\u4EF6\u6D88\u606F\u3002":'The result file "{name}" was generated, but WeChat rejected the file message.',"\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u901A\u8FC7\u5FAE\u4FE1\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":'The result file "{name}" was generated but could not be sent via WeChat right now. Please try again later.',"\u76EE\u524D\u652F\u6301\u6587\u5B57\u3001\u56FE\u7247\uFF0C\u4EE5\u53CA\u5FAE\u4FE1\u5DF2\u8F6C\u6210\u6587\u5B57\u7684\u8BED\u97F3\u6D88\u606F\u3002":"Currently supports text, images, and voice messages that WeChat has converted to text.","\u5FAE\u4FE1\u4E0E DeepSeek Harness \u8FDE\u63A5\u6B63\u5E38\u3002":"WeChat is connected to DeepSeek Harness normally.","\u5FAE\u4FE1\u4EA4\u4E92\u95EE\u9898\u53D1\u9001\u5931\u8D25\u3002":"Failed to send the WeChat interaction question.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u8BFB\u53D6\u73B0\u6709\u767B\u5F55\u51ED\u636E\u3002\u8BF7\u68C0\u67E5 DSH \u51ED\u636E\u5B58\u50A8\u3002":"WeChat was authorized, but the existing login credential could not be read. Please check the DSH credential store.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u767B\u5F55\u51ED\u636E\u65E0\u6CD5\u5199\u5165 DSH \u51ED\u636E\u5B58\u50A8\u3002\u8BF7\u68C0\u67E5\u51ED\u636E\u5B58\u50A8\u662F\u5426\u53EF\u5199\u3002":"WeChat was authorized, but the login credential could not be written to the DSH credential store. Please check that the credential store is writable.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u8D26\u53F7\u914D\u7F6E\u65E0\u6CD5\u5199\u5165\u672C\u673A\u3002\u8BF7\u68C0\u67E5 DSH_HOME \u76EE\u5F55\u6743\u9650\u3002":"WeChat was authorized, but the account configuration could not be written locally. Please check the DSH_HOME directory permissions.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u521D\u59CB\u5316\u8D26\u53F7\u72B6\u6001\u6216\u5DE5\u4F5C\u533A\u3002\u8BF7\u68C0\u67E5 DSH_HOME \u548C\u5DE5\u4F5C\u533A\u76EE\u5F55\u3002":"WeChat was authorized, but the account state or workspace could not be initialized. Please check DSH_HOME and the workspace directories.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u63D2\u4EF6\u65E0\u6CD5\u8FDE\u63A5\u672C\u673A Harness\u3002\u8BF7\u68C0\u67E5 dsh web \u5730\u5740\u548C\u7AEF\u53E3\u3002":"WeChat was authorized, but the plugin could not connect to the local Harness. Please check the dsh web address and port.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u8D85\u65F6\u3002\u8BF7\u786E\u8BA4 dsh web \u672A\u963B\u585E\u3002":"WeChat was authorized, but the Harness health check timed out. Please confirm dsh web is not blocked.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u9700\u8981\u8EAB\u4EFD\u8BA4\u8BC1\u3002\u8BF7\u68C0\u67E5\u4EE3\u7406\u3001\u7F51\u5173\u6216\u81EA\u5B9A\u4E49\u9274\u6743\u914D\u7F6E\u3002":"WeChat was authorized, but the Harness health check requires authentication. Please check proxy, gateway, or custom auth configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u672C\u673A Harness \u8BF7\u6C42\u88AB\u4EE3\u7406\u8981\u6C42\u8BA4\u8BC1\u3002\u8BF7\u8BA9\u56DE\u73AF\u5730\u5740\u7ED5\u8FC7\u4EE3\u7406\uFF0C\u5E76\u68C0\u67E5 NO_PROXY \u914D\u7F6E\u3002":"WeChat was authorized, but the local Harness request was challenged for proxy authentication. Please bypass the proxy for loopback addresses and check the NO_PROXY configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5F02\u5E38\u62D2\u7EDD\u4E86\u56DE\u73AF\u5730\u5740\u7684\u5065\u5EB7\u68C0\u67E5\u3002\u8BF7\u68C0\u67E5 HTTP \u4EE3\u7406\u3001Harness \u6E90\u7801\u7248\u672C\u548C\u6784\u5EFA\u4EA7\u7269\u3002":"WeChat was authorized, but Harness unexpectedly rejected the health check from a loopback address. Please check the HTTP proxy, Harness source version, and build artifacts.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u7684 Host \u4FE1\u4EFB\u68C0\u67E5\u62D2\u7EDD\u4E86\u975E\u56DE\u73AF\u5730\u5740\u8BF7\u6C42\u3002\u8BF7\u68C0\u67E5 harnessBaseUrl \u4E0E trustedHosts \u914D\u7F6E\u3002":"WeChat was authorized, but the Harness Host trust check rejected a non-loopback request. Please check the harnessBaseUrl and trustedHosts configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u5065\u5EB7\u68C0\u67E5\u6536\u5230\u4E86\u975E Harness \u6807\u51C6\u7684 403 \u62D2\u7EDD\u54CD\u5E94\u3002\u8BF7\u68C0\u67E5\u4EE3\u7406\u6216\u7F51\u5173\u914D\u7F6E\u3002":"WeChat was authorized, but the health check received a non-standard Harness 403 rejection. Please check the proxy or gateway configuration.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u627E\u4E0D\u5230 Harness \u5065\u5EB7\u68C0\u67E5\u63A5\u53E3\u3002\u8BF7\u786E\u8BA4 Harness \u4E0E\u63D2\u4EF6\u7248\u672C\u517C\u5BB9\u3002":"WeChat was authorized, but the Harness health check endpoint was not found. Please confirm the Harness and plugin versions are compatible.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u8FD4\u56DE\u670D\u52A1\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but the Harness health check returned a server error. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u54CD\u5E94\u3002\u8BF7\u786E\u8BA4 Harness \u4E0E\u63D2\u4EF6\u7248\u672C\u517C\u5BB9\u3002":"WeChat was authorized, but Harness returned an unrecognized response. Please confirm the Harness and plugin versions are compatible.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u62D2\u7EDD\u4E86\u5065\u5EB7\u68C0\u67E5\u8BF7\u6C42\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but Harness rejected the health check request. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46 Harness \u5065\u5EB7\u68C0\u67E5\u53D1\u751F\u672A\u77E5\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but the Harness health check failed with an unknown error. Please check the dsh web logs.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u521D\u59CB\u5316\u5931\u8D25\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u540E\u91CD\u8BD5\u3002":"WeChat was authorized, but the message connection failed to initialize. Please check the dsh web logs and try again.","\u5FAE\u4FE1\u5DF2\u6388\u6743\uFF0C\u4F46\u6FC0\u6D3B\u8FC7\u7A0B\u4E2D\u53D1\u751F\u672A\u77E5\u9519\u8BEF\u3002\u8BF7\u67E5\u770B dsh web \u65E5\u5FD7\u3002":"WeChat was authorized, but an unknown error occurred during activation. Please check the dsh web logs.","\u767B\u5F55\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u8D26\u53F7\u540E\u91CD\u65B0\u626B\u7801\u3002":"The login credential is missing. Please remove the account and scan the QR code again.","\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The WeChat connection is not ready; the plugin will retry automatically.","\u5FAE\u4FE1\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The WeChat connection is not ready; the plugin will retry automatically","\u65E0\u6CD5\u751F\u6210\u5FAE\u4FE1\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"Unable to generate the WeChat QR code. Please try again later.","\u5FAE\u4FE1\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The WeChat connection is still not ready. Please try again later.",\u5FAE\u4FE1\u673A\u5668\u4EBA:"WeChat Bot","\u5FAE\u4FE1\u673A\u5668\u4EBA\uFF08{name}\uFF09":"WeChat Bot ({name})",\u5FAE\u4FE1\u6D88\u606F\u957F\u8F6E\u8BE2\u8FD0\u884C\u6B63\u5E38:"WeChat message long-polling is running normally",\u5FAE\u4FE1\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The WeChat connection is currently offline","\u914D\u5BF9\u7801\u591A\u6B21\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"The pairing code was entered incorrectly too many times. Please generate a new QR code.","\u8BE5\u5FAE\u4FE1\u8D26\u53F7\u5DF2\u7ED1\u5B9A\uFF0C\u4F46\u672C\u673A\u6CA1\u6709\u53EF\u6062\u590D\u7684\u51ED\u636E\u3002":"This WeChat account is already bound, but no recoverable credential exists on this machine.","\u5FAE\u4FE1\u6388\u6743\u6210\u529F\uFF0C\u4F46\u8FD4\u56DE\u7684\u8D26\u53F7\u51ED\u636E\u4E0D\u5B8C\u6574\u3002":"WeChat authorization succeeded, but the returned account credential is incomplete.","\u5FAE\u4FE1\u767B\u5F55\u51ED\u636E\u5DF2\u5931\u6548\uFF0C\u8BF7\u79FB\u9664\u8D26\u53F7\u540E\u91CD\u65B0\u626B\u7801\u3002":"The WeChat login credential has expired. Please remove the account and scan the QR code again.","\u5FAE\u4FE1\u6D88\u606F\u540C\u6B65\u8BF7\u6C42\u88AB\u62D2\u7EDD\u3002":"The WeChat message sync request was rejected.","\u5FAE\u4FE1\u56FE\u7247\u7684\u52A0\u5BC6\u5BC6\u94A5\u65E0\u6548\u3002":"The encryption key of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u7684\u52A0\u5BC6\u6570\u636E\u65E0\u6548\u3002":"The encrypted data of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u89E3\u5BC6\u5931\u8D25\u3002":"Failed to decrypt the WeChat image.","\u5FAE\u4FE1\u56FE\u7247\u6CA1\u6709\u53EF\u7528\u7684\u4E0B\u8F7D\u5730\u5740\u3002":"The WeChat image has no usable download URL.","\u5FAE\u4FE1\u56FE\u7247\u7684\u4E0B\u8F7D\u5730\u5740\u65E0\u6548\u3002":"The download URL of the WeChat image is invalid.","\u5FAE\u4FE1\u56FE\u7247\u7684\u4E0B\u8F7D\u5730\u5740\u4E0D\u53D7\u4FE1\u4EFB\u3002":"The download URL of the WeChat image is not trusted.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u8FDE\u63A5\u5730\u5740\u3002":"The WeChat service returned an invalid connection URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u8FDE\u63A5\u5730\u5740\u3002":"The WeChat service returned an untrusted connection URL.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u626B\u7801\u5730\u5740\u3002":"The WeChat service did not return a QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u626B\u7801\u5730\u5740\u3002":"The WeChat service returned an invalid QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u626B\u7801\u5730\u5740\u3002":"The WeChat service returned an untrusted QR-code URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service returned an invalid file upload URL.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u4E0D\u53D7\u4FE1\u4EFB\u7684\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service returned an untrusted file upload URL.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u6587\u4EF6\u4E0A\u4F20\u5730\u5740\u3002":"The WeChat service did not return a file upload URL.","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u88AB\u62D2\u7EDD\uFF08HTTP {status}\uFF09\u3002":"The WeChat file upload was rejected (HTTP {status}).","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF08HTTP {status}\uFF09\u3002":"The WeChat file upload failed (HTTP {status}).","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u4E0B\u8F7D\u53C2\u6570\u3002":"The WeChat file upload response is missing the download parameter.","\u5FAE\u4FE1\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\u3002":"The WeChat file upload failed.","\u62D2\u7EDD\u8BBF\u95EE\u4E0D\u53D7\u4FE1\u4EFB\u7684\u5FAE\u4FE1\u670D\u52A1\u5730\u5740\u3002":"Refusing to access an untrusted WeChat service URL.","\u5FAE\u4FE1\u670D\u52A1\u8BF7\u6C42\u5931\u8D25\uFF08HTTP {status}\uFF09\u3002":"The WeChat service request failed (HTTP {status}).","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\u3002":"The WeChat service returned an unparseable response.","\u5FAE\u4FE1\u670D\u52A1\u8BF7\u6C42\u8D85\u65F6\u3002":"The WeChat service request timed out.","\u6682\u65F6\u65E0\u6CD5\u8BBF\u95EE\u5FAE\u4FE1\u670D\u52A1\u3002":"The WeChat service is temporarily unreachable.","\u5FAE\u4FE1\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u626B\u7801\u72B6\u6001\u3002":"The WeChat service returned an unrecognized QR-code status.","\u5FAE\u4FE1\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u4E8C\u7EF4\u7801\u4EE4\u724C\u3002":"The WeChat service did not return a QR-code token.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u56DE\u590D\u6D88\u606F\u3002":"The WeChat service rejected the reply message.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u4E0A\u4F20\u8BF7\u6C42\u3002":"The WeChat service rejected the file upload request.","\u5FAE\u4FE1\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u6D88\u606F\u3002":"The WeChat service rejected the file message.","\u5FAE\u4FE1\u8D26\u53F7\u8FDE\u63A5\u542F\u52A8\u5931\u8D25\u3002":"Failed to start the WeChat account connection."};var XU={Slack\u673A\u5668\u4EBA:"Slack bot","Slack\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u63A5\u5165\u3002":"Slack bot credentials are missing. Remove the bot and connect it again.","Slack Socket Mode \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The Slack Socket Mode connection is not ready yet. The plugin will retry automatically.","Slack\u673A\u5668\u4EBA\u5DF2\u63A5\u5165\uFF0CSocket Mode \u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"The Slack bot is connected, but the Socket Mode connection is not ready yet.","Slack Socket Mode \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u68C0\u67E5\u4E24\u4E2A Token\u3002":"The Slack Socket Mode connection is still not ready. Check both tokens.",Slack\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The Slack bot is not connected yet","Slack Socket Mode \u957F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38":"The Slack Socket Mode long-lived connection is running normally","Slack\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5":"The Slack connection is not ready. The plugin will retry automatically",Slack\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF:"The Slack connection is currently offline","Slack \u672A\u6388\u6743\u673A\u5668\u4EBA\u8BFB\u53D6\u8BE5\u6587\u4EF6\u3002\u8BF7\u4E3A\u5E94\u7528\u6DFB\u52A0 files:read \u540E\u91CD\u65B0\u5B89\u88C5\uFF0C\u518D\u91CD\u65B0\u53D1\u9001\u56FE\u7247\u3002":"Slack has not granted the bot access to this file. Add the files:read scope to the app, reinstall it, then send the image again.","Slack Bot Token \u5FC5\u987B\u4EE5 xoxb- \u5F00\u5934\u3002":"The Slack Bot Token must start with xoxb-.","Slack App Token \u5FC5\u987B\u4EE5 xapp- \u5F00\u5934\u3002":"The Slack App Token must start with xapp-.","Slack Bot Token \u6CA1\u6709\u8FD4\u56DE\u5B8C\u6574\u7684\u673A\u5668\u4EBA\u8EAB\u4EFD\u3002":"The Slack Bot Token did not return a complete bot identity.","Slack App Token \u65E0\u6CD5\u521B\u5EFA Socket Mode \u8FDE\u63A5\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u542F\u7528 Socket Mode \u548C connections:write\u3002":"The Slack App Token could not create a Socket Mode connection. Make sure Socket Mode and connections:write are enabled."};var $U={\u5F00\u542F\u4E00\u4E2A\u5168\u65B0\u4F1A\u8BDD:"Start a brand-new Session",\u538B\u7F29\u5F53\u524D\u4F1A\u8BDD\u7684\u8F83\u65E9\u4E0A\u4E0B\u6587:"Compact the earlier context of the current Session",\u5207\u6362\u5DE5\u4F5C\u533A:"Switch Workspace",\u5217\u51FA\u5DE5\u4F5C\u533A\u7EDD\u5BF9\u8DEF\u5F84:"List Workspace absolute paths","\u5217\u51FA\u4F1A\u8BDD ID \u548C\u6807\u9898":"List Session IDs and titles",\u5C06\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u5230\u6307\u5B9A\u4F1A\u8BDD:"Bind the current chat to a specific Session",\u6309\u5E8F\u53F7\u5217\u51FA\u6240\u6709\u53EF\u7528\u6A21\u578B:"List all available models by number",\u67E5\u770B\u6216\u5207\u6362\u5F53\u524D\u4F1A\u8BDD\u6A21\u578B:"View or switch the model of the current Session","\u5217\u51FA\u53EF\u7528 Agent Preset":"List available Agent Presets","\u67E5\u770B\u6216\u8BBE\u7F6E\u65B0\u4F1A\u8BDD Agent Preset":"View or set the Agent Preset for new Sessions",\u505C\u6B62\u5F53\u524D\u4EFB\u52A1:"Stop the current task",\u7EA0\u504F\u5F53\u524D\u4EFB\u52A1:"Steer the current task",\u68C0\u67E5\u8FDE\u63A5\u72B6\u6001:"Check connection status",\u67E5\u770B\u63D2\u4EF6\u7248\u672C:"Show plugin version",\u663E\u793A\u5E2E\u52A9:"Show help","\u8BE5 Telegram \u673A\u5668\u4EBA\u5DF2\u914D\u7F6E Webhook\uFF0C\u8BF7\u5148\u5728\u539F\u670D\u52A1\u4E2D\u79FB\u9664 Webhook \u540E\u91CD\u8BD5\u3002":"This Telegram bot already has a Webhook configured. Remove the Webhook from the original service and try again.",Telegram\u673A\u5668\u4EBA:"Telegram Bot"," Bot API \u957F\u8F6E\u8BE2":" Bot API long polling"};var eH={"Discord Bot Token \u65E0\u6548\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\u3002":"The Discord Bot Token is invalid. Please enter it again.","Discord Gateway Intents \u914D\u7F6E\u4E0D\u6B63\u786E\uFF0C\u8BF7\u68C0\u67E5 Developer Portal \u7684 Bot \u8BBE\u7F6E\u3002":"The Discord Gateway Intents are misconfigured. Please check the Bot settings in the Developer Portal.",Discord\u673A\u5668\u4EBA:"Discord Bot"," Gateway \u957F\u8FDE\u63A5":" Gateway long-lived connection"};var AH={"WhatsApp \u5173\u8054\u8BBE\u5907\u5DF2\u5931\u6548\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002":"The WhatsApp linked device is no longer valid. Remove it and scan the QR code again.","WhatsApp \u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u63D2\u4EF6\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002":"The WhatsApp connection is not ready yet; the plugin will retry automatically.","WhatsApp \u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":"The WhatsApp connection is still not ready. Please try again later.",WhatsApp\u673A\u5668\u4EBA\u5C1A\u672A\u8FDE\u63A5:"The WhatsApp bot is not connected yet",WhatsApp\u673A\u5668\u4EBA:"WhatsApp bot","WhatsApp Web \u5173\u8054\u8BBE\u5907\u8FD0\u884C\u6B63\u5E38":"The WhatsApp Web linked device is working normally","WhatsApp \u8FDE\u63A5\u672A\u5C31\u7EEA":"The WhatsApp connection is not ready","WhatsApp \u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF":"The WhatsApp connection is currently offline","WhatsApp \u5DF2\u7ED1\u5B9A\uFF0C\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\u3002":"WhatsApp is linked, but the messaging connection is not ready yet.","WhatsApp \u5DF2\u626B\u7801\uFF0C\u4F46\u65E0\u6CD5\u4FDD\u5B58\u5173\u8054\u8BBE\u5907\u3002":"The QR code was scanned, but the linked device could not be saved.","\u65E0\u6CD5\u8FDE\u63A5 WhatsApp\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u4E8C\u7EF4\u7801\u3002":"Unable to connect to WhatsApp. Please generate a new QR code.",WhatsApp\u8D26\u53F7:"WhatsApp account"," Web \u5173\u8054\u8BBE\u5907":" Web linked device"};var tH={"AI Office \u62D2\u7EDD\u4E86 Device Token\u3002":"AI Office rejected the Device Token.","AI Office Connector Hook \u5C1A\u672A\u5C31\u7EEA\u3002":"The AI Office Connector Hook is not ready yet.","AI Office Connector \u534F\u8BAE\u7248\u672C\u4E0D\u517C\u5BB9\u3002":"The AI Office Connector protocol version is incompatible.","\u672C\u673A\u6682\u65F6\u65E0\u6CD5\u8BBF\u95EE AI Office\u3002":"This machine cannot reach AI Office right now.","AI Office \u8FDE\u63A5\u5DF2\u4E2D\u65AD\u3002":"The AI Office connection was interrupted.","\u672C\u673A Harness \u5DF2\u505C\u6B62\u8FD9\u6B21\u6267\u884C\u3002":"The local Harness stopped this run.","Office Job \u5DF2\u88AB\u9886\u53D6\u3001\u53D6\u6D88\u6216\u7ED3\u675F\u3002":"The Office Job has already been claimed, cancelled, or finished.","\u672C\u673A Harness \u672A\u80FD\u5B8C\u6210\u4EFB\u52A1\uFF1B\u8BF7\u68C0\u67E5 Harness \u4F1A\u8BDD\u540E\u91CD\u8BD5\u3002":"The local Harness could not complete the task; check the Harness Session and try again.","Office Job \u5F15\u7528\u4E86\u672C\u673A\u672A\u914D\u7F6E\u7684 Workspace/Preset alias\u3002":"The Office Job references a Workspace/Preset alias that is not configured locally.","\u4F60\u6B63\u5728\u672C\u673A DeepSeek Harness \u4E2D\u7EE7\u7EED\u4E00\u4E2A\u6765\u81EA AI Office \u7684\u4EFB\u52A1\u3002":"You are continuing an AI Office task inside the local DeepSeek Harness.","\u53EA\u5728\u5F53\u524D Workspace \u5185\u884C\u52A8\u3002\u5B8C\u6210\u540E\u5FC5\u987B\u8FD4\u56DE\uFF1A\u7ED3\u679C\u6458\u8981\u3001\u6539\u52A8\u6587\u4EF6\u3001\u9A8C\u8BC1\u8BC1\u636E\u3001\u672A\u89E3\u51B3\u98CE\u9669\u3002":"Act only within the current Workspace. When finished you must return: a result summary, changed files, verification evidence, and unresolved risks.","## \u672C\u673A Instruction Preset":"## Local Instruction Preset","## \u672C\u8F6E\u8865\u5145\u6307\u4EE4":"## Additional Instructions for This Round","## Office \u65F6\u95F4\u7EBF":"## Office Timeline","\u6279\u51C6 {tool}":"Approve {tool}","Harness \u5DE5\u5177":"Harness tool","Harness \u9700\u8981 {count} \u9879\u8865\u5145\u4FE1\u606F":"Harness needs {count} pieces of additional information","\u5DF2\u9886\u53D6 Job\uFF0C\u51C6\u5907 Workspace alias\uFF1A{alias}":"Job claimed; preparing Workspace alias: {alias}","Harness Session \u5DF2\u521B\u5EFA\u3002":"Harness Session created.","\u6B63\u5728\u4F7F\u7528 {tool}\u2026":"Using {tool}\u2026"};var rH=Object.freeze(Object.assign({},YU,jU,JU,qU,zU,VU,WU,ZU,XU,$U,eH,AH,tH));var aH="zh";function iH(n){let t=typeof n=="string"?n.trim().toLowerCase():"";aH=t==="english"||/^en(?:[-_].*)?$/u.test(t)?"en":"zh"}function D(n,t){if(typeof n!="string")return n;let o=aH==="en"?rH[n]??n:n;return t==null?o:o.replace(/\{(\w+)\}/g,(i,e)=>Object.hasOwn(t,e)?String(t[e]):i)}var yb=Object.freeze({version:1,bots:Object.freeze([])}),ige=new Set(["clientId","secretRef","approvedSenders"]);function zo(n){return typeof n=="string"&&n.trim()?n.trim():null}function oge(n){return $se("sha256").update(n).digest("hex")}function sH(n){let t=zo(n);return t&&/^dt_[a-f0-9]{24}$/.test(t)?t:null}function nge(n){let t=zo(n);return t&&/^DSH_DINGTALK_BOT_SECRET_[A-F0-9]{24}$/.test(t)?t:null}function sge(n){let t=zo(n);return t&&/^dt_sender_[a-f0-9]{32}$/.test(t)?t:null}function gge(n){let t=typeof n=="string"?{staffId:n}:n;if(!t||typeof t!="object"||Array.isArray(t))return null;let o=sge(t.senderKey),i=zo(t.staffId);return!o||!i?null:Object.freeze({senderKey:o,staffId:i,displayName:zo(t.displayName),approvedAt:zo(t.approvedAt)})}function cge(n){if(!Array.isArray(n))return null;let t=n.map(gge);if(t.some(e=>e===null))return null;let o=new Set,i=new Set;for(let e of t){if(o.has(e.staffId)||i.has(e.senderKey))return null;o.add(e.staffId),i.add(e.senderKey)}return Object.freeze(t)}function gf(n){let t=zo(n);if(!t)throw new TypeError("clientId is required");let o=oge(t).slice(0,24);return Object.freeze({botId:`dt_${o}`,secretRef:`DSH_DINGTALK_BOT_SECRET_${o.toUpperCase()}`})}function gH(){return`dt_sender_${nH().replaceAll("-","")}`}function mb(n){return zo(n)?D("\u8EAB\u4EFD\u5DF2\u9690\u85CF"):D("\u9489\u9489\u7528\u6237")}function Sb(n){let t=zo(n);return t?t.length<=8?`${t.slice(0,2)}\u2022\u2022\u2022\u2022`:`${t.slice(0,4)}\u2022\u2022\u2022\u2022${t.slice(-4)}`:D("\u9489\u9489\u673A\u5668\u4EBA")}function cH(n,{stored:t=!1}={}){if(!n||typeof n!="object"||Array.isArray(n)||"clientSecret"in n||"client_secret"in n||"deviceCode"in n||t&&Object.keys(n).some(r=>!ige.has(r)))return null;let o=zo(n.clientId),i=nge(n.secretRef),e=cge(n.approvedSenders??[]);if(!o||!i||!e)return null;let a=gf(o);return a.secretRef!==i||(n.botId===void 0?a.botId:sH(n.botId))!==a.botId?null:Object.freeze({botId:a.botId,clientId:o,secretRef:i,approvedSenders:e})}function Ige(n){if(!n||n.version!==1||!Array.isArray(n.bots))return null;let t=n.bots.map(a=>cH(a,{stored:!0}));if(t.some(a=>a===null))return null;let o=new Set,i=new Set,e=new Set;for(let a of t){if(o.has(a.botId)||i.has(a.clientId)||e.has(a.secretRef))return null;o.add(a.botId),i.add(a.clientId),e.add(a.secretRef)}return Object.freeze({version:1,bots:Object.freeze(t)})}function lge(n){return{version:1,bots:n.bots.map(t=>({clientId:t.clientId,secretRef:t.secretRef,approvedSenders:t.approvedSenders.map(o=>({senderKey:o.senderKey,staffId:o.staffId,displayName:o.displayName,approvedAt:o.approvedAt}))}))}}var sf=class{#e;#A=yb;#t=Promise.resolve();constructor(t){if(!zo(t))throw new TypeError("config path is required");this.#e=t}async load(){try{let t=Ige(JSON.parse(await Age(this.#e,"utf8")));if(!t)throw new Error("dsh-dingtalk config contains invalid bot data");this.#A=t}catch(t){if(t?.code!=="ENOENT")throw t;this.#A=yb}return this}list(){return structuredClone(this.#A.bots)}get(t){let o=this.#A.bots.find(i=>i.botId===t);return o?structuredClone(o):null}getByClientId(t){let o=this.#A.bots.find(i=>i.clientId===t);return o?structuredClone(o):null}async save(t){let o=cH(t);if(!o)throw new Error("Refusing to persist invalid dsh-dingtalk bot data");return this.#r(i=>{if(i.find(A=>(A.clientId===o.clientId||A.secretRef===o.secretRef)&&A.botId!==o.botId))throw new Error("Duplicate DingTalk bot identity");let a=i.findIndex(A=>A.botId===o.botId);return a===-1?i.push(o):i[a]=o,structuredClone(o)})}async remove(t){if(!sH(t))throw new TypeError("Invalid DingTalk bot id");return this.#r(o=>{let i=o.findIndex(a=>a.botId===t);if(i===-1)return null;let[e]=o.splice(i,1);return structuredClone(e)})}async clear(){let t=this.#t.then(async()=>{try{await oH(this.#e)}catch(o){if(o?.code!=="ENOENT")throw o}this.#A=yb});this.#t=t.then(()=>{},()=>{}),await t}async#r(t){let o,i=this.#t.then(async()=>{let e=[...this.#A.bots];o=t(e);let a=Object.freeze({version:1,bots:Object.freeze(e)});await this.#a(a),this.#A=a});return this.#t=i.then(()=>{},()=>{}),await i,o}async#a(t){await ege(age(this.#e),{recursive:!0,mode:448});let o=`${this.#e}.${process.pid}.${nH()}.tmp`;try{await rge(o,`${JSON.stringify(lge(t),null,2)} `,{encoding:"utf8",flag:"wx",mode:384}),await tge(o,this.#e)}catch(i){try{await oH(o)}catch(e){if(e?.code!=="ENOENT")throw new AggregateError([i,e])}throw i}}};var lH="https://oapi.dingtalk.com",pge="DING_DWS_CLAW";function Vo(n){return typeof n=="string"&&n.trim()?n.trim():null}function IH(n,t){let o=Number(n);return Number.isFinite(o)&&o>0?o:t}function dge(n){let t;try{t=new URL(Vo(n)??lH)}catch{throw new TypeError("DingTalk registration base URL must be a valid HTTPS URL")}let o=t.hostname==="dingtalk.com"||t.hostname.endsWith(".dingtalk.com");if(t.protocol!=="https:"||t.port||!o||t.username||t.password||t.search||t.hash)throw new TypeError("DingTalk registration base URL must be a valid HTTPS URL");return t.pathname=t.pathname.replace(/\/+$/,""),t.href.replace(/\/$/,"")}function hge(n){let t=typeof n?.now=="function"?n.now():n();if(!Number.isFinite(t))throw new TypeError("clock must return a finite timestamp");return t}function Ege(n,t){if(!n||typeof n!="object"||Array.isArray(n))throw new On("invalid-response",`DingTalk ${t} returned an invalid response`,t);if(Number(n.errcode)!==0)throw new On("api-error",`DingTalk ${t} request was rejected`,t);return n}var On=class extends Error{constructor(t,o,i,e={}){super(o,e),this.name="DingtalkDeviceAuthError",this.code=t,this.action=i}},cf=class{#e;#A;#t;#r;constructor({fetch:t=globalThis.fetch,clock:o=Date,baseUrl:i=lH,timeoutMs:e=15e3}={}){if(typeof t!="function")throw new TypeError("fetch is required");if(typeof o!="function"&&typeof o?.now!="function")throw new TypeError("clock must be a function or expose now()");if(!Number.isFinite(e)||e<=0)throw new TypeError("timeoutMs must be a positive number");this.#e=t,this.#A=o,this.#t=dge(i),this.#r=e}async start({signal:t}={}){let o=await this.#a("/app/registration/init",{source:pge},"initialization",t),i=Vo(o.nonce);if(!i)throw new On("missing-nonce","DingTalk registration initialization did not return a nonce","initialization");let e=await this.#a("/app/registration/begin",{nonce:i},"begin",t),a=Vo(e.device_code),A=Vo(e.verification_uri_complete);if(!a||!A)throw new On("incomplete-registration","DingTalk registration did not return complete QR metadata","begin");let r=IH(e.expires_in,7200),s=IH(e.interval,5)*1e3;return Object.freeze({deviceCode:a,verificationUrl:A,verificationUri:Vo(e.verification_uri),userCode:Vo(e.user_code),expiresAt:hge(this.#A)+r*1e3,pollIntervalMs:s})}async poll(t){let o=Vo(typeof t=="string"?t:t?.deviceCode),i=typeof t=="object"?t?.signal:void 0;if(!o)throw new TypeError("deviceCode is required");let e=await this.#a("/app/registration/poll",{device_code:o},"poll",i),a=Vo(e.status)?.toUpperCase(),A=["WAITING","SUCCESS","FAIL","EXPIRED"].includes(a)?a:"UNKNOWN";return Object.freeze({status:A,clientId:Vo(e.client_id),clientSecret:Vo(e.client_secret),failReason:Vo(e.fail_reason)})}async#a(t,o,i,e){let a,A=AbortSignal.timeout(this.#r),r=e?AbortSignal.any([e,A]):A;try{a=await this.#e(`${this.#t}${t}`,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(o),redirect:"error",signal:r})}catch(g){throw e?.aborted?e.reason??g:A.aborted?new On("timeout",`DingTalk ${i} request timed out`,i,{cause:g}):g?.name==="AbortError"?g:new On("network-error",`DingTalk ${i} request could not be completed`,i,{cause:g})}if(!a||a.ok===!1||typeof a.json!="function")throw new On("http-error",`DingTalk ${i} request failed`,i);let s;try{s=await a.json()}catch(g){throw new On("invalid-json",`DingTalk ${i} returned invalid JSON`,i,{cause:g})}return Ege(s,i)}};import{randomUUID as wge}from"node:crypto";var pH=new WeakMap,Db=Symbol("dsh-im.connection-test-state-identity");function dH(n){return n?.[Db]??n}function Cge(n){return typeof n=="string"&&n.trim()?n.trim():null}function io(n,t){if(!n||!t||typeof t!="object")return!1;try{return pH.set(dH(n),structuredClone(t)),!0}catch{return!1}}function Kh(n){let t=n?pH.get(dH(n)):null;return t?structuredClone(t):null}function ma(n,t=D("\u673A\u5668\u4EBA")){let o=Cge(n)??t;return`${D("\u2705 DeepSeek Harness \u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F")} -${D("\u8FD9\u6761\u6D88\u606F\u7531\u63D2\u4EF6\u9875\u9762\u4E2D\u7684\u201C{name}\u201D\u673A\u5668\u4EBA\u5361\u7247\u53D1\u51FA\u3002",{name:o})}`}function Ir(n=D("\u673A\u5668\u4EBA")){let t=new Error(D("{channelLabel}\u5C1A\u672A\u6536\u5230\u53EF\u7528\u4E8E\u6D4B\u8BD5\u7684\u79C1\u804A\u6D88\u606F\u3002",{channelLabel:n}));return t.code="test-target-unavailable",t}async function Tg({state:n,send:t,text:o,channelLabel:i}){let e=Kh(n);if(!e)throw Ir(i);return await t(e,o),{sent:!0}}function rr(n){return Object.freeze(n?{sent:!1,code:n?.code==="test-target-unavailable"?"test-target-unavailable":"test-message-failed"}:{sent:!0})}import{randomUUID as uge}from"node:crypto";var Bge=Object.freeze({AUTH:"MODEL_AUTH",MISSING_CREDENTIAL:"MODEL_AUTH",INVALID_CREDENTIAL:"MODEL_AUTH",QUOTA:"MODEL_QUOTA",RATE_LIMIT:"MODEL_RATE_LIMIT",CONTEXT_WINDOW_EXCEEDED:"MODEL_CONTEXT_LIMIT",UNKNOWN_MODEL:"MODEL_UNAVAILABLE",NO_ADAPTER:"MODEL_UNAVAILABLE",UNSUPPORTED_OPTION:"MODEL_CONFIG",UNSUPPORTED_REASONING_EFFORT:"MODEL_CONFIG",TIMEOUT:"MODEL_TIMEOUT",TRANSPORT:"MODEL_TRANSPORT",SERVER:"MODEL_SERVICE",STREAM_CLOSED:"MODEL_STREAM",MALFORMED_RESPONSE:"MODEL_STREAM",EMPTY_RESPONSE:"MODEL_EMPTY_REPLY",CONTENT_FILTER:"MODEL_CONTENT_REJECTED",UNSUPPORTED_CONTENT:"MODEL_CONFIG"}),fge=Object.freeze({HARNESS_CONNECT:"\u65E0\u6CD5\u8FDE\u63A5\u5904\u7406\u670D\u52A1\uFF0C\u6D88\u606F\u5C1A\u672A\u63D0\u4EA4\u3002\u8BF7\u786E\u8BA4 DeepSeek Harness \u6B63\u5728\u8FD0\u884C\u540E\u91CD\u8BD5\u3002",HARNESS_TIMEOUT:"\u5904\u7406\u670D\u52A1\u54CD\u5E94\u8D85\u65F6\uFF0C\u6D88\u606F\u5C1A\u672A\u5F00\u59CB\u5904\u7406\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",HARNESS_RESULT_UNCERTAIN:"\u6682\u65F6\u65E0\u6CD5\u786E\u8BA4\u4EFB\u52A1\u72B6\u6001\uFF0C\u4EFB\u52A1\u53EF\u80FD\u5DF2\u7ECF\u5F00\u59CB\u3002\u8BF7\u5148\u7B49\u5F85\u6216\u53D1\u9001 /stop\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",HARNESS_ACCESS:"\u5904\u7406\u670D\u52A1\u62D2\u7EDD\u4E86\u673A\u5668\u4EBA\u8FDE\u63A5\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5 Harness \u5730\u5740\u3001\u4EE3\u7406\u6216\u8BBF\u95EE\u914D\u7F6E\u540E\u91CD\u8BD5\u3002",HARNESS_PROTOCOL:"\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u7684\u63A5\u53E3\u4E0D\u517C\u5BB9\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5 Harness \u5730\u5740\u5E76\u66F4\u65B0\u76F8\u5173\u7248\u672C\u3002",HARNESS_SERVICE:"DeepSeek Harness \u6682\u65F6\u65E0\u6CD5\u5B8C\u6210\u8BF7\u6C42\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_REPLY_TIMEOUT:"\u7B49\u5F85\u6A21\u578B\u56DE\u590D\u8D85\u65F6\uFF0C\u4EFB\u52A1\u53EF\u80FD\u4ECD\u5728\u8FD0\u884C\u3002\u8BF7\u5148\u7B49\u5F85\u6216\u53D1\u9001 /stop\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",MODEL_AUTH:"\u6A21\u578B\u51ED\u636E\u7F3A\u5931\u6216\u5DF2\u5931\u6548\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5\u6A21\u578B\u914D\u7F6E\u540E\u91CD\u8BD5\u3002",MODEL_QUOTA:"\u6A21\u578B\u989D\u5EA6\u6216\u4F59\u989D\u4E0D\u8DB3\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7BA1\u7406\u5458\u8865\u5145\u989D\u5EA6\u6216\u5207\u6362\u6A21\u578B\u540E\u91CD\u8BD5\u3002",MODEL_RATE_LIMIT:"\u6A21\u578B\u670D\u52A1\u6B63\u5728\u9650\u6D41\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_CONTEXT_LIMIT:"\u5F53\u524D\u4F1A\u8BDD\u5185\u5BB9\u8D85\u8FC7\u6A21\u578B\u4E0A\u4E0B\u6587\u4E0A\u9650\u3002\u8BF7\u53D1\u9001 /compact \u6216 /new \u540E\u91CD\u8BD5\u3002",MODEL_UNAVAILABLE:"\u5F53\u524D\u6A21\u578B\u4E0D\u5B58\u5728\u6216\u4E0D\u652F\u6301\u6240\u9009\u914D\u7F6E\u3002\u8BF7\u53D1\u9001 /models\uFF0C\u5E76\u4F7F\u7528 /model \u91CD\u65B0\u9009\u62E9\u3002",MODEL_CONFIG:"\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u7C7B\u5185\u5BB9\u6216\u6240\u9009\u914D\u7F6E\u3002\u8BF7\u8C03\u6574\u5185\u5BB9\u3001\u6A21\u578B\u6216\u63A8\u7406\u7B49\u7EA7\u540E\u91CD\u8BD5\u3002",MODEL_TIMEOUT:"\u6A21\u578B\u670D\u52A1\u54CD\u5E94\u8D85\u65F6\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_TRANSPORT:"\u6682\u65F6\u65E0\u6CD5\u8FDE\u63A5\u6A21\u578B\u670D\u52A1\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_SERVICE:"\u6A21\u578B\u670D\u52A1\u6682\u65F6\u5F02\u5E38\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_STREAM:"\u6A21\u578B\u56DE\u590D\u4E2D\u65AD\u6216\u683C\u5F0F\u5F02\u5E38\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u3002",MODEL_EMPTY_REPLY:"\u6A21\u578B\u6CA1\u6709\u8FD4\u56DE\u53EF\u663E\u793A\u7684\u5185\u5BB9\u3002\u8BF7\u91CD\u8BD5\uFF1B\u82E5\u6301\u7EED\u53D1\u751F\uFF0C\u8BF7\u5207\u6362\u6A21\u578B\u3002",MODEL_CONTENT_REJECTED:"\u6A21\u578B\u62D2\u7EDD\u5904\u7406\u5F53\u524D\u5185\u5BB9\u3002\u8BF7\u8C03\u6574\u95EE\u9898\u5185\u5BB9\u540E\u91CD\u8BD5\u3002",MODEL_OUTPUT_LIMIT:"\u6A21\u578B\u8FBE\u5230\u8F93\u51FA\u957F\u5EA6\u4E0A\u9650\uFF0C\u4F46\u6CA1\u6709\u751F\u6210\u53EF\u663E\u793A\u7684\u7ED3\u679C\u3002\u8BF7\u7F29\u5C0F\u4EFB\u52A1\u8303\u56F4\u540E\u91CD\u8BD5\u3002",TURN_BLOCKED:"\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u65E0\u6CD5\u5728\u5F53\u524D\u6E20\u9053\u5B8C\u6210\u7684\u64CD\u4F5C\u3002\u8BF7\u5728 DeepSeek Harness \u4E2D\u5904\u7406\u540E\u518D\u8BD5\u3002",TURN_INTERRUPTED:"\u4EFB\u52A1\u88AB\u610F\u5916\u4E2D\u65AD\uFF0C\u672C\u6B21\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u3002",SESSION_NOT_FOUND:"\u5F53\u524D\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\u3002\u8BF7\u53D1\u9001 /new \u521B\u5EFA\u65B0\u4F1A\u8BDD\u540E\u91CD\u8BD5\u3002",SESSION_BUSY:"\u5F53\u524D\u4F1A\u8BDD\u4ECD\u5728\u5904\u7406\u4E0A\u4E00\u9879\u4EFB\u52A1\u3002\u8BF7\u7B49\u5F85\u5B8C\u6210\uFF0C\u6216\u53D1\u9001 /stop \u540E\u91CD\u8BD5\u3002",SESSION_STALE:"\u5DE5\u4F5C\u533A\u6216\u4F1A\u8BDD\u72B6\u6001\u521A\u521A\u53D1\u751F\u53D8\u5316\u3002\u8BF7\u91CD\u65B0\u53D1\u9001\u8FD9\u6761\u6D88\u606F\u3002",WORKSPACE_UNAVAILABLE:"\u5F53\u524D\u5DE5\u4F5C\u533A\u4E0D\u5B58\u5728\u6216\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u91CD\u65B0\u9009\u62E9\u5DE5\u4F5C\u533A\u540E\u91CD\u8BD5\u3002",PRESET_UNAVAILABLE:"\u5F53\u524D Agent Preset \u4E0D\u5B58\u5728\u6216\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u53D1\u9001 /presetlist \u540E\u91CD\u65B0\u9009\u62E9\u3002",CHANNEL_PERMISSION:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u6CA1\u6709\u53D1\u9001\u6743\u9650\u3002\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u68C0\u67E5\u6E20\u9053\u6743\u9650\u6216\u91CD\u65B0\u7ED1\u5B9A\u673A\u5668\u4EBA\u3002",CHANNEL_RATE_LIMIT:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u5F53\u524D\u6E20\u9053\u6B63\u5728\u9650\u6D41\uFF0C\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",CHANNEL_DELIVERY_UNCERTAIN:"\u56DE\u590D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\u3002\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u7ECF\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",CHANNEL_DELIVERY:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u5F53\u524D\u6E20\u9053\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",INPUT_INVALID:"\u5F53\u524D\u6D88\u606F\u5305\u542B\u65E0\u6CD5\u5904\u7406\u7684\u56FE\u7247\u6216\u6587\u4EF6\u3002\u8BF7\u8C03\u6574\u540E\u91CD\u65B0\u53D1\u9001\u3002",INTERNAL_UNKNOWN:"\u4EFB\u52A1\u672A\u5B8C\u6210\uFF0C\u6682\u65F6\u65E0\u6CD5\u786E\u5B9A\u539F\u56E0\u3002\u8BF7\u91CD\u8BD5\uFF1B\u82E5\u6301\u7EED\u53D1\u751F\uFF0C\u8BF7\u5C06\u53C2\u8003\u53F7\u63D0\u4F9B\u7ED9\u7BA1\u7406\u5458\u3002"});function Qge(n){if(n?.code!=="harness-turn-failed")return null;let t=n?.providerCode??n?.details?.providerCode;return typeof t!="string"?null:Bge[t.trim().toUpperCase()]??null}function yge(n){let t=typeof n?.code=="string"?n.code:"",o=Qge(n);if(o)return o;if(t==="harness-connect-failed")return["session.prompt","session.history"].includes(n?.method)?"HARNESS_RESULT_UNCERTAIN":"HARNESS_CONNECT";if(t==="harness-timeout")return["session.prompt","session.history"].includes(n?.method)?"HARNESS_RESULT_UNCERTAIN":"HARNESS_TIMEOUT";if(t==="harness-reply-timeout")return"MODEL_REPLY_TIMEOUT";if(["harness-auth-required","harness-proxy-auth-required","harness-loopback-forbidden","harness-host-untrusted","harness-request-forbidden"].includes(t))return"HARNESS_ACCESS";if(["harness-api-not-found","harness-response-invalid"].includes(t))return"HARNESS_PROTOCOL";if(t==="harness-turn-failed")return"INTERNAL_UNKNOWN";if(["harness-http-failed","harness-rpc-rejected"].includes(t))return"HARNESS_SERVICE";if(t==="model-empty-response")return"MODEL_EMPTY_REPLY";if(t==="model-max-tokens")return"MODEL_OUTPUT_LIMIT";if(t==="turn-blocked")return"TURN_BLOCKED";if(["turn-interrupted","turn-aborted"].includes(t))return"TURN_INTERRUPTED";if(t==="session-not-found")return"SESSION_NOT_FOUND";if(t==="agent-busy")return"SESSION_BUSY";if(t==="workspace-session-stale")return"SESSION_STALE";if(t.startsWith("workspace-"))return"WORKSPACE_UNAVAILABLE";if(t.startsWith("agent-preset-"))return"PRESET_UNAVAILABLE";if(t.startsWith("image-")||t.startsWith("inbound-file-")||t==="attachment-error")return"INPUT_INVALID";let i=Number(n?.status??n?.httpStatus);return i===401||i===403||["channel-permission","permission-required","artifact-permission-required","forbidden","stale-token"].includes(t)?"CHANNEL_PERMISSION":i===429||["channel-rate-limit","rate-limited","artifact-rate-limited"].includes(t)?"CHANNEL_RATE_LIMIT":["channel-delivery-uncertain","delivery-uncertain","artifact-delivery-uncertain"].includes(t)?"CHANNEL_DELIVERY_UNCERTAIN":t==="channel-delivery-failed"||t.startsWith("artifact-")||["network-error","timeout"].includes(t)?"CHANNEL_DELIVERY":"INTERNAL_UNKNOWN"}function mge(n){return typeof n=="string"&&/^[A-Z0-9-]{6,40}$/u.test(n)?n:`MF-${uge().slice(0,8).toUpperCase()}`}function Sge(n){return typeof n!="string"||!/^[A-Za-z0-9_-]{1,64}$/u.test(n)?null:n.toUpperCase().replaceAll("-","_")}function Dge(n,{userMessage:t,reason:o,referenceId:i,at:e=Date.now()}={}){let a=Sge(o),A=yge(n),r=A==="INTERNAL_UNKNOWN"&&a&&typeof t=="string"&&t.trim()?"INPUT_INVALID":A;return Object.freeze({code:r,reason:a??r,message:typeof t=="string"&&t.trim()?t.trim():D(fge[r]),referenceId:mge(i),at:Number.isFinite(e)?e:Date.now()})}function dt(n){return`${n.message} +${D("\u8FD9\u6761\u6D88\u606F\u7531\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u4E2D\u7684\u201C{name}\u201D\u673A\u5668\u4EBA\u5361\u7247\u53D1\u51FA\u3002",{name:o})}`}function Ir(n=D("\u673A\u5668\u4EBA")){let t=new Error(D("{channelLabel}\u5C1A\u672A\u6536\u5230\u53EF\u7528\u4E8E\u6D4B\u8BD5\u7684\u79C1\u804A\u6D88\u606F\u3002",{channelLabel:n}));return t.code="test-target-unavailable",t}async function Tg({state:n,send:t,text:o,channelLabel:i}){let e=Kh(n);if(!e)throw Ir(i);return await t(e,o),{sent:!0}}function rr(n){return Object.freeze(n?{sent:!1,code:n?.code==="test-target-unavailable"?"test-target-unavailable":"test-message-failed"}:{sent:!0})}import{randomUUID as uge}from"node:crypto";var Bge=Object.freeze({AUTH:"MODEL_AUTH",MISSING_CREDENTIAL:"MODEL_AUTH",INVALID_CREDENTIAL:"MODEL_AUTH",QUOTA:"MODEL_QUOTA",RATE_LIMIT:"MODEL_RATE_LIMIT",CONTEXT_WINDOW_EXCEEDED:"MODEL_CONTEXT_LIMIT",UNKNOWN_MODEL:"MODEL_UNAVAILABLE",NO_ADAPTER:"MODEL_UNAVAILABLE",UNSUPPORTED_OPTION:"MODEL_CONFIG",UNSUPPORTED_REASONING_EFFORT:"MODEL_CONFIG",TIMEOUT:"MODEL_TIMEOUT",TRANSPORT:"MODEL_TRANSPORT",SERVER:"MODEL_SERVICE",STREAM_CLOSED:"MODEL_STREAM",MALFORMED_RESPONSE:"MODEL_STREAM",EMPTY_RESPONSE:"MODEL_EMPTY_REPLY",CONTENT_FILTER:"MODEL_CONTENT_REJECTED",UNSUPPORTED_CONTENT:"MODEL_CONFIG"}),fge=Object.freeze({HARNESS_CONNECT:"\u65E0\u6CD5\u8FDE\u63A5\u5904\u7406\u670D\u52A1\uFF0C\u6D88\u606F\u5C1A\u672A\u63D0\u4EA4\u3002\u8BF7\u786E\u8BA4 DeepSeek Harness \u6B63\u5728\u8FD0\u884C\u540E\u91CD\u8BD5\u3002",HARNESS_TIMEOUT:"\u5904\u7406\u670D\u52A1\u54CD\u5E94\u8D85\u65F6\uFF0C\u6D88\u606F\u5C1A\u672A\u5F00\u59CB\u5904\u7406\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",HARNESS_RESULT_UNCERTAIN:"\u6682\u65F6\u65E0\u6CD5\u786E\u8BA4\u4EFB\u52A1\u72B6\u6001\uFF0C\u4EFB\u52A1\u53EF\u80FD\u5DF2\u7ECF\u5F00\u59CB\u3002\u8BF7\u5148\u7B49\u5F85\u6216\u53D1\u9001 /stop\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",HARNESS_ACCESS:"\u5904\u7406\u670D\u52A1\u62D2\u7EDD\u4E86\u673A\u5668\u4EBA\u8FDE\u63A5\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5 Harness \u5730\u5740\u3001\u4EE3\u7406\u6216\u8BBF\u95EE\u914D\u7F6E\u540E\u91CD\u8BD5\u3002",HARNESS_PROTOCOL:"\u673A\u5668\u4EBA\u4E0E DeepSeek Harness \u7684\u63A5\u53E3\u4E0D\u517C\u5BB9\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5 Harness \u5730\u5740\u5E76\u66F4\u65B0\u76F8\u5173\u7248\u672C\u3002",HARNESS_SERVICE:"DeepSeek Harness \u6682\u65F6\u65E0\u6CD5\u5B8C\u6210\u8BF7\u6C42\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_REPLY_TIMEOUT:"\u7B49\u5F85\u6A21\u578B\u56DE\u590D\u8D85\u65F6\uFF0C\u4EFB\u52A1\u53EF\u80FD\u4ECD\u5728\u8FD0\u884C\u3002\u8BF7\u5148\u7B49\u5F85\u6216\u53D1\u9001 /stop\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",MODEL_AUTH:"\u6A21\u578B\u51ED\u636E\u7F3A\u5931\u6216\u5DF2\u5931\u6548\u3002\u8BF7\u7BA1\u7406\u5458\u68C0\u67E5\u6A21\u578B\u914D\u7F6E\u540E\u91CD\u8BD5\u3002",MODEL_QUOTA:"\u6A21\u578B\u989D\u5EA6\u6216\u4F59\u989D\u4E0D\u8DB3\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7BA1\u7406\u5458\u8865\u5145\u989D\u5EA6\u6216\u5207\u6362\u6A21\u578B\u540E\u91CD\u8BD5\u3002",MODEL_RATE_LIMIT:"\u6A21\u578B\u670D\u52A1\u6B63\u5728\u9650\u6D41\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_CONTEXT_LIMIT:"\u5F53\u524D\u4F1A\u8BDD\u5185\u5BB9\u8D85\u8FC7\u6A21\u578B\u4E0A\u4E0B\u6587\u4E0A\u9650\u3002\u8BF7\u53D1\u9001 /compact \u6216 /new \u540E\u91CD\u8BD5\u3002",MODEL_UNAVAILABLE:"\u5F53\u524D\u6A21\u578B\u4E0D\u5B58\u5728\u6216\u4E0D\u652F\u6301\u6240\u9009\u914D\u7F6E\u3002\u8BF7\u53D1\u9001 /models\uFF0C\u5E76\u4F7F\u7528 /model \u91CD\u65B0\u9009\u62E9\u3002",MODEL_CONFIG:"\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u8FD9\u7C7B\u5185\u5BB9\u6216\u6240\u9009\u914D\u7F6E\u3002\u8BF7\u8C03\u6574\u5185\u5BB9\u3001\u6A21\u578B\u6216\u63A8\u7406\u7B49\u7EA7\u540E\u91CD\u8BD5\u3002",MODEL_TIMEOUT:"\u6A21\u578B\u670D\u52A1\u54CD\u5E94\u8D85\u65F6\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_TRANSPORT:"\u6682\u65F6\u65E0\u6CD5\u8FDE\u63A5\u6A21\u578B\u670D\u52A1\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_SERVICE:"\u6A21\u578B\u670D\u52A1\u6682\u65F6\u5F02\u5E38\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",MODEL_STREAM:"\u6A21\u578B\u56DE\u590D\u4E2D\u65AD\u6216\u683C\u5F0F\u5F02\u5E38\uFF0C\u672C\u6B21\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u3002",MODEL_EMPTY_REPLY:"\u6A21\u578B\u6CA1\u6709\u8FD4\u56DE\u53EF\u663E\u793A\u7684\u5185\u5BB9\u3002\u8BF7\u91CD\u8BD5\uFF1B\u82E5\u6301\u7EED\u53D1\u751F\uFF0C\u8BF7\u5207\u6362\u6A21\u578B\u3002",MODEL_CONTENT_REJECTED:"\u6A21\u578B\u62D2\u7EDD\u5904\u7406\u5F53\u524D\u5185\u5BB9\u3002\u8BF7\u8C03\u6574\u95EE\u9898\u5185\u5BB9\u540E\u91CD\u8BD5\u3002",MODEL_OUTPUT_LIMIT:"\u6A21\u578B\u8FBE\u5230\u8F93\u51FA\u957F\u5EA6\u4E0A\u9650\uFF0C\u4F46\u6CA1\u6709\u751F\u6210\u53EF\u663E\u793A\u7684\u7ED3\u679C\u3002\u8BF7\u7F29\u5C0F\u4EFB\u52A1\u8303\u56F4\u540E\u91CD\u8BD5\u3002",TURN_BLOCKED:"\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u65E0\u6CD5\u5728\u5F53\u524D\u6E20\u9053\u5B8C\u6210\u7684\u64CD\u4F5C\u3002\u8BF7\u5728 DeepSeek Harness \u4E2D\u5904\u7406\u540E\u518D\u8BD5\u3002",TURN_INTERRUPTED:"\u4EFB\u52A1\u88AB\u610F\u5916\u4E2D\u65AD\uFF0C\u672C\u6B21\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u3002",SESSION_NOT_FOUND:"\u5F53\u524D\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\u3002\u8BF7\u53D1\u9001 /new \u521B\u5EFA\u65B0\u4F1A\u8BDD\u540E\u91CD\u8BD5\u3002",SESSION_BUSY:"\u5F53\u524D\u4F1A\u8BDD\u4ECD\u5728\u5904\u7406\u4E0A\u4E00\u9879\u4EFB\u52A1\u3002\u8BF7\u7B49\u5F85\u5B8C\u6210\uFF0C\u6216\u53D1\u9001 /stop \u540E\u91CD\u8BD5\u3002",SESSION_STALE:"\u5DE5\u4F5C\u533A\u6216\u4F1A\u8BDD\u72B6\u6001\u521A\u521A\u53D1\u751F\u53D8\u5316\u3002\u8BF7\u91CD\u65B0\u53D1\u9001\u8FD9\u6761\u6D88\u606F\u3002",WORKSPACE_UNAVAILABLE:"\u5F53\u524D\u5DE5\u4F5C\u533A\u4E0D\u5B58\u5728\u6216\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u91CD\u65B0\u9009\u62E9\u5DE5\u4F5C\u533A\u540E\u91CD\u8BD5\u3002",PRESET_UNAVAILABLE:"\u5F53\u524D Agent Preset \u4E0D\u5B58\u5728\u6216\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u53D1\u9001 /presetlist \u540E\u91CD\u65B0\u9009\u62E9\u3002",CHANNEL_PERMISSION:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u6CA1\u6709\u53D1\u9001\u6743\u9650\u3002\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u68C0\u67E5\u6E20\u9053\u6743\u9650\u6216\u91CD\u65B0\u7ED1\u5B9A\u673A\u5668\u4EBA\u3002",CHANNEL_RATE_LIMIT:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u5F53\u524D\u6E20\u9053\u6B63\u5728\u9650\u6D41\uFF0C\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",CHANNEL_DELIVERY_UNCERTAIN:"\u56DE\u590D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\u3002\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u7ECF\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u590D\u63D0\u4EA4\u3002",CHANNEL_DELIVERY:"\u56DE\u590D\u5DF2\u7ECF\u751F\u6210\uFF0C\u4F46\u5F53\u524D\u6E20\u9053\u6682\u65F6\u65E0\u6CD5\u53D1\u9001\u3002\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",INPUT_INVALID:"\u5F53\u524D\u6D88\u606F\u5305\u542B\u65E0\u6CD5\u5904\u7406\u7684\u56FE\u7247\u6216\u6587\u4EF6\u3002\u8BF7\u8C03\u6574\u540E\u91CD\u65B0\u53D1\u9001\u3002",INTERNAL_UNKNOWN:"\u4EFB\u52A1\u672A\u5B8C\u6210\uFF0C\u6682\u65F6\u65E0\u6CD5\u786E\u5B9A\u539F\u56E0\u3002\u8BF7\u91CD\u8BD5\uFF1B\u82E5\u6301\u7EED\u53D1\u751F\uFF0C\u8BF7\u5C06\u53C2\u8003\u53F7\u63D0\u4F9B\u7ED9\u7BA1\u7406\u5458\u3002"});function Qge(n){if(n?.code!=="harness-turn-failed")return null;let t=n?.providerCode??n?.details?.providerCode;return typeof t!="string"?null:Bge[t.trim().toUpperCase()]??null}function yge(n){let t=typeof n?.code=="string"?n.code:"",o=Qge(n);if(o)return o;if(t==="harness-connect-failed")return["session.prompt","session.history"].includes(n?.method)?"HARNESS_RESULT_UNCERTAIN":"HARNESS_CONNECT";if(t==="harness-timeout")return["session.prompt","session.history"].includes(n?.method)?"HARNESS_RESULT_UNCERTAIN":"HARNESS_TIMEOUT";if(t==="harness-reply-timeout")return"MODEL_REPLY_TIMEOUT";if(["harness-auth-required","harness-proxy-auth-required","harness-loopback-forbidden","harness-host-untrusted","harness-request-forbidden"].includes(t))return"HARNESS_ACCESS";if(["harness-api-not-found","harness-response-invalid"].includes(t))return"HARNESS_PROTOCOL";if(t==="harness-turn-failed")return"INTERNAL_UNKNOWN";if(["harness-http-failed","harness-rpc-rejected"].includes(t))return"HARNESS_SERVICE";if(t==="model-empty-response")return"MODEL_EMPTY_REPLY";if(t==="model-max-tokens")return"MODEL_OUTPUT_LIMIT";if(t==="turn-blocked")return"TURN_BLOCKED";if(["turn-interrupted","turn-aborted"].includes(t))return"TURN_INTERRUPTED";if(t==="session-not-found")return"SESSION_NOT_FOUND";if(t==="agent-busy")return"SESSION_BUSY";if(t==="workspace-session-stale")return"SESSION_STALE";if(t.startsWith("workspace-"))return"WORKSPACE_UNAVAILABLE";if(t.startsWith("agent-preset-"))return"PRESET_UNAVAILABLE";if(t.startsWith("image-")||t.startsWith("inbound-file-")||t==="attachment-error")return"INPUT_INVALID";let i=Number(n?.status??n?.httpStatus);return i===401||i===403||["channel-permission","permission-required","artifact-permission-required","forbidden","stale-token"].includes(t)?"CHANNEL_PERMISSION":i===429||["channel-rate-limit","rate-limited","artifact-rate-limited"].includes(t)?"CHANNEL_RATE_LIMIT":["channel-delivery-uncertain","delivery-uncertain","artifact-delivery-uncertain"].includes(t)?"CHANNEL_DELIVERY_UNCERTAIN":t==="channel-delivery-failed"||t.startsWith("artifact-")||["network-error","timeout"].includes(t)?"CHANNEL_DELIVERY":"INTERNAL_UNKNOWN"}function mge(n){return typeof n=="string"&&/^[A-Z0-9-]{6,40}$/u.test(n)?n:`MF-${uge().slice(0,8).toUpperCase()}`}function Sge(n){return typeof n!="string"||!/^[A-Za-z0-9_-]{1,64}$/u.test(n)?null:n.toUpperCase().replaceAll("-","_")}function Dge(n,{userMessage:t,reason:o,referenceId:i,at:e=Date.now()}={}){let a=Sge(o),A=yge(n),r=A==="INTERNAL_UNKNOWN"&&a&&typeof t=="string"&&t.trim()?"INPUT_INVALID":A;return Object.freeze({code:r,reason:a??r,message:typeof t=="string"&&t.trim()?t.trim():D(fge[r]),referenceId:mge(i),at:Number.isFinite(e)?e:Date.now()})}function dt(n){return`${n.message} ${D("\u9519\u8BEF\u7801\uFF1A{code}\uFF1B\u53C2\u8003\u53F7\uFF1A{referenceId}",n)}`}function At(n,t,o){let i=Dge(t,o);return n.lastMessageError=i,i}function oo(n){n.lastMessageError=null}function Sa(n,{uncertain:t=!0}={}){let o=new Error("Channel message delivery failed",{cause:n}),i=Number(n?.status??n?.httpStatus);return o.code=i===401||i===403?"channel-permission":i===429?"channel-rate-limit":t?"channel-delivery-uncertain":"channel-delivery-failed",Number.isInteger(i)&&(o.status=i),o}function qr(n){return!n||typeof n!="object"||typeof n.code!="string"||!n.code||typeof n.reason!="string"||!n.reason||typeof n.message!="string"||!n.message||typeof n.referenceId!="string"||!n.referenceId||!Number.isFinite(n.at)?null:{code:n.code.slice(0,64),reason:n.reason.slice(0,64),message:n.message.slice(0,500),referenceId:n.referenceId.slice(0,40),at:n.at}}var hH=new Set(["starting","pending","connecting"]),If=new Set(["connected","expired","failed","cancelled"]);function zr(n){return typeof n=="string"&&n.trim()?n.trim():null}function Da(n,t){return Object.freeze({code:n,message:t})}function uH(n){return typeof n?.now=="function"?n.now():n()}function Oge(n){return new Date(uH(n)).toISOString()}function Ng(){return new DOMException("DingTalk provisioning was cancelled","AbortError")}function qc(n){return n?{attemptId:n.id,status:n.state,...n.verificationUrl?{verificationUrl:n.verificationUrl}:{},...n.expiresAt?{expiresAt:n.expiresAt}:{},...n.pollIntervalMs?{pollIntervalMs:n.pollIntervalMs}:{},...n.botId?{botId:n.botId}:{},...n.alreadyConnected?{alreadyConnected:!0}:{},...n.error?{error:structuredClone(n.error)}:{}}:null}function wb(n){if(!n)return{};let t=typeof n.status=="function"?n.status():n.status;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function EH(n,t){if(!n||t.connected===!1||t.ready===!1)return!1;let o=zr(t.dingtalkStreamState??t.dingtalkConnectionState??t.connectionState??t.state)?.toLowerCase();return["failed","error","offline","disconnected","stopped"].includes(o)?!1:t.connected===!0||t.ready===!0||o==="connected"||o==="ready"}function BH(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let t=zr(n.staffId??n.senderStaffId??n.senderId);if(!t)return null;let o=zr(n.requestId),i=o&&/^ding_sender_[A-Za-z0-9_-]{1,100}$/.test(o)&&!o.includes(t)?o:null;return i?{requestId:i,staffId:t,displayName:zr(n.displayName??n.senderName??n.senderNick)??D("\u9489\u9489\u7528\u6237"),requestedAt:zr(n.requestedAt)}:null}function CH(n){if(!Array.isArray(n.pendingSenders))return[];let t=new Set,o=[];for(let i of n.pendingSenders){let e=BH(i);!e||t.has(e.staffId)||(t.add(e.staffId),o.push(e))}return o}function bge(n){return{requestId:n.requestId,displayName:n.displayName,senderIdMasked:mb(n.staffId),requestedAt:n.requestedAt}}function Mge(n){return{senderKey:n.senderKey,displayName:zr(n.displayName)??D("\u9489\u9489\u7528\u6237"),senderIdMasked:mb(n.staffId),approvedAt:zr(n.approvedAt)}}var xh=class{#e;#A;#t;#r;#a;#i;#c;#s=new Map;#I=new Map;#o=new Map;#n=null;#g=new Map;#l=0;#p=!1;constructor({deviceAuth:t,credentials:o,configStore:i,createRuntime:e,deleteState:a=async()=>{},logger:A=console,clock:r=Date}){if(!t||typeof t.start!="function"||typeof t.poll!="function")throw new TypeError("DingtalkController requires a DingTalk device auth client");if(!o||typeof o.resolve!="function"||typeof o.set!="function"||typeof o.unset!="function")throw new TypeError("DingtalkController requires the DSH credential provider");if(!i||typeof i.list!="function"||typeof i.get!="function"||typeof i.getByClientId!="function"||typeof i.save!="function"||typeof i.remove!="function")throw new TypeError("DingtalkController requires a loaded config store");if(typeof e!="function")throw new TypeError("createRuntime is required");if(typeof a!="function")throw new TypeError("deleteState must be a function");if(typeof r!="function"&&typeof r?.now!="function")throw new TypeError("clock must be a function or expose now()");this.#e=t,this.#A=o,this.#t=i,this.#r=e,this.#a=a,this.#i=A,this.#c=r}async initialize(){if(this.#p)return this.status();for(let t of this.#t.list()){let o=this.#s.get(t.botId);try{if(EH(o,wb(o)))continue}catch{}await this.#Q(t.botId,async()=>{let i=this.#t.get(t.botId);if(!i||this.#p)return;let e=await this.#f(i.secretRef);if(!e){this.#I.set(i.botId,Da("missing-secret",D("\u9489\u9489\u673A\u5668\u4EBA\u51ED\u636E\u7F3A\u5931\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u65B0\u626B\u7801\u3002"))),this.#b();return}try{await this.#u(i,e),this.#I.delete(i.botId)}catch{this.#I.set(i.botId,Da("connection-failed",D("\u9489\u9489\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),this.#i.warn?.(`[dsh-dingtalk] bot ${i.botId} failed to initialize`)}this.#b()})}return this.status()}async startProvisioning({signal:t}={}){if(this.#p)throw new Error("dsh-dingtalk controller is closed");this.#n&&await this.cancelProvisioning(this.#n);let o={id:wge(),state:"starting",controller:new AbortController,deviceCode:null,verificationUrl:null,expiresAt:null,pollIntervalMs:null,pollTask:null,botId:null,alreadyConnected:!1,error:null};this.#o.set(o.id,o),this.#n=o.id,this.#b();let i=()=>o.controller.abort(t?.reason);t?.aborted?i():t?.addEventListener("abort",i,{once:!0});try{let e=await this.#e.start({signal:o.controller.signal});if(this.#y(o),o.deviceCode=zr(e.deviceCode),o.verificationUrl=zr(e.verificationUrl),o.expiresAt=Number(e.expiresAt),o.pollIntervalMs=Number(e.pollIntervalMs),!o.deviceCode||!o.verificationUrl||!Number.isFinite(o.expiresAt)||!Number.isFinite(o.pollIntervalMs)||o.pollIntervalMs<=0)throw new Error("DingTalk device auth returned incomplete registration metadata");return o.state="pending",this.#b(),qc(o)}catch(e){if(o.controller.signal.aborted||e?.name==="AbortError"?(o.state="cancelled",o.error=Da("cancelled",D("\u626B\u7801\u63A5\u5165\u5DF2\u53D6\u6D88\u3002"))):(o.state="failed",o.error=Da("qr-start-failed",D("\u65E0\u6CD5\u751F\u6210\u9489\u9489\u4E8C\u7EF4\u7801\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),this.#n===o.id&&(this.#n=null),this.#b(),o.state==="failed")throw e;return qc(o)}finally{t?.removeEventListener("abort",i)}}async bindCredentials({clientId:t,clientSecret:o}={}){if(this.#p)throw new Error("dsh-dingtalk controller is closed");let i=zr(t),e=zr(o);if(!i||!e)throw new TypeError("DingTalk Client ID and Client Secret are required");if(this.#n&&await this.cancelProvisioning(this.#n),this.#p)throw new Error("dsh-dingtalk controller is closed");let a=gf(i);return await this.#Q(a.botId,async()=>{if(this.#p)throw Ng();let A=this.#t.getByClientId(i),r=await this.#A.resolve(a.secretRef).catch(()=>{});if(this.#p)throw Ng();let s={botId:a.botId,clientId:i,secretRef:a.secretRef,approvedSenders:A?.approvedSenders??[]};await this.#A.set(a.secretRef,e);try{await this.#t.save(s)}catch(g){throw await this.#m(a.secretRef,r),g}try{await this.#u(s,e),this.#I.delete(a.botId)}catch{this.#I.set(a.botId,Da("connection-failed",D("\u9489\u9489\u5DF2\u63A5\u5165\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),this.#i.warn?.("[dsh-dingtalk] credential-bound bot saved but its connection is not ready")}this.#b()}),this.status()}async registrationStatus(t){let o=this.#o.get(t);if(!o)return null;if(If.has(o.state)||o.state==="starting")return qc(o);if(uH(this.#c)>=o.expiresAt)return o.state="expired",o.error=Da("expired",D("\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002")),this.#n===o.id&&(this.#n=null),this.#b(),qc(o);if(!o.pollTask){let i=this.#d(o).finally(()=>{o.pollTask===i&&(o.pollTask=null)});o.pollTask=i}return await o.pollTask,qc(o)}async cancelProvisioning(t){let o=this.#o.get(t);return o?(If.has(o.state)||(o.controller.abort(),await o.pollTask?.catch(()=>{}),If.has(o.state)||(o.state="cancelled"),o.error??=Da("cancelled",D("\u626B\u7801\u63A5\u5165\u5DF2\u53D6\u6D88\u3002"))),this.#n===o.id&&(this.#n=null),this.#b(),qc(o)):null}async reconnectBot(t){let o=this.#t.get(t);if(!o)throw new Error("Unknown DingTalk bot");return await this.#Q(t,async()=>{let i=await this.#f(o.secretRef);if(!i)throw new Error("The DingTalk client secret is missing");try{await this.#u(o,i),this.#I.delete(t)}catch(e){throw this.#I.set(t,Da("connection-failed",D("\u9489\u9489\u8FDE\u63A5\u4ECD\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),e}finally{this.#b()}}),this.status()}async sendConnectionTest(t){let o=this.#t.get(t);if(!o)throw new Error("Unknown DingTalk bot");return this.#Q(t,async()=>{let i=this.#s.get(t);if(!i?.status?.ready||typeof i.sendConnectionTest!="function")throw Ir(D("\u9489\u9489\u673A\u5668\u4EBA"));return i.sendConnectionTest(ma(D("\u9489\u9489\u673A\u5668\u4EBA\uFF08{clientId}\uFF09",{clientId:Sb(o.clientId)})))})}async deleteBot(t){let o=this.#t.get(t);if(!o)throw new Error("Unknown DingTalk bot");return await this.#Q(t,async()=>{let i=await this.#A.resolve(o.secretRef).catch(()=>{});await this.#B(t);try{await this.#A.unset(o.secretRef),await this.#t.remove(t)}catch(e){throw zr(i?.value)&&(await this.#A.set(o.secretRef,i.value).catch(()=>{}),await this.#u(o,i.value).catch(()=>{})),new Error("Unable to remove the DingTalk bot safely.",{cause:e})}try{await this.#a({botId:t,config:o})}catch{this.#i.warn?.(`[dsh-dingtalk] bot ${t} state cleanup failed`)}this.#I.delete(t),this.#b()}),this.status()}async approveSender(t,o){let i=this.#t.get(t);if(!i)throw new Error("Unknown DingTalk bot");let e=this.#s.get(t),a=typeof e?.pendingSender=="function"?BH(e.pendingSender(o)):null,A=CH(wb(e)),r=a?.requestId===o?a:A.find(g=>g.requestId===o);if(!r)throw new Error("Unknown DingTalk sender approval request");if(i.approvedSenders.some(g=>g.staffId===r.staffId))return this.status();let s={...i,approvedSenders:[...i.approvedSenders,{senderKey:gH(),staffId:r.staffId,displayName:r.displayName,approvedAt:Oge(this.#c)}]};return await this.#E(i,s),this.status()}async revokeSender(t,o){let i=this.#t.get(t);if(!i)throw new Error("Unknown DingTalk bot");let e=i.approvedSenders.findIndex(A=>A.senderKey===o);if(e===-1)throw new Error("Unknown approved DingTalk sender");let a=[...i.approvedSenders];return a.splice(e,1),await this.#E(i,{...i,approvedSenders:a}),this.status()}status(){let t=this.#t.list().map(e=>{let a=this.#s.get(e.botId),A={};try{A=wb(a)}catch{A={state:"error"}}let r=EH(a,A),s=this.#I.get(e.botId),g=r?"connected":s?"error":"offline",c=new Set(e.approvedSenders.map(d=>d.staffId)),I=CH(A).filter(d=>!c.has(d.staffId)).map(bge);return{botId:e.botId,state:g,connected:r,configured:!0,bot:{name:D("\u9489\u9489\u673A\u5668\u4EBA"),clientIdMasked:Sb(e.clientId)},health:{status:r?"healthy":s?"error":"offline",summary:r?D("\u9489\u9489 Stream \u6D88\u606F\u8FDE\u63A5\u8FD0\u884C\u6B63\u5E38"):s?.message??D("\u9489\u9489\u6D88\u606F\u8FDE\u63A5\u5F53\u524D\u79BB\u7EBF"),lastCheckedAt:A.lastCheckedAt??null},stats:{messagesReceived:Number(A.messagesReceived)||0,messagesReplied:Number(A.messagesReplied)||0},lastMessageError:qr(A.lastMessageError),senders:{pending:I,approved:e.approvedSenders.map(Mge)},error:s?structuredClone(s):null}}),o=t.filter(e=>e.connected).length,i=this.#n?this.#o.get(this.#n):null;return{schemaVersion:1,revision:this.#l,state:i&&hH.has(i.state)?"provisioning":t.length===0?"disconnected":o===t.length?"connected":o>0?"degraded":"offline",bots:t,totals:{configured:t.length,connected:o},...i&&hH.has(i.state)?{provisioning:qc(i)}:{}}}async close(){this.#p||(this.#p=!0,this.#n&&await this.cancelProvisioning(this.#n),await Promise.allSettled([...this.#s.keys()].map(t=>this.#B(t))),await Promise.allSettled([...this.#g.values()]),await Promise.allSettled([...this.#s.keys()].map(t=>this.#B(t))))}async#d(t){try{this.#y(t);let o=await this.#e.poll({deviceCode:t.deviceCode,signal:t.controller.signal});this.#y(t);let i=zr(o.status)?.toUpperCase();if(i==="WAITING")t.state="pending",t.error=null;else if(i==="SUCCESS"){let e=zr(o.clientId),a=zr(o.clientSecret);if(!e||!a)throw new Error("DingTalk returned incomplete credentials");t.state="connecting",t.error=null,this.#b();let A=await this.#h(t,{clientId:e,clientSecret:a});t.botId=A.botId,t.alreadyConnected=A.alreadyConnected,t.state="connected",this.#n===t.id&&(this.#n=null)}else i==="EXPIRED"?(t.state="expired",t.error=Da("expired",D("\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u3002")),this.#n===t.id&&(this.#n=null)):i==="FAIL"?(t.state="failed",t.error=Da("authorization-failed",D("\u9489\u9489\u672A\u5B8C\u6210\u673A\u5668\u4EBA\u6388\u6743\uFF0C\u8BF7\u91CD\u65B0\u626B\u7801\u3002")),this.#n===t.id&&(this.#n=null)):(t.state="pending",t.error=Da("poll-pending",D("\u9489\u9489\u6388\u6743\u72B6\u6001\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002")))}catch(o){t.controller.signal.aborted||o?.name==="AbortError"?(t.state="cancelled",t.error=Da("cancelled",D("\u626B\u7801\u63A5\u5165\u5DF2\u53D6\u6D88\u3002")),this.#n===t.id&&(this.#n=null)):t.state==="connecting"?(t.state="failed",t.error=Da("activation-failed",D("\u9489\u9489\u5DF2\u6388\u6743\uFF0C\u4F46\u65E0\u6CD5\u5B89\u5168\u4FDD\u5B58\u63A5\u5165\u914D\u7F6E\u3002")),this.#n===t.id&&(this.#n=null),this.#i.error?.("[dsh-dingtalk] bot activation failed")):(t.state="pending",t.error=Da("poll-failed",D("\u9489\u9489\u6388\u6743\u67E5\u8BE2\u6682\u65F6\u5931\u8D25\uFF0C\u6B63\u5728\u91CD\u8BD5\u3002")))}finally{this.#b(),this.#C()}}async#h(t,{clientId:o,clientSecret:i}){let e=gf(o),a=this.#t.getByClientId(o),A=await this.#A.resolve(e.secretRef).catch(()=>{}),r={botId:e.botId,clientId:o,secretRef:e.secretRef,approvedSenders:a?.approvedSenders??[]};return this.#Q(e.botId,async()=>{let s=async()=>{await this.#B(e.botId),a?await this.#t.save(a).catch(()=>{}):this.#t.get(e.botId)&&await this.#t.remove(e.botId).catch(()=>null)&&await this.#a({botId:e.botId,config:r}).catch(c=>{this.#i.warn?.("[dsh-dingtalk] failed to clean up cancelled bot state:",c)}),await this.#m(e.secretRef,A),a&&zr(A?.value)&&await this.#u(a,A.value).catch(()=>{})};await this.#A.set(e.secretRef,i);try{this.#y(t),await this.#t.save(r),this.#y(t)}catch(g){throw await s(),g}try{await this.#u(r,i),this.#y(t),this.#I.delete(e.botId)}catch{if(t.controller.signal.aborted||this.#n!==t.id)throw await s(),Ng();this.#I.set(e.botId,Da("connection-failed",D("\u9489\u9489\u5DF2\u63A5\u5165\uFF0C\u4F46\u6D88\u606F\u8FDE\u63A5\u6682\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),this.#i.warn?.("[dsh-dingtalk] authorized bot saved but its connection is not ready")}return{botId:e.botId,alreadyConnected:!!a}})}async#E(t,o){return this.#Q(t.botId,async()=>{let i=await this.#f(t.secretRef);if(!i)throw new Error("The DingTalk client secret is missing");await this.#t.save(o);try{await this.#u(o,i),this.#I.delete(t.botId)}catch(e){throw await this.#t.save(t).catch(()=>{}),await this.#u(t,i).catch(()=>{}),this.#I.set(t.botId,Da("connection-failed",D("\u9489\u9489\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"))),e}finally{this.#b()}})}async#u(t,o){if(this.#p||(await this.#B(t.botId),this.#p))throw Ng();let i=await this.#r({botId:t.botId,config:structuredClone(t),clientSecret:o});if(!i||typeof i.start!="function"||typeof i.stop!="function")throw new TypeError("createRuntime returned an invalid DingTalk runtime");if(this.#p)throw await i.stop().catch(()=>{}),Ng();this.#s.set(t.botId,i);try{if(await i.start(),this.#p)throw await i.stop().catch(()=>{}),Ng()}catch(e){throw this.#s.get(t.botId)===i&&this.#s.delete(t.botId),await i.stop().catch(()=>{}),e}}async#B(t){let o=this.#s.get(t);this.#s.delete(t),await o?.stop().catch(()=>{this.#i.warn?.(`[dsh-dingtalk] bot ${t} failed to stop cleanly`)})}async#f(t){let o=await this.#A.resolve(t).catch(()=>{});return zr(o?.value)}async#m(t,o){try{zr(o?.value)?await this.#A.set(t,o.value):await this.#A.unset(t)}catch{this.#i.error?.(`[dsh-dingtalk] failed to restore credential ${t}`)}}#y(t){if(t.controller.signal.aborted||this.#n!==t.id)throw Ng()}#Q(t,o){if(this.#p)return Promise.reject(new Error("dsh-dingtalk controller is closed"));let a=(this.#g.get(t)??Promise.resolve()).catch(()=>{}).then(o).finally(()=>{this.#g.get(t)===a&&this.#g.delete(t)});return this.#g.set(t,a),a}#C(){for(let[t,o]of this.#o)t!==this.#n&&If.has(o.state)&&this.#o.size>16&&this.#o.delete(t)}#b(){this.#l+=1}};import{randomUUID as Yh}from"node:crypto";import{extname as Gge}from"node:path";var yH=5*1024*1024,_ge=20,Tge=20*1024*1024,Nge="\u8BF7\u5206\u6790\u8FD9\u5F20\u56FE\u7247\u3002",ut=class extends Error{constructor(t,o,i,e={}){super(o,e),this.name="ImagePromptError",this.code=t,this.userMessage=i}},fH=Object.freeze({MODEL_DOES_NOT_SUPPORT_IMAGES:"\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u56FE\u7247\uFF0C\u8BF7\u7528 /models \u67E5\u770B\u53EF\u7528\u6A21\u578B\uFF0C\u518D\u7528 /model <\u5E8F\u53F7> \u5207\u6362\u540E\u91CD\u53D1\u3002",IMAGE_TOO_LARGE:"\u56FE\u7247\u8D85\u8FC7\u5BBF\u4E3B\u5141\u8BB8\u7684\u5927\u5C0F\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002",IMAGE_TOO_MANY_PIXELS:"\u56FE\u7247\u5206\u8FA8\u7387\u8FC7\u9AD8\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002",INVALID_IMAGE:"\u56FE\u7247\u5185\u5BB9\u65E0\u6548\u6216\u683C\u5F0F\u4E0D\u53D7\u652F\u6301\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002",INVALID_IMAGE_BASE64:"\u672A\u80FD\u8BFB\u53D6\u56FE\u7247\u5185\u5BB9\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002",IMAGE_TYPE_MISMATCH:"\u56FE\u7247\u683C\u5F0F\u4E0E\u5B9E\u9645\u5185\u5BB9\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002",TOO_MANY_IMAGES:"\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u6570\u91CF\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u540E\u91CD\u8BD5\u3002",IMAGES_TOO_LARGE:"\u56FE\u7247\u603B\u5927\u5C0F\u8D85\u8FC7\u5BBF\u4E3B\u9650\u5236\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002"});function Rge(n,t){let o=AbortSignal.timeout(t);return n?AbortSignal.any([n,o]):o}async function Ob(n){try{await n?.body?.cancel?.()}catch{}}async function no(n,{fetchImpl:t=fetch,headers:o,signal:i,maxBytes:e=yH,timeoutMs:a=15e3,allowedHosts:A}={}){let r=new URL(n);if(r.protocol!=="https:")throw new Error("Image download URL must use HTTPS");if(Array.isArray(A)&&!A.some(I=>typeof I=="string"&&(r.hostname===I||I.startsWith(".")&&(r.hostname===I.slice(1)||r.hostname.endsWith(I)))))throw new Error("Image download URL is not hosted by the messaging platform");let s=await t(r,{method:"GET",headers:o,signal:Rge(i,a),redirect:"manual"});if(Number.isInteger(s?.status)&&s.status>=300&&s.status<400)throw await Ob(s),new ut("image-redirect-blocked",`Image download redirect was blocked (HTTP ${s.status})`,D("\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\u53D1\u751F\u4E86\u91CD\u5B9A\u5411\uFF0C\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u3002"));if(!s?.ok)throw await Ob(s),new ut("image-http-error",`Image download failed with HTTP ${s?.status??"unknown"}`,D("\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF08HTTP {status}\uFF09\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002",{status:s?.status??"unknown"}));let g=Number(s.headers?.get?.("content-length"));if(Number.isFinite(g)&&g>e)throw await Ob(s),new ut("image-too-large",`Image response declares ${g} bytes; the limit is ${e}`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));if(s.body?.[Symbol.asyncIterator]){let I=[],d=0;for await(let B of s.body){let f=Buffer.from(B);if(d+=f.length,d>e)throw await s.body.cancel?.().catch?.(()=>{}),new ut("image-too-large",`Image response exceeded ${e} bytes`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));I.push(f)}return Buffer.concat(I,d)}let c=Buffer.from(await s.arrayBuffer());if(c.length>e)throw new ut("image-too-large",`Image response contains ${c.length} bytes; the limit is ${e}`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));return c}function kge(n){return typeof n=="string"?n.trim():""}function mH(n){return Array.isArray(n?.images)?n.images.filter(Boolean):[]}function QH(n){return typeof n!="string"?void 0:n.replaceAll("\\","/").split("/").at(-1)?.replace(/[\u0000-\u001f\u007f]/g,"").trim().slice(0,255)||void 0}function vge(n){if(n.length>=8&&n[0]===137&&n[1]===80&&n[2]===78&&n[3]===71&&n[4]===13&&n[5]===10&&n[6]===26&&n[7]===10)return"image/png";if(n.length>=3&&n[0]===255&&n[1]===216&&n[2]===255)return"image/jpeg";if(n.length>=6){let t=n.subarray(0,6).toString("ascii");if(t==="GIF87a"||t==="GIF89a")return"image/gif"}return n.length>=12&&n.subarray(0,4).toString("ascii")==="RIFF"&&n.subarray(8,12).toString("ascii")==="WEBP"?"image/webp":null}function Pge(n){if(Buffer.isBuffer(n)||n instanceof Uint8Array)return{data:Buffer.from(n)};let t=n?.data??n?.buffer;return Buffer.isBuffer(t)||t instanceof Uint8Array?{data:Buffer.from(t),name:n?.name??n?.filename}:null}function qt(n){return mH(n).length>0}async function so(n,{signal:t,maxImageBytes:o=yH,maxImages:i=_ge,maxTotalImageBytes:e=Tge}={}){let a=mH(n);if(a.length>i)throw new ut("too-many-images",`Image message contains ${a.length} images; the limit is ${i}`,D("\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u5904\u7406 {maxImages} \u5F20\u56FE\u7247\u3002",{maxImages:i}));let A=kge(n?.content),r=[],s=0;A?r.push({type:"text",text:A}):a.length>0&&r.push({type:"text",text:D(Nge)});for(let[g,c]of a.entries()){if(t?.throwIfAborted(),Number.isFinite(c?.size)&&c.size>o)throw new ut("image-too-large",`Image ${g+1} declares ${c.size} bytes; the limit is ${o}`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));if(Number.isFinite(c?.size)&&s+c.size>e)throw new ut("images-too-large",`Images declare more than ${e} bytes in total`,D("\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u603B\u5927\u5C0F\u8FC7\u5927\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6570\u91CF\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));let I;try{I=c?.data===void 0?await c?.load?.({signal:t,maxBytes:o}):c.data}catch(f){throw t?.aborted||f?.name==="AbortError"||f?.name==="TimeoutError"||f instanceof ut?f:new ut("image-download-failed",`Unable to download image ${g+1}: ${f?.message??String(f)}`,D("\u56FE\u7247\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u540E\u518D\u8BD5\u3002"),{cause:f})}let d=Pge(I);if(!d?.data.length)throw new ut("invalid-image-data",`Image ${g+1} returned no data`,D("\u672A\u80FD\u8BFB\u53D6\u56FE\u7247\u5185\u5BB9\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001\u3002"));if(d.data.length>o)throw new ut("image-too-large",`Image ${g+1} contains ${d.data.length} bytes; the limit is ${o}`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));if(s+d.data.length>e)throw new ut("images-too-large",`Images contain more than ${e} bytes in total`,D("\u4E00\u6B21\u53D1\u9001\u7684\u56FE\u7247\u603B\u5927\u5C0F\u8FC7\u5927\uFF0C\u8BF7\u51CF\u5C11\u56FE\u7247\u6570\u91CF\u6216\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));s+=d.data.length;let B=vge(d.data);if(!B)throw new ut("unsupported-image-type",`Image ${g+1} is not JPEG, PNG, GIF, or WebP`,D("\u6682\u4E0D\u652F\u6301\u8BE5\u56FE\u7247\u683C\u5F0F\uFF0C\u8BF7\u53D1\u9001 JPEG\u3001PNG\u3001WebP \u6216 GIF \u56FE\u7247\u3002"));r.push({type:"image",mediaType:B,data:d.data.toString("base64"),...QH(d.name??c?.name)?{name:QH(d.name??c?.name)}:{}})}return r}function vi(n){if(n instanceof ut)return{code:"image-prompt-error",reason:n.code,userMessage:n.userMessage};if(n?.code!=="attachment-error"||typeof n?.details?.reason!="string")return null;let t=n.details.reason,o=Object.hasOwn(fH,t)?D(fH[t]):null;return o?{code:"attachment-error",reason:t,userMessage:o}:null}function go(n){return vi(n)?.userMessage??null}var SH="https://oapi.dingtalk.com/",Fge="https://api.dingtalk.com/",Lge="DING_DWS_CLAW",Uge="02fcf2f4-5e02-4a85-b672-46d1f715543e.schema",zc="\u{1F914}\u601D\u8003\u4E2D",wH="\u2705\u5DF2\u5B8C\u6210",OH="\u274C\u5904\u7406\u5931\u8D25",Hge=15e3,Kge=5e3,xge="2659900",Yge="im_bg_1",jge=new Set(["WAITING","SUCCESS","FAIL","EXPIRED"]),gt=class extends Error{constructor(t,o,i={}){super(o,i),this.name="DingtalkApiError",this.code=t,this.status=i.status,this.providerCode=i.providerCode}};function WA(n){return typeof n=="string"&&n.trim()?n.trim():null}function qh(n){let t=n==null?null:String(n).trim();return t&&/^-?[A-Za-z0-9_.:-]{1,160}$/.test(t)?t:void 0}function bH(n,t){return Number.isInteger(t?.status)&&(n.status=t.status),t?.providerCode!==void 0&&(n.providerCode=t.providerCode),n}function jh(n,{fallback:t="artifact-provider-rejected"}={}){if(n?.code?.startsWith?.("artifact-"))return n;let o=Number(n?.status),i=qh(n?.providerCode),e=i??"",a=t,A="DingTalk could not prepare the file for delivery.";o===401||o===403||i==="401"||i==="403"||/(?:permission|forbidden|unauthor|access.?denied|\.auth(?:\.|$))/i.test(e)?(a="artifact-permission-required",A="DingTalk denied permission to send the file."):o===413||i==="413"||/(?:too.?large|size.?limit)/i.test(e)?(a="artifact-too-large",A="The file exceeds DingTalk's size limit."):o===429||i==="429"||/(?:rate.?limit|too.?many|throttl)/i.test(e)?(a="artifact-rate-limited",A="DingTalk rate-limited file delivery."):t==="artifact-provider-rejected"&&(A="DingTalk rejected the file message.");let r=new Error(A,{cause:n});return r.code=a,bH(r,n)}function Jge(n){let t=new Error("DingTalk file delivery result is uncertain",{cause:n});return t.code="artifact-delivery-uncertain",bH(t,n)}function bb(n){if(!n||typeof n!="object")return null;for(let t of["errcode","code"])if(n[t]!==void 0&&n[t]!==0&&n[t]!=="0")return qh(n[t])??"rejected";return null}function qge(n,t){if(t?.aborted)throw Mn(t);let o=Number(n?.status);return n?.code==="network-error"||n?.code==="timeout"||n?.code==="invalid-response"||o>=500&&o<600?Jge(n):jh(n)}function zge(n){let t;try{t=new URL(n)}catch(o){throw new gt("invalid-image-download","\u9489\u9489\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u56FE\u7247\u4E0B\u8F7D\u5730\u5740\u3002",{cause:o})}return t.protocol==="http:"&&(!t.port||t.port==="80")&&(t.protocol="https:",t.port=""),t}function DH(n){let t=n.toLowerCase().replace(/\.$/,"");return t==="dingtalk.com"||t.endsWith(".dingtalk.com")}function Nb(n,{label:t,requireSubdomain:o=!0}={}){let i;try{i=new URL(n)}catch{throw new gt("invalid-url",`${t??"\u9489\u9489\u670D\u52A1"}\u8FD4\u56DE\u4E86\u65E0\u6548\u5730\u5740\u3002`)}let e=i.hostname.toLowerCase().replace(/\.$/,""),a=o?e!=="dingtalk.com"&&DH(e):DH(e);if(i.protocol!=="https:"||!a||i.port&&i.port!=="443")throw new gt("untrusted-url",`${t??"\u9489\u9489\u670D\u52A1"}\u5730\u5740\u4E0D\u53D7\u4FE1\u4EFB\u3002`);if(i.username||i.password)throw new gt("untrusted-url",`${t??"\u9489\u9489\u670D\u52A1"}\u5730\u5740\u4E0D\u53D7\u4FE1\u4EFB\u3002`);return i}function Rg(n){let t=WA(n);if(!t)throw new gt("invalid-session-webhook","\u9489\u9489\u6D88\u606F\u6CA1\u6709\u53EF\u7528\u7684\u56DE\u590D\u5730\u5740\u3002");let o=Nb(t,{label:"\u9489\u9489\u56DE\u590D",requireSubdomain:!1});return o.hash="",o.toString()}function MH(n,t=4e3){let o=typeof n=="string"?n.trim():"";if(!o)return[];if(!Number.isInteger(t)||t<1)throw new TypeError("maxChars must be a positive integer");if(o.length<=t)return[o];let i=[],e=o;for(;e.length>t;){let a=e.lastIndexOf(` `,t);a{if(t?.aborted){i(Mn(t));return}let e=setTimeout(()=>{t?.removeEventListener("abort",a),o()},n),a=()=>{clearTimeout(e),i(Mn(t))};t?.addEventListener("abort",a,{once:!0})})}async function bn(n,t,{body:o,signal:i,timeoutMs:e=Hge,headers:a={},method:A="POST",action:r="request"}={}){let s=new AbortController,g=!1,c=()=>s.abort(i?.reason);if(i?.aborted)throw Mn(i);i?.addEventListener("abort",c,{once:!0});let I=e>0?setTimeout(()=>{g=!0,s.abort()},e):null;try{let d=await n(t,{method:A,redirect:"error",headers:{"content-type":"application/json",...a},body:JSON.stringify(o??{}),signal:s.signal});if(!d.ok){let B;try{let f=await d.json();B=qh(f?.code??f?.errcode)}catch{}throw new gt("http-error",`\u9489\u9489\u670D\u52A1\u8BF7\u6C42\u5931\u8D25\uFF08HTTP ${d.status}\uFF09\u3002`,{status:d.status,providerCode:B})}try{return await d.json()}catch(B){throw new gt("invalid-response","\u9489\u9489\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\u3002",{cause:B})}}catch(d){throw i?.aborted?Mn(i):g?new gt("timeout","\u9489\u9489\u670D\u52A1\u8BF7\u6C42\u8D85\u65F6\u3002",{cause:d}):d instanceof gt?d:new gt("network-error",`\u6682\u65F6\u65E0\u6CD5\u5B8C\u6210\u9489\u9489${r}\u8BF7\u6C42\u3002`,{cause:d})}finally{I&&clearTimeout(I),i?.removeEventListener("abort",c)}}async function Wge(n,t,{body:o,signal:i,timeoutMs:e=6e4}={}){let a=new AbortController,A=!1,r=()=>a.abort(i?.reason);if(i?.aborted)throw Mn(i);i?.addEventListener("abort",r,{once:!0});let s=setTimeout(()=>{A=!0,a.abort()},e);try{let g=await n(t,{method:"POST",body:o,signal:a.signal,redirect:"error"}),c,I;try{c=await g.json()}catch(d){I=d}if(!g.ok)throw new gt("http-error",`\u9489\u9489\u670D\u52A1\u8BF7\u6C42\u5931\u8D25\uFF08HTTP ${g.status}\uFF09\u3002`,{status:g.status,providerCode:qh(c?.code??c?.errcode)});if(I)throw new gt("invalid-response","\u9489\u9489\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\u3002",{cause:I});return c}catch(g){throw i?.aborted?Mn(i):A?new gt("timeout","\u9489\u9489\u670D\u52A1\u8BF7\u6C42\u8D85\u65F6\u3002",{cause:g}):g instanceof gt?g:new gt("network-error","\u6682\u65F6\u65E0\u6CD5\u5B8C\u6210\u9489\u9489\u6587\u4EF6\u4E0A\u4F20\u8BF7\u6C42\u3002",{cause:g})}finally{clearTimeout(s),i?.removeEventListener("abort",r)}}function Zge(n){let t=WA(n?.robotCode);if(!t)throw new TypeError("DingTalk robotCode is required");if(n?.type==="group"){let o=WA(n.openConversationId);if(o)return{type:"group",robotCode:t,openConversationId:o}}if(n?.type==="user"){let o=WA(n.userId);if(o)return{type:"user",robotCode:t,userId:o}}throw new TypeError("DingTalk file target is invalid")}function Xge(n){return Gge(n).slice(1).toLowerCase()}function $ge(n){if(n?.type==="user"){let t=WA(n.userId);if(t)return{type:"user",userId:t}}if(n?.type==="group"){let t=WA(n.openConversationId);if(t)return{type:"group",openConversationId:t}}throw new TypeError("DingTalk AI Card target is invalid")}function Mb(n,t){return{cardParamMap:{flowStatus:t,msgContent:Jh(n),staticMsgContent:"",sys_full_json_obj:JSON.stringify({order:["msgContent"]}),config:JSON.stringify({autoLayout:!0})}}}function ece(n,t,o){let i={outTrackId:n,userIdType:1};return t.type==="group"?{...i,openSpaceId:`dtv1.card//IM_GROUP.${t.openConversationId}`,imGroupOpenDeliverModel:{robotCode:o}}:{...i,openSpaceId:`dtv1.card//IM_ROBOT.${t.userId}`,imRobotOpenDeliverModel:{spaceType:"IM_ROBOT",robotCode:o,extension:{dynamicSummary:"true"}}}}function Jh(n){let o=(typeof n=="string"?n.replace(/\r\n?/g,` @@ -143,7 +143,7 @@ ${D("\u9519\u8BEF\u7801\uFF1A{code}\uFF1B\u53C2\u8003\u53F7\uFF1A{referenceId}", `:/^\s{0,3}(?:[-*+] |\d+[.)] |#{1,6} |\||> )/.test(o[a+1])?`${e} `:`${e}
`}).join("")}function _b(n,t){if(!n||typeof n!="object"||n.errcode!==0)throw new gt("registration-rejected",`\u9489\u9489\u626B\u7801${t}\u5931\u8D25\u3002`);return n}function Tb(n,t){let o=Number(n);return Number.isFinite(o)&&o>0?o:t}function _H({fetchImpl:n=fetch,registrationBaseUrl:t=process.env.DINGTALK_REGISTRATION_BASE_URL||SH,registrationSource:o=process.env.DINGTALK_REGISTRATION_SOURCE||Lge,now:i=()=>Date.now(),cardMinIntervalMs:e=50,cardBackoffMs:a=1e3,delay:A=Vge}={}){if(typeof n!="function")throw new TypeError("fetchImpl must be a function");if(typeof i!="function")throw new TypeError("now must be a function");if(!Number.isFinite(e)||e<0)throw new TypeError("cardMinIntervalMs must be a non-negative number");if(!Number.isFinite(a)||a<0)throw new TypeError("cardBackoffMs must be a non-negative number");if(typeof A!="function")throw new TypeError("delay must be a function");let r=Nb(t,{label:"\u9489\u9489\u6CE8\u518C\u670D\u52A1",requireSubdomain:!1}),s=new URL(Fge),g=WA(o);if(!g)throw new TypeError("registrationSource is required");let c=new Map,I=new Map,d=new Map,B=Promise.resolve(),f=0,Q=(H,J)=>new URL(J.replace(/^\//,""),H);async function y({clientId:H,clientSecret:J,signal:q,requestKind:U="normal"}){let R=WA(H),V=WA(J);if(!R||!V)throw new TypeError("clientId and clientSecret are required");let L=c.get(R);if(L&&L.expiresAt>i())return L.token;let T=U==="reaction"?d:I;if(T.has(R))return T.get(R);let W=(async()=>{let ie=await bn(n,Q(s,"v1.0/oauth2/accessToken"),{body:{appKey:R,appSecret:V},signal:q,action:"\u9274\u6743"}),ge=WA(ie?.accessToken);if(!ge)throw new gt("invalid-access-token","\u9489\u9489\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u8BBF\u95EE\u4EE4\u724C\u3002");let Se=Tb(ie?.expireIn??ie?.expiresIn,7200),de=Math.max(1e3,(Se-60)*1e3);return c.set(R,{token:ge,expiresAt:i()+de}),ge})().finally(()=>T.delete(R));return T.set(R,W),W}async function m({clientId:H,clientSecret:J,robotCode:q,messageId:U,conversationId:R,reactionName:V=zc,signal:L},T){let k=WA(H),W=WA(J),ie=WA(q)??k,ge=WA(U),Se=WA(R),de=WA(V);if(!k||!W)throw new TypeError("clientId and clientSecret are required");if(!ie)throw new TypeError("robotCode is required");if(!ge||!Se)throw new TypeError("messageId and conversationId are required");if(!de)throw new TypeError("reactionName is required");let De=await y({clientId:k,clientSecret:W,signal:L,requestKind:"reaction"}),fe=await bn(n,Q(s,`v1.0/robot/emotion/${T}`),{body:{robotCode:ie,openMsgId:ge,openConversationId:Se,emotionType:2,emotionName:de,textEmotion:{emotionId:xge,emotionName:de,text:de,backgroundId:Yge}},headers:{"x-acs-dingtalk-access-token":De},signal:L,timeoutMs:Kge,action:T==="reply"?"\u6D88\u606F\u72B6\u6001\u6DFB\u52A0":"\u6D88\u606F\u72B6\u6001\u64A4\u56DE"}),ve=fe?.success===!1?qh(fe?.code??fe?.errcode)??"rejected":bb(fe);if(ve)throw new gt("reaction-rejected","\u9489\u9489\u670D\u52A1\u62D2\u7EDD\u4E86\u6D88\u606F\u72B6\u6001\u8BF7\u6C42\u3002",{providerCode:ve});return!0}async function _({clientId:H,clientSecret:J,robotCode:q,downloadCode:U,signal:R,kind:V}){let L=WA(q),T=WA(U);if(!L||!T)throw new TypeError("robotCode and downloadCode are required");let k=await y({clientId:H,clientSecret:J,signal:R}),W;try{W=await bn(n,Q(s,"v1.0/robot/messageFiles/download"),{body:{downloadCode:T,robotCode:L},headers:{"x-acs-dingtalk-access-token":k},signal:R,action:`${V==="image"?"\u56FE\u7247":"\u6587\u4EF6"}\u4E0B\u8F7D\u5730\u5740`})}catch(ge){throw R?.aborted?ge:new gt(`${V}-download-address-failed`,`\u9489\u9489${V==="image"?"\u56FE\u7247":"\u6587\u4EF6"}\u4E0B\u8F7D\u5730\u5740\u83B7\u53D6\u5931\u8D25\u3002`,{cause:ge,status:ge?.status,providerCode:ge?.providerCode})}let ie=WA(W?.downloadUrl??W?.download_url);if(!ie)throw new gt(`invalid-${V}-download`,`\u9489\u9489\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE${V==="image"?"\u56FE\u7247":"\u6587\u4EF6"}\u4E0B\u8F7D\u5730\u5740\u3002`);return zge(ie)}function N(H){let J=async()=>{let U=Math.max(0,f-i());U>0&&await A(U,H),f=Math.max(f,i())+e},q=B.then(J,J);return B=q.catch(()=>{}),q}async function G(H,J){await N(J.signal);try{return await bn(n,Q(s,H),J)}catch(q){if(!(q instanceof gt)||q.status!==403)throw q;return await A(a,J.signal),await N(J.signal),bn(n,Q(s,H),J)}}async function Y({clientId:H,clientSecret:J,cardInstanceId:q,text:U,signal:R}){let V=WA(q),L=WA(U);if(!V)throw new TypeError("cardInstanceId is required");if(!L)throw new TypeError("text is required");let k={"x-acs-dingtalk-access-token":await y({clientId:H,clientSecret:J,signal:R})},W=[G("v1.0/card/streaming",{method:"PUT",body:{outTrackId:V,guid:Yh(),key:"msgContent",content:Jh(L),isFull:!0,isFinalize:!1,isError:!0},headers:k,signal:R,action:"AI Card \u5931\u8D25\u6536\u53E3"}),G("v1.0/card/instances",{method:"PUT",body:{outTrackId:V,cardData:Mb(L,"5"),cardUpdateOptions:{updateCardDataByKey:!0}},headers:k,signal:R,action:"AI Card \u5931\u8D25\u72B6\u6001"})],ie=await Promise.allSettled(W);if(ie.every(({status:ge})=>ge==="rejected"))throw ie[0].reason;return!0}async function j({clientId:H,clientSecret:J,target:q,file:U,signal:R},{uploadType:V,messageKey:L,createMessageParams:T}){if(!U||typeof U!="object"||typeof U.fileName!="string"||!U.fileName||!Buffer.isBuffer(U.bytes))throw new TypeError("A DingTalk file is required");let k=Zge(q),W;try{W=await y({clientId:H,clientSecret:J,signal:R})}catch(Re){if(R?.aborted)throw Mn(R);let AA=Number(Re?.status),ue=Re?.code==="http-error"&&AA>=400&&AA<500?"artifact-provider-rejected":"artifact-provider-failed";throw jh(Re,{fallback:ue})}let ie=new URL("media/upload",SH);ie.searchParams.set("access_token",W),ie.searchParams.set("type",V);let ge=new FormData;ge.append("media",new Blob([U.bytes],{type:U.mediaType??"application/octet-stream"}),U.fileName);let Se;try{Se=await Wge(n,ie,{body:ge,signal:R})}catch(Re){if(R?.aborted)throw Mn(R);let AA=Number(Re?.status),ue=Re?.code==="http-error"&&AA>=400&&AA<500?"artifact-provider-rejected":"artifact-provider-failed";throw jh(Re,{fallback:ue})}let de=bb(Se),De=WA(Se?.media_id);if(de||!De)throw jh(new gt("upload-rejected","\u9489\u9489\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u4E0A\u4F20\u3002",{providerCode:de??"missing-media-id"}));R?.throwIfAborted();let fe={robotCode:k.robotCode,msgKey:L,msgParam:JSON.stringify(T(De,U)),...k.type==="group"?{openConversationId:k.openConversationId}:{userIds:[k.userId]}},ve=k.type==="group"?"v1.0/robot/groupMessages/send":"v1.0/robot/oToMessages/batchSend",eA;try{eA=await bn(n,Q(s,ve),{body:fe,headers:{"x-acs-dingtalk-access-token":W},signal:R,action:"\u6587\u4EF6\u6D88\u606F\u53D1\u9001"})}catch(Re){throw qge(Re,R)}let iA=bb(eA);if(iA)throw jh(new gt("send-rejected","\u9489\u9489\u670D\u52A1\u62D2\u7EDD\u4E86\u6587\u4EF6\u6D88\u606F\u3002",{providerCode:iA}));return eA}return Object.freeze({async beginRegistration({signal:H}={}){let J=_b(await bn(n,Q(r,"app/registration/init"),{body:{source:g},signal:H,action:"\u521D\u59CB\u5316"}),"\u521D\u59CB\u5316"),q=WA(J.nonce);if(!q)throw new gt("invalid-registration","\u9489\u9489\u626B\u7801\u521D\u59CB\u5316\u7F3A\u5C11 nonce\u3002");let U=_b(await bn(n,Q(r,"app/registration/begin"),{body:{nonce:q},signal:H,action:"\u521B\u5EFA"}),"\u521B\u5EFA"),R=WA(U.device_code),V=WA(U.verification_uri_complete);if(!R||!V)throw new gt("invalid-registration","\u9489\u9489\u626B\u7801\u670D\u52A1\u8FD4\u56DE\u7684\u4FE1\u606F\u4E0D\u5B8C\u6574\u3002");let L=Nb(V,{label:"\u9489\u9489\u626B\u7801",requireSubdomain:!1}).toString();return{deviceCode:R,userCode:WA(U.user_code)??void 0,verificationUri:WA(U.verification_uri)??void 0,verificationUriComplete:L,expiresInSeconds:Tb(U.expires_in,7200),intervalSeconds:Tb(U.interval,5)}},async pollRegistration({deviceCode:H,signal:J}={}){let q=WA(H);if(!q)throw new TypeError("deviceCode is required");let U=_b(await bn(n,Q(r,"app/registration/poll"),{body:{device_code:q},signal:J,action:"\u72B6\u6001\u67E5\u8BE2"}),"\u72B6\u6001\u67E5\u8BE2"),R=WA(U.status)?.toUpperCase();if(!R||!jge.has(R))throw new gt("invalid-registration-status","\u9489\u9489\u626B\u7801\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u72B6\u6001\u3002");let V={status:R,failReason:WA(U.fail_reason)??void 0};if(R==="SUCCESS"&&(V.clientId=WA(U.client_id)??void 0,V.clientSecret=WA(U.client_secret)??void 0,!V.clientId||!V.clientSecret))throw new gt("missing-credentials","\u9489\u9489\u626B\u7801\u5DF2\u786E\u8BA4\uFF0C\u4F46\u6CA1\u6709\u8FD4\u56DE\u673A\u5668\u4EBA\u51ED\u636E\u3002");return V},accessToken:y,async addReaction(H){return m(H,"reply")},async recallReaction(H){return m(H,"recall")},async addThinkingReaction(H){return m({...H,reactionName:zc},"reply")},async recallThinkingReaction(H){return m({...H,reactionName:zc},"recall")},async downloadImage({clientId:H,clientSecret:J,robotCode:q,downloadCode:U,signal:R,maxBytes:V}){let L=await _({clientId:H,clientSecret:J,robotCode:q,downloadCode:U,signal:R,kind:"image"});try{return await no(L,{fetchImpl:n,signal:R,maxBytes:V})}catch(T){throw R?.aborted||T instanceof ut?T:new gt("image-content-download-failed","\u9489\u9489\u56FE\u7247\u5185\u5BB9\u4E0B\u8F7D\u5931\u8D25\u3002",{cause:T})}},async downloadFile({clientId:H,clientSecret:J,robotCode:q,downloadCode:U,signal:R}){let V=await _({clientId:H,clientSecret:J,robotCode:q,downloadCode:U,signal:R,kind:"file"});if(V.protocol!=="https:")throw new gt("invalid-file-download","\u9489\u9489\u670D\u52A1\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u6587\u4EF6\u4E0B\u8F7D\u5730\u5740\u3002");try{let L=await n(V,{method:"GET",redirect:"follow",signal:R});if(!L?.ok)throw await L?.body?.cancel?.().catch?.(()=>{}),new gt("file-content-download-failed",`\u9489\u9489\u6587\u4EF6\u5185\u5BB9\u4E0B\u8F7D\u5931\u8D25\uFF08HTTP ${L?.status??"unknown"}\uFF09\u3002`,{status:L?.status});return Buffer.from(await L.arrayBuffer())}catch(L){throw R?.aborted?Mn(R):L instanceof gt?L:new gt("file-content-download-failed","\u9489\u9489\u6587\u4EF6\u5185\u5BB9\u4E0B\u8F7D\u5931\u8D25\u3002",{cause:L})}},async createAiCard({clientId:H,clientSecret:J,target:q,initialText:U,signal:R}){let V=WA(H),L=WA(J),T=WA(U);if(!V||!L)throw new TypeError("clientId and clientSecret are required");if(!T)throw new TypeError("initialText is required");let k=$ge(q),W=await y({clientId:V,clientSecret:L,signal:R}),ie=`dsh_${Yh()}`,ge={"x-acs-dingtalk-access-token":W},Se=!1;try{await G("v1.0/card/instances",{body:{cardTemplateId:Uge,outTrackId:ie,cardData:{cardParamMap:{config:JSON.stringify({autoLayout:!0})}},callbackType:"STREAM",imGroupOpenSpaceModel:{supportForward:!0},imRobotOpenSpaceModel:{supportForward:!0}},headers:ge,signal:R,action:"AI Card \u521B\u5EFA"}),await G("v1.0/card/instances/deliver",{body:ece(ie,k,V),headers:ge,signal:R,action:"AI Card \u6295\u653E"}),Se=!0,await G("v1.0/card/instances",{method:"PUT",body:{outTrackId:ie,cardData:Mb(T,"2")},headers:ge,signal:R,action:"AI Card \u542F\u52A8"}),await G("v1.0/card/streaming",{method:"PUT",body:{outTrackId:ie,guid:Yh(),key:"msgContent",content:Jh(T).replace(/\n+$/,""),isFull:!0,isFinalize:!1,isError:!1},headers:ge,signal:R,action:"AI Card \u542F\u52A8"})}catch(de){if(Se){let De=AbortSignal.timeout(5e3);await Y({clientId:V,clientSecret:L,cardInstanceId:ie,text:D("\u5361\u7247\u5DF2\u7ED3\u675F\uFF0C\u8BF7\u67E5\u770B\u540E\u7EED\u6D88\u606F\u3002"),signal:De}).catch(()=>{})}throw de}return{cardInstanceId:ie}},async updateAiCard({clientId:H,clientSecret:J,cardInstanceId:q,text:U,signal:R}){let V=WA(q),L=WA(U);if(!V)throw new TypeError("cardInstanceId is required");if(!L)throw new TypeError("text is required");let T=await y({clientId:H,clientSecret:J,signal:R});return await G("v1.0/card/streaming",{method:"PUT",body:{outTrackId:V,guid:Yh(),key:"msgContent",content:Jh(L).replace(/\n+$/,""),isFull:!0,isFinalize:!1,isError:!1},headers:{"x-acs-dingtalk-access-token":T},signal:R,action:"AI Card \u66F4\u65B0"}),!0},async finishAiCard({clientId:H,clientSecret:J,cardInstanceId:q,text:U,signal:R}){let V=WA(q),L=WA(U);if(!V)throw new TypeError("cardInstanceId is required");if(!L)throw new TypeError("text is required");let k={"x-acs-dingtalk-access-token":await y({clientId:H,clientSecret:J,signal:R})},W=Jh(L);await G("v1.0/card/streaming",{method:"PUT",body:{outTrackId:V,guid:Yh(),key:"msgContent",content:W,isFull:!0,isFinalize:!0,isError:!1},headers:k,signal:R,action:"AI Card \u5B8C\u6210"});let ie=!0,ge={method:"PUT",body:{outTrackId:V,cardData:Mb(L,"3"),cardUpdateOptions:{updateCardDataByKey:!0}},headers:k,signal:R,action:"AI Card \u6536\u53E3"};try{await G("v1.0/card/instances",ge)}catch{try{await G("v1.0/card/instances",ge)}catch{ie=!1}}return{delivered:!0,completed:ie}},failAiCard:Y,async sendText({clientId:H,clientSecret:J,sessionWebhook:q,text:U,signal:R}){let V=WA(U);if(!V)throw new TypeError("text is required");let L=Rg(q),T=await y({clientId:H,clientSecret:J,signal:R}),k=await bn(n,L,{body:{msgtype:"text",text:{content:V}},headers:{"x-acs-dingtalk-access-token":T},signal:R,action:"\u6D88\u606F\u56DE\u590D"});if(k?.errcode!==void 0&&k.errcode!==0||k?.code!==void 0&&k.code!==0)throw new gt("send-rejected","\u9489\u9489\u670D\u52A1\u62D2\u7EDD\u4E86\u56DE\u590D\u6D88\u606F\u3002");return!0},async sendFile(H){return j(H,{uploadType:"file",messageKey:"sampleFile",createMessageParams:(J,q)=>({mediaId:J,fileName:q.fileName,fileType:Xge(q.fileName)})})},async sendImage(H){return j(H,{uploadType:"image",messageKey:"sampleImageMsg",createMessageParams:J=>({photoURL:J})})},clearAccessToken(H){let J=WA(H);J&&c.delete(J)}})}var Ace=500,tce="\u5361\u7247\u5DF2\u7ED3\u675F\uFF0C\u8BF7\u67E5\u770B\u540E\u7EED\u6D88\u606F\u3002";function Rb(n,t){if(typeof n!="string")throw new TypeError(`${t} must be a string`);return n}function TH(n,t){if(typeof n!="string"||!n.trim())throw new TypeError(`${t} is required`);return n.trim()}function NH({api:n,clientId:t,clientSecret:o,target:i,signal:e,logger:a=console,updateIntervalMs:A=Ace,clock:r=()=>Date.now(),timer:s={setTimeout:(g,c)=>globalThis.setTimeout(g,c),clearTimeout:g=>globalThis.clearTimeout(g)}}={}){if(!n||typeof n.createAiCard!="function"||typeof n.updateAiCard!="function"||typeof n.finishAiCard!="function")throw new TypeError("DingTalk AI Card API is required");let g=TH(t,"clientId"),c=TH(o,"clientSecret");if(i==null)throw new TypeError("target is required");if(!Number.isFinite(A)||A<0)throw new TypeError("updateIntervalMs must be a non-negative number");if(typeof r!="function")throw new TypeError("clock must be a function");if(typeof s?.setTimeout!="function"||typeof s?.clearTimeout!="function")throw new TypeError("timer must provide setTimeout and clearTimeout");let I=()=>{let T=r();if(!Number.isFinite(T))throw new TypeError("clock must return a finite timestamp");return T};I();let d=e?.aborted?"aborted":"idle",B=null,f=null,Q=null,y=null,m=null,_=null,N=0,G=()=>{Q!==null&&(s.clearTimeout(Q),Q=null)},Y=()=>e?.removeEventListener("abort",q),j=T=>{d=T,f=null,G(),Y()},H=()=>!B||typeof n.failAiCard!="function"?Promise.resolve(!1):(_||(_=n.failAiCard({...B,text:D(tce),signal:AbortSignal.timeout(5e3)}).then(()=>!0,()=>!1)),_),J=T=>{d==="failed"||d==="finished"||d==="aborted"||(H(),j("failed"),a?.error?.(`[dsh-dingtalk] AI Card ${T} failed`))};function q(){d==="finished"||d==="failed"||d==="aborted"||(H(),j("aborted"))}d!=="aborted"&&e?.addEventListener("abort",q,{once:!0});let U=()=>{if(d!=="active"||y||f===null)return;let T=Math.max(0,N+A-I());if(T>0){Q=s.setTimeout(()=>{Q=null,U()},T);return}let k=f;f=null,y=(async()=>{try{await n.updateAiCard({...B,text:k,finished:!1}),N=I()}catch{if(e?.aborted||d==="aborted")return;J("update")}})().finally(()=>{y=null,d==="active"&&f!==null&&U()})};return Object.freeze({start:async T=>{if(Rb(T,"initialText"),d!=="idle")return!1;d="starting";try{let k=await n.createAiCard({clientId:g,clientSecret:c,target:i,initialText:T,signal:e}),W=typeof k?.cardInstanceId=="string"?k.cardInstanceId.trim():"";if(!W)throw new TypeError("DingTalk did not return a card instance id");return B=Object.freeze({clientId:g,clientSecret:c,target:i,cardInstanceId:W,signal:e}),d!=="starting"?(H(),!1):(N=I(),d="active",!0)}catch{return e?.aborted||d==="aborted"?(j("aborted"),!1):(J("creation"),!1)}},push:T=>{Rb(T,"progressText"),d==="active"&&(f=T,!Q&&!y&&U())},finish:T=>{if(Rb(T,"finalText"),d==="finished")return Promise.resolve(!0);if(d==="finishing")return m;if(d!=="active")return Promise.resolve(!1);d="finishing",f=null,G();let k=y;return m=(async()=>{if(k&&await k,d!=="finishing")return!1;try{return await n.finishAiCard({...B,text:T}),d!=="finishing"?!1:(j("finished"),!0)}catch{return e?.aborted||d==="aborted"?(j("aborted"),!1):(J("finish"),!1)}})(),m}})}function lf(n){return typeof n=="string"&&n.trim()?n.trim():null}function ti(n){return n&&typeof n.id=="string"&&typeof n.question=="string"&&(n.header===void 0||typeof n.header=="string")&&(n.detail===void 0||typeof n.detail=="string")&&(n.multiSelect===void 0||typeof n.multiSelect=="boolean")&&(n.options===void 0||Array.isArray(n.options)&&n.options.every(t=>t&&typeof t.label=="string"&&(t.description===void 0||typeof t.description=="string")))}function ri(n,t,o,{requiresMention:i=!1}={}){let e=[],a=o>1?`\uFF08${t+1}/${o}\uFF09`:"";e.push(D("DeepSeek Harness \u9700\u8981\u4F60\u8865\u5145\u4FE1\u606F{progress}\uFF1A",{progress:a})),lf(n.header)&&e.push("",n.header.trim()),e.push("",lf(n.question)??D("\u8BF7\u8F93\u5165\u4F60\u7684\u56DE\u7B54\u3002")),lf(n.detail)&&e.push("",n.detail.trim());let A=Array.isArray(n.options)?n.options:[];return A.length>0?(e.push(""),A.forEach((r,s)=>{let g=typeof r?.label=="string"?r.label:"",c=lf(r?.description);e.push(`${s+1}. ${g}${c?` \u2014 ${c}`:""}`)}),e.push("",n.multiSelect===!0?D("\u8BF7\u56DE\u590D\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF1B\u591A\u9009\u7528\u9017\u53F7\u5206\u9694\uFF0C\u4E5F\u53EF\u8865\u5145\u5176\u4ED6\u5185\u5BB9\u3002"):D("\u8BF7\u56DE\u590D\u4E00\u4E2A\u9009\u9879\u5E8F\u53F7\u6216\u6587\u5B57\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u5176\u4ED6\u7B54\u6848\u3002"))):e.push("",D("\u8BF7\u76F4\u63A5\u56DE\u590D\u4F60\u7684\u7B54\u6848\u3002")),i&&e.push("",D("\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u7B54\u6848\u3002")),e.join(` `)}function RH(n,t){let o=n.trim();if(!o)return null;if(/^\d+$/.test(o)){let e=t[Number(o)-1];return typeof e?.label=="string"?e.label:null}let i=t.find(e=>e?.label===o);return typeof i?.label=="string"?i.label:null}function ai(n,t){let o=Array.isArray(n.options)?n.options:[];if(o.length===0)return{id:n.id,selected:[],custom:t};let i=RH(t,o);if(n.multiSelect!==!0)return i?{id:n.id,selected:[i]}:{id:n.id,selected:[],custom:t};if(i)return{id:n.id,selected:[i]};let e=[],a=[];for(let A of t.split(/[,,、;;\n]+/)){let r=A.trim();if(!r)continue;let s=RH(r,o);s?e.includes(s)||e.push(s):a.push(r)}return{id:n.id,selected:e,...a.length>0?{custom:a.join("\u3001")}:{}}}var rce=new Map([["\u6279\u51C6","allowed-once"],["\u540C\u610F","allowed-once"],["yes","allowed-once"],["\u62D2\u7EDD","rejected"],["\u4E0D\u540C\u610F","rejected"],["no","rejected"]]),kb="\u8BF7\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\uFF08\u4E5F\u652F\u6301\uFF1A\u540C\u610F / \u4E0D\u540C\u610F / yes / no\uFF09\u3002",ace="\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u95EE\u9898\uFF0C\u518D\u7CBE\u51C6\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002",Gl="\u8BE5\u5BA1\u6279\u5DF2\u5904\u7406\uFF0C\u65E0\u9700\u518D\u6B21\u56DE\u590D\u3002",ice=5*6e4,oce=2048;function wa(n){return typeof n=="string"?n.trim():""}function vb(n){return wa(n).replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g,"")}function nce(n){return rce.get(wa(n).toLowerCase())??null}function vH(n){return n?.type==="approval/requested"&&!!wa(n.sessionId)&&!!wa(n.approvalId)&&!!wa(n.toolName)&&(n.callId===void 0||!!wa(n.callId))&&(n.reason===void 0||typeof n.reason=="string")}function sce(n){let t=n?.arguments;if(t!==null&&typeof t=="object")try{return JSON.stringify(t,null,2)}catch{return null}if(typeof t!="string")return null;let o=vb(t);if(!o)return t===""?"{}":null;try{return JSON.stringify(JSON.parse(o),null,2)}catch{return o}}function Pb(n,{toolCall:t,requiresMention:o=!1,maxArgumentsLength:i=6e3}={}){if(!vH(n))return null;let e=wa(n.callId);if(!e||wa(t?.callId)!==e||wa(t?.name)!==wa(n.toolName))return null;let a=sce(t);if(!a||a.length>i)return null;let A=[D("DeepSeek Harness \u9700\u8981\u4F60\u7684\u5BA1\u6279\uFF1A"),"",D("\u5DE5\u5177\uFF1A{tool}",{tool:vb(n.toolName)}),D("\u64CD\u4F5C\u53C2\u6570\uFF1A"),a],r=vb(n.reason);return r&&A.push(D("\u539F\u56E0\uFF1A{reason}",{reason:r})),A.push("",D(kb)),o&&A.push("",D("\u7FA4\u804A\u4E2D\u8BF7 @\u673A\u5668\u4EBA \u540E\u53D1\u9001\u5BA1\u6279\u51B3\u5B9A\u3002")),A.join(` -`)}function kH(n,t){return{ok:!0,value:{sessionId:n.sessionId,approvalId:n.approvalId,outcome:t}}}function pf(n){return n==="allowed-once"?D("\u5DF2\u6279\u51C6\uFF0C\u4EC5\u5BF9\u672C\u6B21\u64CD\u4F5C\u6709\u6548\u3002"):n==="rejected"?D("\u5DF2\u62D2\u7EDD\u6B64\u6B21\u64CD\u4F5C\u3002"):D(Gl)}var ii=class{#e;#A;#t=new Map;#r=new Map;#a=new Map;constructor({label:t="IM",logger:o=console}={}){this.#e=t,this.#A=o}hasPending(t){return this.#r.get(t)?.items.some(o=>!o.inactive)===!0}claimReply({key:t,actor:o,text:i,addressed:e=!0,hasPendingQuestion:a=!1,questionCompletion:A,isQuestionPending:r,send:s}){let c=this.#r.get(t)?.items[0],I=nce(i),d=(f,Q=!1)=>({...Q?{resolved:!0}:{},process:async y=>{typeof y=="function"&&await y()===!1||await s(f)}}),B=a&&c&&A&&typeof A.then=="function";return a&&!B?null:!c||c.inactive?(this.#a.get(t)??0)<=Date.now()?(this.#a.delete(t),null):I?d(D(Gl),!0):null:c.actor!==o||c.requiresMention&&e!==!0?I?d(D("\u53EA\u6709\u53D1\u8D77\u5F53\u524D\u4EFB\u52A1\u7684\u7528\u6237\u53EF\u4EE5\u5904\u7406\u8FD9\u6761\u5BA1\u6279\u3002")):null:{process:async f=>{let Q=c.presented,m=(c.replyTail??Promise.resolve()).catch(()=>{}).then(async()=>{if(!(typeof f=="function"&&await f()===!1)){if(B){if(await A.catch(()=>{}),c.inactive||c.resolving)return;if(typeof r=="function"&&r()){await s(D(ace));return}}if(await c.activationTask?.catch(()=>{}),await c.presentationTask?.catch(()=>{}),c.inactive||c.resolving){await s(D(Gl));return}if(c.send=s,!Q||!c.presented){if(c.presented||await this.#i(c),c.inactive||c.resolving)return;await s(D(kb));return}if(c.submitting){await s(D("\u5BA1\u6279\u51B3\u5B9A\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u3002"));return}if(!I){await s(D(kb));return}await this.#c(c,I)}});c.replyTail=m;try{await m}finally{c.replyTail===m&&(c.replyTail=null)}}}}async handleRequested(t,o){if(t?.kind!=="approval")return!1;let i=t.payload,e=wa(i?.approvalId);if(!wa(t.rpcId)||!wa(t.sessionId)||!e||!vH(i)||i.sessionId!==t.sessionId||typeof t.respond!="function")return this.#A.warn?.(`[dsh-im:${this.#e}] ignored an invalid Harness approval`),!0;if(t.recovered===!0)return await this.#g(t,i),!0;let a=this.#t.get(e);if(a)return a.interaction=t,a.toolCall=t.toolCall,a.presented||await this.#i(a),!0;let A=o?.send,r=wa(o?.key),s=wa(o?.actor);if(!r||!s||typeof A!="function")return this.#A.warn?.(`[dsh-im:${this.#e}] ignored an approval without a reply route`),await this.#g(t,i),!0;let g=Pb(i,{toolCall:t.toolCall,requiresMention:o.requiresMention===!0});if(!g){let d=await this.#g(t,i);return await A(d?D("\u65E0\u6CD5\u5B8C\u6574\u5C55\u793A\u8FD9\u6B21\u64CD\u4F5C\uFF0C\u5DF2\u5B89\u5168\u62D2\u7EDD\u6B64\u6B21\u5BA1\u6279\u3002"):D(Gl)),!0}let c={approvalId:e,sessionId:t.sessionId,interaction:t,toolCall:t.toolCall,key:r,actor:s,requiresMention:o.requiresMention===!0,send:A,text:g,presented:!1,presentationTask:null,deliveryCompleted:!1,replyTail:null,submitting:!1,inactive:!1,resolving:!1,closedOutcome:null,resolutionNotified:!1,activationTask:null};this.#t.set(e,c);let I=this.#r.get(r)??{items:[]};return I.items.push(c),this.#r.set(r,I),I.items[0]===c&&await this.#i(c),!0}async handleResolved(t){if(t?.kind!=="approval")return!1;let o=this.#t.get(wa(t.interactionId));if(!o||(o.resolving=!0,o.activationTask&&await o.activationTask.catch(()=>{}),o.inactive||this.#t.get(o.approvalId)!==o))return!0;let i=o.presentationTask,e=o.presented||i,a=o.send,A=this.#o(o);return await this.#s(A,async()=>{let r=o.presented;i&&(r=await i.then(()=>!0,()=>!1)),e&&r&&(o.resolutionNotified=!0,await a(pf(t.outcome)).catch(()=>{}))}),!0}async closeRoute(t){let o=this.#r.get(t);if(!o)return;let i=[...o.items];for(let e of i)this.#o(e);await Promise.all(i.map(async e=>{try{await e.interaction.respond(kH(e,"rejected"),{signal:AbortSignal.timeout(5e3)}),e.closedOutcome="rejected",(e.presented||e.deliveryCompleted)&&!e.resolutionNotified&&(e.resolutionNotified=!0,await e.send(pf("rejected")).catch(()=>{}))}catch(a){a?.code==="interaction-not-pending"?(e.closedOutcome="resolved",(e.presented||e.deliveryCompleted)&&!e.resolutionNotified&&(e.resolutionNotified=!0,await e.send(D(Gl)).catch(()=>{}))):this.#A.warn?.(`[dsh-im:${this.#e}] failed to reject a closing approval:`,a)}}))}async#i(t){if(this.#r.get(t.key)?.items[0]!==t||t.inactive||t.resolving||t.presented||(await t.activationTask?.catch(()=>{}),this.#r.get(t.key)?.items[0]!==t||t.inactive||t.resolving||t.presented))return;if(t.presentationTask)return t.presentationTask;let o=Promise.resolve().then(()=>t.send(t.text));t.presentationTask=o;try{await o,t.deliveryCompleted=!0,t.inactive?t.closedOutcome&&!t.resolutionNotified&&(t.resolutionNotified=!0,await t.send(pf(t.closedOutcome)).catch(()=>{})):t.presented=!0}finally{t.presentationTask===o&&(t.presentationTask=null)}}async#c(t,o){t.submitting=!0;try{await t.interaction.respond(kH(t,o))}catch(a){if(a?.code==="interaction-not-pending"){let A=t.send,r=this.#o(t);await this.#s(r,async()=>{t.resolutionNotified||await A(D(Gl)).catch(()=>{})});return}if(t.inactive)return;t.submitting=!1,this.#A.error?.(`[dsh-im:${this.#e}] failed to submit an approval:`,a),await t.send(D("\u5BA1\u6279\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002")).catch(()=>{});return}let i=t.send,e=this.#o(t);await this.#s(e,async()=>{t.resolutionNotified||await i(pf(o)).catch(()=>{})})}async#s(t,o){let i,e=new Promise(a=>{i=a});t&&(t.activationTask=e);try{await o()}finally{i(),t?.activationTask===e&&(t.activationTask=null)}await this.#I(t)}async#I(t){if(t)try{await this.#i(t)}catch(o){this.#A.error?.(`[dsh-im:${this.#e}] failed to present the next approval:`,o);try{t.interaction.reconnect?.()}catch{}}}#o(t){if(t.inactive)return null;t.inactive=!0,this.#n(t.key),this.#t.delete(t.approvalId);let o=this.#r.get(t.key);if(!o)return null;let i=o.items[0]===t,e=o.items.indexOf(t);return e!==-1&&o.items.splice(e,1),o.items.length===0?(this.#r.delete(t.key),null):i?o.items[0]:null}#n(t){let o=Date.now();for(let[i,e]of this.#a)e<=o&&this.#a.delete(i);for(this.#a.delete(t),this.#a.set(t,o+ice);this.#a.size>oce;)this.#a.delete(this.#a.keys().next().value)}async#g(t,o){try{return await t.respond({ok:!0,value:{sessionId:t.sessionId,approvalId:o.approvalId,outcome:"rejected"}},{signal:AbortSignal.timeout(5e3)}),!0}catch(i){if(i?.code==="interaction-not-pending")return!1;throw i}}};var Gb=new WeakMap;function gce(n){let t=Gb.get(n);return t||(t=new Map,Gb.set(n,t)),t}async function Vc(n,t,o){let i=typeof n;if(i!=="object"&&i!=="function"||n===null)throw new TypeError("state is required");if(typeof t!="string"||!t)throw new TypeError("conversation key is required");if(typeof o!="function")throw new TypeError("operation is required");let e=gce(n),a=e.get(t)??Promise.resolve(),A,r=new Promise(s=>{A=s});e.set(t,r),await a;try{return await o()}finally{A(),e.get(t)===r&&(e.delete(t),e.size===0&&Gb.delete(n))}}var oi="workspace-session-stale";function PH(n,t){return typeof n.workspaceSession=="function"?n.workspaceSession(t):Object.freeze({sessionId:t,sessionExists:(...o)=>n.sessionExists(t,...o),models:(...o)=>n.getSessionModels(t,...o),selectModel:(...o)=>n.selectSessionModel(t,...o),isRunning:(...o)=>n.isSessionRunning(t,...o),hasActiveTurn:(...o)=>n.hasActiveTurn(t,...o),stopActiveTurn:(...o)=>n.stopActiveTurn(t,...o),steerActiveTurn:(...o)=>n.steerActiveTurn(t,...o),ask:(...o)=>n.ask(t,...o)})}async function cce(n,t){return t===void 0?n.sessionExists():n.sessionExists(t)}async function Ice(n,t){return t===void 0?n.createSession():n.createSession(t)}async function ni({harness:n,state:t,key:o,text:i,content:e,createOptions:a,existsOptions:A,askOptions:r}){for(;;)try{let s=await Vc(t,o,async()=>{let B=t.sessionFor(o),f=B?PH(n,B):null;if(!f||!await cce(f,A)){if(B=await Ice(n,a),await t.setSession(o,B)===!1)return null;f=PH(n,B)}return{sessionId:B,session:f}});if(!s)continue;let g=[],c=typeof r=="object"&&typeof r?.onArtifact=="function"?r.onArtifact:null,I=typeof r=="number"?{timeoutMs:r}:{...r};I.onArtifact=async B=>{g.push(B),await c?.(B)};let d=await s.session.ask(e??i,I);return{sessionId:s.sessionId,answer:d,...g.length>0?{artifacts:g}:{}}}catch(s){if(s?.code!==oi)throw s}}var lce=/^\/compact(?=$|\s)([\s\S]*)$/i,pce="\u7528\u6CD5\uFF1A/compact\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",GH=new Map([["No compactable history yet.","\u6682\u65E0\u53EF\u538B\u7F29\u7684\u5386\u53F2\u8BB0\u5F55\u3002"],["Compaction is unavailable because this process has an active compaction, or the agent is not idle.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\u6216\u6267\u884C\u538B\u7F29\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"],["Compaction cancelled.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002"],["The history selected for compaction changed before it could be replaced. The conversation is unchanged; the attempt is recorded in the session log.","\u538B\u7F29\u671F\u95F4\u4F1A\u8BDD\u5386\u53F2\u53D1\u751F\u53D8\u5316\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\uFF0C\u8BF7\u91CD\u8BD5\u3002"],["Compaction could not produce a useful summary. The conversation is unchanged; the attempt is recorded in the session log.","\u672A\u80FD\u751F\u6210\u6709\u6548\u7684\u538B\u7F29\u6458\u8981\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\u3002"],["Compaction did not finish cleanly; some session history may have changed. Inspect the current session state before retrying.","\u4E0A\u4E0B\u6587\u538B\u7F29\u672A\u6B63\u5E38\u5B8C\u6210\uFF0C\u90E8\u5206\u4F1A\u8BDD\u5386\u53F2\u53EF\u80FD\u5DF2\u53D8\u5316\uFF0C\u8BF7\u68C0\u67E5\u4F1A\u8BDD\u540E\u518D\u91CD\u8BD5\u3002"],["Compaction finished, but the session could not be saved.","\u4E0A\u4E0B\u6587\u5DF2\u538B\u7F29\uFF0C\u4F46\u4F1A\u8BDD\u4FDD\u5B58\u5931\u8D25\u3002"]]);function Wc(n){return{handled:!0,message:n,messages:[n]}}function dce(n){if(!n||typeof n!="object"||!["success","error"].includes(n.kind)||n.text!==void 0&&typeof n.text!="string")throw new TypeError("Harness returned an invalid /compact result");let t=n.text?.trim()??"",o=/^Compacted (\d+) history items \(~(\d+) tokens\)\.$/u.exec(t);return o?D("\u5DF2\u538B\u7F29 {count} \u6761\u5386\u53F2\u8BB0\u5F55\uFF08\u7EA6 {tokens} \u4E2A token\uFF09\u3002",{count:o[1],tokens:o[2]}):GH.has(t)?D(GH.get(t)):t||(n.kind==="success"?D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u3002"):D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\u3002"))}function hce(n){let t=n?.code??n?.failure?.code;return t==="session-not-found"?D("\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u7684\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u53D1\u9001\u65B0\u6D88\u606F\u5F00\u542F\u4F1A\u8BDD\u3002"):t==="agent-busy"?D("\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"):t==="cancelled"||n?.name==="AbortError"?D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002"):t===oi||t==="workspace-bot-not-found"?D("\u5DE5\u4F5C\u533A\u6216\u673A\u5668\u4EBA\u72B6\u6001\u5DF2\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u8BD5\u3002"):t==="commands-unavailable"?D("\u5F53\u524D Harness \u6682\u4E0D\u652F\u6301\u4ECE\u673A\u5668\u4EBA\u6267\u884C\u4E0A\u4E0B\u6587\u538B\u7F29\u3002"):D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}async function si(n,t,o,i,e={}){if(typeof n!="string")return null;let a=lce.exec(n.trim());if(!a)return null;if(a[1].trim())return Wc(D(pce));if(typeof o?.sessionFor!="function")return Wc(D("\u5F53\u524D\u673A\u5668\u4EBA\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u8BDD\u72B6\u6001\u3002"));let A=o.sessionFor(i);if(typeof A!="string"||!A)return Wc(D("\u5F53\u524D\u804A\u5929\u8FD8\u6CA1\u6709\u53EF\u538B\u7F29\u7684\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u53D1\u9001\u4E00\u6761\u6D88\u606F\u3002"));if(typeof t?.executeCommand!="function")return Wc(D("\u5F53\u524D\u673A\u5668\u4EBA\u6682\u4E0D\u652F\u6301\u4E0A\u4E0B\u6587\u538B\u7F29\u3002"));try{let r=await t.executeCommand(A,"/compact",e);return Wc(r===void 0?D("\u5F53\u524D Harness \u672A\u6CE8\u518C /compact \u547D\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u4E0A\u4E0B\u6587\u538B\u7F29\u7EC4\u4EF6\u5DF2\u542F\u7528\u3002"):dce(r?.result))}catch(r){return Wc(hce(r))}}var FH={name:"@xmanrui/dsh-im",version:"2.6.0",description:"\u628A\u4E5D\u79CD IM \u673A\u5668\u4EBA\u548C\u516C\u7F51 AI Office \u63A5\u5165\u672C\u673A DeepSeek Harness\u3002 Connect nine IM channels and a public AI Office to a local DeepSeek Harness.",keywords:["deepseek-harness","dsh","dsh-plugin","ai-agent","im","instant-messaging","chatbot","feishu","lark","wechat","wecom","dingtalk","qq","slack","telegram","discord","whatsapp","ai-office"],author:{name:"xmanrui",url:"https://github.com/xmanrui"},contributors:[{name:"C3H3-AI",url:"https://github.com/C3H3-AI"}],license:"MIT",type:"module",repository:{type:"git",url:"git+https://github.com/xmanrui/dsh-im.git"},homepage:"https://github.com/xmanrui/dsh-im#readme",bugs:"https://github.com/xmanrui/dsh-im/issues",publishConfig:{access:"public"},bin:{"dsh-im":"bin/dsh-im.mjs"},main:"./lib/index.js",exports:{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},files:["assets","bin","cordis.patch.yml","lib","plugin-src","scripts","src","LICENSE","README.md","README.en.md","THIRD_PARTY_NOTICES.md"],dsh:{bundle:{patch:"./cordis.patch.yml"},client:{inject:["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale"],platform:"web"}},scripts:{build:"node plugin-src/client/build.mjs && node plugin-src/host/build.mjs",test:"node --test test/*.test.mjs test/channels/*/*.test.mjs",check:"npm test && npm run build && node scripts/verify-package.mjs"},engines:{node:">=22.19"},dependencies:{"@tencent-connect/qqbot-connector":"1.2.0","@tencent-connect/qqbot-nodejs":"1.0.4","@wecom/aibot-node-sdk":"1.0.7","dingtalk-stream":"2.1.4",qrcode:"1.5.4"},devDependencies:{"@larksuiteoapi/node-sdk":"1.73.0","@whiskeysockets/baileys":"7.0.0-rc14",esbuild:"0.25.9","https-proxy-agent":"5.0.1",react:"18.3.1","react-dom":"18.3.1","react-test-renderer":"18.3.1"}};var Cce=/^\/(?:stop|steer|version)(?=$|\s)/iu,uce=/^\/stop(?=$|\s)/iu,Bce=/^\/version(?=$|\s)/iu,fce="\u7528\u6CD5\uFF1A/stop\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",Qce="\u7528\u6CD5\uFF1A/version\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",yce="\u7528\u6CD5\uFF1A/steer <\u8865\u5145\u6307\u4EE4>",mce="\u63A7\u5236\u547D\u4EE4\u4EC5\u652F\u6301\u7EAF\u6587\u5B57\uFF0C\u8BF7\u79FB\u9664\u56FE\u7247\u540E\u91CD\u8BD5\u3002";function co(n,t={}){return{message:n,...t}}function LH(n){return n?{signal:n}:{}}function UH(n,t,o){if(typeof t?.sessionFor!="function")return null;let i=t.sessionFor(o);if(typeof i!="string"||!i)return null;if(typeof n?.workspaceSession!="function")throw new TypeError("Harness does not support workspace sessions");let e=n.workspaceSession(i);if(!e||typeof e!="object")throw new TypeError("Harness returned an invalid workspace session");return e}function Pi(n){return typeof n=="string"&&Cce.test(n.trim())}async function gi(n,t,o,i,{signal:e,hasImages:a=!1,pendingInteraction:A=!1,control:r}={}){if(!Pi(n))return null;let s=n.trim(),g=uce.test(s),c=Bce.test(s);if(a)return co(D(mce));if(c)return/^\/version$/iu.test(s)?co(`dsh-im v${FH.version}`):co(D(Qce));if(g){if(!/^\/stop$/iu.test(s))return co(D(fce));let Q=UH(t,o,i);if(!Q)return co(D("\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002"));if(typeof Q.stopActiveTurn!="function")throw new TypeError("Harness session does not support stopping active turns");return await Q.stopActiveTurn(r,LH(e))?co(D("\u5DF2\u8BF7\u6C42\u505C\u6B62\u5F53\u524D\u4EFB\u52A1\u3002"),{stopped:!0}):co(D("\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002"))}let d=/^\/steer(?:\s+([\s\S]*))?$/iu.exec(s)?.[1]?.trim()??"";if(!d)return co(D(yce));if(A)return co([D("\u5F53\u524D\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u4F60\u7684\u56DE\u7B54\u6216\u5BA1\u6279\u3002"),"",D("\u8BF7\u5148\u5904\u7406\u5F53\u524D\u8BF7\u6C42\uFF0C\u6216\u8005\u53D1\u9001 /stop \u505C\u6B62\u4EFB\u52A1\u3002")].join(` +`)}function kH(n,t){return{ok:!0,value:{sessionId:n.sessionId,approvalId:n.approvalId,outcome:t}}}function pf(n){return n==="allowed-once"?D("\u5DF2\u6279\u51C6\uFF0C\u4EC5\u5BF9\u672C\u6B21\u64CD\u4F5C\u6709\u6548\u3002"):n==="rejected"?D("\u5DF2\u62D2\u7EDD\u6B64\u6B21\u64CD\u4F5C\u3002"):D(Gl)}var ii=class{#e;#A;#t=new Map;#r=new Map;#a=new Map;constructor({label:t="IM",logger:o=console}={}){this.#e=t,this.#A=o}hasPending(t){return this.#r.get(t)?.items.some(o=>!o.inactive)===!0}claimReply({key:t,actor:o,text:i,addressed:e=!0,hasPendingQuestion:a=!1,questionCompletion:A,isQuestionPending:r,send:s}){let c=this.#r.get(t)?.items[0],I=nce(i),d=(f,Q=!1)=>({...Q?{resolved:!0}:{},process:async y=>{typeof y=="function"&&await y()===!1||await s(f)}}),B=a&&c&&A&&typeof A.then=="function";return a&&!B?null:!c||c.inactive?(this.#a.get(t)??0)<=Date.now()?(this.#a.delete(t),null):I?d(D(Gl),!0):null:c.actor!==o||c.requiresMention&&e!==!0?I?d(D("\u53EA\u6709\u53D1\u8D77\u5F53\u524D\u4EFB\u52A1\u7684\u7528\u6237\u53EF\u4EE5\u5904\u7406\u8FD9\u6761\u5BA1\u6279\u3002")):null:{process:async f=>{let Q=c.presented,m=(c.replyTail??Promise.resolve()).catch(()=>{}).then(async()=>{if(!(typeof f=="function"&&await f()===!1)){if(B){if(await A.catch(()=>{}),c.inactive||c.resolving)return;if(typeof r=="function"&&r()){await s(D(ace));return}}if(await c.activationTask?.catch(()=>{}),await c.presentationTask?.catch(()=>{}),c.inactive||c.resolving){await s(D(Gl));return}if(c.send=s,!Q||!c.presented){if(c.presented||await this.#i(c),c.inactive||c.resolving)return;await s(D(kb));return}if(c.submitting){await s(D("\u5BA1\u6279\u51B3\u5B9A\u6B63\u5728\u63D0\u4EA4\uFF0C\u8BF7\u7A0D\u5019\u3002"));return}if(!I){await s(D(kb));return}await this.#c(c,I)}});c.replyTail=m;try{await m}finally{c.replyTail===m&&(c.replyTail=null)}}}}async handleRequested(t,o){if(t?.kind!=="approval")return!1;let i=t.payload,e=wa(i?.approvalId);if(!wa(t.rpcId)||!wa(t.sessionId)||!e||!vH(i)||i.sessionId!==t.sessionId||typeof t.respond!="function")return this.#A.warn?.(`[dsh-im:${this.#e}] ignored an invalid Harness approval`),!0;if(t.recovered===!0)return await this.#g(t,i),!0;let a=this.#t.get(e);if(a)return a.interaction=t,a.toolCall=t.toolCall,a.presented||await this.#i(a),!0;let A=o?.send,r=wa(o?.key),s=wa(o?.actor);if(!r||!s||typeof A!="function")return this.#A.warn?.(`[dsh-im:${this.#e}] ignored an approval without a reply route`),await this.#g(t,i),!0;let g=Pb(i,{toolCall:t.toolCall,requiresMention:o.requiresMention===!0});if(!g){let d=await this.#g(t,i);return await A(d?D("\u65E0\u6CD5\u5B8C\u6574\u5C55\u793A\u8FD9\u6B21\u64CD\u4F5C\uFF0C\u5DF2\u5B89\u5168\u62D2\u7EDD\u6B64\u6B21\u5BA1\u6279\u3002"):D(Gl)),!0}let c={approvalId:e,sessionId:t.sessionId,interaction:t,toolCall:t.toolCall,key:r,actor:s,requiresMention:o.requiresMention===!0,send:A,text:g,presented:!1,presentationTask:null,deliveryCompleted:!1,replyTail:null,submitting:!1,inactive:!1,resolving:!1,closedOutcome:null,resolutionNotified:!1,activationTask:null};this.#t.set(e,c);let I=this.#r.get(r)??{items:[]};return I.items.push(c),this.#r.set(r,I),I.items[0]===c&&await this.#i(c),!0}async handleResolved(t){if(t?.kind!=="approval")return!1;let o=this.#t.get(wa(t.interactionId));if(!o||(o.resolving=!0,o.activationTask&&await o.activationTask.catch(()=>{}),o.inactive||this.#t.get(o.approvalId)!==o))return!0;let i=o.presentationTask,e=o.presented||i,a=o.send,A=this.#o(o);return await this.#s(A,async()=>{let r=o.presented;i&&(r=await i.then(()=>!0,()=>!1)),e&&r&&(o.resolutionNotified=!0,await a(pf(t.outcome)).catch(()=>{}))}),!0}async closeRoute(t){let o=this.#r.get(t);if(!o)return;let i=[...o.items];for(let e of i)this.#o(e);await Promise.all(i.map(async e=>{try{await e.interaction.respond(kH(e,"rejected"),{signal:AbortSignal.timeout(5e3)}),e.closedOutcome="rejected",(e.presented||e.deliveryCompleted)&&!e.resolutionNotified&&(e.resolutionNotified=!0,await e.send(pf("rejected")).catch(()=>{}))}catch(a){a?.code==="interaction-not-pending"?(e.closedOutcome="resolved",(e.presented||e.deliveryCompleted)&&!e.resolutionNotified&&(e.resolutionNotified=!0,await e.send(D(Gl)).catch(()=>{}))):this.#A.warn?.(`[dsh-im:${this.#e}] failed to reject a closing approval:`,a)}}))}async#i(t){if(this.#r.get(t.key)?.items[0]!==t||t.inactive||t.resolving||t.presented||(await t.activationTask?.catch(()=>{}),this.#r.get(t.key)?.items[0]!==t||t.inactive||t.resolving||t.presented))return;if(t.presentationTask)return t.presentationTask;let o=Promise.resolve().then(()=>t.send(t.text));t.presentationTask=o;try{await o,t.deliveryCompleted=!0,t.inactive?t.closedOutcome&&!t.resolutionNotified&&(t.resolutionNotified=!0,await t.send(pf(t.closedOutcome)).catch(()=>{})):t.presented=!0}finally{t.presentationTask===o&&(t.presentationTask=null)}}async#c(t,o){t.submitting=!0;try{await t.interaction.respond(kH(t,o))}catch(a){if(a?.code==="interaction-not-pending"){let A=t.send,r=this.#o(t);await this.#s(r,async()=>{t.resolutionNotified||await A(D(Gl)).catch(()=>{})});return}if(t.inactive)return;t.submitting=!1,this.#A.error?.(`[dsh-im:${this.#e}] failed to submit an approval:`,a),await t.send(D("\u5BA1\u6279\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u56DE\u590D\u300C\u6279\u51C6\u300D\u6216\u300C\u62D2\u7EDD\u300D\u3002")).catch(()=>{});return}let i=t.send,e=this.#o(t);await this.#s(e,async()=>{t.resolutionNotified||await i(pf(o)).catch(()=>{})})}async#s(t,o){let i,e=new Promise(a=>{i=a});t&&(t.activationTask=e);try{await o()}finally{i(),t?.activationTask===e&&(t.activationTask=null)}await this.#I(t)}async#I(t){if(t)try{await this.#i(t)}catch(o){this.#A.error?.(`[dsh-im:${this.#e}] failed to present the next approval:`,o);try{t.interaction.reconnect?.()}catch{}}}#o(t){if(t.inactive)return null;t.inactive=!0,this.#n(t.key),this.#t.delete(t.approvalId);let o=this.#r.get(t.key);if(!o)return null;let i=o.items[0]===t,e=o.items.indexOf(t);return e!==-1&&o.items.splice(e,1),o.items.length===0?(this.#r.delete(t.key),null):i?o.items[0]:null}#n(t){let o=Date.now();for(let[i,e]of this.#a)e<=o&&this.#a.delete(i);for(this.#a.delete(t),this.#a.set(t,o+ice);this.#a.size>oce;)this.#a.delete(this.#a.keys().next().value)}async#g(t,o){try{return await t.respond({ok:!0,value:{sessionId:t.sessionId,approvalId:o.approvalId,outcome:"rejected"}},{signal:AbortSignal.timeout(5e3)}),!0}catch(i){if(i?.code==="interaction-not-pending")return!1;throw i}}};var Gb=new WeakMap;function gce(n){let t=Gb.get(n);return t||(t=new Map,Gb.set(n,t)),t}async function Vc(n,t,o){let i=typeof n;if(i!=="object"&&i!=="function"||n===null)throw new TypeError("state is required");if(typeof t!="string"||!t)throw new TypeError("conversation key is required");if(typeof o!="function")throw new TypeError("operation is required");let e=gce(n),a=e.get(t)??Promise.resolve(),A,r=new Promise(s=>{A=s});e.set(t,r),await a;try{return await o()}finally{A(),e.get(t)===r&&(e.delete(t),e.size===0&&Gb.delete(n))}}var oi="workspace-session-stale";function PH(n,t){return typeof n.workspaceSession=="function"?n.workspaceSession(t):Object.freeze({sessionId:t,sessionExists:(...o)=>n.sessionExists(t,...o),models:(...o)=>n.getSessionModels(t,...o),selectModel:(...o)=>n.selectSessionModel(t,...o),isRunning:(...o)=>n.isSessionRunning(t,...o),hasActiveTurn:(...o)=>n.hasActiveTurn(t,...o),stopActiveTurn:(...o)=>n.stopActiveTurn(t,...o),steerActiveTurn:(...o)=>n.steerActiveTurn(t,...o),ask:(...o)=>n.ask(t,...o)})}async function cce(n,t){return t===void 0?n.sessionExists():n.sessionExists(t)}async function Ice(n,t){return t===void 0?n.createSession():n.createSession(t)}async function ni({harness:n,state:t,key:o,text:i,content:e,createOptions:a,existsOptions:A,askOptions:r}){for(;;)try{let s=await Vc(t,o,async()=>{let B=t.sessionFor(o),f=B?PH(n,B):null;if(!f||!await cce(f,A)){if(B=await Ice(n,a),await t.setSession(o,B)===!1)return null;f=PH(n,B)}return{sessionId:B,session:f}});if(!s)continue;let g=[],c=typeof r=="object"&&typeof r?.onArtifact=="function"?r.onArtifact:null,I=typeof r=="number"?{timeoutMs:r}:{...r};I.onArtifact=async B=>{g.push(B),await c?.(B)};let d=await s.session.ask(e??i,I);return{sessionId:s.sessionId,answer:d,...g.length>0?{artifacts:g}:{}}}catch(s){if(s?.code!==oi)throw s}}var lce=/^\/compact(?=$|\s)([\s\S]*)$/i,pce="\u7528\u6CD5\uFF1A/compact\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",GH=new Map([["No compactable history yet.","\u6682\u65E0\u53EF\u538B\u7F29\u7684\u5386\u53F2\u8BB0\u5F55\u3002"],["Compaction is unavailable because this process has an active compaction, or the agent is not idle.","\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\u6216\u6267\u884C\u538B\u7F29\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"],["Compaction cancelled.","\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002"],["The history selected for compaction changed before it could be replaced. The conversation is unchanged; the attempt is recorded in the session log.","\u538B\u7F29\u671F\u95F4\u4F1A\u8BDD\u5386\u53F2\u53D1\u751F\u53D8\u5316\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\uFF0C\u8BF7\u91CD\u8BD5\u3002"],["Compaction could not produce a useful summary. The conversation is unchanged; the attempt is recorded in the session log.","\u672A\u80FD\u751F\u6210\u6709\u6548\u7684\u538B\u7F29\u6458\u8981\uFF0C\u672C\u6B21\u672A\u4FEE\u6539\u4F1A\u8BDD\u3002"],["Compaction did not finish cleanly; some session history may have changed. Inspect the current session state before retrying.","\u4E0A\u4E0B\u6587\u538B\u7F29\u672A\u6B63\u5E38\u5B8C\u6210\uFF0C\u90E8\u5206\u4F1A\u8BDD\u5386\u53F2\u53EF\u80FD\u5DF2\u53D8\u5316\uFF0C\u8BF7\u68C0\u67E5\u4F1A\u8BDD\u540E\u518D\u91CD\u8BD5\u3002"],["Compaction finished, but the session could not be saved.","\u4E0A\u4E0B\u6587\u5DF2\u538B\u7F29\uFF0C\u4F46\u4F1A\u8BDD\u4FDD\u5B58\u5931\u8D25\u3002"]]);function Wc(n){return{handled:!0,message:n,messages:[n]}}function dce(n){if(!n||typeof n!="object"||!["success","error"].includes(n.kind)||n.text!==void 0&&typeof n.text!="string")throw new TypeError("Harness returned an invalid /compact result");let t=n.text?.trim()??"",o=/^Compacted (\d+) history items \(~(\d+) tokens\)\.$/u.exec(t);return o?D("\u5DF2\u538B\u7F29 {count} \u6761\u5386\u53F2\u8BB0\u5F55\uFF08\u7EA6 {tokens} \u4E2A token\uFF09\u3002",{count:o[1],tokens:o[2]}):GH.has(t)?D(GH.get(t)):t||(n.kind==="success"?D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5B8C\u6210\u3002"):D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\u3002"))}function hce(n){let t=n?.code??n?.failure?.code;return t==="session-not-found"?D("\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u7684\u4F1A\u8BDD\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u53D1\u9001\u65B0\u6D88\u606F\u5F00\u542F\u4F1A\u8BDD\u3002"):t==="agent-busy"?D("\u5F53\u524D\u4F1A\u8BDD\u6B63\u5728\u751F\u6210\u56DE\u590D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002"):t==="cancelled"||n?.name==="AbortError"?D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5DF2\u53D6\u6D88\u3002"):t===oi||t==="workspace-bot-not-found"?D("\u5DE5\u4F5C\u533A\u6216\u673A\u5668\u4EBA\u72B6\u6001\u5DF2\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u8BD5\u3002"):t==="commands-unavailable"?D("\u5F53\u524D Harness \u6682\u4E0D\u652F\u6301\u4ECE\u673A\u5668\u4EBA\u6267\u884C\u4E0A\u4E0B\u6587\u538B\u7F29\u3002"):D("\u4E0A\u4E0B\u6587\u538B\u7F29\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}async function si(n,t,o,i,e={}){if(typeof n!="string")return null;let a=lce.exec(n.trim());if(!a)return null;if(a[1].trim())return Wc(D(pce));if(typeof o?.sessionFor!="function")return Wc(D("\u5F53\u524D\u673A\u5668\u4EBA\u6CA1\u6709\u53EF\u7528\u7684\u4F1A\u8BDD\u72B6\u6001\u3002"));let A=o.sessionFor(i);if(typeof A!="string"||!A)return Wc(D("\u5F53\u524D\u804A\u5929\u8FD8\u6CA1\u6709\u53EF\u538B\u7F29\u7684\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u53D1\u9001\u4E00\u6761\u6D88\u606F\u3002"));if(typeof t?.executeCommand!="function")return Wc(D("\u5F53\u524D\u673A\u5668\u4EBA\u6682\u4E0D\u652F\u6301\u4E0A\u4E0B\u6587\u538B\u7F29\u3002"));try{let r=await t.executeCommand(A,"/compact",e);return Wc(r===void 0?D("\u5F53\u524D Harness \u672A\u6CE8\u518C /compact \u547D\u4EE4\uFF0C\u8BF7\u786E\u8BA4\u4E0A\u4E0B\u6587\u538B\u7F29\u7EC4\u4EF6\u5DF2\u542F\u7528\u3002"):dce(r?.result))}catch(r){return Wc(hce(r))}}var FH={name:"@xmanrui/dsh-im",version:"2.6.0",description:"\u628A\u4E5D\u79CD IM \u673A\u5668\u4EBA\u548C\u516C\u7F51 AI Office \u63A5\u5165\u672C\u673A DeepSeek Harness\u3002 Connect nine IM channels and a public AI Office to a local DeepSeek Harness.",keywords:["deepseek-harness","dsh","dsh-plugin","ai-agent","im","instant-messaging","chatbot","feishu","lark","wechat","wecom","dingtalk","qq","slack","telegram","discord","whatsapp","ai-office"],author:{name:"xmanrui",url:"https://github.com/xmanrui"},contributors:[{name:"C3H3-AI",url:"https://github.com/C3H3-AI"}],license:"MIT",type:"module",repository:{type:"git",url:"git+https://github.com/xmanrui/dsh-im.git"},homepage:"https://github.com/xmanrui/dsh-im#readme",bugs:"https://github.com/xmanrui/dsh-im/issues",publishConfig:{access:"public"},bin:{"dsh-im":"bin/dsh-im.mjs"},main:"./lib/index.js",exports:{".":"./lib/index.js","./client":"./lib/client.js","./package.json":"./package.json"},files:["assets","bin","cordis.patch.yml","lib","plugin-src","scripts","src","LICENSE","README.md","README.en.md","THIRD_PARTY_NOTICES.md"],dsh:{bundle:{patch:"./cordis.patch.yml"},client:{inject:["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-client-locale"],platform:"web"}},scripts:{build:"node plugin-src/client/build.mjs && node plugin-src/host/build.mjs",test:"node --test test/*.test.mjs test/channels/*/*.test.mjs",check:"npm run build && npm test && node scripts/verify-package.mjs"},engines:{node:">=22.19"},dependencies:{"@tencent-connect/qqbot-connector":"1.2.0","@tencent-connect/qqbot-nodejs":"1.0.4","@wecom/aibot-node-sdk":"1.0.7","dingtalk-stream":"2.1.4",qrcode:"1.5.4"},devDependencies:{"@larksuiteoapi/node-sdk":"1.73.0","@whiskeysockets/baileys":"7.0.0-rc14",esbuild:"0.25.9","https-proxy-agent":"5.0.1",react:"18.3.1","react-dom":"18.3.1","react-test-renderer":"18.3.1"}};var Cce=/^\/(?:stop|steer|version)(?=$|\s)/iu,uce=/^\/stop(?=$|\s)/iu,Bce=/^\/version(?=$|\s)/iu,fce="\u7528\u6CD5\uFF1A/stop\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",Qce="\u7528\u6CD5\uFF1A/version\uFF08\u4E0D\u5E26\u53C2\u6570\uFF09",yce="\u7528\u6CD5\uFF1A/steer <\u8865\u5145\u6307\u4EE4>",mce="\u63A7\u5236\u547D\u4EE4\u4EC5\u652F\u6301\u7EAF\u6587\u5B57\uFF0C\u8BF7\u79FB\u9664\u56FE\u7247\u540E\u91CD\u8BD5\u3002";function co(n,t={}){return{message:n,...t}}function LH(n){return n?{signal:n}:{}}function UH(n,t,o){if(typeof t?.sessionFor!="function")return null;let i=t.sessionFor(o);if(typeof i!="string"||!i)return null;if(typeof n?.workspaceSession!="function")throw new TypeError("Harness does not support workspace sessions");let e=n.workspaceSession(i);if(!e||typeof e!="object")throw new TypeError("Harness returned an invalid workspace session");return e}function Pi(n){return typeof n=="string"&&Cce.test(n.trim())}async function gi(n,t,o,i,{signal:e,hasImages:a=!1,pendingInteraction:A=!1,control:r}={}){if(!Pi(n))return null;let s=n.trim(),g=uce.test(s),c=Bce.test(s);if(a)return co(D(mce));if(c)return/^\/version$/iu.test(s)?co(`dsh-im v${FH.version}`):co(D(Qce));if(g){if(!/^\/stop$/iu.test(s))return co(D(fce));let Q=UH(t,o,i);if(!Q)return co(D("\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002"));if(typeof Q.stopActiveTurn!="function")throw new TypeError("Harness session does not support stopping active turns");return await Q.stopActiveTurn(r,LH(e))?co(D("\u5DF2\u8BF7\u6C42\u505C\u6B62\u5F53\u524D\u4EFB\u52A1\u3002"),{stopped:!0}):co(D("\u5F53\u524D\u804A\u5929\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\u3002"))}let d=/^\/steer(?:\s+([\s\S]*))?$/iu.exec(s)?.[1]?.trim()??"";if(!d)return co(D(yce));if(A)return co([D("\u5F53\u524D\u4EFB\u52A1\u6B63\u5728\u7B49\u5F85\u4F60\u7684\u56DE\u7B54\u6216\u5BA1\u6279\u3002"),"",D("\u8BF7\u5148\u5904\u7406\u5F53\u524D\u8BF7\u6C42\uFF0C\u6216\u8005\u53D1\u9001 /stop \u505C\u6B62\u4EFB\u52A1\u3002")].join(` `));let B=UH(t,o,i);if(!B)return co(D("\u5F53\u524D\u804A\u5929\u6CA1\u6709\u7ED1\u5B9A\u4F1A\u8BDD\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u5148\u7ED1\u5B9A\u4F1A\u8BDD\u3002"));if(typeof B.steerActiveTurn!="function")throw new TypeError("Harness session does not support steering active turns");let f=await B.steerActiveTurn(d,r,LH(e));return co(f?D("\u5DF2\u63D0\u4EA4\u8865\u5145\u6307\u4EE4\uFF0CAgent \u4F1A\u5728\u4E0B\u4E00\u6B65\u8BFB\u53D6\u3002"):D("\u4EFB\u52A1\u5DF2\u7ED3\u675F\uFF0C\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u4EFB\u52A1\uFF0C\u65E0\u6CD5\u8865\u5145\u6307\u4EE4\u3002\u8BF7\u76F4\u63A5\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u65B0\u4EFB\u52A1\u3002"))}import{realpath as xH,stat as YH}from"node:fs/promises";import{isAbsolute as jH,resolve as Sce}from"node:path";var Dce=/^\/workspace(?:\s+([\s\S]+))?$/i,wce=/^\/workspacelist(?:\s+([\s\S]+))?$/i,Oce=/^\/sessionlist(?:\s+([\s\S]+))?$/i,bce=/^\/session(?=$|\s)/i,Mce=/^\/session[ \t]+([^\s]+)$/i,_ce=4096,Tce=1800,Nce=256,JH=/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/u,Rce=/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]+/gu,qH="\u7528\u6CD5\uFF1A/session Session ID \u6216\u5F53\u524D\u5DE5\u4F5C\u533A\u5E8F\u53F7\uFF08/session N\uFF09",Fl=["\u7528\u6CD5\uFF1A","/sessionlist \u5217\u51FA\u5F53\u524D\u5DE5\u4F5C\u533A\u4F1A\u8BDD","/sessionlist \u5DE5\u4F5C\u533A\u5E8F\u53F7 \u6309 /workspacelist \u5E8F\u53F7\u5217\u51FA\u4F1A\u8BDD","/sessionlist \u5DE5\u4F5C\u533A\u7EDD\u5BF9\u8DEF\u5F84 \u5217\u51FA\u6307\u5B9A\u5DE5\u4F5C\u533A\u4F1A\u8BDD"].join(` `);function Pt(n,t=[n]){return{handled:!0,message:n,messages:t}}function Ll(n){return typeof n!="string"||n.length>_ce||!jH(n)||JH.test(n)?null:Sce(n)}function df(n){return typeof n!="string"?"":n.replace(Rce," ").replace(/\s+/gu," ").trim()}function HH(n){return typeof n=="string"&&n.length>0&&n.length<=Nce&&!new RegExp("\\p{White_Space}","u").test(n)&&!JH.test(n)}async function Fb(n){let t=await Promise.all(n.map(async o=>{let i=Ll(o);if(!i)return null;try{return(await YH(i)).isDirectory()?Ll(await xH(i)):null}catch{return null}}));return[...new Set(t.filter(Boolean))]}async function Lb(n){if(typeof n!="string"||!jH(n.trim()))return{error:D(`\u5DE5\u4F5C\u533A\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002 {usage}`,{usage:D(Fl)})};let t=Ll(n.trim());if(!t)return{error:D(`\u5DE5\u4F5C\u533A\u8DEF\u5F84\u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u7B26\u6216\u957F\u5EA6\u8D85\u8FC7\u9650\u5236\u3002 @@ -318,7 +318,7 @@ ${i.length>0?i.join(` `,resources:[]};let a=[];e.topic&&a.push(e.topic);for(let A of(i=e.options)!==null&&i!==void 0?i:[])a.push(`\u2022 ${A}`);return{content:` ${a.join(` `)} -`,resources:[]}}),t_e=new Map([["text",ZMe],["post",jMe],["image",FMe],["file",vMe],["audio",TMe],["video",$8],["media",$8],["sticker",VMe],["interactive",UMe],["merge_forward",KMe],["share_chat",qMe],["share_user",zMe],["location",HMe],["system",WMe],["vote",A_e],["todo",XMe],["calendar",NMe],["general_calendar",RMe],["share_calendar_event",kMe],["folder",PMe],["hongbao",GMe],["video_chat",e_e]]);function ez(n,t,o){var i;return h(this,void 0,void 0,function*(){let e=(i=t_e.get(t))!==null&&i!==void 0?i:X8;try{return yield e(n,o)}catch{return X8(n)}})}function Qz(n,t){var o,i,e,a,A,r,s,g,c,I,d,B;let f=(i=(o=n.context)===null||o===void 0?void 0:o.open_message_id)!==null&&i!==void 0?i:n.open_message_id,Q=(a=(e=n.context)===null||e===void 0?void 0:e.open_chat_id)!==null&&a!==void 0?a:n.open_chat_id,y=(A=n.operator)===null||A===void 0?void 0:A.open_id;return!f||!Q||!y?null:{messageId:f,chatId:Q,operator:{openId:y,userId:(r=n.operator)===null||r===void 0?void 0:r.user_id,name:(s=n.operator)===null||s===void 0?void 0:s.name},action:{value:(g=n.action)===null||g===void 0?void 0:g.value,tag:(I=(c=n.action)===null||c===void 0?void 0:c.tag)!==null&&I!==void 0?I:"unknown",name:(d=n.action)===null||d===void 0?void 0:d.name,option:(B=n.action)===null||B===void 0?void 0:B.option},raw:t?.includeRaw?n:void 0}}function fk(n,t,o){var i,e,a,A;let r=n.message_id,s=(i=n.reaction_type)===null||i===void 0?void 0:i.emoji_type,g=(e=n.user_id)===null||e===void 0?void 0:e.open_id;if(!r||!s||!g)return null;let c=n.action_time,I=c?parseInt(c,10):void 0;return{messageId:r,operator:{openId:g,userId:(A=(a=n.user_id)===null||a===void 0?void 0:a.user_id)!==null&&A!==void 0?A:void 0},emojiType:s,action:t,actionTime:I!=null&&Number.isFinite(I)?I:void 0,raw:o?.includeRaw?n:void 0}}function yz(n,t){var o,i,e,a,A,r,s,g,c;let I=n.chat_id,d=(o=n.operator_id)===null||o===void 0?void 0:o.open_id;if(!I||!d)return null;let B=(r=(a=(i=n.name)!==null&&i!==void 0?i:(e=n.i18n_names)===null||e===void 0?void 0:e.zh_cn)!==null&&a!==void 0?a:(A=n.i18n_names)===null||A===void 0?void 0:A.en_us)!==null&&r!==void 0?r:(s=n.i18n_names)===null||s===void 0?void 0:s.ja_jp;return{chatId:I,operator:{openId:d,userId:(c=(g=n.operator_id)===null||g===void 0?void 0:g.user_id)!==null&&c!==void 0?c:void 0},botName:B,external:n.external,raw:t?.includeRaw?n:void 0}}function mz(n,t){var o,i,e,a,A,r,s,g,c,I,d,B,f;let Q=(o=n.file_token)!==null&&o!==void 0?o:(i=n.notice_meta)===null||i===void 0?void 0:i.file_token,y=(e=n.file_type)!==null&&e!==void 0?e:(a=n.notice_meta)===null||a===void 0?void 0:a.file_type,m=n.comment_id,_=(r=(A=n.notice_meta)===null||A===void 0?void 0:A.from_user_id)!==null&&r!==void 0?r:n.user_id,N=_?.open_id;if(!Q||!y||!m||!N)return null;let G=(c=(s=n.create_time)!==null&&s!==void 0?s:(g=n.notice_meta)===null||g===void 0?void 0:g.timestamp)!==null&&c!==void 0?c:n.action_time,Y=G?parseInt(G,10):Date.now();return{fileToken:Q,fileType:y,commentId:m,replyId:n.reply_id,operator:{openId:N,userId:(I=_?.user_id)!==null&&I!==void 0?I:void 0,unionId:_?.union_id},mentionedBot:!!((f=(d=n.is_mentioned)!==null&&d!==void 0?d:(B=n.notice_meta)===null||B===void 0?void 0:B.is_mentioned)!==null&&f!==void 0?f:n.is_mention),timestamp:Number.isFinite(Y)?Y:Date.now(),raw:t?.includeRaw?n:void 0}}function Sz(n,t){var o,i,e,a,A;return h(this,void 0,void 0,function*(){let r=n.message,s=(o=t.botIdentity)===null||o===void 0?void 0:o.openId,{mentions:g,mentionsByOpenId:c,mentionList:I,mentionAll:d,mentionedBot:B}=mMe(r.mentions,s),f=d||r_e(r.content),Q={messageId:r.message_id,botOpenId:s,mentions:g,mentionsByOpenId:c,stripBotMentions:(i=t.stripBotMentions)!==null&&i!==void 0?i:!0,fetchSubMessages:t.fetchSubMessages,resolveUserName:t.resolveUserName,batchResolveNames:t.batchResolveNames,dispatch:ez},{content:y,resources:m}=yield ez(r.content,r.message_type,Q),_=SMe(y,Q),N=n.sender.sender_id.open_id,G=(a=(e=n.sender.sender_id.user_id)!==null&&e!==void 0?e:n.sender.sender_id.union_id)!==null&&a!==void 0?a:"",Y=N??G,j=N?(A=t.resolveSenderName)===null||A===void 0?void 0:A.call(t,N):void 0,H=r.create_time?parseInt(r.create_time,10):0;return{messageId:r.message_id,chatId:r.chat_id,chatType:r.chat_type,senderId:Y,senderName:j,content:_,rawContentType:r.message_type,resources:m,mentions:I,mentionAll:f,mentionedBot:B,rootId:r.root_id,threadId:r.thread_id,replyToMessageId:r.parent_id,createTime:Number.isFinite(H)?H:0,raw:t.includeRaw?n:void 0}})}function r_e(n){return n?/@_all\b/.test(n):!1}var Fy=class{constructor(t){var o,i,e,a,A,r,s;this.handlers={},this.connected=!1,this.opts=t,this.logger=new Xg((o=t.loggerLevel)!==null&&o!==void 0?o:ji.info,(i=t.logger)!==null&&i!==void 0?i:Zs),this.rawClient=new _y({appId:t.appId,appSecret:t.appSecret,domain:(e=t.domain)!==null&&e!==void 0?e:zn.Feishu,cache:t.cache,httpInstance:t.httpInstance,logger:t.logger,loggerLevel:t.loggerLevel,source:t.source,extraUaTags:["channel"]}),this.dispatcher=new Ny({verificationToken:(a=t.webhook)===null||a===void 0?void 0:a.verificationToken,encryptKey:(A=t.webhook)===null||A===void 0?void 0:A.encryptKey,cache:t.cache,logger:t.logger,loggerLevel:t.loggerLevel}),this.sender=new pk(this.rawClient,(r=t.outbound)!==null&&r!==void 0?r:{},this.logger),this.safety=new Bk({config:t.safety,policy:t.policy,cache:(s=t.cache)!==null&&s!==void 0?s:wC,logger:this.logger,onReject:g=>{var c,I;(I=(c=this.handlers).reject)===null||I===void 0||I.call(c,g)},onMessage:g=>h(this,void 0,void 0,function*(){let c=this.handlers.message;c&&(yield c(g))})})}connect(){return h(this,void 0,void 0,function*(){return this.connectPromise?this.connectPromise:(this.connectPromise=this.doConnect().catch(t=>{throw this.connectPromise=void 0,t}),this.connectPromise)})}doConnect(){var t;return h(this,void 0,void 0,function*(){this.botIdentity=yield this.fetchBotIdentity(),this.safety.setBotIdentity(this.botIdentity),this.registerDispatcherHandlers(),((t=this.opts.transport)!==null&&t!==void 0?t:"websocket")==="websocket"&&(yield this.connectWebSocket(15e3)),this.connected=!0})}connectWebSocket(t){return new Promise((o,i)=>{var e;let a=!1,A=setTimeout(()=>{a||(a=!0,i(new Rt("not_connected",`WebSocket handshake did not complete within ${t}ms`)))},t);this.rawWsClient=new ky({appId:this.opts.appId,appSecret:this.opts.appSecret,domain:(e=this.opts.domain)!==null&&e!==void 0?e:zn.Feishu,logger:this.opts.logger,loggerLevel:this.opts.loggerLevel,httpInstance:this.opts.httpInstance,autoReconnect:!0,source:this.opts.source,extraUaTags:["channel"],agent:this.opts.agent,wsConfig:this.opts.wsConfig,handshakeTimeoutMs:this.opts.handshakeTimeoutMs,onReady:()=>{a||(a=!0,clearTimeout(A),o())},onError:r=>{a||(a=!0,clearTimeout(A),i(new Rt("not_connected",`WebSocket connect failed: ${r.message}`,{cause:r})))},onReconnecting:()=>{var r,s;return(s=(r=this.handlers).reconnecting)===null||s===void 0?void 0:s.call(r)},onReconnected:()=>{var r,s;return(s=(r=this.handlers).reconnected)===null||s===void 0?void 0:s.call(r)}}),this.rawWsClient.start({eventDispatcher:this.dispatcher})})}disconnect(){var t;return h(this,void 0,void 0,function*(){if(this.connected){try{(t=this.rawWsClient)===null||t===void 0||t.close({})}catch{}try{yield this.safety.dispose()}catch{}this.connected=!1,this.connectPromise=void 0}})}getConnectionStatus(){var t;return(t=this.rawWsClient)===null||t===void 0?void 0:t.getConnectionStatus()}on(t,o){if(typeof t=="string")return this.attachSingle(t,o);let i=[];return Object.keys(t).forEach(e=>{let a=t[e];a&&i.push(this.attachSingle(e,a))}),()=>i.forEach(e=>e())}attachSingle(t,o){return this.handlers[t]&&this.logger.warn(`channel: handler for "${t}" is being overwritten`),this.handlers[t]=o,()=>{this.handlers[t]===o&&delete this.handlers[t]}}send(t,o,i){return h(this,void 0,void 0,function*(){return this.sender.send(t,o,i)})}stream(t,o,i){return h(this,void 0,void 0,function*(){return this.sender.stream(t,o,i)})}updateCard(t,o){return h(this,void 0,void 0,function*(){yield this.sender.patchCard(t,o)})}editMessage(t,o){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.message.update({path:{message_id:t},data:{msg_type:"text",content:JSON.stringify({text:o})}})})}recallMessage(t){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.message.delete({path:{message_id:t}})})}addReaction(t,o){var i,e;return h(this,void 0,void 0,function*(){let a=yield this.rawClient.im.v1.messageReaction.create({path:{message_id:t},data:{reaction_type:{emoji_type:o}}}),A=(e=(i=a?.data)===null||i===void 0?void 0:i.reaction_id)!==null&&e!==void 0?e:a?.reaction_id;if(!A)throw new Rt("unknown","messageReaction.create returned no reaction_id");return A})}removeReaction(t,o){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.messageReaction.delete({path:{message_id:t,reaction_id:o}})})}removeReactionByEmoji(t,o){var i,e;return h(this,void 0,void 0,function*(){let a=yield this.rawClient.im.v1.messageReaction.list({path:{message_id:t},params:{reaction_type:o,page_size:50}}),r=((e=(i=a?.data)===null||i===void 0?void 0:i.items)!==null&&e!==void 0?e:[]).find(s=>{var g;return((g=s.operator)===null||g===void 0?void 0:g.operator_type)==="app"});return r?.reaction_id?(yield this.removeReaction(t,r.reaction_id),!0):!1})}downloadResource(t,o){return h(this,void 0,void 0,function*(){if(o==="image"){let e=yield this.rawClient.im.v1.image.get({path:{image_key:t}});return yield Az(e)}let i=yield this.rawClient.im.v1.file.get({path:{file_key:t}});return yield Az(i)})}getChatInfo(t){var o,i;return h(this,void 0,void 0,function*(){let a=(o=(yield this.rawClient.im.v1.chat.get({path:{chat_id:t}})).data)!==null&&o!==void 0?o:{};return{chatId:t,name:a.name,description:a.description,chatType:(i=a.chat_mode)!==null&&i!==void 0?i:"group",ownerId:a.owner_id,memberCount:a.user_count}})}getChatMode(t){var o;return h(this,void 0,void 0,function*(){let e=(o=(yield this.rawClient.im.v1.chat.get({path:{chat_id:t}})).data)===null||o===void 0?void 0:o.chat_mode;return e==="p2p"?"p2p":e==="topic"?"topic":"group"})}updatePolicy(t){this.safety.updatePolicy(t)}getPolicy(){return this.safety.getPolicy()}fetchBotIdentity(){var t;return h(this,void 0,void 0,function*(){let o;try{let a=yield this.rawClient.request({url:"/open-apis/bot/v3/info",method:"GET"}),A=a.bot;if(A?.open_id)return{openId:A.open_id,name:(t=A.app_name)!==null&&t!==void 0?t:"bot"};o=new Error(`bot/v3/info response missing open_id: ${JSON.stringify(a).slice(0,200)}`)}catch(a){o=a}let i=Mk(o),e=i.code==="unknown"?"not_connected":i.code;throw new Rt(e,"could not resolve bot identity via /open-apis/bot/v3/info \u2014 required for channel to function",{cause:o})})}registerDispatcherHandlers(){var t,o;let i=A=>h(this,void 0,void 0,function*(){var r,s,g,c;try{return(s=(r=(yield this.rawClient.im.v1.message.get({path:{message_id:A}})).data)===null||r===void 0?void 0:r.items)!==null&&s!==void 0?s:[]}catch(I){return(c=(g=this.logger).warn)===null||c===void 0||c.call(g,"channel: fetchSubMessages failed",I),[]}}),e=(o=(t=this.opts.includeRawEvent)!==null&&t!==void 0?t:this.opts.includeRawInMessage)!==null&&o!==void 0?o:!1,a={botIdentity:this.botIdentity,stripBotMentions:!0,includeRaw:e,fetchSubMessages:i};this.dispatcher.register({"im.message.receive_v1":A=>h(this,void 0,void 0,function*(){try{let r=yield Sz(A,a);yield this.safety.pushMessage(r)}catch(r){this.emitError(r)}}),"card.action.trigger":A=>h(this,void 0,void 0,function*(){let r=Qz(A,{includeRaw:e});if(!r)return;let s=o_e(r.action);yield this.safety.pushAction(`card:${r.messageId}:${r.operator.openId}:${s}`,r.chatId,()=>h(this,void 0,void 0,function*(){let g=this.handlers.cardAction;g&&(yield g(r))}))}),"im.message.reaction.created_v1":A=>h(this,void 0,void 0,function*(){let r=fk(A,"added",{includeRaw:e});if(!r)return;let s=tz(r);yield this.safety.pushLight(s,()=>{var g,c;return(c=(g=this.handlers).reaction)===null||c===void 0?void 0:c.call(g,r)})}),"im.message.reaction.deleted_v1":A=>h(this,void 0,void 0,function*(){let r=fk(A,"removed",{includeRaw:e});if(!r)return;let s=tz(r);yield this.safety.pushLight(s,()=>{var g,c;return(c=(g=this.handlers).reaction)===null||c===void 0?void 0:c.call(g,r)})}),"im.chat.member.bot.added_v1":A=>{var r,s;let g=yz(A,{includeRaw:e});if(g)try{(s=(r=this.handlers).botAdded)===null||s===void 0||s.call(r,g)}catch(c){this.emitError(c)}},"drive.notice.comment_add_v1":A=>h(this,void 0,void 0,function*(){var r;let s=mz(A,{includeRaw:e});s&&(yield this.safety.pushAction(`comment:${s.fileToken}:${s.commentId}:${(r=s.replyId)!==null&&r!==void 0?r:""}`,s.fileToken,()=>h(this,void 0,void 0,function*(){let g=this.handlers.comment;g&&(yield g(s))})))})})}emitError(t){var o,i,e;let a=t instanceof Rt?t:new Rt("unknown",String((o=t?.message)!==null&&o!==void 0?o:t),{cause:t}),A=this.handlers.error;A?A(a):(e=(i=this.logger).error)===null||e===void 0||e.call(i,"channel: unhandled error",a)}};function a_e(n){return new Fy(n)}function Az(n){return h(this,void 0,void 0,function*(){if(Buffer.isBuffer(n))return n;if(n instanceof Uint8Array)return Buffer.from(n);if(typeof n=="object"&&n!==null){let t=n;if(typeof t.getReadableStream=="function")return yield i_e(t.getReadableStream());if(Buffer.isBuffer(t.data))return t.data;if(t.data instanceof Uint8Array)return Buffer.from(t.data)}throw new Rt("unknown","unexpected download response type")})}function i_e(n){return new Promise((t,o)=>{let i=[];n.on("data",e=>{i.push(Buffer.isBuffer(e)?e:Buffer.from(e))}),n.on("end",()=>t(Buffer.concat(i))),n.on("error",o)})}function tz(n){var t;return`rx:${n.messageId}:${n.operator.openId}:${n.emojiType}:${n.action}:${(t=n.actionTime)!==null&&t!==void 0?t:0}`}function o_e(n){var t,o,i;let e=typeof n.value=="string"?n.value:JSON.stringify((t=n.value)!==null&&t!==void 0?t:""),a=e.length>128?e.slice(0,128):e;return`${n.tag}|${(o=n.name)!==null&&o!==void 0?o:""}|${(i=n.option)!==null&&i!==void 0?i:""}|${a}`}var CV=ze(N_(),1);var Dz=Object.freeze([250,1e3,3e3,5e3,1e4,3e4]);function wz(n,t){return Number.isFinite(n)&&n>=0?n:t}function n_e(n){if(!Array.isArray(n)||n.length===0)return[...Dz];let t=n.map(o=>wz(o,-1)).filter(o=>o>=0);return t.length>0?t:[...Dz]}function s_e(n){let t=Number.isInteger(n?.totals?.configured)?n.totals.configured:Array.isArray(n?.bots)?n.bots.length:0,o=Number.isInteger(n?.totals?.connected)?n.totals.connected:Array.isArray(n?.bots)?n.bots.filter(i=>i?.connected===!0).length:0;return{configured:t,connected:o}}var Uy=class{#e;#A;#t;#r;#a;#i;#c;#s=null;#I=null;#o=0;#n=!1;#g=!1;#l;#p;constructor({controller:t,harness:o,logger:i=console,retryDelaysMs:e,healthyIntervalMs:a=15e3,setTimeoutImpl:A=setTimeout,clearTimeoutImpl:r=clearTimeout}){if(!t||typeof t.initialize!="function"||typeof t.status!="function")throw new TypeError("ConnectionSupervisor requires a controller");if(!o||typeof o.ensureRunning!="function")throw new TypeError("ConnectionSupervisor requires a Harness client");this.#e=t,this.#A=o,this.#t=i,this.#r=n_e(e),this.#a=wz(a,15e3),this.#i=A,this.#c=r,this.#l=new Promise(s=>{this.#p=s})}get ready(){return this.#l}start(){return this.#n||this.#g?this:(this.#n=!0,this.#d(0),this)}async close(){this.#g||(this.#g=!0,this.#s!==null&&(this.#c(this.#s),this.#s=null),await this.#I?.catch(()=>{}),this.#p?.(null),this.#p=null)}#d(t){this.#g||(this.#s=this.#i(()=>{this.#s=null,this.#h()},t),this.#s?.unref?.())}async#h(){if(this.#g||this.#I)return;let t=this.#E();this.#I=t;try{await t}finally{this.#I===t&&(this.#I=null)}}async#E(){try{await this.#A.ensureRunning()}catch(t){if(this.#g)return;this.#u("Harness Host is not ready",t);return}if(!this.#g)try{if(await this.#e.initialize(),this.#g)return;let t=await this.#e.status();this.#p?.(t),this.#p=null;let o=s_e(t);if(o.connected`,resources:[]}}),t_e=new Map([["text",ZMe],["post",jMe],["image",FMe],["file",vMe],["audio",TMe],["video",$8],["media",$8],["sticker",VMe],["interactive",UMe],["merge_forward",KMe],["share_chat",qMe],["share_user",zMe],["location",HMe],["system",WMe],["vote",A_e],["todo",XMe],["calendar",NMe],["general_calendar",RMe],["share_calendar_event",kMe],["folder",PMe],["hongbao",GMe],["video_chat",e_e]]);function ez(n,t,o){var i;return h(this,void 0,void 0,function*(){let e=(i=t_e.get(t))!==null&&i!==void 0?i:X8;try{return yield e(n,o)}catch{return X8(n)}})}function Qz(n,t){var o,i,e,a,A,r,s,g,c,I,d,B;let f=(i=(o=n.context)===null||o===void 0?void 0:o.open_message_id)!==null&&i!==void 0?i:n.open_message_id,Q=(a=(e=n.context)===null||e===void 0?void 0:e.open_chat_id)!==null&&a!==void 0?a:n.open_chat_id,y=(A=n.operator)===null||A===void 0?void 0:A.open_id;return!f||!Q||!y?null:{messageId:f,chatId:Q,operator:{openId:y,userId:(r=n.operator)===null||r===void 0?void 0:r.user_id,name:(s=n.operator)===null||s===void 0?void 0:s.name},action:{value:(g=n.action)===null||g===void 0?void 0:g.value,tag:(I=(c=n.action)===null||c===void 0?void 0:c.tag)!==null&&I!==void 0?I:"unknown",name:(d=n.action)===null||d===void 0?void 0:d.name,option:(B=n.action)===null||B===void 0?void 0:B.option},raw:t?.includeRaw?n:void 0}}function fk(n,t,o){var i,e,a,A;let r=n.message_id,s=(i=n.reaction_type)===null||i===void 0?void 0:i.emoji_type,g=(e=n.user_id)===null||e===void 0?void 0:e.open_id;if(!r||!s||!g)return null;let c=n.action_time,I=c?parseInt(c,10):void 0;return{messageId:r,operator:{openId:g,userId:(A=(a=n.user_id)===null||a===void 0?void 0:a.user_id)!==null&&A!==void 0?A:void 0},emojiType:s,action:t,actionTime:I!=null&&Number.isFinite(I)?I:void 0,raw:o?.includeRaw?n:void 0}}function yz(n,t){var o,i,e,a,A,r,s,g,c;let I=n.chat_id,d=(o=n.operator_id)===null||o===void 0?void 0:o.open_id;if(!I||!d)return null;let B=(r=(a=(i=n.name)!==null&&i!==void 0?i:(e=n.i18n_names)===null||e===void 0?void 0:e.zh_cn)!==null&&a!==void 0?a:(A=n.i18n_names)===null||A===void 0?void 0:A.en_us)!==null&&r!==void 0?r:(s=n.i18n_names)===null||s===void 0?void 0:s.ja_jp;return{chatId:I,operator:{openId:d,userId:(c=(g=n.operator_id)===null||g===void 0?void 0:g.user_id)!==null&&c!==void 0?c:void 0},botName:B,external:n.external,raw:t?.includeRaw?n:void 0}}function mz(n,t){var o,i,e,a,A,r,s,g,c,I,d,B,f;let Q=(o=n.file_token)!==null&&o!==void 0?o:(i=n.notice_meta)===null||i===void 0?void 0:i.file_token,y=(e=n.file_type)!==null&&e!==void 0?e:(a=n.notice_meta)===null||a===void 0?void 0:a.file_type,m=n.comment_id,_=(r=(A=n.notice_meta)===null||A===void 0?void 0:A.from_user_id)!==null&&r!==void 0?r:n.user_id,N=_?.open_id;if(!Q||!y||!m||!N)return null;let G=(c=(s=n.create_time)!==null&&s!==void 0?s:(g=n.notice_meta)===null||g===void 0?void 0:g.timestamp)!==null&&c!==void 0?c:n.action_time,Y=G?parseInt(G,10):Date.now();return{fileToken:Q,fileType:y,commentId:m,replyId:n.reply_id,operator:{openId:N,userId:(I=_?.user_id)!==null&&I!==void 0?I:void 0,unionId:_?.union_id},mentionedBot:!!((f=(d=n.is_mentioned)!==null&&d!==void 0?d:(B=n.notice_meta)===null||B===void 0?void 0:B.is_mentioned)!==null&&f!==void 0?f:n.is_mention),timestamp:Number.isFinite(Y)?Y:Date.now(),raw:t?.includeRaw?n:void 0}}function Sz(n,t){var o,i,e,a,A;return h(this,void 0,void 0,function*(){let r=n.message,s=(o=t.botIdentity)===null||o===void 0?void 0:o.openId,{mentions:g,mentionsByOpenId:c,mentionList:I,mentionAll:d,mentionedBot:B}=mMe(r.mentions,s),f=d||r_e(r.content),Q={messageId:r.message_id,botOpenId:s,mentions:g,mentionsByOpenId:c,stripBotMentions:(i=t.stripBotMentions)!==null&&i!==void 0?i:!0,fetchSubMessages:t.fetchSubMessages,resolveUserName:t.resolveUserName,batchResolveNames:t.batchResolveNames,dispatch:ez},{content:y,resources:m}=yield ez(r.content,r.message_type,Q),_=SMe(y,Q),N=n.sender.sender_id.open_id,G=(a=(e=n.sender.sender_id.user_id)!==null&&e!==void 0?e:n.sender.sender_id.union_id)!==null&&a!==void 0?a:"",Y=N??G,j=N?(A=t.resolveSenderName)===null||A===void 0?void 0:A.call(t,N):void 0,H=r.create_time?parseInt(r.create_time,10):0;return{messageId:r.message_id,chatId:r.chat_id,chatType:r.chat_type,senderId:Y,senderName:j,content:_,rawContentType:r.message_type,resources:m,mentions:I,mentionAll:f,mentionedBot:B,rootId:r.root_id,threadId:r.thread_id,replyToMessageId:r.parent_id,createTime:Number.isFinite(H)?H:0,raw:t.includeRaw?n:void 0}})}function r_e(n){return n?/@_all\b/.test(n):!1}var Fy=class{constructor(t){var o,i,e,a,A,r,s;this.handlers={},this.connected=!1,this.opts=t,this.logger=new Xg((o=t.loggerLevel)!==null&&o!==void 0?o:ji.info,(i=t.logger)!==null&&i!==void 0?i:Zs),this.rawClient=new _y({appId:t.appId,appSecret:t.appSecret,domain:(e=t.domain)!==null&&e!==void 0?e:zn.Feishu,cache:t.cache,httpInstance:t.httpInstance,logger:t.logger,loggerLevel:t.loggerLevel,source:t.source,extraUaTags:["channel"]}),this.dispatcher=new Ny({verificationToken:(a=t.webhook)===null||a===void 0?void 0:a.verificationToken,encryptKey:(A=t.webhook)===null||A===void 0?void 0:A.encryptKey,cache:t.cache,logger:t.logger,loggerLevel:t.loggerLevel}),this.sender=new pk(this.rawClient,(r=t.outbound)!==null&&r!==void 0?r:{},this.logger),this.safety=new Bk({config:t.safety,policy:t.policy,cache:(s=t.cache)!==null&&s!==void 0?s:wC,logger:this.logger,onReject:g=>{var c,I;(I=(c=this.handlers).reject)===null||I===void 0||I.call(c,g)},onMessage:g=>h(this,void 0,void 0,function*(){let c=this.handlers.message;c&&(yield c(g))})})}connect(){return h(this,void 0,void 0,function*(){return this.connectPromise?this.connectPromise:(this.connectPromise=this.doConnect().catch(t=>{throw this.connectPromise=void 0,t}),this.connectPromise)})}doConnect(){var t;return h(this,void 0,void 0,function*(){this.botIdentity=yield this.fetchBotIdentity(),this.safety.setBotIdentity(this.botIdentity),this.registerDispatcherHandlers(),((t=this.opts.transport)!==null&&t!==void 0?t:"websocket")==="websocket"&&(yield this.connectWebSocket(15e3)),this.connected=!0})}connectWebSocket(t){return new Promise((o,i)=>{var e;let a=!1,A=setTimeout(()=>{a||(a=!0,i(new Rt("not_connected",`WebSocket handshake did not complete within ${t}ms`)))},t);this.rawWsClient=new ky({appId:this.opts.appId,appSecret:this.opts.appSecret,domain:(e=this.opts.domain)!==null&&e!==void 0?e:zn.Feishu,logger:this.opts.logger,loggerLevel:this.opts.loggerLevel,httpInstance:this.opts.httpInstance,autoReconnect:!0,source:this.opts.source,extraUaTags:["channel"],agent:this.opts.agent,wsConfig:this.opts.wsConfig,handshakeTimeoutMs:this.opts.handshakeTimeoutMs,onReady:()=>{a||(a=!0,clearTimeout(A),o())},onError:r=>{a||(a=!0,clearTimeout(A),i(new Rt("not_connected",`WebSocket connect failed: ${r.message}`,{cause:r})))},onReconnecting:()=>{var r,s;return(s=(r=this.handlers).reconnecting)===null||s===void 0?void 0:s.call(r)},onReconnected:()=>{var r,s;return(s=(r=this.handlers).reconnected)===null||s===void 0?void 0:s.call(r)}}),this.rawWsClient.start({eventDispatcher:this.dispatcher})})}disconnect(){var t;return h(this,void 0,void 0,function*(){if(this.connected){try{(t=this.rawWsClient)===null||t===void 0||t.close({})}catch{}try{yield this.safety.dispose()}catch{}this.connected=!1,this.connectPromise=void 0}})}getConnectionStatus(){var t;return(t=this.rawWsClient)===null||t===void 0?void 0:t.getConnectionStatus()}on(t,o){if(typeof t=="string")return this.attachSingle(t,o);let i=[];return Object.keys(t).forEach(e=>{let a=t[e];a&&i.push(this.attachSingle(e,a))}),()=>i.forEach(e=>e())}attachSingle(t,o){return this.handlers[t]&&this.logger.warn(`channel: handler for "${t}" is being overwritten`),this.handlers[t]=o,()=>{this.handlers[t]===o&&delete this.handlers[t]}}send(t,o,i){return h(this,void 0,void 0,function*(){return this.sender.send(t,o,i)})}stream(t,o,i){return h(this,void 0,void 0,function*(){return this.sender.stream(t,o,i)})}updateCard(t,o){return h(this,void 0,void 0,function*(){yield this.sender.patchCard(t,o)})}editMessage(t,o){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.message.update({path:{message_id:t},data:{msg_type:"text",content:JSON.stringify({text:o})}})})}recallMessage(t){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.message.delete({path:{message_id:t}})})}addReaction(t,o){var i,e;return h(this,void 0,void 0,function*(){let a=yield this.rawClient.im.v1.messageReaction.create({path:{message_id:t},data:{reaction_type:{emoji_type:o}}}),A=(e=(i=a?.data)===null||i===void 0?void 0:i.reaction_id)!==null&&e!==void 0?e:a?.reaction_id;if(!A)throw new Rt("unknown","messageReaction.create returned no reaction_id");return A})}removeReaction(t,o){return h(this,void 0,void 0,function*(){yield this.rawClient.im.v1.messageReaction.delete({path:{message_id:t,reaction_id:o}})})}removeReactionByEmoji(t,o){var i,e;return h(this,void 0,void 0,function*(){let a=yield this.rawClient.im.v1.messageReaction.list({path:{message_id:t},params:{reaction_type:o,page_size:50}}),r=((e=(i=a?.data)===null||i===void 0?void 0:i.items)!==null&&e!==void 0?e:[]).find(s=>{var g;return((g=s.operator)===null||g===void 0?void 0:g.operator_type)==="app"});return r?.reaction_id?(yield this.removeReaction(t,r.reaction_id),!0):!1})}downloadResource(t,o){return h(this,void 0,void 0,function*(){if(o==="image"){let e=yield this.rawClient.im.v1.image.get({path:{image_key:t}});return yield Az(e)}let i=yield this.rawClient.im.v1.file.get({path:{file_key:t}});return yield Az(i)})}getChatInfo(t){var o,i;return h(this,void 0,void 0,function*(){let a=(o=(yield this.rawClient.im.v1.chat.get({path:{chat_id:t}})).data)!==null&&o!==void 0?o:{};return{chatId:t,name:a.name,description:a.description,chatType:(i=a.chat_mode)!==null&&i!==void 0?i:"group",ownerId:a.owner_id,memberCount:a.user_count}})}getChatMode(t){var o;return h(this,void 0,void 0,function*(){let e=(o=(yield this.rawClient.im.v1.chat.get({path:{chat_id:t}})).data)===null||o===void 0?void 0:o.chat_mode;return e==="p2p"?"p2p":e==="topic"?"topic":"group"})}updatePolicy(t){this.safety.updatePolicy(t)}getPolicy(){return this.safety.getPolicy()}fetchBotIdentity(){var t;return h(this,void 0,void 0,function*(){let o;try{let a=yield this.rawClient.request({url:"/open-apis/bot/v3/info",method:"GET"}),A=a.bot;if(A?.open_id)return{openId:A.open_id,name:(t=A.app_name)!==null&&t!==void 0?t:"bot"};o=new Error(`bot/v3/info response missing open_id: ${JSON.stringify(a).slice(0,200)}`)}catch(a){o=a}let i=Mk(o),e=i.code==="unknown"?"not_connected":i.code;throw new Rt(e,"could not resolve bot identity via /open-apis/bot/v3/info \u2014 required for channel to function",{cause:o})})}registerDispatcherHandlers(){var t,o;let i=A=>h(this,void 0,void 0,function*(){var r,s,g,c;try{return(s=(r=(yield this.rawClient.im.v1.message.get({path:{message_id:A}})).data)===null||r===void 0?void 0:r.items)!==null&&s!==void 0?s:[]}catch(I){return(c=(g=this.logger).warn)===null||c===void 0||c.call(g,"channel: fetchSubMessages failed",I),[]}}),e=(o=(t=this.opts.includeRawEvent)!==null&&t!==void 0?t:this.opts.includeRawInMessage)!==null&&o!==void 0?o:!1,a={botIdentity:this.botIdentity,stripBotMentions:!0,includeRaw:e,fetchSubMessages:i};this.dispatcher.register({"im.message.receive_v1":A=>h(this,void 0,void 0,function*(){try{let r=yield Sz(A,a);yield this.safety.pushMessage(r)}catch(r){this.emitError(r)}}),"card.action.trigger":A=>h(this,void 0,void 0,function*(){let r=Qz(A,{includeRaw:e});if(!r)return;let s=o_e(r.action);yield this.safety.pushAction(`card:${r.messageId}:${r.operator.openId}:${s}`,r.chatId,()=>h(this,void 0,void 0,function*(){let g=this.handlers.cardAction;g&&(yield g(r))}))}),"im.message.reaction.created_v1":A=>h(this,void 0,void 0,function*(){let r=fk(A,"added",{includeRaw:e});if(!r)return;let s=tz(r);yield this.safety.pushLight(s,()=>{var g,c;return(c=(g=this.handlers).reaction)===null||c===void 0?void 0:c.call(g,r)})}),"im.message.reaction.deleted_v1":A=>h(this,void 0,void 0,function*(){let r=fk(A,"removed",{includeRaw:e});if(!r)return;let s=tz(r);yield this.safety.pushLight(s,()=>{var g,c;return(c=(g=this.handlers).reaction)===null||c===void 0?void 0:c.call(g,r)})}),"im.chat.member.bot.added_v1":A=>{var r,s;let g=yz(A,{includeRaw:e});if(g)try{(s=(r=this.handlers).botAdded)===null||s===void 0||s.call(r,g)}catch(c){this.emitError(c)}},"drive.notice.comment_add_v1":A=>h(this,void 0,void 0,function*(){var r;let s=mz(A,{includeRaw:e});s&&(yield this.safety.pushAction(`comment:${s.fileToken}:${s.commentId}:${(r=s.replyId)!==null&&r!==void 0?r:""}`,s.fileToken,()=>h(this,void 0,void 0,function*(){let g=this.handlers.comment;g&&(yield g(s))})))})})}emitError(t){var o,i,e;let a=t instanceof Rt?t:new Rt("unknown",String((o=t?.message)!==null&&o!==void 0?o:t),{cause:t}),A=this.handlers.error;A?A(a):(e=(i=this.logger).error)===null||e===void 0||e.call(i,"channel: unhandled error",a)}};function a_e(n){return new Fy(n)}function Az(n){return h(this,void 0,void 0,function*(){if(Buffer.isBuffer(n))return n;if(n instanceof Uint8Array)return Buffer.from(n);if(typeof n=="object"&&n!==null){let t=n;if(typeof t.getReadableStream=="function")return yield i_e(t.getReadableStream());if(Buffer.isBuffer(t.data))return t.data;if(t.data instanceof Uint8Array)return Buffer.from(t.data)}throw new Rt("unknown","unexpected download response type")})}function i_e(n){return new Promise((t,o)=>{let i=[];n.on("data",e=>{i.push(Buffer.isBuffer(e)?e:Buffer.from(e))}),n.on("end",()=>t(Buffer.concat(i))),n.on("error",o)})}function tz(n){var t;return`rx:${n.messageId}:${n.operator.openId}:${n.emojiType}:${n.action}:${(t=n.actionTime)!==null&&t!==void 0?t:0}`}function o_e(n){var t,o,i;let e=typeof n.value=="string"?n.value:JSON.stringify((t=n.value)!==null&&t!==void 0?t:""),a=e.length>128?e.slice(0,128):e;return`${n.tag}|${(o=n.name)!==null&&o!==void 0?o:""}|${(i=n.option)!==null&&i!==void 0?i:""}|${a}`}var CV=ze(N_(),1);var Dz=Object.freeze([250,1e3,3e3,5e3,1e4,3e4]);function wz(n,t){return Number.isFinite(n)&&n>=0?n:t}function n_e(n){if(!Array.isArray(n)||n.length===0)return[...Dz];let t=n.map(o=>wz(o,-1)).filter(o=>o>=0);return t.length>0?t:[...Dz]}function s_e(n){let t=Number.isInteger(n?.totals?.configured)?n.totals.configured:Array.isArray(n?.bots)?n.bots.length:0,o=Number.isInteger(n?.totals?.connected)?n.totals.connected:Array.isArray(n?.bots)?n.bots.filter(i=>i?.connected===!0).length:0;return{configured:t,connected:o}}var Uy=class{#e;#A;#t;#r;#a;#i;#c;#s=null;#I=null;#o=0;#n=!1;#g=!1;#l;#p;constructor({controller:t,harness:o,logger:i=console,retryDelaysMs:e,healthyIntervalMs:a=15e3,setTimeoutImpl:A=setTimeout,clearTimeoutImpl:r=clearTimeout}){if(!t||typeof t.initialize!="function"||typeof t.status!="function")throw new TypeError("ConnectionSupervisor requires a controller");if(!o||typeof o.ensureRunning!="function")throw new TypeError("ConnectionSupervisor requires a Harness client");this.#e=t,this.#A=o,this.#t=i,this.#r=n_e(e),this.#a=wz(a,15e3),this.#i=A,this.#c=r,this.#l=new Promise(s=>{this.#p=s})}get ready(){return this.#l}start(){return this.#n||this.#g?this:(this.#n=!0,this.#d(0),this)}async close(){this.#g||(this.#g=!0,this.#s!==null&&(this.#c(this.#s),this.#s=null),await this.#I?.catch(()=>{}),this.#p?.(null),this.#p=null)}#d(t){this.#g||(this.#s=this.#i(()=>{this.#s=null,this.#h()},t),this.#s?.unref?.())}async#h(){if(this.#g||this.#I)return;let t=this.#E();this.#I=t;try{await t}finally{this.#I===t&&(this.#I=null)}}async#E(){try{await this.#A.ensureRunning()}catch(t){if(this.#g)return;this.#u("Harness Host is not ready",t);return}if(!this.#g)try{if(await this.#e.initialize(),this.#g)return;let t=await this.#e.status();this.#p?.(t),this.#p=null;let o=s_e(t);if(o.connected=0?o:null}async function h_e(n,{signal:t,maxBytes:o}){if(!n||typeof n[Symbol.asyncIterator]!="function")throw new Error("Feishu image download returned no readable stream");t?.throwIfAborted();let i=()=>n.destroy?.(t.reason??new DOMException("Feishu image download aborted","AbortError"));t?.addEventListener("abort",i,{once:!0});let e=[],a=0;try{for await(let A of n){t?.throwIfAborted();let r=Buffer.from(A);if(a+=r.length,a>o)throw n.destroy?.(),new ut("image-too-large",`Feishu image exceeds ${o} bytes`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));e.push(r)}return t?.throwIfAborted(),Buffer.concat(e,a)}finally{t?.removeEventListener("abort",i)}}async function E_e(n,{signal:t}){if(!n||typeof n[Symbol.asyncIterator]!="function")throw new Error("Feishu file download returned no readable stream");t?.throwIfAborted();let o=()=>n.destroy?.(t.reason??new DOMException("Feishu file download aborted","AbortError"));t?.addEventListener("abort",o,{once:!0});let i=[],e=0;try{for await(let a of n){t?.throwIfAborted();let A=Buffer.from(a);e+=A.length,i.push(A)}return t?.throwIfAborted(),Buffer.concat(i,e)}finally{t?.removeEventListener("abort",o)}}function Rk(n){if(!n||typeof n!="object")return null;let t=n.code??n.error?.code;return Number.isSafeInteger(Number(t))?Number(t):null}async function C_e(n,t){if(!n||typeof n[Symbol.asyncIterator]!="function")return null;t?.throwIfAborted();let o=AbortSignal.timeout(c_e),i=t?AbortSignal.any([t,o]):o,e=()=>n.destroy?.(i.reason);i.addEventListener("abort",e,{once:!0});let a=[],A=0;try{for await(let r of n){let s=Buffer.from(r);if(A+=s.length,A>g_e)return n.destroy?.(),null;a.push(s)}return Buffer.concat(a,A).toString("utf8")}catch{return t?.throwIfAborted(),null}finally{i.removeEventListener("abort",e)}}async function u_e(n,t){let o=[n],i=new Set;for(;o.length>0&&i.size<8;){let e=o.shift();if(!e||typeof e!="object"&&typeof e!="function"||i.has(e))continue;i.add(e);let a=Rk(e),A=e.response?.data??e.data;if(a===Hy)return A?.destroy?.(),a;if(A&&typeof A[Symbol.asyncIterator]=="function"){let r=await C_e(A,t);try{let s=Rk(JSON.parse(r));if(s===Hy)return s}catch{}}else{let r=Rk(A);if(r===Hy)return r}o.push(e.cause)}return null}async function B_e(n,t){return await u_e(n,t)!==Hy?n:new ut("feishu-image-permission-required","Feishu image download requires the im:message:readonly tenant scope",D(I_e),{cause:n})}function f_e(n,t,o){return{async load({signal:i,maxBytes:e}){i?.throwIfAborted();let a;try{a=await t?.im?.v1?.messageResource?.get?.({path:{message_id:n.message.message_id,file_key:o},params:{type:"image"}})}catch(r){throw await B_e(r,i)}i?.throwIfAborted();let A=d_e(a?.headers);if(A!==null&&A>e)throw a?.getReadableStream?.().destroy?.(),new ut("image-too-large",`Feishu image declares ${A} bytes; the limit is ${e}`,D("\u56FE\u7247\u8D85\u8FC7 5 MB\uFF0C\u8BF7\u538B\u7F29\u540E\u91CD\u8BD5\u3002"));return h_e(a?.getReadableStream?.(),{signal:i,maxBytes:e})}}}function Q_e(n,t,o){let i=qp(o?.file_key);return i?{name:qp(o?.file_name)??"file",async load({signal:e}={}){e?.throwIfAborted();let a=await t?.im?.v1?.messageResource?.get?.({path:{message_id:n.message.message_id,file_key:i},params:{type:"file"}});return e?.throwIfAborted(),E_e(a?.getReadableStream?.(),{signal:e})}}:null}function Pk(n,t){let o=n?.message?.message_type,i=vk(n),e=l_e(n,i),a=o==="image"?qp(i?.image_key):null,A=a?[a]:e?.imageKeys??[],r=o==="file"?Q_e(n,t,i):null;return{content:o==="text"?zp(n)??"":e?.text??"",images:A.map(s=>f_e(n,t,s)),files:r?[r]:[]}}function Tz(n,t=9e3){if(n.length<=t)return[n];let o=[],i=n;for(;i.length>t;){let e=i.lastIndexOf(` `,t);ei.value===t);return o>=0?o+1:0}function MC(n){return String(n??"").replace(/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]+/gu," ").replace(/\s+/gu," ").trim()||D("\u6682\u65E0\u6807\u9898")}function wo(n,t){return JSON.stringify({schema:"2.0",header:{title:Yy(n),template:"blue"},body:{elements:t}})}function RI(){return Vn(D("\u{1F519} \u8FD4\u56DE\u83DC\u5355"),"back_to_menu")}function kz(n){let{workspaces:t=[],currentWorkspace:o=null,currentSession:i=null,sessions:e=[],archiveVisible:a=!1,presetCatalog:A=null,modelCatalog:r=null}=n||{},s=i?.id??null,g=i?.title??n?.currentSessionTitle??null,c=(Array.isArray(e)?e:[]).slice(0,20),I=c.length>0,d=Array.isArray(t)&&t.length>0,B=[];B.push({tag:"div",text:Ct(D("**\u8BBE\u7F6E**"))});let f=null;if(I){let k=c.map(W=>({text:{tag:"plain_text",content:`${W.id===s?"\u2713 ":""}${MC(W.title)}`},value:W.id}));f={tag:"select_static",name:"session_pick",placeholder:{tag:"plain_text",content:s?D("\u5207\u6362\u4F1A\u8BDD"):D("\u9009\u62E9\u4F1A\u8BDD\uFF08\u5F53\u524D\u672A\u7ED1\u5B9A\uFF09")},initial_index:Vp(k,s),options:k,behaviors:[{type:"callback",value:{action:"session_pick"}}]}}let Q=null;if(d){let k=t.slice(0,20).map(W=>({text:{tag:"plain_text",content:`${W===o?"\u2713 ":""}${W}`},value:W}));Q={tag:"select_static",name:"workspace_pick",placeholder:{tag:"plain_text",content:D("\u5207\u6362\u5DE5\u4F5C\u533A")},initial_index:Vp(k,o),options:k,behaviors:[{type:"callback",value:{action:"workspace_pick"}}]}}let y=Array.isArray(A?.items)?A.items:[],m=A?._currentId??null,_=m===null,N=null;if(y.length>=1){let k=y.slice(0,30).map(ie=>({text:{tag:"plain_text",content:`${ie.id===m?"\u2713 ":""}${ie.label}`},value:ie.id})),W=_?Ky:m;k.unshift({text:{tag:"plain_text",content:`${_?"\u2713 ":""}${D("\u8DDF\u968F\u9ED8\u8BA4")}`},value:Ky}),N={tag:"select_static",name:"preset_pick",placeholder:{tag:"plain_text",content:D("\u5207\u6362\u9884\u8BBE")},initial_index:Vp(k,W),options:k,behaviors:[{type:"callback",value:{action:"preset_pick"}}]}}let G=Array.isArray(r?.groups)?r.groups:[],Y=r?.current,j=Y?`${Y.provider}/${Y.model}`:null,H=[];for(let k of G)for(let W of k.models||[])H.push({id:`${k.id}/${W.id}`,name:`${k.name} - ${W.name}`});let J=null;if(H.length>1){let k=H.slice(0,30).map(W=>({text:{tag:"plain_text",content:`${W.id===j?"\u2713 ":""}${W.name}`},value:W.id}));J={tag:"select_static",name:"model_pick",placeholder:{tag:"plain_text",content:D("\u5207\u6362\u6A21\u578B")},initial_index:Vp(k,j),options:k,behaviors:[{type:"callback",value:{action:"model_pick"}}]}}function q(k){return{tag:"column",width:"weighted",weight:.1,vertical_align:"center",elements:[{tag:"div",text:{tag:"plain_text",content:k}}]}}function U(k){return{tag:"column",width:"weighted",weight:1,elements:[k]}}let R=[];f&&R.push(f),Q&&R.push(Q),R.length===2?B.push({tag:"column_set",flex_mode:"none",columns:[q("\u{1F4AC}"),U(R[0]),q("\u{1F4C2}"),U(R[1])]}):R[0]&&B.push(R[0]),I||B.push({tag:"div",text:Ct(D("\u5F53\u524D\u5DE5\u4F5C\u533A\u6682\u65E0\u53EF\u7528\u4F1A\u8BDD\u3002"))});let V=[],L=Vn(D("\u{1F916} \u5207\u6362\u9884\u8BBE"),"presets"),T=Vn(D("\u{1F9E0} \u5207\u6362\u6A21\u578B"),"models");return N?V.push(N):V.push(L),J?V.push(J):V.push(T),B.push({tag:"column_set",flex_mode:"none",columns:[q("\u{1F916}"),U(V[0]),q("\u{1F9E0}"),U(V[1])]}),B.push(NI(D("\u{1F195} \u65B0\u4F1A\u8BDD"),"new",D("\u{1F4CB} \u4F1A\u8BDD/\u5173\u6CE8"),"sessions")),!I&&!d&&B.push(Vn(D("\u{1F5C2} \u5DE5\u4F5C\u533A\u5217\u8868"),"workspaces")),B.push({tag:"hr"}),B.push({tag:"div",text:Ct(D("**\u4EFB\u52A1\u63A7\u5236**"))}),B.push(NI(D("\u23F9 \u505C\u6B62"),"stop",D("\u{1F4D0} \u538B\u7F29"),"compact")),B.push({tag:"hr"}),B.push({tag:"column_set",flex_mode:"none",columns:[{tag:"column",width:"weighted",weight:1,elements:[{tag:"div",text:Ct(D("**\u8865\u5145\u6307\u4EE4**"))},{tag:"select_static",name:"steer_pick",placeholder:{tag:"plain_text",content:D("\u9009\u62E9\u8865\u5145\u6307\u4EE4")},initial_index:0,options:[...jz.map(k=>({text:{tag:"plain_text",content:D(k)},value:D(k)})),{text:{tag:"plain_text",content:D("\u270F\uFE0F \u66F4\u591A / \u81EA\u5B9A\u4E49\u2026")},value:"custom"}],behaviors:[{type:"callback",value:{action:"steer_pick"}}]}]},{tag:"column",width:"weighted",weight:1,elements:[{tag:"div",text:Ct(D("\u{1F5C4} \u5F52\u6863\uFF1A{state}",{state:a?D("\u5DF2\u663E\u793A"):D("\u5DF2\u9690\u85CF")}))},Vn(D("\u5207\u6362\u5F52\u6863\u663E\u793A"),"archive_toggle")]}]}),B.push({tag:"hr"}),B.push(NI(D("\u{1F4CA} \u72B6\u6001"),"status",D("\u{1F4D6} \u5E2E\u52A9"),"help")),B.push({tag:"div",text:Ct(D(`**\u6570\u5B57\u515C\u5E95** **1**\u5DE5\u4F5C\u533A\u5217\u8868 \xB7 **2**\u65B0\u4F1A\u8BDD \xB7 **3**\u4F1A\u8BDD\u5217\u8868 \xB7 **4**\u72B6\u6001 @@ -334,7 +334,7 @@ ${s.join(` `)+t)},{tag:"hr"},{tag:"div",text:Ct(D(S_e))},{tag:"hr"},RI()];return wo(D("\u{1F4D6} \u5E2E\u52A9"),o)}function Uz(n){if(typeof n!="string"||!/^[A-Za-z0-9_-]{16,128}$/.test(n))throw new TypeError("A safe card-action probe nonce is required");return wo(D("\u{1F9EA} \u9A8C\u8BC1\u5361\u7247\u6309\u94AE"),[{tag:"div",text:Ct(D("\u6388\u6743\u5DF2\u63D0\u4EA4\u3002\u8BF7\u70B9\u51FB\u4E0B\u65B9\u6309\u94AE\uFF1B\u673A\u5668\u4EBA\u771F\u5B9E\u6536\u5230\u56DE\u8C03\u540E\u624D\u4F1A\u5224\u5B9A\u4FEE\u590D\u6210\u529F\u3002"))},{tag:"column_set",flex_mode:"none",columns:[{tag:"column",width:"weighted",weight:1,elements:[{tag:"button",text:Yy(D("\u5B8C\u6210\u9A8C\u8BC1")),type:"primary",width:"fill",behaviors:[{type:"callback",value:{action:"repair_verify",nonce:n}}]}]}]}])}function Hz(n,t,o,i,e=new Set){let a=o*$g,A=t.slice(a,a+$g),r=Math.max(1,Math.ceil(i/$g)),s=I=>typeof e?.has=="function"&&e.has(I),g=(I,d)=>({tag:"column_set",flex_mode:"none",horizontal_spacing:"default",columns:[{tag:"column",width:"90px",vertical_align:"center",elements:[I]},{tag:"column",width:"weighted",weight:1,vertical_align:"center",elements:[d]}]}),c=[{tag:"div",text:Ct(D(`**\u5DE5\u4F5C\u533A**\uFF1A{workspace} \u5171 **{total}** \u4E2A\u4F1A\u8BDD{paging}`,{workspace:`\`${n}\``,total:i,paging:i>$g?D("\uFF08\u7B2C {page}/{pageCount} \u9875\uFF09",{page:o+1,pageCount:r}):""}))},...A.map((I,d)=>{let B=`${d+1}. ${MC(I.title)}${I.archived===!0?D("\uFF08\u5DF2\u5F52\u6863\uFF09"):""}`,f=s(I.sessionId);return g(xy(f?D("\u2B50 \u53D6\u6D88\u5173\u6CE8"):D("\u2606 \u5173\u6CE8"),f?`unwatch:${I.sessionId}`:`watch:${I.sessionId}`),xy(B,`use:${I.sessionId}`))})];return o>0&&c.push(Vn(D("\u25C0 \u4E0A\u4E00\u9875"),`sessions:${o-1}`)),o+1Vn(`${e+1}. ${i}${i===t?D("\uFF08\u5F53\u524D\uFF09"):""}`,`workspace:${i}`)),{tag:"hr"},RI()];return wo(D("\u{1F5C2} \u5DE5\u4F5C\u533A"),o)}function D_e(n,t){let o=new Set(n.map(e=>e.sessionId)),i=(Array.isArray(t)?t:[]).filter(e=>e?.sessionId&&!o.has(e.sessionId)).slice(0,30).map(e=>({text:{tag:"plain_text",content:MC(e.title??e.sessionId)},value:e.sessionId}));return i.length===0?null:{tag:"multi_select_static",name:"watch_add",placeholder:{tag:"plain_text",content:D("\u52FE\u9009\u8981\u5173\u6CE8\u7684\u4F1A\u8BDD")},options:i,behaviors:[{type:"callback",value:{action:"watch_add",kind:"multi"}}]}}function w_e(n){let t=n.slice(0,30).map(o=>({text:{tag:"plain_text",content:MC(o.title)},value:o.sessionId}));return t.length===0?null:{tag:"multi_select_static",name:"watch_remove",placeholder:{tag:"plain_text",content:D("\u52FE\u9009\u8981\u53D6\u6D88\u5173\u6CE8\u7684\u4F1A\u8BDD")},options:t,behaviors:[{type:"callback",value:{action:"watch_remove",kind:"multi"}}]}}function xz(n,t){let o=Array.isArray(n)?n:[],i=D_e(o,t),e=w_e(o),a=[];return o.length===0?a.push({tag:"div",text:Ct(D("\u5F53\u524D\u6CA1\u6709\u5173\u6CE8\u7684\u4F1A\u8BDD\u3002\u4EFB\u52A1\u5B8C\u6210\u4F1A\u81EA\u52A8\u63A8\u9001\u7ED3\u679C\u3002"))}):a.push({tag:"div",text:Ct(D("\u5F53\u524D\u5173\u6CE8 **{count}** \u4E2A\u4F1A\u8BDD\uFF1A",{count:o.length}))}),i&&a.push({tag:"hr"},{tag:"div",text:Ct(D("**\u2795 \u6DFB\u52A0\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09"))},i),e&&a.push({tag:"hr"},{tag:"div",text:Ct(D("**\u2796 \u53D6\u6D88\u5173\u6CE8**\uFF08\u591A\u9009\u4E0B\u62C9\u52FE\u9009\uFF09"))},e),a.push({tag:"hr"},NI(D("\u{1F4CB} \u4F1A\u8BDD\u5217\u8868"),"sessions",D("\u{1F519} \u8FD4\u56DE\u83DC\u5355"),"back_to_menu")),wo(D("\u{1F441} \u5173\u6CE8\u5217\u8868"),a)}function Yz(n,t,o){let i=o==="completed"?D("\u5DF2\u5B8C\u6210"):o==="stopped"?D("\u5DF2\u505C\u6B62"):o==="aborted"?D("\u5DF2\u4E2D\u6B62"):o==="cancelled"?D("\u5DF2\u53D6\u6D88"):D("\u5DF2\u7ED3\u675F");return wo(D("\u2705 \u4EFB\u52A1\u5B8C\u6210"),[{tag:"div",text:Ct(`**${MC(t)}** \`${n}\``)},{tag:"div",text:Ct(D("**\u72B6\u6001**\uFF1A{reason}",{reason:i}))},{tag:"hr"},NI(D("\u{1F4CB} \u4F1A\u8BDD\u5217\u8868"),"sessions",D("\u{1F519} \u8FD4\u56DE\u83DC\u5355"),"back_to_menu"),{tag:"div",text:Ct(D("\u7ED1\u5B9A\u8BE5\u4F1A\u8BDD\u540E\u53EF\u7EE7\u7EED\u8FFD\u95EE\uFF0C\u8F93\u5165\u6587\u5B57\u5373\u53EF\u3002"))}])}var jz=["\u7EE7\u7EED","\u52A0\u901F\u8FD0\u884C","\u603B\u7ED3\u5F53\u524D\u8FDB\u5C55","\u66F4\u7B80\u6D01\u4E9B","\u66F4\u8BE6\u7EC6\u4E9B"],_C="__steer_custom__";function Jz({hasSession:n}){let t=n?D("\u4ECE\u4E0B\u65B9\u4E0B\u62C9\u9009\u62E9\u8865\u5145\u6307\u4EE4\uFF1B\u6700\u540E\u4E00\u9879\u53EF\u81EA\u5B9A\u4E49\u8F93\u5165\u3002"):D("\u5F53\u524D\u6CA1\u6709\u7ED1\u5B9A\u4F1A\u8BDD\uFF0C\u8BF7\u5148\u7ED1\u5B9A\u4F1A\u8BDD\u518D\u8865\u5145\u6307\u4EE4\u3002"),o=jz.map(e=>({text:{tag:"plain_text",content:D(e)},value:D(e)}));o.push({text:{tag:"plain_text",content:D("\u270F\uFE0F \u66F4\u591A / \u81EA\u5B9A\u4E49\u2026")},value:_C});let i=[{tag:"div",text:Ct(t)},{tag:"hr"},{tag:"select_static",name:"steer_quick",placeholder:{tag:"plain_text",content:D("\u9009\u62E9\u8865\u5145\u6307\u4EE4")},initial_index:0,options:o,behaviors:[{type:"callback",value:{action:"steer",source:"quick"}}]},{tag:"hr"},Vn(D("\u{1F519} \u8FD4\u56DE\u83DC\u5355"),"back_to_menu")];return wo(D("\u2795 \u8865\u5145\u6307\u4EE4"),i)}function Gk(){let n=[{tag:"div",text:Ct(D("\u8F93\u5165\u8865\u5145\u6307\u4EE4\u540E\u70B9\u300C\u63D0\u4EA4\u300D\uFF0C\u53D1\u9001\u7ED9\u5F53\u524D\u8FD0\u884C\u7684\u4EFB\u52A1\u3002"))},{tag:"hr"},{tag:"form",name:"steer_form",elements:[{tag:"input",name:"steer_text",placeholder:{tag:"plain_text",content:D("\u8F93\u5165\u4F60\u7684\u8865\u5145\u6307\u4EE4")}},{tag:"button",name:"steer_submit",text:{tag:"plain_text",content:D("\u63D0\u4EA4")},type:"primary",width:"fill",form_action_type:"submit",behaviors:[{type:"callback",value:{action:"steer",source:"form"}}]}]},{tag:"hr"},Vn(D("\u{1F519} \u8FD4\u56DE\u83DC\u5355"),"back_to_menu")];return wo(D("\u2795 \u81EA\u5B9A\u4E49\u6307\u4EE4"),n)}import{mkdir as O_e,readFile as b_e,rename as M_e,writeFile as __e}from"node:fs/promises";import{dirname as T_e}from"node:path";var N_e=Object.freeze({version:1,sessions:{},seenMessageIds:[],watches:{},includeArchivedSessions:!1}),Jy=20;function Fk(n){return n&&typeof n=="object"&&typeof n.sessionId=="string"&&n.sessionId.length>0&&typeof n.chatId=="string"&&n.chatId.length>0}var jy=class{#e;#A=structuredClone(N_e);#t=Promise.resolve();constructor(t){this.#e=t}async load(){try{let t=JSON.parse(await b_e(this.#e,"utf8"));this.#A={version:1,sessions:t.sessions&&typeof t.sessions=="object"?t.sessions:{},seenMessageIds:Array.isArray(t.seenMessageIds)?t.seenMessageIds.slice(-1e3):[],watches:t.watches&&typeof t.watches=="object"?t.watches:{},includeArchivedSessions:typeof t.includeArchivedSessions=="boolean"?t.includeArchivedSessions:!1}}catch(t){if(t?.code!=="ENOENT")throw t;await this.#r()}return this}sessionFor(t){return this.#A.sessions[t]??null}async setSession(t,o){this.#A.sessions[t]=o,await this.#r()}async clearSession(t){delete this.#A.sessions[t],await this.#r()}async clearSessions(){this.#A.sessions={},await this.#r()}hasSeen(t){return this.#A.seenMessageIds.includes(t)}async markSeen(t){this.hasSeen(t)||(this.#A.seenMessageIds.push(t),this.#A.seenMessageIds.length>1e3&&this.#A.seenMessageIds.splice(0,this.#A.seenMessageIds.length-1e3),await this.#r())}snapshot(){return structuredClone(this.#A)}watchEntries(t){let o=this.#A.watches[t];return Array.isArray(o)?o.filter(Fk):[]}watchEntry(t,o){return this.watchEntries(t).find(i=>i.sessionId===o)??null}async setWatch(t,o){let i=this.#A.watches[t]??[],e=i.findIndex(a=>a.sessionId===o.sessionId);e===-1?(i.length>=Jy&&i.shift(),i.push(o)):i[e]=o,this.#A.watches[t]=i,await this.#r()}async removeWatch(t,o){let i=this.#A.watches[t]??[];this.#A.watches[t]=i.filter(e=>e.sessionId!==o),await this.#r()}async clearWatches(t){delete this.#A.watches[t],await this.#r()}keysWatching(t){return Object.entries(this.#A.watches).filter(([,o])=>Array.isArray(o)&&o.some(i=>Fk(i)&&i.sessionId===t)).map(([o])=>o)}watchedSessionIds(){let t=new Set;for(let o of Object.values(this.#A.watches))if(Array.isArray(o))for(let i of o)Fk(i)&&t.add(i.sessionId);return[...t]}includesArchivedSessions(){return this.#A.includeArchivedSessions===!0}async setIncludeArchivedSessions(t){this.#A.includeArchivedSessions=t===!0,await this.#r()}async#r(){let t=JSON.stringify(this.#A,null,2)+` -`;this.#t=this.#t.then(async()=>{await O_e(T_e(this.#e),{recursive:!0,mode:448});let o=`${this.#e}.tmp`;await __e(o,t,{encoding:"utf8",mode:384}),await M_e(o,this.#e)}),await this.#t}};var ec=Object.freeze({MENTION:"mention",ALL:"all"});function Ji(n){return n===ec.ALL?ec.ALL:ec.MENTION}function qy(n){return n===ec.MENTION||n===ec.ALL}var zy=()=>D("\u8FD9\u4E2A\u95EE\u9898\u5DF2\u5728\u5176\u4ED6\u5BA2\u6237\u7AEF\u5904\u7406\uFF0C\u65E0\u9700\u518D\u6B21\u56DE\u7B54\u3002"),k_e=30*6e4,v_e=/^\/m(?:enu)?$/i,P_e=/^\/repair(?:\s|$)/i,G_e=/^\/repair(?:\s+(qr|status|cancel|verify))?\s*$/i,qz=/^\/watch(?:\s+([^\s]+))?$/i,zz=/^\/unwatch(?:\s+([^\s]+))?$/i,F_e=/^\/watchlist$/i,L_e=/^\/sessionlist(?:\s|$)/i,U_e=/^\/workspacelist$/i,H_e=/^\d{1,2}$/,K_e=10*6e4,x_e=50,Y_e=8,j_e=8,J_e=10*6e4,Vz=400,q_e=10*6e4,z_e=100,V_e=50,W_e=500,Z_e=5e3,X_e=5e3,$_e=15e3,eTe=1e3,eV=new Set(["starting","qr_ready","polling","slow_down","domain_switched"]),Lk=new Set([...eV,"saving"]),Vy=new Set(["succeeded","expired","cancelled","error"]),ATe=new Set(["accounts.feishu.cn","open.feishu.cn","accounts.larksuite.com","open.larksuite.com"]),Wz=/^\/archived(?:\s+(on|off))?$/i,tTe=/^\/(?:m(?:enu)?|new|help|status|compact|sessionlist(?:\s|$)|workspacelist|watchlist|archived(?:\s+(on|off))?)$/i,rTe=["/session Session ID \u6216\u5F53\u524D\u5DE5\u4F5C\u533A\u5E8F\u53F7 \u5C06\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u5230\u6307\u5B9A\u4F1A\u8BDD","/workspacelist \u5217\u51FA\u5DE5\u4F5C\u533A\u7EDD\u5BF9\u8DEF\u5F84","/sessionlist [\u5DE5\u4F5C\u533A\u5E8F\u53F7\u6216\u7EDD\u5BF9\u8DEF\u5F84] \u5217\u51FA\u4F1A\u8BDD ID \u548C\u6807\u9898"];function TC(n){switch(n?.code){case"workspace-not-absolute":return D("\u5DE5\u4F5C\u533A\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");case"workspace-not-found":return D("\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u5B58\u5728\u3002");case"workspace-not-directory":return D("\u5DE5\u4F5C\u533A\u8DEF\u5F84\u5FC5\u987B\u6307\u5411\u4E00\u4E2A\u76EE\u5F55\u3002");case"workspace-bot-not-found":return D("\u673A\u5668\u4EBA\u6B63\u5728\u79FB\u9664\u6216\u5DF2\u91CD\u65B0\u63A5\u5165\uFF0C\u65E0\u6CD5\u64CD\u4F5C\u539F\u4F1A\u8BDD\u7684\u5DE5\u4F5C\u533A\u3002");default:return D("\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}}function aTe(n,t){let o=String(n??D("\u7ED3\u679C\u6587\u4EF6")).replace(/[\r\n]+/g," ").trim()||D("\u7ED3\u679C\u6587\u4EF6");switch(t?.code){case"artifact-permission-required":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u7F3A\u5C11\u98DE\u4E66\u6587\u4EF6\u4E0A\u4F20\u6743\u9650 im:resource\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u63D2\u4EF6\u9875\u9762\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u5B8C\u6210\u98DE\u4E66\u8981\u6C42\u7684\u53D1\u5E03\u5BA1\u6279\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-too-large":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u98DE\u4E66 30 MB \u4E0A\u9650\uFF0C\u672A\u53D1\u9001\u3002",{name:o});case"artifact-empty":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u98DE\u4E66\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002",{name:o});case"artifact-changed":case"artifact-invalid":case"artifact-unavailable":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u6216\u51C6\u5907\u53D1\u9001\uFF0C\u8BF7\u786E\u8BA4\u6587\u4EF6\u4ECD\u53EF\u8BBF\u95EE\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-rate-limited":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u98DE\u4E66\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-delivery-uncertain":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u8BD5\u3002",{name:o});default:return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",{name:o})}}function Wy(n,t){return typeof n=="string"&&n.trim()?n:t.length>0?D("\u7ED3\u679C\u6587\u4EF6\u5DF2\u751F\u6210\u3002"):n}function CA(n){return typeof n=="string"&&n.trim()?n.trim():null}function Zz(n){if(n&&typeof n=="object"&&!Array.isArray(n))return n;if(typeof n!="string"||!n.trim())return{};try{let t=JSON.parse(n);return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function RC(n){if(n==null)return null;if(Array.isArray(n)){for(let o of n){let i=RC(o);if(i!==null)return i}return null}if(n&&typeof n=="object")return"value"in n?RC(n.value):"option"in n?RC(n.option):null;if(typeof n!="string")return null;let t=n.trim();if(!t)return null;if(t.startsWith("[")||t.startsWith("{")||t.startsWith('"'))try{let o=JSON.parse(t);if(o!==n)return RC(o)}catch{}return t}function Xs(n){if(n==null)return[];if(Array.isArray(n))return n.flatMap(o=>Xs(o));if(n&&typeof n=="object")return"value"in n?Xs(n.value):"option"in n?Xs(n.option):[];if(typeof n!="string")return[];let t=n.trim();if(!t)return[];if(t.startsWith("[")||t.startsWith("{")||t.startsWith('"'))try{let o=JSON.parse(t);if(o!==n)return Xs(o)}catch{}return t.split(",").map(o=>o.trim()).filter(Boolean)}function nn(n){return Number.isSafeInteger(n)&&n>=-1}function kC(n){return Number.isSafeInteger(n)&&n>=0}function Xy(n){return Number.isSafeInteger(n?.watchStartedAt)&&n.watchStartedAt>=0?n.watchStartedAt:null}function Zy(n){return n&&(Xy(n)!==null||!nn(n.lastSeq))}function iTe(n){return(Array.isArray(n?.events)?n.events:[]).map(t=>t?.event??t).filter(t=>t&&typeof t=="object"&&kC(t.seq)).sort((t,o)=>t.seq-o.seq)}function $y(n){return CA(n?.sender?.sender_id?.open_id)??CA(n?.sender?.sender_id?.user_id)}function oTe(n){return CA(n?.sender?.sender_id?.open_id)}function Xz(n,t){return new Promise((o,i)=>{if(t?.aborted){i(t.reason??new DOMException("Aborted","AbortError"));return}let e=setTimeout(a,n);e.unref?.();function a(){t?.removeEventListener("abort",A),o()}function A(){clearTimeout(e),i(t.reason??new DOMException("Aborted","AbortError"))}t?.addEventListener("abort",A,{once:!0})})}function NC(n,{botId:t}={}){let o=n&&typeof n=="object"?n:{},i=o.registration&&typeof o.registration=="object"?o.registration:o,e=CA(i.operation)??CA(o.operation);if(e&&e!=="callback_repair")throw new Error("The active Feishu operation is not a callback repair");let a=CA(i.botId)??CA(o.botId);if(t&&a&&a!==t)throw new Error("The Feishu repair belongs to another bot");let A=CA(i.state),r=i.attemptId??i.attempt,s=typeof r=="string"||Number.isFinite(r)?String(r):null;if(!A||!s)throw new Error("Feishu returned an invalid repair status");let g=CA(i.verificationUrl)??CA(i.qrCodeUrl),c=Number(i.expiresAt),I=Number(i.remainingSeconds),d=Number(i.pollIntervalMs)||Number(i.pollIntervalSeconds)*1e3;return{state:A,attemptId:s,botId:a,verificationUrl:g,expiresAt:Number.isFinite(c)?c:null,remainingSeconds:Number.isFinite(I)?I:null,pollIntervalMs:Number.isFinite(d)&&d>0?d:null,error:i.error&&typeof i.error=="object"?{code:CA(i.error.code),message:CA(i.error.message)}:null}}function $z(n,t){let o=new URL(n);if(o.protocol!=="https:"||!ATe.has(o.hostname))throw new Error("Feishu returned an untrusted repair URL");if(o.searchParams.get("tp")!=="sdk"||o.searchParams.get("clientID")!==t||o.searchParams.has("createOnly"))throw new Error("Feishu returned an invalid existing-app repair URL");if(o.toString().includes("{{client_id}}")||o.toString().includes("%7B%7Bclient_id%7D%7D"))throw new Error("Feishu returned an unresolved client id placeholder");return o.toString()}function nTe(n,t){return t.needsPresentation!==!0&&t.questions[t.index]&&$y(n)===t.actor&&n?.message?.message_type==="text"&&CA(zp(n))}function sTe(n){for(let t of["messagesReceived","messagesReplied","messagesRejected"])n[t]??=0;n.lastMessageAt??=null,n.lastReplyAt??=null,n.lastRejectedAt??=null,n.lastError??=null,n.lastMessageError??=null}var em=class{#e;#A;#t;#r;#a=new Map;#i=new Ii;#c=new Map;#s=new Map;#I=new Map;#o=new Set;#n=new Set;#g=new Set;#l=new Set;#p=new Map;#d=new Map;#h=new Map;#E=new Map;#u=new Map;#B=new Map;#f=new Map;#m=new Map;#y=new Map;#Q;#C;#b;#M;#w;#S;#_;#R;#k;#N;#v;#T=null;#F=0;#O;#U;#L=new Map;#Y=new Map;#K=null;#J=new Map;#P=new Map;#H=new Map;#q=new Map;#G;constructor({client:t,channel:o,harness:i,state:e,status:a,allowedSenderOpenIds:A=new Set,botId:r,appId:s,botOpenId:g,groupResponseMode:c=ec.ALL,repair:I,repairPollIntervalMs:d=eTe,repairLinkWaitMs:B=$_e,cardDataTimeoutMs:f=X_e,replyTimeoutMs:Q=6e5,logger:y=console,signal:m}){if(!t||!i||!e||!a)throw new TypeError("Feishu bridge dependencies are required");if(I!=null){if(!I||typeof I.start!="function"||typeof I.status!="function"||typeof I.cancel!="function")throw new TypeError("Feishu repair capability requires start/status/cancel");if(!CA(r)||!CA(s))throw new TypeError("Feishu repair capability requires botId and appId")}if(!Number.isFinite(d)||d<=0||!Number.isFinite(B)||B<=0||!Number.isFinite(f)||f<=0)throw new TypeError("Feishu timing values must be positive numbers");this.#e=t,this.#A=o,this.#t=i,this.#r=e,this.#C=a,this.#b=A,this.#_=CA(r),this.#R=CA(s),this.#k=CA(g),this.#N=Ji(c),this.#v=I??null,this.#O=d,this.#U=B,this.#G=f,this.#M=Q,this.#w=y,this.#Q=new ii({label:"Feishu",logger:y}),this.#S=m,sTe(this.#C),typeof this.#t?.watchHarnessEvents=="function"&&queueMicrotask(()=>this.#Te())}setGroupResponseMode(t){this.#N=Ji(t)}#$(t){if(t?.message?.chat_type==="p2p")return!0;let o=Array.isArray(t?.message?.mentions)?t.message.mentions:[];return this.#k?o.some(i=>i?.id?.open_id===this.#k||i?.open_id===this.#k):o.length>0}accept(t){if(this.#S?.aborted)return Promise.resolve();let o=CA(t?.message?.message_id);if(!o||Nz(t))return Promise.resolve();if(!Rz(t,this.#b))return this.#C.messagesRejected+=1,this.#C.lastRejectedAt=new Date().toISOString(),this.#w.warn?.("[dsh-feishu] ignored a message from a sender outside the allowlist"),Promise.resolve();let i=this.#$(t);if(t?.message?.chat_type!=="p2p"&&this.#N===ec.MENTION&&!i||this.#r.hasSeen(o)||this.#o.has(o))return Promise.resolve();let e;try{e=_z(t)}catch{return this.#C.messagesRejected+=1,this.#C.lastRejectedAt=new Date().toISOString(),Promise.resolve()}if(t.message.chat_type==="p2p"){let f=CA(t.message.chat_id);f&&io(this.#r,{chatId:f})}this.#o.add(o);let a=this.#EA(o),A=Pk(t,this.#e),r=CA(A.content)??"",s=t.message.message_type==="text"?CA(zp(t))??"":"",g=t.message.message_type==="text"&&lo(s),c=this.#c.get(e),I=this.#i.status(e);if(g&&t.message.chat_type!=="p2p")return this.#te(t,o,a,{message:Tn()});if(t.message.chat_type==="p2p"&&(g||I.phase==="collecting")){let Q=/^\/batch$/iu.test(s)&&I.phase==="idle"&&(this.#a.has(e)||c||this.#Q.hasPending(e))?{handled:!0,kind:"busy",message:po()}:this.#i.handle(e,s,{plainText:t.message.message_type==="text"&&!!s});if(Q.handled){if(Q.kind==="submit"){let y={...t,batchSubmission:{token:Q.token},message:{...t.message,message_type:"text",content:JSON.stringify({text:Q.prompt}),mentions:[]}};return this.#z(y,o,e,a)}return this.#te(t,o,a,Q)}}if(tTe.test(r))return Promise.resolve().then(()=>this.#Se(t,e,{alreadyRecorded:!1})).then(()=>this.#Ae(o,a,"DONE")).catch(Q=>this.#V(t,o,a,Q)).finally(()=>this.#o.delete(o));let d=Gt(A)?null:Pi(r)?gi:Gi(r)?Fi:Li(r)?ci:null;if(d&&i){let f=this.#Fe(t,o,e,A,d),Q;return Q=f.then(()=>this.#Ae(o,a,"DONE")).catch(y=>this.#V(t,o,a,y)).finally(()=>{this.#o.delete(o),this.#g.delete(Q)}),this.#g.add(Q),Q}if(this.#fe(t,e))return Promise.resolve().then(()=>this.#Qe(t,o)).then(()=>this.#Ae(o,a,"DONE")).catch(Q=>this.#V(t,o,a,Q)).finally(()=>this.#o.delete(o));let B=this.#Q.claimReply({key:e,actor:$y(t),messageId:o,text:zp(t)??"",addressed:i,hasPendingQuestion:!!c,questionCompletion:c?.submitting||c?.claimedReplyMessageId?c.queue:null,isQuestionPending:()=>this.#c.has(e),send:f=>this.#D(t.message.chat_id,f)});if(B){let f=B.process(async()=>this.#r.hasSeen(o)?!1:(await this.#r.markSeen(o),this.#C.lastMessageAt=new Date().toISOString(),this.#C.messagesReceived+=1,!0)),Q;return Q=f.then(()=>this.#Ae(o,a,"DONE")).catch(y=>this.#V(t,o,a,y)).finally(()=>{this.#o.delete(o),this.#n.delete(Q)}),this.#n.add(Q),Q}if(c&&$y(t)!==c.actor)return this.#z(t,o,e,a);if(c?.submitting||c?.claimedReplyMessageId)return this.#z(t,o,e,a);if(c){nTe(t,c)&&(c.claimedReplyMessageId=o);let Q=(c.queue??Promise.resolve()).catch(()=>{}).then(()=>this.#lA(t,o,e,c,a));c.queue=Q;let y=()=>{c.claimedReplyMessageId===o&&(c.claimedReplyMessageId=null),c.queue===Q&&(c.queue=null)},m;return m=Q.then(()=>(y(),this.#Ae(o,a,"DONE")),_=>(y(),this.#V(t,o,a,_))).finally(()=>{y(),this.#o.delete(o),this.#n.delete(m)}),this.#n.add(m),m}return this.#z(t,o,e,a)}#te(t,o,i,e){let a;return a=Promise.resolve().then(async()=>{this.#r.hasSeen(o)||(await this.#r.markSeen(o),this.#C.lastMessageAt=new Date().toISOString(),this.#C.messagesReceived+=1,e?.message&&await this.#D(t.message.chat_id,e.message),this.#C.lastError=null)}).then(()=>this.#Ae(o,i,"DONE")).catch(A=>this.#V(t,o,i,A)).finally(()=>{this.#o.delete(o),this.#g.delete(a)}),this.#g.add(a),a}#z(t,o,i,e,{releaseMessageId:a=!0,alreadyRecorded:A=!1,finalize:r=!0}={}){let g=(this.#a.get(i)??Promise.resolve()).catch(()=>{}).then(()=>this.#Se(t,i,{alreadyRecorded:A})),c=r?g.then(async d=>(await this.#Ae(o,e,"DONE"),d)).catch(d=>this.#V(t,o,e,d)):g,I;return I=c.finally(()=>{a&&this.#o.delete(o),this.#a.get(i)===I&&this.#a.delete(i)}),this.#a.set(i,I),I}#Z(t,{logLabel:o="operation",logLevel:i="warn",userMessage:e,reason:a}={}){this.#C.lastError=t?.message??String(t);let A=At(this.#C,t,{userMessage:e,reason:a});return this.#w?.[i]?.(`[dsh-feishu] ${o} failed [${A.referenceId}]:`,t?.message??String(t)),A}async#x(t,o,i={}){let e=this.#Z(o,i),a=i.appendMessage?`${dt(e)} +`;this.#t=this.#t.then(async()=>{await O_e(T_e(this.#e),{recursive:!0,mode:448});let o=`${this.#e}.tmp`;await __e(o,t,{encoding:"utf8",mode:384}),await M_e(o,this.#e)}),await this.#t}};var ec=Object.freeze({MENTION:"mention",ALL:"all"});function Ji(n){return n===ec.ALL?ec.ALL:ec.MENTION}function qy(n){return n===ec.MENTION||n===ec.ALL}var zy=()=>D("\u8FD9\u4E2A\u95EE\u9898\u5DF2\u5728\u5176\u4ED6\u5BA2\u6237\u7AEF\u5904\u7406\uFF0C\u65E0\u9700\u518D\u6B21\u56DE\u7B54\u3002"),k_e=30*6e4,v_e=/^\/m(?:enu)?$/i,P_e=/^\/repair(?:\s|$)/i,G_e=/^\/repair(?:\s+(qr|status|cancel|verify))?\s*$/i,qz=/^\/watch(?:\s+([^\s]+))?$/i,zz=/^\/unwatch(?:\s+([^\s]+))?$/i,F_e=/^\/watchlist$/i,L_e=/^\/sessionlist(?:\s|$)/i,U_e=/^\/workspacelist$/i,H_e=/^\d{1,2}$/,K_e=10*6e4,x_e=50,Y_e=8,j_e=8,J_e=10*6e4,Vz=400,q_e=10*6e4,z_e=100,V_e=50,W_e=500,Z_e=5e3,X_e=5e3,$_e=15e3,eTe=1e3,eV=new Set(["starting","qr_ready","polling","slow_down","domain_switched"]),Lk=new Set([...eV,"saving"]),Vy=new Set(["succeeded","expired","cancelled","error"]),ATe=new Set(["accounts.feishu.cn","open.feishu.cn","accounts.larksuite.com","open.larksuite.com"]),Wz=/^\/archived(?:\s+(on|off))?$/i,tTe=/^\/(?:m(?:enu)?|new|help|status|compact|sessionlist(?:\s|$)|workspacelist|watchlist|archived(?:\s+(on|off))?)$/i,rTe=["/session Session ID \u6216\u5F53\u524D\u5DE5\u4F5C\u533A\u5E8F\u53F7 \u5C06\u5F53\u524D\u804A\u5929\u7ED1\u5B9A\u5230\u6307\u5B9A\u4F1A\u8BDD","/workspacelist \u5217\u51FA\u5DE5\u4F5C\u533A\u7EDD\u5BF9\u8DEF\u5F84","/sessionlist [\u5DE5\u4F5C\u533A\u5E8F\u53F7\u6216\u7EDD\u5BF9\u8DEF\u5F84] \u5217\u51FA\u4F1A\u8BDD ID \u548C\u6807\u9898"];function TC(n){switch(n?.code){case"workspace-not-absolute":return D("\u5DE5\u4F5C\u533A\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");case"workspace-not-found":return D("\u5DE5\u4F5C\u533A\u8DEF\u5F84\u4E0D\u5B58\u5728\u3002");case"workspace-not-directory":return D("\u5DE5\u4F5C\u533A\u8DEF\u5F84\u5FC5\u987B\u6307\u5411\u4E00\u4E2A\u76EE\u5F55\u3002");case"workspace-bot-not-found":return D("\u673A\u5668\u4EBA\u6B63\u5728\u79FB\u9664\u6216\u5DF2\u91CD\u65B0\u63A5\u5165\uFF0C\u65E0\u6CD5\u64CD\u4F5C\u539F\u4F1A\u8BDD\u7684\u5DE5\u4F5C\u533A\u3002");default:return D("\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002")}}function aTe(n,t){let o=String(n??D("\u7ED3\u679C\u6587\u4EF6")).replace(/[\r\n]+/g," ").trim()||D("\u7ED3\u679C\u6587\u4EF6");switch(t?.code){case"artifact-permission-required":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u673A\u5668\u4EBA\u7F3A\u5C11\u98DE\u4E66\u6587\u4EF6\u4E0A\u4F20\u6743\u9650 im:resource\u3002\u8BF7\u79C1\u804A\u673A\u5668\u4EBA\u6267\u884C /repair \u547D\u4EE4\uFF0C\u6216\u8005\u5728\u300CIM\u673A\u5668\u4EBA\u300D\u8BBE\u7F6E\u9875\u70B9\u51FB\u201C\u8865\u5168\u6743\u9650\u201D\u6309\u94AE\u5E76\u626B\u7801\u3002\u5B8C\u6210\u98DE\u4E66\u8981\u6C42\u7684\u53D1\u5E03\u5BA1\u6279\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-too-large":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u8D85\u8FC7\u98DE\u4E66 30 MB \u4E0A\u9650\uFF0C\u672A\u53D1\u9001\u3002",{name:o});case"artifact-empty":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u4E3A\u7A7A\uFF0C\u98DE\u4E66\u4E0D\u5141\u8BB8\u53D1\u9001\u7A7A\u6587\u4EF6\u3002",{name:o});case"artifact-changed":case"artifact-invalid":case"artifact-unavailable":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u6216\u51C6\u5907\u53D1\u9001\uFF0C\u8BF7\u786E\u8BA4\u6587\u4EF6\u4ECD\u53EF\u8BBF\u95EE\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-rate-limited":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u6682\u65F6\u88AB\u98DE\u4E66\u9650\u6D41\uFF0C\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",{name:o});case"artifact-delivery-uncertain":return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u53D1\u9001\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u5148\u68C0\u67E5\u804A\u5929\u5185\u662F\u5426\u5DF2\u6536\u5230\uFF0C\u4E0D\u8981\u7ACB\u5373\u91CD\u8BD5\u3002",{name:o});default:return D("\u7ED3\u679C\u6587\u4EF6\u300C{name}\u300D\u5DF2\u751F\u6210\uFF0C\u4F46\u6682\u65F6\u672A\u80FD\u53D1\u9001\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",{name:o})}}function Wy(n,t){return typeof n=="string"&&n.trim()?n:t.length>0?D("\u7ED3\u679C\u6587\u4EF6\u5DF2\u751F\u6210\u3002"):n}function CA(n){return typeof n=="string"&&n.trim()?n.trim():null}function Zz(n){if(n&&typeof n=="object"&&!Array.isArray(n))return n;if(typeof n!="string"||!n.trim())return{};try{let t=JSON.parse(n);return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function RC(n){if(n==null)return null;if(Array.isArray(n)){for(let o of n){let i=RC(o);if(i!==null)return i}return null}if(n&&typeof n=="object")return"value"in n?RC(n.value):"option"in n?RC(n.option):null;if(typeof n!="string")return null;let t=n.trim();if(!t)return null;if(t.startsWith("[")||t.startsWith("{")||t.startsWith('"'))try{let o=JSON.parse(t);if(o!==n)return RC(o)}catch{}return t}function Xs(n){if(n==null)return[];if(Array.isArray(n))return n.flatMap(o=>Xs(o));if(n&&typeof n=="object")return"value"in n?Xs(n.value):"option"in n?Xs(n.option):[];if(typeof n!="string")return[];let t=n.trim();if(!t)return[];if(t.startsWith("[")||t.startsWith("{")||t.startsWith('"'))try{let o=JSON.parse(t);if(o!==n)return Xs(o)}catch{}return t.split(",").map(o=>o.trim()).filter(Boolean)}function nn(n){return Number.isSafeInteger(n)&&n>=-1}function kC(n){return Number.isSafeInteger(n)&&n>=0}function Xy(n){return Number.isSafeInteger(n?.watchStartedAt)&&n.watchStartedAt>=0?n.watchStartedAt:null}function Zy(n){return n&&(Xy(n)!==null||!nn(n.lastSeq))}function iTe(n){return(Array.isArray(n?.events)?n.events:[]).map(t=>t?.event??t).filter(t=>t&&typeof t=="object"&&kC(t.seq)).sort((t,o)=>t.seq-o.seq)}function $y(n){return CA(n?.sender?.sender_id?.open_id)??CA(n?.sender?.sender_id?.user_id)}function oTe(n){return CA(n?.sender?.sender_id?.open_id)}function Xz(n,t){return new Promise((o,i)=>{if(t?.aborted){i(t.reason??new DOMException("Aborted","AbortError"));return}let e=setTimeout(a,n);e.unref?.();function a(){t?.removeEventListener("abort",A),o()}function A(){clearTimeout(e),i(t.reason??new DOMException("Aborted","AbortError"))}t?.addEventListener("abort",A,{once:!0})})}function NC(n,{botId:t}={}){let o=n&&typeof n=="object"?n:{},i=o.registration&&typeof o.registration=="object"?o.registration:o,e=CA(i.operation)??CA(o.operation);if(e&&e!=="callback_repair")throw new Error("The active Feishu operation is not a callback repair");let a=CA(i.botId)??CA(o.botId);if(t&&a&&a!==t)throw new Error("The Feishu repair belongs to another bot");let A=CA(i.state),r=i.attemptId??i.attempt,s=typeof r=="string"||Number.isFinite(r)?String(r):null;if(!A||!s)throw new Error("Feishu returned an invalid repair status");let g=CA(i.verificationUrl)??CA(i.qrCodeUrl),c=Number(i.expiresAt),I=Number(i.remainingSeconds),d=Number(i.pollIntervalMs)||Number(i.pollIntervalSeconds)*1e3;return{state:A,attemptId:s,botId:a,verificationUrl:g,expiresAt:Number.isFinite(c)?c:null,remainingSeconds:Number.isFinite(I)?I:null,pollIntervalMs:Number.isFinite(d)&&d>0?d:null,error:i.error&&typeof i.error=="object"?{code:CA(i.error.code),message:CA(i.error.message)}:null}}function $z(n,t){let o=new URL(n);if(o.protocol!=="https:"||!ATe.has(o.hostname))throw new Error("Feishu returned an untrusted repair URL");if(o.searchParams.get("tp")!=="sdk"||o.searchParams.get("clientID")!==t||o.searchParams.has("createOnly"))throw new Error("Feishu returned an invalid existing-app repair URL");if(o.toString().includes("{{client_id}}")||o.toString().includes("%7B%7Bclient_id%7D%7D"))throw new Error("Feishu returned an unresolved client id placeholder");return o.toString()}function nTe(n,t){return t.needsPresentation!==!0&&t.questions[t.index]&&$y(n)===t.actor&&n?.message?.message_type==="text"&&CA(zp(n))}function sTe(n){for(let t of["messagesReceived","messagesReplied","messagesRejected"])n[t]??=0;n.lastMessageAt??=null,n.lastReplyAt??=null,n.lastRejectedAt??=null,n.lastError??=null,n.lastMessageError??=null}var em=class{#e;#A;#t;#r;#a=new Map;#i=new Ii;#c=new Map;#s=new Map;#I=new Map;#o=new Set;#n=new Set;#g=new Set;#l=new Set;#p=new Map;#d=new Map;#h=new Map;#E=new Map;#u=new Map;#B=new Map;#f=new Map;#m=new Map;#y=new Map;#Q;#C;#b;#M;#w;#S;#_;#R;#k;#N;#v;#T=null;#F=0;#O;#U;#L=new Map;#Y=new Map;#K=null;#J=new Map;#P=new Map;#H=new Map;#q=new Map;#G;constructor({client:t,channel:o,harness:i,state:e,status:a,allowedSenderOpenIds:A=new Set,botId:r,appId:s,botOpenId:g,groupResponseMode:c=ec.ALL,repair:I,repairPollIntervalMs:d=eTe,repairLinkWaitMs:B=$_e,cardDataTimeoutMs:f=X_e,replyTimeoutMs:Q=6e5,logger:y=console,signal:m}){if(!t||!i||!e||!a)throw new TypeError("Feishu bridge dependencies are required");if(I!=null){if(!I||typeof I.start!="function"||typeof I.status!="function"||typeof I.cancel!="function")throw new TypeError("Feishu repair capability requires start/status/cancel");if(!CA(r)||!CA(s))throw new TypeError("Feishu repair capability requires botId and appId")}if(!Number.isFinite(d)||d<=0||!Number.isFinite(B)||B<=0||!Number.isFinite(f)||f<=0)throw new TypeError("Feishu timing values must be positive numbers");this.#e=t,this.#A=o,this.#t=i,this.#r=e,this.#C=a,this.#b=A,this.#_=CA(r),this.#R=CA(s),this.#k=CA(g),this.#N=Ji(c),this.#v=I??null,this.#O=d,this.#U=B,this.#G=f,this.#M=Q,this.#w=y,this.#Q=new ii({label:"Feishu",logger:y}),this.#S=m,sTe(this.#C),typeof this.#t?.watchHarnessEvents=="function"&&queueMicrotask(()=>this.#Te())}setGroupResponseMode(t){this.#N=Ji(t)}#$(t){if(t?.message?.chat_type==="p2p")return!0;let o=Array.isArray(t?.message?.mentions)?t.message.mentions:[];return this.#k?o.some(i=>i?.id?.open_id===this.#k||i?.open_id===this.#k):o.length>0}accept(t){if(this.#S?.aborted)return Promise.resolve();let o=CA(t?.message?.message_id);if(!o||Nz(t))return Promise.resolve();if(!Rz(t,this.#b))return this.#C.messagesRejected+=1,this.#C.lastRejectedAt=new Date().toISOString(),this.#w.warn?.("[dsh-feishu] ignored a message from a sender outside the allowlist"),Promise.resolve();let i=this.#$(t);if(t?.message?.chat_type!=="p2p"&&this.#N===ec.MENTION&&!i||this.#r.hasSeen(o)||this.#o.has(o))return Promise.resolve();let e;try{e=_z(t)}catch{return this.#C.messagesRejected+=1,this.#C.lastRejectedAt=new Date().toISOString(),Promise.resolve()}if(t.message.chat_type==="p2p"){let f=CA(t.message.chat_id);f&&io(this.#r,{chatId:f})}this.#o.add(o);let a=this.#EA(o),A=Pk(t,this.#e),r=CA(A.content)??"",s=t.message.message_type==="text"?CA(zp(t))??"":"",g=t.message.message_type==="text"&&lo(s),c=this.#c.get(e),I=this.#i.status(e);if(g&&t.message.chat_type!=="p2p")return this.#te(t,o,a,{message:Tn()});if(t.message.chat_type==="p2p"&&(g||I.phase==="collecting")){let Q=/^\/batch$/iu.test(s)&&I.phase==="idle"&&(this.#a.has(e)||c||this.#Q.hasPending(e))?{handled:!0,kind:"busy",message:po()}:this.#i.handle(e,s,{plainText:t.message.message_type==="text"&&!!s});if(Q.handled){if(Q.kind==="submit"){let y={...t,batchSubmission:{token:Q.token},message:{...t.message,message_type:"text",content:JSON.stringify({text:Q.prompt}),mentions:[]}};return this.#z(y,o,e,a)}return this.#te(t,o,a,Q)}}if(tTe.test(r))return Promise.resolve().then(()=>this.#Se(t,e,{alreadyRecorded:!1})).then(()=>this.#Ae(o,a,"DONE")).catch(Q=>this.#V(t,o,a,Q)).finally(()=>this.#o.delete(o));let d=Gt(A)?null:Pi(r)?gi:Gi(r)?Fi:Li(r)?ci:null;if(d&&i){let f=this.#Fe(t,o,e,A,d),Q;return Q=f.then(()=>this.#Ae(o,a,"DONE")).catch(y=>this.#V(t,o,a,y)).finally(()=>{this.#o.delete(o),this.#g.delete(Q)}),this.#g.add(Q),Q}if(this.#fe(t,e))return Promise.resolve().then(()=>this.#Qe(t,o)).then(()=>this.#Ae(o,a,"DONE")).catch(Q=>this.#V(t,o,a,Q)).finally(()=>this.#o.delete(o));let B=this.#Q.claimReply({key:e,actor:$y(t),messageId:o,text:zp(t)??"",addressed:i,hasPendingQuestion:!!c,questionCompletion:c?.submitting||c?.claimedReplyMessageId?c.queue:null,isQuestionPending:()=>this.#c.has(e),send:f=>this.#D(t.message.chat_id,f)});if(B){let f=B.process(async()=>this.#r.hasSeen(o)?!1:(await this.#r.markSeen(o),this.#C.lastMessageAt=new Date().toISOString(),this.#C.messagesReceived+=1,!0)),Q;return Q=f.then(()=>this.#Ae(o,a,"DONE")).catch(y=>this.#V(t,o,a,y)).finally(()=>{this.#o.delete(o),this.#n.delete(Q)}),this.#n.add(Q),Q}if(c&&$y(t)!==c.actor)return this.#z(t,o,e,a);if(c?.submitting||c?.claimedReplyMessageId)return this.#z(t,o,e,a);if(c){nTe(t,c)&&(c.claimedReplyMessageId=o);let Q=(c.queue??Promise.resolve()).catch(()=>{}).then(()=>this.#lA(t,o,e,c,a));c.queue=Q;let y=()=>{c.claimedReplyMessageId===o&&(c.claimedReplyMessageId=null),c.queue===Q&&(c.queue=null)},m;return m=Q.then(()=>(y(),this.#Ae(o,a,"DONE")),_=>(y(),this.#V(t,o,a,_))).finally(()=>{y(),this.#o.delete(o),this.#n.delete(m)}),this.#n.add(m),m}return this.#z(t,o,e,a)}#te(t,o,i,e){let a;return a=Promise.resolve().then(async()=>{this.#r.hasSeen(o)||(await this.#r.markSeen(o),this.#C.lastMessageAt=new Date().toISOString(),this.#C.messagesReceived+=1,e?.message&&await this.#D(t.message.chat_id,e.message),this.#C.lastError=null)}).then(()=>this.#Ae(o,i,"DONE")).catch(A=>this.#V(t,o,i,A)).finally(()=>{this.#o.delete(o),this.#g.delete(a)}),this.#g.add(a),a}#z(t,o,i,e,{releaseMessageId:a=!0,alreadyRecorded:A=!1,finalize:r=!0}={}){let g=(this.#a.get(i)??Promise.resolve()).catch(()=>{}).then(()=>this.#Se(t,i,{alreadyRecorded:A})),c=r?g.then(async d=>(await this.#Ae(o,e,"DONE"),d)).catch(d=>this.#V(t,o,e,d)):g,I;return I=c.finally(()=>{a&&this.#o.delete(o),this.#a.get(i)===I&&this.#a.delete(i)}),this.#a.set(i,I),I}#Z(t,{logLabel:o="operation",logLevel:i="warn",userMessage:e,reason:a}={}){this.#C.lastError=t?.message??String(t);let A=At(this.#C,t,{userMessage:e,reason:a});return this.#w?.[i]?.(`[dsh-feishu] ${o} failed [${A.referenceId}]:`,t?.message??String(t)),A}async#x(t,o,i={}){let e=this.#Z(o,i),a=i.appendMessage?`${dt(e)} ${i.appendMessage}`:dt(e);return await this.#D(t,a).catch(()=>{}),e}async#V(t,o,i,e){if(e?.code==="turn-stopped"){await this.#Ge(o,i),e?.batchInputMessage&&await this.#D(t.message.chat_id,e.batchInputMessage).catch(()=>{});return}if(this.#S?.aborted){await this.#Ge(o,i);return}let a=Eo(e)??go(e),A=this.#Z(e,{logLabel:"message handling",logLevel:"error",userMessage:a,reason:vi(e)?.reason});await this.#Ae(o,i,"ERROR");let r=e?.batchInputMessage?`${dt(A)} diff --git a/package.json b/package.json index 1144f55..38b4402 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "scripts": { "build": "node plugin-src/client/build.mjs && node plugin-src/host/build.mjs", "test": "node --test test/*.test.mjs test/channels/*/*.test.mjs", - "check": "npm test && npm run build && node scripts/verify-package.mjs" + "check": "npm run build && npm test && node scripts/verify-package.mjs" }, "engines": { "node": ">=22.19" diff --git a/plugin-src/client/channels/dingtalk/index.js b/plugin-src/client/channels/dingtalk/index.js index 67e4cef..fad8572 100644 --- a/plugin-src/client/channels/dingtalk/index.js +++ b/plugin-src/client/channels/dingtalk/index.js @@ -16,7 +16,6 @@ import { } from '../../channel-card-meta.js'; import { DINGTALK_ENDPOINTS, - DINGTALK_RPC_CHANNEL, connectionTestFeedback, formatRemaining, normalizeProvisioning, @@ -29,9 +28,6 @@ import { installDingtalkStyles } from './styles.js'; const ACTIVE_PROVISION_STATES = new Set(['pending', 'scanned', 'authorizing', 'creating', 'connecting']); -export const name = 'dingtalk-settings'; -export const inject = ['slots', 'connection']; - function DingtalkIcon({ size = 28 }) { return h('svg', { width: size, @@ -864,16 +860,3 @@ export function DingtalkSettingsTab({ rpcCall }) { }) : null))); } - -export function apply(ctx) { - ctx.effect(() => installDingtalkStyles(), 'dingtalk-settings: install client styles'); - const rpcCall = (endpoint, payload, signal) => - ctx.connection.rpc.call(DINGTALK_RPC_CHANNEL, endpoint, payload, signal); - ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({ - name: 'settings.plugins.tab', - id: 'dingtalk', - order: 40, - label: '钉钉', - inject: () => ({ rpcCall }), - }, DingtalkSettingsTab)); -} diff --git a/plugin-src/client/channels/dingtalk/styles.js b/plugin-src/client/channels/dingtalk/styles.js index 1b85439..7f89f6e 100644 --- a/plugin-src/client/channels/dingtalk/styles.js +++ b/plugin-src/client/channels/dingtalk/styles.js @@ -1,4 +1,4 @@ -export const DINGTALK_STYLE_ID = 'xmanrui-dsh-dingtalk-settings'; +export const DINGTALK_STYLE_ID = 'xmanrui-dsh-im-dingtalk-settings'; const CSS = String.raw` .ddt-page { @@ -126,7 +126,7 @@ export function installDingtalkStyles() { const existing = document.querySelector(`style[data-plugin-css="${DINGTALK_STYLE_ID}"]`); if (existing) return () => {}; const style = document.createElement('style'); - style.dataset.plugin = '@xmanrui/dsh-dingtalk'; + style.dataset.plugin = '@xmanrui/dsh-im'; style.dataset.pluginCss = DINGTALK_STYLE_ID; style.textContent = CSS; document.head.appendChild(style); diff --git a/plugin-src/client/channels/feishu/index.js b/plugin-src/client/channels/feishu/index.js index bb77722..3f506ce 100644 --- a/plugin-src/client/channels/feishu/index.js +++ b/plugin-src/client/channels/feishu/index.js @@ -6,7 +6,6 @@ import { h } from "../../i18n.js"; import { FEISHU_ENDPOINTS, FEISHU_REGISTRATION_OPERATIONS, - FEISHU_RPC_CHANNEL, formatRemaining, normalizeBotsSnapshot, normalizeGroupResponseMode, @@ -28,11 +27,6 @@ import { ChannelListHeading, LastMessageErrorSummary, } from "../../channel-card-meta.js"; -import { installFeishuStyles } from "./styles.js"; - -export const name = "feishu-settings"; -export const inject = ["slots", "connection"]; - const CALLBACK_REPAIR_OPERATION = FEISHU_REGISTRATION_OPERATIONS.CALLBACK_REPAIR; const GROUP_MESSAGE_PERMISSION_OPERATION = FEISHU_REGISTRATION_OPERATIONS.GROUP_MESSAGE_PERMISSION; @@ -1540,26 +1534,3 @@ export function FeishuSettingsTab({ rpcCall }) { ), )); } - -export function apply(ctx) { - ctx.effect( - () => installFeishuStyles(), - "feishu-settings: install client styles", - ); - - const rpcCall = (endpoint, payload, signal) => - ctx.connection.rpc.call(FEISHU_RPC_CHANNEL, endpoint, payload, signal); - - ctx.slots.inject("settings.plugins.tab", () => - ctx.slots.register( - { - name: "settings.plugins.tab", - id: "feishu", - order: 20, - label: "飞书", - inject: () => ({ rpcCall }), - }, - FeishuSettingsTab, - ), - ); -} diff --git a/plugin-src/client/channels/feishu/styles.js b/plugin-src/client/channels/feishu/styles.js index 82bb1df..ba000da 100644 --- a/plugin-src/client/channels/feishu/styles.js +++ b/plugin-src/client/channels/feishu/styles.js @@ -1,4 +1,4 @@ -export const FEISHU_STYLE_ID = "beihuixinghe-dsh-feishu-settings"; +export const FEISHU_STYLE_ID = "xmanrui-dsh-im-feishu-settings"; const CSS = String.raw` .bxf-page { @@ -562,7 +562,7 @@ export function installFeishuStyles() { } const style = document.createElement("style"); - style.dataset.plugin = "@xmanrui/dsh-feishu"; + style.dataset.plugin = "@xmanrui/dsh-im"; style.dataset.pluginCss = FEISHU_STYLE_ID; style.textContent = CSS; document.head.appendChild(style); diff --git a/plugin-src/client/channels/qq/index.js b/plugin-src/client/channels/qq/index.js index bd69277..80a53f5 100644 --- a/plugin-src/client/channels/qq/index.js +++ b/plugin-src/client/channels/qq/index.js @@ -18,7 +18,6 @@ import { import { installDingtalkStyles } from '../dingtalk/styles.js'; import { QQ_ENDPOINTS, - QQ_RPC_CHANNEL, connectionTestFeedback, formatRemaining, normalizeProvisioning, @@ -514,11 +513,3 @@ export function QqSettingsTab({ rpcCall }) { ? h(EmptyView, { busy, onStart: () => void startProvisioning() }) : null, botList))); } - -export function apply(ctx) { - ctx.effect(() => installQqStyles(), 'qq-settings: install client styles'); - const rpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(QQ_RPC_CHANNEL, endpoint, payload, signal); - ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({ - name: 'settings.plugins.tab', id: 'qq', order: 50, label: 'QQ', inject: () => ({ rpcCall }), - }, QqSettingsTab)); -} diff --git a/plugin-src/client/channels/wecom/index.js b/plugin-src/client/channels/wecom/index.js index 18cdfa5..364a2b3 100644 --- a/plugin-src/client/channels/wecom/index.js +++ b/plugin-src/client/channels/wecom/index.js @@ -18,7 +18,6 @@ import { import { installDingtalkStyles } from '../dingtalk/styles.js'; import { WECOM_ENDPOINTS, - WECOM_RPC_CHANNEL, formatRemaining, normalizeProvisioning, normalizeSnapshot, @@ -546,11 +545,3 @@ export function WecomSettingsTab({ rpcCall }) { ? h(EmptyView, { busy, onStart: () => void startProvisioning() }) : null, botList))); } - -export function apply(ctx) { - ctx.effect(() => installWecomStyles(), 'wecom-settings: install client styles'); - const rpcCall = (endpoint, payload, signal) => ctx.connection.rpc.call(WECOM_RPC_CHANNEL, endpoint, payload, signal); - ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({ - name: 'settings.plugins.tab', id: 'wecom', order: 45, label: '企业微信', inject: () => ({ rpcCall }), - }, WecomSettingsTab)); -} diff --git a/plugin-src/client/channels/weixin/index.js b/plugin-src/client/channels/weixin/index.js index d2ddef8..4b0796c 100644 --- a/plugin-src/client/channels/weixin/index.js +++ b/plugin-src/client/channels/weixin/index.js @@ -5,7 +5,6 @@ import { QrActionIcon } from '../../credential-binding.js'; import { h } from '../../i18n.js'; import { WEIXIN_ENDPOINTS, - WEIXIN_RPC_CHANNEL, formatRemaining, normalizeProvisioning, normalizeSnapshot, @@ -27,11 +26,6 @@ import { ChannelListHeading, LastMessageErrorSummary, } from '../../channel-card-meta.js'; -import { installWeixinStyles } from './styles.js'; - -export const name = 'weixin-settings'; -export const inject = ['slots', 'connection']; - const Button = React.forwardRef(function Button( { children, kind = 'secondary', className = '', ...props }, ref, @@ -717,16 +711,3 @@ export function WeixinSettingsTab({ rpcCall }) { : null), )); } - -export function apply(ctx) { - ctx.effect(() => installWeixinStyles(), 'weixin-settings: install client styles'); - const rpcCall = (endpoint, payload, signal) => - ctx.connection.rpc.call(WEIXIN_RPC_CHANNEL, endpoint, payload, signal); - ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({ - name: 'settings.plugins.tab', - id: 'weixin', - order: 30, - label: '微信', - inject: () => ({ rpcCall }), - }, WeixinSettingsTab)); -} diff --git a/plugin-src/client/channels/weixin/styles.js b/plugin-src/client/channels/weixin/styles.js index ff66905..152e2c0 100644 --- a/plugin-src/client/channels/weixin/styles.js +++ b/plugin-src/client/channels/weixin/styles.js @@ -1,4 +1,4 @@ -export const WEIXIN_STYLE_ID = 'xmanrui-dsh-weixin-settings'; +export const WEIXIN_STYLE_ID = 'xmanrui-dsh-im-weixin-settings'; const CSS = String.raw` .dxw-page { @@ -107,7 +107,7 @@ export function installWeixinStyles() { const existing = document.querySelector(`style[data-plugin-css="${WEIXIN_STYLE_ID}"]`); if (existing) return () => {}; const style = document.createElement('style'); - style.dataset.plugin = '@xmanrui/dsh-weixin'; + style.dataset.plugin = '@xmanrui/dsh-im'; style.dataset.pluginCss = WEIXIN_STYLE_ID; style.textContent = CSS; document.head.appendChild(style); diff --git a/plugin-src/client/index.js b/plugin-src/client/index.js index e2dfe61..5265d13 100644 --- a/plugin-src/client/index.js +++ b/plugin-src/client/index.js @@ -333,10 +333,10 @@ export function apply(ctx) { pickDirectory: () => ctx.workspaces.pickDirectory(), }); - ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({ - name: 'settings.plugins.tab', - id: 'im', - order: 20, + ctx.slots.inject('settings.section', () => ctx.slots.register({ + name: 'settings.section', + id: 'xmanrui-dsh-im', + order: 21, label: () => t('IM机器人'), locale: IM_LOCALE_NAMESPACE, inject: () => ({ diff --git a/scripts/verify-package.mjs b/scripts/verify-package.mjs index 2036a16..2df1d81 100644 --- a/scripts/verify-package.mjs +++ b/scripts/verify-package.mjs @@ -1,8 +1,23 @@ -import { access, readFile, stat } from 'node:fs/promises'; +import { access, readFile, readdir, stat } from 'node:fs/promises'; import { resolve } from 'node:path'; import { pathToFileURL } from 'node:url'; const root = resolve(import.meta.dirname, '..'); + +async function readSourceTree(directory) { + const entries = await readdir(directory, { withFileTypes: true }); + const chunks = []; + for (const entry of entries) { + const path = resolve(directory, entry.name); + if (entry.isDirectory()) { + chunks.push(await readSourceTree(path)); + } else if (entry.isFile() && /\.m?js$/u.test(entry.name)) { + chunks.push(await readFile(path, 'utf8')); + } + } + return chunks.join('\n'); +} + const required = [ 'lib/index.js', 'lib/client.js', @@ -35,7 +50,17 @@ const required = [ ]; await Promise.all(required.map((path) => access(resolve(root, path)))); -const [client, host, patch, manifestText, lockText, hostSource, clientSource, executable] = await Promise.all([ +const [ + client, + host, + patch, + manifestText, + lockText, + hostSource, + clientEntrySource, + clientSources, + executable, +] = await Promise.all([ readFile(resolve(root, 'lib/client.js'), 'utf8'), readFile(resolve(root, 'lib/index.js'), 'utf8'), readFile(resolve(root, 'cordis.patch.yml'), 'utf8'), @@ -43,6 +68,7 @@ const [client, host, patch, manifestText, lockText, hostSource, clientSource, ex readFile(resolve(root, 'package-lock.json'), 'utf8'), readFile(resolve(root, 'plugin-src/host/index.mjs'), 'utf8'), readFile(resolve(root, 'plugin-src/client/index.js'), 'utf8'), + readSourceTree(resolve(root, 'plugin-src/client')), stat(resolve(root, 'bin/dsh-im.mjs')), ]); const manifest = JSON.parse(manifestText); @@ -82,17 +108,28 @@ if (forbiddenDshLockPaths.length > 0) { ); } -if (!client.includes('id: "@xmanrui/dsh-im"')) { +if (!/\bid\s*:\s*["']@xmanrui\/dsh-im["']/u.test(client)) { throw new Error('client bundle does not register the dsh-im loader id'); } -if (!client.includes('id: "im"') - || !client.includes('label: () => t("IM\\u673A\\u5668\\u4EBA")') - || !client.includes('locale: IM_LOCALE_NAMESPACE') - || !client.includes('IM_LOCALE_NAMESPACE = "dsh-im"')) { - throw new Error('client bundle does not register the localized IM settings tab'); +const sourceSectionMarkers = [ + /ctx\.slots\.inject\(\s*["']settings\.section["']/u, + /name\s*:\s*["']settings\.section["']/u, + /id\s*:\s*["']xmanrui-dsh-im["']/u, + /order\s*:\s*21\b/u, + /label\s*:\s*\(\)\s*=>\s*t\(\s*["']IM机器人["']\s*\)/u, + /locale\s*:\s*IM_LOCALE_NAMESPACE\b/u, +]; +const bundleSectionPattern = /name\s*:\s*["']settings\.section["']\s*,\s*id\s*:\s*["']xmanrui-dsh-im["']\s*,\s*order\s*:\s*21\s*,\s*label\s*:\s*\(\)\s*=>\s*[$A-Z_a-z][$\w]*\(\s*["']IM(?:机器人|\\u673A\\u5668\\u4EBA)["']\s*\)\s*,\s*locale\s*:\s*(?:[$A-Z_a-z][$\w]*|["']dsh-im["'])/u; +if (sourceSectionMarkers.some((pattern) => !pattern.test(clientEntrySource)) + || !/IM_LOCALE_NAMESPACE\s*=\s*["']dsh-im["']/u.test(clientSources) + || !bundleSectionPattern.test(client)) { + throw new Error('client bundle does not register the localized top-level IM settings section'); } -if ((client.match(/ctx\.slots\.inject\("settings\.plugins\.tab"/g) ?? []).length !== 1) { - throw new Error('client bundle must register exactly one settings tab'); +if ((client.match(/\.slots\.inject\(\s*["']settings\.section["']/gu) ?? []).length !== 1) { + throw new Error('client bundle must register exactly one top-level settings section'); +} +if (client.includes('settings.plugins.tab') || clientSources.includes('settings.plugins.tab')) { + throw new Error('client source or bundle still contains the legacy Plugins-tab settings entry'); } if (/role:\s*["']switch|type:\s*["']checkbox/.test(client)) { throw new Error('client bundle contains a channel enable switch'); @@ -115,7 +152,7 @@ if (/@xmanrui\/dsh-(?:feishu|weixin|dingtalk)/.test(host)) { throw new Error('host bundle still imports an external channel plugin'); } if (/@xmanrui\/dsh-(?:feishu|weixin|dingtalk)/.test( - manifestText + lockText + hostSource + clientSource, + manifestText + lockText + hostSource + clientSources, )) { throw new Error('source or package metadata still depends on an external channel plugin'); } diff --git a/src/channels/feishu/bridge.mjs b/src/channels/feishu/bridge.mjs index 2180162..46e0a88 100644 --- a/src/channels/feishu/bridge.mjs +++ b/src/channels/feishu/bridge.mjs @@ -159,7 +159,7 @@ function artifactFailureText(fileName, error) { const name = String(fileName ?? t('结果文件')).replace(/[\r\n]+/g, ' ').trim() || t('结果文件'); switch (error?.code) { case 'artifact-permission-required': - return t('结果文件「{name}」已生成,但机器人缺少飞书文件上传权限 im:resource。请私聊机器人执行 /repair 命令,或者在插件页面点击“补全权限”按钮并扫码。完成飞书要求的发布审批后重试。', { name }); + return t('结果文件「{name}」已生成,但机器人缺少飞书文件上传权限 im:resource。请私聊机器人执行 /repair 命令,或者在「IM机器人」设置页点击“补全权限”按钮并扫码。完成飞书要求的发布审批后重试。', { name }); case 'artifact-too-large': return t('结果文件「{name}」超过飞书 30 MB 上限,未发送。', { name }); case 'artifact-empty': diff --git a/src/channels/feishu/message-utils.mjs b/src/channels/feishu/message-utils.mjs index 4e1558f..22f89cc 100644 --- a/src/channels/feishu/message-utils.mjs +++ b/src/channels/feishu/message-utils.mjs @@ -5,7 +5,7 @@ const FEISHU_MISSING_MESSAGE_SCOPE_CODE = 99991672; const FEISHU_ERROR_BODY_LIMIT = 64 * 1024; const FEISHU_ERROR_BODY_TIMEOUT_MS = 1_000; const FEISHU_IMAGE_PERMISSION_MESSAGE = - '飞书机器人缺少图片读取权限 im:message:readonly(飞书显示为“获取单聊、群组消息”)。请私聊机器人执行 /repair 命令,或者在插件页面点击“补全权限”按钮并扫码。按飞书提示发布新版本、完成必要审批后,再重新发送图片。'; + '飞书机器人缺少图片读取权限 im:message:readonly(飞书显示为“获取单聊、群组消息”)。请私聊机器人执行 /repair 命令,或者在「IM机器人」设置页点击“补全权限”按钮并扫码。按飞书提示发布新版本、完成必要审批后,再重新发送图片。'; export function conversationKey(event) { const chatType = event?.message?.chat_type; diff --git a/src/channels/shared/connection-test.mjs b/src/channels/shared/connection-test.mjs index 7271090..09b0e9a 100644 --- a/src/channels/shared/connection-test.mjs +++ b/src/channels/shared/connection-test.mjs @@ -29,7 +29,7 @@ export function connectionTestTarget(state) { export function connectionTestMessage(botName, channelLabel = t('机器人')) { const name = cleanText(botName) ?? channelLabel; - return `${t('✅ DeepSeek Harness 连接测试成功')}\n${t('这条消息由插件页面中的“{name}”机器人卡片发出。', { name })}`; + return `${t('✅ DeepSeek Harness 连接测试成功')}\n${t('这条消息由「IM机器人」设置页中的“{name}”机器人卡片发出。', { name })}`; } export function connectionTestTargetUnavailable(channelLabel = t('机器人')) { diff --git a/src/channels/shared/i18n-en/feishu.mjs b/src/channels/shared/i18n-en/feishu.mjs index c59d369..9343cef 100644 --- a/src/channels/shared/i18n-en/feishu.mjs +++ b/src/channels/shared/i18n-en/feishu.mjs @@ -18,8 +18,8 @@ export default { '机器人正在移除或已重新接入,无法操作原会话的工作区。': 'The bot is being removed or has been reconnected; the original session’s workspace cannot be changed.', '操作失败,请稍后重试。': 'The operation failed. Please try again later.', - '结果文件「{name}」已生成,但机器人缺少飞书文件上传权限 im:resource。请私聊机器人执行 /repair 命令,或者在插件页面点击“补全权限”按钮并扫码。完成飞书要求的发布审批后重试。': - 'The result file "{name}" was generated, but the bot lacks the Feishu file-upload scope im:resource. Run /repair in a direct chat with the bot, or click the “Complete permissions” button on the plugin page and scan the QR code. Complete any publishing approval Feishu requires, then try again.', + '结果文件「{name}」已生成,但机器人缺少飞书文件上传权限 im:resource。请私聊机器人执行 /repair 命令,或者在「IM机器人」设置页点击“补全权限”按钮并扫码。完成飞书要求的发布审批后重试。': + 'The result file "{name}" was generated, but the bot lacks the Feishu file-upload scope im:resource. Run /repair in a direct chat with the bot, or click the “Complete permissions” button on the IM Bot settings page and scan the QR code. Complete any publishing approval Feishu requires, then try again.', '结果文件「{name}」超过飞书 30 MB 上限,未发送。': 'The result file "{name}" exceeds the Feishu 30 MB limit and was not sent.', '结果文件「{name}」为空,飞书不允许发送空文件。': @@ -28,8 +28,8 @@ export default { 'The result file "{name}" was temporarily rate-limited by Feishu and could not be sent. Please try again later.', '结果文件「{name}」已生成,但暂时未能发送,请稍后重试。': 'The result file "{name}" was generated but could not be sent right now. Please try again later.', - '处理失败,请稍后重试。如果问题持续,请在 DeepSeek Harness 的飞书插件页面检查连接状态。': - 'Message processing failed. Please try again later. If the problem persists, check the connection status on the Feishu plugin page in DeepSeek Harness.', + '处理失败,请稍后重试。如果问题持续,请在 DeepSeek Harness 的「IM机器人」设置页检查飞书连接状态。': + 'Message processing failed. Please try again later. If the problem persists, check the Feishu connection status on the IM Bot settings page in DeepSeek Harness.', '已开启全新 Harness 会话。': 'A brand-new Harness session has started.', '飞书机器人与 DeepSeek Harness 连接正常。': 'The Feishu bot is connected to DeepSeek Harness and working normally.', @@ -338,8 +338,8 @@ export default { '飞书机器人': 'Feishu bot', // feishu/message-utils.mjs - '飞书机器人缺少图片读取权限 im:message:readonly(飞书显示为“获取单聊、群组消息”)。请私聊机器人执行 /repair 命令,或者在插件页面点击“补全权限”按钮并扫码。按飞书提示发布新版本、完成必要审批后,再重新发送图片。': - 'The Feishu bot is missing the image-read scope im:message:readonly, shown by Feishu as “Read direct and group messages.” Run /repair in a direct chat with the bot, or click the “Complete permissions” button on the plugin page and scan the QR code. Publish a new version and complete any approval requested by Feishu, then resend the image.', + '飞书机器人缺少图片读取权限 im:message:readonly(飞书显示为“获取单聊、群组消息”)。请私聊机器人执行 /repair 命令,或者在「IM机器人」设置页点击“补全权限”按钮并扫码。按飞书提示发布新版本、完成必要审批后,再重新发送图片。': + 'The Feishu bot is missing the image-read scope im:message:readonly, shown by Feishu as “Read direct and group messages.” Run /repair in a direct chat with the bot, or click the “Complete permissions” button on the IM Bot settings page and scan the QR code. Publish a new version and complete any approval requested by Feishu, then resend the image.', // feishu/feishu-runtime.mjs — callback probe notices '✅ 修复完成:已实测收到 card.action.trigger,菜单按钮现在可用。': diff --git a/src/channels/shared/i18n-en/shared-c.mjs b/src/channels/shared/i18n-en/shared-c.mjs index 4374687..9677348 100644 --- a/src/channels/shared/i18n-en/shared-c.mjs +++ b/src/channels/shared/i18n-en/shared-c.mjs @@ -73,8 +73,8 @@ export default { // connection-test.mjs '✅ DeepSeek Harness 连接测试成功': '✅ DeepSeek Harness connection test succeeded', - '这条消息由插件页面中的“{name}”机器人卡片发出。': - 'This message was sent from the "{name}" bot card on the plugin page.', + '这条消息由「IM机器人」设置页中的“{name}”机器人卡片发出。': + 'This message was sent from the "{name}" bot card on the IM Bot settings page.', '{channelLabel}尚未收到可用于测试的私聊消息。': 'The {channelLabel} has not received a direct message that can be used for testing yet.', '机器人': 'bot', diff --git a/test/channels/dingtalk/client-ui.test.mjs b/test/channels/dingtalk/client-ui.test.mjs index 72e5f62..11a98ad 100644 --- a/test/channels/dingtalk/client-ui.test.mjs +++ b/test/channels/dingtalk/client-ui.test.mjs @@ -5,15 +5,11 @@ import test from 'node:test'; const CLIENT_URL = new URL('../../../plugin-src/client/channels/dingtalk/index.js', import.meta.url); const STYLES_URL = new URL('../../../plugin-src/client/channels/dingtalk/styles.js', import.meta.url); -test('standalone client exports a reusable settings component and registration', async () => { +test('channel client exports a reusable settings component without a standalone settings registration', async () => { const source = await readFile(CLIENT_URL, 'utf8'); - assert.match(source, /export const name = 'dingtalk-settings'/); - assert.match(source, /export const inject = \['slots', 'connection'\]/); assert.match(source, /export function DingtalkSettingsTab\(\{ rpcCall \}\)/); - assert.match(source, /export function apply\(ctx\)/); - assert.match(source, /ctx\.connection\.rpc\.call\(DINGTALK_RPC_CHANNEL/); - assert.match(source, /id: 'dingtalk'/); - assert.match(source, /label: '钉钉'/); + assert.doesNotMatch(source, /export function apply\(ctx\)/); + assert.doesNotMatch(source, /settings\.plugins\.tab/); }); test('QR guidance describes the complete official DingTalk authorization flow', async () => { diff --git a/test/channels/feishu/bridge.test.mjs b/test/channels/feishu/bridge.test.mjs index a9cc7c7..8dfccfd 100644 --- a/test/channels/feishu/bridge.test.mjs +++ b/test/channels/feishu/bridge.test.mjs @@ -993,7 +993,7 @@ test('bridge tells users to grant im:message:readonly when Feishu rejects image assert.match(sent[0], /im:message:readonly/); assert.match(sent[0], /\/repair/); assert.match(sent[0], /发布新版本/); - assert.match(sent[0], /插件页面/); + assert.match(sent[0], /「IM机器人」设置页/); assert.match(sent[0], /补全权限/); assert.doesNotMatch(sent[0], /99991672|HTTP 400|secret-shaped|private\/path/); }); diff --git a/test/channels/feishu/message-utils.test.mjs b/test/channels/feishu/message-utils.test.mjs index d14d1ae..fb0f857 100644 --- a/test/channels/feishu/message-utils.test.mjs +++ b/test/channels/feishu/message-utils.test.mjs @@ -184,7 +184,7 @@ test('Feishu image loading maps the missing message scope to an actionable error assert.equal(error.code, 'feishu-image-permission-required'); assert.match(error.userMessage, /im:message:readonly/); assert.match(error.userMessage, /\/repair/); - assert.match(error.userMessage, /插件页面/); + assert.match(error.userMessage, /「IM机器人」设置页/); assert.match(error.userMessage, /补全权限/); assert.match(error.userMessage, /发布新版本/); assert.equal(error.cause, providerError); diff --git a/test/channels/feishu/multi-bot-controller.test.mjs b/test/channels/feishu/multi-bot-controller.test.mjs index 36fa01e..def76f3 100644 --- a/test/channels/feishu/multi-bot-controller.test.mjs +++ b/test/channels/feishu/multi-bot-controller.test.mjs @@ -791,7 +791,7 @@ test('connection test uses the selected bot runtime and shared message copy', as await fx.controller.initialize(); assert.deepEqual(await fx.controller.sendConnectionTest(healthy.id), { sent: true }); assert.deepEqual(fx.runtimes.get(healthy.id)[0].sentTests, [ - '✅ DeepSeek Harness 连接测试成功\n这条消息由插件页面中的“机器人 healthy(cli_heal••••7890)”机器人卡片发出。', + '✅ DeepSeek Harness 连接测试成功\n这条消息由「IM机器人」设置页中的“机器人 healthy(cli_heal••••7890)”机器人卡片发出。', ]); await fx.controller.close(); }); diff --git a/test/channels/whatsapp/whatsapp.test.mjs b/test/channels/whatsapp/whatsapp.test.mjs index 4f7ea5c..9a9830c 100644 --- a/test/channels/whatsapp/whatsapp.test.mjs +++ b/test/channels/whatsapp/whatsapp.test.mjs @@ -1378,7 +1378,7 @@ test('WhatsApp controller delegates connection test copy to the current runtime' await controller.initialize(); assert.deepEqual(await controller.sendConnectionTest(config.botId), { sent: true }); assert.deepEqual(sent, [ - '✅ DeepSeek Harness 连接测试成功\n这条消息由插件页面中的“Harness WhatsApp(1650••••0123)”机器人卡片发出。', + '✅ DeepSeek Harness 连接测试成功\n这条消息由「IM机器人」设置页中的“Harness WhatsApp(1650••••0123)”机器人卡片发出。', ]); }); diff --git a/test/client-ui.test.mjs b/test/client-ui.test.mjs index 1e12ccd..790815d 100644 --- a/test/client-ui.test.mjs +++ b/test/client-ui.test.mjs @@ -664,7 +664,21 @@ test('every shipped Chinese client string has an English projection', async () = } }); -test('client registers a live bilingual locale seat and directory picker for the IM settings tab', async () => { +test('client source contains no legacy Plugins-tab settings registrations', async () => { + const paths = (await readdir(CLIENT_SOURCE_DIRECTORY_URL, { recursive: true })) + .filter((path) => path.endsWith('.js')); + const sources = await Promise.all(paths.map(async (path) => ({ + path, + source: await readFile(new URL(path, CLIENT_SOURCE_DIRECTORY_URL), 'utf8'), + }))); + const legacy = sources + .filter(({ source }) => source.includes('settings.plugins.tab')) + .map(({ path }) => path); + + assert.deepEqual(legacy, []); +}); + +test('client registers one top-level bilingual IM settings section with a directory picker', async () => { const effects = []; const registrations = []; const dictionaries = []; @@ -697,7 +711,7 @@ test('client registers a live bilingual locale seat and directory picker for the }, slots: { inject(name, install) { - assert.equal(name, 'settings.plugins.tab'); + assert.equal(name, 'settings.section'); install(); }, register(options, component) { @@ -717,8 +731,12 @@ test('client registers a live bilingual locale seat and directory picker for the assert.equal(dictionaries[0].namespace, IM_LOCALE_NAMESPACE); assert.deepEqual(Object.keys(dictionaries[0].value.en).sort(), Object.keys(dictionaries[0].value.zh).sort()); assert.equal(registrations.length, 1); + assert.equal(registrations[0].options.name, 'settings.section'); + assert.equal(registrations[0].options.id, 'xmanrui-dsh-im'); + assert.equal(registrations[0].options.order, 21); assert.equal(registrations[0].options.locale, IM_LOCALE_NAMESPACE); assert.equal(registrations[0].options.label(), 'IM bots'); + assert.equal(registrations[0].component, IMSettingsTab); const injected = registrations[0].options.inject(); const signal = new AbortController().signal; diff --git a/test/loopback-recovery.test.mjs b/test/loopback-recovery.test.mjs index 2254483..1c7e707 100644 --- a/test/loopback-recovery.test.mjs +++ b/test/loopback-recovery.test.mjs @@ -20,11 +20,11 @@ const WEIXIN_FORBIDDEN = new Error( test('creates a localhost recovery target for the known loopback transport 403', () => { const recovery = createLoopbackRecovery(WEIXIN_FORBIDDEN, { - href: 'http://127.0.0.1:3080/settings?tab=plugins#im', + href: 'http://127.0.0.1:3080/settings', }); assert.deepEqual(recovery, { - url: 'http://localhost:3080/settings?tab=plugins#im', + url: 'http://localhost:3080/settings', origin: 'http://localhost:3080', }); assert.deepEqual(createLoopbackRecovery(WEIXIN_FORBIDDEN, { @@ -103,7 +103,7 @@ test('RPC wrappers preserve successful results, unrelated errors, and missing op test('recovery notice exposes one localized navigation action', () => { const recovery = { - url: 'http://localhost:3080/settings?tab=plugins#im', + url: 'http://localhost:3080/settings', origin: 'http://localhost:3080', }; const element = LoopbackRecoveryNotice({ recovery, onNavigate() {} });

JPm(qdF~#4Ivw6NNn?H}&7Ym)= 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 )v(IDNPu;n!<9q2yT_3tx1 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

td!B^=ecAvw36v=Jd4Zp_nD+w9d}3;z>XC# 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