@tencent-ai/codebuddy-code 1.2.1 → 1.3.0-next.8dd6e35.20250927
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -1
- package/dist/422.codebuddy.js +1 -1
- package/dist/codebuddy.js +1 -1
- package/package.json +4 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +5 -5
- package/vendor/ripgrep/COPYING +3 -0
- package/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/vendor/ripgrep/arm64-darwin/ripgrep.node +0 -0
- package/vendor/ripgrep/arm64-linux/rg +0 -0
- package/vendor/ripgrep/arm64-linux/ripgrep.node +0 -0
- package/vendor/ripgrep/x64-darwin/rg +0 -0
- package/vendor/ripgrep/x64-darwin/ripgrep.node +0 -0
- package/vendor/ripgrep/x64-linux/rg +0 -0
- package/vendor/ripgrep/x64-linux/ripgrep.node +0 -0
- package/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/vendor/ripgrep/x64-win32/ripgrep.node +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,41 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
|
|
|
4
4
|
|
|
5
5
|
我们遵循 [语义化版本](https://semver.org/spec/v2.0.0.html) 规范。
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 未发布版本
|
|
8
|
+
|
|
9
|
+
### 🐛 问题修复
|
|
10
|
+
- **输入框展示**:修改在windows下一些按键或组合键导致输入框异常问题
|
|
11
|
+
- **MCP配置管理修复**:修复删除用户级别MCP服务器时误删本地级别服务器配置的问题
|
|
12
|
+
- **权限绕过模式修复**:修复权限绕过模式下MCP工具仍需要用户确认的问题
|
|
13
|
+
|
|
14
|
+
### ✨ 新功能
|
|
15
|
+
- **Bashes命令面板**:新增 Bashes 命令面板,支持快捷执行常用脚本
|
|
16
|
+
- **MCP配置参数增强**:新增--mcp-config和--strict-mcp-config命令行参数,支持灵活的配置文件指定和严格模式控制
|
|
17
|
+
|
|
18
|
+
### 🔧 功能改进
|
|
19
|
+
- **JSON解析增强**:扩展字符串JSON解析功能,支持多种格式和错误处理
|
|
20
|
+
- **提示语优化**:修复MCP命令提示语中的标点符号错误
|
|
21
|
+
- **文件路径处理增强**:优化文件列表工具,支持相对路径和绝对路径,提升文件操作灵活性
|
|
22
|
+
- **命令命名增强**:优化子目录中自定义命令的命名规则,支持层级结构显示
|
|
23
|
+
|
|
24
|
+
## [1.3.0] - 2025-09-25
|
|
25
|
+
|
|
26
|
+
### ✨ 新功能
|
|
27
|
+
- **JSON流协议支持**:新增JSON流协议类型,支持实时数据流处理和高效的流式交互
|
|
28
|
+
- **流式视图处理**:新增专门的流视图处理组件,优化流式数据的展示和用户体验
|
|
29
|
+
|
|
30
|
+
### 🔧 功能改进
|
|
31
|
+
- **MCP工具权限过滤**:新增基于权限规则的MCP工具过滤机制,支持服务器级和工具级的精确权限控制
|
|
32
|
+
- **流协议缓存优化**:移除不必要的缓存参数,提升流处理性能
|
|
33
|
+
- **订阅逻辑重构**:精简订阅处理逻辑,改进完成条件判断机制
|
|
34
|
+
- **事件源工具**:新增事件源处理工具,增强流式数据处理能力
|
|
35
|
+
- **Token使用阈值优化**:调整输入Token使用阈值配置,提升系统性能和用户体验
|
|
36
|
+
- **加载框提示**:简化了提示逻辑
|
|
37
|
+
- **Help展示当前支持模型**:help命令展示当前模型标识
|
|
38
|
+
- **memory支持文件链接**:/memory支持点击链接打开文件
|
|
39
|
+
- **mcp提示语修改**:修改没有mcp服务时mcp指令的提示语
|
|
40
|
+
- **预编译二进制文件**:内置跨平台 ripgrep 预编译二进制文件,提升首次使用体验和离线可用性
|
|
41
|
+
- **模型配置优化**:增强自定义模型配置支持,改进模型回退机制和配置匹配逻辑
|
|
8
42
|
|
|
9
43
|
## [1.2.1] - 2025-09-25
|
|
10
44
|
|
package/dist/422.codebuddy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=422,exports.ids=[422],exports.modules={7422:(e,t,n)=>{n.a(e,(async(e,r)=>{try{n.r(t),n.d(t,{LoginView:()=>LoginView});var l=n(80699),o=n(80932),a=n(14083),c=n(96540),i=n(66814),s=n(24645),u=n(
|
|
1
|
+
"use strict";exports.id=422,exports.ids=[422],exports.modules={7422:(e,t,n)=>{n.a(e,(async(e,r)=>{try{n.r(t),n.d(t,{LoginView:()=>LoginView});var l=n(80699),o=n(80932),a=n(14083),c=n(96540),i=n(66814),s=n(24645),u=n(68729),E=n(82101),m=n(34209),d=n(53829),g=n(49034),h=n(47693),b=n(83175),y=n(42790),p=e([a,E,d,g,y]);[a,E,d,g,y]=p.then?(await p)():p;const LoginView=()=>{const e=(0,i.i7)(d.Gb,(e=>e.staticKey));return c.createElement(c.Fragment,null,c.createElement(a.jC,{key:`login-view-${e}`,items:[c.createElement(LogoBox,{key:"logo-box"})]},(e=>e)),c.createElement(LoginBox,null))},LogoBox=()=>{const e=`Welcome to ${m.KR}`,t=e.length+8;return c.createElement(c.Fragment,null,c.createElement(a.az,{paddingLeft:1,borderStyle:"round",borderColor:b.Q.brand,width:t},c.createElement(a.EY,{color:b.Q.brand},"✻ ",e)),c.createElement(y.H,null))},f={iOA:"iOA",WeChat:"internal","Google / Github":"external"},LoginBox=()=>{const{authSession:e,replace:t,history:n}=(0,i.i7)(d.aO,(e=>({authSession:e.authSession,replace:e.replace,history:e.history}))),r=(0,i.i7)(d.Gb,(e=>e.refreshStatic)),[m,y]=(0,c.useState)("idle"),[p,C]=(0,c.useState)(""),[w,A]=(0,c.useState)(!1),[G,S]=(0,c.useState)(""),[O,Y]=(0,c.useState)("iOA"),[k,z]=(0,c.useState)(!1),x=(0,c.useRef)(new AbortController),W=(0,c.useMemo)((()=>{const e=["Google / Github","WeChat"];return k&&e.unshift("iOA"),Y((()=>e[0])),e}),[k]);(0,c.useEffect)((()=>{const e=(0,h.bi)().urlSubject.subscribe(C);return()=>e.unsubscribe()}),[]),(0,c.useEffect)((()=>{(async()=>{if(p){const e=await u.E.copyToClipboard(p);A(e)}})()}),[p]),(0,c.useEffect)((()=>{(async()=>{try{const e=l.ContainerUtil.get(s.Oc),t=await e.isIntranet();z(t),t||"iOA"!==O||Y("Google / Github")}catch(e){z(!1),"iOA"===O&&Y("Google / Github")}})()}),[O]);const R=(0,c.useCallback)((()=>{if(n.length){const e=n[n.length-1];t(e,{onAfterRender:()=>r()})}}),[n,r,t]);return(0,a.Ge)(((t,n)=>{if("idle"===m)if(g.Om.RETURN(n))try{y("loading"),S(""),(0,h.Yf)().login({type:f[O],abortController:x.current,errorHandler:e=>{y("error"),S((()=>e instanceof Error?e.message:"Unknown error occurred"))}})}catch(e){y("error"),S((()=>e instanceof Error?e.message:"Unknown error occurred"))}else if(n.upArrow||n.downArrow){const e=k?["iOA","Google / Github","WeChat"]:["Google / Github","WeChat"],t=e.indexOf(O);let r;r=n.upArrow?t<=0?e.length-1:t-1:t>=e.length-1?0:t+1,Y(e[r])}else g.Om.ESCAPE(n)&&R();else g.Om.ESCAPE(n)&&("loading"===m?(x.current.abort(),x.current=new AbortController):e?R():y("idle"))})),c.createElement(a.az,{marginTop:2,paddingX:1,flexDirection:"column",gap:1},"idle"===m?c.createElement(c.Fragment,null,c.createElement(a.az,null,c.createElement(a.EY,null,"Select login method:")),W.map((e=>c.createElement(a.az,{key:e},c.createElement(a.EY,{color:O===e?b.Q.brand:"grey"},O===e?o.Ay.pointer:" "," Login with ",e)))),c.createElement(a.az,{justifyContent:"space-between"},c.createElement(a.EY,{color:"grey"},"(Use ↑↓ to select, Enter to login)"))):"loading"===m?c.createElement(a.az,{paddingY:1,gap:1,flexDirection:"column"},c.createElement(a.az,null,c.createElement(a.EY,{color:"grey"},"Browser didn't open? Use the url below to sign in: "+(w?"(Copied link to clipboard)":""))),p&&c.createElement(a.az,null,c.createElement(a.EY,{color:"grey"},u.nO.createHyperlink(p))),c.createElement(a.az,{marginTop:1,gap:1},c.createElement(a.EY,{color:b.Q.brand},c.createElement(E.y$,{type:"star"})),c.createElement(a.EY,null,"Waiting for auth... (Press ESC to cancel)"))):"error"===m?c.createElement(c.Fragment,null,c.createElement(a.EY,{color:"red"},"Failed to login. Press esc to return to login"),G&&c.createElement(a.EY,{color:"red"},"Message: ",G)):void 0)};r()}catch(e){r(e)}}))},42790:(e,t,n)=>{n.a(e,(async(e,r)=>{try{n.d(t,{H:()=>LogoText});var l=n(1597),o=n(14083),a=n(96540),c=n(66814),i=n(53829),s=n(83175),u=e([o,i]);[o,i]=u.then?(await u)():u;const LogoText=()=>{const e=(0,c.i7)(i.Gb,(e=>e.terminalWidth)),t=(0,a.useRef)((0,l.Ay)(s.Q.GradientColors)),n=(0,a.useCallback)((e=>t.current.multiline(e)),[t]),r=(0,a.useCallback)((()=>e>115?"\n ██████╗ ██████╗ ██████╗ ███████╗██████╗ ██╗ ██╗██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗\n██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗██║ ██║██╔══██╗██╔══██╗╚██╗ ██╔╝ ██╔════╝██╔═══██╗██╔══██╗██╔════╝\n██║ ██║ ██║██║ ██║█████╗ ██████╔╝██║ ██║██║ ██║██║ ██║ ╚████╔╝ ██║ ██║ ██║██║ ██║█████╗ \n██║ ██║ ██║██║ ██║██╔══╝ ██╔══██╗██║ ██║██║ ██║██║ ██║ ╚██╔╝ ██║ ██║ ██║██║ ██║██╔══╝ \n╚██████╗╚██████╔╝██████╔╝███████╗██████╔╝╚██████╔╝██████╔╝██████╔╝ ██║ ╚██████╗╚██████╔╝██████╔╝███████╗\n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝\n ":" \n ██████╗ ██████╗ ██████╗ ███████╗██████╗ ██╗ ██╗██████╗ ██████╗ ██╗ ██╗\n██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗██║ ██║██╔══██╗██╔══██╗╚██╗ ██╔╝\n██║ ██║ ██║██║ ██║█████╗ ██████╔╝██║ ██║██║ ██║██║ ██║ ╚████╔╝ \n██║ ██║ ██║██║ ██║██╔══╝ ██╔══██╗██║ ██║██║ ██║██║ ██║ ╚██╔╝ \n╚██████╗╚██████╔╝██████╔╝███████╗██████╔╝╚██████╔╝██████╔╝██████╔╝ ██║ \n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ \n \n ██████╗ ██████╗ ██████╗ ███████╗ \n██╔════╝██╔═══██╗██╔══██╗██╔════╝ \n██║ ██║ ██║██║ ██║█████╗ \n██║ ██║ ██║██║ ██║██╔══╝ \n╚██████╗╚██████╔╝██████╔╝███████╗ \n ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ \n "),[e]);return a.createElement(o.dL,{transform:n},a.createElement(o.EY,null,r()))};r()}catch(e){r(e)}}))}};
|