@tencent-ai/agent-sdk 0.3.231 → 0.3.233-dev.7c8d633.202607292147
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/cli/CHANGELOG.md +24 -0
- package/cli/dist/codebuddy-headless.js +460 -313
- package/cli/dist/web-ui/assets/{index-B1eoHSk4.js → index-Dl8Dlnne.js} +227 -227
- package/cli/dist/web-ui/docs/cn/cli/env-vars.md +1 -1
- package/cli/dist/web-ui/docs/en/cli/env-vars.md +1 -1
- package/cli/dist/web-ui/index.html +1 -1
- package/cli/dist/web-ui/sw.js +1 -1
- package/cli/package.json +6 -5
- package/cli/product.cloudhosted.json +8 -3
- package/cli/product.internal.json +8 -3
- package/cli/product.ioa.json +8 -3
- package/cli/product.json +35 -8
- package/cli/product.selfhosted.json +7 -3
- package/package.json +3 -2
|
@@ -216,7 +216,7 @@ CodeBuddy Code 支持把内部 traces 通过 OTLP 协议上报到用户自有的
|
|
|
216
216
|
| `CODEBUDDY_DISABLE_REQUEST_VALIDATION` | 设置为 `1` 关闭 Gateway 自定义请求头校验(`X-CodeBuddy-Request`)。详见 [HTTP API 安全](./http-api.md#安全) |
|
|
217
217
|
| `CODEBUDDY_CODE_CORS_ORIGINS` | 额外的 CORS 允许来源(逗号分隔)。支持精确 origin、`*.domain` 子域通配和 `*` 全开。如 `https://*.example.com,https://specific.com`。未设置时,若服务绑定 `0.0.0.0`(`--host 0.0.0.0`)则自动允许所有来源 |
|
|
218
218
|
| `SERVER__HOST` | `--serve` 模式监听地址(默认:`127.0.0.1`) |
|
|
219
|
-
| `SERVER__PORT` | `--serve`
|
|
219
|
+
| `SERVER__PORT` | `--serve` 模式监听端口;设为 `0` 时由内核自选端口,服务绑定后该变量会被更新为实际监听端口 |
|
|
220
220
|
|
|
221
221
|
## 企业微信集成
|
|
222
222
|
|
|
@@ -216,7 +216,7 @@ CodeBuddy Code supports reporting internal traces to your own Collector via the
|
|
|
216
216
|
| `CODEBUDDY_DISABLE_REQUEST_VALIDATION` | Set to `1` to disable Gateway custom request header validation (`X-CodeBuddy-Request`). See [HTTP API Security](./http-api.md#security) |
|
|
217
217
|
| `CODEBUDDY_CODE_CORS_ORIGINS` | Additional CORS allowed origins (comma-separated). Supports exact origins, `*.domain` subdomain wildcards, and `*` for all. E.g., `https://*.example.com,https://specific.com`. When unset, if the service is bound to `0.0.0.0` (`--host 0.0.0.0`), all origins are automatically allowed |
|
|
218
218
|
| `SERVER__HOST` | Listen address for `--serve` mode (default: `127.0.0.1`) |
|
|
219
|
-
| `SERVER__PORT` | Listen port for `--serve` mode |
|
|
219
|
+
| `SERVER__PORT` | Listen port for `--serve` mode; set to `0` for a kernel-assigned port — the variable is updated to the actual listening port once the server is bound |
|
|
220
220
|
|
|
221
221
|
## WeCom Integration
|
|
222
222
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
16
16
|
<meta name="mobile-web-app-capable" content="yes">
|
|
17
17
|
<link rel="apple-touch-icon" href="/pwa-icon.svg">
|
|
18
|
-
<script type="module" crossorigin src="/assets/index-
|
|
18
|
+
<script type="module" crossorigin src="/assets/index-Dl8Dlnne.js"></script>
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/markdown-CP9awqWt.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="/assets/vendor-iLJwFVtf.js">
|
|
21
21
|
<link rel="stylesheet" crossorigin href="/assets/index-BmV1Q3hC.css">
|
package/cli/dist/web-ui/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const
|
|
1
|
+
if(!self.define){let e,s={};const n=(n,o)=>(n=new URL(n+".js",o).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(o,i)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let r={};const t=e=>n(e,l),f={module:{uri:l},exports:r,require:t};s[l]=Promise.all(o.map(e=>f[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-fed2bdfe"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sandbox_proxy.html",revision:"e54bd087bf8b90d87d84c3cd8f2c22e9"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"index.html",revision:"384e5ef8d717460fa7e6dd3c9b11493b"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/vendor-iLJwFVtf.js",revision:null},{url:"assets/octicons-CaZ_fok2.woff2",revision:null},{url:"assets/mfixx-CpAhKOZz.woff2",revision:null},{url:"assets/markdown-CP9awqWt.js",revision:null},{url:"assets/index-Dl8Dlnne.js",revision:null},{url:"assets/index-DixJ0kqk.js",revision:null},{url:"assets/index-BmV1Q3hC.css",revision:null},{url:"assets/fontawesome-B-jkhYfk.woff2",revision:null},{url:"assets/file-icons-C0jOugUK.woff2",revision:null},{url:"assets/devopicons-QN4QXivI.woff2",revision:null},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"manifest.webmanifest",revision:"7a003d0094122eb3e607566c757e9885"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api/,/^\/gateway/,/^\/docs\//]})),e.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),e.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:31536e3})]}),"GET")});
|
package/cli/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tencent-ai/codebuddy-code",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.128.1-dev.7c8d633.202607292146",
|
|
4
4
|
"description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
|
|
5
5
|
"main": "lib/node/index.js",
|
|
6
6
|
"typings": "lib/node/index.d.ts",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"@lydell/node-pty-linux-x64": "1.2.0-beta.14",
|
|
20
20
|
"@lydell/node-pty-win32-arm64": "1.2.0-beta.14",
|
|
21
21
|
"@lydell/node-pty-win32-x64": "1.2.0-beta.14",
|
|
22
|
-
"@tencent-ai/sandbox-cli-darwin-arm64": "5.4.0-beta.
|
|
23
|
-
"@tencent-ai/sandbox-cli-darwin-x64": "5.4.0-beta.
|
|
24
|
-
"@tencent-ai/sandbox-cli-win32-x64": "5.4.0-beta.
|
|
22
|
+
"@tencent-ai/sandbox-cli-darwin-arm64": "5.4.0-beta.9",
|
|
23
|
+
"@tencent-ai/sandbox-cli-darwin-x64": "5.4.0-beta.9",
|
|
24
|
+
"@tencent-ai/sandbox-cli-win32-x64": "5.4.0-beta.9"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"codebuddy",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"url": "https://cnb.cool/codebuddy/codebuddy-code/-/issues"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
|
-
"access": "public"
|
|
46
|
+
"access": "public",
|
|
47
|
+
"tag": "dev"
|
|
47
48
|
},
|
|
48
49
|
"scripts": {},
|
|
49
50
|
"devDependencies": {}
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"LSP",
|
|
53
53
|
"ImageGen",
|
|
54
54
|
"ShareLink",
|
|
55
|
+
"ShareLinkUnpublish",
|
|
55
56
|
"EnterWorktree",
|
|
56
57
|
"LeaveWorktree",
|
|
57
58
|
"CronCreate",
|
|
@@ -60,11 +61,14 @@
|
|
|
60
61
|
"DelegateTool",
|
|
61
62
|
"WeChatReply",
|
|
62
63
|
"WeComReply",
|
|
64
|
+
"PushNotification",
|
|
65
|
+
"ReportFindings",
|
|
63
66
|
"ComputerUse",
|
|
64
67
|
"ListMcpResources",
|
|
65
68
|
"ReadMcpResource",
|
|
66
69
|
"WaitForMcpServers",
|
|
67
|
-
"Workflow"
|
|
70
|
+
"Workflow",
|
|
71
|
+
"Monitor"
|
|
68
72
|
],
|
|
69
73
|
"tags": [
|
|
70
74
|
"cli",
|
|
@@ -104,6 +108,7 @@
|
|
|
104
108
|
"ImageGen",
|
|
105
109
|
"ImageEdit",
|
|
106
110
|
"ShareLink",
|
|
111
|
+
"ShareLinkUnpublish",
|
|
107
112
|
"ListMcpResources",
|
|
108
113
|
"ReadMcpResource",
|
|
109
114
|
"WaitForMcpServers"
|
|
@@ -830,6 +835,6 @@
|
|
|
830
835
|
"SelectImage": true,
|
|
831
836
|
"SkipToolCallSupportCheck": true
|
|
832
837
|
},
|
|
833
|
-
"commit": "
|
|
834
|
-
"date": "2026-07-
|
|
838
|
+
"commit": "7c8d6338245871bdf2c8e62f483cdf1d8e34e6e0",
|
|
839
|
+
"date": "2026-07-29T13:45:53.195Z"
|
|
835
840
|
}
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"ImageGen",
|
|
67
67
|
"VideoGen",
|
|
68
68
|
"ShareLink",
|
|
69
|
+
"ShareLinkUnpublish",
|
|
69
70
|
"EnterWorktree",
|
|
70
71
|
"LeaveWorktree",
|
|
71
72
|
"CronCreate",
|
|
@@ -74,11 +75,14 @@
|
|
|
74
75
|
"DelegateTool",
|
|
75
76
|
"WeChatReply",
|
|
76
77
|
"WeComReply",
|
|
78
|
+
"PushNotification",
|
|
79
|
+
"ReportFindings",
|
|
77
80
|
"ComputerUse",
|
|
78
81
|
"ListMcpResources",
|
|
79
82
|
"ReadMcpResource",
|
|
80
83
|
"WaitForMcpServers",
|
|
81
|
-
"Workflow"
|
|
84
|
+
"Workflow",
|
|
85
|
+
"Monitor"
|
|
82
86
|
],
|
|
83
87
|
"tags": [
|
|
84
88
|
"cli",
|
|
@@ -119,6 +123,7 @@
|
|
|
119
123
|
"ImageEdit",
|
|
120
124
|
"VideoGen",
|
|
121
125
|
"ShareLink",
|
|
126
|
+
"ShareLinkUnpublish",
|
|
122
127
|
"ListMcpResources",
|
|
123
128
|
"ReadMcpResource",
|
|
124
129
|
"WaitForMcpServers"
|
|
@@ -813,6 +818,6 @@
|
|
|
813
818
|
}
|
|
814
819
|
}
|
|
815
820
|
},
|
|
816
|
-
"commit": "
|
|
817
|
-
"date": "2026-07-
|
|
821
|
+
"commit": "7c8d6338245871bdf2c8e62f483cdf1d8e34e6e0",
|
|
822
|
+
"date": "2026-07-29T13:45:53.128Z"
|
|
818
823
|
}
|
package/cli/product.ioa.json
CHANGED
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"ImageGen",
|
|
88
88
|
"ImageEdit",
|
|
89
89
|
"ShareLink",
|
|
90
|
+
"ShareLinkUnpublish",
|
|
90
91
|
"VideoGen",
|
|
91
92
|
"EnterWorktree",
|
|
92
93
|
"LeaveWorktree",
|
|
@@ -96,11 +97,14 @@
|
|
|
96
97
|
"DelegateTool",
|
|
97
98
|
"WeChatReply",
|
|
98
99
|
"WeComReply",
|
|
100
|
+
"PushNotification",
|
|
101
|
+
"ReportFindings",
|
|
99
102
|
"ComputerUse",
|
|
100
103
|
"ListMcpResources",
|
|
101
104
|
"ReadMcpResource",
|
|
102
105
|
"WaitForMcpServers",
|
|
103
|
-
"Workflow"
|
|
106
|
+
"Workflow",
|
|
107
|
+
"Monitor"
|
|
104
108
|
],
|
|
105
109
|
"tags": [
|
|
106
110
|
"cli",
|
|
@@ -141,6 +145,7 @@
|
|
|
141
145
|
"ImageGen",
|
|
142
146
|
"ImageEdit",
|
|
143
147
|
"ShareLink",
|
|
148
|
+
"ShareLinkUnpublish",
|
|
144
149
|
"VideoGen",
|
|
145
150
|
"ListMcpResources",
|
|
146
151
|
"ReadMcpResource",
|
|
@@ -1309,6 +1314,6 @@
|
|
|
1309
1314
|
}
|
|
1310
1315
|
}
|
|
1311
1316
|
},
|
|
1312
|
-
"commit": "
|
|
1313
|
-
"date": "2026-07-
|
|
1317
|
+
"commit": "7c8d6338245871bdf2c8e62f483cdf1d8e34e6e0",
|
|
1318
|
+
"date": "2026-07-29T13:45:53.100Z"
|
|
1314
1319
|
}
|
package/cli/product.json
CHANGED
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
"copilot.tencent.com",
|
|
32
32
|
"staging-copilot.tencent.com",
|
|
33
33
|
"www.codebuddy.cn",
|
|
34
|
-
"staging.codebuddy.cn"
|
|
34
|
+
"staging.codebuddy.cn",
|
|
35
|
+
"www.workbuddy.cn",
|
|
36
|
+
"staging.workbuddy.cn"
|
|
35
37
|
],
|
|
36
38
|
"externalDomain": [
|
|
37
39
|
"www.codebuddy.ai",
|
|
@@ -733,7 +735,7 @@
|
|
|
733
735
|
},
|
|
734
736
|
{
|
|
735
737
|
"name": "tool-websearch-description",
|
|
736
|
-
"template": "\n- Searches the web and uses the results to inform responses\n- Provides up-to-date information for current events and recent data\n- Returns search result information formatted as search result blocks\n- Use this tool for accessing information beyond the knowledge cutoff\n- Searches are performed automatically within a single API call\n
|
|
738
|
+
"template": "\n- Searches the web and uses the results to inform responses\n- Provides up-to-date information for current events and recent data\n- Returns search result information formatted as search result blocks\n- Use this tool for accessing information beyond the knowledge cutoff\n- Searches are performed automatically within a single API call\n- You MUST use the current_time provided in the user message when searching for recent information.\n\nWhen to search:\n - For any factual question about the present-day world, you MUST search before answering; search before EVERY such question.\n - Your confidence on a topic is NOT an excuse to skip search. Present-day facts — who holds a role, what something costs, whether a law still applies, what's newest in a category — cannot come from training data.\n - Even seemingly familiar questions — for example asking about the price of a product or who currently leads a country — can be outdated, because prices and officeholders change frequently.\n - Proactively search instead of answering from your priors and offering to check.\n\nUsage notes:\n - The query must preserve the meaning of the user's request; keep the entity names, versions, dates and terms the user mentioned, and do not substitute or fill them in from prior knowledge.\n - Domain filtering is supported to include or block specific websites.\n"
|
|
737
739
|
},
|
|
738
740
|
{
|
|
739
741
|
"name": "tool-enterplanmode-description",
|
|
@@ -831,6 +833,10 @@
|
|
|
831
833
|
"name": "tool-sharelink-description",
|
|
832
834
|
"template": "Upload a local HTML file and return a shareable public link that renders the page.\n\nUse this tool when the user wants a shareable link (分享链接) or public URL for a single local HTML document — e.g. \"give me a shareable link\", \"publish this HTML\", \"把这个页面分享出去\".\n\nParameters:\n- filePath (required): absolute path to the local .html file to share.\n\nBehavior:\n- Deploys the HTML as a static site using your current session's credentials and returns a public link that opens/renders the page in a browser.\n- Only supports a single HTML file. For multi-file sites or build directories, this tool is not applicable.\n\nPresent only the returned shareLink to the user; do not expose internal identifiers.\n"
|
|
833
835
|
},
|
|
836
|
+
{
|
|
837
|
+
"name": "tool-sharelinkunpublish-description",
|
|
838
|
+
"template": "Revoke a previously shared link so it is no longer publicly accessible.\n\nUse this tool when the user wants to unpublish / take down / revoke / 取消分享 / 下线 a link that was created with the ShareLink tool — e.g. \"unpublish that link\", \"取消这个分享\", \"make it private again\", \"I shared a sensitive file, take it down\".\n\nParameters (provide at least one):\n- shareLink: the full share link URL returned by ShareLink (e.g. \"https://workbuddy.link/p/abc123\"). This is the easiest option — just pass back the link.\n- nodeId: alternatively, the bare identifier (the segment after \"/p/\" in the share link).\n\nBehavior:\n- Cancels the public website publication for the referenced page using your current session's credentials. After this succeeds, the link stops rendering publicly.\n- Works for links created in this session or earlier sessions, since the identifier is derivable from the link URL — no session history is required.\n\nIf the user only has the link text, pass it as shareLink; you do not need to ask them for an internal id.\n"
|
|
839
|
+
},
|
|
834
840
|
{
|
|
835
841
|
"name": "tool-computeruse-description",
|
|
836
842
|
"template": "Control the macOS desktop by taking screenshots and simulating mouse/keyboard\ninput. This tool follows Anthropic's `computer_20250124` parameter schema.\n\n**Experimental.** This tool is macOS-only and disabled unless\n`CODEBUDDY_COMPUTER_USE_ENABLED=1` is set in the environment. Behavior may\nchange in future releases. Each action requires the user's approval unless an\nallow rule is configured.\n\n## Actions\n\n- `screenshot` — Capture the current display. The image is returned\n directly in the tool_result so you can see it immediately — you do NOT\n need a separate Read call. Images are downscaled to 1280px on the longest\n edge and returned as JPEG to keep context costs low.\n\n **MANDATORY observation protocol (防幻视):**\n After EVERY screenshot, BEFORE any click/type/key action, your first\n response MUST be a literal pixel-level observation of what is actually\n visible in the returned image:\n - Top menu bar: which app name, which menu items\n - Active window: title bar text, which app owns it\n - Key regions: what text, buttons, input fields are visible; what is\n in each input; where the cursor/focus is\n - For list/candidate UIs (search results, contact lists, file pickers):\n describe the items near the coordinate you plan to click, including\n ±20px neighbors\n Do NOT skip observation and jump to the next action based on an expected\n workflow. Do NOT describe the screen from memory or assumption. If you\n cannot see an element you expected, say so and take another screenshot\n rather than guessing coordinates.\n\n- `left_click` / `right_click` / `middle_click` / `double_click` /\n `triple_click` / `mouse_move` — Interact with a point. Requires\n `coordinate: [x, y]` in logical pixels (top-left origin). Before any\n irreversible click (send message, confirm, submit), take a fresh\n screenshot and observe again.\n\n- `left_click_drag` — Press at `start_coordinate`, drag to `coordinate`,\n release. Both are `[x, y]` arrays.\n\n- `type` — Type arbitrary text (`text` field) at the current focus.\n Supports Unicode (including CJK). Do NOT use this for keyboard shortcuts.\n\n- `key` — Press a key or shortcut with xdotool syntax in the `text` field:\n `\"escape\"`, `\"return\"`, `\"cmd+shift+a\"`, `\"ctrl+c\"`. Supported modifiers:\n `cmd`, `ctrl`, `alt`/`option`, `shift`, `fn`. Supported named keys: return,\n tab, space, delete/backspace, escape, left, right, up, down, home, end,\n pageup, pagedown, f1-f12. Single characters use the character directly.\n\n- `hold_key` — Hold a single named key (`text`) for `duration` seconds.\n Modifiers are not supported in hold_key.\n\n- `scroll` — Scroll at `coordinate: [x, y]` in `scroll_direction`\n (up/down/left/right) for `scroll_amount` ticks (default 3). Requires\n cliclick (`brew install cliclick`).\n\n- `wait` — Pause for `duration` seconds. Use this to let UI transitions\n settle before another action.\n\n- `cursor_position` — Return the current mouse position.\n\n## Usage notes\n\n- Coordinates use LOGICAL pixels, not physical. Always take a fresh\n `screenshot` first — never reuse old coordinates.\n\n- Launching an app: prefer `key: \"cmd+space\"` (Spotlight) → `type: \"<app>\"`\n → `key: \"return\"` over hunting for Dock/desktop icons, which depends on\n unreliable UI layout.\n\n- Brand confusion on macOS: searching \"WeChat\" in Spotlight opens **企业\n 微信 (WeCom)**, not personal 微信 (WeChat). Search \"微信\" for personal\n WeChat. Always confirm the opened app by reading the top menu bar app\n name in the next screenshot.\n\n- First-time invocation may trigger macOS Accessibility / Screen Recording\n permission prompts. If an action returns a permission error, ask the user\n to open System Settings → Privacy & Security → Accessibility and enable\n their terminal application, then restart it.\n\n- `cliclick` is an optional dependency. When installed, it provides faster\n and more reliable mouse control and is required for `mouse_move`,\n `middle_click`, `triple_click`, `left_click_drag`, and `scroll`. Without\n it, the other actions fall back to AppleScript (osascript).\n"
|
|
@@ -949,7 +955,7 @@
|
|
|
949
955
|
},
|
|
950
956
|
{
|
|
951
957
|
"name": "code-review-trigger-reminder",
|
|
952
|
-
"template": "<system-reminder data-role=\"code-review-trigger\">\nThe user invoked `/code-review`{{target}} to review code for bugs and quality issues.\n{%- if fix %}\nThe user requested --fix: after the review, apply the findings to the working tree.\n{%- endif %}\n{%- if comment %}\nThe user requested --comment: after the review, post findings as inline PR comments.\n{%- endif %}\n\nReview the current diff for correctness bugs and reuse/simplification/efficiency cleanups.\n\n## Steps\n\n1. Run `git diff` (or `git diff HEAD` if there are staged changes) to see what changed. If a specific PR number or target is provided, run `gh pr diff <number>` instead.\n\n2. Analyze the changes thoroughly, looking for:\n - **Correctness bugs**: logic errors, off-by-one, null/undefined handling, race conditions, missing error handling\n - **Security issues**: injection vulnerabilities, improper input validation, exposed secrets\n - **Performance problems**: unnecessary work, N+1 patterns, missing concurrency, hot-path bloat\n - **Code quality**: duplicated code, leaky abstractions, parameter sprawl, stringly-typed code\n - **Test coverage gaps**: untested edge cases, missing error path tests\n\n3. For each finding,
|
|
958
|
+
"template": "<system-reminder data-role=\"code-review-trigger\">\nThe user invoked `/code-review`{{target}} to review code for bugs and quality issues.\n{%- if fix %}\nThe user requested --fix: after the review, apply the findings to the working tree.\n{%- endif %}\n{%- if comment %}\nThe user requested --comment: after the review, post findings as inline PR comments.\n{%- endif %}\n\nReview the current diff for correctness bugs and reuse/simplification/efficiency cleanups.\n\n## Steps\n\n1. Run `git diff` (or `git diff HEAD` if there are staged changes) to see what changed. If a specific PR number or target is provided, run `gh pr diff <number>` instead.\n\n2. Analyze the changes thoroughly, looking for:\n - **Correctness bugs**: logic errors, off-by-one, null/undefined handling, race conditions, missing error handling\n - **Security issues**: injection vulnerabilities, improper input validation, exposed secrets\n - **Performance problems**: unnecessary work, N+1 patterns, missing concurrency, hot-path bloat\n - **Code quality**: duplicated code, leaky abstractions, parameter sprawl, stringly-typed code\n - **Test coverage gaps**: untested edge cases, missing error path tests\n\n3. For each finding, determine:\n - File and line number\n - Severity (critical / warning / suggestion)\n - One-line summary of the issue\n - A concrete failure scenario (how/when this would actually break or cause harm)\n - Suggested fix\n\n4. Call the `ReportFindings` tool once with all findings (most-severe first), mapping each to\n `file` (path + line), `summary` (one-line issue + suggested fix), and `failureScenario`\n (the concrete scenario from step 3). If `ReportFindings` is not available, present findings\n ranked most-severe first in prose instead, grouped by file when multiple findings share a file.\n{%- if fix %}\n\nAfter the review, apply all fixable findings to the working tree directly.\n{%- endif %}\n{%- if comment %}\n\nAfter the review, post each finding as an inline PR comment using `gh api` or `gh pr review`.\n{%- endif %}\n</system-reminder>\n"
|
|
953
959
|
},
|
|
954
960
|
{
|
|
955
961
|
"name": "verify-trigger-reminder",
|
|
@@ -1057,7 +1063,6 @@
|
|
|
1057
1063
|
"LSP",
|
|
1058
1064
|
"ImageGen",
|
|
1059
1065
|
"ImageEdit",
|
|
1060
|
-
"ShareLink",
|
|
1061
1066
|
"VideoGen",
|
|
1062
1067
|
"EnterWorktree",
|
|
1063
1068
|
"LeaveWorktree",
|
|
@@ -1067,11 +1072,14 @@
|
|
|
1067
1072
|
"DelegateTool",
|
|
1068
1073
|
"WeChatReply",
|
|
1069
1074
|
"WeComReply",
|
|
1075
|
+
"PushNotification",
|
|
1076
|
+
"ReportFindings",
|
|
1070
1077
|
"ComputerUse",
|
|
1071
1078
|
"ListMcpResources",
|
|
1072
1079
|
"ReadMcpResource",
|
|
1073
1080
|
"WaitForMcpServers",
|
|
1074
|
-
"Workflow"
|
|
1081
|
+
"Workflow",
|
|
1082
|
+
"Monitor"
|
|
1075
1083
|
],
|
|
1076
1084
|
"tags": [
|
|
1077
1085
|
"cli",
|
|
@@ -1493,7 +1501,6 @@
|
|
|
1493
1501
|
"DeferToolLoading": true,
|
|
1494
1502
|
"ImageEdit": false,
|
|
1495
1503
|
"VideoGen": true,
|
|
1496
|
-
"ShareLink": true,
|
|
1497
1504
|
"ScheduledTasks": true,
|
|
1498
1505
|
"SkillManage": false,
|
|
1499
1506
|
"SkipToolCallSupportCheck": true,
|
|
@@ -1714,6 +1721,11 @@
|
|
|
1714
1721
|
"description": "tool-sharelink-description",
|
|
1715
1722
|
"deferLoading": true
|
|
1716
1723
|
},
|
|
1724
|
+
{
|
|
1725
|
+
"name": "ShareLinkUnpublish",
|
|
1726
|
+
"description": "tool-sharelinkunpublish-description",
|
|
1727
|
+
"deferLoading": true
|
|
1728
|
+
},
|
|
1717
1729
|
{
|
|
1718
1730
|
"name": "ComputerUse",
|
|
1719
1731
|
"description": "tool-computeruse-description",
|
|
@@ -1770,12 +1782,27 @@
|
|
|
1770
1782
|
"name": "WeComReply",
|
|
1771
1783
|
"description": "Send a reply to a WeCom (企业微信) user. For text: pass text (markdown supported)."
|
|
1772
1784
|
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "PushNotification",
|
|
1787
|
+
"description": "tool-pushnotification-description",
|
|
1788
|
+
"deferLoading": true
|
|
1789
|
+
},
|
|
1790
|
+
{
|
|
1791
|
+
"name": "ReportFindings",
|
|
1792
|
+
"description": "tool-reportfindings-description",
|
|
1793
|
+
"deferLoading": true
|
|
1794
|
+
},
|
|
1773
1795
|
{
|
|
1774
1796
|
"name": "Workflow",
|
|
1775
1797
|
"description": "workflow-tool-description",
|
|
1776
1798
|
"deferLoading": true
|
|
1799
|
+
},
|
|
1800
|
+
{
|
|
1801
|
+
"name": "Monitor",
|
|
1802
|
+
"description": "tool-monitor-description",
|
|
1803
|
+
"deferLoading": true
|
|
1777
1804
|
}
|
|
1778
1805
|
],
|
|
1779
|
-
"commit": "
|
|
1780
|
-
"date": "2026-07-
|
|
1806
|
+
"commit": "7c8d6338245871bdf2c8e62f483cdf1d8e34e6e0",
|
|
1807
|
+
"date": "2026-07-29T13:45:53.113Z"
|
|
1781
1808
|
}
|
|
@@ -53,11 +53,14 @@
|
|
|
53
53
|
"DelegateTool",
|
|
54
54
|
"WeChatReply",
|
|
55
55
|
"WeComReply",
|
|
56
|
+
"PushNotification",
|
|
57
|
+
"ReportFindings",
|
|
56
58
|
"ComputerUse",
|
|
57
59
|
"ListMcpResources",
|
|
58
60
|
"ReadMcpResource",
|
|
59
61
|
"WaitForMcpServers",
|
|
60
|
-
"Workflow"
|
|
62
|
+
"Workflow",
|
|
63
|
+
"Monitor"
|
|
61
64
|
],
|
|
62
65
|
"tags": [
|
|
63
66
|
"cli",
|
|
@@ -97,6 +100,7 @@
|
|
|
97
100
|
"ImageGen",
|
|
98
101
|
"ImageEdit",
|
|
99
102
|
"ShareLink",
|
|
103
|
+
"ShareLinkUnpublish",
|
|
100
104
|
"ListMcpResources",
|
|
101
105
|
"ReadMcpResource",
|
|
102
106
|
"WaitForMcpServers"
|
|
@@ -344,6 +348,6 @@
|
|
|
344
348
|
"ScheduledTasks": true,
|
|
345
349
|
"SkipToolCallSupportCheck": true
|
|
346
350
|
},
|
|
347
|
-
"commit": "
|
|
348
|
-
"date": "2026-07-
|
|
351
|
+
"commit": "7c8d6338245871bdf2c8e62f483cdf1d8e34e6e0",
|
|
352
|
+
"date": "2026-07-29T13:45:53.128Z"
|
|
349
353
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tencent-ai/agent-sdk",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.233-dev.7c8d633.202607292147",
|
|
4
4
|
"description": "CodeBuddy Code SDK for JavaScript/TypeScript",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"zod": "^4.0.0"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
|
-
"access": "public"
|
|
34
|
+
"access": "public",
|
|
35
|
+
"tag": "dev"
|
|
35
36
|
}
|
|
36
37
|
}
|