@tencent-ai/codebuddy-code 1.0.7 → 1.0.9
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 +37 -0
- package/dist/422.codebuddy.js +1 -1
- package/dist/632.codebuddy.js +1 -1
- package/dist/codebuddy.js +1 -1
- package/lib/node/index.js +1 -0
- package/package.json +1 -1
- package/product.internal.json +2 -2
- package/product.ioa.json +7 -3
- package/product.json +7 -9
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,43 @@ CodeBuddy Code 的所有重要更新都会记录在这里。
|
|
|
4
4
|
|
|
5
5
|
我们遵循 [语义化版本](https://semver.org/spec/v2.0.0.html) 规范。
|
|
6
6
|
|
|
7
|
+
## [1.0.9] - 2025-09-10
|
|
8
|
+
|
|
9
|
+
### ✨ 新功能
|
|
10
|
+
- **🤖 O4-Mini 模型支持**:新增对 O4-Mini 模型的支持,提供更多模型选择
|
|
11
|
+
- **📚 帮助文档链接**:添加官方帮助文档链接,方便用户查阅使用指南
|
|
12
|
+
- **⚡ 自定义命令增强**:支持自定义命令中的行内 bash 命令执行
|
|
13
|
+
|
|
14
|
+
### 🔧 功能改进
|
|
15
|
+
- **管道输入优化**:改进管道输入检测机制,添加超时处理避免在输出管道时无限等待
|
|
16
|
+
- **命令建议增强**:移除命令建议数量限制,显示所有匹配的命令选项
|
|
17
|
+
- **帮助面板优化**:动态加载命令列表,提升帮助面板的实时性和准确性
|
|
18
|
+
|
|
19
|
+
### 🐛 问题修复
|
|
20
|
+
- **登录流程优化**:修复 /login 后没有刷新页面的逻辑问题
|
|
21
|
+
- **快捷键修复**:修改组合快捷键导致输入框不正常的问题
|
|
22
|
+
- **管道处理稳定性**:修复管道输入读取时的异常处理,提升命令行稳定性
|
|
23
|
+
|
|
24
|
+
### 📖 文档更新
|
|
25
|
+
- **MCP 文档完善**:补充 MCP 服务器优先级、参数及多语言支持等说明
|
|
26
|
+
|
|
27
|
+
## [1.0.8] - 2025-09-10
|
|
28
|
+
|
|
29
|
+
### ✨ 新功能
|
|
30
|
+
- **🚀 GPT5 支持**:新增对 GPT5 模型的完整支持,提供更强大的推理能力
|
|
31
|
+
- **🔌 MCP 协议增强**:优化 Model Context Protocol 集成,支持 HTTP 和 SSE 传输协议,新增 OAuth2 认证支持,提供更灵活的外部工具集成
|
|
32
|
+
- **⚡ 自定义斜杠命令**:新增自定义斜杠命令功能,用户可根据需要扩展 CLI 功能
|
|
33
|
+
- **📝 日志持久化**:增加日志持久化功能,便于问题排查和调试
|
|
34
|
+
|
|
35
|
+
### 🔧 功能改进
|
|
36
|
+
- **Windows 兼容性**:优化 Windows 平台下的快捷键体验
|
|
37
|
+
- **认证体验**:改进服务器认证逻辑,提升登录稳定性
|
|
38
|
+
- **文件搜索**:优化文件搜索功能,修复重复搜索问题
|
|
39
|
+
|
|
40
|
+
### 🐛 问题修复
|
|
41
|
+
- **MCP 连接**:修复 MCP 服务器连接状态检测问题
|
|
42
|
+
- **登录流程**:修复登录页面重复跳转问题,改善用户体验
|
|
43
|
+
|
|
7
44
|
## [1.0.7] - 2025-09-08
|
|
8
45
|
|
|
9
46
|
### ✨ 新功能
|
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 a=n(80699),l=n(80932),o=n(14083),c=n(96540),i=n(66814),s=n(79413),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 a=n(80699),l=n(80932),o=n(14083),c=n(96540),i=n(66814),s=n(79413),u=n(45814),E=n(82101),m=n(34209),g=n(53829),d=n(49034),b=n(47693),h=n(83175),y=n(42790),p=e([o,E,g,d,y]);[o,E,g,d,y]=p.then?(await p)():p;const LoginView=()=>{const e=(0,i.i7)(g.Gb,(e=>e.staticKey));return c.createElement(c.Fragment,null,c.createElement(o.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(o.az,{paddingLeft:1,borderStyle:"round",borderColor:h.Q.brand,width:t},c.createElement(o.EY,{color:h.Q.brand},"✻ ",e)),c.createElement(y.H,null))},f={iOA:"iOA",WeChat:"internal","Google / Github":"external"},LoginBox=()=>{const{authSession:e,navigate:t}=(0,i.i7)(g.aO,(e=>({authSession:e.authSession,navigate:e.navigate}))),[n,r]=(0,c.useState)("idle"),[m,y]=(0,c.useState)(""),[p,w]=(0,c.useState)(!1),[C,G]=(0,c.useState)(""),[A,S]=(0,c.useState)("iOA"),[O,Y]=(0,c.useState)(!1),z=(0,c.useRef)(new AbortController),k=(0,c.useMemo)((()=>{const e=["Google / Github","WeChat"];return O&&e.unshift("iOA"),e}),[O]);return(0,c.useEffect)((()=>{const e=(0,b.bi)().urlSubject.subscribe(y);return()=>e.unsubscribe()}),[]),(0,c.useEffect)((()=>{(async()=>{if(m){const e=await u.E.copyToClipboard(m);w(e)}})()}),[m]),(0,c.useEffect)((()=>{(async()=>{try{const e=a.ContainerUtil.get(s.Oc),t=await e.isIntranet();Y(t),t||"iOA"!==A||S("Google / Github")}catch(e){Y(!1),"iOA"===A&&S("Google / Github")}})()}),[A]),(0,o.Ge)(((a,l)=>{if("idle"===n){if(d.Om.RETURN(l))try{r("loading"),G(""),(0,b.Yf)().login({type:f[A],abortController:z.current})}catch(e){r("error"),G(e instanceof Error?e.message:"Unknown error occurred")}else if(l.upArrow||l.downArrow){const e=O?["iOA","Google / Github","WeChat"]:["Google / Github","WeChat"],t=e.indexOf(A);let n;n=l.upArrow?t<=0?e.length-1:t-1:t>=e.length-1?0:t+1,S(e[n])}}else d.Om.ESCAPE(l)&&("loading"===n?(z.current.abort(),r("idle")):e&&t("/chat"))})),c.createElement(o.az,{marginTop:2,paddingX:1,flexDirection:"column",gap:1},"idle"===n?c.createElement(c.Fragment,null,c.createElement(o.az,null,c.createElement(o.EY,null,"Select login method:")),k.map((e=>c.createElement(o.az,{key:e},c.createElement(o.EY,{color:A===e?h.Q.brand:"grey"},A===e?l.Ay.pointer:" "," Login with ",e)))),c.createElement(o.az,{justifyContent:"space-between"},c.createElement(o.EY,{color:"grey"},"(Use ↑↓ to select, Enter to login)"))):"loading"===n?c.createElement(o.az,{paddingY:1,gap:1,flexDirection:"column"},c.createElement(o.az,null,c.createElement(o.EY,{color:"grey"},"Browser didn't open? Use the url below to sign in: "+(p?"(Copied link to clipboard)":""))),m&&c.createElement(o.az,null,c.createElement(o.EY,{color:"grey"},u.nO.createHyperlink(m))),c.createElement(o.az,{marginTop:1,gap:1},c.createElement(o.EY,{color:h.Q.brand},c.createElement(E.y$,{type:"star"})),c.createElement(o.EY,null,"Waiting for auth... (Press ESC to cancel)"))):"error"===n?c.createElement(c.Fragment,null,c.createElement(o.EY,{color:"red"},"Failed to login."),C&&c.createElement(o.EY,{color:"red"},"Message: ",C)):void 0)};r()}catch(e){r(e)}}))},42790:(e,t,n)=>{n.a(e,(async(e,r)=>{try{n.d(t,{H:()=>LogoText});var a=n(1597),l=n(14083),o=n(96540),c=n(66814),i=n(53829),s=n(83175),u=e([l,i]);[l,i]=u.then?(await u)():u;const LogoText=()=>{const e=(0,c.i7)(i.Gb,(e=>e.terminalWidth)),t=(0,o.useRef)((0,a.Ay)(s.Q.GradientColors)),n=(0,o.useCallback)((e=>t.current.multiline(e)),[t]),r=(0,o.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 o.createElement(l.dL,{transform:n},o.createElement(l.EY,null,r()))};r()}catch(e){r(e)}}))}};
|
package/dist/632.codebuddy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=632,exports.ids=[632],exports.modules={11632:(e,r,t)=>{t.a(e,(async(e,c)=>{try{t.r(r),t.d(r,{McpView:()=>McpView});var l=t(14083),a=t(96540),o=t(66814),n=t(
|
|
1
|
+
"use strict";exports.id=632,exports.ids=[632],exports.modules={11632:(e,r,t)=>{t.a(e,(async(e,c)=>{try{t.r(r),t.d(r,{McpView:()=>McpView});var l=t(14083),a=t(96540),o=t(66814),n=t(92236),s=t(82101),i=t(53829),u=t(49034),m=e([l,s,i,u]);[l,s,i,u]=m.then?(await m)():m;const McpView=()=>a.createElement(MultipleServersConfirm,{servers:[{value:"echo-server4",label:"echo-server4",checked:!0},{value:"echo-server5",label:"echo-server5",checked:!1},{value:"Github-MCP-Server6",label:"Github-MCP-Server6",checked:!0}]}),MultipleServersConfirm=({servers:e})=>{const r=(0,o.i7)(i.aO,(e=>e.navigate)),[t,c]=(0,a.useState)(e),m=(0,a.useRef)(void 0),d=(0,a.useCallback)((e=>{m.current=e}),[]),{links:h}=(0,u.Ip)();(0,l.Ge)(((e,t)=>{if(u.Om.ESCAPE(t)&&r("/chat")," "===e&&m.current){const e=m.current;c((r=>r.map((r=>r.value===e.value?{...r,checked:!r.checked}:r))))}}));const v=t.length;return a.createElement(a.Fragment,null,a.createElement(l.az,{padding:1,gap:1,flexDirection:"column",borderColor:"yellowBright",borderStyle:"round"},a.createElement(l.EY,{color:"yellowBright"},v," new MCP servers found in ",n.DZ),a.createElement(l.EY,null,"Select any you wish to enable."),a.createElement(l.EY,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the MCP documentation ( ",h.mcpHelpDocument||""," )."),a.createElement(s.pp,{items:t,limit:5,itemComponent:ServerItemComponent,onHighlight:d})),a.createElement(l.az,{paddingX:2},a.createElement(l.EY,{color:"grey"},"Space to select · Enter to confirm · Esc to reject all")))},ServerItemComponent=({value:e,checked:r})=>a.createElement(l.EY,{color:r?"green":void 0},e," ",r?"✓":"");c()}catch(e){c(e)}}))}};
|